/* ===== CAD BOLT site-wide wide-screen layout + spacing scale (loaded last on every page) ===== */
:root{--max:1560px;--wide:min(1560px,100% - 48px);--sp-1:.5rem;--sp-2:.875rem;--sp-3:1.125rem;--sp-4:1.5rem;--sp-5:2.25rem}
.container,.site-header .nav,.nav{width:var(--wide)!important;margin-inline:auto}
.story.is-static .story-panels,.workflow-progress{width:var(--wide)}
.workflow-track{padding-left:max(24px,calc((100vw - 1560px)/2));padding-right:max(24px,calc((100vw - 1560px)/2))}
img{max-width:100%}
/* --- spacing scale: eyebrow -> heading -> paragraph -> buttons --- */
.chapter-label,.section-eyebrow,.hero-eyebrow,.micro-label,.feature-label{display:block;line-height:1.4;margin:0 0 var(--sp-3)!important}
.chapter-title,.hero-title,.panel-title,.section-title{line-height:1!important;margin-top:0!important;margin-bottom:var(--sp-3)!important;padding-top:.06em}
.lod-copy h3{line-height:1.02;margin:0 0 var(--sp-2)}
.chapter-desc,.section-sub,.hero-sub,.panel-desc{margin-top:0;max-width:72ch;line-height:1.6}
.cat-badge,.gc-badge,.group-tag,.ag-tag,.service-badge,.pl-free,.ars-new{line-height:1.3}
p+.btn,p+.cta,p+.btn-row,p+.hero-ctas,p+.cta-row,.chapter-desc+div,.hero-sub+div{margin-top:var(--sp-4)}
h3+p,h4+p{margin-top:var(--sp-1)}
/* --- wide grids --- */
@media (min-width:1280px){
  .chapter-head:has(.chapter-desc){display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);column-gap:3rem;align-items:end;max-width:none}
  .chapter-head:has(.chapter-desc)>*:not(.chapter-title):not(.chapter-desc){grid-column:1/-1}
  .chapter-head:has(.chapter-desc) .chapter-title{margin-bottom:0!important}
  .chapter-head:has(.chapter-desc) .chapter-desc{margin-bottom:.4rem}
  .presence-grid,.ars-packs,.cba-packs,.related-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .aih-tools,.deliverables-check{grid-template-columns:repeat(3,minmax(0,1fr))}
  .partner-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (min-width:1600px){.projects-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:1279px){.chapter-head{max-width:820px}}
/* Group Companies: centered, symmetric (overrides split header) */
.group-co .chapter-head{display:block!important;max-width:none;text-align:center;margin-inline:auto}
.group-co .chapter-head .chapter-title{margin-bottom:var(--sp-3)!important}
.group-co .chapter-head .chapter-desc{max-width:60ch;margin:0 auto}
.group-co .group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1100px;margin:var(--sp-5) auto 0;align-items:stretch}
.group-co .group-grid .group-card{height:auto;align-items:center;text-align:center;padding:32px 28px}
.group-co .group-grid .group-body{align-items:center;width:100%}
.group-co .group-grid .group-body h3{min-height:1.1em;line-height:1.05}
.group-co .group-grid .group-body p:not(.group-tag){flex:1}
.group-co .group-grid .group-body .pill-btn{margin-top:auto;align-self:center}
@media(max-width:820px){.group-co .group-grid{grid-template-columns:1fr;max-width:560px}}
/* Story rail (homepage): one straight right-aligned column, labels expand left from the same edge, dot per step on the line */
.story-rail{align-items:flex-end;gap:1rem!important;padding-right:16px!important}
.story-rail button{position:relative;justify-content:flex-end;gap:0;padding:0;line-height:1;min-height:1rem}
.story-rail button span{display:block;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums}
.story-rail button em{position:absolute;right:calc(100% + .7rem);top:50%;white-space:nowrap;transform:translate(8px,-50%)!important;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.story-rail button:hover em,.story-rail button.is-on em{opacity:1;transform:translate(0,-50%)!important}
.story-rail button::after{content:"";position:absolute;right:-20px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:rgba(255,255,255,.28);box-shadow:0 0 0 2px rgba(7,21,34,.9);transition:background .3s ease,transform .3s ease}
.story-rail button.is-on::after{background:var(--orange,#F37021);transform:scale(1.5)}
@media (max-width:1099px){.story-rail{display:none!important}}
