/* VLF 12.14.37 — unified mobile/tablet layout.
   Design constraints: no viewport breakout, no fixed 4-column footer on touch,
   no horizontally clipped interactive tabs, no hidden content or global overflow hacks.
   All rules are scoped to VLF shortcode content or the recognized site footer. */
:root{--vlf-responsive-gutter:32px}
.vlf-page *, .vlf-page *::before, .vlf-page *::after{box-sizing:border-box}
.vlf-page .vlf-section :is(h1,h2,h3,h4,p,li,a,summary,button){overflow-wrap:break-word;word-break:normal}
.vlf-page .vlf-section :is(img,video,svg){max-width:100%;height:auto}
.vlf-page :is(.vlf-grid,.vlf-process,.vlf-lines,.vlf-industry-grid,.vlf-cap-directory,.vlf-section-head,.vlf-final-grid,.vlf-b03__grid,.vlf-b03__domains,.vlf18-grid,.vlf-commitment-directory,.vlf-legal-directory) > * {min-width:0}
/* Footer desktop — PwC-inspired four editorial columns, no individual cards. */
body:not(.wp-admin) .vlf-pwc-directory-grid,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:clamp(20px,2.8vw,44px)!important;align-items:start!important;
 overflow:visible!important;scroll-snap-type:none!important;touch-action:auto!important;
}
body:not(.wp-admin) .vlf-pwc-directory-grid{
 width:min(calc(100% - 64px),1440px)!important;max-width:1440px!important;
 margin:0 auto!important;padding:48px 0 62px!important;
}
body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col,
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row > :is(.footer-column,.footer-col,.footer-widget){
 min-width:0!important;width:100%!important;max-width:100%!important;
 scroll-snap-align:none!important;
}
body:not(.wp-admin) .vlf-pwc-directory-col :is(a,li,h2,h3,h4){overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row > .vlf-pwc-directory-grid{grid-column:1 / -1!important}
/* Tablet: two readable footer columns, no forcing 230px minima. */
@media(min-width:701px) and (max-width:1100px){
 :root{--vlf-responsive-gutter:24px}
 .vlf-page{width:100%!important;max-width:100%!important;left:auto!important;right:auto!important;transform:none!important;margin-inline:auto!important;min-width:0!important}
 .vlf-page > .vlf-section{width:100%!important;max-width:100%!important;margin-inline:auto!important}
 .vlf-page .vlf-shell{width:calc(100% - 48px)!important;max-width:none!important;margin-inline:auto!important}
 .vlf-page .vlf-b02__wrap,.vlf-page .vlf-b03__container{width:calc(100% - 48px)!important;max-width:none!important;margin-inline:auto!important}
 .vlf-page :is(.vlf-grid-4,.vlf-process,.vlf-industry-grid,.vlf-cap-directory,.vlf-legal-directory,.vlf-b03__domains){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body:not(.wp-admin) .vlf-pwc-directory-grid,
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
 body:not(.wp-admin) .vlf-pwc-directory-grid{width:calc(100% - 48px)!important;padding:42px 0 52px!important}
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row{min-width:0!important}
 .vlf-page .vlf-insights-dynamic-stage{display:block!important;min-width:0!important;border:0!important}
 .vlf-page .vlf-insights-dynamic-rail{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;overflow:visible!important;min-width:0!important}
 .vlf-page .vlf-insights-dynamic-main{width:100%!important;min-width:0!important;padding:28px 0!important}
 .vlf-page .vlf-insights-dynamic-tab{min-width:0!important;max-width:100%!important;width:100%!important;white-space:normal!important;overflow-wrap:break-word!important}
}
/* Smartphone and compact tablets: no full-viewport escaping Elementor. */
@media(max-width:700px){
 :root{--vlf-responsive-gutter:18px}
 .elementor-widget-shortcode,.elementor-shortcode{min-width:0!important;max-width:100%!important}
 .vlf-page{width:100%!important;max-width:100%!important;min-width:0!important;left:auto!important;right:auto!important;transform:none!important;margin:0 auto!important;float:none!important}
 .vlf-page > .vlf-section{width:100%!important;max-width:100%!important;margin-inline:auto!important;min-width:0!important}
 .vlf-page .vlf-shell{width:calc(100% - 36px)!important;max-width:none!important;min-width:0!important;margin-inline:auto!important}
 .vlf-page .vlf-b02__wrap,.vlf-page .vlf-b03__container{width:calc(100% - 36px)!important;max-width:none!important;margin-inline:auto!important}
 .vlf-page .vlf-purpose-hero-frame,.vlf-page .vlf-practice-domain > .vlf-shell{width:calc(100% - 36px)!important;max-width:none!important;margin-inline:auto!important}
 .vlf-page :is(.vlf-grid-3,.vlf-grid-4,.vlf-process,.vlf-lines,.vlf-risk-strip,.vlf-industry-grid,.vlf-cap-directory,.vlf-contact-grid,.vlf-legal-directory,.vlf-b02__grid,.vlf-b03__grid,.vlf-b03__domains,.vlf-b03__directory-grid,.vlf-vwr-grid,.vlf-final-grid,.vlf-purpose-grid,.vlf-commitment-grid,.vlf-perspective-grid){grid-template-columns:minmax(0,1fr)!important}
 .vlf-page :is(.vlf-purpose-hero-title,.vlf-perspective-heading h2,.vlf-section h1,.vlf-section h2){overflow-wrap:break-word!important;hyphens:auto;max-width:100%!important}
 .vlf-page .vlf-section h1{font-size:clamp(34px,9vw,49px)!important;line-height:1.07!important;letter-spacing:-.028em!important}
 .vlf-page .vlf-section h2{font-size:clamp(30px,8vw,42px)!important;line-height:1.1!important}
 .vlf-page :is(.vlf-section-head,.vlf-vwr-head,.vlf-insights-dynamic-head){grid-template-columns:minmax(0,1fr)!important;min-width:0!important;gap:18px!important}
 .vlf-page .vlf-es-campaign-slide{display:flex!important;flex-direction:column!important;min-height:0!important}
 .vlf-page .vlf-es-campaign-slide[hidden]{display:none!important}
 .vlf-page .vlf-es-campaign-media{min-height:210px!important;height:52vw!important;max-height:320px!important;flex:0 0 auto!important}
 .vlf-page .vlf-es-campaign-copy{padding:24px 20px 28px!important;min-width:0!important}
 .vlf-page .vlf-es-campaign-copy h2{font-size:clamp(25px,7.2vw,34px)!important;line-height:1.12!important;overflow-wrap:anywhere!important}
 .vlf-page .vlf-insights-dynamic-stage{display:block!important;min-width:0!important}
 /* Remove the invisible off-screen horizontal tab strip discovered in v12.14.36. */
 .vlf-page .vlf-insights-dynamic-rail{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;width:100%!important;min-width:0!important;max-width:100%!important;border-right:0!important}
 .vlf-page .vlf-insights-dynamic-tab{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:46px!important;padding:10px 4px!important;margin:0!important;border-right:1px solid #ded4dd!important;text-align:center!important;white-space:normal!important}
 .vlf-page .vlf-insights-dynamic-tab span{font-size:16px!important}
 .vlf-page .vlf-insights-dynamic-tab em{display:none!important}
 .vlf-page .vlf-insights-dynamic-main{min-width:0!important;padding:22px 0 28px!important}
 .vlf-page .vlf-insights-dynamic-panels{min-height:0!important}
 .vlf-page .vlf-insights-dynamic-panel{max-width:100%!important;min-width:0!important}
 .vlf-page .vlf-insights-dynamic-panel h3{font-size:clamp(27px,7vw,37px)!important;line-height:1.13!important}
 .vlf-page .vlf-insights-dynamic-panel p{font-size:16px!important;line-height:1.6!important}
 .vlf-page .vlf-b03__article :is(img,video){max-width:100%!important;height:auto!important}
 body:not(.wp-admin) .vlf-pwc-directory-grid,
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row{grid-template-columns:minmax(0,1fr)!important;gap:0!important;overflow:visible!important}
 body:not(.wp-admin) .vlf-pwc-directory-grid{width:calc(100% - 40px)!important;max-width:none!important;padding:28px 0 40px!important;touch-action:auto!important}
 body:not(.wp-admin) .vlf-pwc-directory-grid > .vlf-pwc-directory-col{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:20px 0 24px!important;border-top:2px solid #232323!important}
 body:not(.wp-admin) .vlf-pwc-directory-col :is(h2,h3,h4,.widget-title,.wp-block-heading){font-size:20px!important;line-height:1.25!important;margin:0 0 14px!important}
 body:not(.wp-admin) .vlf-pwc-directory-col a:not(.button):not(.wp-block-button__link):not(.elementor-button){font-size:15px!important;line-height:1.58!important;overflow-wrap:anywhere!important;white-space:normal!important}
 body:not(.wp-admin) .vlf-pwc-directory-col :is(li,.menu-item){margin-bottom:9px!important}
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) .footer-row > :is(.footer-column,.footer-col,.footer-widget){width:100%!important;min-width:0!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.site-info,.footer-bottom,.footer-copyright,.copyright,.footer-legal){padding-inline:20px!important;overflow-wrap:anywhere!important;text-align:center!important}
 body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(.social-links,.social-icons,.footer-social){display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important}
}
@media(max-width:360px){.vlf-page .vlf-shell,.vlf-page .vlf-b02__wrap,.vlf-page .vlf-b03__container,.vlf-page .vlf-purpose-hero-frame{width:calc(100% - 28px)!important}body:not(.wp-admin) .vlf-pwc-directory-grid{width:calc(100% - 28px)!important}}
/* Accessible focus and reduced motion. */
body:not(.wp-admin) .vlf-pwc-directory-grid :is(a,button):focus-visible{outline:2px solid #7b2844!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){.vlf-page :is(.vlf-reveal,.vlf-insights-dynamic-panel){transition:none!important;animation:none!important}}
