/* Continuous design scale. Reading text stays readable; artwork and display type scale together. */
html:root{
 --responsive-shell:min(1552px,calc(100vw - var(--gutter)*2));
 --ag-panel-max-width:1552px;
 --pill-title:clamp(40px,calc(var(--responsive-shell)*.056701),88px);
 --pill-small-title:clamp(34px,calc(var(--responsive-shell)*.036083),56px);
 --pill-opening-title:clamp(46px,calc(var(--responsive-shell)*.085052),132px);
 --ag-section-title-size:clamp(44px,calc(var(--responsive-shell)*.061856),96px);
 --ag-panel-gap:clamp(28px,calc(var(--responsive-shell)*.030928),48px);
 --ag-section-space:clamp(64px,calc(var(--responsive-shell)*.07732),120px);
 --ag-column-gap:clamp(32px,calc(var(--responsive-shell)*.083763),130px);
}
/* Matching content panels use one shell at every desktop/laptop width. */
html body[data-page] main .work-approach-feature{width:calc(100% - var(--gutter)*2);max-width:var(--ag-panel-max-width);margin-inline:auto}
@media(min-width:601px){
 html body[data-page] main :is(.home-section-heading h2,.home-v3-section>.section-heading h2,.work-collection-heading){font-size:var(--ag-section-title-size)!important}
 html body[data-page] main :is(.home-spatial .solution-card,.work-pillar-card,.ag-team-stage .founder-card){width:clamp(310px,calc(var(--responsive-shell)*.309278),480px)!important}
 html body[data-page] main :is(.home-spatial .home-solution-media,.work-pillar-image){height:clamp(210px,calc(var(--responsive-shell)*.186856),290px)!important}
 html body[data-page] main :is(.home-spatial .solution-copy,.work-pillar-copy,.ag-team-stage .founder-copy){padding:clamp(20px,calc(var(--responsive-shell)*.017397),27px)!important}
 html body[data-page] main .home-spatial .solution-copy h3{font-size:clamp(34px,calc(var(--responsive-shell)*.031572),49px)!important}
 html body[data-page] main :is(.work-pillar-copy h3,.ag-team-stage .founder-copy h3){font-size:clamp(28px,calc(var(--responsive-shell)*.025773),40px)!important}
 html body[data-page] main :is(.home-spatial .solution-copy p,.work-pillar-copy p,.ag-team-stage .founder-copy p){font-size:16px!important;line-height:1.65!important}
 html body[data-page] main .home-services .home-step-copy h3{font-size:clamp(38px,calc(var(--responsive-shell)*.046392),72px)!important}
 html body[data-page] main .career-heading>h2:not(#responsive-a):not(#responsive-b):not(#responsive-c){font-size:var(--pill-title)!important}
 html body[data-page] main .roster-heading h1{font-size:clamp(46px,calc(var(--responsive-shell)*.059278),92px)!important}
 html body[data-page] main .founders-heading h2{font-size:clamp(40px,calc(var(--responsive-shell)*.041237),64px)!important}
 html body[data-page] main .project-banner-title{font-size:clamp(38px,calc(var(--responsive-shell)*.041237),64px)!important}
 html body[data-page] main .project-banner{height:clamp(230px,calc(var(--responsive-shell)*.180412),280px)!important}
 html body[data-page] main .work-approach-feature{min-height:calc(306px + var(--pill-title)*2.08)!important}
 html body[data-page] main .work-approach-feature-copy h2:not(#responsive-a):not(#responsive-b):not(#responsive-c){font-size:var(--pill-title)!important}
 html body[data-page] main .about-story-title h2{font-size:var(--pill-small-title)!important}
 html body[data-page=news] main :is(.news-article-heading h1,.news-feature h1){font-size:clamp(38px,calc(var(--responsive-shell)*.042526),66px)!important}
}
/* Do not shrink prose simply because a computer has a smaller screen. */
html body[data-page] :is(.about-story-copy p,.service-standfirst,.service-copy p,.service-explanation p,.roster-howto,.news-article-body p,.news-article-body li,.legal-body p,.legal-body li){font-size:var(--responsive-reading,17px);line-height:1.7}
@media(max-width:600px){html:root{--pill-title:clamp(40px,11vw,54px);--pill-small-title:clamp(34px,9vw,44px);--pill-opening-title:clamp(46px,13vw,60px);--ag-section-title-size:clamp(40px,11vw,49px);--responsive-reading:16px;--ag-panel-gap:28px}}
/* Tables keep their own horizontal scroll instead of widening the entire page. */
.news-article-body{min-width:0;max-width:100%}
.news-article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}

@media(min-width:601px){
 html body[data-page=legal] .news-article-heading h1{font-size:clamp(42px,calc(var(--responsive-shell)*.050258),78px)!important}
 html body[data-page] .news-article-body h2{font-size:clamp(30px,calc(var(--responsive-shell)*.027706),43px)!important}
 html body[data-page] .news-article-body h3{font-size:clamp(26px,calc(var(--responsive-shell)*.01933),30px)!important}
 html body[data-page] .seo-title{font-size:clamp(54px,calc(var(--responsive-shell)*.065722),102px)!important}
 html body[data-page] .seo-section h2{font-size:clamp(40px,calc(var(--responsive-shell)*.046392),72px)!important}
 html body[data-page] .seo-card h3{font-size:clamp(28px,calc(var(--responsive-shell)*.025773),40px)!important}
}
html body[data-page] .news-article-body :is(p,li){overflow-wrap:anywhere}

.news-article-table{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
@media(max-width:800px){html.news-reader-ready body[data-page=news] .news-room:not(.is-drawer-open) .news-library{transform:translateX(12px);opacity:0;pointer-events:none}html.news-reader-ready body[data-page=news] .news-room.is-drawer-open .news-library{opacity:1;pointer-events:auto}}

/* Short tablet frames expand only when copy would collide with a corner label. */
[data-ag-opening=standard]:not(.home-cinema-window):not(.work-cinema-window):not(#opening-a):not(#opening-b):not(#opening-c):not(#responsive-opening){min-height:var(--responsive-opening-height,0px)!important}
@media(max-width:600px){[data-ag-opening=standard]:not(.home-cinema-window):not(.work-cinema-window):not(#opening-a):not(#opening-b):not(#opening-c):not(#responsive-opening){min-height:max(var(--opening-phone-height,620px),var(--responsive-opening-height,0px))!important}}

/* Taller phone headlines keep clear of the cinema frame edges. */
@media(max-width:600px){.home-cinema-stage,.work-cinema-stage,.home-cinema-window[data-ag-opening],.work-cinema-window[data-ag-opening]{min-height:var(--responsive-opening-height,0px)!important}}
