
/* ═══════════════════════════════════════════════════════════════
   InterIntra — Premium Dark Edition  ·  Dark Precision
   Fonts: Space Grotesk · DM Sans · JetBrains Mono
═══════════════════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root {
  --bg:         #060C16;
  --bg-2:       #0A1420;
  --bg-3:       #0E1B2C;
  --bg-4:       #122033;
  --surface:    #16263C;
  --cyan:       #0CE4F8;
  --blue:       #2B9BEA;
  --orange:     #FF7F4C;
  --text:       #EBF0FA;
  --t70:        rgba(235,240,250,0.70);
  --t50:        rgba(235,240,250,0.50);
  --t30:        rgba(235,240,250,0.30);
  --t12:        rgba(235,240,250,0.12);
  --t07:        rgba(235,240,250,0.07);
  --t04:        rgba(235,240,250,0.04);
  --t02:        rgba(235,240,250,0.02);
  --c15:        rgba(12,228,248,0.15);
  --c10:        rgba(12,228,248,0.10);
  --c06:        rgba(12,228,248,0.06);
  --c03:        rgba(12,228,248,0.03);
  --b12:        rgba(43,155,234,0.12);
  --o12:        rgba(255,127,76,0.12);
  --o20:        rgba(255,127,76,0.20);
  --border:     rgba(235,240,250,0.07);
  --border-c:   rgba(12,228,248,0.18);
  --radius-s:   10px;
  --radius:     16px;
  --radius-l:   22px;
  --radius-xl:  32px;
  --ease:       cubic-bezier(0.4,0,0.2,1);
  --ease-out:   cubic-bezier(0,0,0.2,1);
  --trans:      0.26s cubic-bezier(0.4,0,0.2,1);
  --trans-s:    0.18s cubic-bezier(0.4,0,0.2,1);
}

html{scroll-behavior:smooth}

body{
  font-family:'DM Sans',sans-serif;
  background:var(--bg);color:var(--text);
  overflow-x:hidden;line-height:1.6;
  -webkit-font-smoothing:antialiased;cursor:none;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ── Custom Cursor ─────────────────────────────────────────── */
#cursor-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--cyan);
  position:fixed;top:0;left:0;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .15s,height .15s,background .2s;
}
#cursor-ring{
  width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(12,228,248,.45);
  position:fixed;top:0;left:0;pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,opacity .3s;
}

/* ── Scroll progress bar ────────────────────────────────────── */
#scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0%;
  background:linear-gradient(90deg,var(--cyan),var(--blue));
  z-index:1001;transition:width .06s linear;
  box-shadow:0 0 10px rgba(12,228,248,.5);
}

/* ── Navigation ─────────────────────────────────────────────── */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;
  padding:0 52px;height:68px;
  transition:background var(--trans),border-color var(--trans),backdrop-filter var(--trans);
}
.site-nav.scrolled{
  background:rgba(6,12,22,.93);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
.nav-logo{
  font-family:'Space Grotesk',sans-serif;
  font-size:21px;font-weight:800;letter-spacing:-.5px;flex-shrink:0;
}
.nav-logo .inter{color:var(--blue)}
.nav-logo .intra{color:var(--cyan)}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav-links a{
  font-size:13px;font-weight:500;color:var(--t50);
  padding:7px 14px;border-radius:8px;white-space:nowrap;
  transition:color var(--trans-s),background var(--trans-s);
}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--t04)}
.nav-links a.active{color:var(--cyan)}

/* Dropdown */
.nav-item-dropdown{position:relative}
.nav-item-dropdown>a{display:flex;align-items:center;gap:4px}
.nav-item-dropdown>a::after{
  content:'';display:inline-block;width:0;height:0;
  border-left:3.5px solid transparent;border-right:3.5px solid transparent;
  border-top:4px solid rgba(235,240,250,.3);
  transition:var(--trans-s);margin-top:1px;
}
.nav-item-dropdown:hover>a::after,
.nav-item-dropdown.open>a::after{border-top-color:var(--cyan);transform:rotate(180deg)}
.nav-dropdown-panel{
  position:absolute;top:100%;right:0;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  background:rgba(8,16,28,.97);
  border:1px solid var(--border-c);border-radius:var(--radius-l);
  backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
  padding:8px 10px 10px;width:192px;
  transition:opacity .18s var(--ease),transform .18s var(--ease);
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.nav-dropdown-panel::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.nav-item-dropdown:hover .nav-dropdown-panel,
.nav-item-dropdown.open .nav-dropdown-panel{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-dropdown-links{display:flex;flex-direction:column;gap:1px}
.nav-dropdown-links a{
  display:flex;align-items:center;gap:9px;
  font-size:12.5px;color:var(--t50);
  padding:9px 10px;border-radius:8px;transition:var(--trans-s);
}
.nav-dropdown-links a:hover{color:var(--text);background:var(--t04)}
.nav-dropdown-links .link-icon{font-size:13px;width:16px;text-align:center}

.nav-cta{
  font-family:'DM Sans',sans-serif;
  background:var(--cyan)!important;color:var(--bg)!important;
  padding:9px 22px!important;border-radius:100px!important;
  font-weight:700!important;font-size:12.5px!important;
  margin-left:8px;flex-shrink:0;cursor:pointer;
  transition:background var(--trans),transform var(--trans-s),box-shadow var(--trans)!important;
  box-shadow:0 0 22px rgba(12,228,248,.2);
}
.nav-cta:hover,.nav-cta.active,.nav-cta:focus{background:var(--cyan)!important;color:var(--bg)!important;transform:scale(1.02)!important;box-shadow:0 0 32px rgba(12,228,248,.32)}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;margin-left:auto}
.nav-toggle span{width:22px;height:1.5px;background:var(--t50);border-radius:2px;transition:var(--trans)}

/* ── Reveal on scroll ────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}

/* ── Hero ────────────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg video{width:100%;height:100%;object-fit:cover;display:block}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(108deg,rgba(6,12,22,.93) 0%,rgba(6,12,22,.76) 54%,rgba(6,12,22,.42) 100%);
}
.hero__dots{
  position:absolute;inset:0;z-index:2;
  background-image:radial-gradient(rgba(12,228,248,.055) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;
}
.hero__content{
  position:relative;z-index:3;
  max-width:820px;padding:140px 60px 160px;
}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(12,228,248,.07);border:1px solid rgba(12,228,248,.18);
  padding:6px 16px;border-radius:100px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;color:var(--cyan);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:30px;
}
.hero__eyebrow .pulse{
  width:5px;height:5px;border-radius:50%;background:var(--cyan);
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

.hero__h1{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(46px,6.2vw,82px);
  font-weight:700;letter-spacing:-1.5px;line-height:1.04;
  margin-bottom:26px;color:var(--text);
}
.hero__h1 .grad{
  background:linear-gradient(90deg,var(--cyan) 0%,var(--blue) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero__body{
  font-size:17px;line-height:1.82;color:var(--t70);
  max-width:530px;margin-bottom:42px;font-weight:300;
}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-h-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--cyan);color:var(--bg);
  padding:14px 30px;border-radius:100px;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;
  transition:var(--trans);box-shadow:0 0 28px rgba(12,228,248,.25);
}
.btn-h-primary:hover{background:var(--text);box-shadow:0 0 40px rgba(12,228,248,.36);transform:translateY(-2px)}
.btn-h-secondary{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--text);
  padding:14px 28px;border-radius:100px;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;
  border:1px solid var(--border);transition:var(--trans);
}
.btn-h-secondary:hover{background:var(--t04);border-color:var(--border-c);transform:translateY(-2px)}

.hero__badge{
  position:absolute;z-index:3;bottom:48px;right:60px;
  background:rgba(8,16,28,.92);border:1px solid var(--border-c);
  border-radius:var(--radius);padding:14px 20px;
  display:flex;align-items:center;gap:12px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  animation:float 4s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.hero__badge-label{font-size:11.5px;font-weight:700;color:var(--text);line-height:1.4}
.hero__badge-sub{font-size:10px;color:var(--t30)}

/* Floating stats at bottom of hero */
.hero__stats{
  position:absolute;z-index:3;
  bottom:48px;left:60px;
  display:flex;gap:0;
  background:rgba(8,16,28,.82);
  border:1px solid var(--border);border-radius:var(--radius-l);
  overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.hero__stat{
  padding:16px 28px;text-align:center;
  border-right:1px solid var(--border);
}
.hero__stat:last-child{border-right:none}
.hero__stat-num{
  font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px;
  background:linear-gradient(90deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1.1;
}
.hero__stat-lbl{
  font-family:'JetBrains Mono',monospace;
  font-size:9px;color:var(--t30);
  text-transform:uppercase;letter-spacing:.08em;margin-top:3px;
}

/* ── Sections ────────────────────────────────────────────────── */
.s{padding:96px 60px}
.s-label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cyan);
  margin-bottom:18px;display:block;
}
.s-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(28px,3.8vw,46px);
  font-weight:700;letter-spacing:-.6px;line-height:1.1;
  margin-bottom:16px;color:var(--text);
}
.s-title .accent{color:var(--cyan)}
.s-desc{
  font-size:16.5px;line-height:1.82;color:var(--t70);
  max-width:580px;margin-bottom:52px;font-weight:300;
}

/* ── Services — numbered editorial list ─────────────────────── */
.svc-list{border-top:1px solid var(--border);margin-top:8px}
.svc-row{
  display:grid;
  grid-template-columns:56px 260px 1fr 32px;
  align-items:center;gap:28px;
  padding:26px 4px;
  border-bottom:1px solid var(--border);
  text-decoration:none;position:relative;
  transition:background var(--trans-s);
  border-radius:4px;cursor:pointer;
}
.svc-row::after{
  content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;
  background:linear-gradient(90deg,var(--cyan),var(--blue),transparent);
  transition:width .4s var(--ease);
}
.svc-row:hover::after{width:100%}
.svc-row:hover{background:var(--t02)}
.svc-row:hover .svc-num{color:var(--cyan)}
.svc-row:hover .svc-arrow{transform:translate(5px,-5px);color:var(--cyan)}
.svc-row:hover .svc-title{color:var(--cyan)}

.svc-num{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  font-weight:600;color:var(--t30);
  transition:color var(--trans-s);padding-left:4px;
}
.svc-title-wrap{display:flex;align-items:center;gap:12px}
.svc-icon{font-size:22px;flex-shrink:0}
.svc-title{
  font-family:'Space Grotesk',sans-serif;font-size:17.5px;font-weight:700;
  color:var(--text);transition:color var(--trans-s);
}
.svc-feat-tag{
  font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:700;
  background:var(--c10);border:1px solid var(--c15);color:var(--cyan);
  padding:2px 8px;border-radius:100px;
  letter-spacing:.08em;text-transform:uppercase;
}
.svc-desc{font-size:13.5px;line-height:1.68;color:var(--t50);font-weight:300}
.svc-arrow{
  font-size:18px;color:var(--t30);
  transition:transform var(--trans),color var(--trans);text-align:right;
}

/* ── How We Work — connected timeline ────────────────────────── */
.process-track{
  display:grid;grid-template-columns:repeat(4,1fr);
  position:relative;gap:0;margin-top:52px;
}
.process-track::before{
  content:'';position:absolute;
  top:27px;left:calc(12.5% + 14px);right:calc(12.5% + 14px);
  height:1px;
  background:linear-gradient(90deg,var(--cyan),var(--blue),rgba(43,155,234,.15));
  z-index:0;
}
.process-step{padding:0 18px;text-align:center;position:relative}
.process-node{
  width:56px;height:56px;border-radius:50%;
  background:var(--bg-3);border:1px solid var(--border-c);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 22px;
  font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;
  color:var(--cyan);position:relative;z-index:1;
  transition:background var(--trans),box-shadow var(--trans);
}
.process-step:hover .process-node{
  background:var(--c06);box-shadow:0 0 24px rgba(12,228,248,.22);
}
.process-step-title{
  font-family:'Space Grotesk',sans-serif;font-size:15.5px;font-weight:700;
  margin-bottom:10px;color:var(--text);
}
.process-step-body{font-size:13px;line-height:1.7;color:var(--t50);font-weight:300}

/* ── Mission ─────────────────────────────────────────────────── */
.mission{
  padding:108px 60px;
  background:linear-gradient(160deg,#07131E 0%,#0B1D30 55%,#06101A 100%);
  text-align:center;position:relative;overflow:hidden;
}
.mission::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(12,228,248,.04) 1px,transparent 1px);
  background-size:36px 36px;pointer-events:none;
}
.mission-glow{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:900px;height:440px;
  background:radial-gradient(ellipse,rgba(12,228,248,.065) 0%,transparent 65%);
  pointer-events:none;
}
.mission-inner{position:relative;z-index:1;max-width:880px;margin:0 auto}
.mission-kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;color:rgba(12,228,248,.5);
  letter-spacing:.22em;text-transform:uppercase;
  margin-bottom:32px;display:block;
}
.mission-headline{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(38px,5.8vw,72px);font-weight:700;
  letter-spacing:-1.2px;line-height:1.05;color:var(--text);margin-bottom:0;
}
.mission-headline .grad{
  background:linear-gradient(90deg,var(--cyan) 0%,var(--blue) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.mission-divider{
  width:48px;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue));
  border-radius:2px;margin:38px auto;
}
.mission-sub{
  font-size:17px;line-height:1.82;color:var(--t50);
  max-width:560px;margin:0 auto 48px;font-weight:300;
}
.mission-pillars{display:flex;justify-content:center;gap:0;flex-wrap:wrap}
.mission-pillar{
  padding:0 44px;text-align:center;
  border-right:1px solid var(--border);
}
.mission-pillar:last-child{border-right:none}
.mission-pillar-label{
  font-family:'JetBrains Mono',monospace;
  font-size:9px;color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;
}
.mission-pillar-value{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text)}

/* ── About ───────────────────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.stat-card{
  background:var(--t04);border:1px solid var(--border);
  border-radius:var(--radius);padding:22px 18px;text-align:center;
  transition:border-color var(--trans),background var(--trans);
}
.stat-card:hover{border-color:var(--border-c);background:var(--c03)}
.stat-big{
  font-family:'Space Grotesk',sans-serif;font-size:42px;font-weight:700;
  letter-spacing:-.8px;line-height:1;margin-bottom:5px;
}
.stat-big.cyan{
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-big.orange{color:var(--orange)}
.stat-small-lbl{font-size:11px;color:var(--t50);line-height:1.45;font-weight:400}

.team-mini{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.team-mini-card{
  display:flex;align-items:center;gap:10px;
  background:var(--t04);border:1px solid var(--border);
  border-radius:var(--radius-s);padding:10px 12px;
  transition:border-color var(--trans-s),background var(--trans-s);text-decoration:none;
}
.team-mini-card:hover{border-color:var(--border-c);background:var(--c03)}
.team-mini-img{
  width:42px;height:42px;border-radius:50%;
  object-fit:cover;object-position:top center;flex-shrink:0;
  border:1.5px solid var(--border);
}
.team-mini-name{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.3}
.team-mini-role{font-size:10px;color:var(--t30);line-height:1.3}

/* ── Testimonials — infinite marquee ─────────────────────────── */
.marquee-wrap{
  padding:72px 0;overflow:hidden;
  background:var(--bg-3);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
}
.marquee-header{
  padding:0 60px 48px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;flex-wrap:wrap;
}
.marquee-track{
  display:flex;gap:20px;
  animation:marquee 56s linear infinite;
  width:max-content;
}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m-card{
  background:var(--bg-4);border:1px solid var(--border);
  border-radius:var(--radius-l);padding:26px 28px 22px;
  width:370px;flex-shrink:0;
  transition:border-color var(--trans-s),transform var(--trans);
}
.m-card:hover{border-color:var(--border-c);transform:translateY(-3px)}
.m-quote{
  font-size:13.5px;line-height:1.78;color:var(--t70);
  font-weight:300;font-style:italic;margin-bottom:18px;
}
.m-quote::before{
  content:'\201C';color:var(--cyan);font-size:22px;
  line-height:0;vertical-align:-7px;margin-right:2px;font-style:normal;
}
.m-author{font-size:12.5px;font-weight:700;color:var(--text)}
.m-company{font-size:11px;color:var(--t30);margin-top:2px}

/* ── CTA ─────────────────────────────────────────────────────── */
.cta-section{
  padding:108px 60px;text-align:center;
  background:linear-gradient(160deg,#09182A 0%,#0E2544 60%,#071521 100%);
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(12,228,248,.03) 1px,transparent 1px);
  background-size:30px 30px;pointer-events:none;
}
.cta-glow{
  position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:700px;height:420px;
  background:radial-gradient(ellipse,rgba(12,228,248,.075) 0%,transparent 62%);
  pointer-events:none;
}
.cta-inner{position:relative;z-index:1}
.cta-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--o12);border:1px solid var(--o20);
  padding:6px 16px;border-radius:100px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;color:var(--orange);
  letter-spacing:.09em;text-transform:uppercase;margin-bottom:28px;
}
.cta-eyebrow .pulse-o{width:5px;height:5px;border-radius:50%;background:var(--orange);animation:pulse 2s infinite}
.cta-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(28px,3.8vw,46px);font-weight:800;letter-spacing:-1.5px;
  margin-bottom:16px;color:var(--text);max-width:600px;margin-left:auto;margin-right:auto;
}
.cta-body{
  font-size:16px;line-height:1.82;color:var(--t50);
  max-width:460px;margin:0 auto 44px;font-weight:300;
}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* s-title / s-desc used inside cta-section — centre them */
.cta-section .s-title{text-align:center;margin-left:auto;margin-right:auto;max-width:600px}
.cta-section .s-desc{text-align:center;margin-left:auto;margin-right:auto}
.cta-section .btn-group{justify-content:center}
.cta-section .badge{display:inline-flex;margin-bottom:24px}

/* Generic buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;border-radius:100px;
  font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;
  cursor:pointer;transition:var(--trans);text-decoration:none;white-space:nowrap;
}
.btn-primary{background:var(--cyan);color:var(--bg);box-shadow:0 0 24px rgba(12,228,248,.2)}
.btn-primary:hover{background:var(--text);transform:translateY(-2px);box-shadow:0 0 36px rgba(12,228,248,.3)}
.btn-secondary{background:var(--t04);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--t07);border-color:var(--border-c);transform:translateY(-2px)}
.btn-group{display:flex;gap:12px;flex-wrap:wrap}

/* ── Footer ──────────────────────────────────────────────────── */
.site-footer{
  background:rgba(4,8,14,.99);border-top:1px solid var(--border);
  padding:60px 60px 38px;
}
.footer-grid{display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:52px;margin-bottom:48px}
.footer-logo-link{
  font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:800;
  letter-spacing:-.5px;display:block;margin-bottom:14px;
}
.footer-logo-link .inter{color:var(--blue)}
.footer-logo-link .intra{color:var(--cyan)}
.footer-brand-desc{font-size:12.5px;line-height:1.75;color:var(--t30);font-weight:300}
.footer-col h4{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;
  letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:18px;
}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{font-size:13px;color:var(--t50);transition:color var(--trans-s);font-weight:300}
.footer-col ul li a:hover{color:var(--text)}
.footer-col ul li span{font-size:13px;color:var(--t30)}
.footer-bottom{
  padding-top:28px;border-top:1px solid var(--t04);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:12px;
}
.footer-bottom p{font-size:11.5px;color:var(--t30);font-weight:300}
.footer-ack{font-size:10.5px;color:var(--t50);max-width:680px;line-height:1.7}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:1100px){
  .process-track{grid-template-columns:1fr 1fr}
  .process-track::before{display:none}
}
@media (max-width:900px){
  body{cursor:auto}
  #cursor-dot,#cursor-ring{display:none}
  .site-nav{padding:0 24px}
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{
    display:flex;flex-direction:column;align-items:flex-start;
    position:absolute;top:68px;left:0;right:0;
    background:rgba(6,12,22,.98);padding:16px 24px 28px;
    border-bottom:1px solid var(--border);gap:4px;
    backdrop-filter:blur(24px);
  }
  .svc-row{grid-template-columns:40px 1fr;gap:14px}
  .svc-desc,.svc-arrow{display:none}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .hero__content{padding:100px 24px 140px}
  .hero__badge{bottom:20px;right:20px}
  .hero__stats{left:24px;right:24px;bottom:20px;flex-direction:row;justify-content:center}
  .hero__stat{flex:1;padding:12px 16px}
  .s{padding:64px 24px}
  .mission{padding:64px 24px}
  .cta-section{padding:64px 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .site-footer{padding:44px 24px 28px}
  .marquee-header{padding:0 24px 36px}
  .mission-pillar{padding:0 24px;margin-bottom:20px}
  .mission-pillar{border-right:none;border-bottom:1px solid var(--border);padding-bottom:20px}
  .mission-pillar:last-child{border-bottom:none}
  .mission-pillars{flex-direction:column;gap:0}
  .nav-dropdown-panel{width:calc(100vw - 32px);right:-12px}
}
@media (max-width:600px){
  .hero__h1{letter-spacing:-.8px}
  .process-track{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .team-mini{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .mission-headline{letter-spacing:-.6px}
}

/* ═══════════════════════════════════════════════════════════════
   Inner-page components
═══════════════════════════════════════════════════════════════ */

/* ── Inner hero (non-homepage) ───────────────────────────────── */
.hero-inner{
  padding:160px 60px 100px;
  background:linear-gradient(135deg,#060C16 0%,#0A1728 55%,#060C16 100%);
  position:relative;overflow:hidden;
}
.dot-bg::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(12,228,248,.045) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;z-index:0;
}
.hero-inner>*{position:relative;z-index:1}
.hero-inner h1{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(36px,5vw,64px);
  font-weight:700;letter-spacing:-1.2px;line-height:1.08;
  margin-bottom:24px;color:var(--text);max-width:800px;
}
.hero-inner p{
  font-size:17px;line-height:1.82;color:var(--t70);
  max-width:620px;margin-bottom:38px;font-weight:300;
}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(12,228,248,.07);border:1px solid rgba(12,228,248,.18);
  padding:6px 16px;border-radius:100px;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:600;color:var(--cyan);
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:28px;
}
.pulse{
  width:5px;height:5px;border-radius:50%;background:var(--cyan);
  animation:pulse 2s infinite;display:inline-block;
}

/* ── Cred bar ────────────────────────────────────────────────── */
.cred-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:0;
  background:var(--bg-2);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:0 60px;
}
.cred-item{
  display:flex;align-items:center;gap:10px;
  padding:16px 28px 16px 0;margin-right:28px;
  font-size:12.5px;color:var(--t50);font-weight:300;
  border-right:1px solid var(--border);white-space:nowrap;
}
.cred-item:last-child{border-right:none}
.cred-badge{
  font-family:'JetBrains Mono',monospace;
  font-size:9px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:3px 9px;border-radius:100px;
}
.cb-cyan{background:var(--c10);border:1px solid rgba(12,228,248,.22);color:var(--cyan)}
.cb-blue{background:var(--b12);border:1px solid rgba(43,155,234,.22);color:var(--blue)}
.cb-orange{background:var(--o12);border:1px solid rgba(255,127,76,.22);color:var(--orange)}

/* Stat-style cred blocks (used on Our Work page) */
.cred-block{padding:24px 32px;text-align:center;border-right:1px solid var(--border)}
.cred-block:last-child{border-right:none}
.cred-num{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:700;letter-spacing:-.5px;line-height:1;margin-bottom:6px}
.cred-label{font-size:11.5px;color:var(--t50);font-weight:300;line-height:1.4}

/* ── Grid layouts ────────────────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ── Cards ───────────────────────────────────────────────────── */
.card{
  background:var(--t04);border:1px solid var(--border);
  border-radius:var(--radius);padding:28px 24px;
  transition:border-color var(--trans),background var(--trans),transform var(--trans);
}
.card:hover{border-color:var(--border-c);background:var(--c03);transform:translateY(-3px)}
.card-icon{font-size:28px;margin-bottom:16px}
.card h3{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;margin-bottom:10px;color:var(--text)}
.card p{font-size:13.5px;line-height:1.72;color:var(--t50);font-weight:300}

.card-dark{
  background:var(--bg-3);border:1px solid var(--border);
  border-radius:var(--radius-l);padding:32px 26px;
  transition:border-color var(--trans),background var(--trans),transform var(--trans);
}
.card-dark:hover{border-color:var(--border-c);background:var(--c03);transform:translateY(-3px)}
.card-dark h3{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;margin-bottom:12px;color:var(--text)}
.card-dark p{font-size:14px;line-height:1.75;color:var(--t50);font-weight:300}
.card-icon-wrap{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
}
.card-icon-wrap.cyan{background:var(--c10);border:1px solid rgba(12,228,248,.18)}
.card-icon-wrap.blue{background:var(--b12);border:1px solid rgba(43,155,234,.18)}
.card-icon-wrap.orange{background:var(--o12);border:1px solid rgba(255,127,76,.18)}

.card-feature{
  background:linear-gradient(135deg,rgba(12,228,248,.06) 0%,rgba(43,155,234,.04) 100%);
  border:1px solid var(--border-c);border-radius:var(--radius-l);padding:32px 26px;
  transition:border-color var(--trans),transform var(--trans);
}
.card-feature:hover{border-color:rgba(12,228,248,.35);transform:translateY(-3px)}
.card-feature h3{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;margin-bottom:12px;color:var(--text)}
.card-feature p{font-size:14px;line-height:1.75;color:var(--t50);font-weight:300}

/* ── Check list ──────────────────────────────────────────────── */
.check-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin-top:8px}
.check-list li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:14.5px;line-height:1.65;color:var(--t70);font-weight:300;
}
.ck{
  color:var(--cyan);font-weight:700;font-size:13px;
  flex-shrink:0;margin-top:2px;
}

/* ── Small section ───────────────────────────────────────────── */
.s-sm{padding:52px 60px}

/* ── Testimonials ────────────────────────────────────────────── */
.testimonial{
  background:var(--bg-3);border:1px solid var(--border);
  border-left:3px solid var(--cyan);
  border-radius:var(--radius);padding:28px 24px 22px;
  transition:border-color var(--trans),transform var(--trans);
}
.testimonial:hover{border-color:var(--border-c);border-left-color:var(--cyan);transform:translateY(-2px)}
.testimonial blockquote{
  font-size:13.5px;line-height:1.78;color:var(--t70);
  font-weight:300;font-style:italic;margin-bottom:16px;
}
.testimonial blockquote::before{
  content:'\201C';color:var(--cyan);font-size:22px;
  line-height:0;vertical-align:-7px;margin-right:2px;font-style:normal;
}
.testimonial-author{font-size:12.5px;font-weight:700;color:var(--text)}
.testimonial-role{font-size:11px;color:var(--t30);margin-top:2px}

/* ── About inner pages ───────────────────────────────────────── */
.timeline{position:relative;padding-left:32px;margin-top:8px}
.timeline::before{
  content:'';position:absolute;left:7px;top:8px;bottom:8px;
  width:1px;background:linear-gradient(180deg,var(--cyan),var(--blue),rgba(43,155,234,.1));
}
.timeline-item{position:relative;margin-bottom:42px}
.timeline-item:last-child{margin-bottom:0}
.timeline-dot{
  position:absolute;left:-29px;top:6px;
  width:15px;height:15px;border-radius:50%;
  background:var(--bg);border:2px solid var(--cyan);
  box-shadow:0 0 10px rgba(12,228,248,.3);
}
.timeline-year{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;color:var(--cyan);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:6px;
}
.timeline-title{font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;color:var(--text);margin-bottom:8px}
.timeline-body{font-size:14px;line-height:1.72;color:var(--t50);font-weight:300}

.value-card{
  background:var(--t04);border:1px solid var(--border);
  border-radius:var(--radius);padding:24px 20px;
  transition:border-color var(--trans),background var(--trans);
}
.value-card:hover{border-color:var(--border-c);background:var(--c03)}
.value-card h4{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:700;color:var(--text);margin-bottom:8px}
.value-card p{font-size:13px;line-height:1.7;color:var(--t50);font-weight:300}

/* ── Team page ───────────────────────────────────────────────── */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.team-card{
  background:var(--bg-3);border:1px solid var(--border);
  border-radius:var(--radius-l);overflow:hidden;
  transition:border-color var(--trans),transform var(--trans);
}
.team-card:hover{border-color:var(--border-c);transform:translateY(-4px)}
.team-card img{width:100%;height:220px;object-fit:cover;object-position:top center;display:block}
.team-card-body{padding:20px 18px 22px}
.team-card-img{width:100%;height:220px;object-fit:cover;object-position:top center;display:block}
.team-card-name{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px}
.team-card-role{font-size:12px;margin-bottom:10px;font-weight:500;color:var(--cyan)}
.team-card-role.cyan{color:var(--cyan)}
.team-card-role.blue{color:var(--blue)}
.team-card-role.orange{color:var(--orange)}
.team-card-bio{font-size:13px;line-height:1.7;color:var(--t50);font-weight:300;margin-bottom:10px}
.chip-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.team-fun{font-size:12px;line-height:1.65;color:var(--t30);font-style:italic;font-weight:300}
.chip{
  display:inline-block;font-size:10px;font-weight:600;
  padding:3px 9px;border-radius:100px;margin:3px 3px 0 0;
  font-family:'JetBrains Mono',monospace;letter-spacing:.06em;
}
.chip-c{background:var(--c10);border:1px solid rgba(12,228,248,.18);color:var(--cyan)}
.chip-b{background:var(--b12);border:1px solid rgba(43,155,234,.18);color:var(--blue)}
.chip-o{background:var(--o12);border:1px solid rgba(255,127,76,.18);color:var(--orange)}
.team-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}
.team-lead-card{
  display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:start;
  background:var(--bg-3);border:1px solid var(--border-c);
  border-radius:var(--radius-l);padding:24px;
  transition:border-color var(--trans),transform var(--trans);
}
.team-lead-card:hover{border-color:rgba(12,228,248,.35);transform:translateY(-3px)}
.team-lead-card img{width:100px;height:100px;border-radius:var(--radius-s);object-fit:cover;object-position:top center;border:1.5px solid var(--border-c)}
.team-lead-name{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:4px}
.team-lead-role{font-size:12px;color:var(--cyan);margin-bottom:10px;font-weight:500}
.team-lead-bio{font-size:13.5px;line-height:1.72;color:var(--t50);font-weight:300;margin-bottom:12px}

/* ── Work / clients ──────────────────────────────────────────── */
.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.client-card{
  background:var(--bg-3);border:1px solid var(--border);
  border-radius:var(--radius-l);padding:28px 22px;
  transition:border-color var(--trans),transform var(--trans),background var(--trans);
}
.client-card:hover{border-color:var(--border-c);background:var(--c03);transform:translateY(-3px)}
.client-industry{
  font-family:'JetBrains Mono',monospace;
  font-size:9.5px;color:var(--cyan);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:10px;
}
.client-name{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}
.client-desc{font-size:13.5px;line-height:1.72;color:var(--t50);font-weight:300}
a.client-card{text-decoration:none;color:inherit;display:flex;flex-direction:column;}
a.client-card .client-more{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:6px;transition:gap var(--trans);}
a.client-card .client-more.blue{color:var(--blue);}
a.client-card .client-more.orange{color:var(--orange);}
a.client-card:hover .client-more{gap:10px;}

/* ── Case Study page ─────────────────────────────────────────── */
.cs-hero{padding:140px 24px 56px;background:var(--bg-2);border-bottom:1px solid var(--border);}
.cs-hero-inner{max-width:1080px;margin:0 auto;}
.cs-back{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t30);text-decoration:none;display:inline-block;margin-bottom:22px;transition:color var(--trans);}
.cs-back:hover{color:var(--cyan);}
.cs-industry{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:inline-block;padding:5px 12px;border-radius:100px;margin-bottom:14px;}
.cs-industry.cyan{background:var(--c10);border:1px solid rgba(12,228,248,.2);color:var(--cyan);}
.cs-industry.blue{background:var(--b12);border:1px solid rgba(43,155,234,.2);color:var(--blue);}
.cs-industry.orange{background:var(--o12);border:1px solid rgba(255,127,76,.2);color:var(--orange);}
.cs-client{font-family:'Space Grotesk',sans-serif;font-size:clamp(32px,4vw,46px);font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1.1;margin-bottom:18px;}
.cs-tagline{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:var(--t70);font-weight:300;max-width:760px;}
.cs-body{max-width:1080px;margin:0 auto;padding:64px 24px 72px;display:grid;grid-template-columns:1.6fr 1fr;gap:56px;}
.cs-main h2{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;color:var(--text);margin:0 0 14px;}
.cs-main h2:not(:first-child){margin-top:38px;}
.cs-main p{font-size:15px;line-height:1.82;color:var(--t70);font-weight:300;margin-bottom:18px;}
.cs-main ul{margin:0 0 18px 22px;padding:0;}
.cs-main li{font-size:15px;line-height:1.75;color:var(--t70);font-weight:300;margin-bottom:8px;}
.cs-aside{display:flex;flex-direction:column;gap:24px;}
.cs-card{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-l);padding:26px 26px;}
.cs-card-label{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t30);margin-bottom:14px;}
.cs-card ul{list-style:none;margin:0;padding:0;}
.cs-card li{font-size:13.5px;line-height:1.65;color:var(--t70);font-weight:400;padding:9px 0;border-top:1px solid var(--border);display:flex;align-items:flex-start;gap:10px;}
.cs-card li:first-child{border-top:none;padding-top:0;}
.cs-card li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--cyan);margin-top:9px;flex-shrink:0;}
.cs-quote{background:var(--bg-3);border:1px solid var(--border);border-left:3px solid var(--cyan);border-radius:var(--radius-l);padding:26px 28px;}
.cs-quote blockquote{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:400;line-height:1.55;color:var(--text);margin:0 0 14px;font-style:italic;}
.cs-quote .cs-quote-author{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;color:var(--text);}
.cs-quote .cs-quote-role{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t50);margin-top:2px;}
@media(max-width:860px){
  .cs-body{grid-template-columns:1fr;gap:32px;padding:40px 24px 56px;}
}

/* ── Contact form ────────────────────────────────────────────── */
.contact-form{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);
  border-radius:var(--radius-xl);padding:44px 40px;
}
.form-group{margin-bottom:22px}
.form-group label{
  display:block;font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--t70);margin-bottom:8px;
}
.form-group input,.form-group select,.form-group textarea{
  width:100%;background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);border-radius:var(--radius-s);
  padding:13px 16px;
  font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);
  transition:border-color var(--trans),background var(--trans);outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--cyan);background:rgba(255,255,255,0.10);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,0.40)}
.form-group select option{background:var(--bg-2);color:var(--text)}
.form-group textarea{min-height:130px;resize:vertical;line-height:1.6}
.form-submit{
  width:100%;padding:15px 32px;border-radius:100px;
  background:var(--cyan);color:var(--bg);
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;
  cursor:pointer;border:none;
  transition:background var(--trans),transform var(--trans),box-shadow var(--trans);
  box-shadow:0 0 24px rgba(12,228,248,.22);
}
.form-submit:hover{background:var(--text);transform:translateY(-2px);box-shadow:0 0 36px rgba(12,228,248,.32)}

/* ── Inner-page responsive overrides ────────────────────────── */
@media (max-width:900px){
  .hero-inner{padding:110px 24px 72px}
  .cred-bar{padding:0 24px;gap:0}
  .cred-item{padding:14px 16px 14px 0;margin-right:16px;font-size:11px}
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .s-sm{padding:40px 24px}
  .team-grid{grid-template-columns:1fr 1fr}
  .team-lead-grid{grid-template-columns:1fr}
  .client-grid{grid-template-columns:1fr 1fr}
  .contact-form{padding:28px 20px}
}
@media (max-width:600px){
  .grid-3{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .client-grid{grid-template-columns:1fr}
  .team-lead-card{grid-template-columns:1fr}
  .team-lead-card img{width:80px;height:80px}
  .cred-bar{flex-wrap:nowrap;overflow-x:auto}
}

/* ── Shared icon + hero utility classes ─────────────────────── */
.brand-icon{display:inline-block;width:48px;height:48px;object-fit:contain;vertical-align:middle;}
.brand-icon-sm{display:inline-block;width:36px;height:36px;object-fit:contain;vertical-align:middle;}
.svc-icon-img{display:block;width:44px;height:44px;object-fit:contain;margin-bottom:12px;}
.h1-subtitle{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t30);margin-top:-8px;margin-bottom:28px;}

/* ── FAQ accordion ───────────────────────────────────────────── */
.faq-section{background:var(--bg-2);}
.faq-grid{display:flex;flex-direction:column;gap:16px;margin-top:40px;}
.faq-item{background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--trans);}
.faq-item:hover{border-color:var(--border-c);}
.faq-q{padding:20px 24px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.faq-q-text{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600;color:var(--text);line-height:1.4;}
.faq-icon{font-size:18px;color:var(--cyan);flex-shrink:0;transition:transform .25s;font-family:'JetBrains Mono',monospace;}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s;}
.faq-a-inner{font-size:14px;line-height:1.78;color:var(--t50);font-weight:300;padding-bottom:20px;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-item.open .faq-a{max-height:400px;padding-top:0;}

/* ── Page bottom "What's next" section ───────────────────────── */
.page-next{background:var(--bg-3)!important;}
.page-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center;}
.page-next-blockquote{font-family:'DM Sans',sans-serif;font-size:clamp(16px,1.8vw,19px);line-height:1.7;color:var(--t70);font-style:italic;font-weight:300;border-left:2px solid var(--cyan);padding-left:24px;margin:0 0 24px;}
.page-next-author{padding-left:24px;display:flex;flex-direction:column;gap:3px;}
.page-next-author strong{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);}
.page-next-author span{font-size:12px;color:var(--t30);}
.page-next-nav{display:flex;flex-direction:column;}
.page-next-link{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:600;color:var(--t70);text-decoration:none;display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);transition:color var(--trans);}
.page-next-link:first-child{border-top:1px solid var(--border);}
.page-next-link span{color:var(--cyan);flex-shrink:0;transition:transform var(--trans);}
.page-next-link:hover{color:var(--text);}
.page-next-link:hover span{transform:translateX(4px);}
@media(max-width:900px){.page-next-grid{grid-template-columns:1fr;}}

/* ── Article cards (blog + editorial) ───────────────────────── */
.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;}

.article-meta{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;}

.article-byline{font-family:'DM Sans',sans-serif;font-size:13px;color:var(--t50);margin-top:auto;display:flex;align-items:center;gap:8px;}
.article-byline strong{color:var(--text);font-weight:700;}
.article-byline .sep{opacity:.4;}

/* Featured editorial card. light warm surface, photo left */
.article-featured{display:grid;grid-template-columns:minmax(320px,44%) 1fr;background:#F4F1EB;color:#0A1420;border-radius:var(--radius-l);overflow:hidden;text-decoration:none;transition:transform var(--trans),box-shadow var(--trans);box-shadow:0 20px 60px -30px rgba(0,0,0,.5);}
.article-featured:hover{transform:translateY(-4px);box-shadow:0 30px 80px -30px rgba(12,228,248,.25);}
.article-featured-img{overflow:hidden;position:relative;}
.article-featured-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.02);transition:transform .6s cubic-bezier(.4,0,.2,1);}
.article-featured:hover .article-featured-img img{transform:scale(1.04);}
.article-featured-body{padding:clamp(32px,4vw,52px);display:flex;flex-direction:column;justify-content:center;}
.article-featured h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.5px;color:#0A1420;margin-bottom:18px;}
.article-featured-preview{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7;color:rgba(10,20,32,.7);margin-bottom:28px;font-weight:400;}
.article-featured .article-byline{color:rgba(10,20,32,.55);}
.article-featured .article-byline strong{color:#0A1420;}

/* Standard horizontal card. dark surface, photo left */
.article-card{display:grid;grid-template-columns:190px 1fr;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--trans),transform var(--trans);}
.article-card:hover{border-color:var(--border-c);transform:translateY(-3px);}
.article-card-img{overflow:hidden;position:relative;}
.article-card-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.02);transition:transform .6s cubic-bezier(.4,0,.2,1);}
.article-card:hover .article-card-img img{transform:scale(1.04);}
.article-card-body{padding:22px 26px;display:flex;flex-direction:column;}
.article-card h3{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;line-height:1.25;color:var(--text);margin-bottom:10px;letter-spacing:-.2px;}
.article-card-preview{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.65;color:var(--t70);font-weight:300;margin-bottom:16px;flex:1;}

@media (max-width:900px){
  .article-grid{grid-template-columns:1fr;}
  .article-featured{grid-template-columns:1fr;}
  .article-featured-img{aspect-ratio:16/10;}
  .article-card{grid-template-columns:140px 1fr;}
  .article-card-body{padding:18px 20px;}
  .article-card h3{font-size:16px;}
}
@media (max-width:600px){
  .article-card{grid-template-columns:1fr;}
  .article-card-img{aspect-ratio:16/10;}
}

/* ═══════════════════════════════════════════════════════════════
   Relationship Panel — service-page hero band (photo + stats + team)
═══════════════════════════════════════════════════════════════ */
.rel-wrap{padding:clamp(48px,5vw,72px) 24px;background:var(--bg);}
.rel-panel{display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;min-height:500px;max-width:1180px;margin:0 auto;}
.rel-panel.flip{grid-template-columns:1fr 1.1fr;}
.rel-panel.flip .rel-photo{order:2;}
.rel-panel.flip .rel-side{order:1;}
.rel-panel.compact{min-height:380px;max-width:1040px;}
.rel-panel.compact .rel-photo{min-height:300px;}
.rel-panel.compact .rel-side{padding:clamp(24px,3vw,40px);gap:22px;}
.rel-panel.compact .rel-headline{font-size:clamp(18px,1.8vw,22px);}
.rel-panel.compact .rel-stat-num{font-size:clamp(22px,2.4vw,30px);}
.rel-panel.compact .rel-stat-num.sm{font-size:clamp(18px,1.8vw,22px);}
.rel-panel.compact .rel-stats{padding:20px 0;gap:18px 24px;}
.rel-photo{position:relative;background:#0A1420;overflow:hidden;min-height:380px;}
.rel-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);display:block;}
.rel-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(9,36,61,0) 40%,rgba(9,36,61,.55) 100%);pointer-events:none;}
.rel-panel.flip .rel-photo::after{background:linear-gradient(240deg,rgba(9,36,61,0) 40%,rgba(9,36,61,.55) 100%);}
.rel-photo-caption{position:absolute;left:32px;bottom:28px;right:32px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72);z-index:1;}
.rel-photo-caption .accent{color:var(--cyan);}
.rel-photo-caption .accent.orange{color:var(--orange);}
.rel-photo-caption .accent.blue{color:var(--blue);}
.rel-side{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:space-between;gap:32px;}
.rel-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;}
.rel-eyebrow::before{content:'';width:18px;height:1px;background:var(--cyan);}
.rel-eyebrow.orange{color:var(--orange);}
.rel-eyebrow.orange::before{background:var(--orange);}
.rel-eyebrow.blue{color:var(--blue);}
.rel-eyebrow.blue::before{background:var(--blue);}
.rel-headline{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.015em;color:var(--text);line-height:1.3;}
.rel-headline .accent{color:var(--cyan);}
.rel-headline .accent.orange{color:var(--orange);}
.rel-headline .accent.blue{color:var(--blue);}
.rel-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:28px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.rel-stat-num{font-family:'Space Grotesk',sans-serif;font-size:clamp(28px,3vw,38px);font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1;margin-bottom:8px;font-variant-numeric:tabular-nums;}
.rel-stat-num.cyan{color:var(--cyan);}
.rel-stat-num.orange{color:var(--orange);}
.rel-stat-num.blue{color:var(--blue);}
.rel-stat-num.sm{font-size:clamp(22px,2.2vw,28px);}
.rel-stat-label{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--t50);}
.rel-team{display:flex;align-items:center;gap:18px;}
.rel-team-avatars{display:flex;}
.rel-team-avatars .av{width:42px;height:42px;border-radius:50%;border:2px solid var(--bg-3);background:#2a3540 center/cover no-repeat;filter:grayscale(1) contrast(1.04);margin-left:-10px;}
.rel-team-avatars .av:first-child{margin-left:0;}
.rel-team-avatars .av.more{background:rgba(12,228,248,.08);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--cyan);filter:none;}
.rel-team-text{display:flex;flex-direction:column;gap:2px;}
.rel-team-text strong{font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;}
.rel-team-text a{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t30);text-decoration:none;transition:color var(--trans);}
.rel-team-text a:hover{color:var(--cyan);}
@media(max-width:880px){
  .rel-panel,.rel-panel.flip{grid-template-columns:1fr;}
  .rel-panel.flip .rel-photo{order:0;}
  .rel-panel.flip .rel-side{order:1;}
  .rel-photo{min-height:260px;}
}
@media(max-width:520px){
  .rel-stats{gap:22px 20px;}
}



/* ───────────────────────────────────────────────────────────── *
 * PROPOSED COLOUR & LOGO CHANGES (v2.4 — 2026-04-19g)
 *   v2.4: per-service bridge blocks (bb-*) — outcomes / photo-wide / split /
 *         pills / editorial / portrait-side / pillars / duo / positioning /
 *         dual / fullteam. Real photography from CK Selects shoot.
 *         Each service page gets a distinct composition (mockup 10).
 *   v2.3: hero title accent always cyan (h1 .accent selector);
 *         added <span class=accent> to managed/cyber/consulting/infosec h1s.
 *   v2.2: pulsing halo restored (dropped !important from static box-shadow on per-service CTAs
 *         and .nav-cta:hover) + amplified peak glow 60px/.80 for visibility.
 *         broadened CTA selectors (a.btn-primary / a.btn-h-primary) for amber+mint.
 * Additive only. All existing cyan behaviour retained via fallback.
 * ───────────────────────────────────────────────────────────── */

:root {
  --svc-ai:         #F06EAA;   /* new magenta-pink for AI — distinct from site cyan */
  --svc-managed:    #9B7CFF;
  --svc-cyber:      #FF7F4C;
  --svc-consulting: #F5B94A;
  --svc-infosec:    #3DE0B5;
  --svc-insights:   #3DE0B5;
}

/* Nav logo — size bump */
.nav-logo { font-size: 40px; letter-spacing: -1px; }
.footer-logo-link { font-size: 48px; }

/* Nav links — per-service underline on hover (and active). Text stays white. */
.nav-links a[data-service] { position: relative; }
.nav-links a[data-service]::before {
  content:''; position:absolute; left:14px; right:14px; bottom:6px;
  height:1px; background:var(--svc-accent,var(--cyan));
  transform:scaleX(0); transform-origin:left center;
  transition: transform .3s var(--ease);
}
.nav-links a[data-service]:hover::before,
.nav-links a[data-service].active::before { transform: scaleX(1); }
.nav-links a[data-service="ai"]         { --svc-accent: var(--svc-ai); }
.nav-links a[data-service="managed"]    { --svc-accent: var(--svc-managed); }
.nav-links a[data-service="cyber"]      { --svc-accent: var(--svc-cyber); }
.nav-links a[data-service="consulting"] { --svc-accent: var(--svc-consulting); }
.nav-links a[data-service="infosec"]    { --svc-accent: var(--svc-infosec); }
.nav-links a[data-service="insights"]   { --svc-accent: var(--svc-insights); }

/* Home service rows — accent left border + scoped hover colour + icon tint */
.svc-row[data-service] {
  border-left: 2px solid var(--svc-accent, transparent);
  padding-left: 18px;
}
.svc-row[data-service="ai"]         { --svc-accent: var(--svc-ai); }
.svc-row[data-service="managed"]    { --svc-accent: var(--svc-managed); }
.svc-row[data-service="cyber"]      { --svc-accent: var(--svc-cyber); }
.svc-row[data-service="consulting"] { --svc-accent: var(--svc-consulting); }
.svc-row[data-service="infosec"]    { --svc-accent: var(--svc-infosec); }
.svc-row[data-service]:hover {
  background: color-mix(in srgb, var(--svc-accent) 6%, transparent);
}
.svc-row[data-service]:hover .svc-num,
.svc-row[data-service]:hover .svc-title,
.svc-row[data-service]:hover .svc-arrow { color: var(--svc-accent) !important; }
.svc-row[data-service]::after {
  background: linear-gradient(90deg, var(--svc-accent), transparent) !important;
}

/* ── Icon tinting on home service rows ──
   Use the PNG as a silhouette mask, fill with accent. Works as long as
   the source PNG has an alpha channel carrying the glyph shape. */
.svc-row[data-service] .svc-icon-img {
  width: 44px; height: 44px;
  background: var(--svc-accent, var(--cyan));
  -webkit-mask: url(attr(src)) center / contain no-repeat;
          mask: url(attr(src)) center / contain no-repeat;
  /* Fallback visibility if mask unsupported */
  content: '';
}
.svc-row[data-service="ai"]         .svc-icon-img { -webkit-mask-image: url(../images/icons/icon-ai-services.png); mask-image: url(../images/icons/icon-ai-services.png); }
.svc-row[data-service="managed"]    .svc-icon-img { -webkit-mask-image: url(../images/icons/icon-managed-it.png); mask-image: url(../images/icons/icon-managed-it.png); }
.svc-row[data-service="cyber"]      .svc-icon-img { -webkit-mask-image: url(../images/icons/icon-cyber-security.png); mask-image: url(../images/icons/icon-cyber-security.png); }
.svc-row[data-service="consulting"] .svc-icon-img { -webkit-mask-image: url(../images/icons/icon-consulting.png); mask-image: url(../images/icons/icon-consulting.png); }
.svc-row[data-service="infosec"]    .svc-icon-img { -webkit-mask-image: url(../images/icons/icon-grc.png); mask-image: url(../images/icons/icon-grc.png); }
.svc-row[data-service] .svc-icon-img[src] { /* hide the raw img so only mask-tint shows */ }
.svc-row[data-service] .svc-icon-img {
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  background-color: var(--svc-accent, var(--cyan));
  background-image: none !important;
}
/* Hide original <img> raster underneath (only mask-tint shows) */
.svc-row[data-service] img.svc-icon-img { font-size:0; color:transparent; }

/* ══════ Service page hero accent tinting — body-scoped ══════ */

body[data-service="ai"] .s-label,
body[data-service="ai"] .accent { color: var(--svc-ai) !important; }
body[data-service="ai"] .badge {
  color: var(--svc-ai) !important;
  border-color: color-mix(in srgb, var(--svc-ai) 35%, transparent) !important;
  background: color-mix(in srgb, var(--svc-ai) 10%, transparent) !important;
}
body[data-service="ai"] .badge .pulse { background: var(--svc-ai) !important; }
body[data-service="ai"] .btn-h-primary,
body[data-service="ai"] .btn.btn-primary {
  background: var(--svc-ai) !important; color: var(--bg) !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--svc-ai) 25%, transparent);
}

body[data-service="managed"] .s-label,
body[data-service="managed"] .accent { color: var(--svc-managed) !important; }
body[data-service="managed"] .badge {
  color: var(--svc-managed) !important;
  border-color: color-mix(in srgb, var(--svc-managed) 35%, transparent) !important;
  background: color-mix(in srgb, var(--svc-managed) 10%, transparent) !important;
}
body[data-service="managed"] .badge .pulse { background: var(--svc-managed) !important; }
body[data-service="managed"] .btn-h-primary,
body[data-service="managed"] .btn.btn-primary {
  background: var(--svc-managed) !important; color: var(--bg) !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--svc-managed) 25%, transparent);
}

body[data-service="cyber"] .accent.orange,
body[data-service="cyber"] .accent,
body[data-service="cyber"] .s-label { color: var(--svc-cyber) !important; }
body[data-service="cyber"] .badge {
  color: var(--svc-cyber) !important;
  border-color: color-mix(in srgb, var(--svc-cyber) 35%, transparent) !important;
  background: color-mix(in srgb, var(--svc-cyber) 10%, transparent) !important;
}
body[data-service="cyber"] .badge .pulse { background: var(--svc-cyber) !important; }
body[data-service="cyber"] .btn-h-primary,
body[data-service="cyber"] .btn.btn-primary {
  background: var(--svc-cyber) !important; color: var(--bg) !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--svc-cyber) 25%, transparent);
}

body[data-service="consulting"] .s-label,
body[data-service="consulting"] .accent { color: var(--svc-consulting) !important; }
body[data-service="consulting"] .badge {
  color: var(--svc-consulting) !important;
  border-color: color-mix(in srgb, var(--svc-consulting) 35%, transparent) !important;
  background: color-mix(in srgb, var(--svc-consulting) 10%, transparent) !important;
}
body[data-service="consulting"] .badge .pulse { background: var(--svc-consulting) !important; }
body[data-service="consulting"] .btn-h-primary,
body[data-service="consulting"] .btn.btn-primary {
  background: var(--svc-consulting) !important; color: var(--bg) !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--svc-consulting) 25%, transparent);
}

body[data-service="infosec"], body[data-service="insights"] .s-label,
body[data-service="infosec"], body[data-service="insights"] .accent { color: var(--svc-infosec) !important; }
body[data-service="infosec"], body[data-service="insights"] .badge {
  color: var(--svc-infosec) !important;
  border-color: color-mix(in srgb, var(--svc-infosec) 35%, transparent) !important;
  background: color-mix(in srgb, var(--svc-infosec) 10%, transparent) !important;
}
body[data-service="infosec"], body[data-service="insights"] .badge .pulse { background: var(--svc-infosec) !important; }
body[data-service="infosec"], body[data-service="insights"] .btn-h-primary,
body[data-service="infosec"], body[data-service="insights"] .btn.btn-primary {
  background: var(--svc-infosec) !important; color: var(--bg) !important;
  box-shadow: 0 0 24px color-mix(in srgb, var(--svc-infosec) 25%, transparent);
}

/* ── Hero title accent: ALWAYS cyan on ALL pages (white text, blue accent model).
   Beats body[data-service="X"] .accent via higher specificity (h1 type selector)
   AND !important. Also resets -webkit-text-fill-color / background for .grad. ── */
body[data-service] h1 .accent,
body[data-service] .hero h1 .accent,
body[data-service] .hero__h1 .accent,
body[data-service] .hero__h1 .grad,
body[data-service] .s-title .accent {
  color: var(--cyan) !important;
  -webkit-text-fill-color: var(--cyan) !important;
  background: none !important;
}

/* ── Per-service primary CTA — hover + anchor specificity + !important background-color ──
   Ensures amber/mint/violet/magenta/ember render correctly on the hero CTA even when the
   element is <a class="btn btn-primary"> rather than <a class="btn-h-primary">,
   and prevents the base :hover rule from flipping the button back to white. */
body[data-service="ai"] a.btn-h-primary,
body[data-service="ai"] a.btn.btn-primary,
body[data-service="ai"] a.btn-primary {
  background-color: var(--svc-ai) !important; color: var(--bg) !important;
}
body[data-service="ai"] a.btn-h-primary:hover,
body[data-service="ai"] a.btn.btn-primary:hover,
body[data-service="ai"] a.btn-primary:hover {
  background-color: color-mix(in srgb, var(--svc-ai) 85%, #fff) !important;
  color: var(--bg) !important;
}
body[data-service="managed"] a.btn-h-primary,
body[data-service="managed"] a.btn.btn-primary,
body[data-service="managed"] a.btn-primary {
  background-color: var(--svc-managed) !important; color: var(--bg) !important;
}
body[data-service="managed"] a.btn-h-primary:hover,
body[data-service="managed"] a.btn.btn-primary:hover,
body[data-service="managed"] a.btn-primary:hover {
  background-color: color-mix(in srgb, var(--svc-managed) 85%, #fff) !important;
  color: var(--bg) !important;
}
body[data-service="cyber"] a.btn-h-primary,
body[data-service="cyber"] a.btn.btn-primary,
body[data-service="cyber"] a.btn-primary {
  background-color: var(--svc-cyber) !important; color: var(--bg) !important;
}
body[data-service="cyber"] a.btn-h-primary:hover,
body[data-service="cyber"] a.btn.btn-primary:hover,
body[data-service="cyber"] a.btn-primary:hover {
  background-color: color-mix(in srgb, var(--svc-cyber) 85%, #fff) !important;
  color: var(--bg) !important;
}
body[data-service="consulting"] a.btn-h-primary,
body[data-service="consulting"] a.btn.btn-primary,
body[data-service="consulting"] a.btn-primary {
  background-color: var(--svc-consulting) !important; color: var(--bg) !important;
}
body[data-service="consulting"] a.btn-h-primary:hover,
body[data-service="consulting"] a.btn.btn-primary:hover,
body[data-service="consulting"] a.btn-primary:hover {
  background-color: color-mix(in srgb, var(--svc-consulting) 85%, #fff) !important;
  color: var(--bg) !important;
}
body[data-service="infosec"], body[data-service="insights"] a.btn-h-primary,
body[data-service="infosec"], body[data-service="insights"] a.btn.btn-primary,
body[data-service="infosec"], body[data-service="insights"] a.btn-primary {
  background-color: var(--svc-infosec) !important; color: var(--bg) !important;
}
body[data-service="infosec"], body[data-service="insights"] a.btn-h-primary:hover,
body[data-service="infosec"], body[data-service="insights"] a.btn.btn-primary:hover,
body[data-service="infosec"], body[data-service="insights"] a.btn-primary:hover {
  background-color: color-mix(in srgb, var(--svc-infosec) 85%, #fff) !important;
  color: var(--bg) !important;
}

/* ══════ Ambient Halo Pulse on primary CTAs ══════
   Breathes gently to draw attention — default cyan, per-service tint via body[data-service].
   Scoped so only primary CTAs pulse; secondary/ghost buttons stay static.
*/
.btn-h-primary, .btn.btn-primary, .nav-cta {
  animation: iiHaloPulse 2.8s ease-in-out infinite;
}
@keyframes iiHaloPulse {
  0%, 100% {
    box-shadow:
      0 0 0  0    rgba(12,228,248,0),
      0 0 18px    rgba(12,228,248,.30);
  }
  50% {
    box-shadow:
      0 0 0  14px rgba(12,228,248,0),
      0 0 60px    rgba(12,228,248,.80);
  }
}
/* Per-service tint the halo */
body[data-service="ai"] .btn-h-primary,
body[data-service="ai"] .btn.btn-primary,
body[data-service="ai"] .nav-cta { animation-name: iiHaloPulse-ai; }
body[data-service="managed"] .btn-h-primary,
body[data-service="managed"] .btn.btn-primary,
body[data-service="managed"] .nav-cta { animation-name: iiHaloPulse-managed; }
body[data-service="cyber"] .btn-h-primary,
body[data-service="cyber"] .btn.btn-primary,
body[data-service="cyber"] .nav-cta { animation-name: iiHaloPulse-cyber; }
body[data-service="consulting"] .btn-h-primary,
body[data-service="consulting"] .btn.btn-primary,
body[data-service="consulting"] .nav-cta { animation-name: iiHaloPulse-consulting; }
body[data-service="infosec"], body[data-service="insights"] .btn-h-primary,
body[data-service="infosec"], body[data-service="insights"] .btn.btn-primary,
body[data-service="infosec"], body[data-service="insights"] .nav-cta { animation-name: iiHaloPulse-infosec; }
@keyframes iiHaloPulse-ai { 0%,100%{ box-shadow:0 0 0  0    rgba(240,110,170,0), 0 0 18px    rgba(240,110,170,.30);} 50%    { box-shadow:0 0 0  14px rgba(240,110,170,0), 0 0 60px    rgba(240,110,170,.80);} }
@keyframes iiHaloPulse-managed { 0%,100%{ box-shadow:0 0 0  0    rgba(155,124,255,0), 0 0 18px    rgba(155,124,255,.30);} 50%    { box-shadow:0 0 0  14px rgba(155,124,255,0), 0 0 60px    rgba(155,124,255,.80);} }
@keyframes iiHaloPulse-cyber { 0%,100%{ box-shadow:0 0 0  0    rgba(255,127,76,0), 0 0 18px    rgba(255,127,76,.30);} 50%    { box-shadow:0 0 0  14px rgba(255,127,76,0), 0 0 60px    rgba(255,127,76,.80);} }
@keyframes iiHaloPulse-consulting { 0%,100%{ box-shadow:0 0 0  0    rgba(245,185,74,0), 0 0 18px    rgba(245,185,74,.30);} 50%    { box-shadow:0 0 0  14px rgba(245,185,74,0), 0 0 60px    rgba(245,185,74,.80);} }
@keyframes iiHaloPulse-infosec { 0%,100%{ box-shadow:0 0 0  0    rgba(61,224,181,0), 0 0 18px    rgba(61,224,181,.30);} 50%    { box-shadow:0 0 0  14px rgba(61,224,181,0), 0 0 60px    rgba(61,224,181,.80);} }

@media (prefers-reduced-motion: reduce) {
  .btn-h-primary, .btn.btn-primary, .nav-cta { animation: none !important; }
}

/* ══════ Home — team strip & Local team band ══════ */
/* Remove cta-section's bottom padding when team-strip follows so the gap closes */
.cta-section:has(+ .ii-team-strip){padding-bottom:32px;}
.ii-team-strip {
  position: relative;
  margin: 0;
  padding: 120px 24px;
  overflow: hidden;
  background: #0a0d12;
}
.ii-team-strip__bg {
  position: absolute; inset: 0;
  background-image: url(../images/editorial/band-adelaide.jpg);
  background-size: cover; background-position: center;
  filter: grayscale(1) contrast(1.05) brightness(0.55);
  z-index: 0;
}
.ii-team-strip__bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,13,18,.55) 0%, rgba(10,13,18,.25) 50%, rgba(10,13,18,.55) 100%);
}
.ii-team-strip__inner {
  position: relative; z-index: 1;
  max-width: 920px; margin: 0 auto; text-align: center;
}
.ii-team-strip .badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 18px; margin-bottom: 28px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--cyan);
  border: 1px solid color-mix(in srgb, var(--cyan) 35%, transparent);
  background: color-mix(in srgb, var(--cyan) 10%, transparent);
  border-radius: 100px;
}
.ii-team-strip h2 {
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.08; letter-spacing: -.02em;
  font-weight: 400; margin-bottom: 24px; color: #fff;
}
.ii-team-strip h2 em { color: var(--cyan); font-style: normal; }
.ii-team-strip p {
  color: rgba(231,233,236,.75);
  font-size: 17px; line-height: 1.6;
  max-width: 600px; margin: 0 auto 32px;
}
.ii-team-strip .btn-h-primary { display: inline-flex; }

.ii-local {
  padding: 100px 24px; background: var(--bg);
}
.ii-local__inner {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center;
}
.ii-local__text .kicker {
  display: flex; align-items: center; gap: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--cyan);
  margin-bottom: 20px;
}
.ii-local__text .kicker::before {
  content: ''; width: 28px; height: 1px; background: var(--cyan);
}
.ii-local__text h2 {
  font-size: clamp(36px, 3.6vw, 52px);
  line-height: 1.08; letter-spacing: -.02em;
  font-weight: 400; margin-bottom: 22px;
}
.ii-local__text h2 em { color: var(--cyan); font-style: normal; }
.ii-local__text p {
  color: var(--ink-dim); font-size: 16px; line-height: 1.65;
  margin-bottom: 28px; max-width: 520px;
}
.ii-local__photos {
  position: relative; aspect-ratio: 5/4;
}
.ii-local__photos img {
  position: absolute; display: block;
  object-fit: cover;
  filter: grayscale(1) contrast(1.05);
  border-radius: 6px;
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.ii-local__photos img:nth-child(1) {
  top: 0; left: 0; width: 62%; height: 55%;
}
.ii-local__photos img:nth-child(2) {
  bottom: 0; right: 0; width: 62%; height: 60%;
}
@media (max-width: 900px) {
  .ii-local__inner { grid-template-columns: 1fr; gap: 40px; }
  .ii-local__photos { aspect-ratio: 4/3; }
}

/* ══════ Service-page pull-quote photo band ══════ */
.ii-photo-band {
  position: relative;
  margin: 0;
  padding: 140px 24px;
  overflow: hidden;
  background: #0a0d12;
}
.ii-photo-band__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: grayscale(1) contrast(1.05) brightness(0.45);
  z-index: 0;
}
.ii-photo-band__bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(10,13,18,.82) 0%, rgba(10,13,18,.35) 55%, rgba(10,13,18,.05) 100%);
}
.ii-photo-band__inner {
  position: relative; z-index: 1;
  max-width: 1180px; margin: 0 auto;
}
.ii-photo-band blockquote {
  max-width: 620px; color: #fff;
  font-size: clamp(26px, 2.8vw, 40px); line-height: 1.2;
  letter-spacing: -.015em; font-weight: 400;
  padding-left: 28px; position: relative;
}
.ii-photo-band blockquote::before {
  content: '';
  position: absolute; left: 0; top: 6px; bottom: 6px;
  width: 3px; background: var(--svc-accent, var(--cyan));
}
.ii-photo-band cite {
  display: block; margin-top: 22px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--svc-accent, var(--cyan));
  font-style: normal;
}
body[data-service="ai"]         .ii-photo-band { --svc-accent: var(--svc-ai); }
body[data-service="managed"]    .ii-photo-band { --svc-accent: var(--svc-managed); }
body[data-service="cyber"]      .ii-photo-band { --svc-accent: var(--svc-cyber); }
body[data-service="consulting"] .ii-photo-band { --svc-accent: var(--svc-consulting); }
body[data-service="infosec"], body[data-service="insights"]    .ii-photo-band { --svc-accent: var(--svc-infosec); }
.ii-photo-band[data-photo="svc-ai"]         .ii-photo-band__bg { background-image: url(../images/editorial/svc-ai.jpg); }
.ii-photo-band[data-photo="svc-managed"]    .ii-photo-band__bg { background-image: url(../images/editorial/svc-managed.jpg); }
.ii-photo-band[data-photo="svc-cyber"]      .ii-photo-band__bg { background-image: url(../images/editorial/svc-cyber.jpg); }
.ii-photo-band[data-photo="svc-consulting"] .ii-photo-band__bg { background-image: url(../images/editorial/svc-consulting.jpg); }
.ii-photo-band[data-photo="svc-infosec"]    .ii-photo-band__bg { background-image: url(../images/editorial/svc-infosec.jpg); }

/* ══════ Managed page SVG hex sigil — subtle violet blend ══════
   Managed uses an SVG hex network (no canvas). CSS is the only way to tint
   without touching the animation logic. ~30% violet blended into strokes,
   center hex goes full violet as the focal point. */
body[data-service="managed"] .ii-sig polygon,
body[data-service="managed"] .ii-sig circle,
body[data-service="managed"] .ii-sig line {
  stroke: color-mix(in srgb, var(--svc-managed) 30%, #0CE4F8);
}
body[data-service="managed"] .ii-sig .center-hex { stroke: var(--svc-managed); }
body[data-service="managed"] .ii-sig .dot {
  fill: color-mix(in srgb, var(--svc-managed) 30%, #0CE4F8);
}

/* ══════════════════════════════════════════════════════════════════════════ *
 * BRIDGE BLOCKS (bb-*) — per-service hero follow-on sections
 * Added v2.4 (2026-04-19g). Scoped by body[data-service="X"] for accent colour.
 * Classes use bb- prefix to avoid any collision with existing site styles.
 * Uses same per-service variables as the rest of premium.css:
 *   --svc-ai #F06EAA, --svc-managed #9B7CFF, --svc-cyber #FF7F4C,
 *   --svc-consulting #F5B94A, --svc-infosec #3DE0B5, --cyan #0CE4F8
 * ══════════════════════════════════════════════════════════════════════════ */

.bb-wrap{max-width:1280px;margin:0 auto;padding:0 48px}
@media (max-width:1024px){.bb-wrap{padding:0 24px}}

/* Per-service accent resolver */
body[data-service="ai"]         { --bb-svc: var(--svc-ai, #F06EAA); }
body[data-service="managed"]    { --bb-svc: var(--svc-managed, #9B7CFF); }
body[data-service="cyber"]      { --bb-svc: var(--svc-cyber, #FF7F4C); }
body[data-service="consulting"] { --bb-svc: var(--svc-consulting, #F5B94A); }
body[data-service="infosec"], body[data-service="insights"]    { --bb-svc: var(--svc-infosec, #3DE0B5); }

.bb-mono{font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:.02em}

/* ─── bb-outcomes (AI): 2-col editorial w/ label + stacked rows ─── */
.bb-outcomes{padding:72px 56px;background:var(--bg-2,#0B0F13);border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start}
.bb-outcomes__head{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;letter-spacing:.18em;color:var(--cyan,#0CE4F8);text-transform:uppercase;font-weight:500}
.bb-outcomes__head+.bb-outcomes__headp{color:#AEB6BF;font-size:14px;line-height:1.55;margin-top:14px}
.bb-outcomes__row{padding:28px 0;border-top:1px solid rgba(255,255,255,.08)}
.bb-outcomes__row:first-child{border-top:none;padding-top:0}
.bb-outcomes__rowlabel{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase}
.bb-outcomes__rowtitle{font-size:24px;line-height:1.25;letter-spacing:-.015em;margin-top:10px;font-weight:500;color:#F2F4F6}
.bb-outcomes__rowbody{color:#AEB6BF;font-size:14px;line-height:1.65;margin-top:8px;max-width:640px}
@media (max-width:900px){.bb-outcomes{grid-template-columns:1fr;gap:36px;padding:48px 24px}}

/* ─── bb-photo-wide (AI): full-bleed horizontal photo + stat overlay ─── */
.bb-photo-wide{height:520px;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
.bb-photo-wide__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.05) brightness(.75)}
.bb-photo-wide__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.82) 0%,rgba(7,9,11,.45) 40%,rgba(7,9,11,.15) 100%)}
.bb-photo-wide__inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:56px;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.bb-photo-wide__cap{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase}
.bb-photo-wide__h{font-size:38px;line-height:1.1;letter-spacing:-.02em;font-weight:500;max-width:580px;margin:14px 0 0;color:#F2F4F6}
.bb-photo-wide__h em{font-style:normal;color:var(--bb-svc)}
.bb-photo-wide__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:auto;padding-top:48px;border-top:1px solid rgba(255,255,255,.14)}
.bb-photo-wide__stat .n{font-size:32px;font-weight:500;letter-spacing:-.02em;color:#F2F4F6}
.bb-photo-wide__stat .n.accent{color:var(--bb-svc)}
.bb-photo-wide__stat .l{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:#6E7A86;text-transform:uppercase;margin-top:8px}
@media (max-width:900px){.bb-photo-wide{height:auto;min-height:520px}.bb-photo-wide__h{font-size:28px}.bb-photo-wide__inner{padding:40px 24px}.bb-photo-wide__stats{grid-template-columns:1fr 1fr;gap:20px}}

/* ─── bb-split (Managed): photo LEFT + content RIGHT ─── */
.bb-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);border-top:1px solid rgba(255,255,255,.08);min-height:560px;background:var(--bg-2,#0B0F13)}
.bb-split__photo{background-size:cover;background-position:center 30%;filter:contrast(1.02) brightness(.9);position:relative}
.bb-split__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(7,9,11,.4))}
.bb-split__phcap{position:absolute;left:28px;bottom:24px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:#fff;text-transform:uppercase;z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bb-split__phcap b{color:var(--bb-svc);font-weight:500}
.bb-split__side{padding:56px;display:flex;flex-direction:column;justify-content:center}
.bb-split__kick{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--cyan,#0CE4F8);text-transform:uppercase}
.bb-split__h{font-size:30px;line-height:1.1;letter-spacing:-.02em;font-weight:500;margin:14px 0 0;max-width:420px;color:#F2F4F6}
.bb-split__h em{font-style:normal;color:var(--bb-svc)}
.bb-split__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.08)}
.bb-split__grid .n{font-size:28px;font-weight:500;letter-spacing:-.02em;color:#F2F4F6}
.bb-split__grid .n.accent{color:var(--bb-svc)}
.bb-split__grid .n.cy{color:var(--cyan,#0CE4F8)}
.bb-split__grid .l{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:#6E7A86;text-transform:uppercase;margin-top:6px}
@media (max-width:900px){.bb-split{grid-template-columns:1fr;min-height:0}.bb-split__photo{min-height:360px}.bb-split__side{padding:40px 24px}}

/* ─── bb-pills (Managed + Cyber): capability pills strip ─── */
.bb-pills{padding:48px 56px;border-top:1px solid rgba(255,255,255,.08);background:#10161B}
.bb-pills__kick{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase;margin-bottom:16px}
.bb-pills__list{display:flex;flex-wrap:wrap;gap:10px}
.bb-pill{padding:9px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.02em;color:#AEB6BF;background:rgba(255,255,255,.02)}
.bb-pill.hot{color:var(--bb-svc);border-color:color-mix(in srgb,var(--bb-svc) 40%,transparent);background:color-mix(in srgb,var(--bb-svc) 8%,transparent)}
@media (max-width:900px){.bb-pills{padding:36px 24px}}

/* ─── bb-photo-editorial (Cyber): pull-quote over dark photo ─── */
.bb-photo-editorial{height:600px;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
.bb-photo-editorial__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:contrast(1.1) brightness(.55) grayscale(.1)}
.bb-photo-editorial__veil{position:absolute;inset:0;background:radial-gradient(800px 500px at 30% 60%,rgba(7,9,11,.8),rgba(7,9,11,.95))}
.bb-photo-editorial__inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:64px 56px;height:100%;display:flex;flex-direction:column;justify-content:center}
.bb-photo-editorial__cap{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase}
.bb-photo-editorial__quote{font-size:42px;line-height:1.15;letter-spacing:-.025em;font-weight:400;max-width:820px;margin:20px 0 0;color:#EAECEE;padding-left:24px;border-left:2px solid var(--bb-svc);font-style:normal}
.bb-photo-editorial__quote em{font-style:normal;color:var(--bb-svc)}
.bb-photo-editorial__by{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:#6E7A86;text-transform:uppercase;margin-top:32px;padding-left:24px}
@media (max-width:900px){.bb-photo-editorial{height:auto;min-height:520px}.bb-photo-editorial__quote{font-size:26px}.bb-photo-editorial__inner{padding:48px 24px}}

/* ─── bb-portrait-side (Consulting): portrait LEFT + positioning RIGHT ─── */
.bb-portrait-side{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-top:1px solid rgba(255,255,255,.08);min-height:620px;background:var(--bg-2,#0B0F13)}
.bb-portrait-side__portrait{background-size:cover;background-position:center 25%;position:relative;filter:contrast(1.02) brightness(.92)}
.bb-portrait-side__namecap{position:absolute;left:24px;bottom:22px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:#fff;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bb-portrait-side__namecap b{color:var(--bb-svc);font-weight:500}
.bb-portrait-side__copy{padding:72px 56px;display:flex;flex-direction:column;justify-content:center}
.bb-portrait-side__kick{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--cyan,#0CE4F8);text-transform:uppercase}
.bb-portrait-side__pos{font-size:26px;line-height:1.35;letter-spacing:-.01em;font-weight:400;margin-top:18px;color:#E6E8EB;max-width:520px}
.bb-portrait-side__pos em{font-style:normal;color:var(--bb-svc)}
.bb-portrait-side__accred{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.bb-portrait-side__accred span{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.2em;color:#6E7A86;padding:7px 12px;border:1px solid rgba(255,255,255,.08);border-radius:6px;text-transform:uppercase}
@media (max-width:900px){.bb-portrait-side{grid-template-columns:1fr;min-height:0}.bb-portrait-side__portrait{min-height:440px}.bb-portrait-side__copy{padding:48px 24px}}

/* ─── bb-pillars (Consulting): 3 value-pillar cards ─── */
.bb-pillars{padding:64px 56px;border-top:1px solid rgba(255,255,255,.08);background:var(--bg-2,#0B0F13)}
.bb-pillars__kick{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase;margin-bottom:24px}
.bb-pillars__row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bb-pillar{padding:28px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02)}
.bb-pillar__n{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.2em;color:#6E7A86;text-transform:uppercase}
.bb-pillar__h{font-size:20px;letter-spacing:-.01em;font-weight:500;margin-top:10px;color:#F2F4F6}
.bb-pillar__p{color:#AEB6BF;font-size:13.5px;line-height:1.6;margin-top:10px}
.bb-pillar__m{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;color:var(--bb-svc);margin-top:16px;letter-spacing:.1em}
@media (max-width:900px){.bb-pillars__row{grid-template-columns:1fr;gap:12px}.bb-pillars{padding:48px 24px}}

/* ─── bb-duo (Consulting team-bridge): photo + short copy ─── */
.bb-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid rgba(255,255,255,.08);min-height:460px}
.bb-duo__ph{background-size:cover;background-position:center;filter:contrast(1.02) brightness(.9);position:relative}
.bb-duo__phcap{position:absolute;left:24px;bottom:22px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:#fff;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.bb-duo__phcap b{color:var(--bb-svc);font-weight:500}
.bb-duo__copy{padding:56px;display:flex;flex-direction:column;justify-content:center;background:#10161B}
.bb-duo__kick{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--cyan,#0CE4F8);text-transform:uppercase}
.bb-duo__h{font-size:26px;line-height:1.2;letter-spacing:-.015em;font-weight:500;margin:14px 0 0;max-width:420px;color:#F2F4F6}
.bb-duo__h em{font-style:normal;color:var(--bb-svc)}
.bb-duo__p{color:#AEB6BF;font-size:14.5px;line-height:1.65;margin-top:14px;max-width:440px}
.bb-duo__meet{margin-top:24px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;color:var(--bb-svc);letter-spacing:.08em;display:inline-block}
@media (max-width:900px){.bb-duo{grid-template-columns:1fr;min-height:0}.bb-duo__ph{min-height:320px}.bb-duo__copy{padding:40px 24px}}

/* ─── bb-positioning (InfoSec): editorial positioning sentence ─── */
.bb-positioning{padding:84px 56px;border-top:1px solid rgba(255,255,255,.08);background:var(--bg-2,#0B0F13);display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start}
.bb-positioning__h{font-size:12px;font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase;font-weight:500}
.bb-positioning__sent{font-size:30px;line-height:1.3;letter-spacing:-.01em;font-weight:400;color:#E4E7EA;max-width:880px;margin:0}
.bb-positioning__sent em{font-style:normal;color:var(--bb-svc)}
@media (max-width:900px){.bb-positioning{grid-template-columns:1fr;gap:24px;padding:48px 24px}.bb-positioning__sent{font-size:22px}}

/* ─── bb-dual (InfoSec): two half-width portrait cards + strip ─── */
.bb-dual{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.08);min-height:540px}
.bb-dual__half{position:relative;background-size:cover;background-position:center 25%;filter:contrast(1.02) brightness(.88)}
.bb-dual__half::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(7,9,11,.75))}
.bb-dual__meta{position:absolute;left:28px;right:28px;bottom:22px;z-index:2}
.bb-dual__role{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase}
.bb-dual__name{font-size:22px;font-weight:500;letter-spacing:-.01em;color:#fff;margin-top:8px}
.bb-dual__quote{font-size:13px;color:#D6D9DD;line-height:1.55;margin-top:8px;max-width:380px}
.bb-dual__strip{grid-column:1/-1;padding:22px 32px;border-top:1px solid rgba(255,255,255,.14);background:#10161B;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.bb-dual__stripk{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--cyan,#0CE4F8);text-transform:uppercase}
.bb-dual__stripmeet{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;color:var(--bb-svc);letter-spacing:.08em}
@media (max-width:900px){.bb-dual{grid-template-columns:1fr;min-height:0}.bb-dual__half{min-height:420px}}

/* ─── bb-fullteam (Managed team-bridge): full team shot w/ left-gradient overlay ─── */
.bb-fullteam{position:relative;height:560px;overflow:hidden;border-top:1px solid rgba(255,255,255,.08)}
.bb-fullteam__img{position:absolute;inset:0;background-size:cover;background-position:center 35%;filter:contrast(1.02) brightness(.8)}
.bb-fullteam__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,11,.85) 0%,rgba(7,9,11,.35) 55%,rgba(7,9,11,.05) 100%)}
.bb-fullteam__inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:56px;height:100%;display:flex;flex-direction:column;justify-content:center}
.bb-fullteam__k{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.22em;color:var(--bb-svc);text-transform:uppercase}
.bb-fullteam__h{font-size:32px;line-height:1.15;letter-spacing:-.02em;font-weight:500;margin:14px 0 0;max-width:480px;color:#F2F4F6}
.bb-fullteam__h em{font-style:normal;color:var(--bb-svc)}
.bb-fullteam__p{color:#D6D9DD;font-size:14.5px;line-height:1.65;margin-top:14px;max-width:440px}
.bb-fullteam__meet{margin-top:24px;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;color:var(--bb-svc);letter-spacing:.08em;display:inline-block}
@media (max-width:900px){.bb-fullteam{height:auto;min-height:460px}.bb-fullteam__h{font-size:24px}.bb-fullteam__inner{padding:40px 24px}}

/* ====================================================================
   === Site-wide additions (20260425) — partner strip, MARS chip,
       signature band, spear rule, pillar accents
   ==================================================================== */

/* Partner trust strip — placed under each page hero. Beefed presence to act as a clean break. */
.partner-strip {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  padding: 28px 32px;
  background: linear-gradient(180deg, rgba(11,218,238,0.04) 0%, rgba(11,218,238,0.015) 100%);
  border-top: 1px solid rgba(11,218,238,0.22);
  border-bottom: 1px solid rgba(11,218,238,0.22);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.62);
}
/* Subtle scoped breathing space below the strip on every service page */
.partner-strip + section,
.partner-strip + .bb-outcomes,
.partner-strip + .bb-portrait-side,
.partner-strip + .bb-pills,
.partner-strip + .bb-pills-dual {
  padding-top: 64px;
  position: relative;
}
.partner-strip + section::before,
.partner-strip + .bb-outcomes::before,
.partner-strip + .bb-portrait-side::before,
.partner-strip + .bb-pills::before,
.partner-strip + .bb-pills-dual::before {
  content: '';
  position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 60%; max-width: 600px; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(11,218,238,0.18) 50%, transparent 100%);
}

/* Section variety helpers — adjacent sections get differentiated treatments */
.section-divider {
  position: relative;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(11,218,238,0.18) 50%, transparent 100%);
  margin: 0 auto;
  max-width: 600px;
}
.section-soft-top {
  position: relative;
}
.section-soft-top::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 80px;
  background: radial-gradient(ellipse 70% 100% at 50% 0%, rgba(11,218,238,0.04) 0%, transparent 70%);
  pointer-events: none;
}
.partner-strip > span {
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  position: relative;
}
.partner-strip > span:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background: rgba(11,218,238,0.25);
}
.partner-strip .ps-em { color: var(--cyan); }
.partner-strip .ps-orange { color: var(--orange); }
@media (max-width: 720px) {
  .partner-strip { font-size: 10px; padding: 12px 16px; gap: 0; letter-spacing: 0.10em; }
  .partner-strip > span { padding: 4px 10px; }
  .partner-strip > span:not(:last-child)::after { display: none; }
}

/* MARS micro-chip — "Built on MARS" pill, footer-positioned */
.mars-chip {
  display: inline-block;
  padding: 8px 18px;
  background: rgba(11,218,238,0.05);
  border: 1px solid rgba(11,218,238,0.20);
  border-radius: 100px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.4;
  transition: color .2s, border-color .2s, background .2s;
}
.mars-chip:hover { color: var(--cyan); border-color: rgba(11,218,238,0.5); background: rgba(11,218,238,0.10); }
/* === MARS BRAND MARK — Orbit Dot ============================
   Single text node (kerning works), Space Grotesk 800 to match
   the InterIntra wordmark, glowing orange dot prefix. Used only
   when MARS is being treated as a brand mark (chip, lockup,
   hero). Inline body-copy "MARS" stays as plain text.
   ============================================================ */
.mars-chip .mars-mark,
.mars-lockup,
.mars-logo,
.core__lockup,
.uc-logo,
.mars-name {
  display: inline-flex;
  align-items: center;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  text-transform: none;
  white-space: nowrap;
  vertical-align: baseline;
  font-feature-settings: "kern" 1 !important;
  color: var(--cyan) !important;
}

/* The orbit dot — sized in em so it scales with whatever MARS scale */
.mars-chip .mars-mark::before,
.mars-lockup::before,
.mars-logo::before,
.core__lockup::before,
.uc-logo::before,
.mars-name::before {
  content: "";
  display: inline-block;
  width: 0.22em;
  height: 0.22em;
  margin-right: 0.20em;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0.45em rgba(255,127,76,0.55);
  flex-shrink: 0;
}

/* Chip-scale tweak: MARS is small (14px) so the dot needs a relatively
   bigger ratio to remain legible */
.mars-chip .mars-mark {
  font-size: 14px;
  margin: 0 4px;
}
.mars-chip .mars-mark::before {
  width: 0.34em;
  height: 0.34em;
  margin-right: 0.26em;
}

/* Footer — give the chip a row */
.footer-mars-row {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.05);
  text-align: center;
}

/* Signature band — full-width display-size statement */
.sig-band {
  padding: 88px 32px;
  text-align: center;
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  position: relative;
  overflow: hidden;
}
.sig-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(11,218,238,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.sig-band__inner { position: relative; max-width: 1200px; margin: 0 auto; }
.sig-band__kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.sig-band__kicker::before { content: '●'; color: var(--cyan); font-size: 8px; }
.sig-band__line {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(28px, 4.6vw, 56px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.18;
  color: var(--t90);
  margin: 0 auto;
  max-width: 1100px;
}
.sig-band__line .sig-num { color: var(--blue);   font-weight: 700; }
.sig-band__line .sig-ans { color: var(--cyan);   font-weight: 700; }
.sig-band__line .sig-act { color: var(--orange); font-weight: 700; }
.sig-band__line br { display: none; }
@media (max-width: 720px) { .sig-band__line br { display: inline; } .sig-band { padding: 56px 20px; } }

/* Tip-of-the-spear hairline divider */
.spear-rule {
  position: relative;
  height: 1px;
  margin: 28px auto;
  width: 60%;
  max-width: 480px;
  background: linear-gradient(90deg, transparent 0%, rgba(11,218,238,0.45) 50%, rgba(11,218,238,0.6) 100%);
}
.spear-rule::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent rgba(11,218,238,0.7);
}

/* Per-pillar tile accent — left edge in each pillar's brand colour */
.svc-list .svc-row[data-service="ai"]         { box-shadow: inset 3px 0 0 0 var(--svc-ai); }
.svc-list .svc-row[data-service="consulting"] { box-shadow: inset 3px 0 0 0 var(--svc-consulting); }
.svc-list .svc-row[data-service="cyber"]      { box-shadow: inset 3px 0 0 0 var(--svc-cyber); }
.svc-list .svc-row[data-service="managed"]    { box-shadow: inset 3px 0 0 0 var(--svc-managed); }
.svc-list .svc-row:hover {
  background: rgba(255,255,255,0.02);
}

/* ====================================================================
   === MARS STREAM (Targeted Path) — animated data-flow diagram (20260425)
       Used on homepage + data-intelligence in place of the static arch.
       Namespaced under .mars-stream so .lane / .node / .pipeline don't
       collide with anything else on the site.
   ==================================================================== */
.mars-stream{position:relative;background:linear-gradient(180deg,#08111E 0%,#0A1729 100%);border:1px solid rgba(11,218,238,0.12);border-radius:24px;padding:48px 28px 40px;overflow:hidden;}
.mars-stream::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(11,218,238,0.04) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;}
.mars-stream__tag{position:absolute;top:18px;right:24px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);opacity:0.7;z-index:5;}
.mars-stream__narrative{position:absolute;top:18px;left:24px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);opacity:0;transition:opacity .4s ease;z-index:5;max-width:62%;}
.mars-stream__narrative.show{opacity:0.85;}
.mars-stream__pipeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;z-index:1;}
.mars-stream__lane{position:relative;display:flex;flex-direction:column;padding:24px 16px 20px;border-radius:14px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.012);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;}
.mars-stream__lane.lit-l1{background:rgba(43,155,234,0.06);border-color:rgba(43,155,234,0.32);box-shadow:0 0 0 1px rgba(43,155,234,0.12),0 16px 36px rgba(43,155,234,0.10);}
.mars-stream__lane.lit-l2{background:rgba(12,228,248,0.06);border-color:rgba(12,228,248,0.32);box-shadow:0 0 0 1px rgba(12,228,248,0.12),0 16px 36px rgba(12,228,248,0.10);}
.mars-stream__lane.lit-l3{background:rgba(61,224,181,0.06);border-color:rgba(61,224,181,0.32);box-shadow:0 0 0 1px rgba(61,224,181,0.12),0 16px 36px rgba(61,224,181,0.10);}
.mars-stream__lane.lit-l4{background:rgba(255,127,76,0.06);border-color:rgba(255,127,76,0.32);box-shadow:0 0 0 1px rgba(255,127,76,0.12),0 16px 36px rgba(255,127,76,0.10);}
.mars-stream__lane-h{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.20em;text-transform:uppercase;margin-bottom:6px;}
.mars-stream__lane.l1 .mars-stream__lane-h{color:var(--blue);}
.mars-stream__lane.l2 .mars-stream__lane-h{color:var(--cyan);}
.mars-stream__lane.l3 .mars-stream__lane-h{color:var(--green,#3DE0B5);}
.mars-stream__lane.l4 .mars-stream__lane-h{color:var(--orange);}
.mars-stream__lane-sub{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:600;letter-spacing:-0.01em;margin-bottom:16px;color:var(--text);}
.mars-stream__nodes{display:flex;flex-direction:column;gap:7px;width:100%;}
.mars-stream__node{position:relative;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;padding:9px 12px;border-radius:9px;letter-spacing:.04em;text-align:left;background:rgba(255,255,255,0.025);border:1px solid var(--border);color:var(--t50);transition:transform .35s ease,box-shadow .35s ease,background .35s ease,border-color .35s ease,color .35s ease;}
.mars-stream__lane.l1 .mars-stream__node.lit{background:rgba(43,155,234,0.18);border-color:rgba(43,155,234,0.65);color:#A8D5F5;transform:translateX(3px);box-shadow:0 0 0 1px rgba(43,155,234,0.35),0 6px 18px rgba(43,155,234,0.30);}
.mars-stream__lane.l2 .mars-stream__node.lit{background:rgba(12,228,248,0.18);border-color:rgba(12,228,248,0.65);color:#7EFFF9;transform:translateX(3px);box-shadow:0 0 0 1px rgba(12,228,248,0.35),0 6px 18px rgba(12,228,248,0.30);}
.mars-stream__lane.l3 .mars-stream__node.lit{background:rgba(61,224,181,0.18);border-color:rgba(61,224,181,0.65);color:#A8FFD9;transform:translateX(3px);box-shadow:0 0 0 1px rgba(61,224,181,0.35),0 6px 18px rgba(61,224,181,0.30);}
.mars-stream__lane.l4 .mars-stream__node.lit{background:rgba(255,127,76,0.18);border-color:rgba(255,127,76,0.65);color:#FFC9A8;transform:translateX(3px);box-shadow:0 0 0 1px rgba(255,127,76,0.35),0 6px 18px rgba(255,127,76,0.30);}
.mars-stream__canvas{position:absolute;inset:0;pointer-events:none;z-index:2;}
.mars-stream__legend{display:flex;justify-content:space-between;margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--t50);}
.mars-stream__legend span{display:inline-flex;align-items:center;gap:8px;}
.mars-stream__legend .dot{width:8px;height:8px;border-radius:50%;}
.mars-stream__legend .dot.cy{background:var(--cyan);box-shadow:0 0 8px var(--cyan);}
.mars-stream__legend .dot.bl{background:var(--blue);box-shadow:0 0 8px var(--blue);}
.mars-stream__legend .dot.or{background:var(--orange);box-shadow:0 0 8px var(--orange);}
.mars-stream__legend .dot.gn{background:#3DE0B5;box-shadow:0 0 8px #3DE0B5;}
@media(max-width:760px){.mars-stream__pipeline{grid-template-columns:1fr;}.mars-stream__canvas{display:none;}.mars-stream__narrative{display:none;}}

/* ====================================================================
   === PAPER ACCENT (20260425) — cream/paper contrast section
       Used sparingly across the site as a visual break.
       First placement: homepage mission as a manifesto card.
   ==================================================================== */
:root {
  --paper:    #F4ECDB;     /* warm paper cream */
  --paper-2:  #EBE0C8;     /* slightly darker for borders */
  --ink:      #0E1828;     /* deep ink for primary text */
  --ink-soft: #3A4555;     /* secondary text */
  --ink-mute: #6A7585;     /* tertiary / labels */
}
.mission.paper{
  background: linear-gradient(180deg, #F8F1E0 0%, var(--paper) 60%, #EAE0C8 100%);
  padding: 96px 60px;
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.mission.paper::before{
  background-image: radial-gradient(rgba(12,32,60,0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.55;
}
.mission.paper .mission-glow{
  background: radial-gradient(ellipse, rgba(255,127,76,0.10) 0%, transparent 65%);
}
.mission.paper .mission-kicker{
  color: var(--orange);
  font-weight: 700;
  letter-spacing: 0.24em;
}
.mission.paper .mission-headline{ color: var(--ink); }
.mission.paper .mission-headline .grad{
  background: linear-gradient(90deg, var(--orange) 0%, #C95C2E 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.mission.paper .mission-headline span[style*="color:var(--cyan)"]{
  color: #0095EB !important;
}
.mission.paper .mission-divider{
  background: linear-gradient(90deg, var(--orange), #C95C2E);
}
.mission.paper .mission-sub{ color: var(--ink-soft); font-weight: 400; }
.mission.paper .mission-sub em{ color: var(--orange) !important; font-weight: 600; }
.mission.paper .mission-pillar{ border-right-color: rgba(0,0,0,0.10); }
.mission.paper .mission-pillar-label{ color: var(--orange); }
.mission.paper .mission-pillar-value{ color: var(--ink); }

/* Soft "stamp" detail in corners — gives the manifesto feel */
.mission.paper::after{
  content: '— Manifesto · 2026';
  position: absolute;
  bottom: 24px; right: 36px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-mute);
  opacity: 0.6;
  pointer-events: none;
}
@media (max-width: 720px){
  .mission.paper::after{ position: static; display: block; margin-top: 36px; text-align: center; }
}

/* ====================================================================
   === PAPER PULL-QUOTE (20260425) — cream contrast pull-quote section
       Used once per service page in place of the dark photo-band quote.
       Editorial rhythm break that echoes the homepage manifesto card.
   ==================================================================== */
.paper-pullquote{
  padding:96px 32px;
  background:linear-gradient(180deg,#F8F1E0 0%,#F4ECDB 55%,#EAE0C8 100%);
  border-top:1px solid rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.08);
  position:relative;overflow:hidden;
}
.paper-pullquote::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(12,32,60,0.06) 1px,transparent 1px);
  background-size:28px 28px;opacity:0.55;pointer-events:none;
}
.paper-pullquote__inner{
  max-width:1080px;margin:0 auto;text-align:center;
  position:relative;z-index:1;
}
.paper-pullquote__kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF7F4C);margin-bottom:24px;display:inline-flex;align-items:center;gap:8px;
}
.paper-pullquote__kicker::before{content:'●';color:var(--orange,#FF7F4C);font-size:8px;}
.paper-pullquote__mark{
  font-family:'Space Grotesk',sans-serif;
  font-size:96px;font-weight:700;line-height:0.5;
  color:var(--orange,#FF7F4C);margin-bottom:8px;
  display:block;
}
.paper-pullquote__body{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(22px,2.8vw,34px);
  font-weight:600;letter-spacing:-0.02em;line-height:1.30;
  color:var(--ink,#0E1828);margin:0 auto 28px;max-width:900px;
}
.paper-pullquote__body em{font-style:italic;color:var(--orange,#FF7F4C);font-weight:600;}
.paper-pullquote__cite{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute,#6A7585);
}
.paper-pullquote__rule{
  width:48px;height:2px;background:var(--orange,#FF7F4C);
  border-radius:2px;margin:20px auto 0;opacity:0.45;
}

/* Section variety helpers — additional gradient backdrops for dense sections */
.section-soft-cyan{position:relative;}
.section-soft-cyan::before{
  content:'';position:absolute;top:0;left:0;right:0;height:120px;
  background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(11,218,238,0.05) 0%,transparent 70%);
  pointer-events:none;
}
.section-soft-orange{position:relative;}
.section-soft-orange::before{
  content:'';position:absolute;top:0;left:0;right:0;height:120px;
  background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(255,127,76,0.04) 0%,transparent 70%);
  pointer-events:none;
}
.section-soft-green{position:relative;}
.section-soft-green::before{
  content:'';position:absolute;top:0;left:0;right:0;height:120px;
  background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(61,224,181,0.05) 0%,transparent 70%);
  pointer-events:none;
}

/* Mission attribution — simple text signature, sits below the AI line */
.mission-attribution-line{
  display:block;
  margin:24px auto 0;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:600;letter-spacing:.20em;text-transform:uppercase;
  color:var(--ink-mute,#6A7585);
  text-align:center;
}
.mission:not(.paper) .mission-attribution-line{ color:var(--t50); }

/* ====================================================================
   === ENGAGEMENT FLOW (20260425) — horizontal pipeline with gradient rail
       Used on Advisory's "How an engagement works" section.
   ==================================================================== */
.eflow{position:relative;}
.eflow__rail{position:absolute;top:54px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,
  rgba(43,155,234,0.55) 0%,
  rgba(12,228,248,0.65) 33%,
  rgba(61,224,181,0.55) 66%,
  rgba(255,127,76,0.55) 100%);z-index:0;}
.eflow__rail::after{content:'';position:absolute;inset:-3px 0;background:inherit;filter:blur(6px);opacity:0.5;}
.eflow__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1;}
.eflow__step{display:flex;flex-direction:column;align-items:center;}
.eflow__node{width:108px;height:108px;border-radius:50%;background:var(--bg);border:2px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;position:relative;z-index:2;transition:transform .25s ease;}
.eflow__node-num{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:0.7;}
.eflow__node-name{font-size:18px;font-weight:700;letter-spacing:-0.01em;margin-top:2px;}
.eflow__step.s1 .eflow__node{border-color:var(--blue);color:var(--blue);box-shadow:0 0 0 6px rgba(43,155,234,0.06);}
.eflow__step.s2 .eflow__node{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 0 6px rgba(12,228,248,0.08);}
.eflow__step.s3 .eflow__node{border-color:var(--green,#3DE0B5);color:var(--green,#3DE0B5);box-shadow:0 0 0 6px rgba(61,224,181,0.06);}
.eflow__step.s4 .eflow__node{border-color:var(--orange);color:var(--orange);box-shadow:0 0 0 6px rgba(255,127,76,0.06);}
.eflow__step:hover .eflow__node{transform:scale(1.05);}
.eflow__arrow{position:absolute;top:54px;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--t30);transform:translate(-50%,-50%);z-index:2;}
.eflow__arrow.a1{left:32%;}.eflow__arrow.a2{left:54%;}.eflow__arrow.a3{left:75%;}
.eflow__card{margin-top:28px;padding:28px 24px 24px;background:rgba(255,255,255,0.025);border:1px solid var(--border);border-radius:14px;width:100%;text-align:left;transition:background .25s ease;}
.eflow__step.s1 .eflow__card{border-top:2px solid var(--blue);}
.eflow__step.s2 .eflow__card{border-top:2px solid var(--cyan);}
.eflow__step.s3 .eflow__card{border-top:2px solid var(--green,#3DE0B5);}
.eflow__step.s4 .eflow__card{border-top:2px solid var(--orange);}
.eflow__step:hover .eflow__card{background:rgba(255,255,255,0.04);}
.eflow__time{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;display:inline-block;padding:4px 10px;border-radius:100px;}
.eflow__step.s1 .eflow__time{background:rgba(43,155,234,0.10);color:var(--blue);border:1px solid rgba(43,155,234,0.30);}
.eflow__step.s2 .eflow__time{background:rgba(12,228,248,0.10);color:var(--cyan);border:1px solid rgba(12,228,248,0.30);}
.eflow__step.s3 .eflow__time{background:rgba(61,224,181,0.10);color:var(--green,#3DE0B5);border:1px solid rgba(61,224,181,0.30);}
.eflow__step.s4 .eflow__time{background:rgba(255,127,76,0.10);color:var(--orange);border:1px solid rgba(255,127,76,0.30);}
.eflow__h{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;letter-spacing:-0.015em;line-height:1.2;margin-bottom:10px;color:var(--text);}
.eflow__p{font-size:13px;line-height:1.65;color:var(--t70);font-weight:300;}
@media(max-width:900px){.eflow__rail,.eflow__arrow{display:none;}.eflow__grid{grid-template-columns:1fr;gap:32px;}}

/* ====================================================================
   === CARD LIBRARY — Type A (Minimal Mono Numbered) (20260425)
   ==================================================================== */
.tcard-a-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.tcard-a-grid{grid-template-columns:1fr;}}
.tcard-a{position:relative;padding:36px 32px 30px;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:14px;}
.tcard-a__num{position:absolute;top:18px;right:20px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--t30);}
.tcard-a__h{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;letter-spacing:-0.015em;line-height:1.15;margin-bottom:14px;color:var(--text);}
.tcard-a__p{font-size:14px;line-height:1.7;color:var(--t70);font-weight:300;margin-bottom:20px;}
.tcard-a__meta{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}

/* ====================================================================
   === CARD LIBRARY — Type B (Icon + Numbered Tile) (20260425)
   ==================================================================== */
.tcard-b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.tcard-b-grid{grid-template-columns:1fr;}}
.tcard-b{position:relative;padding:32px 28px 28px;background:rgba(255,255,255,0.025);border:1px solid var(--border);border-radius:14px;transition:transform .25s ease,border-color .25s ease;}
.tcard-b:hover{transform:translateY(-2px);border-color:rgba(255,255,255,0.18);}
.tcard-b__num{position:absolute;top:18px;right:20px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.18em;color:rgba(11,218,238,0.45);}
.tcard-b__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(11,218,238,0.10);border:1px solid rgba(11,218,238,0.20);margin-bottom:18px;}
.tcard-b__icon img{width:24px;height:24px;object-fit:contain;}
.tcard-b.alt-blue .tcard-b__icon{background:rgba(43,155,234,0.10);border-color:rgba(43,155,234,0.22);}
.tcard-b.alt-orange .tcard-b__icon{background:rgba(255,127,76,0.10);border-color:rgba(255,127,76,0.22);}
.tcard-b.alt-green .tcard-b__icon{background:rgba(61,224,181,0.10);border-color:rgba(61,224,181,0.22);}
.tcard-b.alt-blue .tcard-b__num{color:rgba(43,155,234,0.50);}
.tcard-b.alt-orange .tcard-b__num{color:rgba(255,127,76,0.50);}
.tcard-b.alt-green .tcard-b__num{color:rgba(61,224,181,0.50);}
.tcard-b__h{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:700;letter-spacing:-0.01em;line-height:1.25;margin-bottom:10px;color:var(--text);}
.tcard-b__p{font-size:13.5px;line-height:1.7;color:var(--t70);font-weight:300;}

/* ====================================================================
   === BSI ISO 27001 BADGE — inverted, transparent (20260425)
   ==================================================================== */
.bsi-cta-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:8px;}
.bsi-badge-tile{display:block;}
.bsi-badge-tile img{display:block;height:92px;width:auto;filter:invert(1);image-rendering:-webkit-optimize-contrast;}
@media(max-width:600px){.bsi-badge-tile img{height:72px;}.bsi-cta-row{justify-content:flex-start;}}
