/* 3.6.515: separate photographs and copy on phones and tablets. */
@media (max-width:1100px){
 body main .section-hero,body .hero,body .contact-page .cm-contact-banner{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;
  overflow:hidden!important;background-color:#082b50!important;background-size:0 0!important;
 }
 /* Background-photo templates retain their original photo in a separate row. */
 body main .section-hero:not(:has(>img))::before,body .hero::before{
  content:""!important;display:block!important;position:relative!important;inset:auto!important;
  width:100%!important;aspect-ratio:8/3;height:auto!important;min-height:0!important;
  background-image:inherit!important;background-size:cover!important;background-position:center!important;
  background-repeat:no-repeat!important;z-index:auto!important;opacity:1!important;flex:none!important;
 }
 body main .section-hero:has(>img)::before,body main .section-hero::after,body .hero::after{content:none!important;display:none!important}
 /* Actual image elements stay in normal flow, entirely above the text. */
 body main .section-hero>img,body .contact-page .cm-contact-banner>.cm-contact-photo{
  position:relative!important;inset:auto!important;order:0!important;display:block!important;
  width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;
  filter:none!important;opacity:1!important;z-index:auto!important;flex:none!important;border-radius:0!important;
 }
 body main .section-hero .section-hero-inner,body .hero .hero-mobile,body .contact-page .cm-contact-banner-title{
  position:relative!important;inset:auto!important;order:1!important;display:flex!important;
  flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;
  padding:28px 24px!important;margin:0!important;box-sizing:border-box!important;
  background:#082b50!important;transform:none!important;color:#fff!important;z-index:auto!important;
 }
 body main .section-hero h1,body .hero .hero-mobile h1{font-size:clamp(28px,4.5vw,40px)!important;line-height:1.15!important;letter-spacing:-.7px!important;max-width:100%!important;overflow-wrap:anywhere;color:#fff!important;margin:0!important}
 body main .section-hero .section-hero-intro,body .hero .hero-mobile>p{font-size:16px!important;line-height:1.55!important;max-width:760px!important;margin:16px 0 22px!important;color:#fff!important}
 body main .section-hero .section-kicker{margin:12px 0!important}
 body main .section-hero .section-hero-button{white-space:normal!important;max-width:100%!important;box-sizing:border-box!important}
 body main .section-hero .cm-about-hero-family{position:relative!important;inset:auto!important;width:100%!important;max-width:520px!important;margin:22px auto 0!important}
 body main .section-hero .cm-about-hero-family img{height:auto!important;max-height:none!important;width:100%!important;object-fit:contain!important}
 body .contact-page .cm-contact-banner-title>*{position:static!important;transform:none!important;max-width:100%!important}
 body .contact-page .cm-contact-headline{font-size:clamp(30px,5vw,44px)!important;line-height:1.12!important}
}

/* 3.6.516: use the Détente banner's 3:2 photograph and copy rhythm everywhere. */
.cm-responsive-background-photo{display:none}
@media(max-width:1100px){
 body main .section-hero>img,body .hero>img,body .contact-page .cm-contact-banner>.cm-contact-photo{
  position:relative!important;inset:auto!important;display:block!important;order:0!important;
  width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:3/2!important;
  min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:center!important;
  margin:0!important;transform:none!important;flex:none!important;z-index:auto!important;
 }
 body main .section-hero:not(:has(>img))::before,body .hero:not(:has(>img))::before{aspect-ratio:3/2!important}
 body .hero:has(>img)::before{content:none!important;display:none!important}
 body main .section-hero .section-hero-inner,body .hero .hero-mobile,body .contact-page .cm-contact-banner-title{padding:28px 24px!important;background:#082b50!important}
 body main .section-hero h1,body .hero .hero-mobile h1,body .contact-page .cm-contact-headline{font-size:clamp(28px,4.5vw,40px)!important;line-height:1.15!important;letter-spacing:-.7px!important}
 body main .section-hero .section-hero-intro,body .hero .hero-mobile>p{font-size:16px!important;line-height:1.55!important;margin:16px 0 22px!important}
}

/* 3.6.517: preserve the current 3:2 photo area while displaying every full image. */
@media(max-width:1100px){
 body main .section-hero>img,body .hero>img,body .contact-page .cm-contact-banner>.cm-contact-photo{
  object-fit:contain!important;object-position:center!important;background-color:#082b50!important;
 }
 body main .section-hero:not(:has(>img))::before,body .hero:not(:has(>img))::before{
  background-size:contain!important;background-position:center!important;background-color:#082b50!important;
 }
}

/* 3.6.518: one media frame and one copy style for all responsive banners. */
@media(max-width:1100px){
 body .cm-banner-normalized::before,body .cm-banner-normalized::after{content:none!important;display:none!important}
 body .cm-banner-normalized>.cm-banner-media{position:relative!important;display:block!important;order:0!important;width:100%!important;aspect-ratio:3/2!important;overflow:hidden!important;flex:none!important;background:#082b50;margin:0!important;padding:0!important;isolation:isolate}
 body .cm-banner-normalized>.cm-banner-media>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important;border-radius:0!important;transform:none!important;filter:none!important;opacity:1!important;background:transparent!important;z-index:1!important}
 body .cm-banner-normalized>.cm-banner-media>img.cm-banner-media-backdrop{object-fit:cover!important;filter:blur(12px)!important;transform:scale(1.06)!important;opacity:.65!important;z-index:0!important}
 body main .section-hero .section-hero-inner,body .hero .hero-mobile,body .contact-page .cm-contact-banner-title{gap:0!important;text-align:left!important;padding:28px 24px!important;background:#082b50!important}
 body main .section-hero h1,body .hero .hero-mobile h1,body .contact-page .cm-contact-headline{font-family:inherit!important;font-weight:800!important;font-size:clamp(28px,4.5vw,40px)!important;line-height:1.15!important;letter-spacing:-.7px!important;margin:0!important;text-shadow:none!important;text-transform:none!important}
 body main .section-hero .section-hero-intro,body .hero .hero-mobile>p,body .contact-page .cm-contact-caption{font-family:inherit!important;font-weight:400!important;font-size:16px!important;line-height:1.55!important;margin:16px 0 22px!important;text-shadow:none!important}
 body main .section-hero .section-hero-button{font-size:15px!important;line-height:1.4!important;padding:13px 20px!important;border-radius:9px!important;display:inline-flex!important;align-items:center!important;gap:12px!important;margin:0!important}
}
@media(max-width:1100px){
 body main .section-hero.cm-banner-normalized::before,body main .section-hero.cm-banner-normalized::after,body .hero.cm-banner-normalized::before,body .hero.cm-banner-normalized::after{content:none!important;display:none!important}
}

/* 3.6.519: real 3:2 art-directed images, without blurred filler. */
@media(max-width:1100px){body .cm-banner-normalized>.cm-banner-media>img.cm-banner-media-backdrop{display:none!important}}

