@media (max-width:991px){
  :root{--dp-gutter:clamp(18px,4vw,36px);--dp-section:clamp(68px,8vw,96px)}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  :root{--dp-section:clamp(58px,8vw,80px);--dp-h1:clamp(2.6rem,11vw,3.8rem);--dp-h2:clamp(2.15rem,9.2vw,3.15rem);--dp-h3:clamp(1.5rem,7vw,2.2rem);--dp-card-title:clamp(1.45rem,6vw,1.85rem)}
  .action-rail{top:auto;right:50%;bottom:10px;gap:7px;flex-direction:row;transform:translateX(50%);max-width:calc(100vw - 20px);overflow:visible}.action-link{width:40px;height:40px;border-radius:11px}.action-label{display:none}
  .services-head{grid-template-columns:1fr;gap:18px}.services-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card__copy{font-size:.72rem}
}
@media (max-width:560px){
  .services-grid{grid-template-columns:1fr}.service-card{aspect-ratio:1/1;max-width:440px;width:100%;margin-inline:auto}
}
@media (max-width:479px){
  :root{--dp-section:clamp(48px,12vw,64px)}
  .btn{width:100%}
  .hero-subtitle,.services-subtitle{font-size:16px}
}

/* Shared viewport safety */
html,body{max-width:100%;overflow-x:clip}
@media (max-width:640px){
  :root{--dp-gutter:16px}
  .container,.container-wide{width:calc(100% - 32px)}
  .action-rail{right:50%;gap:7px}
  .action-link{width:39px;height:39px;border-radius:11px}
  .action-link svg{width:17px;height:17px}
}
@media (max-width:380px){
  :root{--dp-gutter:13px}
  .btn{min-height:50px;padding-left:12px;gap:7px}
  .btn .btn-label{white-space:normal!important;text-wrap:balance!important;line-height:1.1}
  .container,.container-wide{width:calc(100% - 26px)}
  .action-rail{right:50%;gap:6px}
  .action-link{width:36px;height:36px;border-radius:10px}
}

/* Cross-page mobile containment pass. */
@media(max-width:760px){html,body{max-width:100%;overflow-x:hidden}.container,.container-wide{width:min(100% - 28px,var(--dp-container,1200px))}.container>* ,.container-wide>*{min-width:0}.btn{max-width:100%;min-width:0}.btn-label{min-width:0}.action-rail{max-height:none}img,video,svg{max-width:100%}.title-surface-light h2,.title-surface-dark h2{overflow-wrap:normal;word-break:normal}h1,h2,h3,h4,p{max-width:100%}}


/* Responsive system hardening: shared layout containment for all pages. */
@media (min-width:992px) and (max-width:1199px){
  .container,.container-wide{max-width:calc(100% - (var(--dp-gutter) * 2));}
  .container>* ,.container-wide>*{min-width:0;}
}
@media (min-width:768px) and (max-width:991px){
  .container,.container-wide{max-width:calc(100% - (var(--dp-gutter) * 2));}
  .container>* ,.container-wide>*{min-width:0;}
}
@media (max-width:479px){
  .btn{font-size:.86rem;padding-left:15px;gap:8px;}
  .btn-icon{width:32px;height:32px;flex-basis:32px;border-radius:10px;}
  .btn-icon__glyph svg{width:15px;height:15px;}
}
