.responsive-flow{display:none}
@media(max-width:1180px){
  .is-narrow{scroll-padding-top:76px}
  .is-narrow .mobile-bar{display:flex;position:sticky;top:0;z-index:100;align-items:center;justify-content:space-between;min-height:64px;padding:8px clamp(16px,4vw,48px);background:white;border-bottom:1px solid #e6e6e6}
  .is-narrow .mobile-brand{color:#c4000b;font-size:clamp(17px,2.5vw,22px);font-weight:800;letter-spacing:.025em}
  .is-narrow .menu-toggle{min-width:48px;min-height:48px;padding:0;border:0;background:#fff;color:#a80009;font-size:28px}
  .is-narrow .mobile-bar nav{position:absolute;inset:100% 0 auto;background:#fff;padding:8px clamp(16px,4vw,48px);box-shadow:0 12px 24px #0002;max-height:calc(100dvh - 64px);overflow:auto}
  .is-narrow .mobile-bar nav a{display:flex;align-items:center;min-height:46px;padding:8px 4px;font-size:16px;border-bottom:1px solid #eee}
  .is-narrow a:focus-visible,.is-narrow button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
  .is-narrow .artboard-viewport{overflow:visible;height:auto!important}
  .is-narrow .artboard{width:100%;height:auto!important}
  .is-narrow .artboard > :not(.responsive-flow){display:none!important}
  .is-narrow .responsive-flow{display:block;--gutter:clamp(16px,5vw,58px);font-size:clamp(16px,1.9vw,19px);line-height:1.55;overflow-wrap:anywhere}
  .responsive-flow [id]{scroll-margin-top:10px}
  .flow-section{padding:clamp(32px,6vw,68px) var(--gutter)}
  .flow-section h1,.flow-section h2,.flow-section h3{line-height:1.12}
  .flow-section h1{font-size:clamp(32px,6.5vw,74px);text-transform:uppercase;font-weight:800;margin:0}
  .flow-section h2{font-size:clamp(25px,4.1vw,45px);font-weight:800;margin:0 0 .65em}
  .flow-section h3{font-size:clamp(18px,2.5vw,26px);margin:0 0 .35em}
  .flow-section p{margin:0 0 1em}
  .flow-section p:last-child{margin-bottom:0}
  .flow-hero{background:#f2f2f2;color:#b9000a}
  .flow-hero p{color:#222;margin:12px 0 0;font-weight:700}
  .flow-portraits{position:relative;aspect-ratio:700/580;max-width:700px;margin:24px auto 0;overflow:clip;background:linear-gradient(#e8e8e8,#f7f7f7 78%,#c4000b 78%)}
  .flow-portraits-artwork{position:absolute;left:calc(-370px * var(--layout-scale,1));top:calc(-282px * var(--layout-scale,1));--layout-scale:0}
  .flow-hero .flow-photo{margin-top:24px;max-height:58vw}
  .flow-photo{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:2px;margin-bottom:18px}
  .flow-tint{background:#f4f4f4}
  .flow-link{display:inline-flex;align-items:center;min-height:44px;color:#aa0009;font-weight:800;padding:5px 0;text-decoration:underline;text-underline-offset:.17em}
  .flow-hero .flow-link{margin-top:12px;background:#b9000a;color:white;padding:10px 16px;text-decoration:none}
  .flow-audiences{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px;margin:12px 0 22px}
  .flow-audiences .flow-link{padding:12px 16px;background:#b9000a;color:#fff;text-decoration:none}
  .flow-audiences .flow-link::after{content:"›";margin-left:auto;padding-left:8px}
  .flow-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
  .flow-stats strong{display:block;font-size:clamp(38px,8vw,84px);line-height:1.05;color:#c4000b;font-variant-numeric:tabular-nums}
  .flow-stats span{font-weight:700}
  .flow-quote .flow-photo{width:min(100%,300px);aspect-ratio:4/3;object-position:center 24%}
  .flow-quote blockquote{margin:0 0 12px;font-size:clamp(21px,3.1vw,33px);line-height:1.35}
  .flow-quote p{font-weight:700}
  .flow-contact{background:#191919;color:white;padding-bottom:96px}
  .flow-offices,.flow-news{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px}
  .flow-offices h3{color:#ff6670}
  .flow-legal{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
  .flow-legal a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
  .flow-offices p{margin:0}
  .flow-offices a{display:block;min-height:32px;text-decoration:underline}
  .flow-news .flow-photo{aspect-ratio:4/3}
  .flow-news article:nth-child(4) img{transform:rotate(90deg) scale(.75)}
  .flow-section dt{font-weight:800;color:#a80009}
  .flow-section dd{margin:0 0 16px}

  .responsive-flow :is(.video-poster,.company-video,.project-gallery,.services-layout,.industries-layout,.benefit-tabs,.private-benefit-accordion,.project-catalog,.timeline-entry-2024){
    position:relative;inset:auto!important;width:100%;height:auto;transform:none
  }
  .responsive-flow .video-poster,.responsive-flow .company-video{aspect-ratio:16/9;height:auto!important}
  .responsive-flow .company-video iframe{position:absolute;inset:0}
  .responsive-flow .video-play{width:60px;height:60px}
  .responsive-flow .video-play::after{left:24px;top:18px;border-width:12px 0 12px 20px}
  .responsive-flow .video-close{top:8px;right:8px;padding:10px 12px;font-size:14px}

  .responsive-flow .services-layout{display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px;padding:0}
  .responsive-flow .services-heading{padding:0}
  .responsive-flow .services-heading h2{font:inherit;font-weight:800;font-size:clamp(25px,4.1vw,45px);line-height:1.12}
  .responsive-flow .services-heading p{font:inherit;margin:6px 0 0}
  .responsive-flow .service-item summary{min-height:52px;padding:12px 14px;justify-content:space-between;border-bottom:2px solid #fff;gap:10px}
  .responsive-flow .service-item h3{font-size:clamp(14px,2.1vw,19px);line-height:1.25;text-align:left;margin:0}
  .responsive-flow .service-chevron{flex-basis:15px;width:15px;height:22px}
  .responsive-flow .service-panel{padding:14px 12px 20px;font:inherit;text-align:left}
  .responsive-flow .health-panel{min-height:0}
  .responsive-flow .health-benefits{padding:12px 0 12px 22px;margin:16px 0;min-height:0;border-left:3px solid #c4000b}
  .responsive-flow .health-benefits li{margin:0 0 16px}
  .responsive-flow .health-benefits li::before{left:-16px;top:7px;width:10px;height:6px;border-width:2px}
  .responsive-flow .health-benefits h4{font-size:inherit;line-height:1.3;margin:0 0 8px}
  .responsive-flow .health-building{position:static;display:block;width:min(100%,470px);margin:12px 0 0 auto}

  .responsive-flow .project-gallery{aspect-ratio:1.26;min-height:260px;max-height:570px;margin:8px 0 12px}
  .responsive-flow .gallery-track{left:-200%;width:500%;height:100%}
  .responsive-flow .gallery-slide{flex:0 0 20%;width:20%;height:100%}
  .responsive-flow .gallery-frame{left:0;width:100%;height:100%;border-width:4px}
  .responsive-flow .gallery-caption{left:16px;right:16px;bottom:10px}
  .responsive-flow .gallery-caption::before{left:-16px;right:-16px;bottom:-10px;top:-54px;background:linear-gradient(transparent,#000b 50%,#000e)}
  .responsive-flow .gallery-caption h2{font-size:clamp(16px,3.2vw,30px);line-height:1.2;white-space:normal;margin:0}
  .responsive-flow .gallery-caption a{font-size:15px;line-height:1.3;display:inline-flex;align-items:center;min-height:44px}
  .responsive-flow .gallery-arrow{width:44px;height:44px;top:37%;border-radius:50%;background:#000b}
  .responsive-flow .gallery-prev{left:10px}.responsive-flow .gallery-next{right:10px}
  .responsive-flow .gallery-arrow span{font-size:35px;translate:0 -2px}

  .responsive-flow .benefit-tablist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr));gap:4px;margin:0;height:auto;width:100%}
  .responsive-flow .benefit-tab{position:static;width:100%;height:auto;min-height:48px;display:flex;flex-direction:row;gap:6px;justify-content:center;padding:10px 5px;white-space:normal;line-height:1.2;font-size:clamp(13px,1.9vw,17px);background:#f4f4f4}
  .responsive-flow .benefit-tab[aria-selected=true]{background:#c4000b}
  .responsive-flow :is(.benefit-tab-icon,.benefit-tab-chevron,.about-value-chevron){display:none}
  .responsive-flow .benefit-panels,.responsive-flow .benefit-panel{height:auto}
  .responsive-flow .benefit-panel{padding:20px 16px;text-align:left}
  .responsive-flow .benefit-panel h2{font:inherit;font-weight:800;font-size:1.2em;margin:0 0 .65em}
  .responsive-flow .benefit-panel p{font:inherit}
  .responsive-flow .private-benefit-controls,.responsive-flow .private-benefit-panels{position:static;width:100%;height:auto}
  .responsive-flow .private-benefit-controls{gap:4px}
  .responsive-flow .private-benefit-button{min-height:52px;padding:8px 12px;gap:10px;grid-template-columns:32px minmax(0,1fr) 18px;font-size:clamp(14px,2vw,18px);background:#f4f4f4}
  .responsive-flow .private-benefit-button[aria-expanded=true]{background:#c4000b}
  .responsive-flow .private-benefit-label{white-space:normal}
  .responsive-flow .private-benefit-icon,.responsive-flow .private-benefit-icon svg{width:30px;height:30px;translate:none}
  .responsive-flow .private-benefit-arrow{width:16px;height:14px}
  .responsive-flow .private-benefit-panels{border-top:0;background:#f4f4f4}
  .responsive-flow .private-benefit-panel{padding:12px}
  .responsive-flow .private-benefit-panel ul{padding:0}
  .responsive-flow .private-benefit-panel li{grid-template-columns:20px minmax(0,1fr);gap:10px;min-height:0;padding:8px 0;font:inherit}
  .responsive-flow .private-benefit-panel li>span{white-space:normal}
  .responsive-flow .private-benefit-check{width:18px;height:15px}

  .responsive-flow .timeline-entry-2024{font:inherit}
  .responsive-flow .timeline-entry-2024 a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline}
  .responsive-flow .project-catalog{padding:0}
  .responsive-flow .project-filters{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin:0 0 20px}
  .responsive-flow .project-filter-row{display:contents}
  .responsive-flow .project-filter-separator{display:none}
  .responsive-flow .project-filter{font-size:14px;line-height:1.25;white-space:normal;min-height:44px;padding:7px 10px;border:1px solid #ccc;border-radius:3px}
  .responsive-flow .project-filter[aria-pressed=true]{background:#b9000a;color:#fff;border-color:#b9000a}
  .responsive-flow .project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
  .responsive-flow .project-card{height:auto;aspect-ratio:4/3;min-height:200px}
  .responsive-flow .project-card-caption{opacity:1;font-size:clamp(16px,2vw,21px);gap:6px;padding:14px;background:linear-gradient(transparent 18%,#000d)}
  .responsive-flow .project-card-caption b{font-size:14px}
  .responsive-flow .projects-load-more{font-size:16px;line-height:1.3;margin:18px auto 0;min-height:44px}
}
