/* One mobile scale for section headings across the site. */
@media(max-width:599px){
 html body main:is(#top,#main-content,.editorial-main):is(#top,#main-content,.editorial-main) :is(h2#clients-title,h2#services-title,h2#work-title,h2#founder-title,h2#testimonials-title,h2#services-faq-title,.case-story>h2,.case-related>h2,.founder-copy>h2,.editorial-split>h2,.contact-reach>h2,.privacy-copy h2,h2#contact-faq-title,.services-detail-heading>h2,h2.editorial-title:not(:is(.services-mix,.service-promise,.studio-thinking,.case-statement,.studio-process,.studio-years,.contact-work) h2)),
 html body.home-page main#top :is(#services h2#services-title,#work h2#work-title){
  font-size:30px!important;line-height:1.25!important;
  height:auto!important;min-width:0!important;max-width:100%!important;
  white-space:normal!important;overflow-wrap:break-word;overflow:visible;
 }
 html body main:is(#top,#main-content,.editorial-main):is(#top,#main-content,.editorial-main) :is(h2#clients-title,h2#services-title,h2#work-title,h2#founder-title,h2#testimonials-title,h2#services-faq-title,.case-story>h2,.case-related>h2,.founder-copy>h2,.editorial-split>h2,.contact-reach>h2,.privacy-copy h2,h2#contact-faq-title,.services-detail-heading>h2,h2.editorial-title:not(:is(.services-mix,.service-promise,.studio-thinking,.case-statement,.studio-process,.studio-years,.contact-work) h2)) :is(span,.motion-line,.editorial-line-mask,.editorial-line-content,.title-word-mask,.title-word){
  font-size:inherit!important;line-height:inherit!important;max-width:100%!important;
  white-space:normal!important;overflow-wrap:break-word;
 }
 /* Give animated glyphs breathing room within their reveal masks. */
 html body main:is(#top,#main-content,.editorial-main):is(#top,#main-content,.editorial-main) h2 :is(.motion-line,.editorial-line-mask){padding-block:.14em;margin-block:-.14em;}
}

/* Keep the authored Contact sentence break at every viewport. */
html body main.contact-page .contact-intro .editorial-lead>.contact-copy-line{display:block!important;max-width:100%;font:inherit;letter-spacing:inherit;white-space:normal;}

/* Shared description measure for colored statement panels. */
html body main:is(#top,#main-content,.editorial-main,.case-study) :is(#approach.philosophy,.studio-thinking,.services-mix,.service-promise,.case-statement) p{
 width:60%!important;max-width:60%!important;white-space:normal!important;
}
@media(max-width:1100px),(hover:none) and (pointer:coarse){
 html body main:is(#top,#main-content,.editorial-main,.case-study) :is(#approach.philosophy,.studio-thinking,.services-mix,.service-promise,.case-statement) p{
  width:80%!important;max-width:80%!important;
 }
}

/* These three display headings share the mobile inner-hero H1 scale. */
@media(max-width:599px){
 html body.editorial-page main:is(#top,#main-content,.editorial-main) :is(.studio-process,.studio-years,.contact-work) h2.editorial-title{
  font-size:clamp(32px,10.5vw,44px)!important;line-height:1.1111111111!important;
 }
 html body.editorial-page main:is(#top,#main-content,.editorial-main) :is(.studio-process,.studio-years,.contact-work) h2.editorial-title :is(span,.editorial-line-mask,.editorial-line-content){
  font-size:inherit!important;line-height:inherit!important;
 }
}

/* Work mobile footer gap: 120px -> 60px. */
@media(max-width:599px){html body.work-page{--footer-section-gap:60px;}}

@media(max-width:599px){
 html body.home-page main#top .stories-stack-section .stories-stage .story-panel blockquote{
  font-size:22px!important;line-height:1.4!important;width:90%!important;max-width:90%!important;
 }
 html body :is(#top,.studio-page) #founder .founder-photo figcaption{
  right:12px!important;bottom:calc(7% + 12px)!important;
 }
 html body #founder .founder-photo figcaption>small{font-size:13px!important;}
}

/* A wider reading measure for colored panels on phones only. */
@media(max-width:599px){
 html body main:is(#top,#main-content,.editorial-main,.case-study) :is(#approach.philosophy,.studio-thinking,.services-mix,.service-promise,.case-statement) p{
  width:90%!important;max-width:90%!important;
 }
}

/* One controlled gap between related cases and the footer. */
html body.editorial-page:has(main.case-study){--footer-section-gap:64px;}
html body.editorial-page main#main-content.case-study{padding-bottom:0!important;margin-bottom:0!important;}
html body.editorial-page main#main-content.case-study>.case-related{padding-bottom:0!important;margin-bottom:0!important;}
@media(min-width:600px) and (max-width:1100px){
 html body.editorial-page:has(main.case-study){--footer-section-gap:48px;}
}
@media(max-width:599px){
 html body.editorial-page:has(main.case-study){--footer-section-gap:32px;}
 html body.editorial-page:has(main:is(.services-page,.contact-page)){--footer-section-gap:48px;}
 html body.work-page{--footer-section-gap:30px;}
 html body.editorial-page main.editorial-main:is(.services-page,.contact-page){padding-bottom:0!important;margin-bottom:0!important;}
 html body.work-page main#top #work.work-showcase{padding-bottom:0!important;margin-bottom:0!important;}
}

html body.editorial-page:has(main.case-study) .panel-reading-track:has(>footer#contact.contact-panel),
html body.editorial-page:has(main.case-study)>footer#contact.contact-panel{margin-top:var(--footer-section-gap)!important;}
html body.editorial-page:has(main.case-study) .panel-reading-track>footer#contact.contact-panel{margin-top:0!important;}
