/* Mobile pill copy: small labels stay high; the main message rests at the base. */
@media(max-width:600px){
 html body[data-page] main .ag-shared-cta.ag-hello-cta[data-cta-storefront] .ag-hello-copy{display:flex;flex-direction:column;align-self:stretch;min-height:620px;justify-content:flex-end;padding:28px 24px;width:100%;max-width:none}
 html body[data-page] main [data-cta-storefront] .ag-hello-copy>.eyebrow{margin:0 0 auto;padding-bottom:48px;flex-shrink:0}
 html body[data-page] main [data-cta-storefront] .ag-hello-copy>h2{margin-top:0}
 html body[data-page] main [data-cta-storefront]::after{background:linear-gradient(180deg,rgba(16,17,18,0.58588) 0%,rgba(16,17,18,0.13412) 25%,rgba(16,17,18,0.45176) 50%,rgba(16,17,18,0.81176) 100%)}
 html body[data-page] main .about-welcome-copy{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-self:stretch;width:100%;max-width:none;padding:30px 24px 76px;min-height:inherit}
 html body[data-page] main .about-welcome-copy>.eyebrow{margin:0 0 auto;padding-bottom:48px}
 html body[data-page] main .about-welcome-film:after{background:linear-gradient(180deg,rgba(0,0,0,0.42),transparent 30%,rgba(0,0,0,0.42) 55%,rgba(0,0,0,0.72))}
 html body[data-page] main .work-approach-feature-copy{display:flex;flex-direction:column;justify-content:flex-end;min-height:570px}
 html body[data-page] main .work-approach-feature-copy>.eyebrow{margin-bottom:auto;padding-bottom:48px}
 html body[data-page] main .home-why.ag-hello-cta .ag-hello-copy{display:flex;flex-direction:column;min-height:520px;justify-content:flex-end}
 html body[data-page] main .home-why .ag-hello-copy>.eyebrow{margin-bottom:auto;padding-bottom:48px}
 html body[data-page] main .career-heading{display:flex;flex-direction:column;min-height:440px;justify-content:flex-end}
 html body[data-page] main .career-heading>.eyebrow{margin-bottom:auto;padding-bottom:48px}
 html body[data-page] main .about-story-title>.eyebrow{margin-bottom:auto;padding-bottom:48px}
 html body[data-page] main .discipline-panel{align-items:stretch}
 html body[data-page] main .discipline-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;min-height:535px}
 html body[data-page] main .discipline-copy>.eyebrow{margin-bottom:auto;padding-bottom:48px}
 html body[data-page] main .project-banner-copy{inset:24px 24px 62px;max-width:none;width:auto;translate:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
 html body[data-page] main .project-banner-copy>.eyebrow{margin-bottom:auto}
 html body[data-page] main .project-hero-copy{top:24px;bottom:28px;display:flex;flex-direction:column;justify-content:flex-end}
 html body[data-page] main .project-hero-copy>.eyebrow{margin-bottom:auto;padding-bottom:32px}
 /* Text panels beneath carousel pictures retain their image and label positions. */
 html body[data-page] main :is(.solution-copy,.founder-copy,.project-copy-block){display:flex;flex-direction:column;align-items:flex-start;text-align:left}
 html body[data-page] main .solution-copy>.eyebrow{margin-bottom:auto;padding-bottom:18px}
 html body[data-page] main .founder-copy>h3{margin-top:auto}
 html body[data-page] main .project-story-card .project-copy-block>h3{margin-top:auto}
 /* Opening films already reserve the bottom area for their sound controls. */
 html body[data-page] main :is(.home-cinema-copy,.work-cinema-window .work-intro-copy){top:28px;bottom:100px;display:flex;flex-direction:column;justify-content:flex-end}
 html body[data-page] main :is(.home-cinema-copy,.work-intro-copy)>.eyebrow{margin-bottom:auto;padding-bottom:24px}
 html body[data-page] main .services-banner{padding-top:28px}
 html body[data-page] main .services-banner-copy{display:flex;flex-direction:column;min-height:440px;justify-content:flex-end}
 html body[data-page] main .services-banner-copy>h1{margin-bottom:auto;padding-bottom:32px}
}
/* Desktop messages sit at the base; labels are independently corner-anchored. */
@media(min-width:601px){
 html body[data-page="about"] main .about-welcome{display:flex;flex-direction:column;justify-content:flex-end}
 html body[data-page="about"] main .about-welcome-copy{padding-bottom:42px}
 html body[data-page="about"] main .about-story .about-story-title{justify-content:flex-end}
}
html body[data-page="about"] main .about-story-title>.eyebrow{position:absolute;top:32px;left:32px;margin:0}
@media(max-width:600px){html body[data-page="about"] main .about-story-title>.eyebrow{top:24px;left:24px}}
/* Shared monochrome action buttons on image and video panels. */
html body[data-page] main :is(.home-cinema-copy,.work-intro-copy,.about-welcome,.ag-hello-cta,.ag-project-cta,.project-hero,.project-banner,.discipline-panel,.home-why,.home-demo-ad,.work-approach-feature,.services-banner,.cta-panel) :is(.button-dark,.button-outline){
 background:rgba(0,0,0,.72);color:#fff;border-color:transparent;box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
html body[data-page] main :is(.home-cinema-copy,.work-intro-copy,.about-welcome,.ag-hello-cta,.ag-project-cta,.project-hero,.discipline-panel,.home-why,.home-demo-ad,.work-approach-feature,.services-banner,.cta-panel) :is(.button-dark,.button-outline):hover{background:rgba(0,0,0,.86);color:#fff}
html body[data-page] main :is(.home-video-controls button,.work-video-controls button,.about-video-sound){background:rgba(0,0,0,.72);color:#fff;box-shadow:none}
/* Retain the approved white primary action on the opening film. */
html body[data-page] main .home-cinema-copy .home-actions>.button:first-child{background:#f2f2ef;color:#000;border-color:transparent;box-shadow:none;backdrop-filter:none}
html body[data-page] main .home-cinema-copy .home-actions>.button:first-child:hover{background:#fff;color:#000}
/* V71: neutral, localized text shading with a fully clear image side. */
:root{--ag-copy-shade:linear-gradient(90deg,rgba(0,0,0,0.684) 0%,rgba(0,0,0,0.513) 30%,rgba(0,0,0,0.18) 52%,transparent 72%);--ag-copy-bottom:radial-gradient(ellipse 95% 115% at 0% 100%,rgba(0,0,0,0.702) 0%,rgba(0,0,0,0.504) 35%,rgba(0,0,0,0.162) 60%,transparent 80%)}
html body[data-page] :is(.ag-hello-cta[data-cta-storefront],.about-story-title,.ag-process-banner,.services-banner,.project-case-image-panel,.work-approach-feature,.home-why)::after,
html body[data-page] :is(.about-welcome-film,.career-backdrop,.discipline-media)::after,
html body[data-page] :is(.project-banner-shade,.project-hero-shade){background:var(--ag-copy-shade)!important}
html body[data-page] .home-cinema-window::after,
html body[data-page] .work-cinema-window .work-intro-shade{background:var(--ag-copy-bottom)!important}
html body[data-page=demos] [data-cta-storefront] .ag-hello-image>img{object-position:center center;filter:none;opacity:1}
@media(max-width:600px){
 :root{--ag-copy-shade:linear-gradient(0deg,rgba(0,0,0,0.738) 0%,rgba(0,0,0,0.567) 30%,rgba(0,0,0,0.198) 53%,transparent 72%);--ag-copy-bottom:var(--ag-copy-shade)}
 html body[data-page] :is(.ag-hello-copy,.project-case-overlay-copy,.about-welcome-copy,.work-approach-feature-copy)>.eyebrow{text-shadow:0 1px 7px #000b}
}
html body[data-page] .work-approach-feature-shade{background:var(--ag-copy-shade)!important}
