/* Shared Remedies and Conditions sections for home.html. */
.vs-about .abImg img { transform: none !important; filter: none !important; transition: none !important; }
.vs-about .abImg::after { display: none !important; }
.vs-about .rotating-svg { animation: none !important; }

/* Full-width banner carousel copied from test.html and adapted to the homepage palette. */
.pm-hero-carousel { position: relative; overflow: hidden; background: #073e30; }
.pm-hero-carousel .carousel-item { position: relative; height: 915px; }
.pm-hero-carousel .carousel-item > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pm-hero-carousel .carousel-item::after { display: none; }
.pm-hero-carousel__content { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; color: #fff; }
.pm-hero-carousel__text { max-width: 650px; }
.pm-hero-carousel__tag { display: inline-flex; margin-bottom: 18px; align-items: center; gap: 9px; color: #baffd3; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.pm-hero-carousel__tag::before { width: 28px; height: 1px; content: ""; background: currentColor; }
.pm-hero-carousel__text h1 { margin: 0 0 22px; color: #fff; font-family: var(--vs-title-font); font-size: clamp(2.35rem, 4vw, 4.15rem); font-weight: 700; line-height: 1.16; letter-spacing: -.035em; }
.pm-hero-carousel__text h1 span { color: #73e6a5; }
.pm-hero-carousel__text p { max-width: 540px; margin: 0 0 31px; color: #e5eeea; font-size: .98rem; line-height: 1.85; }
.pm-hero-carousel__btn { display: inline-flex; min-height: 51px; padding: 0 24px; align-items: center; justify-content: center; gap: 11px; border: 1px solid #07864f; border-radius: 999px; color: #fff; background: #07864f; font-size: .88rem; font-weight: 700; text-decoration: none; transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s cubic-bezier(.16,1,.3,1); }
.pm-hero-carousel__btn + .pm-hero-carousel__btn { margin-left: 9px; }
.pm-hero-carousel__btn i { font-size: .72rem; transition: transform .3s ease; }
.pm-hero-carousel__btn:hover { border-color: #ef1c25; color: #fff; background: #ef1c25; transform: translateY(-3px); }
.pm-hero-carousel__btn:hover i { transform: translateX(3px); }
.pm-hero-carousel__btn--outline { border-color: rgba(255,255,255,.78); background: transparent; }
.pm-hero-carousel__btn--outline:hover { border-color: #fff; color: #123f34; background: #fff; }
.pm-hero-carousel .carousel-indicators { z-index: 5; bottom: 25px; margin-bottom: 0; }
.pm-hero-carousel .carousel-indicators [data-bs-target] { width: 35px; height: 4px; margin: 0 5px; border: 0; border-radius: 999px; background-color: rgba(255,255,255,.55); opacity: 1; }
.pm-hero-carousel .carousel-indicators .active { background-color: #00c46d; }
.pm-hero-carousel .carousel-control-prev, .pm-hero-carousel .carousel-control-next { z-index: 4; width: 6%; }

/* Treatment card action: give the two-tone Read More control a crisp outer edge. */
.pm-treatments-carousel .vs-service__txt .ser_btn { box-sizing: border-box; overflow: hidden; border: 2px solid rgba(255,255,255,.8) !important; outline: 2px solid #a9dac0; outline-offset: 0; box-shadow: none; }
.pm-treatments-carousel .pm-treatment-card:hover .ser_btn { border-color: #fff !important; }
.pm-treatments-carousel .swiper-wrapper { transition-timing-function: linear !important; }
.pm-footer__bottom .container { justify-content: center; }
.pm-footer__bottom p { text-align: center; }
.pm-footer__agency { color: #008b4d; font-weight: 700; text-decoration: none; }
.pm-footer__agency:hover { color: #006b3a; text-decoration: underline; }

@media (max-width: 991px) {
  .pm-hero-carousel .carousel-item { height: 540px; }
  .pm-hero-carousel .carousel-control-prev, .pm-hero-carousel .carousel-control-next { width: 8%; }
}

@media (max-width: 575px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  .vs-main, .pm-site-header, .pm-site-header .sticky-wrapper, .pm-site-header .sticky-active { width: 100%; max-width: 100%; overflow-x: clip; }
  .pm-site-header .container, .pm-site-header .menu-container { width: 100%; max-width: 100%; }
  .pm-site-header .menu-container { margin-right: 0; margin-left: 0; }
  .pm-hero-carousel, .pm-hero-carousel .carousel, .pm-hero-carousel .carousel-inner, .pm-hero-carousel .carousel-item { width: 100%; max-width: 100%; }
  .pm-hero-carousel .carousel-item { overflow: hidden; }
  .pm-hero-carousel .container { width: 100%; max-width: 100%; }
  .pm-hero-carousel .carousel-item { height: 380px; }
  .pm-hero-carousel .carousel-item > img { object-position: 60% center; }
  .pm-hero-carousel__text { padding: 0 16px; }
  .pm-hero-carousel__tag { margin-bottom: 12px; font-size: .62rem; }
  .pm-hero-carousel__text h1 { margin-bottom: 17px; font-size: 1.38rem; line-height: 1.16; }
  .pm-hero-carousel__text p { display: none; }
  .pm-hero-carousel__btn { min-height: 40px; padding: 0 13px; gap: 8px; font-size: .67rem; }
  .pm-hero-carousel__btn--outline { display: none; }
  .pm-hero-carousel .carousel-control-prev, .pm-hero-carousel .carousel-control-next { display: none; }
}

/* Dedicated mobile navigation treatment for home.html. */
@media (max-width: 1199px) {
  .pm-site-header { height: 76px; background: #fff; box-shadow: 0 7px 24px rgba(10,56,42,.1); }
  .pm-site-header .sticky-wrapper, .pm-site-header .sticky-active { min-height: 76px; background: #fff; }
  .pm-site-header .container, .pm-site-header .menu-container { height: 76px; }
  .pm-site-header .menu-container { margin: 0; }
  .pm-site-header .row { height: 100%; }
  .pm-site-header .vs-header__logo { margin: 0 0 0 14px; }
  .pm-site-header .pm-navbar-logo { display: block; width: 53px; height: 53px; object-fit: contain; }
  .pm-site-header .vs-menu-toggle { display: inline-grid !important; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(8,116,71,.16); border-radius: 12px; color: #075e3e; background: #eff8f2; font-size: 20px; line-height: 1; transition: background-color .25s ease, color .25s ease, transform .25s ease; }
  .pm-site-header .vs-menu-toggle:hover { color: #fff; background: #087447; transform: translateY(-2px); }

  .vs-menu-wrapper { background: rgba(4,37,29,.66); backdrop-filter: blur(4px); }
  .vs-menu-wrapper .vs-menu-area { width: min(88vw, 350px); max-width: none; border: 0; background: #fff; box-shadow: 20px 0 48px rgba(0,0,0,.15); }
  .vs-menu-wrapper .vs-header__right { min-height: 90px; padding: 16px 20px; border-bottom: 1px solid #e2ece6; background: #fff; }
  .vs-menu-wrapper .mobile-logo { display: flex; width: auto; align-items: center; }
  .vs-menu-wrapper .mobile-logo .pm-navbar-logo { width: 54px; height: 54px; }
  .vs-menu-wrapper .vs-menu-toggle { top: 23px; right: 18px; display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 10px; color: #fff; background: #087447; }
  .vs-mobile-menu { max-height: none; margin: 24px 23px 0; overflow: visible; }
  .vs-mobile-menu ul li { border-bottom: 1px solid #e7efea; }
  .vs-mobile-menu ul li a { padding: 17px 0; color: #123f34; font-family: var(--vs-title-font); font-size: 1rem; font-weight: 700; }
  .vs-mobile-menu ul li a::before { color: #079456; }
  .vs-mobile-menu ul li a:hover { padding-left: 7px; color: #087447; }
  .vs-menu-wrapper .mt-50 { margin: 30px 23px 0 !important; padding: 22px 0 0 !important; border-top: 1px solid #e7efea; }
  .vs-menu-wrapper .social-style.mobileMenu { display: flex; gap: 9px; justify-content: flex-start; }
  .vs-menu-wrapper .sidemenu-text { color: #688177; font-size: .75rem; line-height: 1.55; text-align: left !important; }
}

@media (max-width: 575px) {
  .pm-site-header, .pm-site-header .sticky-wrapper, .pm-site-header .sticky-active, .pm-site-header .container, .pm-site-header .menu-container { height: 68px; min-height: 68px; }
  .pm-site-header .pm-navbar-logo { width: 48px; height: 48px; }
  .pm-site-header .vs-header__logo { margin-left: 10px; }
  .pm-site-header .vs-menu-toggle { width: 41px; height: 41px; border-radius: 10px; }
  .vs-menu-wrapper .vs-menu-area { width: min(86vw, 330px); }
}

/* Consistent mobile rhythm across every home page section. */
@media (max-width: 767px) {
  .vs-about.space { padding-top: 30px; padding-bottom: 48px; }
  .pm-treatments-section.space,
  .vs-testimoni.space { padding-top: 48px; padding-bottom: 48px; }

  .pm-remedies-spotlight { padding-top: 48px; padding-bottom: 48px; }
  .pm-conditions { padding-top: 48px; padding-bottom: 48px; }

  .vs-choose.space-top { padding: 48px 0 !important; }
  .vs-choose .pm-choose-heading { margin-bottom: 30px; }
  .pm-choose-benefits { margin-top: 28px; }

  .vs-testimoni .vs-title { margin-bottom: 28px; }
  .vs-testimoni + .vs-appoint { padding: 34px 0 40px; }
  .vs-testimoni + .vs-appoint .vs-appoint--style2 { padding: 36px 18px; }
}

.pm-remedies-spotlight { position: relative; isolation: isolate; overflow: hidden; min-height: 650px; padding: clamp(70px, 7vw, 108px) 0; color: #fff; background: #00442e url('../img/wellness/personalised-remedies-bg.webp') center center / cover no-repeat; }
.pm-remedies-spotlight::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,51,35,.2), transparent 60%); }
.pm-remedies-spotlight__layout { position: relative; display: flex; min-height: 470px; align-items: flex-start; }
.pm-remedies-spotlight__content { width: min(100%, 665px); }
.pm-remedies-spotlight__eyebrow { display: flex; width: fit-content; margin: 0 0 23px; align-items: center; gap: 14px; color: #e1f6b2; font-size: clamp(.88rem, 1.3vw, 1.08rem); font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.pm-remedies-spotlight__eyebrow::after { width: 80px; height: 1px; content: ""; background: rgba(225,246,178,.6); }
.pm-remedies-spotlight__eyebrow i { font-size: 1.25rem; }
.pm-remedies-spotlight h2 { max-width: 680px; margin: 0 0 19px; color: #fff; font-family: var(--vs-title-font); font-size: clamp(3rem, 5.1vw, 5.45rem); font-weight: 600; line-height: .98; letter-spacing: -.045em; }
.pm-remedies-spotlight h2 span { display: block; color: #d9f2a5; }
.pm-remedies-spotlight__lead { max-width: 630px; margin: 0; color: rgba(255,255,255,.92); font-size: clamp(1.05rem, 1.55vw, 1.37rem); line-height: 1.45; }
.pm-remedies-spotlight__benefits { display: flex; max-width: 610px; margin: 36px 0 29px; }
.pm-remedies-spotlight__benefits > div { display: flex; min-width: 0; padding: 0 27px; align-items: center; gap: 14px; border-right: 1px solid rgba(228,246,203,.42); }
.pm-remedies-spotlight__benefits > div:first-child { padding-left: 0; }
.pm-remedies-spotlight__benefits > div:last-child { padding-right: 0; border-right: 0; }
.pm-remedies-spotlight__benefits span { display: grid; width: 58px; height: 58px; flex: 0 0 58px; place-items: center; border: 1px solid rgba(229,246,204,.65); border-radius: 50%; color: #e1f6b2; font-size: 1.3rem; }
.pm-remedies-spotlight__benefits strong { color: #fff; font-size: .98rem; line-height: 1.38; }
.pm-remedies-spotlight__note { max-width: 620px; margin: 0 0 30px; color: rgba(255,255,255,.87); font-size: 1rem; line-height: 1.6; }
.pm-remedies-spotlight__btn { display: inline-flex; min-width: 250px; height: 65px; padding: 0 21px; align-items: center; gap: 13px; border: 0; border-radius: 999px; color: #123f34; background: #fffde9; font-size: 1.05rem; font-weight: 800; box-shadow: 0 14px 30px rgba(0,0,0,.17); transition: transform .35s cubic-bezier(.16,1,.3,1), background-color .3s ease; }
.pm-remedies-spotlight__btn > i:first-child { color: #087447; font-size: 1.35rem; }
.pm-remedies-spotlight__btn span { display: none; }
.pm-remedies-spotlight__btn > i:last-child { display: grid; width: 31px; height: 31px; margin-left: auto; place-items: center; border-radius: 50%; color: #fff; background: #087447; font-size: .77rem; }
.pm-remedies-spotlight__btn:hover { color: #fff; background: #087447; transform: translateY(-4px); }
.pm-remedies-spotlight__btn:hover > i:first-child { color: #e1f6b2; }
.pm-remedies-spotlight__btn:hover > i:last-child { color: #087447; background: #fff; }

.pm-conditions { position: relative; overflow: hidden; padding: clamp(70px, 8vw, 120px) 0; background: #fff; }
.pm-conditions::before { position: absolute; width: 330px; height: 330px; bottom: -240px; left: -120px; content: ""; border-radius: 50%; background: #e3f4e9; }
.pm-conditions__intro { position: relative; z-index: 1; max-width: 405px; padding-bottom: 5px; }
.pm-conditions h2 { margin: 0 0 17px; color: #123f34; font-size: clamp(2rem, 3.5vw, 3.45rem); line-height: 1.08; }
.pm-conditions h2 em { color: #50ad68; font-style: normal; }
.pm-conditions__intro > p:not(.vs-title__sub) { margin-bottom: 27px; color: #557269; line-height: 1.75; }
.pm-condition-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.pm-condition-card { display: flex; min-height: 205px; padding: 26px 21px 23px; flex-direction: column; overflow: hidden; border: 1px solid rgba(8,116,71,.09); border-radius: 20px; color: #123f34; background: #f2faf5; box-shadow: 0 13px 28px rgba(8,71,49,.055); transition: transform .45s cubic-bezier(.16,1,.3,1), background-color .35s ease, box-shadow .35s ease; }
.pm-condition-card > img.pm-art-icon { display: block; width: 53px; height: 53px; margin-bottom: 14px; object-fit: contain; }
.pm-condition-card h3 { margin: 0 0 7px; color: #123f34; font-size: 1.13rem; }
.pm-condition-card p { margin: 0; color: #607c73; font-size: .9rem; line-height: 1.5; }
.pm-condition-card span { display: inline-flex; width: auto; height: 32px; margin-top: auto; padding: 0 12px; align-items: center; align-self: flex-start; flex-wrap: nowrap; gap: 7px; border: 1px solid #087447; border-radius: 999px; color: #087447; background: #fff; font-size: .76rem; font-weight: 700; line-height: 1; white-space: nowrap; transition: transform .35s cubic-bezier(.16,1,.3,1), background-color .35s ease; }
.pm-condition-card span i { color: currentColor; font-size: .7rem; }
.pm-condition-card:hover { color: #fff; background: #0a6a45; box-shadow: 0 20px 34px rgba(6,63,46,.16); transform: translateY(-8px); }
.pm-condition-card:hover > img.pm-art-icon { padding: 7px; border-radius: 50%; background: #fff; box-shadow: 0 8px 18px rgba(0,0,0,.12); transform: scale(1.05) rotate(-2deg); }
.pm-condition-card:hover h3, .pm-condition-card:hover p { color: #fff; }
.pm-condition-card:hover span { color: #087447; background: #fff; transform: translateY(-2px); }

/* Keep email addresses in their conventional lowercase form. */
.vs-appoint a[href^="mailto:"],
.pm-footer__contact a[href^="mailto:"] strong { text-transform: lowercase !important; }

/* Footer timing stays readable in narrow footer columns. */
.pm-footer__timing { align-items: flex-start; }
.pm-footer__timing > i { flex: 0 0 auto; margin-top: 2px; }
.pm-footer__timing p { display: flex; min-width: 0; flex-direction: column; gap: 1px; }
.pm-footer__timing p strong,
.pm-footer__timing p span { display: block; white-space: nowrap; }

/* Contact page: shared PM Healthcare navigation, details and footer. */
.pm-contact-page { overflow-x: hidden; background: #fff; }
.pm-contact-page > .vs-header.home-two,
.pm-contact-page > .vs-footer { display: none; }
.pm-contact-page .pm-site-header { position: relative; }
.pm-contact-page .pm-site-header .sticky-wrapper { position: relative; }
.pm-contact-header { position: relative; z-index: 20; background: #fff; box-shadow: 0 1px 0 rgba(10, 83, 57, .10); }
.pm-contact-header__inner { display: flex; min-height: 94px; align-items: center; justify-content: space-between; gap: 26px; }
.pm-contact-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.pm-contact-header__brand img { width: 154px; max-height: 64px; object-fit: contain; }
.pm-contact-header__nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.3vw, 40px); }
.pm-contact-header__nav a { position: relative; padding: 36px 0 33px; color: #17382e; font-size: .93rem; font-weight: 700; }
.pm-contact-header__nav a::after { position: absolute; right: 0; bottom: 27px; left: 0; height: 2px; content: ""; background: #00a859; transform: scaleX(0); transform-origin: center; transition: transform .25s ease; }
.pm-contact-header__nav a:hover,
.pm-contact-header__nav a.is-active { color: #00a859; }
.pm-contact-header__nav a:hover::after,
.pm-contact-header__nav a.is-active::after { transform: scaleX(1); }
.pm-contact-header__cta { display: inline-flex; min-height: 47px; padding: 0 18px; align-items: center; gap: 8px; border-radius: 6px; color: #fff; background: #087447; font-size: .84rem; font-weight: 700; white-space: nowrap; transition: background-color .25s ease, transform .25s ease; }
.pm-contact-header__cta:hover { color: #fff; background: #00a859; transform: translateY(-2px); }
.pm-contact-header__mobile { display: none; position: relative; }
.pm-contact-header__mobile summary { display: grid; width: 45px; height: 45px; place-items: center; cursor: pointer; border: 1px solid #dbece3; border-radius: 7px; color: #087447; font-size: 1.2rem; list-style: none; }
.pm-contact-header__mobile summary::-webkit-details-marker { display: none; }
.pm-contact-header__mobile nav { position: absolute; top: calc(100% + 10px); right: 0; display: grid; width: min(295px, calc(100vw - 30px)); padding: 14px; border: 1px solid #dcefe5; border-radius: 12px; background: #fff; box-shadow: 0 18px 35px rgba(8, 61, 43, .18); }
.pm-contact-header__mobile nav a { padding: 11px 10px; border-radius: 6px; color: #17382e; font-weight: 700; }
.pm-contact-header__mobile nav a:hover { color: #fff; background: #087447; }
.pm-contact-header__mobile .pm-contact-header__mobile-cta { margin-top: 6px; color: #fff; background: #087447; text-align: center; }
.pm-contact-page .vs-contact { padding: clamp(64px, 8vw, 110px) 0; background: #f7fbf8; }
.pm-contact-page .vs-contact > .container > .row { align-items: stretch; }
.pm-contact-page .contactP { display: grid; height: 100%; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 16px; align-content: stretch; }
.pm-contact-page .contact-info { position: relative; min-height: 164px; margin: 0 !important; padding: 26px 26px 22px; overflow: hidden; border: 1px solid #d9eee2; border-radius: 14px; background: #fff; box-shadow: 0 14px 35px rgba(19, 70, 50, .055); }
.pm-contact-page .contact-info h2 { margin: 0 0 15px; color: #17382e; font-size: 1.12rem; line-height: 1.25; }
.pm-contact-page .contact-info p,
.pm-contact-page .contact-info li,
.pm-contact-page .contact-info li a,
.pm-contact-page .contact-info li span { color: #607b71; font-size: .9rem; line-height: 1.65; }
.pm-contact-page .contact-info p { margin: 0; }
.pm-contact-page .contact-info ul { margin: 0; padding: 0; list-style: none; }
.pm-contact-page .contact-info li a { color: #087447; font-weight: 700; }
.pm-contact-page .contact-info .con-icon { display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border-radius: 50%; color: #087447; background: #e6f6ec; font-size: 1.15rem; }
.pm-contact-page .contact-info .con-icon svg { width: 23px; height: 23px; fill: currentColor; }
.pm-contact-page .contact-info > img,
.pm-contact-page .contact-info .bg-icon { display: none; }
.pm-contact-page .vs-contact .contact-info:hover { border-color: #087447; background: #087447; box-shadow: 0 18px 35px rgba(8, 116, 71, .18); transform: translateY(-4px); }
.pm-contact-page .vs-contact .contact-info:hover h2,
.pm-contact-page .vs-contact .contact-info:hover p,
.pm-contact-page .vs-contact .contact-info:hover li,
.pm-contact-page .vs-contact .contact-info:hover li a,
.pm-contact-page .vs-contact .contact-info:hover li span { color: #fff; }
.pm-contact-page .vs-contact .contact-info:hover .con-icon { border-color: #fff; color: #087447; background: #fff; }
.pm-contact-page .vs-contact .contact-info:hover .con-icon svg path { fill: #087447; }
.pm-contact-page .contact-box { height: 100%; padding: clamp(29px, 4.2vw, 53px); border: 1px solid #d8ece2; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(19, 70, 50, .08); }
.pm-contact-page .contact-box .vs-title { margin-bottom: 31px; }
.pm-contact-page .contact-box .vs-title__sub { display: flex; align-items: center; justify-content: center; gap: 9px; color: #087447; font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pm-contact-page .contact-box .pm-subtitle-logo { width: 27px; height: 27px; object-fit: contain; }
.pm-contact-page .contact-box .vs-title__main { color: #17382e; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.pm-contact-page .form-style .form-control,
.pm-contact-page .form-style select { height: 57px; border-color: #d7e9df; border-radius: 7px; color: #17382e; background-color: #f9fdfb; }
.pm-contact-page .vs-contact .contact-box select { padding: 0 44px 0 18px !important; color: #17382e !important; font-size: .94rem; line-height: 1.3; text-transform: none; }
.pm-contact-page .vs-contact .contact-box select option { color: #17382e; background: #fff; }
.pm-contact-page .form-style textarea.form-control { height: auto; min-height: 132px; padding-top: 16px; }
.pm-contact-page .form-style .form-group > i { color: #087447; }
.pm-contact-page .form-style .form-control:focus,
.pm-contact-page .form-style select:focus { border-color: #00a859; box-shadow: 0 0 0 .18rem rgba(0, 168, 89, .12); }
.pm-contact-page .vs-contact .contact-box .con-btn { width: 100%; min-height: 53px; padding: 0 26px; border: 0; border-radius: 7px; color: #fff; background: #087447; font-size: .91rem; font-weight: 700; transition: transform .25s ease, background-color .25s ease; }
.pm-contact-page .vs-contact .contact-box .con-btn:hover { color: #fff; background: #00a859; transform: translateY(-2px); }
.pm-contact-page .vs-map { height: min(420px, 55vw); min-height: 285px; }
.pm-contact-page .vs-map .mapouter,
.pm-contact-page .vs-map .gmap { width: 100%; height: 100%; }
.pm-contact-page .pm-contact-footer { margin-top: 0; }

/* Clean, editorial contact details panel that matches the appointment form. */
.pm-contact-page .contactP { position: relative; padding: 20px; overflow: hidden; border: 1px solid #d8ece2; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(19, 70, 50, .08); }
.pm-contact-page .contactP::before { position: absolute; top: 0; left: 25px; width: 52px; height: 3px; content: ""; background: #ef1c25; }
.pm-contact-page .contactP .contact-info { min-height: 0; padding: 25px 16px; border: 0; border-bottom: 1px solid #dcece4; border-radius: 8px; background: transparent; box-shadow: none; transition: background-color .25s ease, transform .25s ease; }
.pm-contact-page .contactP .contact-info:last-child { border-bottom: 0; }
.pm-contact-page .contactP .contact-info h2 { max-width: 245px; margin-bottom: 11px; color: #17382e; font-size: 1.06rem; }
.pm-contact-page .contactP .contact-info p,
.pm-contact-page .contactP .contact-info li,
.pm-contact-page .contactP .contact-info li a,
.pm-contact-page .contactP .contact-info li span { color: #607b71; }
.pm-contact-page .contactP .contact-info li a { color: #087447; }
.pm-contact-page .contactP .contact-info .con-icon { width: 45px; height: 45px; border: 1px solid #b9e2c8; color: #087447; background: #eef9f1; }
.pm-contact-page .contactP .contact-info .con-icon svg path { fill: currentColor; }
.pm-contact-page .vs-contact .contactP .contact-info:hover { border-color: transparent; background: #f0faf4; box-shadow: none; transform: translateX(3px); }
.pm-contact-page .vs-contact .contactP .contact-info:hover h2 { color: #087447; }
.pm-contact-page .vs-contact .contactP .contact-info:hover p,
.pm-contact-page .vs-contact .contactP .contact-info:hover li,
.pm-contact-page .vs-contact .contactP .contact-info:hover li a,
.pm-contact-page .vs-contact .contactP .contact-info:hover li span { color: #607b71; }
.pm-contact-page .vs-contact .contactP .contact-info:hover .con-icon { border-color: #087447; color: #fff; background: #087447; }
.pm-contact-page .vs-contact .contactP .contact-info:hover .con-icon svg path { fill: #fff; }
@media (min-width: 992px) {
  .pm-contact-page .vs-contact > .container > .row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .pm-contact-page .vs-contact > .container > .row > .col-lg-4,
  .pm-contact-page .vs-contact > .container > .row > .col-lg-8 { width: auto; max-width: none; }
  .pm-contact-page .contactP { align-self: stretch; }
}
@media (max-width: 1199px) {
  .pm-contact-header__nav,
  .pm-contact-header__cta { display: none; }
  .pm-contact-header__mobile { display: block; }
  .pm-contact-header__inner { min-height: 76px; }
  .pm-contact-header__brand img { width: 132px; max-height: 56px; }
}
@media (max-width: 767px) {
  .pm-contact-page .vs-contact { padding: 48px 0; }
  .pm-contact-page .contactP { height: auto; grid-template-rows: none; padding: 10px; margin-bottom: 18px; }
  .pm-contact-page .contactP .contact-info { min-height: 0; padding: 23px 18px; }
  .pm-contact-page .contact-box { padding: 31px 20px; }
  .pm-contact-page .vs-map { height: 290px; }
}

/* Contact information uses its own layout, independent of legacy template cards. */
.pm-contact-page .pm-connect { display: flex; flex-direction: column; width: auto; padding: 38px 30px; background: #fff; border-top: 4px solid #079b55; border-radius: 12px; color: #17382e; }
.pm-connect__label { color: #d92330; font-family: var(--vs-title-font); font-size: .85rem; font-weight: 700; letter-spacing: normal; }
.pm-connect__intro h2 { margin: 14px 0; font-size: clamp(27px, 2.4vw, 36px); line-height: 1.2; letter-spacing: -.03em; }
.pm-connect__intro p { color: #607b71; font-size: 15px; line-height: 1.6; margin-bottom: 25px; }
.pm-connect__item { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 20px 0; border-top: 1px solid #e5eee8; }
.pm-connect__item > i { display: grid; place-items: center; width: 38px; height: 38px; color: #07854b; background: #edf8f1; border-radius: 10px; }
.pm-connect__item h3 { margin: 0 0 8px; font-size: 15px; color: #17382e; }
.pm-connect__item p, .pm-connect__item a { margin: 0; color: #526c60; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; text-transform: none; }
.pm-connect__item a:hover { color: #07854b; text-decoration: underline; }
.pm-connect__hours { display: flex; gap: 16px; margin-top: auto; padding: 19px; border-radius: 8px; background: #eef7f1; color: #087447; }
.pm-connect__hours strong, .pm-connect__hours span { display: block; font-size: 13px; line-height: 1.7; }
.pm-connect__hours span { margin-top: 5px; color: #526c60; }
@media (max-width: 991px) { .pm-contact-page .pm-connect { margin-bottom: 24px; padding: 28px 24px; } }

/* Home page motion: restrained, staggered and compatible with the page observer. */
.pm-remedies-spotlight::after { position: absolute; z-index: -1; right: -150px; bottom: -170px; width: 420px; height: 420px; content: ""; border: 1px solid rgba(225,246,178,.16); border-radius: 50%; box-shadow: 0 0 0 42px rgba(225,246,178,.025), 0 0 0 84px rgba(225,246,178,.018); animation: pmRemediesOrbit 12s ease-in-out infinite; }
.pm-remedies-spotlight__benefits > div { transition: transform .35s cubic-bezier(.16,1,.3,1); }
.pm-remedies-spotlight__benefits > div:hover { transform: translateY(-5px); }
.pm-remedies-spotlight__benefits > div:nth-child(1) span { animation: pmBenefitFloat 4.2s ease-in-out infinite; }
.pm-remedies-spotlight__benefits > div:nth-child(2) span { animation: pmBenefitFloat 4.2s ease-in-out .55s infinite; }
.pm-remedies-spotlight__benefits > div:nth-child(3) span { animation: pmBenefitFloat 4.2s ease-in-out 1.1s infinite; }
.pm-condition-card > img.pm-art-icon { transition: transform .4s cubic-bezier(.16,1,.3,1), background-color .35s ease, box-shadow .35s ease; }
@keyframes pmRemediesOrbit { 0%, 100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(-18px,-12px,0) rotate(7deg); } }
@keyframes pmBenefitFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

@media (max-width: 767px) {
  .pm-remedies-spotlight { min-height: auto; padding: 64px 0 80px; background-position: 66% center; }
  .pm-remedies-spotlight::before { background: rgba(0,54,36,.35); }
  .pm-remedies-spotlight__layout { min-height: 0; }
  .pm-remedies-spotlight__eyebrow { margin-bottom: 18px; font-size: .75rem; }
  .pm-remedies-spotlight__eyebrow::after { width: 42px; }
  .pm-remedies-spotlight h2 { font-size: clamp(2.65rem, 12vw, 4.1rem); }
  .pm-remedies-spotlight__lead { font-size: 1rem; }
  .pm-remedies-spotlight__benefits { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 29px 0; }
  .pm-remedies-spotlight__benefits > div { padding: 0; border: 0; }
  .pm-remedies-spotlight__benefits span { width: 48px; height: 48px; flex-basis: 48px; font-size: 1.05rem; }
  .pm-remedies-spotlight__benefits strong { font-size: .92rem; }
  .pm-remedies-spotlight__note { font-size: .92rem; }
  .pm-remedies-spotlight__btn { min-width: 224px; height: 57px; font-size: .92rem; }
  .pm-conditions { padding: 65px 0; }
  .pm-conditions__intro { margin-bottom: 26px; }
  .pm-condition-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .pm-condition-card { min-height: 205px; padding: 21px 16px; border-radius: 16px; }
  .pm-condition-card > img.pm-art-icon { width: 46px; height: 46px; margin-bottom: 12px; }
  .pm-condition-card h3 { font-size: 1rem; }
  .pm-condition-card p { font-size: .8rem; }
  .pm-condition-card span { height: 29px; margin-top: 12px; padding: 0 9px; font-size: .68rem; }
}
