/* Shared responsive hardening for all public page templates. */
html,body{width:100%;max-width:100%;overflow-x:clip}
img,svg,video,canvas{max-width:100%}
main,section,article,aside,header,footer,nav,form,fieldset,figure,div{min-width:0}
input,select,textarea,button{max-width:100%}

@media(max-width:900px){
  .blog-nav{justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .blog-nav::-webkit-scrollbar{display:none}
  .article-layout,.case-page .article-layout{gap:clamp(28px,6vw,48px)}
  .case-consultation{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:760px){
  :root{--gutter:clamp(18px,5vw,24px)}
  .v-wrap{width:min(calc(100% - 40px),1540px)}
  .art-hero{padding-block:clamp(38px,8vw,56px)}
  .art-hero__grid{gap:32px}
  .art-hero__media img{width:min(100%,560px);max-height:none}
  .art-production__visual{min-height:0}
  .art-production__visual img{height:auto;max-height:none}
  .case-consultation__intro{position:static}
  .case-consultation__form{min-width:0}
  .case-consultation .field{min-width:0}
  .case-consultation .field input,.case-consultation .field select,.case-consultation .field textarea{min-width:0}
  .cases-heading h2{font-size:clamp(40px,12vw,58px)}
  .cases-window{width:100%;max-width:100%;padding-inline:8px}
  .case-card{flex-basis:min(78vw,280px);width:min(78vw,280px);max-width:calc(100vw - 56px);height:auto;aspect-ratio:5/6}
  .article-note{padding:clamp(20px,5vw,28px)}
}

@media(max-width:560px){
  .v-wrap{width:calc(100% - 36px)}
  .v-hero-actions,.art-hero .v-hero-actions{grid-template-columns:minmax(0,1fr)}
  .v-hero-actions .v-btn,.art-hero .v-hero-actions .v-btn{width:100%;min-width:0;white-space:normal;text-align:center}
  .art-hero h1>span{white-space:normal}
  .art-hero--cg h1{font-size:clamp(21px,7vw,30px);letter-spacing:-.065em;white-space:nowrap}
  .art-hero--cg h1>span{white-space:nowrap}
  .art-heading p,.art-hero__copy>p{font-size:16px}
  .art-format-grid article{padding-inline:clamp(24px,8vw,34px)}
  .art-format-grid article:nth-child(2){padding-inline:clamp(24px,8vw,34px)}
  .art-output-grid article{padding:28px 24px}
  .art-output-grid h3,.art-output-grid article:nth-child(4) h3{font-size:clamp(18px,6vw,22px)}
  .case-consultation{padding-inline:20px;padding-block:56px;gap:42px}
  .case-consultation h2{font-size:clamp(34px,11vw,50px)}
  .case-consultation__submit{width:100%;padding-inline:18px;text-align:center}
  .blog-hero h1{font-size:clamp(46px,17vw,72px)}
  .article-hero h1{font-size:clamp(31px,10vw,42px)}
  .article-lead{font-size:clamp(18px,5.5vw,23px)}
  .article-content{font-size:17px}
  .global-footer__legal-links{align-items:flex-start}
}

@media(max-width:380px){
  :root{--gutter:16px}
  .v-wrap{width:calc(100% - 32px)}
  .site-header{padding-inline:16px}
  .art-hero--cg h1{font-size:clamp(19px,6.7vw,25px)}
  .case-card{flex-basis:calc(100vw - 56px);width:calc(100vw - 56px);max-width:100%;height:auto;aspect-ratio:5/6}
  .global-footer__inner{width:calc(100% - 32px)}
}

@media(hover:none){
  .case-card:hover,.post-card:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
