/* Preserve each photo composition while fitting shorter laptop viewports. */
@media(min-width:821px) and (max-height:850px){
 html.page-index .home-photo-hero,html.page-bsl .bsl-photo56,html.page-social-media .curation-hero{min-height: min(740px,100svh)}
 html.page-index .home-hero-inner{padding-top:112px;padding-bottom:48px}
 html.page-index .home-photo-hero h1{font-size:clamp(3.6rem,6vw,5rem)}
 html.page-index .home-photo-hero .tagline{margin-top:22px}
 html.page-index .home-photo-hero .zh-line{margin-top:18px}
 html.page-index .home-photo-hero .hero-pitch{margin-top:20px}
 html.page-index .home-hero-actions{margin-top:24px}
 html.page-bsl .bsl-photo56 .bsl-hero-inner{padding-top:110px;padding-bottom:44px}
 html.page-bsl .bsl-photo56 h1{font-size:clamp(3.6rem,5.6vw,5rem)}
 html.page-bsl .bsl-subtitle{margin-top:18px}
 html.page-bsl .bsl-lead{margin-top:18px}
 html.page-bsl .bsl-promise{margin:18px 0 22px}
 html.page-bsl .bsl-hero-note{margin-top:16px}
 html.page-social-media .curation-opening{padding-top:110px;padding-bottom:44px}
 html.page-social-media .curation-hero h1{font-size:clamp(2.6rem,4.5vw,3.8rem)}
 html.page-social-media .curation-promise{margin-top:20px;font-size:1.5rem}
 html.page-social-media .curation-hero .intro{margin:16px 0 22px}
 html.page-social-media .curation-hero-note{margin-top:16px}
 html.page-sensory .method-hero-inner{min-height:min(700px,100svh);padding-top:112px;padding-bottom:48px}
 html.page-services .services-hero{padding-top:68px}
 html.page-services .services-hero-photo{height:clamp(440px,calc(100svh - 68px),600px)}
 html.page-services .services-hero-copy{padding-top:40px;padding-bottom:40px}
 html.page-about .page-hero.otw-photo-hero,html.page-courses .page-hero.otw-photo-hero{padding-top:112px;padding-bottom:48px}
 html.page-about .otw-photo-hero .otw-photo,html.page-courses .otw-photo-hero .otw-photo{max-width:360px}
 html.page-about .otw-photo-hero .otw-photo img,html.page-courses .otw-photo-hero .otw-photo img{max-height:calc(100svh - 160px)}
 html.page-students .page-hero.sv-hero{min-height:min(660px,100svh)}
 html.page-students .sv-hero .sv-copy{padding-top:120px;padding-bottom:56px}
 html.page-kintsugi-writing .kw-hero{padding-top:112px;padding-bottom:48px}
 html.page-kintsugi-writing .kw-hero-image{min-height:0;height:clamp(400px,calc(100svh - 160px),540px)}
 html.page-kintsugi-writing .kw-hero h1{font-size:clamp(2.2rem,3.6vw,3.4rem)}
}
/* Size mobile photos from their available width, not a fixed desktop height. */
@media(max-width:820px){
 html.page-index .home-hero-photo,html.page-bsl .bsl-photo56 .bsl-hero-photo,html.page-social-media .curation-photo,html.page-students .sv-hero .sv-photo{height:clamp(240px,66.667vw,380px)}
 html.page-index .home-hero-inner,html.page-bsl .bsl-photo56 .bsl-hero-inner,html.page-social-media .curation-opening{padding-top:108px}
 html.page-about .otw-photo-hero .otw-photo{max-width:360px}
 html.page-about .otw-photo-hero .otw-photo img{aspect-ratio:4/5}
 html.page-courses .otw-course-hero .otw-photo{max-width:480px}
 html.page-courses .otw-course-hero .otw-photo img{aspect-ratio:3/2}
 html.page-kintsugi-writing .kw-hero-image{min-height:0;height:clamp(320px,100vw,480px)}
}
@media(max-width:760px){
 html.page-services .services-hero-photo{height:clamp(240px,75vw,340px)}
}

/* Align hero copy with a steady page gutter instead of a narrow centered wrap. */
@media(min-width:821px){
 html.page-index .home-hero-inner,
 html.page-bsl .bsl-photo56 .bsl-hero-inner,
 html.page-social-media .curation-opening,
 html.page-sensory .method-hero-inner,
 html.page-students .sv-hero .sv-copy,
 html.page-about .otw-photo-hero .otw-photo-grid,
 html.page-courses .otw-photo-hero .otw-photo-grid{
  max-width:none;
  width:100%;
  padding-left:clamp(32px,6vw,100px);
  padding-right:clamp(32px,6vw,100px);
 }
 html.page-kintsugi-writing .kw-hero-grid{
  width:calc(100% - 2 * clamp(32px,6vw,100px));
 }
}
