/* Mobiele opmaak, als laatste geladen om conflicterende desktopregels te vervangen. */
@media screen and (max-width:960px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:17px;line-height:1.65}
 .wrap,.breadcrumbs{width:calc(100% - 40px);max-width:720px}
 .page-hero .hero-grid,.overview-hero .hero-grid,.team-page-hero.overview-hero .hero-grid,
 .team-page-hero .hero-grid,.hero-grid,.split,.content-grid,.contact-grid,.footer-main,
 .contact-information,.sitemap-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
 .page-hero .hero-grid>div,.overview-hero .hero-grid>div{padding-top:0;min-width:0;max-width:100%}
 .page-hero h1,.overview-hero h1,.home-hero h1,
 .page-hero.overview-hero h1.services-title,.page-hero.overview-hero h1.segments-title{
  font-size:34px;line-height:1.15;letter-spacing:-.025em;white-space:normal;
  max-width:100%;margin:0 0 20px;overflow-wrap:anywhere;word-break:normal;hyphens:auto
 }
 .segments-title span{white-space:normal}
 h2{font-size:28px;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}
 h3{font-size:22px;line-height:1.3;overflow-wrap:anywhere}
 .lead,.overview-hero .lead,.home-copy .lead{font-size:19px;line-height:1.55;max-width:100%;margin-bottom:20px}
 .page-hero{padding:36px 0 40px}
 .page-hero figure,.overview-hero figure,.hero-grid figure{width:100%;max-width:100%;margin:0}
 .page-hero .hero-image,.overview-hero .hero-image,.hero-image{width:100%;height:auto;aspect-ratio:16/10;max-height:none;object-fit:cover}
 .page-hero .team-hero-image,.overview-hero .team-hero-image{object-fit:contain;background:#e8e7e2}
 .section{padding:44px 0}
 .section-head{display:block;margin-bottom:20px}
 .cards{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px}
 .card-body{padding:22px}.card h2{font-size:25px;line-height:1.25}
 .card-image img{height:auto;aspect-ratio:16/10;object-fit:cover}
 .article{max-width:720px;padding:36px 0 44px}.article p{font-size:18px;line-height:1.65}
 .tree-house-article h2{font-size:18px;font-weight:400;line-height:1.65;letter-spacing:normal}
 .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}
 .actions .button,.actions .ghost{width:100%;min-height:48px;white-space:normal;text-align:center}
 .cta{margin-block:32px;padding:28px 22px;display:flex;flex-direction:column;align-items:stretch;gap:20px}
 .cta h2{font-size:28px}.cta .button{min-height:48px}
 .home-hero{min-height:0}.home-copy{padding-block:44px 86px}
 .home-shade{background:rgba(28,28,28,.78)}
 .home-video-toggle{min-height:44px;bottom:16px;right:20px}
 .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 20px;min-height:76px}
 .site-header .brand{width:132px;margin:0}
 .site-header .button.small{display:none}
 .menu-toggle{display:inline-flex;position:static;min-height:48px;padding:12px 16px;font-size:15px}
 .site-header nav{grid-column:1/-1;order:initial;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;overflow:visible;padding-top:12px}
 .site-header nav a{font-size:14px;min-height:48px;padding:10px 4px;white-space:normal}
 .mobile-menu-ready .menu-toggle[aria-expanded="false"]+nav{display:none}
 .text-link{display:inline-flex;align-items:center;min-height:44px;white-space:normal}
 .facts div{grid-template-columns:minmax(0,1fr);gap:6px}
 .facts dd,.contact-grid p,.contact-information a,.mail{overflow-wrap:anywhere;min-width:0}
 .mail{font-size:25px;line-height:1.35;max-width:100%}
 footer{padding-top:44px}.footer-main{gap:28px;padding-bottom:30px}
 .footer-main h2{font-size:15px;line-height:1.2}.footer-main p{margin-bottom:16px}
 .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-block:20px}
 .footer-bottom>span{width:100%}.footer-bottom .footer-shortcuts{width:100%;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:12px}
 .footer-bottom .footer-conditions{width:100%;display:flex;flex-wrap:wrap;gap:4px 18px}
 .footer-bottom a,.footer-conditions a{min-height:44px;white-space:normal}
 .social-icons{gap:12px}.social-icon{width:48px;height:48px;min-height:48px}
 .contact-information{gap:28px}.contact-information h2{font-size:25px}
}
@media screen and (max-width:360px){
 .wrap,.breadcrumbs{width:calc(100% - 32px)}
 .page-hero h1,.overview-hero h1,.home-hero h1,.page-hero.overview-hero h1.services-title,.page-hero.overview-hero h1.segments-title{font-size:29px}
 .lead,.overview-hero .lead,.home-copy .lead{font-size:18px}
}

/* Match the shared spacing rhythm at smaller screen sizes. */
@media screen and (max-width:960px){
 :root{--space-heading:24px;--space-group:24px;--space-section:48px;--space-hero:40px}
 .section{padding-block:var(--space-section)}
 .page-hero,.article{padding-block:var(--space-hero)}
 .page-hero h1,.overview-hero h1,.home-hero h1,.lead,.overview-hero .lead,.home-copy .lead{margin-bottom:var(--space-heading)}
 .cards{gap:var(--space-heading);margin-top:var(--space-group)}
 .card-body{padding:var(--space-heading)}
 .section-head{margin-bottom:0}
 .section-head .text-link{margin-top:var(--space-text)}
 .actions{margin-top:var(--space-group);gap:var(--space-text)}
 .cta{margin-block:var(--space-group);padding:var(--space-heading);gap:var(--space-heading)}
 footer{padding-top:var(--space-section)}
 .footer-main{padding-bottom:var(--space-group);gap:var(--space-group)}
 .section.contact-grid{padding-bottom:0}
 .contact-grid + .section{padding-top:var(--space-group)}
}
