/* Unified homepage alignment contract. Loaded last. */
body.ic-public{
 --ic-home-gutter:clamp(32px,5vw,80px);
 --ic-home-inner:clamp(24px,3vw,48px);
}
body.ic-public :is(.public-site-header .nav,.reveal-layout){
 width:100%;
 max-width:none!important;
 margin-inline:auto!important;
 padding-inline:var(--ic-home-gutter)!important;
 box-sizing:border-box;
}
body.ic-public .cm-home-content :is(.cm-brand-strip,.cm-section,.cm-impact,.cm-continuation__banner,.cm-platform,.cm-capability-grid,.cm-results,.cm-resources,.cm-final-cta){
 width:calc(100% - (var(--ic-home-gutter) * 2))!important;
 max-width:none!important;
 margin-inline:auto!important;
 box-sizing:border-box;
}
body.ic-public .cm-home-content :is(.cm-section,.cm-platform,.cm-capability-grid,.cm-results){padding-inline:0!important}
body.ic-public .cm-home-content .cm-brand-strip{padding-inline:var(--ic-home-inner)!important}
body.ic-public .cm-home-content .cm-brand-strip{overflow:hidden}
body.ic-public .cm-home-content .cm-brand-strip>.cm-brand-marquee{
 display:flex!important;
 flex-wrap:nowrap!important;
 justify-content:flex-start!important;
 gap:0!important;
 width:100%;
 overflow:hidden;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
body.ic-public .cm-home-content .cm-brand-track{
 display:flex;
 flex-wrap:nowrap;
 flex:0 0 max-content;
 align-items:center;
 gap:clamp(38px,5vw,82px);
 padding-right:clamp(38px,5vw,82px);
 animation:icBrandMarquee 28s linear infinite;
 will-change:transform;
}
body.ic-public .cm-home-content .cm-brand-marquee:hover .cm-brand-track{animation-play-state:paused}
@keyframes icBrandMarquee{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){body.ic-public .cm-home-content .cm-brand-track{animation:none}body.ic-public .cm-home-content .cm-brand-track[aria-hidden="true"]{display:none}}
body.ic-public .cm-home-content .cm-impact{border-radius:18px}
body.ic-public .cm-home-content .cm-impact__copy{padding-inline:var(--ic-home-inner)!important}
body.ic-public .cm-home-content .cm-resources{padding-inline:var(--ic-home-inner)!important;border-radius:18px}
body.ic-public .cm-home-content .cm-final-cta{padding-inline:var(--ic-home-inner)!important}

/* Full-bleed impact band with content kept on the shared page grid. */
body.ic-public .cm-home-content .cm-impact{
 width:100%!important;
 border-radius:0!important;
}
body.ic-public .cm-home-content .cm-impact__copy{
 padding-left:var(--ic-home-gutter)!important;
 padding-right:var(--ic-home-inner)!important;
}
body.ic-public .cm-home-content .cm-impact-gallery span:nth-child(1){
 background-image:url('https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=900&q=88')!important;
 background-position:center 22%!important;
}
body.ic-public .cm-home-content .cm-impact-note{
 background:rgba(7,24,52,.72)!important;
 color:#fff!important;
 border:1px solid rgba(255,255,255,.35);
 backdrop-filter:blur(5px);
}
body.ic-public .cm-home-content :is(.cm-creator-row,.cm-step-grid,.cm-results__grid,.cm-resource-grid){min-width:0}
body.ic-public .cm-home-content :is(.cm-creator-row>*,.cm-step-grid>*,.cm-results__grid>*,.cm-resource-grid>*){min-width:0}

/* Adjacent containers share one vertical gap instead of stacking two full gaps. */
@media(min-width:768px){
 body.ic-public .cm-home-content .cm-creators{padding-bottom:50px!important}
 body.ic-public .cm-home-content .cm-workflow{padding-top:50px!important}
 body.ic-public .cm-home-content .cm-results{padding-bottom:50px!important}
 body.ic-public .cm-home-content .cm-final-cta{margin-top:50px!important}
}

@media(max-width:1100px){
 body.ic-public{--ic-home-gutter:32px;--ic-home-inner:28px}
 body.ic-public .reveal-layout{padding-top:44px!important;padding-bottom:44px!important}
 body.ic-public .cm-home-content .cm-platform{grid-template-columns:1fr!important}
 body.ic-public .cm-home-content .cm-impact{grid-template-columns:1fr!important}
 body.ic-public .cm-home-content .cm-resources{grid-template-columns:1fr!important}
}

@media(max-width:767px){
 body.ic-public{--ic-home-gutter:18px;--ic-home-inner:18px}
 body.ic-public .public-site-header .nav{padding-inline:18px!important}
 body.ic-public .reveal-layout{padding:32px 18px 40px!important}
 body.ic-public .cm-home-content :is(.cm-brand-strip,.cm-section,.cm-impact,.cm-continuation__banner,.cm-platform,.cm-capability-grid,.cm-results,.cm-resources,.cm-final-cta){
  width:calc(100% - 36px)!important;
 }
 body.ic-public .cm-home-content :is(.cm-section,.cm-platform,.cm-capability-grid,.cm-results){padding-inline:0!important}
 body.ic-public .cm-home-content :is(.cm-resources,.cm-final-cta){border-radius:14px}
 body.ic-public .cm-home-content .cm-impact{width:100%!important;border-radius:0!important}
 body.ic-public .cm-home-content .cm-final-cta{margin-top:34px!important;margin-bottom:34px!important}
 body.ic-public .cm-home-content .cm-resource-grid>a{min-width:0}
 body.ic-public .cm-home-content .cm-creators{padding-bottom:28px!important}
 body.ic-public .cm-home-content .cm-workflow{padding-top:28px!important}
 body.ic-public .cm-home-content .cm-results{padding-bottom:28px!important}
 body.ic-public .cm-home-content .cm-final-cta{margin-top:28px!important}
}

/* The brand marquee is a full-bleed band at every viewport size. */
body.ic-public .cm-home-content .cm-brand-strip{
 width:100%!important;
 max-width:none!important;
 margin-inline:0!important;
}
