/* NI Redesign — scoped design system (auto-generated from site.css + home) */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');
:root{
  
  --ink:      #FFFFFF;   
  --ink-2:    #F6F4FC;   
  --ink-3:    #EFEAFA;   
  --ink-4:    #E4DCF6;   
  --deep:     #240570;   
  --deep-2:   #1A0454;

  
  --fg:       #19132E;   
  --fg-dim:   #4C4564;
  --fg-mute:  #837B97;
  --on-deep:  #F3F0FF;   
  --on-deep-dim: #C7BCEC;

  
  --green:    #32079C;   
  --green-d:  #240570;
  --amber:    #7C3AED;   
  --green-soft: rgba(50,7,156,0.08);
  --amber-soft: rgba(124,58,237,0.10);

  --line:     rgba(25,19,46,0.12);
  --line-2:   rgba(25,19,46,0.20);
  --line-3:   rgba(228, 220, 246, 0.25);

  
  --ni-display: 'Plus Jakarta Sans', system-ui, sans-serif;
  --ni-body:    'Manrope', system-ui, sans-serif;
  --ni-mono:    'Plus Jakarta Sans', system-ui, sans-serif;

  --maxw: 1280px;
  --gut: clamp(20px, 5vw, 64px);
  --r: 0px;
  --r-lg: 0px;

  --ease: cubic-bezier(.22,.61,.36,1);
}
.ni-redesign *{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
.ni-redesign{
  font-family:var(--ni-body);
  background:var(--ink);
  color:var(--fg);
  line-height:1.55;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.ni-redesign img{ max-width:100%; display:block; }
.ni-redesign a{ color:inherit; text-decoration:none; }
.ni-redesign ::selection{ background:var(--green); color:var(--ink); }
.ni-redesign .wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gut); }
.ni-redesign .wrap-wide{ max-width:1480px; margin:0 auto; padding-inline:var(--gut); }
.ni-redesign section{ position:relative; }
.ni-redesign .section-pad{ padding-block:clamp(36px,6vw,88px); }
.ni-redesign .divider{ height:1px; background:var(--line); border:0; }
.ni-redesign .kicker{font-family:var(--ni-mono);font-size:16px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center; gap:10px;padding-top:10px;}
.ni-redesign .kicker::before{
  content:""; width:26px; height:1px; background:var(--amber); display:inline-block;
}
.ni-redesign .kicker.amber{ color:var(--amber); }
.ni-redesign .kicker.amber::before{ background:var(--amber); }
.ni-redesign .kicker.center{ justify-content:center; }
.ni-redesign h1, .ni-redesign h2, .ni-redesign h3, .ni-redesign h4{ font-family:var(--ni-display); font-weight:700; line-height:1.02; letter-spacing:-0.02em; }
.ni-redesign .h-display{ font-size:clamp(48px, 9vw, 132px); line-height:0.92; letter-spacing:-0.03em; }
.ni-redesign .h1{ font-size:clamp(40px, 6vw, 84px); }
.ni-redesign .h2{ font-size:clamp(32px, 4.6vw, 60px); }
.ni-redesign .h3{ font-size:clamp(24px, 2.6vw, 36px); }
.ni-redesign .lead{ font-size:clamp(18px,1.6vw,22px); color:var(--fg-dim); line-height:1.6; max-width:62ch; }
.ni-redesign .muted{ color:var(--fg-mute); }
.ni-redesign .text-balance{ text-wrap:balance; }
.ni-redesign .text-pretty{ text-wrap:pretty; }
.ni-redesign .btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ni-body); font-weight:700; font-size:15px;
  padding:15px 26px; border-radius:100px; border:1px solid transparent;
  cursor:pointer; transition:.25s var(--ease); white-space:nowrap;
}
.ni-redesign .btn .arr{ transition:transform .25s var(--ease); }
.ni-redesign .btn:hover .arr{ transform:translateX(4px); }
.ni-redesign .btn-primary{ background:var(--green); color:#fff; }
.ni-redesign .btn-primary:hover{ background:var(--green-d); }
.ni-redesign .btn-ghost{ border-color:var(--line-2); color:var(--fg); }
.ni-redesign .btn-ghost:hover{ border-color:var(--green); color:var(--green); }
.ni-redesign .btn-light{ background:var(--fg); color:#fff; }
.ni-redesign .btn-light:hover{ background:var(--green); color:#fff; }
.ni-redesign .btn-lg{ padding:18px 34px; font-size:16px; }
.ni-redesign .link-arrow{
  display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:15px;
  color:var(--green); transition:.2s var(--ease);
}
.ni-redesign .link-arrow .arr{ transition:transform .25s var(--ease); }
.ni-redesign .link-arrow:hover .arr{ transform:translateX(5px); }
.ni-redesign .nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  transition:.3s var(--ease);
  border-bottom:1px solid transparent;
}
.ni-redesign .nav.scrolled{
  background:color-mix(in oklch, var(--ink) 82%, transparent);
  backdrop-filter:blur(16px) saturate(1.2);
  border-bottom-color:var(--line);
}
.ni-redesign .nav-inner{
  max-width:1480px; margin:0 auto; padding:18px var(--gut);
  display:flex; align-items:center; gap:32px;
}
.ni-redesign .nav.scrolled .nav-inner{ padding-block:13px; }
.ni-redesign .brand{ display:flex; align-items:center; gap:11px; font-family:var(--ni-display); font-weight:700; font-size:20px; letter-spacing:-.02em; }
.ni-redesign .brand .mark{
  width:34px; height:34px; border-radius:9px; flex:none;
  background:
    linear-gradient(150deg, var(--green), var(--amber));
  display:grid; place-items:center; color:#fff; font-weight:700; font-size:17px;
  font-family:var(--ni-display);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.ni-redesign .brand small{ display:block; font-family:var(--ni-mono); font-size:9px; letter-spacing:.2em; color:var(--fg-mute); font-weight:400; margin-top:-2px; }
.ni-redesign .brand-img{ height:38px; width:auto; display:block; }
.ni-redesign .nav.scrolled .brand-img{ height:34px; }
.ni-redesign.home .nav:not(.scrolled) .nav-burger { border: 1px solid var(--line-3);}
.ni-redesign.home .nav:not(.scrolled) .nav-burger svg path { color: var(--ink-4); }
@media (min-width:980px){
  .ni-redesign.home .nav:not(.scrolled) .nav-links > .nav-item > a, .ni-redesign.home .nav:not(.scrolled) .nav-links > a  { color: var(--ink-4); }
  .ni-redesign.home .nav:not(.scrolled) .nav-links > .nav-item a.active { color: var(--amber); }
}
.ni-redesign .brand-img.broken{ display:none; }
.ni-redesign .brand-text{ display:none; align-items:center; gap:11px; }
.ni-redesign .brand-img.broken + .brand-text{ display:flex; }
.ni-redesign .foot-logo{ height:36px; width:auto; display:block; }
.ni-redesign .nav-links{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.ni-redesign .nav-links a{
  font-size:14.5px; font-weight:600; color:var(--fg);
  padding:9px 14px; border-radius:9px; transition:.2s; position:relative;
}
.ni-redesign .nav-links a:hover{ color:var(--fg); background:rgba(50,7,156,.06); }
.ni-redesign .nav-links a.active{ color:var(--green); }
.ni-redesign .nav-item{ position:relative; }
.ni-redesign .nav-item > .nav-trigger{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.ni-redesign .nav-item > .nav-trigger .caret{ width:8px; height:8px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg) translateY(-1px); transition:.2s; opacity:.6; }
.ni-redesign .nav-item:hover > .nav-trigger .caret{ transform:rotate(225deg) translateY(-1px); opacity:1; }
.ni-redesign .submenu{
  position:absolute; top:calc(100% + 6px); left:0; min-width:200px;
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px;
  box-shadow:0 20px 44px rgba(25,19,46,.16); display:flex; flex-direction:column; gap:2px;
  opacity:0; transform:translateY(8px); pointer-events:none; transition:.22s var(--ease); z-index:50;
}
.ni-redesign .submenu::before{ content:""; position:absolute; top:-10px; left:0; right:0; height:12px; }
.ni-redesign .nav-item:hover .submenu{ opacity:1; transform:none; pointer-events:auto; }
.ni-redesign .submenu a{ padding:10px 14px; border-radius:9px; font-size:14.5px; color:var(--fg-dim); }
.ni-redesign .submenu a:hover{ background:var(--ink-2); color:var(--green); }
.ni-redesign .nav-cta{ margin-left:14px; }
.ni-redesign .nav-burger{ display:none; margin-left:auto; background:none; border:1px solid var(--line-2); border-radius:9px; width:44px; height:44px; cursor:pointer; color:var(--fg); }
.ni-redesign .nav-burger svg{ margin:auto; width:22px; height:22px; flex:0 0 auto; display:block; }
.ni-redesign .mobile-menu{
  position:fixed; inset:0; z-index:99; background:var(--ink);
  display:flex; flex-direction:column; padding:96px var(--gut) 40px;
  gap:2px; transform:translateY(-100%); transition:.4s var(--ease); opacity:0; pointer-events:none; overflow-y:auto;
}
.ni-redesign .mobile-menu.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
.ni-redesign .mobile-menu a{ font-family:var(--ni-display); font-size:24px; font-weight:600; padding:12px 0; border-bottom:1px solid var(--line); }
.ni-redesign .mobile-menu a.sub{ font-size:20px; padding-left:18px; color:var(--fg-dim); font-weight:500; }
.ni-redesign .mobile-menu a.active, .ni-redesign .mobile-menu .m-parent.active{ color:var(--green); }
/* Mobile dropdown accordion */
.ni-redesign .mobile-menu .m-group{ border-bottom:1px solid var(--line); }
.ni-redesign .mobile-menu .m-row{ display:flex; align-items:center; }
.ni-redesign .mobile-menu .m-row .m-parent{ flex:1; border-bottom:0; }
.ni-redesign .mobile-menu .m-caret{ flex:0 0 auto; width:46px; height:46px; background:none; border:0; cursor:pointer; position:relative; }
.ni-redesign .mobile-menu .m-caret::before{ content:""; position:absolute; top:44%; left:50%; width:12px; height:12px; border-right:2.2px solid var(--fg); border-bottom:2.2px solid var(--fg); transform:translate(-50%,-50%) rotate(45deg); transition:transform .25s var(--ease); }
.ni-redesign .mobile-menu .m-group.open .m-caret::before{ transform:translate(-50%,-50%) rotate(225deg); }
.ni-redesign .mobile-menu .m-sub{ display:flex; flex-direction:column; overflow:hidden; max-height:0; transition:max-height .3s var(--ease); }
.ni-redesign .mobile-menu .m-group.open .m-sub{ max-height:60vh; }
.ni-redesign .mobile-menu .m-sub a{ font-size:17px; font-weight:500; color:var(--fg-dim); padding:9px 0 9px 18px; border-bottom:0; }
@media (max-width:980px){
.ni-redesign .nav-links, .ni-redesign .nav-cta{ display:none; }
.ni-redesign .nav-burger{ display:flex;justify-content: center; }
}
.ni-redesign .ph{
  position:relative; overflow:hidden; border-radius:var(--r);
  background:
    repeating-linear-gradient(135deg,
      rgba(50,7,156,.05) 0 2px, transparent 2px 11px),
    linear-gradient(160deg, var(--ink-3), var(--ink-2));
  border:1px solid var(--line);
  display:grid; place-items:center; text-align:center;
  color:var(--fg-mute); min-height:160px;
}
.ni-redesign .ph::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 100% at 50% 0%, transparent 62%, rgba(50,7,156,.06));
  pointer-events:none;
}
.ni-redesign .ph .ph-tag{
  position:relative; z-index:1; font-family:var(--ni-mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; max-width:80%;
  padding:7px 12px; border:1px solid var(--line-2); border-radius:100px;
  display:inline-flex; gap:7px; align-items:center; line-height:1.4;
}
.ni-redesign .ph .ph-tag::before{ content:"◉"; color:var(--green); font-size:9px; }
.ni-redesign .ph.amber .ph-tag::before{ color:var(--amber); }
.ni-redesign .ph.tall{ min-height:420px; }
.ni-redesign .ph.cover{ position:absolute; inset:0; border-radius:0; border:0; }
.ni-redesign .tag{
  font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  padding:6px 11px; border:1px solid var(--line-2); border-radius:100px; color:var(--fg-dim);
}
.ni-redesign .card{
  background:var(--ink-2); border:1px solid var(--line); border-radius:var(--r-lg);
  transition:.3s var(--ease);
}
.ni-redesign .card:hover{ border-color:var(--line-2); transform:translateY(-4px); }
.ni-redesign .grid{ display:grid; gap:24px; }
.ni-redesign .eyebrow-num{ font-family:var(--ni-mono); font-size:13px; color:var(--green); letter-spacing:.1em; }
.ni-redesign .reveal{ opacity:0; transform:translateY(26px); transition:.8s var(--ease); }
.ni-redesign .reveal.in{ opacity:1; transform:none; }
.ni-redesign .reveal.d1{ transition-delay:.08s;color:var(--ink); }
.ni-redesign .reveal.d2{ transition-delay:.16s; }
.ni-redesign .reveal.d3{ transition-delay:.24s; }
.ni-redesign .reveal.d4{ transition-delay:.32s; }
.ni-redesign .page-hero{ padding:170px 0 64px; position:relative; }
.ni-redesign .page-hero .crumb{ font-family:var(--ni-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-mute); margin-bottom:22px; }
.ni-redesign .page-hero .crumb b{ color:var(--green); font-weight:400; }
.ni-redesign .site-foot{ background:var(--deep); color:var(--on-deep); border-top:0; padding-top:clamp(64px,8vw,110px); position:relative; overflow:hidden; }
.ni-redesign .site-foot::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 80% at 88% 0%, rgba(124,58,237,.45), transparent 60%); }
.ni-redesign .site-foot > *{ position:relative; z-index:1; }
.ni-redesign .site-foot .h1, .ni-redesign .site-foot h2{ color:#fff; }
.ni-redesign .foot-cta{ padding-bottom:clamp(56px,7vw,90px); border-bottom:1px solid rgba(255,255,255,.14); }
.ni-redesign .foot-cta .kicker{ color:#C9B8FF; }
.ni-redesign .foot-cta .kicker::before{ background:#C9B8FF; }
.ni-redesign .foot-cta .btn-primary{ background:#fff; color:var(--green); }
.ni-redesign .foot-cta .btn-primary:hover{ background:var(--amber); color:#fff; }
.ni-redesign .foot-cta .btn-ghost{ border-color:rgba(255,255,255,.3); color:#fff; }
.ni-redesign .foot-cta .btn-ghost:hover{ border-color:#fff; color:#fff; background:rgba(255,255,255,.08); }
.ni-redesign .foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-block:64px; }
.ni-redesign .foot-grid h5{ font-family:var(--ni-mono); font-size:14px; letter-spacing:.18em; text-transform:uppercase; color:var(--on-deep-dim); margin-bottom:18px; font-weight:400; }
.ni-redesign .foot-grid ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.ni-redesign .foot-grid a{ color:var(--on-deep-dim); font-size:15px; transition:.2s; }
.ni-redesign .foot-grid a:hover{ color:#fff; }
.ni-redesign .foot-grid .brand{ color:#fff; }
.ni-redesign .foot-bottom{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-block:26px; border-top:1px solid rgba(255,255,255,.14); font-size:13px; color:var(--on-deep-dim); }
.ni-redesign .foot-bottom .socials{ display:flex; gap:10px; }
.ni-redesign .foot-bottom .socials a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.22); border-radius:50%; display:grid; place-items:center; color:var(--on-deep-dim); transition:.2s; }
.ni-redesign .foot-bottom .socials a:hover{ border-color:#fff; color:#fff; }
.ni-redesign .foot-brand{ max-width:36ch; }
.ni-redesign .foot-brand p{ color:var(--on-deep-dim); font-size:14.5px; margin-top:16px; }
@media (max-width:880px){
.ni-redesign .foot-grid{ grid-template-columns:1fr 1fr; gap:34px; }
}
@media (max-width:520px){
.ni-redesign .foot-grid{ grid-template-columns:1fr; }
}
.ni-redesign .center{ text-align:center; }
.ni-redesign .mx-auto{ margin-inline:auto; }
.ni-redesign .stack{ display:flex; flex-direction:column; }
.ni-redesign .row{ display:flex; align-items:center; }
.ni-redesign .gap-sm{ gap:12px; }
.ni-redesign .gap-md{ gap:20px; }
.ni-redesign .gap-lg{ gap:32px; }
.ni-redesign .wrap-btns{ display:flex; gap:14px; flex-wrap:wrap; }
.ni-redesign *, .ni-redesign *::before, .ni-redesign *::after{ border-radius:0 !important; }

/* ---- Home hero/section components ---- */
.ni-redesign .hero{ position:relative; padding:188px 0 96px; overflow:hidden; }
.ni-redesign .hero-bg{ position:absolute; inset:0; z-index:0; }
.ni-redesign .hero-bg::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(60% 80% at 78% 12%, var(--green-soft), transparent 60%),
    radial-gradient(50% 70% at 10% 90%, var(--amber-soft), transparent 60%);
}
.ni-redesign .hero-grid-lines{ position:absolute; inset:0; opacity:.5; will-change:transform;
  background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg,var(--line) 1px, transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(80% 70% at 60% 30%, #000, transparent 80%); }
.ni-redesign .hero-glow{ position:absolute; left:46%; top:34%; width:55vw; height:55vw; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(50,7,156,.20), rgba(124,58,237,.06) 46%, transparent 66%);
  pointer-events:none; z-index:0; will-change:left,top; }
.ni-redesign .hero-media .ph{ transition:transform .3s var(--ease); will-change:transform; }
.ni-redesign .hero-inner{ position:relative; z-index:2; }
.ni-redesign .hero h1{ font-size:clamp(36px, 10vw, 150px); line-height:0.9; letter-spacing:-0.04em; }
.ni-redesign .hero h1 .kin{ display:inline-block; color:var(--green); }
.ni-redesign .hero h1 .kin.amber{ color:var(--amber); }
.ni-redesign .hero-tagline{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; padding-bottom:22px;
  border-bottom:1px solid var(--line); position:relative; }
.ni-redesign .hero-tagline::after{ content:""; position:absolute; left:0; bottom:-1px; height:2px; width:120px;
  background:linear-gradient(90deg, var(--green), var(--amber)); border-radius:2px; }
.ni-redesign .hero-tagline .seg{ display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  font-family:var(--ni-display); font-weight:600; font-size:clamp(14px,1.45vw,18px); letter-spacing:-.01em; color:var(--fg-dim); }
.ni-redesign .hero-tagline .seg b{ font-weight:800; color:var(--green); }
.ni-redesign .hero-tagline .dia{ width:9px; height:9px; flex:none; background:var(--amber); transform:rotate(45deg);
  box-shadow:0 0 0 4px var(--green-soft); animation:diaPulse 2.6s var(--ease) infinite; }
.ni-redesign .hero-tagline .seg:nth-child(2) .dia{ animation-delay:.5s; }
.ni-redesign .hero-tagline .seg:nth-child(3) .dia{ animation-delay:1s; }
@keyframes diaPulse{ 0%,100%{ box-shadow:0 0 0 3px var(--green-soft);} 50%{ box-shadow:0 0 0 7px transparent;} }
.ni-redesign .hero-sub{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,56px); align-items:center; margin-top:40px; }
.ni-redesign .hero-sub .lead{ max-width:48ch; }
.ni-redesign .hero-media{ position:relative; }
.ni-redesign .hero-media .ph{ min-height:clamp(280px,32vw,420px); border-radius:var(--r-lg); }
.ni-redesign .hero-media .ph .ph-tag{ background:rgba(255,255,255,.7); backdrop-filter:blur(2px); }
.ni-redesign .hero-media-badge{ position:absolute; left:-14px; bottom:-14px; background:var(--green); color:#fff;
  padding:18px 22px; border-radius:16px; box-shadow:0 18px 40px rgba(50,7,156,.30); display:flex; align-items:center; gap:14px; }
.ni-redesign .hero-media-badge b{ font-family:var(--ni-display); font-weight:800; font-size:40px; line-height:1; }
.ni-redesign .hero-media-badge span{ font-size:12.5px; line-height:1.25; color:#E8DEFF; }
@media(max-width:820px){
.ni-redesign .hero-sub{ grid-template-columns:1fr; gap:32px; }
.ni-redesign .hero-media-badge{ left:auto; right:14px; }
}
.ni-redesign .hero-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:clamp(40px,5vw,64px);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--ink-2); }
.ni-redesign .hero-stats .hstat{ padding:clamp(22px,2.6vw,34px) clamp(20px,2.4vw,34px); position:relative; }
.ni-redesign .hero-stats .hstat:not(:last-child){ border-right:1px solid var(--line); }
.ni-redesign .hero-stats .hstat::before{ content:""; position:absolute; left:0; top:0; height:3px; width:46px; background:var(--green); }
.ni-redesign .hero-stats .hnum{ font-family:var(--ni-display); font-weight:800; font-size:clamp(36px,5.5vw,68px); line-height:1; letter-spacing:-.03em; color:var(--green); }
.ni-redesign .hero-stats .hnum i{ font-style:normal; color:var(--amber); }
.ni-redesign .hero-stats .hlbl{ margin-top:10px; font-weight:600; font-size:clamp(14px,1.3vw,16px); color:var(--fg-dim); }
@media(max-width:680px){
.ni-redesign .hero-stats{ grid-template-columns:1fr; }
.ni-redesign .hero-stats .hstat:not(:last-child){ border-right:0; border-bottom:1px solid var(--line); }
}
@media(max-width:820px){
.ni-redesign .hero-sub{ grid-template-columns:1fr; gap:28px; }
}
.ni-redesign .marquee{ border-block:1px solid var(--line); padding:22px 0; overflow:hidden; background:var(--ink-2); }
.ni-redesign .marquee-track{ display:flex; gap:54px; white-space:nowrap; animation:scrollx 40s linear infinite; width:max-content; }
.ni-redesign .marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes scrollx{ to{ transform:translateX(-50%); } }
.ni-redesign .marquee span{ font-family:var(--ni-display); font-size:22px; font-weight:600; color:var(--fg-dim); display:inline-flex; align-items:center; gap:54px; }
.ni-redesign .marquee span::after{ content:"◆"; color:var(--green); font-size:11px; }
.ni-redesign .stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.ni-redesign .stats .stat{ padding:14px 36px 14px 0; }
.ni-redesign .stats .stat:not(:last-child){ border-right:1px solid var(--line); padding-left:36px; }
.ni-redesign .stats .stat:first-child{ padding-left:0; }
.ni-redesign .stats .num{ font-family:var(--ni-display); font-size:clamp(52px,7vw,92px); line-height:1; letter-spacing:-.03em; color:var(--fg); }
.ni-redesign .stats .num .u{ color:var(--green); }
.ni-redesign .stats .lbl{ color:var(--fg-dim); margin-top:14px; font-size:15.5px; max-width:26ch; }
@media(max-width:760px){
.ni-redesign .stats{ grid-template-columns:1fr; }
.ni-redesign .stats .stat{ border-right:0 !important; border-bottom:1px solid var(--line); padding:26px 0 !important; }
}
.ni-redesign .svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:900px){
.ni-redesign .svc-grid{ grid-template-columns:1fr 1fr; }
.ni-redesign .svc { padding: 15px 30px;min-height: 100px;gap: 10px;}
}
@media(max-width:600px){
.ni-redesign .svc-grid{ grid-template-columns:1fr; }
}
.ni-redesign .svc{ padding:30px; min-height:300px; display:flex; flex-direction:column; }
.ni-redesign .svc .num{ font-family:var(--ni-mono); font-size:12px; color:var(--green); letter-spacing:.12em; }
.ni-redesign .svc h3{ font-size:25px; margin:20px 0 12px; }
.ni-redesign .svc p{ color:var(--fg-mute); font-size:15px; }
.ni-redesign .svc .link-arrow{ margin-top:auto; padding-top:22px; font-size:14px; }
.ni-redesign .svc.feat{ background:linear-gradient(165deg, var(--ink-3), var(--ink-2)); }
.ni-redesign .split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); align-items:center; }
@media(max-width:880px){
.ni-redesign .split{ grid-template-columns:1fr; }
}
.ni-redesign .ins-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){
.ni-redesign .ins-grid{ grid-template-columns:1fr; max-width:560px; }
}
.ni-redesign .ins{ overflow:hidden; }
.ni-redesign .ins .ph{ border-radius:0; border:0; border-bottom:1px solid var(--line); min-height:220px; }
.ni-redesign .ins .ins-body{ padding:24px 26px 28px; }
.ni-redesign .ins .tag{ margin-bottom:14px; display:inline-block; }
.ni-redesign .ins h3{ font-size:22px; line-height:1.12; }
.ni-redesign .ins .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); letter-spacing:.08em; margin-top:16px; }
.ni-redesign .clients{ display:flex; flex-wrap:wrap; gap:18px; }
.ni-redesign .client{ flex:1 1 200px; min-height:104px; border:1px solid var(--line); border-radius:var(--r); display:grid; place-items:center; background:var(--ink-2); padding:18px; }
.ni-redesign .client .ph-tag{ border:0; }
.ni-redesign .client-logo{ max-height:52px; max-width:78%; width:auto; object-fit:contain; }

/* ============================================================
   NATIVE-WIDGET BRIDGE — maps Elementor native widgets to the design system
   (so headings/text/buttons stay drag-drop editable yet on-brand)
   ============================================================ */
.ni-redesign .elementor-heading-title{font-family:var(--ni-display);font-weight:700;line-height:1.02;letter-spacing:-.02em;color:var(--fg);}
.ni-redesign .e-h1 .elementor-heading-title{font-size:clamp(40px,6vw,84px);line-height:1;}
.ni-redesign .e-h2 .elementor-heading-title{font-size:clamp(32px,4.6vw,60px);}
.ni-redesign .e-h3 .elementor-heading-title{font-size:clamp(24px,2.6vw,36px);}
.ni-redesign .e-hero-h1 .elementor-heading-title{font-size:clamp(42px,7.4vw,104px);line-height:.95;letter-spacing:-.03em;}
.ni-redesign .elementor-widget-text-editor{color:var(--fg-dim);}
.ni-redesign .e-lead .elementor-widget-container{font-size:clamp(18px,1.6vw,22px);color:var(--fg-dim);line-height:1.6;}
.ni-redesign .elementor-widget-text-editor p{margin-bottom:1em;}
/* native buttons -> design .btn */
.ni-redesign .elementor-button-wrapper{display:inline-flex;}
.ni-redesign .elementor-button{font-family:var(--ni-body);font-weight:700;font-size:15px;padding:15px 26px;border:1px solid transparent;display:inline-flex;align-items:center;gap:10px;transition:.25s var(--ease);background:var(--green);color:#fff;}
.ni-redesign .e-btn-primary .elementor-button{background:var(--green);color:#fff;}
.ni-redesign .e-btn-primary .elementor-button:hover{background:var(--green-d);}
.ni-redesign .e-btn-ghost .elementor-button{border-color:var(--line-2);color:var(--fg);background:transparent;}
.ni-redesign .e-btn-ghost .elementor-button:hover{border-color:var(--green);color:var(--green);}
.ni-redesign .e-btn-lg .elementor-button{padding:18px 34px;font-size:16px;}
@media(max-width: 980px) {
  .ni-redesign .e-btn-lg .elementor-button { padding: 18px 20px; }
}
.ni-redesign .elementor-button .elementor-button-icon{margin-inline-start:2px;transition:transform .25s var(--ease);}
.ni-redesign .elementor-button:hover .elementor-button-icon{transform:translateX(4px);}
/* let design layout classes win over Elementor container defaults */
.ni-redesign .svc-grid,.ni-redesign .ins-grid,.ni-redesign .stats,.ni-redesign .hero-stats,.ni-redesign .split,.ni-redesign .hero-sub{width:100%;}
.ni-redesign .e-con>.e-con-inner{width:100%;}

.ni-redesign .band{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

/* ---- font enforcement (beat theme/kit Inter & Sora) ---- */
.ni-redesign, .ni-redesign p, .ni-redesign .elementor-widget-text-editor, .ni-redesign .elementor-widget-text-editor .elementor-widget-container, .ni-redesign li, .ni-redesign a, .ni-redesign span, .ni-redesign div{font-family:var(--ni-body);}
.ni-redesign h1,.ni-redesign h2,.ni-redesign h3,.ni-redesign h4,.ni-redesign .elementor-heading-title{font-family:var(--ni-display) !important;}
.ni-redesign .e-lead .elementor-widget-containerr, .ni-redesign .e-lead p{font-family:var(--ni-body) !important;}
.ni-redesign.home .hero-sub .e-lead p {color: var(--ink-4);}
.ni-redesign .e-lead .elementor-widget-container, .ni-redesign .e-lead p{color: var(--fg-dim);}
.ni-redesign .kicker,.ni-redesign .tag,.ni-redesign .meta,.ni-redesign .eyebrow-num,.ni-redesign .ph-tag,.ni-redesign .crumb,.ni-redesign .foot-grid h5{font-family:var(--ni-mono) !important;}
.ni-redesign .marquee span,.ni-redesign .hnum,.ni-redesign .num,.ni-redesign .brand{font-family:var(--ni-display) !important;}
.ni-redesign body, body.ni-redesign{font-family:var(--ni-body) !important;}

/* ===== TEAM page styles (scoped) ===== */
.ni-redesign .team-hero{ padding:170px 0 36px; }
.ni-redesign .team-hero h1{ max-width:15ch; }
.ni-redesign .map-wrap{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,3vw,48px); align-items:stretch; }
@media(max-width:920px){.ni-redesign .map-wrap{ grid-template-columns:1fr; }}
.ni-redesign .map-stage{ position:relative; background:
    radial-gradient(80% 70% at 50% 14%, var(--green-soft), transparent 70%),
    var(--ink-2);
  border:1px solid var(--line); border-radius:var(--r-lg); padding:8px; overflow:hidden; min-height:480px; }
.ni-redesign .africa-svg{ width:100%; height:auto; display:block; }
.ni-redesign .country{ fill:var(--ink-4); stroke:#fff; stroke-width:.9; transition:fill .2s var(--ease), stroke .2s; cursor:default; }
.ni-redesign .country.has{ fill:var(--c); cursor:pointer; }
.ni-redesign .country:hover{ fill:#B7A2EC; }
.ni-redesign .country.has:hover{ fill:color-mix(in srgb, var(--c) 78%, #fff); }
.ni-redesign .country.sel{ stroke:var(--green); stroke-width:2; }
.ni-redesign #map-tip{ position:absolute; pointer-events:none; z-index:5; transform:translate(-50%,-140%);
  background:#fff; border:1px solid var(--line-2); border-radius:10px; padding:9px 13px;
  font-size:13px; opacity:0; transition:opacity .15s; white-space:nowrap; box-shadow:0 14px 34px rgba(25,19,46,.20); }
.ni-redesign #map-tip b{ font-family:var(--ni-display); display:block; font-size:14px; color:var(--fg); }
.ni-redesign #map-tip span{ font-family:var(--ni-mono); font-size:10.5px; letter-spacing:.06em; color:var(--fg-mute); text-transform:uppercase; }
.ni-redesign .map-fallback{ display:grid; place-items:center; text-align:center; min-height:460px; gap:14px; padding:40px; }
.ni-redesign .mf-globe{ font-size:64px; color:var(--green); }
.ni-redesign .map-panel{ background:var(--ink-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(26px,3vw,40px); display:flex; flex-direction:column; }
.ni-redesign .mp-kicker{ font-family:var(--ni-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:18px; }
.ni-redesign .mp-title{ font-family:var(--ni-display); font-size:clamp(30px,3.4vw,46px); line-height:.98; letter-spacing:-.02em; }
.ni-redesign .mp-lead{ color:var(--fg-dim); margin-top:20px; font-size:15.5px; }
.ni-redesign .mp-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.ni-redesign .mp-stats.two{ grid-template-columns:1.3fr 1fr; }
.ni-redesign .mp-stats b{ font-family:var(--ni-display); font-size:34px; display:block; line-height:1; color:var(--green); }
.ni-redesign .mp-stats span{ font-family:var(--ni-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-mute); margin-top:8px; display:block; }
.ni-redesign .mp-legend{ display:flex; flex-direction:column; gap:10px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.ni-redesign .mp-legend-label{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute); }
.ni-redesign .mp-scale{ height:12px; border-radius:100px; background:linear-gradient(90deg,#C9B6F0,#32079C); }
.ni-redesign .mp-scale-ends{ display:flex; justify-content:space-between; font-size:12px; color:var(--fg-mute); }
.ni-redesign .mp-focus{ margin-top:28px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:14px; }
.ni-redesign .mp-focus .chips{ display:flex; flex-wrap:wrap; gap:9px; }
.ni-redesign .mp-back{ margin-top:auto; align-self:flex-start; background:none; border:1px solid var(--line-2); color:var(--fg-dim);
  font-family:var(--ni-body); font-weight:600; font-size:14px; padding:11px 18px; border-radius:100px; cursor:pointer; transition:.2s; margin-top:30px; }
.ni-redesign .mp-back:hover{ border-color:var(--green); color:var(--green); }
.ni-redesign .lead-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media(max-width:900px){.ni-redesign .lead-grid{ grid-template-columns:1fr 1fr; }}
@media(max-width:520px){.ni-redesign .lead-grid{ grid-template-columns:1fr; }}
.ni-redesign .person .ph{ aspect-ratio:4/5; min-height:0; border-radius:var(--r); margin-bottom:16px; }
.ni-redesign .person h4{ font-size:19px; }
.ni-redesign .person .role{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin-top:6px; }
/* team loop card + display heading bridges */
.ni-redesign .e-display .elementor-heading-title{font-size:clamp(34px,6vw,64px);line-height:.95;letter-spacing:-.03em;}
.ni-redesign .person-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block;border:1px solid var(--line);}
.ni-redesign .person-name .elementor-heading-title{font-size:17px;margin-top:16px;margin-bottom:0;line-height:1.2;}
.ni-redesign .role .elementor-heading-title{font-size:12px;font-style:italic;letter-spacing:.08em;text-transform:capitalize;color:var(--fg);margin-top:0;}
.ni-redesign .map-fallback b{font-family:var(--ni-display);font-size:22px;display:block;margin-bottom:6px;}

/* ===== REPORTS styles ===== */
/* reports.html */
.ni-redesign .rp-hero{ padding:170px 0 50px; }
.ni-redesign .feature{ display:grid; grid-template-columns:1.05fr .95fr; gap:0; border:1px solid var(--line); overflow:hidden; }
@media(max-width:840px){
  .ni-redesign .person { gap: 5px; }
  .ni-redesign .person-name .elementor-heading-title {font-size: 16px;}
  .ni-redesign .feature{ grid-template-columns:1fr; }
}
.ni-redesign .feature .ph{ min-height:400px; }
.ni-redesign .feature .fbody{ padding:clamp(30px,4vw,56px); display:flex; flex-direction:column; }
.ni-redesign .feature .yr{ font-family:var(--ni-mono); font-size:13px; letter-spacing:.1em; color:var(--green); }
.ni-redesign .feature h2{ font-size:clamp(28px,3.2vw,44px); line-height:1.04; margin:16px 0 16px; }
.ni-redesign .feature p{ color:var(--fg-dim); max-width:46ch; }
.ni-redesign .feature .wrap-btns{ margin-top:auto; padding-top:30px; }
.ni-redesign .filters{ display:flex; flex-wrap:wrap; gap:10px; }
.ni-redesign .filters button{ font-family:var(--ni-body); font-weight:600; font-size:14px; padding:10px 18px;
  border:1px solid var(--line-2); background:none; color:var(--fg-dim); cursor:pointer; transition:.2s; }
.ni-redesign .filters button:hover{ color:var(--fg); }
.ni-redesign .filters button.active{ background:var(--green); color:#fff; border-color:var(--green); }
.ni-redesign .rp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){.ni-redesign .rp-grid{ grid-template-columns:1fr 1fr; }}
@media(max-width:600px){.ni-redesign .rp-grid{ grid-template-columns:1fr; }}
.ni-redesign .report{ overflow:hidden; cursor:pointer; display:flex; flex-direction:column; }
.ni-redesign .report .cover{ position:relative; border-bottom:1px solid var(--line); }
.ni-redesign .report .cover .ph{ min-height:230px; border:0; }
.ni-redesign .report .cover .type{ position:absolute; top:14px; left:14px; background:var(--ink); }
.ni-redesign .report .rbody{ padding:22px 24px 26px; display:flex; flex-direction:column; flex:1; }
.ni-redesign .report h3{ font-size:20px; line-height:1.16; }
.ni-redesign .report .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); letter-spacing:.06em; margin-top:14px; }
.ni-redesign .report .link-arrow{ margin-top:18px; font-size:14px; }
.ni-redesign .report[hidden]{ display:none; }
/* report.html */
.ni-redesign .rd-hero{ padding:160px 0 0; }
.ni-redesign .rd-top{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,5vw,72px); align-items:center; }
@media(max-width:880px){.ni-redesign .rd-top{ grid-template-columns:1fr; gap:32px; }}
.ni-redesign .rd-top .tags{ display:flex; gap:9px; margin-bottom:22px; flex-wrap:wrap; }
.ni-redesign .rd-top h1{ font-size:clamp(34px,5vw,68px); line-height:1.0; letter-spacing:-.03em; }
.ni-redesign .rd-top .sub{ color:var(--fg-dim); font-size:clamp(17px,1.6vw,20px); margin-top:22px; max-width:46ch; }
.ni-redesign .rd-meta{ display:flex; gap:28px; flex-wrap:wrap; margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.ni-redesign .rd-meta .mi b{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute); display:block; font-weight:400; margin-bottom:5px; }
.ni-redesign .rd-meta .mi span{ font-weight:600; }
.ni-redesign .rd-cover .ph{ min-height:clamp(340px,42vw,520px); }
.ni-redesign .rd-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.ni-redesign .findings{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
@media(max-width:760px){.ni-redesign .findings{ grid-template-columns:1fr 1fr; }}
.ni-redesign .findings .f{ padding:clamp(26px,3vw,40px); border-right:1px solid var(--line); border-top:1px solid var(--line); }
.ni-redesign .findings .f::before{ content:""; display:block; width:40px; height:3px; background:var(--green); margin-bottom:18px; }
.ni-redesign .findings .f b{ font-family:var(--ni-display); font-weight:800; font-size:clamp(36px,4.4vw,56px); line-height:1; color:var(--green); display:block; }
.ni-redesign .findings .f span{ color:var(--fg-dim); font-size:14.5px; margin-top:10px; display:block; }
.ni-redesign .rd-body{ display:grid; grid-template-columns:1fr 300px; gap:clamp(36px,5vw,72px); align-items:start; }
@media(max-width:920px){.ni-redesign .rd-body{ grid-template-columns:1fr; }}
.ni-redesign .prose{ max-width:68ch; }
.ni-redesign .prose h2{ font-size:clamp(24px,2.6vw,34px); margin:8px 0 18px; }
.ni-redesign .prose h3{ font-size:21px; margin:36px 0 12px; }
.ni-redesign .prose p{ color:var(--fg-dim); margin-bottom:20px; font-size:17.5px; line-height:1.7; }
.ni-redesign .prose p:first-of-type::first-letter{ font-family:var(--ni-display); font-weight:800; font-size:64px; float:left; line-height:.8; padding:6px 14px 0 0; color:var(--green); }
.ni-redesign .prose .pull{ border-left:3px solid var(--green); padding:6px 0 6px 26px; margin:34px 0; font-family:var(--ni-display);
  font-weight:600; font-size:clamp(22px,2.4vw,30px); line-height:1.25; color:var(--fg); letter-spacing:-.01em; }
.ni-redesign .prose .chart{ margin:34px 0; }
.ni-redesign .prose .chart .ph{ min-height:300px; }
.ni-redesign .prose .chart figcaption{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-mute); margin-top:12px; letter-spacing:.04em; }
.ni-redesign .prose ul.bullets{ list-style:none; display:grid; gap:12px; margin:0 0 24px; }
.ni-redesign .prose ul.bullets li{ display:flex; gap:12px; color:var(--fg-dim); font-size:17px; }
.ni-redesign .prose ul.bullets li::before{ content:"→"; color:var(--green); font-weight:700; }
.ni-redesign .rd-side{ position:sticky; top:100px; display:flex; flex-direction:column; gap:26px; }
.ni-redesign .side-card{ border:1px solid var(--line); padding:26px; }
.ni-redesign .side-card h4{ font-size:13px; font-family:var(--ni-mono); text-transform:uppercase; letter-spacing:.12em; color:var(--fg-mute); font-weight:400; margin-bottom:16px; }
.ni-redesign .toc{ list-style:none; display:grid; gap:11px; }
.ni-redesign .toc a{ color:var(--fg-dim); font-size:15px; transition:.2s; display:flex; gap:10px; }
.ni-redesign .toc a:hover{ color:var(--green); }
.ni-redesign .toc a span{ font-family:var(--ni-mono); font-size:12px; color:var(--green); }
.ni-redesign .side-dl{ background:var(--deep); color:#fff; padding:28px; }
.ni-redesign .side-dl h4{ color:#C9B8FF; }
.ni-redesign .side-dl p{ color:var(--on-deep-dim); font-size:14px; margin-bottom:18px; }
.ni-redesign .side-dl .btn{ width:100%; justify-content:center; }
.ni-redesign .rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:760px){.ni-redesign .rel-grid{ grid-template-columns:1fr; }}
.ni-redesign .rel .ph{ min-height:180px; border:0; border-bottom:1px solid var(--line); }
.ni-redesign .rel .rbody{ padding:20px 22px 24px; }
.ni-redesign .rel h3{ font-size:18px; line-height:1.18; }
.ni-redesign .rel .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); margin-top:12px; letter-spacing:.06em; }
/* report card bridges */
.ni-redesign .report-cover-img img{width:100%;min-height:230px;object-fit:cover;display:block;}
.ni-redesign .report-title .elementor-heading-title{font-size:20px;line-height:1.16;}
.ni-redesign .tag .elementor-heading-title,.ni-redesign .tag.type .elementor-heading-title{font-family:var(--ni-mono) !important;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);}
.ni-redesign .report{height:100%;}
.ni-redesign .rel-title .elementor-heading-title{font-size:18px;line-height:1.18;}

/* team card consistent dimensions */
.ni-redesign .elementor-loop-container>.e-loop-item,.ni-redesign .elementor-loop-container>*{height:100%;}
.ni-redesign .person{display:flex;flex-direction:column;height:100%;gap: 10px;}
.ni-redesign .person-photo{margin-bottom:16px;}
.ni-redesign .person-photo img,.ni-redesign .person-photo .elementor-widget-container,.ni-redesign .person-photo a{display:block;width:100%;}
.ni-redesign .person-photo img{aspect-ratio:4/5;object-fit:cover;}
.ni-redesign .person-name .elementor-heading-title{min-height:1.3em;}

/* ===== WHAT WE DO (scoped) ===== */
.ni-redesign .wd-hero{ padding:170px 0 0; }
.ni-redesign .wd-hero h1{ max-width:14ch; }
.ni-redesign .wd-index{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); margin-top:56px; }
.ni-redesign .wd-index a{ padding:22px 22px 26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.25s var(--ease); display:flex; flex-direction:column; gap:8px; min-height:128px; }
.ni-redesign .wd-index a:nth-child(4n){ border-right:0; }
.ni-redesign .wd-index a:hover{ background:var(--ink-2); }
.ni-redesign .wd-index a .n{ font-family:var(--ni-mono); font-size:12px; color:var(--green); letter-spacing:.1em; }
.ni-redesign .wd-index a .t{ font-family:var(--ni-display); font-weight:600; font-size:18px; line-height:1.1; margin-top:auto; }
@media(max-width:820px){.ni-redesign .wd-index{ grid-template-columns:1fr 1fr; }
.ni-redesign .wd-index a:nth-child(4n){ border-right:1px solid var(--line);}
.ni-redesign .wd-index a:nth-child(2n){ border-right:0;}}
.ni-redesign .svc-row{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,80px); align-items:center; padding-block:clamp(60px,8vw,110px); border-bottom:1px solid var(--line); }
.ni-redesign .svc-row:nth-child(even) .svc-media{ order:2; }
@media(max-width:900px){.ni-redesign .svc-row{ grid-template-columns:1fr; gap:32px; }
.ni-redesign .svc-row:nth-child(even) .svc-media{ order:0; }}
.ni-redesign .svc-media{ position:relative; }
.ni-redesign .svc-media .ph{ min-height:440px; border-radius:var(--r-lg); }
.ni-redesign .svc-media .badge{ position:absolute; top:18px; left:18px; }
.ni-redesign .svc-info .n{ font-family:var(--ni-display); font-weight:800; font-size:clamp(16px,1.6vw,20px); color:var(--green); letter-spacing:-.01em; display:flex; align-items:center; gap:10px; }
.ni-redesign .svc-info h2{ font-size:clamp(28px,3.2vw,42px); margin:12px 0 18px; line-height:1.05; }
.ni-redesign .svc-info p{ color:var(--fg-dim); max-width:50ch; }
.ni-redesign .chips{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.ni-redesign .deliver{ list-style:none; margin-top:28px; display:grid; gap:12px; }
.ni-redesign .deliver li{ display:flex; gap:12px; align-items:flex-start; color:var(--fg-dim); font-size:15.5px; }
.ni-redesign .deliver li::before{ content:"→"; color:var(--green); font-weight:700; }
.ni-redesign .approach{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media(max-width:860px){.ni-redesign .approach{ grid-template-columns:1fr 1fr; }}
@media(max-width:520px){.ni-redesign .approach{ grid-template-columns:1fr; }}
.ni-redesign .step{ padding:30px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--ink-2); }
.ni-redesign .step .s{ font-family:var(--ni-display); font-size:44px; color:var(--green); line-height:1; }
.ni-redesign .step h4{ font-size:20px; margin:18px 0 10px; }
.ni-redesign .step p{ color:var(--fg-mute); font-size:14.5px; }
/* ===== CONTACT + INSIGHTS (scoped) ===== */
/* contact.html */
.ni-redesign .ct-hero{ padding:170px 0 0; }
.ni-redesign .ct-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,80px); align-items:start; }
@media(max-width:880px){.ni-redesign .ct-grid{ grid-template-columns:1fr; gap:46px; }}
.ni-redesign form .field{ margin-bottom:20px; }
.ni-redesign form label{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute); display:block; margin-bottom:9px; }
.ni-redesign form input, .ni-redesign form textarea, .ni-redesign form select{
  width:100%; background:var(--ink-2); border:1px solid var(--line-2); border-radius:12px;
  color:var(--fg); font-family:var(--ni-body); font-size:16px; padding:14px 16px; transition:.2s; }
.ni-redesign form input:focus, .ni-redesign form textarea:focus, .ni-redesign form select:focus{ outline:none; border-color:var(--green); background:var(--ink-3); }
.ni-redesign form textarea{ resize:vertical; min-height:130px; }
.ni-redesign form .err{ color:var(--amber); font-size:13px; margin-top:7px; display:none; }
.ni-redesign form .field.invalid .err{ display:block; }
.ni-redesign form .field.invalid input, .ni-redesign form .field.invalid textarea{ border-color:var(--amber); }
.ni-redesign .sent{ background:var(--green-soft); border:1px solid var(--green); border-radius:14px; padding:18px 20px; color:var(--fg); display:none; margin-bottom:22px; }
.ni-redesign .sent.show{ display:block; }
.ni-redesign .office{ padding:26px 0; border-top:1px solid var(--line); }
.ni-redesign .office:first-of-type{ border-top:0; }
.ni-redesign .office .city{ font-family:var(--ni-display); font-size:22px; }
.ni-redesign .office .tag{ margin-left:10px; vertical-align:middle; }
.ni-redesign .office p{ color:var(--fg-mute); font-size:15px; margin-top:8px; }
.ni-redesign .contact-lines{ display:flex; gap:28px; flex-wrap:wrap; margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.ni-redesign .contact-lines a{ color:var(--fg-dim); }
.ni-redesign .contact-lines b{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute); display:block; margin-bottom:6px; font-weight:400; }
/* insights.html */
.ni-redesign .in-hero{ padding:170px 0 50px; }
.ni-redesign .feature{ display:grid; grid-template-columns:1.1fr .9fr; gap:0; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
@media(max-width:840px){.ni-redesign .feature{ grid-template-columns:1fr; }}
.ni-redesign .feature .ph{ border-radius:0; border:0; min-height:380px; }
.ni-redesign .feature .fbody{ padding:clamp(30px,4vw,52px); display:flex; flex-direction:column; }
.ni-redesign .feature h2{ font-size:clamp(28px,3vw,40px); line-height:1.05; margin:18px 0 16px; }
.ni-redesign .feature p{ color:var(--fg-dim); }
.ni-redesign .feature .meta{ margin-top:auto; padding-top:26px; font-family:var(--ni-mono); font-size:12px; letter-spacing:.06em; color:var(--fg-mute); }
.ni-redesign .filters{ display:flex; flex-wrap:wrap; gap:10px; }
.ni-redesign .filters button{ font-family:var(--ni-body); font-weight:600; font-size:14px; padding:10px 18px; border-radius:100px;
  border:1px solid var(--line-2); background:none; color:var(--fg-dim); cursor:pointer; transition:.2s; }
.ni-redesign .filters button:hover{ color:var(--fg); }
.ni-redesign .filters button.active{ background:var(--green); color:#06140C; border-color:var(--green); }
.ni-redesign .in-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){.ni-redesign .in-grid{ grid-template-columns:1fr 1fr; }}
@media(max-width:600px){.ni-redesign .in-grid{ grid-template-columns:1fr; }}
.ni-redesign .art{ overflow:hidden; cursor:pointer; }
.ni-redesign .art .ph{ border-radius:0; border:0; border-bottom:1px solid var(--line); min-height:200px; }
.ni-redesign .art .abody{ padding:22px 24px 26px; }
.ni-redesign .art .tag{ margin-bottom:13px; display:inline-block; }
.ni-redesign .art h3{ font-size:20px; line-height:1.15; }
.ni-redesign .art .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); letter-spacing:.06em; margin-top:14px; }
.ni-redesign .art[hidden]{ display:none; }
.ni-redesign .reports-cta{ display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; transition:.25s var(--ease); }
.ni-redesign .reports-cta:hover{ filter:brightness(1.08); }
@media(max-width:680px){.ni-redesign .reports-cta{ grid-template-columns:1fr; }}
.ni-redesign .art-title .elementor-heading-title{font-size:20px;line-height:1.15;}
.ni-redesign .art-cover img{min-height:200px;object-fit:cover;width:100%;display:block;}

/* ===== CAREERS+EVENTS+ACADEMY (scoped) ===== */
/* careers.html */
.ni-redesign .ca-hero{ padding:170px 0 0; }
.ni-redesign .ca-hero h1{ max-width:14ch; }
.ni-redesign .perks{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media(max-width:860px){.ni-redesign .perks{ grid-template-columns:1fr 1fr; }}
@media(max-width:480px){.ni-redesign .perks{ grid-template-columns:1fr; }}
.ni-redesign .perk{ padding:28px 26px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--ink-2); }
.ni-redesign .perk .ic{ width:44px;height:44px;border-radius:11px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:20px;margin-bottom:18px; }
.ni-redesign .perk h4{ font-size:18px; margin-bottom:8px; }
.ni-redesign .perk p{ color:var(--fg-mute); font-size:14px; }
.ni-redesign .roles{ display:grid; gap:0; }
.ni-redesign .role{ display:grid; grid-template-columns:1fr auto auto; gap:24px; align-items:center; padding:28px 0; border-top:1px solid var(--line); transition:.2s; }
.ni-redesign .role:last-child{ border-bottom:1px solid var(--line); }
.ni-redesign .role:hover{ background:var(--ink-2); padding-inline:20px; }
.ni-redesign .role h4{ font-size:21px; }
.ni-redesign .role .dept{ color:var(--fg-mute); font-size:14px; margin-top:5px; }
.ni-redesign .role .loc{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-dim); letter-spacing:.06em; }
.ni-redesign .role .apply{ color:var(--green); font-weight:700; font-size:14px; white-space:nowrap; }
@media(max-width:640px){.ni-redesign .role{ grid-template-columns:1fr; gap:8px; }
.ni-redesign .role:hover{ padding-inline:0; }}
/* events.html */
.ni-redesign .ev-hero{ padding:170px 0 50px; }
.ni-redesign .feat-event{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--ink-2); }
@media(max-width:840px){.ni-redesign .feat-event{ grid-template-columns:1fr; }}
.ni-redesign .feat-event .ph{ border:0; border-radius:0; min-height:360px; }
.ni-redesign .feat-event .fe-body{ padding:clamp(30px,4vw,52px); display:flex; flex-direction:column; }
.ni-redesign .feat-event .when{ font-family:var(--ni-mono); font-size:13px; letter-spacing:.1em; color:var(--green); }
.ni-redesign .feat-event h2{ font-size:clamp(28px,3.2vw,44px); line-height:1.04; margin:16px 0 16px; }
.ni-redesign .feat-event p{ color:var(--fg-dim); max-width:48ch; }
.ni-redesign .feat-event .wrap-btns{ margin-top:auto; padding-top:30px; }
.ni-redesign .ev-list{ display:grid; gap:0; }
.ni-redesign .ev-row{ display:grid; grid-template-columns:150px 1fr auto; gap:30px; align-items:center; padding:30px 0; border-top:1px solid var(--line); transition:.2s; }
.ni-redesign .ev-row:last-child{ border-bottom:1px solid var(--line); }
.ni-redesign .ev-row:hover{ background:var(--ink-2); padding-inline:20px; }
.ni-redesign .ev-row .date{ font-family:var(--ni-display); }
.ni-redesign .ev-row .date b{ font-size:30px; display:block; line-height:1; }
.ni-redesign .ev-row .date span{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-mute); letter-spacing:.1em; }
.ni-redesign .ev-row h4{ font-size:21px; }
.ni-redesign .ev-row .loc{ color:var(--fg-mute); font-size:14px; margin-top:5px; }
.ni-redesign .ev-row .tag{ white-space:nowrap; }
@media(max-width:640px){.ni-redesign .ev-row{ grid-template-columns:1fr; gap:10px; }
.ni-redesign .ev-row:hover{ padding-inline:0; }
.ni-redesign .ev-row .tag{ justify-self:start; }}
/* academy.html */
.ni-redesign .ac-hero{ padding:170px 0 0; }
.ni-redesign .ac-hero h1{ max-width:15ch; }
.ni-redesign .split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); align-items:center; }
@media(max-width:880px){.ni-redesign .split{ grid-template-columns:1fr; }}
.ni-redesign .prog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:860px){.ni-redesign .prog-grid{ grid-template-columns:1fr; }}
.ni-redesign .prog{ padding:32px 30px; display:flex; flex-direction:column; min-height:300px; }
.ni-redesign .prog .lvl{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
.ni-redesign .prog h3{ font-size:24px; margin:16px 0 12px; }
.ni-redesign .prog p{ color:var(--fg-mute); font-size:15px; }
.ni-redesign .prog .feats{ list-style:none; margin-top:20px; display:grid; gap:9px; }
.ni-redesign .prog .feats li{ font-size:14px; color:var(--fg-dim); display:flex; gap:10px; }
.ni-redesign .prog .feats li::before{ content:"✓"; color:var(--green); }
.ni-redesign .prog .link-arrow{ margin-top:auto; padding-top:24px; }
.ni-redesign .offer{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
@media(max-width:760px){.ni-redesign .offer{ grid-template-columns:1fr; }}
.ni-redesign .offer .o{ padding:40px 34px; border-right:1px solid var(--line); }
.ni-redesign .offer .o:last-child{ border-right:0; }
.ni-redesign .offer .o b{ font-family:var(--ni-display); font-size:48px; color:var(--green); display:block; line-height:1; }
.ni-redesign .offer .o span{ color:var(--fg-mute); margin-top:12px; display:block; font-size:15px; }
/* ===== MEDIA + ARTICLE + ABOUT (scoped) ===== */
/* media.html */
.ni-redesign .md-hero{ padding:170px 0 50px; }
.ni-redesign .press{ display:grid; gap:0; }
.ni-redesign .pr{ display:grid; grid-template-columns:130px 1fr auto; gap:28px; align-items:center; padding:26px 0; border-top:1px solid var(--line); transition:.2s; }
.ni-redesign .pr:last-child{ border-bottom:1px solid var(--line); }
.ni-redesign .pr:hover{ background:var(--ink-2); padding-inline:20px; }
.ni-redesign .pr .src{ font-family:var(--ni-mono); font-size:12px; color:var(--green); letter-spacing:.08em; }
.ni-redesign .pr h4{ font-size:20px; }
.ni-redesign .pr .date{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-mute); white-space:nowrap; }
@media(max-width:640px){.ni-redesign .pr{ grid-template-columns:1fr; gap:8px; }
.ni-redesign .pr:hover{ padding-inline:0; }}
.ni-redesign .gallery{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:16px; }
.ni-redesign .gallery .ph{ min-height:0; }
.ni-redesign .gallery .ph.wide{ grid-column:span 2; }
.ni-redesign .gallery .ph.tall2{ grid-row:span 2; }
@media(max-width:760px){.ni-redesign .gallery{ grid-template-columns:1fr 1fr; }}
.ni-redesign .kit{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; }
@media(max-width:760px){.ni-redesign .kit{ grid-template-columns:1fr; }}
.ni-redesign .kit .k{ padding:30px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--ink-2); }
.ni-redesign .kit .k h4{ font-size:19px; margin-bottom:8px; }
.ni-redesign .kit .k p{ color:var(--fg-mute); font-size:14px; margin-bottom:18px; }
/* article.html */
.ni-redesign .at-hero{ padding:150px 0 0; }
.ni-redesign .at-head{ max-width:860px; margin:0 auto; text-align:center; }
.ni-redesign .at-head .tag{ color:var(--green); border-color:var(--green); }
.ni-redesign .at-head h1{ font-size:clamp(34px,5.2vw,64px); line-height:1.04; letter-spacing:-.03em; margin:22px 0 24px; }
.ni-redesign .at-byline{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; color:var(--fg-mute); font-size:14.5px; }
.ni-redesign .at-byline .who{ display:flex; align-items:center; gap:11px; }
.ni-redesign .at-byline .av{ width:40px; height:40px; flex:none; border:1px solid var(--line-2);
  background:repeating-linear-gradient(135deg,rgba(50,7,156,.06) 0 2px,transparent 2px 8px),var(--ink-3); }
.ni-redesign .at-byline .who b{ color:var(--fg); font-weight:700; display:block; font-size:14.5px; }
.ni-redesign .at-byline .dot{ width:4px; height:4px; background:var(--fg-mute); }
.ni-redesign .at-cover{ margin-top:clamp(36px,5vw,60px); }
.ni-redesign .at-cover .ph{ min-height:clamp(280px,40vw,540px); }
.ni-redesign .at-cover figcaption{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-mute); margin-top:12px; text-align:center; letter-spacing:.04em; }
.ni-redesign .prose{ max-width:70ch; margin:0 auto; }
.ni-redesign .prose .lead-p{ font-size:clamp(19px,1.8vw,23px); color:var(--fg); line-height:1.55; margin-bottom:28px; font-weight:500; }
.ni-redesign .prose h2{ font-size:clamp(24px,2.6vw,32px); margin:40px 0 16px; }
.ni-redesign .prose p{ color:var(--fg-dim); margin-bottom:22px; font-size:18px; line-height:1.75; }
.ni-redesign .prose .pull{ border-left:3px solid var(--green); padding:6px 0 6px 26px; margin:38px 0; font-family:var(--ni-display);
  font-weight:600; font-size:clamp(22px,2.5vw,32px); line-height:1.25; color:var(--fg); letter-spacing:-.01em; }
.ni-redesign .prose figure{ margin:38px 0; }
.ni-redesign .prose figure .ph{ min-height:300px; }
.ni-redesign .prose figure figcaption{ font-family:var(--ni-mono); font-size:12px; color:var(--fg-mute); margin-top:12px; letter-spacing:.04em; }
.ni-redesign .prose ul{ margin:0 0 24px 0; padding-left:0; list-style:none; display:grid; gap:12px; }
.ni-redesign .prose ul li{ display:flex; gap:12px; color:var(--fg-dim); font-size:18px; }
.ni-redesign .prose ul li::before{ content:"→"; color:var(--green); font-weight:700; }
.ni-redesign .at-foot{ max-width:70ch; margin:48px auto 0; padding-top:30px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ni-redesign .at-share{ display:flex; gap:10px; }
.ni-redesign .at-share a{ width:42px; height:42px; border:1px solid var(--line-2); display:grid; place-items:center; color:var(--fg-dim); transition:.2s; }
.ni-redesign .at-share a:hover{ border-color:var(--green); color:var(--green); }
.ni-redesign .author-card{ max-width:70ch; margin:40px auto 0; border:1px solid var(--line); padding:30px; display:flex; gap:20px; align-items:center; }
.ni-redesign .author-card .av{ width:64px; height:64px; flex:none; border:1px solid var(--line-2);
  background:repeating-linear-gradient(135deg,rgba(50,7,156,.06) 0 2px,transparent 2px 8px),var(--ink-3); }
.ni-redesign .author-card b{ font-family:var(--ni-display); font-size:18px; display:block; }
.ni-redesign .author-card .role{ font-family:var(--ni-mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--green); margin:4px 0 8px; }
.ni-redesign .author-card p{ color:var(--fg-mute); font-size:14.5px; }
.ni-redesign .rel-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:760px){.ni-redesign .rel-grid{ grid-template-columns:1fr; }}
.ni-redesign .rel .ph{ min-height:180px; border:0; border-bottom:1px solid var(--line); }
.ni-redesign .rel .rbody{ padding:20px 22px 24px; }
.ni-redesign .rel h3{ font-size:18px; line-height:1.18; }
.ni-redesign .rel .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); margin-top:12px; letter-spacing:.06em; }
.ni-redesign .at-title .elementor-heading-title{font-size:clamp(34px,5vw,68px);line-height:1.0;letter-spacing:-.03em;}
.ni-redesign .at-cover img{width:100%;display:block;}

/* ====== RESYNC index+about ====== */
/* RESYNC index.html */
.ni-redesign .hero{ position:relative; padding:188px 0 96px; overflow:hidden; }
.ni-redesign .hero-bg{ position:absolute; inset:0; z-index:0; }
.ni-redesign .hero-bg::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(60% 80% at 78% 12%, var(--green-soft), transparent 60%),
    radial-gradient(50% 70% at 10% 90%, var(--amber-soft), transparent 60%);
}
.ni-redesign .hero-grid-lines{ position:absolute; inset:0; opacity:.5; will-change:transform;
  background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg,var(--line) 1px, transparent 1px);
  background-size:64px 64px; mask-image:radial-gradient(80% 70% at 60% 30%, #000, transparent 80%); }
.ni-redesign .hero-glow{ position:absolute; left:46%; top:34%; width:55vw; height:55vw; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(50,7,156,.20), rgba(124,58,237,.06) 46%, transparent 66%);
  pointer-events:none; z-index:0; will-change:left,top; }
.ni-redesign .hero-media .ph{ transition:transform .3s var(--ease); will-change:transform; }
.ni-redesign .hero-inner{ position:relative; z-index:2; }
.ni-redesign .hero h1{ font-size:clamp(36px, 10vw, 90px); line-height:1.25 !important;max-width:75%;}
.ni-redesign .hero h1 .kin{ display:inline-block; color:var(--green); }
.ni-redesign .hero h1 .kin.amber{ color:var(--amber); }
.ni-redesign .hero-tagline{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 26px; padding-bottom:22px;
  border-bottom:1px solid var(--line); position:relative; }
.ni-redesign .hero-tagline::after{ content:""; position:absolute; left:0; bottom:-1px; height:2px; width:120px;
  background:linear-gradient(90deg, var(--green), var(--amber)); border-radius:2px; }
.ni-redesign .hero-tagline .seg{ display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  font-family:var(--ni-display); font-weight:600; font-size:clamp(14px,1.45vw,18px); letter-spacing:-.01em; color:var(--on-deep); }
.ni-redesign .hero-tagline .seg b{ font-weight:800; color:var(--on-deep-dim); }
.ni-redesign .hero-tagline .dia{ width:9px; height:9px; flex:none; background:var(--on-deep-dim); transform:rotate(45deg);
  box-shadow:0 0 0 4px var(--green-soft); animation:diaPulse 2.6s var(--ease) infinite; }
.ni-redesign .hero-tagline .seg:nth-child(2) .dia{ animation-delay:.5s; }
.ni-redesign .hero-tagline .seg:nth-child(3) .dia{ animation-delay:1s; }
@keyframes diaPulse{ 0%,100%{ box-shadow:0 0 0 3px var(--green-soft);} 50%{ box-shadow:0 0 0 7px transparent;} }
.ni-redesign .hero-sub{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,56px); align-items:center; margin-top:0; }
.ni-redesign .hero-sub .lead{ max-width:48ch; }
.ni-redesign .hero-media{ position:relative; }
.ni-redesign .hero-media .ph{ min-height:clamp(280px,32vw,420px); border-radius:var(--r-lg); }
.ni-redesign .hero-media .ph .ph-tag{ background:rgba(255,255,255,.7); backdrop-filter:blur(2px); }
.ni-redesign .hero-media-badge{ position:absolute; left:-14px; bottom:-14px; background:var(--green); color:#fff;
  padding:18px 22px; border-radius:16px; box-shadow:0 18px 40px rgba(50,7,156,.30); display:flex; align-items:center; gap:14px; }
.ni-redesign .hero-media-badge b{ font-family:var(--ni-display); font-weight:800; font-size:40px; line-height:1; }
.ni-redesign .hero-media-badge span{ font-size:12.5px; line-height:1.25; color:#E8DEFF; }
.ni-redesign .hero .kicker .elementor-heading-title{font-size:14px;}
@media(max-width:820px){.ni-redesign .hero h1{max-width:100%;}.ni-redesign .hero-sub{ grid-template-columns:1fr; gap:30px; }
.ni-redesign .hero-media-badge{ left:auto; right:14px; }}
.ni-redesign .hero-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:clamp(40px,5vw,64px);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--ink-2); }
.ni-redesign .hero-stats .hstat{ padding:clamp(22px,2.6vw,34px) clamp(20px,2.4vw,34px); position:relative; }
.ni-redesign .hero-stats .hstat:not(:last-child){ border-right:1px solid var(--line); }
.ni-redesign .hero-stats .hstat::before{ content:""; position:absolute; left:0; top:0; height:3px; width:46px; background:var(--green); }
.ni-redesign .hero-stats .hnum{ font-family:var(--ni-display); font-weight:800; font-size:clamp(36px,5.5vw,68px); line-height:1; letter-spacing:-.03em; color:var(--green); }
.ni-redesign .hero-stats .hnum i{ font-style:normal; color:var(--amber); }
.ni-redesign .hero-stats .hlbl{ margin-top:10px; font-weight:600; font-size:clamp(14px,1.3vw,16px); color:var(--fg-dim); }
@media(max-width:680px){.ni-redesign .hero-stats{ grid-template-columns:1fr; }
.ni-redesign .hero-stats .hstat:not(:last-child){ border-right:0; border-bottom:1px solid var(--line); }}
@media(max-width:820px){.ni-redesign .hero-sub{ grid-template-columns:1fr; gap:24px; }}
.ni-redesign .marquee{ border-block:1px solid var(--line); padding:22px 0; overflow:hidden; background:var(--ink-2); }
.ni-redesign .marquee-track{ display:flex; gap:54px; white-space:nowrap; animation:scrollx 40s linear infinite; width:max-content; }
.ni-redesign .marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes scrollx{ to{ transform:translateX(-50%); } }
.ni-redesign .marquee span{ font-family:var(--ni-display); font-size:22px; font-weight:600; color:var(--fg-dim); display:inline-flex; align-items:center; gap:54px; }
.ni-redesign .marquee span::after{ content:"◆"; color:var(--green); font-size:11px; }
.ni-redesign .stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ni-redesign .stats .stat{ position:relative; padding:34px 32px 30px; border:0 solid var(--line); background:var(--ink);
  overflow:hidden; transition:.3s var(--ease); }
.ni-redesign .stats .stat::before{ content:""; position:absolute; left:0; top:0; height:4px; width:0; background:linear-gradient(90deg,var(--green),var(--amber)); transition:width .6s var(--ease); }
.ni-redesign .stats .stat.in::before{ width:100%; }
.ni-redesign .stats .stat::after{ content:attr(data-idx); position:absolute; right:18px; bottom:6px; font-family:var(--ni-display);
  font-weight:800; font-size:120px; line-height:1; color:var(--green); opacity:.05; pointer-events:none; }
.ni-redesign .stats .stat:hover{ transform:translateY(-5px); border-color:color-mix(in srgb,var(--green) 40%,var(--line)); box-shadow:0 24px 50px rgba(50,7,156,.10); }
.ni-redesign .stats .eyebrow{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:9px; margin-bottom:20px; }
.ni-redesign .stats .eyebrow::before{ content:""; width:7px; height:7px; background:var(--green); border-radius:50%; }
.ni-redesign .stats .num{ font-family:var(--ni-display); font-weight:800; font-size:clamp(56px,7vw,86px); line-height:.9; letter-spacing:-.04em;
  background:linear-gradient(135deg,var(--green),var(--amber)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ni-redesign .stats .num .u{ -webkit-text-fill-color:var(--amber); }
.ni-redesign .stats .lbl{ color:var(--fg-dim); margin-top:18px; font-size:15.5px; max-width:30ch; position:relative; z-index:1; }
@media(max-width:760px){.ni-redesign .stats{ grid-template-columns:1fr; }}
.ni-redesign .svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:900px){.ni-redesign .svc-grid{ grid-template-columns:1fr 1fr; }}
@media(max-width:600px){.ni-redesign .svc-grid{ grid-template-columns:1fr; gap:14px; }}
.ni-redesign .svc{ padding:30px; min-height:300px; display:flex; flex-direction:column; }
/* Compact "What We Do" cards on mobile (client: boxes too bulky) */
@media(max-width:600px){
  .ni-redesign .svc-grid .svc{ padding:20px; min-height:0; }
  .ni-redesign .svc-grid .svc h3{ font-size:19px; margin:10px 0 8px; }
  .ni-redesign .svc-grid .svc p{ font-size:14px; }
  .ni-redesign .svc-grid .svc .num{ font-size:11px; }
  .ni-redesign .svc-grid .svc .link-arrow{ padding-top:14px; }
}
.ni-redesign .svc .num{ font-family:var(--ni-mono); font-size:12px; color:var(--green); letter-spacing:.12em; }
.ni-redesign .svc h3{ font-size:25px; margin:20px 0 12px; }
.ni-redesign .svc p{ color:var(--fg-mute); font-size:15px; }
.ni-redesign .svc .link-arrow{ margin-top:auto; padding-top:22px; font-size:14px; }
.ni-redesign .svc.feat{ background:linear-gradient(165deg, var(--ink-3), var(--ink-2)); }
.ni-redesign .split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); align-items:center; }
@media(max-width:880px){.ni-redesign .split{ grid-template-columns:1fr; }}
.ni-redesign .ins-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px){.ni-redesign .ins-grid{ grid-template-columns:1fr; max-width:560px; }}
.ni-redesign .ins{ overflow:hidden; }
.ni-redesign .ins .ph{ border-radius:0; border:0; border-bottom:1px solid var(--line); min-height:220px; }
.ni-redesign .ins .ins-body{ padding:24px 26px 28px; }
.ni-redesign .ins .tag{ margin-bottom:14px; display:inline-block; }
.ni-redesign .ins h3{ font-size:22px; line-height:1.12; }
.ni-redesign .ins .meta{ font-family:var(--ni-mono); font-size:11px; color:var(--fg-mute); letter-spacing:.08em; margin-top:16px; }
.ni-redesign .clients{ display:flex; flex-wrap:wrap; gap:18px; }
.ni-redesign .client{ flex:1 1 200px; min-height:104px; border:0 solid var(--line); border-radius:var(--r); display:grid; place-items:center; background:var(--ink); padding:18px; }
.ni-redesign .client .ph-tag{ border:0; }
.ni-redesign .client-logo{ max-height:100px; max-width:90%; width:auto; object-fit:contain; }
/* Hero using Elementor native background slideshow — hide the old decorative frame/glow so the photo slideshow reads clean behind the text (durable: survives Elementor editor saves) */
.ni-redesign .hero-slides-native .hero-media,
.ni-redesign .hero-slides-native .hero-glow,
.ni-redesign .hero-slides-native .hero-grid-lines,
.ni-redesign .hero-slides-native .hero-bg{ display:none !important; }
.ni-redesign .hero-slides-native .hero-inner{ max-width:none; position:relative; z-index:3; }
/* readable gradient overlay painted over the slideshow images, under the text */
.ni-redesign .hero-slides-native .elementor-background-slideshow::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(100deg, rgb(0 0 0 / 75%) 0%, rgb(0 0 0 / 70%) 42%, rgb(0 0 0 / 30%) 74%, rgb(0 0 0 / 0%) 100%);}
@media(max-width:760px){ .ni-redesign .hero-slides-native .elementor-background-slideshow::after{ background:linear-gradient(180deg, rgb(0 0 0 / 57%) 0%, rgb(0 0 0 / 75%) 52%, rgb(0 0 0 / 50%) 100%); } }
/* Partner logos carousel (auto-scroll, seamless loop, pause on hover) */
.ni-redesign .clients-carousel{ display:block; flex-wrap:nowrap; overflow:hidden; position:relative; width:100%; padding:0; -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.ni-redesign .clients-carousel .clients-track{ display:flex; flex-wrap:nowrap; width:max-content; gap:0; align-items:stretch; animation:ni-logos-scroll var(--ni-logo-speed,28s) linear infinite; }
.ni-redesign .clients-carousel .client{ flex:0 0 auto; width:220px; margin-right:14px; }
.ni-redesign .clients-carousel:hover .clients-track{ animation-play-state:paused; }
@keyframes ni-logos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){ .ni-redesign .clients-carousel .clients-track{ animation:none; } }
@media(max-width:600px){ .ni-redesign .clients-carousel .client{ width:160px; margin-right:12px; } }
/* RESYNC about.html */
.ni-redesign .ab-hero{ padding:170px 0 0; }
.ni-redesign .ab-hero h1{ max-width:16ch; }
.ni-redesign .big-statement{ font-family:var(--ni-display); font-weight:500; font-size:clamp(24px,3.2vw,48px); line-height:1.12; letter-spacing:-.02em; max-width:24ch; }
.ni-redesign .big-statement em{ font-style:normal; color:var(--green); }
.ni-redesign .two-col{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); }
@media(max-width:860px){.ni-redesign .two-col{ grid-template-columns:1fr; gap:30px; }}
.ni-redesign .pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:820px){.ni-redesign .pillars{ grid-template-columns:1fr; }}
.ni-redesign .pillar{ padding:34px 30px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--ink-2); }
.ni-redesign .pillar .ic{ width:48px; height:48px; border-radius:12px; background:var(--green-soft); display:grid; place-items:center; color:var(--green); font-size:22px; margin-bottom:22px; }
.ni-redesign .pillar.amber .ic{ background:var(--amber-soft); color:var(--amber); }
.ni-redesign .pillar h3{ font-size:23px; margin-bottom:12px; }
.ni-redesign .pillar p{ color:var(--fg-mute); font-size:15px; }
.ni-redesign .values{ display:grid; grid-template-columns:repeat(2,1fr); }
.ni-redesign .values .v{ padding:34px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:64px 1fr; gap:20px; }
.ni-redesign .values .v:nth-child(odd){ padding-right:40px; border-right:1px solid var(--line); }
.ni-redesign .values .v:nth-child(even){ padding-left:40px; }
@media(max-width:680px){.ni-redesign .values{ grid-template-columns:1fr; }
.ni-redesign .values .v{ padding:26px 0 !important; border-right:0 !important; }}
.ni-redesign .values .v .n{ font-family:var(--ni-mono); color:var(--green); font-size:14px; }
.ni-redesign .values .v h4{ font-size:21px; margin-bottom:8px; }
.ni-redesign .values .v p{ color:var(--fg-mute); font-size:15px; }
.ni-redesign .timeline{ display:grid; gap:0; }
.ni-redesign .tl{ display:grid; grid-template-columns:120px 1fr; gap:30px; padding:30px 0; border-top:1px solid var(--line); }
.ni-redesign .tl .yr{ font-family:var(--ni-display); font-size:30px; color:var(--green); }
.ni-redesign .tl h4{ font-size:21px; margin-bottom:8px; }
.ni-redesign .tl p{ color:var(--fg-mute); font-size:15px; max-width:60ch; }
@media(max-width:560px){.ni-redesign .tl{ grid-template-columns:1fr; gap:8px; }}
.ni-redesign .stat .eyebrow{font-family:var(--ni-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:10px;display:block;}
.ni-redesign .big-statement em{font-style:normal;color:var(--green);}

/* ===== RESYNC careers ===== */
.ni-redesign .ca-hero{ padding:170px 0 0; }
.ni-redesign .ca-hero h1{ max-width:14ch; }
.ni-redesign .perks{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media(max-width:860px){.ni-redesign .perks{ grid-template-columns:1fr 1fr; }}
@media(max-width:480px){.ni-redesign .perks{ grid-template-columns:1fr; }}
.ni-redesign .perk{ padding:28px 26px; border:1px solid var(--line); border-radius:var(--r-lg); background:var(--ink-2); }
.ni-redesign .perk .ic{ width:44px;height:44px;border-radius:11px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-size:20px;margin-bottom:18px; }
.ni-redesign .perk h4{ font-size:18px; margin-bottom:8px; }
.ni-redesign .perk p{ color:var(--fg-mute); font-size:14px; }
.ni-redesign .cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:860px){.ni-redesign .cats{ grid-template-columns:1fr; }}
.ni-redesign .cat{ padding:36px 32px; border:1px solid var(--line); background:var(--ink-2); display:flex; flex-direction:column; transition:.25s var(--ease); }
.ni-redesign .cat:hover{ border-color:var(--green); transform:translateY(-4px); }
.ni-redesign .cat .n{ font-family:var(--ni-display); font-weight:800; font-size:13px; letter-spacing:.04em; color:var(--green); }
.ni-redesign .cat h3{ font-size:27px; margin:14px 0 14px; }
.ni-redesign .cat p{ color:var(--fg-dim); font-size:15.5px; flex:1; }
.ni-redesign .cat .term{ display:inline-flex; align-items:center; gap:8px; font-family:var(--ni-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-mute); margin-top:20px; }
.ni-redesign .cat .term::before{ content:""; width:7px; height:7px; background:var(--green); border-radius:50%; }
.ni-redesign .cat .btn{ margin-top:24px; align-self:flex-start; }
.ni-redesign .apply-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(36px,5vw,72px); align-items:start; }
@media(max-width:880px){.ni-redesign .apply-wrap{ grid-template-columns:1fr; gap:40px; }}
.ni-redesign form .field{ margin-bottom:20px; }
.ni-redesign form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:520px){.ni-redesign form .row2{ grid-template-columns:1fr; }}
.ni-redesign form label{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute); display:block; margin-bottom:9px; }
.ni-redesign form input, .ni-redesign form textarea, .ni-redesign form select{ width:100%; background:#fff; border:1px solid var(--line-2); color:var(--fg); font-family:var(--ni-body); font-size:16px; padding:14px 16px; transition:.2s; }
.ni-redesign form input:focus, .ni-redesign form textarea:focus, .ni-redesign form select:focus{ outline:none; border-color:var(--green); background:var(--ink-3); }
.ni-redesign form textarea{ resize:vertical; min-height:120px; }
.ni-redesign form .err{ color:var(--amber); font-size:13px; margin-top:7px; display:none; }
.ni-redesign form .field.invalid .err{ display:block; }
.ni-redesign form .field.invalid input, .ni-redesign form .field.invalid select, .ni-redesign form .field.invalid textarea{ border-color:var(--amber); }
.ni-redesign .sent{ background:var(--green-soft); border:1px solid var(--green); padding:18px 20px; color:var(--fg); display:none; margin-bottom:22px; }
.ni-redesign .sent.show{ display:block; }
.ni-redesign .apply-aside .ac{ padding:26px 0; border-top:1px solid var(--line); }
.ni-redesign .apply-aside .ac:first-of-type{ border-top:0; padding-top:0; }
.ni-redesign .apply-aside .ac h4{ font-size:18px; margin-bottom:6px; }
.ni-redesign .apply-aside .ac p{ color:var(--fg-mute); font-size:14.5px; }
/* ===== equal-height grids + empty states ===== */
.ni-redesign .elementor-loop-container{align-items:stretch;}
.ni-redesign .elementor-loop-container>.e-loop-item,.ni-redesign .elementor-loop-container>div{height:100%;}
.ni-redesign .card.art,.ni-redesign .card.report,.ni-redesign .card.ins,.ni-redesign .art,.ni-redesign .report,.ni-redesign .ins,.ni-redesign .person{height:100%;display:flex;flex-direction:column;}
.ni-redesign .art .abody,.ni-redesign .report .rbody,.ni-redesign .ins .ins-body{flex:1 1 auto;}
.ni-redesign .ins-grid,.ni-redesign .rp-grid,.ni-redesign .in-grid,.ni-redesign .lead-grid,.ni-redesign .rel-grid{align-items:stretch;}
.ni-redesign .e-loop-nothing-found,.ni-redesign .elementor-loop-container__no-posts,.ni-redesign .ni-empty{grid-column:1 / -1;width:100%;padding:46px 24px;text-align:center;border:1px dashed var(--line-2);background:var(--ink-2);color:var(--fg-mute);font-family:var(--ni-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;}

/* ===== dynamic feature blocks ===== */
.ni-redesign .feature-cover img,.ni-redesign .fe-cover img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block;}
.ni-redesign .feature-cover,.ni-redesign .fe-cover{height:100%;}
.ni-redesign .feature-title .elementor-heading-title{font-size:clamp(28px,3vw,40px);line-height:1.05;margin:14px 0 14px;}
.ni-redesign .fe-title .elementor-heading-title{font-size:clamp(28px,3.2vw,44px);line-height:1.04;margin:14px 0 14px;}
.ni-redesign .feature .elementor-widget-theme-post-excerpt,.ni-redesign .feat-event .elementor-widget-theme-post-excerpt{color:var(--fg-dim);}
.ni-redesign .feature .elementor-loop-container,.ni-redesign .feat-event-wrap .elementor-loop-container{--e-loop-content-gap:0;}

/* ===== refinements pass ===== */
/* 3-line clamp on card headings across grids */
.ni-redesign .ins h3, .ni-redesign .art h3, .ni-redesign .art-title .elementor-heading-title, .ni-redesign .report h3, .ni-redesign .report-title .elementor-heading-title, .ni-redesign .rel h3, .ni-redesign .feature-title .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
/* home stats: give the stat boxes breathing room */
.ni-redesign .stats .stat{padding-top:22px;padding-bottom:22px;}
.ni-redesign .stats .stat .eyebrow{margin-bottom:14px;}
/* reduce gap between Who-we-are (intro) and stats */
.ni-redesign .ni-intro-tight{padding-bottom:24px !important;}
/* careers hero: space between hero text and the image band */
.ni-redesign .ca-hero{padding-bottom:8px;}
.ni-redesign .ca-photo{padding-top:clamp(40px,5vw,72px) !important;}
/* banner: extend grid + glow to the whole banner (remove the partial mask) */
.ni-redesign .hero-grid-lines{mask-image:none !important;-webkit-mask-image:none !important;opacity:.35;}
.ni-redesign .hero-glow{width:80vw;height:80vw;}
.ni-redesign .hero-inner{transition:transform .25s var(--ease);will-change:transform;}

/* read-link buttons styled as link-arrow + clickable cards */
.ni-redesign .as-link .elementor-button{background:transparent !important;color:var(--green) !important;padding:0 !important;font-weight:700;font-size:14px;border:0;}
.ni-redesign .as-link .elementor-button:hover{background:transparent !important;}
.ni-redesign .person-photo a,.ni-redesign .feature-cover a,.ni-redesign .art-cover a,.ni-redesign .report-cover-img a{display:block;}

/* ===== button + clamp + stats hardening ===== */
.ni-redesign .elementor-button{background-color:var(--green) !important;color:#fff !important;}
.ni-redesign .e-btn-ghost .elementor-button{background-color:transparent !important;color:var(--on-deep) !important;border:1px solid var(--on-deep) !important;}
.ni-redesign .e-btn-ghost .elementor-button:hover{border-color:var(--green) !important;color:var(--green) !important;}
.ni-redesign .as-link .elementor-button{background-color:transparent !important;color:var(--green) !important;padding:0 !important;font-size:14px !important;border:0 !important;}
.ni-redesign .as-link .elementor-button .elementor-button-icon{color:var(--green) !important;}
/* clamp ALL loop card titles to 3 lines */
.ni-redesign .elementor-loop-container .elementor-heading-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
/* stats: consistent padding incl left on first box */
.ni-redesign .stats .stat{padding:24px 30px !important;}

/* loop-grid: dont let design grid classes turn the WIDGET into a grid (Elementor's inner container handles columns) */
.ni-redesign .elementor-widget-loop-grid{display:block !important;}
.ni-redesign .elementor-widget-loop-grid > .elementor-widget-container{display:block !important;}

/* Rotating headline word */
.ni-redesign .ni-rotate{display:inline-block;min-width:1ch;will-change:transform,opacity;}

/* Media CPT gallery tiles (Press & Coverage) */
.ni-redesign .ni-media-gallery{ display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:240px; gap:16px; }
.ni-redesign .ni-media-gallery.is-empty{ display:block; color:var(--fg-mute); font-family:var(--ni-mono); font-size:13px; padding:24px 0; border-top:1px solid var(--line); }
.ni-redesign .nmg-tile{ position:relative; display:block; overflow:hidden; border-radius:6px; background:var(--ink-2) center/cover no-repeat; border:1px solid var(--line); text-decoration:none; isolation:isolate; transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s; }
.ni-redesign .nmg-tile:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.ni-redesign .nmg-shade{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,10,9,.05) 0%,rgba(7,10,9,.35) 45%,rgba(7,10,9,.86) 100%); z-index:1; }
.ni-redesign .nmg-outlet{ position:absolute; top:14px; left:14px; z-index:2; font-family:var(--ni-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:rgba(7,10,9,.55); padding:5px 9px; border-radius:4px; backdrop-filter:blur(4px); }
.ni-redesign .nmg-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#06231a; box-shadow:0 8px 24px rgba(0,0,0,.3); transition:transform .3s; }
.ni-redesign .nmg-tile:hover .nmg-play{ transform:translate(-50%,-50%) scale(1.08); }
.ni-redesign .nmg-title{ position:absolute; left:16px; right:16px; bottom:14px; z-index:2; color:#fff; font-family:var(--ni-display); font-weight:600; font-size:17px; line-height:1.25; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:760px){ .ni-redesign .ni-media-gallery{ grid-template-columns:1fr 1fr; grid-auto-rows:200px; } }
@media(max-width:460px){ .ni-redesign .ni-media-gallery{ grid-template-columns:1fr; } }

/* NI Rotating Heading widget default size (overridable via the widget's Font size control) */
.ni-redesign .nie-rot{ font-size:clamp(36px,7vw,98px); }

/* Elementor Pro Forms — match the NI design system */
.ni-redesign .elementor-form .elementor-field-group{ margin-bottom:20px; }
.ni-redesign .elementor-form .elementor-field-label{ font-family:var(--ni-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fg-mute); margin-bottom:9px; padding:0; line-height:1.3; }
.ni-redesign .elementor-form .elementor-field-textual{ width:100%; background:#fff; border:1px solid var(--line-2); border-radius:0; color:var(--fg); font-family:var(--ni-body); font-size:16px; padding:14px 16px; line-height:1.4; transition:.2s; box-shadow:none; height:auto; }
.ni-redesign .elementor-form .elementor-field-textual:focus{ outline:none; border-color:var(--green); background:var(--ink-3); box-shadow:none; }
.ni-redesign .elementor-form textarea.elementor-field-textual{ resize:vertical; min-height:130px; }
.ni-redesign .elementor-form .elementor-field-type-upload .elementor-field{ padding:10px 0; font-family:var(--ni-body); font-size:14px; color:var(--fg-mute); }
.ni-redesign .elementor-form .elementor-field-required .elementor-field-label:after{ content:" *"; color:var(--amber); }
.ni-redesign .elementor-form .elementor-button{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--ni-body); font-weight:700; font-size:16px; padding:18px 34px; border-radius:100px !important; border:1px solid transparent; background:var(--green); color:#fff; cursor:pointer; transition:.25s var(--ease); }
.ni-redesign .elementor-form .elementor-button:hover{ background:var(--green-d); }
.ni-redesign .elementor-form .elementor-field-type-submit{ margin-top:6px; }
.ni-redesign .elementor-message{ margin-top:16px; font-size:14px; }
.ni-redesign .elementor-message.elementor-message-success{ color:var(--green); }
.ni-redesign .elementor-message.elementor-message-danger{ color:var(--amber); }
/* Contact Form 7 — match the design form styling */
.ni-redesign .wpcf7 form.wpcf7-form{ margin:0; }
.ni-redesign .wpcf7 .wpcf7-form-control-wrap{ display:block; }
.ni-redesign .wpcf7 input[type=submit]{ width:auto; cursor:pointer; }
.ni-redesign .wpcf7-not-valid-tip{ color:var(--amber); font-size:13px; margin-top:7px; }
.ni-redesign .wpcf7 .wpcf7-response-output{ margin:18px 0 0; border:1px solid var(--line-2); border-radius:0; padding:14px 18px; font-size:14px; }
.ni-redesign .wpcf7 form.sent .wpcf7-response-output{ border-color:var(--green); background:var(--green-soft); color:var(--fg); }
.ni-redesign .wpcf7 form.invalid .wpcf7-response-output, .ni-redesign .wpcf7 form.failed .wpcf7-response-output{ border-color:var(--amber); color:var(--fg); }

/* NI Services — interactive hover/tap reveal list */
.ni-redesign .ni-services{ border-top:1px solid var(--line); }
.ni-redesign .ni-services .svc{ border-bottom:1px solid var(--line); padding:0 !important; min-height:0 !important; display:block !important; }
.ni-redesign .ni-services .svc-head{ width:100%; display:flex; align-items:center; gap:22px; padding:26px 6px; background:none; border:0; cursor:pointer; text-align:left; color:var(--fg); transition:background .25s var(--ease), padding .25s var(--ease); }
.ni-redesign .ni-services .svc:hover .svc-head, .ni-redesign .ni-services .svc.open .svc-head{ background:var(--ink-2); padding-inline:22px; }
.ni-redesign .ni-services .svc-n{ font-family:var(--ni-mono); font-size:13px; letter-spacing:.06em; color:var(--green); flex:0 0 auto; }
.ni-redesign .ni-services .svc-title{ flex:1; font-family:var(--ni-display); font-weight:600; font-size:clamp(21px,2.6vw,30px); line-height:1.1; letter-spacing:-.01em; }
.ni-redesign .ni-services .svc-ico{ position:relative; width:22px; height:22px; flex:0 0 auto; }
.ni-redesign .ni-services .svc-ico::before,.ni-redesign .ni-services .svc-ico::after{ content:""; position:absolute; top:50%; left:50%; background:var(--fg); transition:.25s var(--ease); }
.ni-redesign .ni-services .svc-ico::before{ width:16px; height:2px; transform:translate(-50%,-50%); }
.ni-redesign .ni-services .svc-ico::after{ width:2px; height:16px; transform:translate(-50%,-50%); }
.ni-redesign .ni-services .svc:hover .svc-ico::after, .ni-redesign .ni-services .svc.open .svc-ico::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.ni-redesign .ni-services .svc-body{ overflow:hidden; max-height:0; transition:max-height .35s var(--ease); }
.ni-redesign .ni-services .svc:hover .svc-body, .ni-redesign .ni-services .svc.open .svc-body{ max-height:var(--svc-h,720px); }
.ni-redesign .ni-services .svc-inner{ padding:2px 6px 28px; }
.ni-redesign .ni-services .svc:hover .svc-inner, .ni-redesign .ni-services .svc.open .svc-inner{ padding-inline:22px; }
.ni-redesign .ni-services .svc-inner p{ max-width:66ch; color:var(--fg-dim); font-size:16.5px; margin-bottom:14px; }
@media(hover:none){ .ni-redesign .ni-services .svc:hover .svc-body{ max-height:0; } .ni-redesign .ni-services .svc.open .svc-body{ max-height:var(--svc-h,720px); } .ni-redesign .ni-services .svc:hover .svc-head{ background:none; padding-inline:6px; } .ni-redesign .ni-services .svc.open .svc-head{ background:var(--ink-2); padding-inline:22px; } }
/* Smoother reveal on mobile: tighter head padding, snappier title, respect reduced-motion */
@media(max-width:600px){
  .ni-redesign .ni-services .svc-head{ gap:14px; padding:20px 4px; }
  .ni-redesign .ni-services .svc:hover .svc-head, .ni-redesign .ni-services .svc.open .svc-head{ padding-inline:14px; }
  .ni-redesign .ni-services .svc-inner{ padding:2px 4px 22px; }
  .ni-redesign .ni-services .svc:hover .svc-inner, .ni-redesign .ni-services .svc.open .svc-inner{ padding-inline:14px; }
  .ni-redesign .ni-services .svc-inner p{ font-size:15px; }
}
@media(prefers-reduced-motion:reduce){ .ni-redesign .ni-services .svc-body{ transition:none; } }

/* Hero top padding on mobile (client request: 110px) */
@media(max-width:767px){ .ni-redesign .hero{ padding-top:110px; } }

/* NI Hero Slider — cross-fading photo backdrop */
.ni-redesign .hero-slider{ position:relative; }
.ni-redesign .hero-slider .hs-slides{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.ni-redesign .hero-slider .hs-slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.4s ease; will-change:opacity; }
.ni-redesign .hero-slider .hs-slide.is-active{ opacity:1; }
.ni-redesign .hero-slider .hs-shade{ position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(247,246,251,.95) 0%, rgba(247,246,251,.85) 40%, rgba(247,246,251,.5) 72%, rgba(247,246,251,.25) 100%); }
.ni-redesign .hero-slider .hero-inner{ position:relative; z-index:2; }
@media(max-width:760px){ .ni-redesign .hero-slider .hs-shade{ background:linear-gradient(180deg, rgba(247,246,251,.9) 0%, rgba(247,246,251,.82) 55%, rgba(247,246,251,.68) 100%); } }

/* Toggle helper: hide an element without deleting it (remove class to restore) */
.ni-redesign .ni-hidden{ display:none !important; }

/* Team cards: strip Careers roles-table styling that bleeds in via the shared .role class (Amam: remove separator lines + tighten role/name gap) */
.ni-redesign .person .role{ display:block !important; padding:0 !important; border-top:0 !important; border-bottom:0 !important; grid-template-columns:none !important; margin-top:0 !important; }
.ni-redesign .person .role:hover{ background:none !important; padding-inline:0 !important; }
.ni-redesign .person .person-name .elementor-heading-title{ margin-top:0 !important; margin-bottom:0 !important; }
