/* Full-site responsive overrides. Loaded after all legacy page styles. */
:root{--pbb-content:1440px;--pbb-gutter:32px;--pbb-nav:96px;--pbb-section:clamp(80px,7vw,112px);--pbb-body:clamp(17px,1.25vw,20px)}
body{overflow-x:hidden}
:is(.big-screen-page,.black-pc-page,.about-page,.page) *,.portfolio-entry-module *{box-sizing:border-box;min-width:0}
:is(.big-screen-page,.black-pc-page,.about-page,.page) img{max-width:100%}
.big-screen-page,.black-pc-page,.page{width:min(var(--pbb-content),calc(100% - 64px))!important;max-width:var(--pbb-content)!important;margin-right:auto!important;margin-left:auto!important;overflow-x:clip}
.black-ant-study,.black-pc-page{--detail-nav-height:var(--pbb-nav)!important;padding-top:var(--detail-nav-height)!important}
.black-ant-study::before,.black-pc-page::before{top:72px!important;right:max(var(--pbb-gutter),calc(50vw - 720px))!important;left:max(var(--pbb-gutter),calc(50vw - 720px))!important}
.black-ant-study::after,.black-pc-page::after{height:var(--detail-nav-height)!important}
.black-ant-study>.big-screen-back,.black-pc-page>.big-screen-back{left:max(var(--pbb-gutter),calc(50vw - 720px))!important;height:72px!important;padding:0!important;font-size:clamp(19px,1.4vw,24px)!important;letter-spacing:0!important}
.big-screen-page:not(.black-ant-study){padding-top:48px}
.big-screen-page:not(.black-ant-study)>.big-screen-back{margin-bottom:36px;font-size:14px;letter-spacing:0}
:is(.big-screen-page,.black-pc-page,.page) :is(h1,h2,h3,p,li,span,b,strong,small,figcaption){overflow-wrap:anywhere}
:is(.big-screen-page,.black-pc-page) h1{font-size:clamp(48px,5vw,84px)!important;letter-spacing:0!important}
:is(.big-screen-page,.black-pc-page) h2{font-size:clamp(36px,3.6vw,56px)!important;letter-spacing:0!important}
:is(.big-screen-page,.black-pc-page) h3{font-size:clamp(24px,2.1vw,32px)!important;letter-spacing:0!important}
:is(.big-screen-page,.black-pc-page) p,:is(.big-screen-page,.black-pc-page) li{font-size:var(--pbb-body)!important;line-height:1.7!important;letter-spacing:0!important;white-space:normal!important}
.big-screen-footer{min-height:0!important;padding:60px 0 80px!important;font-size:14px!important;letter-spacing:0!important}
.black-ant-title{min-height:0;padding:72px 0 80px}
.big-screen-hero,.big-screen-overview,.big-screen-case{padding-top:var(--pbb-section);padding-bottom:var(--pbb-section)}
.big-screen-gallery{column-gap:clamp(32px,4vw,64px)}

/* Fire mobile, Fire PC and Black Ant mobile */
.fm-section,.fpc-section,.bam-section{padding:var(--pbb-section) 0!important}
.fm-hero,.fpc-hero,.bam-hero{min-height:0!important;padding-top:72px!important;padding-bottom:88px!important}
.fm-study .fm-section>header,.fpc-study .fpc-section>header,.bam-study .bam-section>header{max-width:980px!important;margin-bottom:56px!important}
.fm-study .fm-section>header h2,.fpc-study .fpc-section>header h2,.bam-study .bam-section>header h2{font-size:clamp(36px,3.6vw,54px)!important;line-height:1.2!important}
.fm-study :is(.fm-hero-copy p,.fm-section>header p,.fm-overview-grid p,.fm-process span,.fm-color span,.fm-type span,.fm-task-copy p,.fm-task-copy li,.fm-panorama-detail p,.fm-device-line span,.fm-inspection-grid p,.fm-ai-notes p,.fm-handoff-grid p,.fm-handoff-flow span,.fm-ai-workflow p,.fm-summary p,.fm-component label,.fm-buttons button,.fm-states i),.fpc-study :is(.fpc-hero-copy p,.fpc-section>header p,.fpc-overview-grid p,.fpc-feature-stage p,.fpc-feature-stage li,.fpc-inspection-notes p,.fpc-ai p,.fpc-summary p),.bam-study :is(.bam-hero-copy p,.bam-section>header p,.bam-overview-grid p,.bam-home-focus p,.bam-data-stage p,.bam-ai-flow p,.bam-summary p){font-size:var(--pbb-body)!important;line-height:1.7!important;letter-spacing:0!important;white-space:normal!important}
.fm-study :is(.fm-overview-grid b,.fm-process strong,.fm-task-copy h3,.fm-panorama-detail h3,.fm-inspection-grid h3,.fm-ai-notes h3,.fm-handoff-grid h3,.fm-ai-workflow h3,.fm-summary b),.fpc-study :is(h3,.fpc-overview-grid strong,.fpc-summary article b),.bam-study :is(h3,.bam-overview-grid strong,.bam-summary article b){font-size:clamp(24px,2vw,32px)!important;line-height:1.35!important}
.fm-study :is(.fm-section>header>span,.fm-hero-copy>span,.fm-system-grid small,.fm-task-copy>span,.fm-panorama-detail aside>span,.fm-compare span,.fm-inspection-grid article>span,.fm-ai-notes b,.fm-handoff-grid article>b,.fm-ai-workflow article>b,.fm-device figcaption),.fpc-study :is(.fpc-section>header>span,.fpc-hero-copy>span,.fpc-page-wall figcaption span),.bam-study :is(.bam-section>header>span,.bam-hero-copy>span,small){font-size:clamp(13px,1vw,16px)!important;line-height:1.45!important;letter-spacing:0!important}
.fm-study :is(.fm-buttons button,.fm-component label),.fpc-study :is(button,label),.bam-study :is(button,label){min-height:44px!important;height:auto!important;font-size:16px!important;white-space:normal!important}
.fm-study .fm-type>strong,.bam-study .bam-type>strong{font-size:clamp(64px,7vw,92px)!important}
.fpc-study .fpc-page-wall-canvas{width:100%!important;max-width:var(--pbb-content)!important;margin:0 auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:72px 36px!important;transform:none!important}
.fpc-study .fpc-page-wall{padding:88px 32px 120px!important}
.fpc-study .fpc-page-wall figure,.fpc-study .fpc-page-wall figure:nth-child(n),.fpc-study .fpc-page-wall figure.is-core{width:100%!important;transform:none!important}

/* Collection and editorial case studies */
.herbal-hero,.pc-collection-hero,.company-site-hero,.material-hero{padding-top:80px!important;padding-bottom:100px!important}
.herbal-gallery,.mobile-app-section,.pc-system-section,.company-site-section,.material-section{padding-top:var(--pbb-section)!important;padding-bottom:var(--pbb-section)!important}
.herbal-hero>p,.pc-hero-summary span,.pc-system-notes :is(span,p),.company-site-lead span,.material-hero-lead span{font-size:var(--pbb-body)!important;line-height:1.7!important;letter-spacing:0!important;white-space:normal!important}
.herbal-waterfall{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,4vw,56px)}
.herbal-waterfall-column{gap:clamp(48px,5vw,72px)}
.pc-collection-study,.company-website-study,.material-study{width:min(var(--pbb-content),calc(100% - 64px))!important;max-width:var(--pbb-content)!important}
.pc-hero-summary,.company-site-lead,.material-hero-lead{gap:clamp(40px,6vw,80px)!important;margin-top:52px!important;margin-bottom:64px!important}
.pc-system-notes span,.pc-system-notes h3,.pc-system-stage figcaption{font-size:clamp(16px,1.35vw,20px)!important;letter-spacing:0!important}
.pc-system-list,.black-pc-page-groups{gap:clamp(100px,10vw,150px)!important}
.company-site-overview{padding:var(--pbb-section) 0!important}
.company-home-showcase{padding:64px clamp(24px,4vw,56px)!important}
.material-summary-grid,.material-board-grid,.material-brochure-grid{gap:clamp(24px,3vw,44px)!important}

/* Black Ant PC */
.black-pc-section{padding-top:var(--pbb-section)!important;padding-bottom:var(--pbb-section)!important}
.black-pc-page :is(.black-pc-hero-copy>p,.black-pc-section>header>p,.black-pc-overview-copy>p,.black-pc-business-brief p,.black-pc-page-group>header p,.black-pc-page-canvas aside p,.black-pc-screen-notes p,.black-pc-summary p,.black-pc-problem-grid p,.black-pc-strategy p,.black-pc-flow-result p){font-size:var(--pbb-body)!important;line-height:1.7!important;letter-spacing:0!important}
.black-pc-page :is(.black-pc-screen>header>span,.black-pc-problem-grid>article>span,.black-pc-process span,.black-pc-page-group>header>span){font-size:clamp(28px,2.5vw,38px)!important}
.black-pc-page :is(.black-pc-screen-notes b,.black-pc-page-canvas figcaption span,.black-pc-more figcaption){font-size:clamp(16px,1.3vw,20px)!important;line-height:1.5!important}
.black-pc-page-canvas{padding:64px clamp(24px,4vw,56px) 72px!important}
.black-pc-page-group>header{grid-template-columns:90px minmax(0,760px)!important;gap:24px!important}
.black-pc-personas,.black-pc-process,.black-pc-strategy-map,.black-pc-system-grid{gap:20px!important}

/* Contact route */
.page{padding:48px 0 96px}
.page .detail-title{font-size:clamp(56px,7vw,96px)!important;letter-spacing:0!important}
.page :is(p,li){font-size:var(--pbb-body)!important;line-height:1.7!important}

@media(max-width:1100px){
  :root{--pbb-gutter:20px;--pbb-nav:84px;--pbb-section:76px;--pbb-body:18px}
  .big-screen-page,.black-pc-page,.page,.pc-collection-study,.company-website-study,.material-study{width:min(920px,calc(100% - 40px))!important}
  .black-ant-study::before,.black-pc-page::before{top:64px!important;right:20px!important;left:20px!important}
  .black-ant-study>.big-screen-back,.black-pc-page>.big-screen-back{left:20px!important;height:64px!important;font-size:19px!important}
  .fm-hero,.fpc-hero,.bam-hero{grid-template-columns:1fr!important;gap:44px!important}
  .fm-hero-stage,.fpc-hero-stage,.bam-hero-devices{min-height:560px!important}
  .fm-overview-grid,.fm-system-grid,.fm-task-layout,.fm-panorama-detail,.fm-ai-layout,.fpc-overview-grid,.fpc-system-grid,.fpc-inspection-layout,.bam-overview-grid,.bam-spec-grid,.bam-core-layout,.bam-data-stage,.bam-breakdown{grid-template-columns:1fr!important}
  .fm-device-grid,.fm-inspection-grid,.fm-handoff-grid,.fm-ai-workflow>div,.fpc-permission-grid,.bam-component-strip,.bam-delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pc-hero-summary,.company-site-lead,.material-hero-lead,.company-home-showcase,.company-career-layout{grid-template-columns:1fr!important}
  .company-home-showcase aside,.company-career-copy{position:static!important}
  .company-site-overview>div{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .company-paired-pages,.material-logo-stage{grid-template-columns:1fr!important}
  .black-pc-screen,.black-pc-screen.is-reverse,.black-pc-business-brief,.black-pc-strategy-map{grid-template-columns:1fr!important}
  .black-pc-page-group>header{grid-template-columns:64px minmax(0,1fr)!important}
  .black-pc-personas{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .herbal-waterfall{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  :root{--pbb-gutter:14px;--pbb-nav:76px;--pbb-section:64px;--pbb-body:16px}
  .big-screen-page,.black-pc-page,.page,.pc-collection-study,.company-website-study,.material-study{width:calc(100% - 28px)!important}
  .black-ant-study::before,.black-pc-page::before{top:58px!important;right:14px!important;left:14px!important}
  .black-ant-study>.big-screen-back,.black-pc-page>.big-screen-back{left:14px!important;height:58px!important;font-size:17px!important}
  :is(.big-screen-page,.black-pc-page) h1{font-size:clamp(40px,12vw,54px)!important}
  :is(.big-screen-page,.black-pc-page) h2{font-size:clamp(30px,9vw,40px)!important}
  :is(.big-screen-page,.black-pc-page) h3{font-size:clamp(22px,6.5vw,28px)!important}
  .big-screen-footer{flex-direction:column!important;gap:16px!important;padding:44px 0 60px!important}
  .fm-hero,.fpc-hero,.bam-hero{padding-top:48px!important;padding-bottom:64px!important}
  .fm-hero-stage,.fpc-hero-stage,.bam-hero-devices{min-height:440px!important}
  .fm-device-grid,.fm-inspection-grid,.fm-handoff-grid,.fm-ai-workflow>div,.fpc-permission-grid,.bam-component-strip,.bam-delivery-grid,.about-capability-grid{grid-template-columns:1fr!important}
  .fm-process,.fm-compare,.fm-upload-flow,.bam-order-flow,.bam-summary>div,.fpc-duo,.fpc-trio{grid-template-columns:1fr!important}
  .fm-device-line,.fm-handoff-flow,.bam-flow-line{display:none!important}
  .fm-phone-wall{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;min-height:0!important;padding:32px 12px!important}
  .fpc-study .fpc-page-wall{padding:56px 14px 72px!important}
  .fpc-study .fpc-page-wall-canvas{grid-template-columns:1fr!important;gap:54px!important}
  .herbal-waterfall{grid-template-columns:1fr;column-gap:0}
  .herbal-sequence{font-size:16px!important;gap:10px!important}
  .pc-hero-windows,.pc-system-stage,.company-site-overview>div,.company-detail-wall,.material-summary-grid,.material-board-grid,.material-brochure-grid{grid-template-columns:1fr!important}
  .pc-system-section>header,.black-pc-page-group>header{grid-template-columns:1fr!important}
  .black-pc-personas,.black-pc-process,.black-pc-system-grid,.black-pc-strategy-map{grid-template-columns:1fr!important}
  .black-pc-page-canvas{padding:42px 14px 52px!important}
  .black-pc-page-groups,.pc-system-list{gap:80px!important}
  .black-pc-business-framework,.black-pc-flow,.black-pc-journey{overflow-x:auto!important}
  .company-site-section,.material-section,.pc-system-section{padding-top:64px!important;padding-bottom:64px!important}
}