/* Shared editorial rules: phrase boundaries, readable measures, and fluid card space. */
html{line-break:strict;word-break:normal;overflow-wrap:normal}
.jp-phrase{display:inline-block!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important;vertical-align:baseline;font:inherit!important;letter-spacing:inherit!important;color:inherit!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important;min-width:0!important;text-decoration:inherit;max-width:100%}
.jp-text{display:inline;font:inherit!important;letter-spacing:inherit!important;color:inherit!important;line-height:inherit!important;min-width:0;max-width:100%;text-wrap:pretty;white-space:normal}
:is(h1,h2,h3,h4,h5,h6) .jp-text{text-wrap:balance}
.jp-run{font:inherit!important;letter-spacing:inherit!important;color:inherit!important;min-width:0;margin:0!important;padding:0!important;line-height:inherit!important}
.copy-chunk,.text-phrase{display:contents!important}
.editorial-copy{word-break:normal!important;overflow-wrap:normal!important;line-break:strict;text-wrap:pretty!important}
h1.editorial-copy,h2.editorial-copy,h3.editorial-copy,h4.editorial-copy{letter-spacing:-.025em;line-height:1.6!important;text-wrap:balance!important}
h1.editorial-copy{line-height:1.42!important}
p.editorial-copy,li.editorial-copy,dd.editorial-copy{line-height:1.95!important}
.hero h1>.jp-run,.hero h1>.jp-phrase,.contact-intro h1>.jp-run{color:var(--navy)!important}
.copy-line+.copy-line{margin-top:.5em}
.button{gap:14px;max-width:100%;min-width:0;line-height:1.65}
.button .action-label{line-height:1.65;flex:0 1 auto;min-width:0}
.button .action-label .jp-phrase{line-height:inherit!important}
.text-link,.document-link{gap:12px;max-width:100%;min-width:0;line-height:1.8}
.text-link>.jp-run,.document-link>.jp-run,.tool-action>.jp-run,.card-link>.jp-run{min-width:0;flex:0 1 auto}
.tool h3,.guide-tool h3{line-height:1.5!important}
:is(.service-grid,.approach-cards,.guide-support-grid,.product-features,.guide-process,.price-grid)>*{min-width:0}
.service h3,.personal-steps h3,.local-service-card h3{min-height:0}
.personal-entry-copy strong{font-size:clamp(18px,1.8vw,24px);line-height:1.6}
.personal-entry-detail{font-size:13px;line-height:1.9}
.client-experience dl>div,.guide-experience dl>div{min-width:0}
.guide-experience dt,.client-experience dt{line-height:1.8}
.contact-page .type-options span:not(.jp-phrase):not(.jp-run){min-width:0}
.contact-page .contact-panel{min-width:0}
#review-details dd{overflow-wrap:anywhere!important;word-break:normal!important}
.footer nav{flex-wrap:wrap;gap:15px 22px}
.demo-title h1{overflow-wrap:normal}
.product-features h2{font-size:22px}
.demo-consult{flex-wrap:wrap;align-items:flex-start}
.demo-consult>div{flex:1 1 400px;min-width:0}
.demo-consult h2{font-size:24px}
.demo-consult .button{flex:0 1 auto}
.local-page .local-note,.closing-note,.memo-caption,.field-help,.form-footnote{font-size:13px!important;line-height:1.9!important}
.type-options small{font-size:12px!important}
.preview-notice,.preview-notice strong,.preview-notice a{font-size:13px!important}
@media(min-width:851px) and (max-width:1150px){
 .service-grid,.approach-cards,.guide-support-grid,.product-features{grid-template-columns:1fr!important;gap:26px!important}
 .service,.service:first-child,.service:last-child{padding:25px 0;border-right:0;border-top:1px solid var(--line)}
 .guide-support-grid .guide-support,.product-features article{display:block}
 .guide-process{grid-template-columns:1fr;gap:22px}
 .personal-entry{grid-template-columns:72px minmax(0,1fr) 30px;gap:13px}
 .personal-entry img{width:72px}
}
@media(max-width:850px){
 .container{width:calc(100% - 48px)}
 .guide-support-grid,.product-features,.guide-process{grid-template-columns:1fr;gap:28px}
 .guide-support-grid .guide-support,.product-features article{display:block}
 .guide-hero{grid-template-columns:1fr;gap:30px}
 .guide-hero figure{max-width:560px}
 .contact-layout{grid-template-columns:1fr}
 .contact-panel{padding:28px}
 .local-service-card{grid-template-columns:1fr!important}
 .personal-entry-detail{font-size:13px!important}
}
@media(max-width:600px){
 .container{width:calc(100% - 40px)}
 h1.editorial-copy{font-size:clamp(29px,8.2vw,40px)!important;letter-spacing:-.025em!important;line-height:1.5!important}
 h2.editorial-copy{font-size:clamp(24px,6.5vw,29px)!important;line-height:1.65!important}
 h3.editorial-copy{font-size:21px;line-height:1.65!important}
 .hero-copy{padding-left:20px;padding-right:20px}
 .hero-text,.local-hero p,.local-service-card p,.approach-cards p,.guide-support p,.guide-tool p,.product-features p,.personal-page .about-copy>p:not(.eyebrow):not(.qualification){font-size:15px!important}
 .local-hero .eyebrow{font-size:12px!important}
 .service,.service:first-child,.service:last-child{display:block;padding:25px 0}
 .service-number{display:inline-block;margin-bottom:10px}
 .service h3{font-size:24px!important}
 .personal-steps article{display:block;padding:24px 0}
 .personal-steps h3{font-size:23px!important;margin-top:12px}
 .personal-entry{grid-template-columns:64px minmax(0,1fr) 26px;gap:10px;padding:13px}
 .personal-entry>img{width:64px;height:110px}
 .personal-entry-copy strong{font-size:18px!important}
 .personal-entry-detail{font-size:12px!important}
 .personal-entry-label{font-size:12px}
 .personal-entry-arrow{width:26px;height:26px}
 .product-features h2,.guide-support h3,.approach-cards h3{font-size:23px!important}
 .local-service-card h3{font-size:25px!important}
 .local-tabs a{font-size:13px!important;padding:10px 7px;line-height:1.75}
 .local-closing h2,.consultation h2,.profile-cta h3{font-size:26px!important}
 .contact-panel{padding:24px 18px}
 .contact-intro h1{font-size:30px!important}
 .contact-panel-heading h2{font-size:24px!important}
 .contact-offer strong{font-size:18px}
 .preview-notice{padding:13px}
 .type-options span:not(.jp-run):not(.jp-phrase){font-size:14px!important}
 .form-field>label,.inquiry-type legend{font-size:14px}
 .demo-title h1{font-size:28px!important}
 .demo-consult{padding:23px 20px;gap:22px}
 .demo-consult h2{font-size:23px!important}
 .demo-consult .button{width:100%;font-size:14px}
 .guide-support-grid{gap:30px}
 .guide-hero .button,.guide-cta .button,.guide-personal .text-link{max-width:100%;font-size:14px}
 .price-grid article{padding:25px 20px}
 .price-grid .button{font-size:14px!important;padding-inline:12px;gap:10px}
 .button,.local-page .button{padding-inline:16px;gap:12px}
 .local-closing .closing-note{text-align:left}
 .local-photo figcaption,.online-photo figcaption{font-size:13px}
 .online-photo figcaption strong{font-size:17px}
 .online-photo figcaption>span{font-size:12px}
}
@media(max-width:370px){
 .personal-entry{grid-template-columns:64px minmax(0,1fr) 26px}
 .personal-entry>img{display:block}
 .personal-entry-copy strong{font-size:21px!important}
 .contact-panel{padding-inline:16px}
 .dictionary-content{padding-inline:15px}
 .sample-answer,.sample-query{padding-inline:16px}
 .demo-other a{font-size:13px}
}

.jp-run{border:0!important;background:none!important}
@media(max-width:600px){.hero-actions{display:grid!important;grid-template-columns:1fr!important}.hero-actions .button{width:100%;font-size:15px!important;min-height:54px}.personal-entry>img{display:block!important}}

@media(max-width:370px){.kids-options h2.editorial-copy{font-size:22px!important}}
