/* objectsource: shared breakpoints. Load last, after the page-type file, so these override it. */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important}
  .js .rv,.js .hero h1 .l{opacity:1!important;transform:none!important}
}
/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1100px){
  .nav-inner > nav,.nav-inner > .btn{display:none}
  .nav-toggle{display:inline-flex}
}
@media (max-width:900px){
  .hero-copy{grid-column:1 / -1}
    .hero .grid{min-height:0}
  .wwd-head,.wwd-list,.cs-left,.cs-right,.about-l,.creds,.faq-l,.faq-r,.ins-head h2,.ins-head .r{grid-column:1 / -1}
  .wwd-list,.cs-right,.creds,.ins-head .r{margin-top:40px}
  .faq-l .stick{position:static;margin-bottom:24px}
  .plat,.ins{grid-template-columns:1fr}
  .stat-list{grid-template-columns:1fr 1fr;row-gap:32px}
  .svc{grid-template-columns:1fr 1fr}
  .case{flex-basis:78vw}
  .work-head{flex-direction:column;align-items:flex-start;gap:16px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-grid > :first-child{grid-column:1 / -1}
  .offices{grid-template-columns:1fr;gap:18px}
  .foot .office-list{grid-column:auto;grid-template-columns:1fr 1fr;gap:28px var(--gap-lg)}
}
@media (max-width:640px){
  :root{--nav-h:64px}
  .nav-inner{padding-block:12px}
  .row{grid-template-columns:28px 1fr 20px;row-gap:6px}
  .row p{grid-column:2 / 3}
  .row .go{grid-row:1;grid-column:3}
  .panel{min-height:300px}
  .panel-top{flex-direction:column-reverse}
  .ins-side .post{grid-template-columns:1fr}
  .creds{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr}
  .marks,.foot .marks{gap:16px 24px}
  .marks img{height:32px}
  .marks .cert img{height:52px}
  .team{grid-template-columns:1fr 1fr}
  .team .f1{grid-column:1 / -1;aspect-ratio:4/3}
  .team .f2{grid-column:1;margin-top:0}
  .team .f3{grid-column:2;aspect-ratio:3/4;margin-top:32px}
  .close-art{width:110vw;right:-55vw;opacity:.06}
  .mbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px var(--pad-x) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(250,248,245,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--sage-mid);transform:translateY(110%);transition:transform .3s var(--ease)}
  .mbar.show{transform:none}
  .mbar .btn{width:100%;justify-content:center}
  .foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
}
