/* =============================================================================
   Desktop hub refine — Services / Sectors / Insights (desktop only ≥981px)
   Kills site.css 2-column .section-head zigzag, orphan related cards, idle gaps.
   Mobile ≤980px unchanged (mobile-refine owns that surface).
   Cache ?v=20260806desk1
   ============================================================================= */

@media (min-width: 981px){

  /* ---- Section heads: stack like homepage (eyebrow → h2 → lede) ---- */
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head:not(.center),
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head.compact{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:0 !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    max-width:42rem !important;
    width:100% !important;
    margin:0 0 clamp(18px, 2.2vw, 28px) !important;
    padding:0 !important;
    text-align:left !important;
  }

  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head:not(.center) .eyebrow,
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head.compact .eyebrow{
    margin:0 0 10px !important;
    align-self:flex-start !important;
  }

  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head:not(.center) h2,
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head.compact h2{
    display:block !important;
    width:100% !important;
    max-width:min(100%, 34ch) !important;
    margin:0 0 12px !important;
    text-align:left !important;
    align-self:flex-start !important;
  }

  /* Readiness CTA band: copy + actions adjacent (no mid-shell void) */
  html body:is(.service-page, .service-lander-page, .sector-page, .services-page)
    #diagnostic-offer > .container{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:clamp(1.25rem, 2.5vw, 2rem) !important;
  }
  html body:is(.service-page, .service-lander-page, .sector-page, .services-page)
    #diagnostic-offer .section-head{
    flex:0 1 36rem !important;
    max-width:36rem !important;
    margin:0 !important;
  }
  html body:is(.service-page, .service-lander-page, .sector-page, .services-page)
    #diagnostic-offer .section-head h2{
    max-width:min(100%, 18rem) !important;
  }
  html body:is(.service-page, .service-lander-page, .sector-page, .services-page)
    #diagnostic-offer .section-cta-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    flex:0 0 auto !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    margin:0 !important;
    max-width:280px !important;
    width:280px !important;
  }

  /* Insights investor questions: stacked copy + full-width 3×2 action grid */
  html body.insights-page #investor-questions > .container{
    display:block !important;
  }
  html body.insights-page #investor-questions .section-head{
    max-width:42rem !important;
    margin:0 0 1.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 12px !important;
    margin:0 !important;
    max-width:none !important;
    width:100% !important;
  }
  html body.insights-page #investor-questions .section-cta-row .btn{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Topic hubs: tighter head → grid rhythm */
  html body.insights-page .it-topic-hubs .section-head{
    max-width:42rem !important;
    margin-bottom:1rem !important;
  }
  html body.insights-page .it-topic-hubs{
    padding-top:clamp(2rem, 3.5vw, 3rem) !important;
    padding-bottom:clamp(1.5rem, 3vw, 2.25rem) !important;
  }

  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head:not(.center)>p,
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head:not(.center):not(.compact)>p,
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-head.compact>p{
    display:block !important;
    border-left:0 !important;
    padding-left:0 !important;
    padding-top:0 !important;
    margin:0 !important;
    max-width:52ch !important;
    width:100% !important;
    text-align:left !important;
    align-self:flex-start !important;
  }

  /* Diagnostic / investor CTA rows sit under stacked head */
  html body:is(
    .service-page,
    .service-lander-page,
    .sector-page,
    .sectors-hub-page,
    .services-page,
    .insights-page
  ) .section-cta-row{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:18px !important;
    padding-top:0 !important;
    max-width:min(100%, 56rem) !important;
  }

  /* Related routes: full-shell 2×2 (no orphan card, no idle right gutter) */
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lp-related,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-related{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:clamp(14px, 1.8vw, 20px) !important;
    max-width:none !important;
    width:100% !important;
  }

  /* Documents checklist: keep columns close (avoid stretched center gutter) */
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lp-checklist,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-checklist{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:6px 20px !important;
    max-width:44rem !important;
  }
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lp-head,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-head{
    max-width:42rem !important;
  }

  /* Why-sectors: wider measure + paired media fills idle right */
  html body.sectors-hub-page #why-sectors > .container{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
    gap:clamp(1.5rem, 3vw, 2.5rem) !important;
    align-items:center !important;
  }
  html body.sectors-hub-page #why-sectors .section-head{
    max-width:none !important;
    margin:0 !important;
  }
  html body.sectors-hub-page #why-sectors .section-head h2{
    max-width:16ch !important;
  }
  html body.sectors-hub-page #why-sectors .section-head > p{
    max-width:48ch !important;
  }
  html body.sectors-hub-page #why-sectors .why-sectors-media{
    margin:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    border:1px solid rgba(16,24,40,.12) !important;
    box-shadow:0 14px 36px rgba(7,17,31,.08) !important;
    aspect-ratio:16 / 11 !important;
    background:#e4e4e7 !important;
  }
  html body.sectors-hub-page #why-sectors .why-sectors-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }

  /* Photo / overview split: align tops, tighten gutter */
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-photo-split,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-photo-split.is-flip{
    align-items:start !important;
    gap:clamp(1.5rem, 3vw, 2.5rem) !important;
  }
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-mid-media{
    aspect-ratio:16 / 11 !important;
  }

  /* Soft/diagnostic bands: less vertical air on desktop */
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page, .sectors-hub-page)
    main > .section#diagnostic-offer,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page, .sectors-hub-page)
    main > .section#documents,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page, .sectors-hub-page)
    main > .section#related,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page, .sectors-hub-page)
    main > .section#why-sectors,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page, .sectors-hub-page)
    main > .section#related-services,
  html body:is(.insights-page) main > .section#investor-questions,
  html body:is(.insights-page) .it-topic-hubs{
    padding-top:clamp(36px, 4vw, 56px) !important;
    padding-bottom:clamp(36px, 4vw, 56px) !important;
  }

  /* Sectors hub: related services full-shell 2×2 */
  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;
    max-width:none !important;
    width:100% !important;
  }

  /* Sector cards already 3-wide — keep full shell */
  html body.sectors-hub-page .sector-card-grid{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    width:100% !important;
  }

  /* Insights topic hubs: 4-col desktop (not sparse 5) */
  html body.insights-page .it-topic-hubs .pathway-grid{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:14px !important;
  }
  html body.insights-page .it-topic-hubs .section-head{
    max-width:42rem !important;
  }

  /* Insights archive rows: stop truncating titles; balance CTA */
  html body.insights-page #archive .it-row-copy h3,
  html body.insights-page #archive a.it-row .it-row-copy h3,
  html body.insights-page #archive .it-year-scroll .it-row-copy h3{
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:unset !important;
    max-width:none !important;
  }
  html body.insights-page #archive a.it-row,
  html body.insights-page #archive .it-row{
    grid-template-columns:72px minmax(120px,160px) minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:1rem 1.15rem !important;
  }
  html body.insights-page #archive .it-row-copy{
    min-width:0 !important;
    padding-right:.5rem !important;
  }
  html body.insights-page #archive .it-rows-head{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:1rem !important;
  }
  html body.insights-page #archive .it-year-summary{
    align-items:center !important;
  }
  html body.insights-page #archive > .container{
    max-width:var(--max, 1200px) !important;
    width:100% !important;
  }

  /* Route snapshot / quick-answer: fill shell, less internal void */
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lp-route-snap,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .lf-route-snap,
  html body:is(.sector-page, .service-page, .service-lander-page, .services-page) .quick-answer{
    max-width:none !important;
  }
}
