/* Finishing pass: preserve the restored composition and type scale. */
html{scroll-padding-top:100px}
html body.theme-vibrant main#main :is(section,article,figure,form,dl,div){min-width:0}
html body.theme-vibrant main#main :is(.section,.page-hero,.case-hero){scroll-margin-top:100px}
html body.theme-vibrant main#main :is(.story-grid,.collection-grid,.home-service-grid,.outcome-grid,.profile-detail-grid,.service-detail-grid){align-items:stretch!important}
html body.theme-vibrant main#main :is(.story-card,.collection-card,.home-service,.outcome-card){height:100%;min-width:0}
html body.theme-vibrant main#main :is(.story-copy,.collection-caption){flex:1}
html body.theme-vibrant main#main :is(.story-copy,.collection-caption,.home-service) :is(.story-cta,.home-card-link){margin-top:auto!important}
html body.theme-vibrant main#main :is(.hero-actions,.contact-actions,.venture-actions){align-items:center;flex-wrap:wrap;row-gap:12px}
html body.theme-vibrant main#main :is(.campaign-metrics,.career-stats,.impact-number-grid){font-variant-numeric:tabular-nums}
html body.theme-vibrant main#main :is(.record-grid,.media-grid,.project-gallery) img{max-width:100%;object-fit:contain}
html body.theme-vibrant :is(a,button,input,textarea,select):focus-visible{outline:2px solid #78952b;outline-offset:4px}
html body.theme-vibrant .campaign-track{transition-timing-function:cubic-bezier(.22,1,.36,1)}
@media(max-width:600px){
 html body.theme-vibrant.page-home main#main #introduction .hero-narrative{display:block!important}
 html body.theme-vibrant main#main .section-head{grid-template-columns:minmax(0,1fr)!important;align-items:start!important}
 html body.theme-vibrant main#main .section-head>p{justify-self:start!important}
 html body.theme-vibrant main#main :is(.hero-actions,.contact-actions,.venture-actions){gap:10px!important}
 html body.theme-vibrant main#main :is(.campaign-metrics,.showcase-results)>*{min-width:0}
 html body.theme-vibrant main#main .campaign-metrics dd{overflow-wrap:anywhere}
 html body.theme-vibrant main#main :is(input,textarea,select){max-width:100%}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 html body.theme-vibrant :is(.campaign-track,.motion-surface,.fx-reveal,.choreo-card){transition:none!important}
}
