/* Editorial phrase boundaries: preserve words and keep punctuation with them. */
main,footer{line-break:strict;word-break:normal;overflow-wrap:normal}
main p,main h2,main h3,.faq-answer,footer address{text-wrap:pretty}
.text-run{min-width:0;max-width:100%}
.phrase{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.brand-service .text-run,.brand-service .phrase{font-size:inherit;display:inline}
.promise-band .text-run{display:block;max-width:100%;width:100%}
.promise-band .phrase{display:inline;max-width:none;width:auto}
.staff-name .text-run,.staff-name .phrase{display:inline;font-size:inherit}
.contact-hours .text-run,.contact-hours .phrase{font-size:inherit}
.hero .headline-line,.hero .hero-description-line{display:block;white-space:nowrap}
.hero .headline-line>.text-run{white-space:inherit}
.hero .hero-description{width:max-content;max-width:43%;line-height:1.8}
.hero .hero-description-line{white-space:nowrap}
.text-link{max-width:100%;gap:12px}
.text-link>.text-run{flex:0 1 auto}
.text-link>.icon{flex-shrink:0}
.faq summary>.text-run{flex:1;min-width:0}
.faq .q,.faq .plus{flex-shrink:0}
.outline-button>.text-run{min-width:0}
.price-range,.yen,.phone-contact strong{white-space:nowrap}
.staff-name>span{line-height:1.9}
@media(max-width:800px){
  .section-heading>p:last-child:not(.eyebrow){max-width:32em;margin-left:auto;margin-right:auto}
  .family-copy h2,.section-heading h2{letter-spacing:0}
  .concern-list{padding:0}
  .concern-list li{gap:12px}
  .concern-num{min-width:31px}
  .concern-list li>div{min-width:0;flex:1}
  .concern-list h3{font-size:20px;line-height:1.8}
  .care-text h3{font-size:23px;line-height:1.8}
  .care-text p,.staff-copy>p:not(.eyebrow),.flow-list p,.faq-answer{line-height:2}
  .flow-list li{gap:14px}
  .flow-list li>div{min-width:0;flex:1}
  .flow-list h3{font-size:20px;line-height:1.8}
  .faq summary{font-size:18px;gap:10px}
  .faq .q{width:21px}
  .faq .plus{width:15px}
  .price-kicker{font-size:15px;padding-left:12px;padding-right:12px}
  .price-main{gap:10px}
  .price-range{font-size:44px;letter-spacing:-.03em}
  .price-extra{margin-left:15px;margin-right:15px}
  .price-extra>.text-run{display:block}
  .price-footnote,.source-link{padding-left:17px;padding-right:17px}
  .contact-panel{padding-left:16px;padding-right:16px}
  .contact-panel .button{gap:6px;padding-left:10px;padding-right:10px}
  .contact-panel .button>span{min-width:0}
  .contact-hours{line-height:1.9}
  .footer address{line-height:2}
}
@media(max-width:359px){
  .section{padding-left:18px;padding-right:18px}
  .hero .hero-description{max-width:none;width:max-content;font-size:14px}
  .concern-list h3,.flow-list h3{font-size:19px}
  .care-text h3{font-size:22px}
  .contact-section{padding-left:16px;padding-right:16px}
  .contact-panel{padding-left:13px;padding-right:13px}
  .contact-panel .button{font-size:16px}
  .phone-contact strong{font-size:25px}
  .price-range{font-size:41px}
}
:root[data-text-size=large] .phrase,:root[data-text-size=largest] .phrase{white-space:normal;overflow-wrap:anywhere}
:root[data-text-size=large] .hero .headline-line,:root[data-text-size=largest] .hero .headline-line,:root[data-text-size=large] .hero .hero-description-line,:root[data-text-size=largest] .hero .hero-description-line{white-space:normal}
:root[data-text-size=large] .hero .hero-description,:root[data-text-size=largest] .hero .hero-description{max-width:100%;width:100%}
:root[data-text-size=large] .price-range,:root[data-text-size=largest] .price-range,:root[data-text-size=large] .phone-contact strong,:root[data-text-size=largest] .phone-contact strong{white-space:normal}
