/* Homepage composition: one bounded content grid, separate reading measures. */
.home-page{--home-width:1160px;--home-gutter:24px;--home-inset:max(var(--home-gutter),calc((100% - var(--home-width))/2));--site-layout-width:1160px}
.home-page .home-section{width:100%;max-width:none!important;margin:0!important;padding:72px var(--home-inset)!important;box-sizing:border-box}
.home-page .heading{max-width:30ch;font-size:clamp(28px,3vw,38px);line-height:1.2}
.home-page :is(.subtext,.why-intro){max-width:64ch;font-size:16px;line-height:1.8;margin-bottom:32px}
.home-page :is(.cap-grid,.engine-grid,.why-pillars){grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.home-page :is(.cap-card,.engine-card,.why-card){min-width:0;padding:28px;display:flex;flex-direction:column}
.home-page :is(.cap-card,.engine-card){border:1px solid var(--border);border-radius:8px}
.home-page .cap-card h3{font-size:24px!important}
.home-page :is(.why-card h3,.engine-card h3){font-size:23px;font-weight:400}
.home-page :is(.cap-card p,.engine-card>p,.why-card p,.why-benefit p){font-size:15px;line-height:1.8}
.home-page .engine-list li{font-size:14px;line-height:1.7;padding-top:4px;padding-bottom:4px}
.home-page .engine-link{margin-top:auto;display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}
.home-page .engine-grid{margin-bottom:28px}
.home-page .engine-connector{max-width:760px;padding:24px 28px;font-size:15px;line-height:1.8}
.home-page .connector-title{font-size:22px}
.home-page .search-evidence-link{max-width:760px;margin:20px auto 0;text-align:center;font-size:14px;line-height:1.7}
.home-page .why-card .why-icon{margin-bottom:16px}
.home-page .why-highlight{margin-top:auto;padding:16px;font-size:14px;line-height:1.7}
.home-page .why-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-page .why-benefit{padding:24px;min-width:0}
.home-page .why-benefit :is(h3,h4){font-size:19px;font-weight:400}
.home-page .why-benefit p{font-size:14px;line-height:1.75}
.home-page>div.summary-banner.rv{width:calc(100% - 48px);max-width:1160px;margin:0 auto!important;padding:24px 28px;gap:20px;font-size:15px;line-height:1.7}
.home-page .summary-banner>span{flex:none}

/* Header, credibility and footer follow the same edges as the content. */
.home-page>.nav{padding-left:var(--home-inset);padding-right:var(--home-inset)}
.home-page .hero-text{box-sizing:content-box;width:min(660px,calc(100% - 48px));max-width:660px;margin-left:var(--home-inset);padding:136px 0 64px}
.home-page .hero-collage h1{font-size:clamp(34px,4vw,56px)}
.home-page .hero-sub{font-size:16px;line-height:1.8;max-width:58ch}
.home-page .cna-wrap{max-width:1160px;width:calc(100% - 48px)}
.home-page .cna-feature-grid{grid-template-columns:140px minmax(0,1fr) auto;gap:28px}
.home-page .cna-feature{padding:32px 0}
.home-page .cna-feature p{max-width:54ch}
.home-page .answer-strip{max-width:860px;width:calc(100% - 48px);margin:0 auto;padding:32px 0 0}
.home-page .answer-strip .answer-first{font-size:15px;line-height:1.85;padding:20px 24px}
.home-page .proof-section{padding:56px var(--home-inset)!important}
.home-page .proof-strip{max-width:1040px!important;gap:20px}
.home-page .proof-header{max-width:760px;margin:0 auto 28px}
.home-page .proof-sub{font-size:16px;line-height:1.8;max-width:60ch;margin-left:auto;margin-right:auto}
.home-page .ai-strip{max-width:1160px;width:calc(100% - 48px);padding:24px 16px;margin:0 auto;font-size:12px;line-height:1.8}
.home-page>.footer{padding:48px var(--home-inset) 24px;gap:28px;grid-template-columns:minmax(180px,1.3fr) repeat(5,minmax(0,1fr))}
.home-page>.footer .foot-brand{max-width:280px}
.home-page .site-legal{padding-bottom:72px}

/* The portfolio action belongs to the gallery, with equal space on both sides. */
.home-page #work{width:calc(100% - 48px);max-width:1160px;margin:0 auto;padding:0!important}
.home-page .mosaic-row{gap:12px;margin-bottom:12px;height:360px;min-height:0}
.home-page .mos-item{border-radius:6px}
.home-page .mos-item>a{display:block;height:100%;width:100%}
.home-page .mos-item img{width:100%;height:100%;object-fit:cover}
.home-page .row-4{height:300px}
.home-page .fashion-cta-wrap{display:flex;align-items:center;justify-content:center;max-width:none;width:100%;padding:20px 24px 24px;margin:0 0 32px;background:var(--card);border:1px solid var(--border);border-radius:6px;box-sizing:border-box}
.home-page .fashion-cta-banner{margin:0!important;min-height:48px;padding:14px 24px;font-size:15px;line-height:1.5;max-width:100%;justify-content:center}

/* Equal intrinsic portraits: the complete image sits directly above its caption. */
.home-page .gl-home{padding:64px var(--home-inset)}
.home-page .gl-home-inner{max-width:1160px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.home-page .gl-home-copy h2{font-size:clamp(28px,3vw,38px);max-width:25ch}
.home-page .gl-home-copy p{font-size:16px;line-height:1.8;max-width:58ch}
.home-page .gl-home-list li{font-size:15px;line-height:1.75}
.home-page .gl-home-grid{gap:16px;align-items:start}
.home-page .gl-home-grid figure{display:flex;flex-direction:column;align-self:start;min-width:0;box-shadow:none;border-radius:8px}
.home-page .gl-home-grid img{width:100%;height:auto!important;aspect-ratio:669/1200;object-fit:contain;object-position:center;display:block}
.home-page .gl-home-grid figcaption{padding:10px 12px;font-size:12px;line-height:1.5;display:flex;align-items:center}
.home-page .gl-home-btns{gap:12px}
.home-page .gl-home-btns a{font-size:13px;padding:14px 20px}
.home-page .gl-home-markets{gap:6px}
.home-page .gl-home-markets span{font-size:10px;padding:5px 9px}

/* Supporting prose has its own shorter reading measure. */
.home-page .audit-box{padding:32px;gap:32px;max-width:1160px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-page .audit-left p{font-size:16px!important;line-height:1.8!important}
.home-page .audit-right{gap:12px}
.home-page .split{max-width:1160px;width:calc(100% - 48px);margin:0 auto!important;min-height:440px;grid-template-columns:1fr 1fr;border-radius:8px;overflow:hidden;background:var(--card)}
.home-page .split-body{padding:32px}
.home-page .split-body p{font-size:16px;line-height:1.85}
.home-page .split-stats{gap:24px;flex-wrap:wrap}
.home-page .industries .heading{margin-left:auto;margin-right:auto}
.home-page .home-section.testi{padding-top:48px!important;padding-bottom:40px!important}
.home-page .testi-inner{max-width:660px}
.home-page #testimonials .heading{margin-left:auto;margin-right:auto}
.home-page .home-section.home-positioning{padding-top:32px!important;padding-bottom:32px!important}
.home-page .home-positioning>div{max-width:780px!important;margin:0 auto}
.home-page .home-positioning p{font-size:16px!important;line-height:1.85!important;text-align:left}
.home-page .home-section#faq{padding-left:max(24px,calc((100% - 780px)/2))!important;padding-right:max(24px,calc((100% - 780px)/2))!important}
.home-page #faq .heading{margin-left:auto;margin-right:auto}
.home-page #faq summary{font-size:18px!important;line-height:1.5}
.home-page #faq details p{font-size:16px;line-height:1.85!important}
.home-page .insights-section>div{max-width:1160px!important}
.home-page .insights-section .cna-insight{gap:24px;padding:24px}
.home-page .cta-section p{max-width:58ch;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.8}

@media(max-width:1100px){
 .home-page :is(.cap-card,.engine-card,.why-card){padding:24px}
 .home-page .why-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .cna-feature-grid{grid-template-columns:120px minmax(0,1fr)}
 .home-page .cna-feature .cna-actions{grid-column:2}
 .home-page .gl-home-inner{gap:32px}
 .home-page .gl-home-btns a{width:100%;text-align:center;justify-content:center}
 .home-page>.footer{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-page>.footer>.foot-brand{grid-column:1/-1;max-width:480px}
}
@media(max-width:900px){
 .home-page :is(.cap-grid,.engine-grid,.why-pillars){grid-template-columns:1fr;gap:16px}
 .home-page :is(.cap-card,.engine-card,.why-card){display:block}
 .home-page .why-highlight{margin-top:16px}
 .home-page .gl-home-inner{grid-template-columns:1fr;gap:28px}
 .home-page .gl-home-copy{max-width:680px}
 .home-page .gl-home-btns a{width:auto}
 .home-page .gl-home-grid{max-width:540px;width:100%;margin:0 auto}
 .home-page .audit-box{grid-template-columns:1fr}
 .home-page .split{grid-template-columns:1fr}
 .home-page .split-img{min-height:320px}
}
@media(max-width:768px){
 .home-page .home-section{padding-top:48px!important;padding-bottom:48px!important}
 .home-page .hero-text{padding-top:128px;padding-bottom:48px}
 .home-page .hero-collage h1{font-size:clamp(32px,6vw,46px)}
 .home-page .cna-feature-grid{grid-template-columns:1fr;gap:20px}
 .home-page .cna-feature .cna-actions{grid-column:1}
 .home-page .proof-section{padding:40px 24px!important}
 .home-page .proof-strip{grid-template-columns:1fr;max-width:600px!important}
 .home-page .mosaic-row{height:auto;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
 .home-page .mosaic-row .mos-item{height:240px}
 .home-page .row-3 .mos-item:first-child{grid-column:1/-1;height:300px}
 .home-page .fashion-cta-wrap{padding:20px 16px;margin-bottom:24px}
 .home-page .fashion-cta-banner{font-size:14px;padding:12px 16px}
 .home-page .gl-home{padding-top:48px;padding-bottom:48px}
 .home-page .audit-box{padding:24px;gap:24px}
 .home-page>.footer{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:40px}
 .home-page>.footer>.foot-brand{grid-column:1/-1}
 .home-page .split-body{padding:28px 24px}
 .home-page .home-section#faq{padding-top:48px!important;padding-bottom:48px!important}
}
@media(max-width:480px){
 .home-page .why-benefits{grid-template-columns:1fr;gap:12px}
 .home-page :is(.cap-card,.engine-card,.why-card,.why-benefit){padding:24px}
 .home-page .audit-box{padding:24px 20px}
 .home-page .audit-right{grid-template-columns:1fr}
 .home-page .gl-home-grid{grid-template-columns:1fr;max-width:320px}
 .home-page .gl-home-grid figcaption{min-height:0}
 .home-page .gl-home-btns a{width:100%}
 .home-page .mosaic-row .mos-item{height:200px}
 .home-page .row-3 .mos-item:first-child{height:280px}
 .home-page .fashion-cta-wrap{padding:16px 12px}
 .home-page .fashion-cta-banner{font-size:13px;padding:12px}
 .home-page .summary-banner{align-items:flex-start}
 .home-page .engine-connector{padding:24px}
 .home-page .answer-strip .answer-first{padding:16px 18px}
}
