/* Insights + Team — adapted from Optitech / Consultex / Untitled UI structure
   Brand: Zatra red / black / white only. No purple gradients, no orange filters. */
:root{
  --it-ink:#0b1220;
  --it-muted:#5b6575;
  --it-line:rgba(11,18,32,.1);
  --it-soft:#f4f5f7;
  --it-panel:#fff;
  --it-red:#ed0000;
  --it-red-deep:#b80000;
  --it-dark:#07111f;
  --it-dark-2:#0e1828;
  --it-radius:18px;
  --it-radius-sm:12px;
  --it-ease:cubic-bezier(.22,.8,.24,1);
}

.insights-page .zatra-breadcrumbs,
.team-page .zatra-breadcrumbs{margin-bottom:0;padding-block:.75rem}

/* ========== Centered hero (Team — Untitled UI stacked title) ========== */
.it-hero{
  padding:clamp(2.5rem,6vw,4.25rem) 0 clamp(2rem,4vw,3rem);
  background:
    radial-gradient(ellipse 55% 70% at 0% 0%, rgba(237,0,0,.06), transparent 55%),
    radial-gradient(ellipse 45% 60% at 100% 0%, rgba(7,17,31,.05), transparent 50%),
    #fff;
  border-bottom:1px solid var(--it-line);
  text-align:center;
}
.it-hero-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:48rem;
  margin:0 auto;
  text-align:center;
}
.team-page .it-hero .it-kicker{
  margin-left:0;
  margin-right:0;
}
.it-hero h1{
  margin:0 0 .9rem;
  max-width:40rem;
  font:var(--zatra-h1-weight,800) var(--zatra-h1-size,clamp(40px,4.8vw,72px))/var(--zatra-h1-lh,1) var(--title,Montserrat,sans-serif);
  letter-spacing:var(--zatra-h1-ls,-.058em);
  color:var(--it-ink);
  text-wrap:balance;
}
.it-hero-lede{
  margin:0 auto 1.35rem;
  max-width:40rem;
  font-size:clamp(1rem,1.25vw,1.12rem);
  line-height:1.55;
  color:var(--it-muted);
  text-wrap:pretty;
}
.it-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
  margin-bottom:1.1rem;
}
.it-hero-contact{
  margin:0;
  font-size:.9rem;
  color:var(--it-ink);
}
.it-hero-contact a{font-weight:700;color:var(--it-ink);text-decoration:none}
.it-hero-contact a:hover{color:var(--it-red)}

/* ========== Consultex split hero (Insights) ==========
   Text LEFT · media RIGHT. Left pad aligns to --container-x / 1200px shell. */
.it-split-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  min-height:min(72vh,560px);
  background:linear-gradient(160deg,#f7f7f8 0%,#ececef 55%,#f3e8e8 100%);
  border-bottom:1px solid var(--it-line);
}
.it-split-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin:0;
  padding:
    clamp(1.75rem,4vw,3rem)
    clamp(1.25rem,3vw,2.5rem)
    clamp(1.75rem,4vw,3rem)
    max(var(--container-x, clamp(18px,4vw,34px)), calc((100vw - var(--max, 1200px)) / 2));
  text-align:left;
}
.it-kicker{
  display:inline-block;
  margin:0 0 .75rem;
  font:700 .72rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--it-red);
  text-align:left;
}
.it-split-hero h1{
  margin:0 0 .75rem;
  font:var(--zatra-h1-weight,800) var(--zatra-h1-size,clamp(40px,4.8vw,72px))/var(--zatra-h1-lh,1) var(--title,Montserrat,sans-serif);
  letter-spacing:var(--zatra-h1-ls,-.058em);
  color:var(--it-ink);
  max-width:14ch;
  text-align:left;
  align-self:flex-start;
}
.it-split-hero-lede{
  margin:0 0 1.15rem;
  font-size:clamp(1rem,1.3vw,1.1rem);
  line-height:1.55;
  color:var(--it-muted);
  max-width:34rem;
  text-align:left;
}
.it-split-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:.75rem;
  margin-bottom:1.1rem;
}
.it-split-hero-contact{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:0;
  font-size:.9rem;
  color:var(--it-ink);
  text-align:left;
}
.it-split-hero-contact a{font-weight:700;color:var(--it-ink);text-decoration:none}
.it-split-hero-contact a:hover{color:var(--it-red)}
.it-split-hero-media{
  position:relative;
  overflow:hidden;
  background:var(--it-dark);
  min-height:280px;
  height:100%;
  align-self:stretch;
}
.it-split-hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
  display:block;
}
.team-page .it-split-hero-media img{
  object-position:center 42%;
}
.it-split-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,247,248,.35),transparent 28%);
  pointer-events:none;
}

/* ========== Consultex intro split ========== */
.it-intro-split{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
  padding:clamp(2.5rem,5vw,4rem) 0;
}
.it-intro-split figure{
  margin:0;
  overflow:hidden;
  border-radius:var(--it-radius);
  border:1px solid var(--it-line);
  aspect-ratio:4/5;
  max-height:480px;
  background:var(--it-dark);
}
.it-intro-split figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 22%;
}
.it-intro-split-copy .it-kicker{margin-bottom:.65rem}
.it-intro-split-copy h2{
  margin:0 0 .85rem;
  font:800 clamp(1.35rem,2.4vw,1.85rem)/1.18 var(--title,Montserrat,sans-serif);
  letter-spacing:-.02em;
  color:var(--it-ink);
  max-width:22ch;
}
.it-intro-split-copy p{
  margin:0 0 1.25rem;
  color:var(--it-muted);
  line-height:1.55;
  max-width:36rem;
}

/* ========== Optitech hub: feed + sidebar ========== */
.it-hub{
  padding:clamp(2rem,4vw,3.25rem) 0 clamp(2.5rem,5vw,3.75rem);
  background:var(--it-panel);
}
.it-hub-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(240px,.7fr);
  gap:clamp(1.5rem,3.5vw,2.75rem);
  align-items:start;
}

.it-feed{
  display:flex;
  flex-direction:column;
  gap:clamp(1.5rem,3vw,2.25rem);
  margin:0;
  padding:0;
  list-style:none;
}
.it-preview{
  background:var(--it-panel);
}
.it-preview-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.it-preview-window{
  position:relative;
  overflow:hidden;
  border-radius:var(--it-radius);
  aspect-ratio:16/9;
  background:var(--it-dark);
  border:1px solid var(--it-line);
  box-shadow:0 14px 40px rgba(7,17,31,.08);
}
.it-preview.is-featured .it-preview-window{
  aspect-ratio:16/8.5;
  min-height:280px;
}
.it-preview-window img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s var(--it-ease);
}
.it-preview-link:hover .it-preview-window img{
  transform:scale(1.045);
}
.it-preview-badge{
  position:absolute;
  left:1rem;
  bottom:1rem;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--it-ink);
  font:700 .72rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 4px 16px rgba(7,17,31,.12);
}
.it-preview-badge time{font-variant-numeric:tabular-nums;color:var(--it-red)}
.it-preview-body{padding:1.15rem .15rem 0}
.it-preview-body h2,
.it-preview-body h3{
  margin:0 0 .55rem;
  font:800 clamp(1.15rem,2vw,1.55rem)/1.22 var(--title,Montserrat,sans-serif);
  letter-spacing:-.015em;
  color:var(--it-ink);
}
.it-preview.is-featured .it-preview-body h2,
.it-preview.is-featured .it-preview-body h3,
.it-preview.is-featured #featured-title{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.it-preview-link:hover .it-preview-body h2,
.it-preview-link:hover .it-preview-body h3,
.it-preview-link:hover #featured-title{color:var(--it-red)}
.it-preview-excerpt{
  margin:0 0 .85rem;
  color:var(--it-muted);
  font-size:.98rem;
  line-height:1.55;
  max-width:46rem;
}
.it-preview-cta{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font:700 .82rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--it-red);
}
.it-preview-cta::after{content:"→";transition:transform .2s var(--it-ease)}
.it-preview-link:hover .it-preview-cta::after{transform:translateX(3px)}

/* Sidebar */
.it-sidebar{
  position:sticky;
  top:5.5rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.it-side-card{
  padding:1.15rem 1.2rem 1.25rem;
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:var(--it-soft);
}
.it-side-card h2{
  margin:0 0 .85rem;
  font:800 .95rem/1.2 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
  letter-spacing:-.01em;
}
.it-side-cats{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.it-side-cats a{
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  padding:.45rem 0;
  border-bottom:1px solid rgba(11,18,32,.06);
  font-size:.9rem;
  color:var(--it-ink);
  text-decoration:none;
}
.it-side-cats a:hover{color:var(--it-red)}
.it-side-cats span{color:var(--it-muted);font-size:.8rem}
.it-side-recent{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.it-side-recent a{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:.7rem;
  align-items:center;
  color:inherit;
  text-decoration:none;
}
.it-side-recent img{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--it-line);
}
.it-side-recent strong{
  display:block;
  font-size:.84rem;
  line-height:1.3;
  color:var(--it-ink);
}
.it-side-recent a:hover strong{color:var(--it-red)}
.it-side-recent time{
  display:block;
  margin-top:.2rem;
  font-size:.72rem;
  color:var(--it-muted);
  font-variant-numeric:tabular-nums;
}

/* ========== Archive rows — forced opaque high contrast (beats site.css) ========== */
html body.insights-page #archive.it-rows-band,
html body.insights-page .it-rows-band{
  padding:clamp(2.25rem,5vw,3.5rem) 0 !important;
  background:#07111f !important;
  background-image:none !important;
  color:#fff !important;
  isolation:isolate;
}
html body.insights-page .it-rows-head{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.5rem;
}
html body.insights-page .it-rows-head h2,
html body.insights-page #archive-title{
  margin:0 !important;
  max-width:none !important;
  font:800 clamp(1.25rem,2.2vw,1.65rem)/1.15 var(--title,Montserrat,sans-serif) !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  color:#ffffff !important;
  text-shadow:none !important;
  opacity:1 !important;
}
html body.insights-page .it-rows-head p{
  margin:.4rem 0 0 !important;
  color:#c5cedd !important;
  max-width:36rem;
  font-size:.95rem !important;
  font-weight:400 !important;
  opacity:1 !important;
}
html body.insights-page .it-rows-head .btn-secondary,
html body.insights-page .it-rows-head a.btn-secondary{
  background:#ed0000 !important;
  border:1.5px solid #ed0000 !important;
  color:#fff !important;
  box-shadow:none !important;
}
html body.insights-page .it-rows-head .btn-secondary:hover{
  background:#b80000 !important;
  border-color:#b80000 !important;
  color:#fff !important;
}
html body.insights-page .it-row-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
html body.insights-page a.it-row,
html body.insights-page .it-row{
  display:grid !important;
  grid-template-columns:4.5rem minmax(110px,.55fr) minmax(0,1.4fr) auto;
  gap:clamp(.75rem,2vw,1.25rem);
  align-items:center;
  padding:.95rem 1.05rem !important;
  border-radius:14px !important;
  background:#122033 !important;
  background-image:none !important;
  border:1px solid #243247 !important;
  color:#ffffff !important;
  text-decoration:none !important;
  opacity:1 !important;
  box-shadow:none !important;
  transition:border-color .25s var(--it-ease), transform .25s var(--it-ease), background .25s var(--it-ease);
}
html body.insights-page a.it-row:hover,
html body.insights-page .it-row:hover{
  border-color:#ed0000 !important;
  background:#1a2a40 !important;
  transform:translateY(-2px);
  color:#ffffff !important;
}
html body.insights-page .it-row-date{
  text-align:center;
  line-height:1.05;
}
html body.insights-page .it-row-date .d{
  display:block;
  font:800 1.55rem/1 var(--title,Montserrat,sans-serif) !important;
  color:#ffffff !important;
  opacity:1 !important;
}
html body.insights-page .it-row-date .my{
  display:block;
  margin-top:.25rem;
  font-size:.68rem !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#9aa8bc !important;
  opacity:1 !important;
}
html body.insights-page .it-row-thumb{
  overflow:hidden;
  border-radius:10px;
  aspect-ratio:16/10;
  background:#0a1422 !important;
  border:1px solid #2a3a50 !important;
  box-shadow:none !important;
  opacity:1 !important;
}
html body.insights-page .it-row-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1 !important;
  filter:none !important;
  transition:transform .45s var(--it-ease);
}
html body.insights-page .it-row:hover .it-row-thumb img{transform:scale(1.06)}
html body.insights-page .it-row-copy h3,
html body.insights-page a.it-row .it-row-copy h3{
  margin:0 0 .35rem !important;
  font:700 clamp(.92rem,1.2vw,1.05rem)/1.3 var(--title,Montserrat,sans-serif) !important;
  color:#ffffff !important;
  letter-spacing:-.01em !important;
  text-shadow:none !important;
  opacity:1 !important;
}
html body.insights-page .it-row-copy p,
html body.insights-page a.it-row .it-row-copy p{
  margin:0 !important;
  font-size:.84rem !important;
  color:#b7c2d2 !important;
  line-height:1.4 !important;
  font-weight:400 !important;
  opacity:1 !important;
}
html body.insights-page .it-row-cta{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  white-space:nowrap;
}
html body.insights-page .it-row-cta .pill{
  display:inline-flex;
  align-items:center;
  padding:.55rem .95rem;
  border-radius:999px;
  background:#ed0000 !important;
  color:#ffffff !important;
  font:700 .72rem/1 var(--title,Montserrat,sans-serif) !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid #ed0000 !important;
  opacity:1 !important;
}
html body.insights-page .it-row-cta .orb{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#ed0000 !important;
  color:#ffffff !important;
  font-size:.9rem;
  line-height:1;
  opacity:1 !important;
}
html body.insights-page .it-row:hover .it-row-cta .pill{
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:#07111f !important;
}

/* ========== Team hero — same split system as Insights ========== */
.team-page .it-split-hero-copy{
  animation:it-team-fade-up .7s var(--it-ease) both;
  padding:clamp(2.25rem,5.5vw,4rem) clamp(1.5rem,5vw,3.5rem);
}
.team-page .it-split-hero-media img{
  object-position:center 32%;
}
.team-page .it-hero-proof{display:none}
.team-page .it-split-hero h1{
  text-wrap:balance;
  max-width:16ch;
}
.team-page .it-split-hero-lede{
  text-wrap:pretty;
  max-width:32rem;
}

/* Shared card + section spacing — leaders and directory stay identical */
.team-page{
  --it-section-gutter: clamp(3rem, 8.5vw, 5.5rem);
  --it-card-pad-x: clamp(.7rem, 1.35vw, 1.05rem);
  --it-card-pad-top: .2rem;
  --it-card-photo-gap: 1.35rem;
  --it-card-stack-gap: .5rem;
  --it-card-bio-nudge: .2rem;
  --it-card-cred-gap: .7rem;
  --it-card-radius: 10px;
  --it-card-name-size: clamp(1.12rem, 1.65vw, 1.35rem);
  --it-card-role-size: .72rem;
}

/* Team page: restore breathing room against flagship-tight containers */
.team-page .it-lead-band .container,
.team-page .it-directory .container{
  width:min(1200px, calc(100% - var(--it-section-gutter))) !important;
  max-width:1200px !important;
  box-sizing:border-box !important;
  margin-inline:auto !important;
}
.team-page .zatra-breadcrumbs.container{
  width:min(1200px, calc(100% - var(--it-section-gutter))) !important;
  max-width:1200px !important;
  margin-inline:auto !important;
}

@keyframes it-team-fade-up{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
@keyframes it-team-filter-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* ========== Leadership featured band ========== */
.team-page .it-lead-band{
  padding:clamp(3.25rem,6.5vw,5.5rem) 0 clamp(2.75rem,5vw,3.75rem);
  background:#fff;
  border-bottom:1px solid var(--it-line);
}
.team-page .it-lead-band-head{
  max-width:40rem;
  margin:0 0 clamp(2.25rem,4vw,3.25rem);
  padding:0 .15rem;
}
.team-page .it-lead-band-head .it-kicker{
  margin-bottom:1rem;
}
.team-page .it-lead-band-head h2{
  margin:0 0 1rem;
  max-width:22ch;
  font:800 clamp(1.65rem,3vw,2.35rem)/1.12 var(--title,Montserrat,sans-serif);
  letter-spacing:-.028em;
  color:var(--it-ink);
  text-wrap:balance;
}
.team-page .it-lead-band-head p{
  margin:0;
  color:var(--it-muted);
  line-height:1.6;
  max-width:36rem;
  font-size:clamp(.98rem,1.15vw,1.05rem);
  text-wrap:pretty;
}
.team-page .it-lead-band-head a{
  color:var(--it-red);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.team-page .it-lead-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.75rem,3.5vw,2.75rem) clamp(1.5rem,3vw,2.25rem);
  align-items:stretch;
  animation:it-team-fade-up .75s var(--it-ease) .08s both;
}
.team-page .it-lead-grid > li{
  display:flex;
  min-width:0;
}
.team-page .it-lead-card{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  background:transparent;
}
.team-page .it-lead-photo{
  margin:0 0 var(--it-card-photo-gap);
  overflow:hidden;
  border-radius:var(--it-card-radius);
  aspect-ratio:1/1;
  background:var(--it-dark);
  flex-shrink:0;
}
.team-page .it-lead-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 14%;
  display:block;
  transition:transform .55s var(--it-ease);
}
.team-page #dennis-wilson .it-lead-photo img{object-position:center 18%}
.team-page #altho-mwangoa .it-lead-photo img{object-position:center 12%}
.team-page .it-lead-card:hover .it-lead-photo img{transform:scale(1.03)}
.team-page .it-lead-body{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  gap:var(--it-card-stack-gap);
  padding:var(--it-card-pad-top) var(--it-card-pad-x) 0;
  flex:1;
  align-content:start;
}
.team-page .it-lead-body h3{
  margin:0;
  min-height:2.5em;
  font:800 var(--it-card-name-size)/1.22 var(--title,Montserrat,sans-serif);
  letter-spacing:-.02em;
  color:var(--it-ink);
  text-wrap:balance;
}
.team-page .it-lead-body .it-person-role{
  margin:0;
  min-height:1.4em;
  font:600 var(--it-card-role-size)/1.35 var(--title,Montserrat,sans-serif);
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--it-red);
}
.team-page .it-lead-body .it-person-bio{
  margin:var(--it-card-bio-nudge) 0 0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--it-muted);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  line-clamp:3;
  overflow:hidden;
  min-height:0;
  text-wrap:pretty;
}
.team-page .it-lead-body .it-person-details{
  margin-top:var(--it-card-cred-gap);
  align-self:end;
}

/* ========== Team directory — engineered roster ========== */
.team-page .it-directory{
  padding:clamp(3.25rem,6vw,5rem) 0 clamp(3.75rem,7vw,5.75rem);
  background:#fff;
}
.team-page .it-directory-head{
  text-align:left;
  margin:0 0 clamp(1.85rem,3.2vw,2.35rem);
  max-width:40rem;
  padding:0 .15rem;
}
.team-page .it-directory-head .it-kicker{
  margin-bottom:1rem;
}
.team-page .it-directory-head h2{
  margin:0 0 .75rem;
  max-width:22ch;
  font:800 clamp(1.65rem,3vw,2.25rem)/1.12 var(--title,Montserrat,sans-serif);
  letter-spacing:-.025em;
  color:var(--it-ink);
  text-wrap:balance;
}
.team-page .it-directory-rule{
  width:2.5rem;
  height:3px;
  margin:.15rem 0 1.1rem;
  background:#07111f;
  border:0;
  padding:0;
}
.team-page .it-directory-head p{
  margin:0;
  color:var(--it-muted);
  line-height:1.6;
  font-size:clamp(.98rem,1.15vw,1.05rem);
  max-width:36rem;
  text-wrap:pretty;
}
.team-page .it-directory-head a{
  color:var(--it-red);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Department filters — aligned, counted */
.team-page .it-filter{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
  margin:0 0 clamp(2rem,3.5vw,2.75rem);
  padding:.15rem .15rem 1.35rem;
  border-bottom:1px solid var(--it-line);
}
.team-page .it-filter-chip{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:1px solid rgba(11,18,32,.14);
  background:#fff;
  color:var(--it-ink);
  border-radius:4px;
  padding:.6rem .95rem;
  font:700 .7rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s var(--it-ease), color .2s var(--it-ease), border-color .2s var(--it-ease);
}
.team-page .it-filter-count{
  font-variant-numeric:tabular-nums;
  opacity:.7;
  letter-spacing:0;
  font-weight:600;
}
.team-page .it-filter-chip:hover{
  border-color:rgba(237,0,0,.45);
  color:var(--it-red);
}
.team-page .it-filter-chip.is-active{
  background:var(--it-red);
  border-color:var(--it-red);
  color:#fff;
}
.team-page .it-filter-chip.is-active .it-filter-count{opacity:.9}
.team-page .it-filter-chip:focus-visible{
  outline:2px solid var(--it-red);
  outline-offset:2px;
}

.team-page .it-people-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(1.75rem,3.5vw,2.75rem) clamp(1.5rem,3vw,2.25rem);
  align-items:stretch;
}
.team-page .it-people-grid > li{
  display:flex;
  min-width:0;
}
.team-page .it-people-grid > li[hidden]{display:none !important}
.team-page .it-people-grid > li.is-filter-in{
  animation:it-team-filter-in .35s var(--it-ease) both;
}
.team-page .it-person-card{
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
.team-page .it-person-card:hover{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}
.team-page .it-person-photo{
  margin:0 0 var(--it-card-photo-gap);
  position:relative;
  overflow:hidden;
  aspect-ratio:1/1;
  border-radius:var(--it-card-radius);
  background:var(--it-dark);
  flex-shrink:0;
}
.team-page .it-person-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 16%;
  display:block;
  transition:transform .5s var(--it-ease);
}
.team-page .it-person-card:hover .it-person-photo img{transform:scale(1.03)}
.team-page .it-person-body{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  gap:var(--it-card-stack-gap);
  flex:1;
  padding:var(--it-card-pad-top) var(--it-card-pad-x) 0;
  text-align:left;
  align-content:start;
}
.team-page .it-person-body h2,
.team-page .it-person-body h3{
  margin:0;
  min-height:2.5em;
  font:800 var(--it-card-name-size)/1.22 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
  letter-spacing:-.02em;
  text-wrap:balance;
}
.team-page .it-person-role{
  display:block;
  margin:0;
  min-height:2.55em;
  font:600 var(--it-card-role-size)/1.35 var(--title,Montserrat,sans-serif);
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--it-red);
}
.team-page .it-person-bio{
  margin:var(--it-card-bio-nudge) 0 0;
  font-size:.9rem;
  line-height:1.5;
  color:var(--it-muted);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  line-clamp:3;
  overflow:hidden;
  min-height:0;
  text-wrap:pretty;
}
.team-page .it-person-details{
  margin-top:var(--it-card-cred-gap);
  text-align:left;
  align-self:end;
}
.team-page .it-person-more{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem;
  list-style:none;
  cursor:pointer;
  font:700 .7rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--it-ink);
  text-decoration:none;
  border-bottom:1px solid rgba(11,18,32,.22);
  padding-bottom:.15rem;
}
.team-page .it-person-more::-webkit-details-marker{display:none}
.team-page .it-person-more::after{content:"→";color:var(--it-red);transition:transform .2s var(--it-ease)}
.team-page .it-person-details[open] .it-person-more::after{content:"↑"}
.team-page .it-person-more:hover{color:var(--it-red);border-bottom-color:var(--it-red)}
.team-page .it-person-more:hover::after{transform:translateX(3px)}
.team-page .it-person-full{
  margin-top:.85rem;
  padding-top:.85rem;
  border-top:1px solid var(--it-line);
  text-align:left;
}
.team-page .it-person-full p{
  margin:0;
  font-size:.9rem;
  line-height:1.55;
  color:var(--it-ink);
}

/* Legacy row styles kept for safety if any markup remains */
.team-page .it-people-rows{
  list-style:none;
  margin:1.5rem 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.team-page .it-person-row{
  display:grid;
  grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr) auto;
  gap:clamp(1rem,2.5vw,1.75rem);
  align-items:center;
  padding:1rem;
  border:1px solid var(--it-line);
  border-radius:var(--it-radius);
  background:var(--it-panel);
}

/* ========== Motion + responsive ========== */
@media (prefers-reduced-motion:reduce){
  .it-preview-window img,
  .it-row-thumb img,
  .team-page .it-person-photo img,
  .team-page .it-lead-photo img,
  .it-row,
  .team-page .it-person-card,
  .it-preview-cta::after,
  .team-page .it-person-more::after,
  .team-page .it-split-hero-copy,
  .team-page .it-lead-grid,
  .team-page .it-people-grid > li.is-filter-in{transition:none !important;animation:none !important}
  .it-preview-link:hover .it-preview-window img,
  .it-row:hover .it-row-thumb img,
  .team-page .it-person-card:hover .it-person-photo img,
  .team-page .it-lead-card:hover .it-lead-photo img,
  .it-row:hover,
  .team-page .it-person-card:hover{transform:none !important}
}

@media (max-width:1020px){
  .it-hub-grid{grid-template-columns:1fr}
  .it-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .team-page .it-lead-grid,
  .team-page .it-people-grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:1.75rem 1.5rem}
  .team-page .it-lead-body h3,
  .team-page .it-person-body h3{min-height:0}
  .team-page .it-person-role,
  .team-page .it-person-bio{min-height:0}
  .team-page .it-lead-band-head h2,
  .team-page .it-directory-head h2{max-width:none}
  html body.insights-page .it-row,
  html body.insights-page a.it-row{
    grid-template-columns:3.75rem minmax(90px,.7fr) 1fr;
  }
  html body.insights-page .it-row-cta{grid-column:2 / -1;justify-self:start}
}
@media (max-width:860px){
  .it-split-hero{grid-template-columns:1fr}
  .it-split-hero-copy{
    max-width:none;
    margin:0;
    align-items:center;
    text-align:center;
    padding:clamp(1.5rem,5vw,2.25rem) var(--container-x,1.25rem);
  }
  .team-page .it-split-hero-copy{
    padding:clamp(2rem,6vw,2.75rem) clamp(1.35rem,5.5vw,1.85rem);
  }
  .it-split-hero h1{max-width:none;text-align:center}
  .team-page .it-split-hero h1{max-width:none}
  .it-split-hero-media{order:-1;min-height:240px;aspect-ratio:4/3;height:auto}
  .it-split-hero-media::after{display:none}
  .it-intro-split{grid-template-columns:1fr}
  .it-intro-split figure{max-height:none;aspect-ratio:16/10}
  .team-page .it-lead-band .container,
  .team-page .it-directory .container,
  .team-page .zatra-breadcrumbs.container{
    width:min(1200px, calc(100% - clamp(2.85rem, 9vw, 3.75rem))) !important;
  }
}
@media (max-width:640px){
  .it-sidebar{grid-template-columns:1fr}
  .it-hero{padding:clamp(1.75rem,5vw,2.5rem) 0 1.75rem}
  .it-hero h1{font-size:var(--zatra-h1-size,clamp(1.7rem,7.5vw,2.1rem))}
  html body.insights-page .it-row,
  html body.insights-page a.it-row{
    grid-template-columns:1fr;
    gap:.65rem;
  }
  html body.insights-page .it-row-date{display:flex;align-items:baseline;gap:.5rem;text-align:left}
  html body.insights-page .it-row-date .d{font-size:1.25rem}
  html body.insights-page .it-row-date .my{margin-top:0}
  html body.insights-page .it-row-cta{grid-column:auto}
  .team-page .it-lead-grid,
  .team-page .it-people-grid{
    grid-template-columns:1fr;
    max-width:22rem;
    gap:2rem;
  }
  .team-page .it-lead-photo,
  .team-page .it-person-photo{
    border-radius:var(--it-card-radius);
    aspect-ratio:1/1;
  }
  .team-page .it-lead-body,
  .team-page .it-person-body{
    padding:.25rem .55rem 0;
  }
  .team-page .it-lead-body .it-person-bio,
  .team-page .it-person-bio{
    -webkit-line-clamp:4;
    line-clamp:4;
  }
  .team-page .it-filter{
    gap:.45rem;
    padding:.1rem .1rem 1.15rem;
  }
  .team-page .it-filter-chip{padding:.52rem .8rem;font-size:.65rem}
  .team-page .it-lead-band{
    padding:clamp(2.5rem,8vw,3.25rem) 0 clamp(2.25rem,6vw,2.75rem);
  }
  .team-page .it-directory{
    padding:clamp(2.5rem,8vw,3.25rem) 0 clamp(3rem,9vw,4rem);
  }
}

/* ========== Sector & service landers (Insights visual system) ========== */
.sector-page .zatra-breadcrumbs,
.service-page .zatra-breadcrumbs{margin-bottom:0;padding-block:.75rem}

.sector-page .it-section,
.service-page .it-section{
  padding:clamp(2.5rem,5vw,3.75rem) 0;
  background:#fff;
  border-bottom:1px solid var(--it-line);
}
.sector-page .it-section-soft,
.service-page .it-section-soft{
  background:var(--it-soft);
}
.sector-page .it-section-head,
.service-page .it-section-head{
  margin-bottom:1.35rem;
  max-width:40rem;
}
.sector-page .it-section-head .it-kicker,
.service-page .it-section-head .it-kicker{margin-bottom:.55rem}
.sector-page .it-section-head h2,
.service-page .it-section-head h2{
  margin:0 0 .65rem;
  font-family:var(--title,Montserrat,sans-serif);
  font-size:var(--zatra-h2,clamp(30px,3.6vw,52px));
  font-weight:800;
  line-height:var(--zatra-h2-lh,1.06);
  letter-spacing:var(--zatra-h2-ls,-.045em);
  color:var(--it-ink);
  max-width:var(--zatra-h2-max,min(100%,920px));
}
.sector-page .it-section-head p,
.service-page .it-section-head p{
  margin:0;
  color:var(--it-muted);
  line-height:1.55;
  font-size:1rem;
}

/* Overview editorial split — photo fills side panel, no letterbox */
.sector-page .it-intro-split,
.service-page .it-intro-split{
  padding:0;
  gap:clamp(1.5rem,4vw,3.25rem);
  align-items:center;
}
.sector-page .it-intro-split figure,
.service-page .it-intro-split figure{
  aspect-ratio:3/4;
  max-height:520px;
  width:100%;
  margin:0;
}
.sector-page .it-intro-split figure img,
.service-page .it-intro-split figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  display:block;
}
.sector-page .it-intro-split-copy h2,
.service-page .it-intro-split-copy h2{
  max-width:22ch;
}
.sector-page .it-intro-split-copy p,
.service-page .it-intro-split-copy p{
  margin:0;
}

.sector-page .it-check-list,
.service-page .it-check-list,
.sector-page .it-doc-list,
.service-page .it-doc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.7rem;
  max-width:42rem;
}
.sector-page .it-check-list li,
.service-page .it-check-list li,
.sector-page .it-doc-list li,
.service-page .it-doc-list li{
  position:relative;
  padding:.85rem 1rem .85rem 2.65rem;
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:#fff;
  color:var(--it-ink);
  font-size:.98rem;
  line-height:1.45;
}
.sector-page .it-section-soft .it-check-list li,
.service-page .it-section-soft .it-check-list li,
.sector-page .it-section-soft .it-doc-list li,
.service-page .it-section-soft .it-doc-list li{
  background:var(--it-panel);
}
.sector-page .it-check-list li::before,
.service-page .it-check-list li::before{
  content:"";
  position:absolute;
  left:1rem;
  top:1.05rem;
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  background:var(--it-red);
  box-shadow:0 0 0 3px rgba(237,0,0,.15);
}
.sector-page .it-doc-list li::before,
.service-page .it-doc-list li::before{
  content:"";
  position:absolute;
  left:1.15rem;
  top:1.15rem;
  width:.55rem;
  height:.55rem;
  border:2px solid var(--it-red);
  border-radius:2px;
}
.sector-page .it-note,
.service-page .it-note{
  margin:1.15rem 0 0;
  max-width:40rem;
  color:var(--it-muted);
  font-size:.95rem;
  line-height:1.55;
}
.sector-page .it-note a,
.service-page .it-note a{color:var(--it-ink);font-weight:700;text-decoration:none}
.sector-page .it-note a:hover,
.service-page .it-note a:hover{color:var(--it-red)}

.sector-page .it-step-grid,
.service-page .it-step-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.sector-page .it-step,
.service-page .it-step{
  padding:1.15rem 1.1rem 1.25rem;
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:#fff;
}
.sector-page .it-section-soft .it-step,
.service-page .it-section-soft .it-step{background:var(--it-panel)}
.sector-page .it-step-num,
.service-page .it-step-num{
  display:inline-block;
  margin:0 0 .65rem;
  font:800 .72rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--it-red);
}
.sector-page .it-step h3,
.service-page .it-step h3{
  margin:0 0 .45rem;
  font:800 1.05rem/1.25 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
  letter-spacing:-.015em;
}
.sector-page .it-step p,
.service-page .it-step p{
  margin:0;
  color:var(--it-muted);
  font-size:.92rem;
  line-height:1.5;
}

.sector-page .it-faq-list,
.service-page .it-faq-list{
  display:grid;
  gap:.75rem;
  max-width:46rem;
}
.sector-page .it-faq-list details,
.service-page .it-faq-list details{
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:#fff;
  padding:0;
}
.sector-page .it-section-soft .it-faq-list details,
.service-page .it-section-soft .it-faq-list details{background:var(--it-panel)}
.sector-page .it-faq-list summary,
.service-page .it-faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:1rem 1.15rem;
  font:700 1rem/1.35 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
}
.sector-page .it-faq-list summary::-webkit-details-marker,
.service-page .it-faq-list summary::-webkit-details-marker{display:none}
.sector-page .it-faq-list summary::after,
.service-page .it-faq-list summary::after{
  content:"+";
  float:right;
  color:var(--it-red);
  font-weight:800;
}
.sector-page .it-faq-list details[open] summary::after,
.service-page .it-faq-list details[open] summary::after{content:"–"}
.sector-page .it-faq-list .it-faq-body,
.service-page .it-faq-list .it-faq-body{
  padding:0 1.15rem 1.1rem;
  color:var(--it-muted);
  line-height:1.55;
  font-size:.95rem;
}
.sector-page .it-faq-list .it-faq-body p,
.service-page .it-faq-list .it-faq-body p{margin:0}

.sector-page .it-related,
.service-page .it-related{
  padding:clamp(2.25rem,4.5vw,3.25rem) 0;
  background:#fff;
  border-bottom:1px solid var(--it-line);
}
.sector-page .it-related-grid,
.service-page .it-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.sector-page .it-related-card,
.service-page .it-related-card{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  padding:1.15rem 1.2rem;
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:var(--it-soft);
  color:inherit;
  text-decoration:none;
  transition:border-color .2s var(--it-ease), transform .2s var(--it-ease);
}
.sector-page .it-related-card:hover,
.service-page .it-related-card:hover{
  border-color:rgba(237,0,0,.45);
  transform:translateY(-2px);
}
.sector-page .it-related-card strong,
.service-page .it-related-card strong{
  font:800 .98rem/1.3 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
}
.sector-page .it-related-card span,
.service-page .it-related-card span{
  color:var(--it-muted);
  font-size:.88rem;
  line-height:1.45;
}
.sector-page .it-related-card em,
.service-page .it-related-card em{
  margin-top:auto;
  padding-top:.35rem;
  font:700 .78rem/1 var(--title,Montserrat,sans-serif);
  font-style:normal;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--it-red);
}

@media (max-width:980px){
  .sector-page .it-step-grid,
  .service-page .it-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sector-page .it-related-grid,
  .service-page .it-related-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .sector-page .it-step-grid,
  .service-page .it-step-grid,
  .sector-page .it-related-grid,
  .service-page .it-related-grid{grid-template-columns:1fr}
  .sector-page .it-split-hero h1,
  .service-page .it-split-hero h1{max-width:none}
  .sector-page .it-intro-split,
  .service-page .it-intro-split{grid-template-columns:1fr}
  .sector-page .it-intro-split figure,
  .service-page .it-intro-split figure{
    max-height:none;
    aspect-ratio:16/10;
  }
}

/* === HL1: hubs + landers — desktop left; mobile centre via hero-mobile-final === */
.services-page .it-split-hero,
.sectors-hub-page .it-split-hero,
.service-page .it-split-hero,
.sector-page .it-split-hero,
.insights-page .it-split-hero,
.team-page .it-split-hero{
  min-height:min(64vh,520px);
}
@media (min-width:981px){
html body .it-split-hero .it-split-hero-copy,
html body .it-split-hero-copy{
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-inline:0 !important;
}
html body .it-split-hero .it-kicker,
html body .it-split-hero h1,
html body .it-split-hero #page-intro-title,
html body .it-split-hero #insights-h1,
html body .it-split-hero #team-h1,
html body .it-split-hero #page-h1,
html body .it-split-hero .it-split-hero-lede,
html body .it-split-hero .it-split-hero-contact{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
  margin-inline:0 !important;
  align-self:flex-start !important;
  justify-self:start !important;
  float:none !important;
  transform:none !important;
}
html body .it-split-hero .it-split-hero-actions{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  align-self:flex-start !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
  width:auto !important;
}
}
html body.insights-page .it-split-hero h1,
html body.insights-page .it-split-hero #insights-h1,
html body.team-page .it-split-hero h1,
html body.team-page .it-split-hero #team-h1,
html body.services-page .it-split-hero h1,
html body.sectors-hub-page .it-split-hero h1,
html body.service-page .it-split-hero h1,
html body.sector-page .it-split-hero h1,
html body .it-split-hero #page-intro-title,
html body .it-split-hero #insights-h1,
html body .it-split-hero #team-h1,
html body .it-split-hero #page-h1{
  max-width:16ch;
  font-family:var(--title,Montserrat,sans-serif) !important;
  font-size:var(--zatra-h1-size,clamp(40px,4.8vw,72px)) !important;
  font-weight:var(--zatra-h1-weight,800) !important;
  line-height:var(--zatra-h1-lh,1) !important;
  letter-spacing:var(--zatra-h1-ls,-.058em) !important;
}
.services-page .it-split-hero-lede,
.sectors-hub-page .it-split-hero-lede,
.service-page .it-split-hero-lede,
.sector-page .it-split-hero-lede{
  max-width:34rem;
  font-size:clamp(1rem,1.25vw,1.08rem);
  line-height:1.5;
}
.services-page .zatra-breadcrumbs,
.sectors-hub-page .zatra-breadcrumbs,
.service-page .zatra-breadcrumbs,
.sector-page .zatra-breadcrumbs{
  margin-bottom:0 !important;
  padding-block:.55rem .35rem !important;
}

.it-archive-count{
  font-weight:700;
  color:var(--it-muted);
  font-size:.7em;
}
.it-archive-years{
  display:grid;
  gap:1rem;
  margin-top:.5rem;
}
.it-year-block{
  border:1px solid var(--it-line);
  border-radius:var(--it-radius-sm);
  background:#fff;
  overflow:hidden;
}
.it-year-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  cursor:pointer;
  list-style:none;
  padding:1rem 1.15rem;
  font:800 1.05rem/1.2 var(--title,Montserrat,sans-serif);
  color:var(--it-ink);
  letter-spacing:-.02em;
  background:linear-gradient(180deg,#fff,#f7f7f8);
  border-bottom:1px solid transparent;
}
.it-year-block[open] .it-year-summary{
  border-bottom-color:var(--it-line);
}
.it-year-summary::-webkit-details-marker{display:none}
.it-year-summary::after{
  content:"+";
  color:var(--it-red);
  font-weight:800;
  margin-left:.5rem;
}
.it-year-block[open] .it-year-summary::after{content:"–"}
.it-year-meta{
  margin-left:auto;
  font:700 .78rem/1 var(--title,Montserrat,sans-serif);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--it-muted);
}
.it-year-scroll{
  max-height:min(62vh,520px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:.35rem .65rem 1rem;
}
.it-year-scroll .it-row-list{margin:0}
.it-year-scroll .it-row-copy p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--it-muted);
  font-size:.9rem;
  line-height:1.45;
}
@media (max-width:640px){
  .it-year-scroll{max-height:min(70vh,480px)}
  .services-page .it-split-hero h1,
  .sectors-hub-page .it-split-hero h1,
  .service-page .it-split-hero h1,
  .sector-page .it-split-hero h1,
  .insights-page .it-split-hero h1,
  .team-page .it-split-hero h1{max-width:none}
}

/* Hub/lander section H2s — site section-head scale (not card titles) */
html body:is(.sector-page,.service-page,.services-page,.sectors-hub-page) .lp-head h2,
html body:is(.sector-page,.service-page,.services-page,.sectors-hub-page) .lf-head h2{
  font-family:var(--title,Montserrat,sans-serif)!important;
  font-size:var(--zatra-h2,clamp(30px,3.6vw,52px))!important;
  font-weight:800!important;
  line-height:var(--zatra-h2-lh,1.06)!important;
  letter-spacing:var(--zatra-h2-ls,-.045em)!important;
  color:var(--it-ink,#0b1220)!important;
}
html body:is(.sector-page,.service-page,.services-page,.sectors-hub-page) .lp-checklist li,
html body:is(.sector-page,.service-page,.services-page,.sectors-hub-page) .lf-checklist li{
  border-radius:12px!important;
}

/* force13 mobile centre — CSS order only; DOM stays copy-then-photo for desktop */
@media (max-width:980px){
  .it-split-hero{
    grid-template-columns:1fr !important;
  }
  .it-split-hero-copy,
  .team-page .it-split-hero-copy{
    align-items:center !important;
    text-align:center !important;
    padding-left:var(--zatra-mobile-gutter, clamp(18px,4vw,34px)) !important;
    padding-right:var(--zatra-mobile-gutter, clamp(18px,4vw,34px)) !important;
  }
  .it-split-hero .it-kicker,
  .it-split-hero h1,
  .it-split-hero-lede,
  .it-split-hero-contact,
  .it-split-hero-actions{
    text-align:center !important;
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .it-split-hero-actions{
    justify-content:center !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:20rem !important;
  }
  .it-split-hero-media{
    order:-1 !important;
  }
}

/* force13 desktop lock — never flip columns / never centre heroes on desktop */
@media (min-width:981px){
  .it-split-hero-media,
  .hero-lcp-figure{
    order:0 !important;
  }
  html body .it-split-hero .it-split-hero-copy,
  html body .it-split-hero-copy{
    align-items:flex-start !important;
    text-align:left !important;
  }
  html body .it-split-hero .it-kicker,
  html body .it-split-hero h1,
  html body .it-split-hero #page-intro-title,
  html body .it-split-hero #insights-h1,
  html body .it-split-hero #team-h1,
  html body .it-split-hero #page-h1,
  html body .it-split-hero .it-split-hero-lede,
  html body .it-split-hero .it-split-hero-contact{
    text-align:left !important;
    align-self:flex-start !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  html body .it-split-hero .it-split-hero-actions{
    justify-content:flex-start !important;
    align-self:flex-start !important;
    flex-direction:row !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* force20 insights mobile — featured parity + widen Ask-the-desk archive */
@media (max-width:980px){
  /* Featured Mining matches Work Permit / other preview cards */
  html body.insights-page .it-preview.is-featured .it-preview-window,
  html body.insights-page .it-preview .it-preview-window{
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
  }
  html body.insights-page .it-preview-window img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }
  html body.insights-page .it-preview-body h2,
  html body.insights-page .it-preview-body h3,
  html body.insights-page .it-preview.is-featured .it-preview-body h2,
  html body.insights-page .it-preview.is-featured .it-preview-body h3,
  html body.insights-page #featured-title{
    font-size:clamp(1.05rem,3.8vw,1.22rem) !important;
    font-weight:800 !important;
    line-height:1.28 !important;
    letter-spacing:-.015em !important;
    margin:0 0 .4rem !important;
    max-width:100% !important;
  }
  html body.insights-page .it-preview-body,
  .it-preview-body{
    padding:.7rem .05rem 0 !important;
  }
  html body.insights-page .it-preview-excerpt,
  .it-preview-excerpt{
    font-size:.88rem !important;
    line-height:1.45 !important;
    margin-bottom:.55rem !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    max-width:100% !important;
  }
  html body.insights-page .it-preview-badge,
  .it-preview-badge{
    left:.7rem !important;
    bottom:.7rem !important;
    padding:.35rem .55rem !important;
    font-size:.65rem !important;
  }

  /* Enlarge year containers under Ask the desk; cards fill width */
  html body.insights-page #archive > .container{
    width:100% !important;
    max-width:none !important;
    padding-left:10px !important;
    padding-right:10px !important;
    box-sizing:border-box !important;
  }
  html body.insights-page #archive .it-rows-head{
    margin-bottom:1rem !important;
    gap:.75rem !important;
  }
  html body.insights-page #archive .it-archive-years{
    gap:.75rem !important;
    margin-top:.25rem !important;
  }
  html body.insights-page #archive .it-year-block{
    width:100% !important;
    border-radius:16px !important;
  }
  html body.insights-page #archive .it-year-summary{
    padding:.85rem .9rem !important;
  }
  html body.insights-page #archive .it-year-scroll{
    padding:.2rem .35rem .7rem !important;
    max-height:min(74vh,560px) !important;
  }
  html body.insights-page #archive .it-row-list{
    gap:.65rem !important;
  }
  html body.insights-page #archive a.it-row,
  html body.insights-page #archive .it-row{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
    padding:.8rem .7rem !important;
    gap:.55rem !important;
  }
  html body.insights-page #archive .it-row-thumb{
    width:100% !important;
    max-width:none !important;
    aspect-ratio:16/9 !important;
  }
  html body.insights-page #archive .it-row-copy h3{
    font-size:clamp(.95rem,3.6vw,1.05rem) !important;
    line-height:1.3 !important;
  }
}

/* Topic cluster hubs — consolidation wave 1 */
.it-topic-hubs{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(1.5rem,4vw,2.5rem)}
.it-topic-hubs .section-head{margin-bottom:1.25rem;max-width:42rem}
.it-topic-hubs .pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.it-topic-hubs .pathway-card{display:block;padding:1rem 1.1rem;border:1px solid rgba(0,0,0,.08);border-radius:12px;text-decoration:none;color:inherit;background:#fff;transition:border-color .15s ease,transform .15s ease}
.it-topic-hubs .pathway-card:hover{border-color:#ed0000;transform:translateY(-1px)}
.it-topic-hubs .pathway-card h3{margin:0 0 .35rem;font-size:1.05rem}
.it-topic-hubs .pathway-card p{margin:0;font-size:.92rem;opacity:.82;line-height:1.45}
