/* ASG area pages: compact section rhythm and responsive layouts. 2026-10-19. */
body.asg-area-page main > :is(.gate-section,.devband,.ta-section,.intro,.challenge,.offer,.method,.case,.portfolio-system,.full-visual-section,.story,.when,.gov-intro,.gov-dark,.cadence-section,.decision-loop,.role-section,.measures,.when5,.story-split,.overview,.program-detail,.support,.trainers){padding-block:clamp(44px,4.7vw,64px)}
body.asg-area-page main > .editorial{padding-block:52px}
body.asg-area-page main h2{margin-top:0}
body.asg-area-page :is(.intro-grid,.challenge-grid,.case-grid,.when-grid,.gov-intro-grid,.when5-grid){column-gap:48px}
body.asg-area-page :is(.challenge-head,.offer-head,.method-head,.story-head,.full-visual-head){gap:28px 48px;margin-bottom:28px}
body.asg-area-page :is(.container,.full-visual,.intro-grid,.challenge-grid,.case-grid,.offer-grid,.method-grid,.module-grid,.role-matrix) > *{min-width:0}
body.asg-area-page .full-visual{width:min(1120px,calc(100% - 48px))}
body.asg-area-page .full-visual-copy{margin-bottom:28px}
body.asg-area-page .full-visual-after{margin-top:26px}
body.asg-area-page .offer-card{min-height:0}
body.asg-area-page .photo-band{margin-block:28px}
body.asg-area-page .photo-band img{height:clamp(300px,32vw,430px);object-fit:cover}
body.asg-area-page :is(.program-detail,.story,.offer,.method,.full-visual-section) h2{max-width:1050px}
body.asg-area-page [id]{scroll-margin-top:108px}
body.asg-area-page .case-img img{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center;display:block}
@media(min-width:981px){
 body.asg-area-page :is(.subhero-copy,.process-hero-copy,.npi-hero-copy,.digital-copy,.gov-copy,.train-hero-copy){padding-top:64px;padding-bottom:64px}
}
@media(min-width:701px) and (max-width:1050px){
 body.asg-area-page :is(.challenge-head,.offer-head,.method-head,.story-head,.full-visual-head,.editorial-grid,.editorial-grid.reverse,.gov-intro-grid,.when5-grid,.role-matrix,.story-split-grid,.support-grid){grid-template-columns:1fr;gap:28px}
 body.asg-area-page :is(.module-grid,.npi-offer,.cadence-grid5,.loop,.measure-grid,.method-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body.asg-area-page main > :is(.gate-section,.devband,.ta-section,.intro,.challenge,.offer,.method,.case,.portfolio-system,.full-visual-section,.story,.when,.gov-intro,.gov-dark,.cadence-section,.decision-loop,.role-section,.measures,.when5,.story-split,.overview,.program-detail,.support,.trainers,.editorial){padding-block:40px}
 body.asg-area-page :is(.challenge-head,.offer-head,.method-head,.story-head,.full-visual-head,.case-grid,.challenge-grid,.when-grid,.gov-intro-grid,.when5-grid,.editorial-grid,.editorial-grid.reverse,.role-matrix,.story-split-grid,.support-grid,.module-grid,.npi-offer,.cadence-grid5,.loop,.measure-grid,.method-grid){grid-template-columns:minmax(0,1fr);gap:24px}
 body.asg-area-page .full-visual{width:calc(100% - 28px)}
 body.asg-area-page .photo-band img{height:auto;aspect-ratio:16/10;object-fit:cover}
 body.asg-area-page .photo-band{margin-top:22px;margin-bottom:24px}
 body.asg-area-page .loop-step:after{display:none}
 body.asg-area-page [id]{scroll-margin-top:84px}
}
