/* Functional WordPress elements retain the approved reference geometry. */
html,body.hp-redesign{overflow-x:clip;overflow-y:visible}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:2000;width:auto;height:auto;clip:auto;background:#fff;padding:12px 20px;color:#294243}
body.admin-bar>header{top:32px}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;pointer-events:none}
.contact-form{position:relative}
.contact-form>input[type=hidden]{display:none}
.contact-form .form-result{margin:0;font-size:13px}
.social-icons>a{display:block;text-decoration:none}
.card h3 a.hp-card-title{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;box-shadow:none;text-decoration:none;transform:none}
.card h3 a.hp-card-title:hover{text-decoration:underline;text-underline-offset:4px;background:none;color:inherit;box-shadow:none;transform:none}
.hp-nav-services{position:relative}
.hp-nav-services>a{display:block;padding-block:10px}
.hp-services-dropdown{display:none;position:absolute;top:100%;left:-22px;min-width:290px;width:max-content;max-width:calc(100vw - 40px);padding:18px 22px;background:#fffff6;border:1px solid #95a7a0;border-radius:18px;box-shadow:0 16px 35px #29424312;z-index:1100}
.hp-services-dropdown>a{display:block;font-size:14px;line-height:1.65;padding:8px 0;white-space:normal;max-width:310px}
.hp-nav-services:hover>.hp-services-dropdown,.hp-nav-services:focus-within>.hp-services-dropdown{display:block}
.hp-services-dropdown a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
body>header .links>a[aria-current],.hp-nav-services>a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.subfooter .legal>a,.subfooter-inner>span>a{display:inline;font:inherit;color:inherit;margin:0;text-decoration:none}
.subfooter .legal>a:hover,.subfooter-inner>span>a:hover{text-decoration:underline}
.hp-services-dropdown a:focus-visible{outline:2px solid #8b665c;outline-offset:3px}
html{scroll-padding-top:var(--hp-sticky-top,174px)}
@media(max-width:782px){body.admin-bar>header{top:46px}}
@media(max-width:600px){body.admin-bar>header{top:0}.hp-services-dropdown{left:-70px;width:280px;min-width:0}}
@media(max-width:700px){body.hp-redesign>header{position:relative;top:auto}html:has(body.hp-redesign){scroll-padding-top:24px}}

/* Compact navigation enhances the visible no-script navigation in place. */
body.hp-redesign>header :is(.hp-mobile-toggle,.hp-services-toggle){display:none}
@media(max-width:1100px){
  html:has(body.hp-redesign>header){scroll-padding-top:24px}
  body.hp-redesign>header{position:relative;top:auto}
  body.hp-redesign>header nav.wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:center;
    gap:0 20px;
    width:calc(100% - 40px);
    max-width:none;
    min-height:88px;
    margin-inline:auto;
    padding:12px 0;
  }
  body.hp-redesign>header nav.wrap>a{
    display:block;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    flex:0 0 auto;
    width:140px;
    max-width:100%;
    margin:0;
    padding:0;
  }
  body.hp-redesign>header nav.wrap>a>img{
    display:block;
    width:140px;
    max-width:100%;
    height:auto;
    margin:0;
  }
  body.hp-redesign>header nav.wrap :is(.hp-mobile-toggle,.hp-services-toggle){
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    margin:0;
    padding:0;
    border:0;
    border-radius:12px;
    box-shadow:none;
    transform:none;
    line-height:1;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  body.hp-redesign>header nav.wrap :is(.hp-mobile-toggle,.hp-services-toggle):hover{
    box-shadow:none;
    transform:none;
  }
  body.hp-redesign>header nav.wrap :is(.hp-mobile-toggle,.hp-services-toggle):focus-visible{
    outline:2px solid #8b665c;
    outline-offset:4px;
  }
  body.hp-redesign>header.hp-menu-ready nav.wrap>.hp-mobile-toggle{
    display:inline-flex;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    background:#95a7a0;
    color:#fff;
  }
  body.hp-redesign>header.hp-menu-ready nav.wrap>.hp-mobile-toggle:hover{background:#95a7a0;color:#fff}
  body.hp-redesign>header .hp-menu-icon{
    display:block;
    position:relative;
    width:22px;
    height:18px;
  }
  body.hp-redesign>header .hp-menu-icon>span{
    display:block;
    position:absolute;
    left:0;
    width:22px;
    height:2px;
    margin:0;
    padding:0;
    border:0;
    border-radius:1px;
    background:currentColor;
    opacity:1;
    transform:none;
    transform-origin:center;
    transition:transform .2s ease,opacity .15s ease;
  }
  body.hp-redesign>header .hp-menu-icon>span:nth-child(1){top:0}
  body.hp-redesign>header .hp-menu-icon>span:nth-child(2){top:8px}
  body.hp-redesign>header .hp-menu-icon>span:nth-child(3){top:16px}
  body.hp-redesign>header.hp-menu-open .hp-menu-icon>span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  body.hp-redesign>header.hp-menu-open .hp-menu-icon>span:nth-child(2){opacity:0}
  body.hp-redesign>header.hp-menu-open .hp-menu-icon>span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  body.hp-redesign>header nav.wrap>.links{
    display:flex;
    grid-column:1 / -1;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:16px 0 4px;
    padding:12px 20px 20px;
    border:1px solid #95a7a055;
    border-radius:18px;
    background:#fffff6;
    color:#294243;
    font-size:17px;
    line-height:1.6;
  }
  body.hp-redesign>header.hp-menu-ready nav.wrap>.links{display:none}
  body.hp-redesign>header.hp-menu-ready.hp-menu-open nav.wrap>.links{display:flex}
  body.hp-redesign>header nav.wrap>.links>*{order:0;min-width:0;max-width:100%}
  body.hp-redesign>header nav.wrap>.links>a:not(.button),
  body.hp-redesign>header nav.wrap>.links>.hp-nav-services>a{
    display:flex;
    align-items:center;
    min-height:48px;
    margin:0;
    padding:10px 0;
    color:#294243;
    font:inherit;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  body.hp-redesign>header nav.wrap>.links>.hp-nav-services{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:center;
    position:relative;
    width:100%;
  }
  body.hp-redesign>header nav.wrap>.links>.hp-nav-services>a{grid-column:1;grid-row:1}
  body.hp-redesign>header.hp-menu-ready nav.wrap .hp-nav-services>.hp-services-toggle{
    display:inline-flex;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    background:transparent;
    color:#294243;
  }
  body.hp-redesign>header.hp-menu-ready nav.wrap .hp-nav-services>.hp-services-toggle:hover{background:#95a7a026;color:#294243}
  body.hp-redesign>header nav.wrap .hp-services-toggle>span{
    display:block;
    width:9px;
    height:9px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .2s ease;
  }
  body.hp-redesign>header nav.wrap .hp-submenu-open>.hp-services-toggle>span{transform:translateY(2px) rotate(225deg)}
  body.hp-redesign>header nav.wrap .links .hp-services-dropdown{
    display:flex;
    grid-column:1 / -1;
    flex-direction:column;
    gap:0;
    position:static;
    inset:auto;
    z-index:auto;
    width:100%;
    min-width:0;
    max-width:100%;
    max-height:none;
    margin:4px 0 12px;
    padding:0 0 0 18px;
    border:0;
    border-left:1px solid #95a7a066;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  body.hp-redesign>header.hp-menu-ready nav.wrap .links .hp-services-dropdown{display:none}
  body.hp-redesign>header.hp-menu-ready nav.wrap .links .hp-submenu-open>.hp-services-dropdown{display:flex}
  body.hp-redesign>header nav.wrap .links .hp-services-dropdown>a{
    display:flex;
    align-items:center;
    min-height:44px;
    max-width:100%;
    margin:0;
    padding:9px 0;
    color:#294243;
    font-size:15px;
    line-height:1.6;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  body.hp-redesign>header nav.wrap>.links>.language-switch{
    display:flex;
    order:1;
    align-items:center;
    justify-content:flex-start;
    align-self:flex-start;
    gap:10px;
    width:auto;
    margin:18px 0 8px;
  }
  body.hp-redesign>header nav.wrap .language-switch button,
  body.hp-redesign>header nav.wrap .language-switch button[aria-pressed=true]{
    width:44px;
    height:44px;
    min-height:44px;
    padding:8px;
    border-radius:12px;
    box-shadow:none;
    transform:none;
  }
  body.hp-redesign>header nav.wrap .language-switch button:hover{box-shadow:none;transform:none}
  body.hp-redesign>header nav.wrap .language-switch button img{width:28px;height:19px}
  body.hp-redesign>header nav.wrap>.links>.button{
    display:flex;
    order:2;
    align-items:center;
    justify-content:center;
    width:100%;
    height:auto;
    min-height:48px;
    margin:12px 0 0;
    padding:12px 18px;
    font-size:17px;
    line-height:1.5;
    white-space:normal;
    text-align:center;
  }
}
@media(max-width:1100px) and (prefers-reduced-motion:reduce){
  body.hp-redesign>header .hp-menu-icon>span,
  body.hp-redesign>header nav.wrap .hp-services-toggle>span{transition:none}
}
/* Keep the signed-in WordPress toolbar on one row above the narrow mobile header. */
@media(max-width:360px){body.hp-redesign.admin-bar #wpadminbar #wp-admin-bar-wpseo-menu{display:none!important}}

/* Original testimonials rotate inside the approved review artwork. */
.review .testimonial-stage{display:grid;grid-template-columns:minmax(0,1fr);width:100%;margin:0 auto}
.review .testimonial-stage>.testimonial{grid-area:1/1;display:flex;flex-direction:column;justify-content:center;align-self:stretch;width:100%;min-width:0}
.review .testimonial[hidden]{display:none!important}
.review .testimonial-stage.is-measuring{visibility:hidden}
.review .testimonial-controls{display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.review .hp-review-ready .testimonial-controls{display:flex}
.review .testimonial-controls button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #95a7a0;border-radius:50%;background:#fffff6;color:#294243;font-family:'HP Rounded',Arial,sans-serif;font-size:20px;line-height:1;box-shadow:none;transform:none;cursor:pointer}
.review .testimonial-controls button:hover{background:#95a7a0;color:#fff;box-shadow:none;transform:none}
.review .testimonial-controls button:focus-visible{outline:2px solid #8b665c;outline-offset:4px}
.review .testimonial-position{min-width:42px;font-size:14px;line-height:1.5;color:#294243;font-variant-numeric:tabular-nums}
.review .testimonial-controls .testimonial-autoplay{gap:8px;width:auto;min-width:104px;padding:0 16px;border-radius:999px;font-size:14px}
.review .testimonial-autoplay:before{content:'Ⅱ';font-family:Arial,sans-serif;font-size:14px;line-height:1}
.review .testimonial-autoplay[data-paused=true]:before{content:'▶';font-size:11px}

/* Association marks sit on clear white panels above their original labels. */
.badges .credential-button.hp-credential-with-logo{flex-direction:column;gap:16px}
.badges .credential-button .hp-credential-logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:300px;max-width:100%;height:72px;margin:0;padding:10px 14px;border:0;border-radius:14px;background:#fff;line-height:1}
.badges .credential-button .hp-credential-logo img{display:block;width:100%;max-width:100%;height:auto;max-height:52px;margin:0;padding:0;border:0;border-radius:0;object-fit:contain;box-shadow:none}
.badges .credential-button .hp-credential-logo img[src$="credential-somatic.png"]{width:145px;max-height:58px}
.badges .credential-button .hp-credential-label{display:block;margin:0;padding:0;border:0;color:inherit;font:inherit;line-height:inherit}

/* The unlinked bilingual note leads a row containing only the two associations. */
body.hp-redesign .badges>.wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
.badges .wrap>.hp-credential-intro{grid-column:1/-1;margin:0 0 8px;padding:0;border:0;color:#294243;font-family:'HP Rounded','Arial Rounded MT Bold',sans-serif;font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.5;text-align:center}
.hours-band .badges .hp-credential-intro,.therapy-contact-band .badges .hp-credential-intro{color:#fff}
@media(max-width:700px){body.hp-redesign .badges>.wrap{grid-template-columns:1fr}.badges .wrap>.hp-credential-intro{margin-bottom:4px}}

/* The client's additional message has its own warm banner below the services. */
body.hp-reference-home .hp-home-message{margin:60px 0 0;padding:64px 0;background:#f0dfd3;color:#294243}
body.hp-reference-home .hp-home-message-copy{max-width:980px;margin:0 auto}
body.hp-reference-home .hp-home-message h2{margin:0 0 24px;color:inherit;font-size:clamp(34px,3.6vw,46px);line-height:1.25}
body.hp-reference-home .hp-home-message p{margin:0;color:inherit;font-size:21px;line-height:1.85}
@media(max-width:700px){body.hp-reference-home .hp-home-message{margin-top:32px;padding:42px 0}body.hp-reference-home .hp-home-message p{font-size:18px;line-height:1.8}}
