/* =============================================================================
   ZATRA AUTHORITY PASS — world-class consulting desktop + mobile
   Loads LAST, synchronous (never media=print). Wins cascade.
   Cache ?v=20260806auth12
   ============================================================================= */

:root{
  --za-shell:1200px;
  --za-section-y:clamp(36px,4.2vw,56px);
  --za-gap:clamp(12px,1.6vw,18px);
  --za-ink:#0b1220;
  --za-body:#475467;
  --za-muted:#667085;
  --za-line:rgba(16,24,40,.12);
  --za-red:#ed0000;
  /* Single site ladder — H1 > H2 > H3 > H4 (never invert) */
  --zatra-font-display:Montserrat,"Segoe UI",sans-serif;
  --zatra-h1-size:clamp(2.35rem,4vw,3.35rem);
  --zatra-h1:clamp(2.35rem,4vw,3.35rem);
  --zatra-h1-lh:1.12;
  --zatra-h1-ls:-.028em;
  --zatra-h1-weight:800;
  --zatra-h1-max:min(100%,38ch);
  --zatra-h2:clamp(1.45rem,2.25vw,1.95rem);
  --zatra-h2-lh:1.18;
  --zatra-h2-ls:-.022em;
  --zatra-h2-max:min(100%,28ch);
  --zatra-h3:clamp(1.02rem,1.12vw,1.14rem);
  --zatra-h3-lh:1.28;
  --zatra-h3-ls:-.015em;
  --zatra-h4:clamp(.72rem,.8vw,.8rem);
  --zatra-h4-lh:1.25;
  --zatra-h4-ls:.06em;
  --za-h2:var(--zatra-h2);
  --za-h2-lh:var(--zatra-h2-lh);
  --za-h2-ls:var(--zatra-h2-ls);
  --za-h3:var(--zatra-h3);
  --za-lede:1.02rem;
  --za-lede-lh:1.55;
  --za-card-pad:1.1rem 1.15rem;
}

/* ---------- Density: kill idle vertical air ---------- */
html body main > .section,
html body main > section.section,
html body main > .section.lp-section,
html body main > .section.lf-section,
html body main > .section.section-soft{
  padding-top:var(--za-section-y) !important;
  padding-bottom:var(--za-section-y) !important;
}
html body .container{
  max-width:var(--za-shell) !important;
}

/* ---------- Section heads: consulting editorial split (desktop) ----------
   Eyebrow+title LEFT · lede RIGHT — aligned, no zigzag void, fills shell */
@media (min-width:981px){
  /* Beat home-gate3 `html body.home-page #main .section-head` (ID specificity) */
  html body .section-head:not(.center):not(.compact),
  html body.home-page .section-head:not(.center):not(.compact),
  html body.home-page #main .section-head:not(.center):not(.compact),
  html body.home-page main .section-head:not(.center):not(.compact),
  html body.service-page .section-head:not(.center):not(.compact),
  html body.sector-page .section-head:not(.center):not(.compact),
  html body.sectors-hub-page .section-head:not(.center):not(.compact),
  html body.services-page .section-head:not(.center):not(.compact),
  html body.insights-page .section-head:not(.center):not(.compact),
  html body.pricing-page .section-head:not(.center):not(.compact),
  html body.contact-page .section-head:not(.center):not(.compact){
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    grid-template-areas:"eyebrow lede" "title lede" !important;
    column-gap:clamp(1.25rem,2.2vw,2rem) !important;
    row-gap:8px !important;
    align-items:start !important;
    justify-items:stretch !important;
    max-width:none !important;
    width:100% !important;
    margin:0 0 1.35rem !important;
    padding:0 !important;
    text-align:left !important;
    flex-direction:unset !important;
    gap:unset !important;
  }
  html body .section-head:not(.center):not(.compact) > .eyebrow,
  html body.home-page #main .section-head:not(.center):not(.compact) > .eyebrow,
  html body.home-page main .section-head:not(.center):not(.compact) > .eyebrow{
    grid-area:eyebrow !important;
    margin:0 0 0 !important;
    justify-self:start !important;
    align-self:start !important;
  }
  html body .section-head:not(.center):not(.compact) > h2,
  html body.home-page #main .section-head:not(.center):not(.compact) > h2,
  html body.home-page main .section-head:not(.center):not(.compact) > h2,
  html body.home-page .section-head:not(.center):not(.compact) > h2{
    grid-area:title !important;
    margin:0 !important;
    max-width:18ch !important;
    width:auto !important;
    overflow:visible !important;
    line-height:var(--za-h2-lh) !important;
    font-size:var(--za-h2) !important;
    font-weight:800 !important;
    letter-spacing:var(--za-h2-ls) !important;
    color:var(--za-ink) !important;
    padding-top:.06em !important;
    align-self:start !important;
    justify-self:start !important;
  }
  html body .section-head:not(.center):not(.compact) > p,
  html body.home-page #main .section-head:not(.center):not(.compact) > p,
  html body.home-page main .section-head:not(.center):not(.compact) > p,
  html body.home-page .section-head:not(.center):not(.compact) > p,
  html body.home-page #main .section-head:not(.center):not(.compact)>p,
  html body .section-head:not(.center):not(.compact):not(.compact)>p{
    grid-area:lede !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-left:0 !important;
    max-width:44ch !important;
    width:100% !important;
    align-self:center !important;
    font-size:var(--za-lede) !important;
    line-height:var(--za-lede-lh) !important;
    font-weight:450 !important;
    color:var(--za-body) !important;
  }

  /* Compact / single-column heads (title only) stay stacked but full shell left */
  html body .section-head.compact{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    max-width:40rem !important;
    grid-template-columns:none !important;
  }

  /* Center heads */
  html body .section-head.center{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    max-width:46rem !important;
    margin-inline:auto !important;
    grid-template-columns:none !important;
  }
  html body .section-head.center > h2,
  html body .section-head.center > p{
    text-align:center !important;
    margin-inline:auto !important;
    max-width:36ch !important;
  }
}

/* Mobile: always stack */
@media (max-width:980px){
  html body .section-head:not(.center),
  html body .section-head.compact{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    max-width:100% !important;
    gap:0 !important;
    grid-template-columns:none !important;
  }
  html body .section-head > h2{
    max-width:100% !important;
    font-size:clamp(1.35rem,5vw,1.75rem) !important;
    line-height:1.18 !important;
    overflow:visible !important;
    padding-top:.04em !important;
  }
  html body .section-head > p{
    border:0 !important;
    padding:0 !important;
    margin:.55rem 0 0 !important;
    max-width:100% !important;
  }
}

/* lp/lf heads (lander section titles without .section-head) */
html body .lp-head,
html body .lf-head{
  max-width:40rem !important;
  margin:0 0 1.15rem !important;
}
html body .lp-head h2,
html body .lf-head h2,
html body .lf-mid-copy h2{
  margin:0 0 .65rem !important;
  font-size:var(--za-h2) !important;
  line-height:var(--za-h2-lh) !important;
  letter-spacing:var(--za-h2-ls) !important;
  font-weight:800 !important;
  color:var(--za-ink) !important;
  overflow:visible !important;
  max-width:22ch !important;
  padding-top:.06em !important;
}
html body .lp-head p,
html body .lf-head p{
  margin:0 !important;
  font-size:var(--za-lede) !important;
  line-height:var(--za-lede-lh) !important;
  color:var(--za-body) !important;
  max-width:48ch !important;
}

/* ---------- Typography uniformity ---------- */
html body main h2,
html body .conversion-band h2,
html body .it-hub h2,
html body #archive-title{
  font-weight:800 !important;
  letter-spacing:var(--za-h2-ls) !important;
  line-height:var(--za-h2-lh) !important;
  color:var(--za-ink) !important;
  overflow:visible !important;
}
html body .eyebrow,
html body .section-head .eyebrow,
html body .it-kicker,
html body .retention-kicker,
html body .lp-badge,
html body .lf-badge{
  display:inline-block !important;
  margin:0 0 .55rem !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  font:800 .6875rem/1.2 var(--title,Montserrat,sans-serif) !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--za-red) !important;
}
html body main h3,
html body .pathway-card h3,
html body .sector-card h3,
html body .package-preview-card h3,
html body .insight-card h3,
html body .concern-card h3,
html body .lp-related .card-title,
html body .lf-related .card-title{
  font-size:var(--za-h3) !important;
  font-weight:750 !important;
  letter-spacing:-.02em !important;
  line-height:1.28 !important;
  color:var(--za-ink) !important;
  text-transform:none !important;
}
html body main h4{
  font:700 clamp(1rem,1.2vw,1.12rem)/1.3 var(--title,Montserrat,sans-serif) !important;
  letter-spacing:-.02em !important;
  color:var(--za-ink) !important;
  text-transform:none !important;
  margin:0 0 .4rem !important;
}

/* Services accordion / search-intent cards: stop shouting ALL CAPS */
html body .media-service h3,
html body .service-card summary,
html body .service-card h3,
html body .accordion-summary strong,
html body .zatra-accordion-card summary,
html body .zatra-accordion-card summary strong{
  text-transform:none !important;
  letter-spacing:-.015em !important;
  font-weight:750 !important;
}

/* ---------- Cards + icons: icon beside title (optical align) ---------- */
html body .pathway-card:has(> .icon-badge),
html body.home-page .pathway-card:has(> .icon-badge),
html body.services-page .pathway-card:has(> .icon-badge),
html body.sectors-hub-page .pathway-card:has(> .icon-badge),
html body .services-overview-grid .pathway-card:has(> .icon-badge){
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) !important;
  column-gap:12px !important;
  row-gap:2px !important;
  align-items:start !important;
  flex-direction:unset !important;
  padding:var(--za-card-pad) !important;
  min-height:0 !important;
}
html body .pathway-card > .icon-badge,
html body.home-page .pathway-card > .icon-badge,
html body.services-page .pathway-card > .icon-badge,
html body.sectors-hub-page .pathway-card > .icon-badge{
  grid-row:1 / span 2 !important;
  grid-column:1 !important;
  width:36px !important;
  height:36px !important;
  margin:0 !important;
  align-self:start !important;
}
html body .pathway-card > h3,
html body.home-page .pathway-card > h3,
html body.services-page .pathway-card > h3,
html body.sectors-hub-page .pathway-card > h3{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding-top:7px !important; /* optical middle of 36px icon */
  align-self:start !important;
}
html body .pathway-card > p,
html body.home-page .pathway-card > p,
html body.services-page .pathway-card > p,
html body.sectors-hub-page .pathway-card > p{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  color:var(--za-body) !important;
}

html body .sector-card,
html body .package-preview-card,
html body .insight-card,
html body .lp-related a,
html body .lf-related a{
  padding:var(--za-card-pad) !important;
}
html body .sector-card h3,
html body .package-preview-card h3{
  margin:0 0 .35rem !important;
}
html body .sector-card p,
html body .package-preview-card p,
html body .lp-related p,
html body .lf-related p{
  margin:0 !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  color:var(--za-body) !important;
}

/* About / answer / optional icon cards */
html body .about-vm-grid article:has(> .icon-badge),
html body .about-values-grid article:has(> .icon-badge),
html body .answer-card:has(> .icon-badge),
html body .optional-card:has(> .icon-badge),
html body .addon-card:has(> .icon-badge){
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  column-gap:12px !important;
  row-gap:4px !important;
  align-items:start !important;
}
html body .about-vm-grid article > .icon-badge,
html body .about-values-grid article > .icon-badge,
html body .answer-card > .icon-badge,
html body .optional-card > .icon-badge,
html body .addon-card > .icon-badge{
  grid-row:1 / span 2 !important;
  margin:0 !important;
  margin-bottom:0 !important;
}
html body .about-vm-grid article > h3,
html body .about-values-grid article > h3,
html body .answer-card > h3,
html body .optional-card > h3{
  grid-column:2 !important;
  margin:0 0 4px !important;
  padding-top:8px !important;
}
html body .about-vm-grid article > p,
html body .about-values-grid article > p,
html body .answer-card > p,
html body .optional-card > p{
  grid-column:2 !important;
  margin:0 !important;
}

/* ---------- Grids fill the shell (no orphan empty columns) ---------- */
@media (min-width:981px){
  html body .pathway-grid,
  html body.home-page .pathway-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:var(--za-gap) !important;
  }
  html body .sector-card-grid,
  html body.home-page .sector-card-grid,
  html body.sectors-hub-page .sector-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:var(--za-gap) !important;
  }
  html body .lp-related,
  html body .lf-related,
  html body.sectors-hub-page #related-services .services-overview-grid,
  html body.sectors-hub-page #related-services .hub-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:var(--za-gap) !important;
    max-width:none !important;
    width:100% !important;
  }
  html body.services-page #core-services .services-overview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:var(--za-gap) !important;
  }
  html body.insights-page .it-topic-hubs .pathway-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  html body .lp-checklist,
  html body .lf-checklist{
    max-width:44rem !important;
    gap:6px 1.25rem !important;
  }

  /* Photo splits: tighter, tops aligned */
  html body .lf-photo-split,
  html body .lf-photo-split.is-flip,
  html body .split-media{
    gap:clamp(1.25rem,2.5vw,2rem) !important;
    align-items:start !important;
  }
  html body .lf-mid-media{
    aspect-ratio:16/11 !important;
  }

  /* Diagnostic CTA: adjacent, not edge-split */
  html body #diagnostic-offer > .container{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:1.25rem 1.5rem !important;
  }
  html body #diagnostic-offer .section-head,
  html body.service-page #diagnostic-offer .section-head,
  html body.sector-page #diagnostic-offer .section-head{
    flex:0 1 34rem !important;
    max-width:34rem !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    grid-template-columns:none !important;
    grid-template-areas:none !important;
  }
  html body #diagnostic-offer .section-head > .eyebrow,
  html body #diagnostic-offer .section-head > h2,
  html body #diagnostic-offer .section-head > p{
    grid-area:auto !important;
    margin-left:0 !important;
    padding-left:0 !important;
    border-left:0 !important;
    max-width:100% !important;
    align-self:flex-start !important;
  }
  html body #diagnostic-offer .section-head > h2{
    max-width:18rem !important;
    margin:0 0 .65rem !important;
  }
  html body #diagnostic-offer .section-head > p{
    margin:0 !important;
  }
  html body #diagnostic-offer .section-cta-row{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin:0 !important;
    width:min(100%,280px) !important;
  }

  /* Services grids with 4 cards → 2×2 (kill orphan) */
  html body.services-page .services-overview-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  @media (min-width:1100px){
    html body.services-page #core-services .services-overview-grid{
      grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    }
  }

  /* Insights investor actions: full-width 3×2 */
  html body.insights-page #investor-questions > .container{
    display:block !important;
  }
  html body.insights-page #investor-questions .section-head{
    display:flex !important;
    flex-direction:column !important;
    max-width:42rem !important;
    grid-template-columns:none !important;
    margin-bottom:1rem !important;
  }
  html body.insights-page #investor-questions .section-cta-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* Desk discipline / role strip: tighter to pathways above */
html body .desk-disciplines{
  margin-top:1rem !important;
  padding-top:1rem !important;
  gap:10px 14px !important;
}

/* Home pathway H2 clip safety */
html body.home-page .section-head h2,
html body.home-page #services .section-head h2,
html body.home-page #home-carousel .section-head h2{
  overflow:visible !important;
  clip-path:none !important;
  -webkit-line-clamp:unset !important;
  padding-top:.08em !important;
}

/* Conversion bands: denser */
html body .conversion-band{
  padding-top:var(--za-section-y) !important;
  padding-bottom:var(--za-section-y) !important;
}
html body .conversion-band h2{
  font-size:var(--za-h2) !important;
  max-width:22ch !important;
}
html body .conversion-band p{
  max-width:48ch !important;
  font-size:var(--za-lede) !important;
}

/* Speed: don't animate layout-heavy transforms on cards */
@media (prefers-reduced-motion:no-preference){
  html body .pathway-card,
  html body .sector-card,
  html body .lp-related a{
    transition:border-color .15s ease, box-shadow .15s ease !important;
  }
}
html body .pathway-card:hover,
html body .sector-card:hover{
  transform:none !important;
}

/* =========================================================
   AUTH4 — Process + Pricing authority polish
   Nested section-heads, card type, iconless boards, package
   footers. Scoped so home/services pathway rules stay intact.
   ========================================================= */

/* Nested VIP/XDR heads (NOT .center): eyebrow+h2 in <div>, lede sibling <p> */
@media (min-width:901px){
  html body .section-head.section-head-vvip:not(.center),
  html body .section-head.section-head-xdr:not(.center){
    display:grid !important;
    grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr) !important;
    column-gap:clamp(1.25rem,3vw,2.25rem) !important;
    row-gap:.85rem !important;
    align-items:start !important;
    justify-items:stretch !important;
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:clamp(1.35rem,2.2vw,1.85rem) !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  html body .section-head.section-head-vvip:not(.center) > div:first-child,
  html body .section-head.section-head-xdr:not(.center) > div:first-child{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.55rem !important;
    grid-column:1 !important;
    grid-row:1 !important;
    max-width:38ch !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  html body .section-head.section-head-vvip:not(.center) > div:first-child .eyebrow,
  html body .section-head.section-head-xdr:not(.center) > div:first-child .eyebrow,
  html body .section-head.section-head-vvip:not(.center) > div:first-child .section-kicker,
  html body .section-head.section-head-xdr:not(.center) > div:first-child .section-kicker{
    margin:0 0 .15rem !important;
  }
  html body .section-head.section-head-vvip:not(.center) > div:first-child h2,
  html body .section-head.section-head-xdr:not(.center) > div:first-child h2{
    margin:0 !important;
    max-width:26ch !important;
    font-size:var(--za-h2) !important;
    line-height:1.14 !important;
    letter-spacing:-.018em !important;
    font-weight:750 !important;
  }
  html body .section-head.section-head-vvip:not(.center) > p,
  html body .section-head.section-head-xdr:not(.center) > p,
  html body .section-head.section-head-vvip:not(.center) > .lede,
  html body .section-head.section-head-xdr:not(.center) > .lede{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    padding:.15rem 0 0 !important;
    max-width:44ch !important;
    width:100% !important;
    justify-self:end !important;
    align-self:center !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:var(--za-lede) !important;
    line-height:1.55 !important;
    color:var(--ink-2,#334155) !important;
  }

  /* Pricing left-aligned heads: keep column, tighten measure */
  html body.pricing-page .section-head.center{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.55rem !important;
    max-width:44rem !important;
    margin:0 0 clamp(1.25rem,2vw,1.75rem) !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  html body.pricing-page .section-head.center h2{
    font-size:var(--za-h2) !important;
    max-width:24ch !important;
    line-height:1.14 !important;
    margin:0 !important;
  }
  html body.pricing-page .section-head.center p{
    font-size:var(--za-lede) !important;
    max-width:48ch !important;
    margin:0 !important;
    line-height:1.55 !important;
  }
}

/* Card title scale — match pathway cards, not display H2 */
html body .package-card h3,
html body .premium-offer-card h3,
html body .doc-card h3,
html body .doc-title-wrap h3,
html body .briefing-title,
html body .process-step-card h3,
html body .assurance-evidence strong{
  font-size:clamp(1.02rem,1.12vw,1.16rem) !important;
  line-height:1.28 !important;
  letter-spacing:-.012em !important;
  font-weight:750 !important;
  margin:0 0 .4rem !important;
}
html body .package-card h3,
html body .premium-offer-card h3,
html body .briefing-title{
  max-width:30ch !important;
}

/* Package cards — denser, equal-height footers (timeline pushes CTAs) */
html body.pricing-page .package-grid,
html body.pricing-page .package-grid-trio{
  gap:1rem !important;
  align-items:stretch !important;
}
html body.pricing-page .package-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  padding:1.1rem 1.15rem 1.15rem !important;
  border-radius:14px !important;
  gap:.4rem !important;
}
html body.pricing-page .package-card .badge{
  align-self:flex-start !important;
  margin:0 0 .15rem !important;
  font-size:.68rem !important;
  letter-spacing:.04em !important;
}
html body.pricing-page .package-card .price{
  font-size:clamp(1.55rem,2vw,1.95rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
  margin:.1rem 0 .25rem !important;
}
html body.pricing-page .package-card .subtle,
html body.pricing-page .package-card p{
  font-size:.9rem !important;
  line-height:1.48 !important;
  max-width:36ch !important;
  margin:0 !important;
}
html body.pricing-page .package-card .tick-list{
  margin:.25rem 0 .15rem !important;
  padding:0 !important;
  font-size:.88rem !important;
  line-height:1.42 !important;
  flex:1 1 auto !important;
}
html body.pricing-page .package-card .timeline{
  margin-top:auto !important;
  margin-bottom:.15rem !important;
  font-size:.8rem !important;
  opacity:.88 !important;
  padding-top:.45rem !important;
}
html body.pricing-page .package-card > a.btn{
  margin-top:.4rem !important;
  width:100% !important;
}
html body.pricing-page .package-card .timeline + a.btn{
  margin-top:.55rem !important;
}

/* Premium offer cards — accent rail + kicker as visual anchor */
html body.pricing-page .premium-ladder-grid,
html body.pricing-page #premium-offers .premium-ladder-grid{
  display:grid !important;
  gap:1rem !important;
  align-items:stretch !important;
}
html body.pricing-page .premium-offer-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  padding:1.1rem 1.15rem 1.15rem !important;
  border-radius:14px !important;
  gap:.4rem !important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-left:3px solid rgba(199,0,16,.45) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04) !important;
}
html body.pricing-page .premium-offer-card .offer-kicker,
html body.pricing-page .premium-offer-card .premium-package-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:.35rem !important;
  align-self:flex-start !important;
  margin:0 0 .2rem !important;
  padding:.28rem .55rem !important;
  border-radius:8px !important;
  font-size:.68rem !important;
  font-weight:700 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  background:rgba(199,0,16,.07) !important;
  color:#c70010 !important;
  border:1px solid rgba(199,0,16,.14) !important;
}
html body.pricing-page .premium-offer-card .premium-price,
html body.pricing-page .premium-offer-card .package-style-price{
  font-size:clamp(1.35rem,1.7vw,1.7rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.025em !important;
  margin:.1rem 0 .25rem !important;
}
html body.pricing-page .premium-offer-card p,
html body.pricing-page .premium-offer-card li{
  font-size:.88rem !important;
  line-height:1.45 !important;
}
html body.pricing-page .premium-offer-card ul{
  margin:.2rem 0 .35rem !important;
  flex:1 1 auto !important;
}
html body.pricing-page .premium-offer-card > a.btn:first-of-type{
  margin-top:auto !important;
}
html body.pricing-page .premium-offer-card > a.btn{
  margin-top:.4rem !important;
  width:100% !important;
}

/* Scope cards under packages */
html body.pricing-page .offer-scope-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.85rem !important;
  margin:0 0 1.15rem !important;
}
html body.pricing-page .offer-scope-card{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  column-gap:.75rem !important;
  align-items:start !important;
  padding:.95rem 1.05rem !important;
  border-radius:12px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
}
html body.pricing-page .offer-scope-card .scope-icon{
  width:2rem !important;
  height:2rem !important;
  margin:0 !important;
}
html body.pricing-page .offer-scope-card strong{
  font-size:.95rem !important;
  display:block !important;
  margin:0 0 .2rem !important;
}
html body.pricing-page .offer-scope-card p{
  font-size:.88rem !important;
  line-height:1.45 !important;
  margin:0 !important;
  max-width:40ch !important;
}

/* Investor briefing — denser stack, badge + accent (not bare B/W board) */
html body.process-page #investor-briefing .briefing-intelligence-stack,
html body.process-page #investor-briefing .editorial-column-stack{
  display:grid !important;
  gap:.75rem !important;
}
html body.process-page #investor-briefing article{
  padding:.95rem 1.05rem 1rem !important;
  border-radius:12px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-left:3px solid rgba(11,99,86,.4) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.03) !important;
}
html body.process-page #investor-briefing .briefing-badge{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  padding:.28rem .55rem !important;
  border-radius:8px !important;
  font-size:.68rem !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  background:rgba(11,99,86,.1) !important;
  color:#0b6356 !important;
  margin:0 0 .45rem !important;
  line-height:1.2 !important;
}
html body.process-page #investor-briefing .briefing-title{
  font-size:clamp(1.02rem,1.1vw,1.14rem) !important;
  line-height:1.3 !important;
  max-width:36ch !important;
  margin:0 0 .35rem !important;
}
html body.process-page #investor-briefing .briefing-copy{
  font-size:.88rem !important;
  line-height:1.5 !important;
  max-width:46ch !important;
  margin:0 !important;
  color:var(--ink-2,#334155) !important;
}

/* Process steps — 3+2 centered, icon beside title */
html body.process-page .steps.command-steps,
html body.process-page .command-steps{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:.85rem !important;
}
html body.process-page .command-steps > .process-step-card:nth-child(1){grid-column:1 / 3 !important;}
html body.process-page .command-steps > .process-step-card:nth-child(2){grid-column:3 / 5 !important;}
html body.process-page .command-steps > .process-step-card:nth-child(3){grid-column:5 / 7 !important;}
html body.process-page .command-steps > .process-step-card:nth-child(4){grid-column:2 / 4 !important;}
html body.process-page .command-steps > .process-step-card:nth-child(5){grid-column:4 / 6 !important;}
html body.process-page .process-step-card{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:.75rem !important;
  row-gap:.35rem !important;
  align-items:start !important;
  padding:1rem 1.05rem 1.05rem !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  min-height:0 !important;
}
html body.process-page .process-step-card > .step-icon{
  grid-column:1 !important;
  grid-row:1 !important;
  width:2rem !important;
  height:2rem !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.1) !important;
}
html body.process-page .process-step-card > h3{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding-top:.2em !important;
  align-self:start !important;
  font-size:clamp(1.02rem,1.1vw,1.14rem) !important;
  line-height:1.25 !important;
  max-width:18ch !important;
}
html body.process-page .process-step-card > p{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  margin:.1rem 0 0 !important;
  font-size:.88rem !important;
  line-height:1.48 !important;
  max-width:42ch !important;
}
@media (max-width:1100px){
  html body.process-page .steps.command-steps,
  html body.process-page .command-steps{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  html body.process-page .command-steps > .process-step-card:nth-child(n){
    grid-column:auto !important;
  }
}
@media (max-width:700px){
  html body.process-page .steps.command-steps,
  html body.process-page .command-steps{
    grid-template-columns:1fr !important;
  }
}

/* Documents — accordion tiles stay compact; icons already present */
html body.process-page .doc-command{
  padding:1.1rem 1.2rem !important;
  border-radius:14px !important;
  margin-bottom:1rem !important;
}
html body.process-page .doc-command h3{
  font-size:clamp(1.05rem,1.25vw,1.25rem) !important;
  line-height:1.25 !important;
  max-width:34ch !important;
  margin:.25rem 0 .4rem !important;
}
html body.process-page .doc-command p{
  font-size:.9rem !important;
  line-height:1.5 !important;
  max-width:52ch !important;
}
html body.process-page .docs-grid,
html body.process-page .document-accordion-grid{
  gap:.75rem !important;
}
html body.process-page .doc-card{
  border-radius:12px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:#fff !important;
}
html body.process-page .doc-card .doc-summary,
html body.process-page .doc-card .accordion-summary{
  padding:.9rem 1rem !important;
}
html body.process-page .doc-card .doc-master-icon{
  width:2.1rem !important;
  height:2.1rem !important;
  flex-shrink:0 !important;
}
html body.process-page .doc-card h3{
  font-size:clamp(1rem,1.05vw,1.12rem) !important;
  line-height:1.25 !important;
  margin:0 !important;
  max-width:26ch !important;
}

/* Assurance — denser evidence rows with icon | copy */
html body.process-page .assurance-command-card{
  padding:1.25rem 1.3rem !important;
  border-radius:16px !important;
}
html body.process-page .assurance-command-card > h2{
  font-size:var(--za-h2) !important;
  max-width:24ch !important;
  line-height:1.15 !important;
  margin:.35rem 0 .55rem !important;
}
html body.process-page .assurance-command-card > .lead,
html body.process-page .assurance-command-card > p{
  font-size:var(--za-lede) !important;
  max-width:48ch !important;
  line-height:1.55 !important;
}
html body.process-page .assurance-evidence-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:.75rem !important;
  margin-top:1rem !important;
}
html body.process-page .assurance-evidence{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  column-gap:.7rem !important;
  align-items:start !important;
  padding:.85rem .9rem !important;
  border-radius:12px !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:rgba(248,250,252,.9) !important;
}
html body.process-page .assurance-evidence .assurance-icon{
  width:1.9rem !important;
  height:1.9rem !important;
  margin:0 !important;
}
html body.process-page .assurance-evidence strong{
  display:block !important;
  margin:0 0 .2rem !important;
}
html body.process-page .assurance-evidence p{
  margin:0 !important;
  font-size:.86rem !important;
  line-height:1.45 !important;
}
html body.process-page .beyond-topline{
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
  margin-bottom:.45rem !important;
}
html body.process-page .beyond-topline .assurance-icon{
  width:1.9rem !important;
  height:1.9rem !important;
  margin:0 !important;
}

/* Section padding rhythm */
html body.pricing-page .section,
html body.process-page .section{
  padding-top:var(--za-section-y) !important;
  padding-bottom:var(--za-section-y) !important;
}

/* Fee calculator denser */
html body.pricing-page .fee-calculator,
html body.pricing-page .estimator-command{
  margin-top:1.25rem !important;
  padding:1.15rem 1.2rem !important;
  border-radius:14px !important;
}
html body.pricing-page .fee-calculator h3{
  font-size:clamp(1.05rem,1.2vw,1.22rem) !important;
  line-height:1.25 !important;
  max-width:28ch !important;
}

/* FAQ denser on pricing */
html body.pricing-page .faq details{
  font-size:.92rem !important;
  padding:.85rem 0 !important;
}

@media (max-width:900px){
  html body.process-page .assurance-evidence-grid,
  html body.pricing-page .offer-scope-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   AUTH5 — Cascade killers vs type-scale + #packages IDs
   ========================================================= */

/* Card titles: beat #process / #documents / #premium-offers / type-scale */
html body.process-page #process .process-step-card h3,
html body.process-page #process .step.process-step-card h3,
html body.process-page #documents .doc-card h3,
html body.process-page #documents .doc-tier-card h3,
html body.process-page #documents .doc-card.premium-doc h3,
html body.process-page #documents .doc-title-wrap h3,
html body.process-page #documents .doc-command h3,
html body.process-page #investor-briefing .editorial-column-stack article h3,
html body.process-page #investor-briefing .briefing-title,
html body.process-page #investor-briefing article .briefing-title,
html body.pricing-page #premium-offers .premium-offer-card h3,
html body.pricing-page #packages .package-card h3,
html body.pricing-page #packages .gateway-heading-block h3,
html body.pricing-page #fee-calculator h3,
html body.pricing-page .estimator-command h3,
html body.pricing-page .fee-calculator h3{
  font-family:var(--title,"Montserrat","Inter",Arial,sans-serif) !important;
  font-size:clamp(1.02rem,1.1vw,1.14rem) !important;
  font-weight:750 !important;
  line-height:1.28 !important;
  letter-spacing:-.012em !important;
  max-width:30ch !important;
  text-wrap:pretty !important;
}

/* Package / premium padding: beat #packages .package-grid-trio clamp(34px) */
html body.pricing-page #packages .package-grid-trio .package-card,
html body.pricing-page #packages .package-card,
html body.pricing-page #premium-offers .premium-offer-card,
html body.pricing-page #premium-offers .premium-ladder-grid .premium-offer-card{
  padding:1.05rem 1.1rem 1.1rem !important;
  border-radius:14px !important;
  gap:.35rem !important;
}

/* Process long section titles: denser measure (avoid 6-line towers) */
@media (min-width:901px){
  html body.process-page #documents .section-head:not(.center) > div:first-child h2,
  html body.process-page #process .section-head:not(.center) > div:first-child h2,
  html body.process-page .section-head.section-head-vvip:not(.center) > div:first-child h2{
    font-size:clamp(1.45rem,2.15vw,2.05rem) !important;
    max-width:32ch !important;
    line-height:1.16 !important;
  }
  html body.process-page #documents .section-head:not(.center),
  html body.process-page #process .section-head:not(.center){
    margin-bottom:1.15rem !important;
  }
}

/* Assurance H2 — section display, not card display */
html body.process-page #assurance .assurance-command-card > h2{
  font-size:clamp(1.4rem,2.05vw,1.95rem) !important;
  max-width:26ch !important;
  line-height:1.16 !important;
}

/* Doc accordion summary: icon | chip+title row, less empty board */
html body.process-page #documents .doc-top{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  column-gap:.75rem !important;
  align-items:center !important;
  width:100% !important;
}
html body.process-page #documents .doc-title-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:.25rem !important;
  min-width:0 !important;
}
html body.process-page #documents .doc-card .doc-summary,
html body.process-page #documents .doc-card .accordion-summary{
  padding:.85rem .95rem !important;
  min-height:0 !important;
}
html body.process-page #documents .doc-card:not([open]) .accordion-body,
html body.process-page #documents .doc-card:not([open]) .document-body{
  display:none !important;
}

/* Briefing stack denser on desktop */
@media (min-width:901px){
  html body.process-page #investor-briefing article{
    padding:.85rem .95rem .9rem !important;
  }
  html body.process-page #investor-briefing .briefing-title{
    font-size:clamp(1rem,1.05vw,1.1rem) !important;
    max-width:38ch !important;
  }

  /* Tighter editorial heads — less idle middle gap */
  html body.process-page .section-head.section-head-vvip:not(.center),
  html body.process-page .section-head.section-head-xdr:not(.center){
    column-gap:clamp(1rem,2.2vw,1.6rem) !important;
    grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr) !important;
  }
  html body.process-page .section-head.section-head-vvip:not(.center) > p,
  html body.process-page .section-head.section-head-xdr:not(.center) > p{
    justify-self:start !important;
  }
}

/* Desktop price hierarchy — prominent but not billboard */
@media (min-width:901px){
  html body.pricing-page #packages .package-card .price,
  html body.pricing-page #packages .package-grid-trio .package-card .price{
    font-size:clamp(1.55rem,1.9vw,1.95rem) !important;
    line-height:1.05 !important;
  }
  html body.pricing-page #premium-offers .premium-offer-card .premium-price,
  html body.pricing-page #premium-offers .premium-offer-card .package-style-price{
    font-size:clamp(1.25rem,1.55vw,1.55rem) !important;
    line-height:1.12 !important;
  }
  html body.pricing-page #premium-offers .premium-offer-card .premium-price small,
  html body.pricing-page #premium-offers .premium-offer-card .package-style-price small{
    display:block !important;
    margin-top:.2rem !important;
    font-size:.72rem !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    opacity:.75 !important;
  }
}

/* Home concern map — soft secondary tool links under primary CTA */
html body .concern-card .concern-soft{
  margin:.75rem 0 0 !important;
  font-size:.8125rem !important;
  line-height:1.45 !important;
  color:var(--za-muted, #5c6570) !important;
}
html body .concern-card .concern-soft a{
  color:inherit !important;
  text-decoration:underline !important;
  text-underline-offset:.12em !important;
  font-weight:600 !important;
}
html body .concern-card .concern-soft a:hover{
  color:var(--za-red, #ed0000) !important;
}

/* =========================================================
   AUTH8 — Remaining pages polish (landers + hubs)
   Scoped away from home-page / services-page pathway UI.
   ========================================================= */

html body:is(.sector-page,.service-page,.pricing-page,.process-page,.team-page,.contact-page,.insights-page,.sectors-hub-page):not(.home-page):not(.services-page){
  --za-section-y:clamp(32px,3.6vw,48px);
}

html body:is(.sector-page,.service-page,.pricing-page,.process-page,.team-page,.contact-page,.insights-page,.sectors-hub-page):not(.home-page):not(.services-page) main > .section{
  padding-top:var(--za-section-y) !important;
  padding-bottom:var(--za-section-y) !important;
}

/* Hero H1 tokens inherit AUTH10 ladder — no circular var() */

html body:is(.sector-page,.service-page,.team-page,.contact-page,.insights-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero p,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .it-split-hero .lede{
  font-size:1.02rem !important;
  line-height:1.55 !important;
  max-width:44ch !important;
}

@media (min-width:901px){
  html body:is(.sector-page,.service-page,.team-page,.contact-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero{
    gap:clamp(1.25rem,2.5vw,2rem) !important;
    align-items:center !important;
    min-height:0 !important;
  }
  html body:is(.sector-page,.service-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media{
    min-height:0 !important;
    max-height:min(420px,52vh) !important;
  }
  html body:is(.sector-page,.service-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media img{
    max-height:min(420px,52vh) !important;
    object-fit:cover !important;
  }
  html body:is(.sector-page,.service-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media::after{
    opacity:.28 !important;
  }
}

/* Lander section / photo-split heads */
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-head h2,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-head h2,
html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .section-head h2,
html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .lf-photo-split h2{
  font-size:var(--zatra-h2) !important;
  line-height:var(--zatra-h2-lh) !important;
  letter-spacing:var(--zatra-h2-ls) !important;
  max-width:var(--zatra-h2-max) !important;
}

html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .section-head:not(.center):not(.compact) > p,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-head > p,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-head > p{
  border-left:0 !important;
  padding-left:0 !important;
  max-width:44ch !important;
  font-size:var(--za-lede) !important;
}

/* Best-for / route snapshot cards */
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap{
  gap:.75rem !important;
  margin:0 0 1rem !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap > div,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap > div,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap article,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap article{
  padding:.85rem .95rem !important;
  border-radius:12px !important;
  gap:.35rem !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04) !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap .lp-badge,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap .lp-badge,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap strong:first-child{
  font-size:.68rem !important;
  letter-spacing:.04em !important;
  margin:0 0 .25rem !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap p,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap p{
  font-size:.88rem !important;
  line-height:1.45 !important;
  margin:0 !important;
  max-width:36ch !important;
}

/* Quick answer — dense, no chaos rail */
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .quick-answer,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) #quick-answer .quick-answer{
  padding:.95rem 1.1rem !important;
  border-radius:12px !important;
  border-left:0 !important;
  border:1px solid rgba(15,23,42,.08) !important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.03) !important;
  max-width:none !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .quick-answer .eyebrow,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .quick-answer > span:first-child{
  margin:0 0 .35rem !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .quick-answer p{
  margin:0 !important;
  max-width:62ch !important;
  font-size:.95rem !important;
  line-height:1.55 !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) #quick-answer{
  padding-top:clamp(1rem,2vw,1.5rem) !important;
  padding-bottom:clamp(1rem,2vw,1.5rem) !important;
}

/* Soften leftover vertical rails that read as chaos */
html body:is(.sector-page,.service-page,.pricing-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .guarantee-note,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .answer-card{
  border-left-width:0 !important;
  border-left-style:none !important;
}

/* Sectors hub — denser mid sections */
html body.sectors-hub-page .section-head:not(.center){
  margin-bottom:1.1rem !important;
}
html body.sectors-hub-page .lp-related,
html body.sectors-hub-page .related-grid{
  gap:.85rem !important;
}

/* Team hero + roster denser */
html body.team-page .it-split-hero .btn-row,
html body.team-page .it-split-hero .hero-actions{
  margin-top:.85rem !important;
  gap:.55rem !important;
}
html body.team-page .it-person-card,
html body.team-page .team-card-premium,
html body.team-page .person-card{
  padding:1rem 1.05rem !important;
  border-radius:14px !important;
}
html body.team-page .it-person-card h3,
html body.team-page .team-body h3,
html body.team-page .person-card h3{
  font-size:clamp(1.02rem,1.1vw,1.14rem) !important;
  line-height:1.28 !important;
  max-width:24ch !important;
}

/* Pricing ladder + estimator balance */
html body.pricing-page .premium-ladder-grid{
  align-items:stretch !important;
}
html body.pricing-page .premium-ladder-grid .premium-offer-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
html body.pricing-page .premium-ladder-grid .premium-offer-card > a.btn:first-of-type{
  margin-top:auto !important;
}
html body.pricing-page .estimator-workspace,
html body.pricing-page .fee-calculator .estimator-workspace{
  align-items:stretch !important;
}
html body.pricing-page .estimator-panel,
html body.pricing-page .estimator-input-panel,
html body.pricing-page .estimator-output-panel{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}
html body.pricing-page .fee-actions{
  margin-top:auto !important;
  padding-top:.75rem !important;
}
html body.pricing-page .premium-decision-band,
html body.pricing-page .pricing-fit-grid,
html body.pricing-page .partnership-command-grid{
  gap:.85rem !important;
}
html body.pricing-page .pricing-fit-grid article,
html body.pricing-page .decision-checks li{
  padding:.85rem .95rem !important;
}

/* Process — tighter remaining head gap */
html body.process-page .section-head.section-head-vvip:not(.center){
  column-gap:clamp(.85rem,1.8vw,1.35rem) !important;
  margin-bottom:1rem !important;
}

/* Contact — reduce command-shell void under photo */
html body.contact-page .it-split-hero,
html body.contact-page .contact-command,
html body.contact-page .editorial-command{
  gap:1rem !important;
}
html body.contact-page .contact-form,
html body.contact-page form.card{
  padding:1.1rem 1.15rem !important;
}

/* Conversion bands — denser CTA group */
html body:is(.sector-page,.service-page,.pricing-page,.process-page,.team-page,.contact-page,.sectors-hub-page):not(.home-page):not(.services-page) .conversion-band-shell{
  gap:1rem 1.5rem !important;
  align-items:center !important;
}
html body:is(.sector-page,.service-page,.pricing-page,.process-page,.team-page,.contact-page,.sectors-hub-page):not(.home-page):not(.services-page) .conversion-band-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.55rem !important;
}

@media (max-width:900px){
  html body:is(.sector-page,.service-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media,
  html body:is(.sector-page,.service-page,.team-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media img{
    max-height:240px !important;
  }
  html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap,
  html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap{
    grid-template-columns:1fr !important;
  }
  html body.pricing-page .estimator-workspace{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   AUTH9 — Density + hero polish (landers/hubs only)
   Kill remaining first-viewport voids; protect home/services.
   ========================================================= */

html body:is(.sector-page,.service-page,.pricing-page,.process-page,.team-page,.contact-page,.insights-page,.sectors-hub-page):not(.home-page):not(.services-page){
  --za-section-y:clamp(28px,3.2vw,44px);
}

html body.pricing-page #pricing-overview.pricing-decision-section,
html body.pricing-page .pricing-decision-section{
  padding-top:clamp(1.1rem,2vw,1.65rem) !important;
  padding-bottom:clamp(1rem,1.8vw,1.4rem) !important;
}
html body.pricing-page .pricing-decision-shell{
  gap:clamp(.85rem,1.6vw,1.25rem) !important;
  display:flex !important;
  flex-direction:column !important;
}
html body.pricing-page .pricing-decision-hero{
  max-width:42rem !important;
  margin:0 !important;
}
html body.pricing-page .pricing-decision-hero > p{
  max-width:48ch !important;
  margin:.35rem 0 .75rem !important;
}
html body.pricing-page .pricing-primary-actions{
  margin:0 !important;
  gap:.55rem !important;
}
html body.pricing-page .pricing-jump-bar{
  margin:0 !important;
  gap:.55rem !important;
}
html body.pricing-page .pricing-jump-bar > a{
  padding:.7rem .85rem !important;
  min-height:0 !important;
}
html body.pricing-page .pricing-fit-grid{
  margin:0 !important;
  gap:.65rem !important;
}
html body.pricing-page .pricing-fit-grid article{
  padding:.75rem .9rem !important;
}
html body.pricing-page .pricing-after-invoice{
  margin:.15rem 0 0 !important;
  padding:.55rem .85rem !important;
}
html body.pricing-page #packages.section,
html body.pricing-page section#packages{
  padding-top:clamp(1.15rem,2vw,1.75rem) !important;
}

html body.process-page #page-overview.page-hero-fill,
html body.contact-page #page-overview.page-hero-fill,
html body.process-page .page-intro-section,
html body.contact-page .page-intro-section{
  padding-top:clamp(1.35rem,2.4vw,2rem) !important;
  padding-bottom:clamp(1.35rem,2.4vw,2rem) !important;
  min-height:0 !important;
}
html body.process-page .page-intro-shell,
html body.contact-page .page-intro-shell{
  gap:.7rem !important;
  max-width:44rem !important;
}
html body.process-page .page-intro-actions,
html body.contact-page .page-intro-actions{
  margin-top:.15rem !important;
  gap:.5rem !important;
}

html body.team-page .it-split-hero{ margin-bottom:0 !important; }
html body.team-page .it-split-hero-copy{
  gap:.55rem !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
html body.team-page .it-split-hero-lede,
html body.team-page .it-split-hero-copy > p{
  margin:0 !important;
  max-width:42ch !important;
}
html body.team-page .it-split-hero-actions{ margin-top:.15rem !important; }
html body.team-page .it-split-hero-contact{ margin-top:.15rem !important; }
@media (min-width:901px){
  html body.team-page .it-split-hero-media,
  html body.team-page .it-split-hero-media img{
    max-height:min(380px,48vh) !important;
  }
  html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero{
    margin-bottom:.35rem !important;
    column-gap:clamp(1.1rem,2vw,1.75rem) !important;
  }
  html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media,
  html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-media img{
    max-height:min(380px,48vh) !important;
  }
}
html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-copy{ gap:.5rem !important; }
html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-actions{ margin-top:.2rem !important; gap:.5rem !important; }
html body:is(.sector-page,.service-page,.sectors-hub-page):not(.home-page):not(.services-page) .it-split-hero-contact{ margin-top:.1rem !important; }

html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap{
  margin-top:.35rem !important;
  margin-bottom:.65rem !important;
}
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap > div,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap > div,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lf-route-snap article,
html body:is(.sector-page,.service-page):not(.home-page):not(.services-page) .lp-route-snap article{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:none !important;
}

html body.sectors-hub-page .sector-card,
html body.sectors-hub-page .lp-related a,
html body.sectors-hub-page .related-grid a,
html body.sectors-hub-page .route-card{ padding:.95rem 1rem !important; }
html body.sectors-hub-page .sector-card h3,
html body.sectors-hub-page .route-card h3,
html body.sectors-hub-page .lp-related h3{
  font-size:clamp(1.02rem,1.15vw,1.12rem) !important;
  line-height:1.28 !important;
  max-width:22ch !important;
}

html body.pricing-page .package-card .price,
html body.pricing-page .package-style-price,
html body.pricing-page .premium-price{
  font-size:clamp(1.15rem,1.6vw,1.45rem) !important;
  letter-spacing:-.02em !important;
}
html body.pricing-page .package-card,
html body.pricing-page .packages-vvip-refined .package-card{
  padding:1rem 1.05rem !important;
}


/* =========================================================
   AUTH10 — Sitewide type ladder (H1 > H2 > H3 > H4)
   Fixes inverted hierarchy (hub H1 34px vs H2 52px) and
   unifies Montserrat display scale across all page types.
   ========================================================= */

html body{
  --zatra-font-display:Montserrat,"Segoe UI",sans-serif;
  --zatra-h1-size:clamp(2.35rem,4vw,3.35rem);
  --zatra-h1:clamp(2.35rem,4vw,3.35rem);
  --zatra-h1-lh:1.12;
  --zatra-h1-ls:-.028em;
  --zatra-h1-weight:800;
  --zatra-h1-max:min(100%,38ch);
  --zatra-h2:clamp(1.45rem,2.25vw,1.95rem);
  --zatra-h2-lh:1.18;
  --zatra-h2-ls:-.022em;
  --zatra-h2-max:min(100%,28ch);
  --zatra-h3:clamp(1.02rem,1.12vw,1.14rem);
  --zatra-h3-lh:1.28;
  --zatra-h3-ls:-.015em;
  --zatra-h4:clamp(.72rem,.8vw,.8rem);
  --zatra-h4-lh:1.25;
  --zatra-h4-ls:.06em;
  --za-h2:var(--zatra-h2);
  --za-h2-lh:var(--zatra-h2-lh);
  --za-h2-ls:var(--zatra-h2-ls);
  --za-h3:var(--zatra-h3);
}

/* H1 — one page title everywhere (beat type-scale 40–72px + ID selectors) */
html body h1,
html body main h1,
html body .it-split-hero h1,
html body .it-split-hero #page-intro-title,
html body .it-split-hero #team-h1,
html body .it-split-hero #insights-h1,
html body .it-split-hero #page-h1,
html body #page-intro-title,
html body #team-h1,
html body #insights-h1,
html body #page-h1,
html body #pricing-page-title,
html body #hero-title,
html body #about-hero-title,
html body .page-intro-shell h1,
html body .pricing-decision-hero h1,
html body .about-hero-copy h1,
html body .lf-hero h1,
html body .page-hero h1,
html body.home-page .hero-editorial-copy h1,
html body.home-page .hero h1,
html body.home-page #top.hero-commercial h1,
html body.home-page #top.hero-commercial #hero-title,
html body.services-page .it-split-hero h1,
html body.services-page .it-split-hero #page-intro-title,
html body.team-page .it-split-hero #team-h1,
html body.pricing-page main #pricing-overview .pricing-decision-hero h1,
html body.process-page #page-overview.page-hero-fill #page-intro-title,
html body.contact-page #page-intro-title{
  font-family:var(--zatra-font-display) !important;
  font-size:clamp(2.35rem,4vw,3.35rem) !important;
  font-size:var(--zatra-h1-size, clamp(2.35rem,4vw,3.35rem)) !important;
  font-weight:var(--zatra-h1-weight) !important;
  line-height:var(--zatra-h1-lh) !important;
  letter-spacing:var(--zatra-h1-ls) !important;
  max-width:var(--zatra-h1-max) !important;
  margin-top:0 !important;
  text-wrap:balance !important;
}

/* H2 — section titles: always below H1 */
html body h2,
html body main h2,
html body .section-head h2,
html body .section-head.section-head-vvip h2,
html body .section-head.section-head-xdr h2,
html body .conversion-band h2,
html body .lp-head h2,
html body .lf-head h2,
html body .lf-photo-split h2,
html body .assurance-command-card h2,
html body .route-retention-panel h2,
html body .about-story-copy h2,
html body .about-cta-copy h2,
html body.home-page #main .section-head h2,
html body.home-page main .section-head h2{
  font-family:var(--zatra-font-display) !important;
  font-size:clamp(1.45rem,2.25vw,1.95rem) !important;
  font-size:var(--zatra-h2, clamp(1.45rem,2.25vw,1.95rem)) !important;
  font-weight:760 !important;
  line-height:var(--zatra-h2-lh) !important;
  letter-spacing:var(--zatra-h2-ls) !important;
  max-width:var(--zatra-h2-max) !important;
  text-wrap:balance !important;
}

/* H3 — card / pathway / package titles */
html body h3,
html body main h3,
html body .pathway-card h3,
html body .sector-card h3,
html body .service-card h3,
html body .package-card h3,
html body .premium-offer-card h3,
html body .process-step-card h3,
html body .step h3,
html body .concern-card h3,
html body .person-card h3,
html body .team-body h3,
html body .it-person-card h3,
html body .doc-card h3,
html body .faq-card h3,
html body .answer-card h3,
html body .about-badge-card h3,
html body .about-feature-grid h3,
html body .pricing-fit-grid strong{
  font-family:var(--zatra-font-display) !important;
  font-size:clamp(1.02rem,1.12vw,1.14rem) !important;
  font-size:var(--zatra-h3, clamp(1.02rem,1.12vw,1.14rem)) !important;
  font-weight:740 !important;
  line-height:var(--zatra-h3-lh) !important;
  letter-spacing:var(--zatra-h3-ls) !important;
  text-transform:none !important;
}

/* Footer meta stays compact — not content H3 */
html body .zatra-premium-footer h3,
html body .zatra-footer-col h3,
html body footer h3{
  font-size:.78rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

/* H4 / eyebrows / kickers — one label language */
html body .eyebrow,
html body .it-kicker,
html body .retention-kicker,
html body .section-head .eyebrow,
html body .lf-kicker,
html body .lp-kicker,
html body .offer-kicker,
html body .premium-package-badge,
html body h4,
html body main h4{
  font-family:var(--zatra-font-display) !important;
  font-size:var(--zatra-h4) !important;
  font-weight:800 !important;
  line-height:var(--zatra-h4-lh) !important;
  letter-spacing:var(--zatra-h4-ls) !important;
  text-transform:uppercase !important;
}

/* Ledes under heroes / section heads */
html body .it-split-hero-lede,
html body .it-split-hero-copy > p:not(.it-split-hero-contact),
html body .page-intro-shell > p,
html body .pricing-decision-hero > p,
html body .section-head > p,
html body .hero-editorial-copy > p{
  font-size:var(--za-lede) !important;
  line-height:var(--za-lede-lh) !important;
  max-width:48ch !important;
  color:var(--za-body) !important;
}

@media (max-width:980px){
  html body{
    --zatra-h1-size:clamp(2.05rem,7.2vw,2.65rem);
    --zatra-h1:var(--zatra-h1-size);
    --zatra-h2:clamp(1.25rem,4.2vw,1.55rem);
    --zatra-h3:clamp(1.02rem,3.4vw,1.12rem);
    --zatra-h1-max:100%;
    --zatra-h2-max:100%;
  }
}

/* AUTH10b — ID cascade killers (insights-team / services-overview / inline) */
html body.sectors-hub-page .it-split-hero h1,
html body.sectors-hub-page .it-split-hero #page-intro-title,
html body.insights-page .it-split-hero h1,
html body.insights-page .it-split-hero #insights-h1,
html body.insights-page .it-split-hero #page-intro-title,
html body.team-page .it-split-hero #team-h1,
html body.pricing-page .pricing-decision-hero h1,
html body.pricing-page #pricing-page-title,
html body.process-page #page-intro-title,
html body.contact-page #page-intro-title,
html body.sector-page .it-split-hero h1,
html body.service-page .it-split-hero h1{
  font-size:clamp(2.35rem,4vw,3.35rem) !important;
  line-height:1.12 !important;
  letter-spacing:-.028em !important;
  max-width:min(100%,38ch) !important;
}

/* =========================================================
   AUTH11 — Label + fill-hero unity
   One eyebrow language; kill pill/red dual system; lock leftover H2s.
   ========================================================= */

/* Hero / section labels — red uppercase text, no pill chrome */
html body .it-kicker,
html body .eyebrow,
html body .retention-kicker,
html body .section-head .eyebrow,
html body .lf-kicker,
html body .lp-kicker,
html body .page-intro-shell .retention-kicker,
html body .pricing-decision-hero .retention-kicker,
html body .about-hero-copy .retention-kicker,
html body .hero-editorial-copy .retention-kicker,
html body .hero-editorial-copy .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  gap:.4rem !important;
  margin:0 0 .55rem !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--za-red,#ed0000) !important;
  font-family:var(--zatra-font-display,Montserrat,sans-serif) !important;
  font-size:var(--zatra-h4,.72rem) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
}

/* Hide decorative red-dot pseudo / leading bullet chips inside labels */
html body .retention-kicker::before,
html body .page-intro-shell .retention-kicker::before,
html body .pricing-decision-hero .retention-kicker::before,
html body .about-hero-copy .retention-kicker::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  box-shadow:none !important;
}

/* Contact / long sentence H2s stay on ladder, wider measure */
html body.contact-page #contact-title,
html body.contact-page .cta-intro-copy h2,
html body.about-page h2,
html body.faqs-page h2,
html body.process-page .section-head h2,
html body.pricing-page .section-head h2{
  font-size:var(--zatra-h2, clamp(1.45rem,2.25vw,1.95rem)) !important;
  line-height:var(--zatra-h2-lh,1.18) !important;
  letter-spacing:var(--zatra-h2-ls,-.022em) !important;
  max-width:min(100%,42ch) !important;
}

/* Hero ledes — one supporting voice */
html body .it-split-hero-lede,
html body .page-intro-shell > p,
html body .pricing-decision-hero > p,
html body .about-hero-copy > p,
html body .hero-editorial-copy > p:not(.hero-actions):not(.btn-row){
  font-size:1.02rem !important;
  line-height:1.55 !important;
  max-width:48ch !important;
  color:var(--za-body,#475467) !important;
  font-weight:500 !important;
}

/* CTA groups — same rhythm in heroes */
html body .it-split-hero-actions,
html body .page-intro-actions,
html body .pricing-primary-actions,
html body .hero-actions,
html body .about-hero-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.55rem !important;
  margin-top:.35rem !important;
}

/* Secondary buttons — shared quiet chrome (no glow race) */
html body .it-split-hero-actions .btn-secondary,
html body .page-intro-actions .btn-secondary,
html body .pricing-primary-actions .btn-secondary,
html body .hero-actions .btn-secondary{
  box-shadow:none !important;
  border:1px solid rgba(16,24,40,.14) !important;
  background:#fff !important;
  color:var(--za-ink,#0b1220) !important;
}

html body .it-split-hero-actions .btn-primary,
html body .page-intro-actions .btn-primary,
html body .pricing-primary-actions .btn-primary,
html body .hero-actions .btn-primary{
  box-shadow:0 8px 18px rgba(237,0,0,.18) !important;
}

/* Fill-hero shells denser so H1/lede/CTAs read as one block */
html body.process-page .page-intro-shell,
html body.contact-page .page-intro-shell,
html body.about-page .about-hero-copy,
html body.faqs-page .page-intro-shell,
html body.pricing-page .pricing-decision-hero{
  gap:.55rem !important;
}
