/* =========================================================
   JHWC brand layer for the Sparelax template.
   Only recolours the theme and styles the few content blocks the template doesn't ship.
   ========================================================= */
:root {
  --theme-color1: #41983d;            /* JHWC leaf green (logo) */
  --theme-color1-rgb: 65, 152, 61;
  --theme-color2: #002742;            /* JHWC navy (logo) */
  --theme-color2-rgb: 0, 39, 66;
  --theme-color-dark: #002742;
  --theme-color-dark2: #0d2f4a;
  --theme-color-gray: #f3f5ee;
  --theme-color-gray2: #f1f5e3;
  --theme-light-background: #f3f5ee;
  --headings-color: #002742;
  --link-hover-color: #41983d;
  --jhwc-lime: #bbcd36;
}

/* logo sizing */
.header-area .logo img { height: 58px; width: auto; max-width: none; }
.footer-area .logo img, .footer-two-area .logo img { height: 64px; width: auto; }
.sidebar-area .offcanvas-header .logo img { height: 48px; width: auto; }
@media (max-width: 575px) { .header-area .logo img { height: 44px; } }

/* thin strip above header, mirrors live site's "Schedule a Free Discovery Call" bar */
.top-strip { background: var(--theme-color2); color: rgba(255,255,255,.8); font-size: 14px; padding: 8px 0; }
.top-strip .container { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.top-strip a { color: var(--jhwc-lime); font-weight: 700; }
.top-strip i { color: var(--jhwc-lime); margin-right: 6px; }

/* header menu: 7 items need a touch less padding than the template's 6 */
@media (min-width: 1200px) and (max-width: 1499px) {
  .header-area .main-menu ul li a { padding-left: 10px !important; padding-right: 10px !important; font-size: 15px; }
}
.header-area .main-menu ul li ul.sub-menu { min-width: 300px; }
.header-area .main-menu ul li.active > a { color: var(--theme-color1); }

/* banner extra line */
.banner__content .banner-text { color: #fff; font-size: 20px; max-width: 560px; margin-top: 10px; position: relative; }
.banner__content .title span { color: var(--jhwc-lime); }

/* video poster fallbacks */
.banner__wrp { background: var(--theme-color2); }

/* service-block font icons sit where the template's SVG icons sat */
.service-block .inner-box .icon-box .icon { font-size: 54px; line-height: 1; }
.service-block .inner-box .icon-box .icon-shadow { font-size: 100px; line-height: 1; color: var(--theme-color1); }
.service-block .inner-box .icon-box .icon-bg { fill: var(--theme-color-white); }
a.inner-box { color: inherit; }
.service-block .inner-box .title a { color: inherit; }

/* package tab icons */
.package-tab .nav-link .icon-box { position: relative; display: inline-block; }
.package-tab .nav-link .icon-box .icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 34px; color: var(--theme-color1); }
.package-tab .nav-link.active .icon-box .icon { color: #fff; }
.package-block .inner-box .image img { width: 76px; height: 74px; object-fit: cover; border-radius: 50%; }
.program-intro { max-width: 760px; margin: 0 auto; }
.program-intro h3 { font-size: 36px; margin-top: 14px; }
.program-intro h6 { color: var(--theme-color1); margin: 8px 0 14px; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; }
.program-badge { display: inline-block; background: var(--theme-color1); color: #fff; font-size: 13px; font-weight: 700; padding: 6px 16px; border-radius: 30px; letter-spacing: .06em; text-transform: uppercase; }

/* testimonials */
.testimonial-block .content-box .head span i { color: #4285f4; margin-right: 4px; }

/* credentials marquee (template brand strip, text instead of logos) */
.brand__item.cred-item { font-family: var(--title-font); font-size: 24px; color: var(--theme-color2); white-space: nowrap; opacity: .75; padding: 0 20px; text-align: center; }
.brand-area .swiper-slide { width: auto !important; }

/* blog excerpt */
.blog-block .content-box .excerpt { font-size: 15px; margin: 8px 0 12px; }

/* contact section extras */
.phi-note { color: rgba(255,255,255,.85); font-size: 14px; margin: 14px 0 0; }
.phi-note.dark { color: var(--text-color); margin-bottom: 16px; }
.phi-note i { margin-right: 6px; }
.form-thanks { font-family: var(--title-font); font-size: 26px; color: #fff; padding: 30px 0; }
.contact-details .form-thanks { color: var(--theme-color1); }
.footer-two-area .newsletter .form-thanks { font-size: 18px; padding: 10px 0; }

/* closing CTA band */
.closing-cta { position: relative; padding: 150px 0; background-size: cover; background-position: center; }
.closing-cta::before { content: ""; position: absolute; inset: 0; background: rgba(0, 39, 66, .78); }
.closing-cta .container { position: relative; }
.closing-cta .title { color: #fff; font-size: 56px; line-height: 1.15; }
.closing-cta .sub-title { justify-content: center; }
.cta-phone { color: #fff; font-weight: 700; margin-left: 24px; display: inline-block; margin-top: 12px; }
.cta-phone i { color: var(--jhwc-lime); margin-right: 8px; }
@media (max-width: 767px) { .closing-cta .title { font-size: 36px; } .closing-cta { padding: 100px 0; } }

/* service detail content */
.services-details__content .sd-main { width: 100%; border-radius: 10px; }
.services-details__content h3 { font-size: 34px; }
.services-details__content p { margin-bottom: 14px; }
.services-details__content a { color: var(--theme-color1); text-decoration: underline; }
.services-details__content a.btn-one, .services-details__content a.sd-article, .services-details__content .sd-topics a, .services-details__content .video-popup { text-decoration: none; }
.sd-tag { color: var(--theme-color1); font-family: var(--text-font); font-size: 17px; font-weight: 700; margin-bottom: 14px; }
.sd-h4 { font-size: 26px; }
.sd-list ul, .about-section .list ul { list-style: none; padding: 0; }
.sd-list ul li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; color: var(--headings-color); font-weight: 500; }
.sd-list ul li svg { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 3px; }
.sd-list.two { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }
@media (max-width: 767px) { .sd-list.two { grid-template-columns: 1fr; } }
.sd-col { background: var(--theme-color-gray); border-radius: 10px; padding: 26px 24px 14px; height: 100%; }
.sd-col h5 { font-size: 21px; margin-bottom: 16px; color: var(--theme-color1); }
.sd-col ul { list-style: none; padding: 0; }
.sd-col ul li { display: flex; gap: 10px; font-size: 15px; margin-bottom: 10px; }
.sd-col ul li svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; }
.sd-steps { display: grid; gap: 16px; margin: 20px 0 24px; }
.sd-step { display: flex; gap: 20px; background: var(--theme-color-gray); border-radius: 10px; padding: 22px 24px; border-left: 3px solid var(--theme-color1); }
.sd-step .n { font-family: var(--title-font); font-size: 34px; color: var(--theme-color1); line-height: 1; flex: 0 0 48px; }
.sd-step h5 { font-size: 21px; margin-bottom: 6px; }
.sd-step p { margin: 0; font-size: 15.5px; }
.blockquote-one { position: relative; background: var(--theme-color-gray2); border-left: 4px solid var(--theme-color1); padding: 26px 30px 26px 70px; margin: 26px 0; font-family: var(--title-font); font-size: 21px; font-style: italic; color: var(--headings-color); border-radius: 0 10px 10px 0; }
.blockquote-one::before { content: "\201C"; position: absolute; left: 22px; top: 6px; font-size: 64px; color: var(--theme-color1); line-height: 1; font-style: normal; }
.sd-therapy { background: #fff; border: 1px solid #e7ebe0; border-radius: 12px; padding: 26px; margin: 24px 0; }
.sd-therapy-img img { width: 100%; border-radius: 10px; aspect-ratio: 7/5; object-fit: cover; }
.sd-benefits { font-family: var(--text-font); text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: var(--theme-color1); margin: 14px 0 10px; }
.sd-close { font-style: italic; color: var(--headings-color); }
.sd-video { position: relative; border-radius: 12px; overflow: hidden; margin: 18px 0 26px; }
.sd-video img { width: 100%; aspect-ratio: 16/8; object-fit: cover; filter: brightness(.65); }
.sd-video .btn-video { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.sd-video-cap { position: absolute; left: 24px; bottom: 18px; color: #fff; font-weight: 700; }
.sd-video-cap i { color: #ff0000; margin-right: 6px; }
.sd-article { display: block; height: 100%; background: var(--theme-color-gray); border-radius: 10px; padding: 24px; color: var(--text-color); transition: all .3s; }
.sd-article:hover { background: var(--theme-color2); color: rgba(255,255,255,.8); }
.sd-article:hover h5 { color: #fff; }
.sd-article span { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--theme-color1); font-weight: 700; }
.sd-article h5 { font-size: 19px; margin: 8px 0; }
.sd-article em { font-style: normal; font-weight: 700; color: var(--theme-color1); }
.sd-topics { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.sd-topics a { display: inline-block; padding: 8px 16px; border: 1px solid #dfe5d6; border-radius: 30px; font-size: 14px; color: var(--headings-color); }
.sd-topics a:hover { background: var(--theme-color1); color: #fff; border-color: var(--theme-color1); }
.sd-launch { margin: 24px 0 30px; }
.sd-cta { display: flex; gap: 24px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--theme-color2); color: rgba(255,255,255,.8); border-radius: 12px; padding: 34px; margin-top: 46px; }
.sd-cta h4 { color: #fff; font-size: 28px; }
.sd-cta p { margin: 6px 0 0; max-width: 520px; }
.sd-cta .btn-one { background: var(--jhwc-lime); border-color: var(--jhwc-lime); color: var(--theme-color2); }

/* accordion numbering (philosophy) */
.tenet-n { font-family: var(--title-font); color: var(--theme-color1); margin-right: 10px; }
.accordion-box .acc-content .text p { margin-bottom: 12px; }
.philo-side img { width: 100%; border-radius: 12px; aspect-ratio: 7/9; object-fit: cover; }
.philo-side { position: sticky; top: 120px; }

/* team */
.team-block .inner-box .content .creds { display: block; font-size: 13px; color: var(--theme-color1); font-weight: 700; margin-bottom: 2px; }
.team-bio { padding: 50px 0; border-bottom: 1px solid #e3e8da; }
.team-bio:last-child { border-bottom: 0; }
.team-bio .title { font-size: 40px; margin-bottom: 18px; }
.team-bio .title small { display: block; font-family: var(--text-font); font-size: 15px; color: var(--theme-color1); font-weight: 700; margin-top: 6px; }
.team-bio .team-block .inner-box .image img { width: 100%; }

/* welcome page */
.welcome-video .image { position: relative; border-radius: 12px; overflow: hidden; }
.welcome-video .image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; filter: brightness(.75); }
.welcome-video .btn-video { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.welcome-video h4 { margin-top: 20px; font-size: 26px; }
.journey-step { padding: 40px 0; }
.journey-img { position: relative; }
.journey-img img { width: 100%; border-radius: 12px; aspect-ratio: 7/5; object-fit: cover; }
.journey-num { position: absolute; right: -14px; top: -14px; width: 84px; height: 84px; border-radius: 50%; background: var(--theme-color1); color: #fff; display: grid; place-items: center; font-family: var(--title-font); font-size: 32px; }
.journey-part { background: #fff; border-radius: 10px; padding: 18px 22px; margin-top: 14px; }
.journey-part h5 { color: var(--theme-color1); font-size: 19px; margin-bottom: 6px; }
.journey-part p { margin: 0; font-size: 15.5px; }

/* misc */
.forms-fax { background: var(--theme-color2); color: rgba(255,255,255,.8); border-radius: 12px; padding: 40px; text-align: center; }
.forms-fax i { font-size: 44px; color: var(--jhwc-lime); }
.forms-fax h4 { color: #fff; margin-top: 14px; }
.forms-fax a { color: var(--jhwc-lime); font-weight: 700; }
.mission-card { background: #fff; border-radius: 12px; padding: 34px; height: 100%; }
.mission-card .n { font-family: var(--title-font); font-size: 40px; color: var(--theme-color1); }
.mission-card p { margin: 10px 0 0; }
.lead-close { font-family: var(--title-font); font-size: 26px; color: var(--headings-color); max-width: 860px; margin: 0 auto; }
.video-card-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; border-radius: 50%; background: var(--theme-color1); color: #fff; display: grid; place-items: center; font-size: 20px; z-index: 2; }
.blog-block .image-box { position: relative; }
.sitemap-col h4 { border-bottom: 2px solid var(--theme-color1); padding-bottom: 10px; margin-bottom: 14px; }
.sitemap-col ul { list-style: none; padding: 0; }
.sitemap-col li { padding: 5px 0; }
.sitemap-col a { color: var(--headings-color); }
.sitemap-col a:hover { color: var(--theme-color1); }
.map-section .map { height: 520px; border: 0; display: block; }
img { max-width: 100%; }

/* keep remote photos at the template's exact proportions */
.about-section .image-box img { width: 100%; aspect-ratio: 570 / 496; object-fit: cover; }
.video-section .video-column .image img { width: 100%; aspect-ratio: 690 / 229; object-fit: cover; }
.video-section .image-column img { width: 100%; aspect-ratio: 688 / 648; object-fit: cover; }
.feature-block .inner-box .image-box img { width: 100%; aspect-ratio: 233 / 306; object-fit: cover; }
.contact-section .image-box img { width: 100%; height: 100%; min-height: 692px; object-fit: cover; }
.gellery-block .inner-box img { width: 100%; object-fit: cover; }
.gellery-block .inner-box.mb-3 img { aspect-ratio: 458 / 290; }
.gellery-block .inner-box:not(.mb-3) img { aspect-ratio: 458 / 498; }
.blog-block .inner-box .image img { width: 100%; aspect-ratio: 450 / 351; object-fit: cover; }
.instagram-block img { width: 100%; aspect-ratio: 384 / 325; object-fit: cover; }
@media (max-width: 991px) { .contact-section .image-box img { min-height: 360px; } }

/* header fits on one line until the CTA has room */
.header-area .header__main { flex-wrap: nowrap; }
@media (max-width: 1599px) { .header-area .menu-btns .book-now { display: none !important; } }
.about-section .image-column .inner-column { width: 100%; }
.services-details__content .sd-main { aspect-ratio: 770 / 430; object-fit: cover; }
.sidebar-service-list ul li a span { white-space: normal; padding-right: 36px; display: block; }

/* ===== v3 fixes ===== */
/* masks embedded so the shaped images also show when pages are opened straight from disk */
.about-section .image-column .inner-column .image-box { -webkit-mask-image: url(data:image/png;base64,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); mask-image: url(data:image/png;base64,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); }
.testimonial-block .inner-box .content-box { -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAE+CAMAAAApluAVAAAAQlBMVEUAAAD79fD/8u/+9vL99vL79fH+9vL/7+/99fL99vH99/L89fH99vL89fH39O/99fL89vL99vL89PD/9+/68e/99vJpo2YTAAAAFXRSTlMAQBDfv3DPIJDgv4CgUCDvwLBgIDD+Vq1QAAAE4UlEQVR42uzd3Y6aYBRG4Q0DONSfydjZ93+rPZmkZoPWtn7KStZzCe+KQFQgXqI/jodpTt1rHj73XR9b0e+H1L8YxlNsQGe//zF08XcMuD3zMV5oZ8BHOJziVcaP1CPM53iJ/j31KO/xAv2UepzpFM+2e0s90vyHhhbcvrmPp/Io+nhTPJNXMt+w1zTnVAtj3OCJkODjFE9ySLUxxHMcU6108RQeRi8gP4Zd6jfkx/BH6gLwY7hLtdRHc2OqpX0seRxFGaK1PlXQjqRej7Z2jMb2qSXUF6WfqbYOscKrGZIpGvNf9629RWOp1sriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnmjrZ6qgJfShwAu0hL7sZ4GW0Oc6L9AS+lDgBVpC32S/AEvo1cwSLKHv8F2CJfTVhUushB5HV7ASej26ApXQVxeuQSX0ZT9rSAnPqRWghDsvR1eBEh5SazgJfYfvFZiEX6l1lISeCK+CJLTgdYyEX/7GdB0i4WjBGwAJe39humn7CTtPg7dtPWE3pG7bdkID3mHDCbu9VzH32GTC09f5/dN+rxLr+uN4mOYUwGq/vec0EK9J8AyIV76eNiCPX27i+eUm3kXBKUXkr7R4FsSLbx5FsbwREM//zuN5IsTzv/N4Pt8Hzzvi8bwjHs874vG8Ix7PGwHxPI7iRZ9i83oUz4e+4vl8HzyvZvDCf93T+S4QPBPimRDPhHgmxDMhngnxTPiLPTogAQAAABD0/3U7hLwg70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5BXu/aS4jAMRFH0SbaM0/5Eiaj9b7XpgcAdcJKhH9yzhUsVQhIJ7ZHQHgntkdAeCe2R0B4J7ZHQHgntkdAeCe2R0B4J7ZHQHgntkdAeCe2R0B4J7ekWsDZoClgbtQasPVQC1hZtAWtJOWAtSz8BY6OkJWCsSGxSb7vEJrU26k8K2EoSY2htkBhDb5vEGFpb1bV7wNCwq+Oi1NNTB3PAzqyjzLOhnUn/5SFgZdj1otHQSi941NilRqasjjONpVknnixTC/eiU43PUAbqrnc2BvHiatInqQYuqwf8oBUqXlJdsr6W0/Ko/NW/jNu0lu2k3y86n4/G44LBugAAAABJRU5ErkJggg==); mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAE+CAMAAAApluAVAAAAQlBMVEUAAAD79fD/8u/+9vL99vL79fH+9vL/7+/99fL99vH99/L89fH99vL89fH39O/99fL89vL99vL89PD/9+/68e/99vJpo2YTAAAAFXRSTlMAQBDfv3DPIJDgv4CgUCDvwLBgIDD+Vq1QAAAE4UlEQVR42uzd3Y6aYBRG4Q0DONSfydjZ93+rPZmkZoPWtn7KStZzCe+KQFQgXqI/jodpTt1rHj73XR9b0e+H1L8YxlNsQGe//zF08XcMuD3zMV5oZ8BHOJziVcaP1CPM53iJ/j31KO/xAv2UepzpFM+2e0s90vyHhhbcvrmPp/Io+nhTPJNXMt+w1zTnVAtj3OCJkODjFE9ySLUxxHMcU6108RQeRi8gP4Zd6jfkx/BH6gLwY7hLtdRHc2OqpX0seRxFGaK1PlXQjqRej7Z2jMb2qSXUF6WfqbYOscKrGZIpGvNf9629RWOp1sriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnrK4CXnK4ibkKYubkKcsbkKesrgJecriJuQpi5uQpyxuQp6yuAl5yuIm5CmLm5CnLG5CnmjrZ6qgJfShwAu0hL7sZ4GW0Oc6L9AS+lDgBVpC32S/AEvo1cwSLKHv8F2CJfTVhUushB5HV7ASej26ApXQVxeuQSX0ZT9rSAnPqRWghDsvR1eBEh5SazgJfYfvFZiEX6l1lISeCK+CJLTgdYyEX/7GdB0i4WjBGwAJe39humn7CTtPg7dtPWE3pG7bdkID3mHDCbu9VzH32GTC09f5/dN+rxLr+uN4mOYUwGq/vec0EK9J8AyIV76eNiCPX27i+eUm3kXBKUXkr7R4FsSLbx5FsbwREM//zuN5IsTzv/N4Pt8Hzzvi8bwjHs874vG8Ix7PGwHxPI7iRZ9i83oUz4e+4vl8HzyvZvDCf93T+S4QPBPimRDPhHgmxDMhngnxTPiLPTogAQAAABD0/3U7hLwg70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5B3Ie9C3oW8C3kX8i7kXci7kHch70LehbwLeRfyLuRdyLuQdyHvQt6FvAt5F/Iu5F3Iu5BXu/aS4jAMRFH0SbaM0/5Eiaj9b7XpgcAdcJKhH9yzhUsVQhIJ7ZHQHgntkdAeCe2R0B4J7ZHQHgntkdAeCe2R0B4J7ZHQHgntkdAeCe2R0B4J7ekWsDZoClgbtQasPVQC1hZtAWtJOWAtSz8BY6OkJWCsSGxSb7vEJrU26k8K2EoSY2htkBhDb5vEGFpb1bV7wNCwq+Oi1NNTB3PAzqyjzLOhnUn/5SFgZdj1otHQSi941NilRqasjjONpVknnixTC/eiU43PUAbqrnc2BvHiatInqQYuqwf8oBUqXlJdsr6W0/Ko/NW/jNu0lu2k3y86n4/G44LBugAAAABJRU5ErkJggg==); }

/* one content width for every row: header, banner, sections, footer */
@media (min-width: 1400px) { .container { max-width: 1320px; } }
.header-one__wrp { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
@media (min-width: 1400px) {
  .contact-section .outer-box { max-width: 1320px; margin: 0 auto; }
}
.banner__content { padding-left: 70px; padding-right: 30px; }
@media (max-width: 767px) { .banner__content { padding-left: 24px; } }
.top-strip .container { padding-left: 12px; padding-right: 12px; }

/* footer: logo sits inside the footer content area, clear of the decorative shape */
.footer-area, .footer-two-area { position: relative; overflow: hidden; }
.footer__shape { pointer-events: none; opacity: .5; }
.footer-area .footer__head, .footer-two-area .footer-two__head { position: relative; z-index: 2; padding-top: 80px; }
.footer-area .footer__head .logo, .footer-two-area .footer-two__head .logo { display: inline-flex; align-items: center; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 14px 22px; }
.footer-area .logo img, .footer-two-area .logo img { height: 56px; }
.footer-two__head .newsletter .input input { background-color: rgba(255,255,255,.06); }
.footer-area .container, .footer-two-area .container { position: relative; z-index: 2; }
.footer__item .copyright-text a { color: var(--jhwc-lime); }

/* icons the template only revealed on hover are now always visible */
.gellery-block .inner-box { position: relative; }
.gellery-block .inner-box::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,39,66,.85)); border-radius: inherit; pointer-events: none; }
.gellery-block .inner-box .content { opacity: 1 !important; visibility: visible !important; z-index: 2; }
.instagram-block .inner-box .icon { opacity: 1 !important; visibility: visible !important; transform: translate(-50%, -50%) scale(1) !important; background: rgba(65,152,61,.85); }
.team-block .inner-box .content .shape { opacity: 1; visibility: visible; top: 0; left: 0; }

/* service cards: every image the same size whatever the photo */
.feature-block .inner-box .image-box { flex: 0 0 233px; width: 233px; }
.feature-block .inner-box .image-box img { width: 100%; height: 306px; aspect-ratio: auto; object-fit: cover; }
.feature-block .inner-box .content-box { flex: 1 1 auto; min-width: 0; gap: 40px; }
.feature-block .inner-box { align-items: stretch; height: 100%; }
@media (max-width: 575px) {
  .feature-block .inner-box { flex-direction: column; }
  .feature-block .inner-box .image-box { flex: none; width: 100%; max-width: none; }
  .feature-block .inner-box .image-box img { height: 240px; }
}
.feature-slider .swiper-slide { height: auto; }

/* equal-height cards in grids */
.service-block .inner-box, .blog-block .inner-box { height: 100%; }
.blog-block .inner-box { display: flex; flex-direction: column; }
.blog-block .content-box { flex: 1; display: flex; flex-direction: column; }
.blog-block .content-box .readMore-btn { margin-top: auto; align-self: flex-start; }
.row > .service-block { display: flex; flex-direction: column; }
.row > .service-block > .inner-box { flex: 1; }
.team-block .inner-box .image img { width: 100%; aspect-ratio: 413 / 515; object-fit: cover; }
.package-block .inner-box .content { flex: 1; }

/* decorative template shapes stay behind the text */
.about-section, .service-section, .video-section, .package-section, .testimonial-section { position: relative; }
.about-section > .container, .service-section > .container, .video-section > .container, .package-section > .container, .testimonial-section > .container { position: relative; z-index: 2; }
.about-section .shape1, .about-section .shape2, .service-section .shape1, .service-section .shape2, .video-section .shape, .package-section .shape1, .package-section .shape2, .testimonial-section .shape { z-index: 0; pointer-events: none; }
@media (max-width: 1599px) { .about-section .shape1, .service-section .shape1, .testimonial-section .shape { opacity: .35; } }
.banner-area { overflow: hidden; background: transparent; }

/* gallery captions: readable at rest, no frosted box covering the photo */
.gellery-block .inner-box { border-radius: 20px; overflow: hidden; }
.gellery-block .inner-box .content { top: auto !important; bottom: 22px; left: 24px !important; right: 24px; width: auto; height: auto; transform: none !important;
  background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; align-items: flex-start; justify-content: flex-end; text-align: left; padding: 0; }
.gellery-block .inner-box .content h4, .gellery-block .inner-box .content h4 a { color: #fff; font-size: 22px; margin: 0; }
.gellery-block .inner-box .content h6 { color: var(--jhwc-lime); margin-top: 4px; }
.gellery-block .inner-box .content .lightbox-image { position: absolute; right: 0; bottom: 4px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.9); display: grid; place-items: center; }
.gellery-block .inner-box .content .lightbox-image i { font-size: 18px; margin: 0; color: var(--theme-color2); }
.gellery-block .inner-box:hover .content .lightbox-image { background: var(--theme-color1); }
.gellery-block .inner-box:hover .content .lightbox-image i { color: #fff; }

/* left-edge decorative props only fit in the margin on very wide screens */
@media (max-width: 1799px) {
  .about-section .shape1, .service-section .shape1, .testimonial-section .shape, .package-section .shape1 { display: none !important; }
}

/* header: the discovery-call CTA lives in the top strip + side menu, so the 7-item menu never wraps */
.header-area .menu-btns .book-now { display: none !important; }
.header__main .main-menu ul { gap: 34px; }
@media (max-width: 1399px) { .header__main .main-menu ul { gap: 22px; } }
.top-strip a.strip-cta { background: var(--theme-color1); color: #fff; padding: 4px 14px; border-radius: 20px; margin-left: 10px; }

/* header + banner text line up with the page container at every width (Bootstrap container widths) */
.header-one__wrp { max-width: none; width: 100%; padding: 0 12px; margin: 0 auto; }
@media (min-width: 576px)  { .header-one__wrp { max-width: 540px; } }
@media (min-width: 768px)  { .header-one__wrp { max-width: 720px; } }
@media (min-width: 992px)  { .header-one__wrp { max-width: 960px; } }
@media (min-width: 1200px) { .header-one__wrp { max-width: 1140px; } .banner__content { padding-left: max(70px, calc((100vw - 1140px) / 2 + 12px - 50px)); } }
@media (min-width: 1400px) { .header-one__wrp { max-width: 1320px; } .banner__content { padding-left: max(70px, calc((100vw - 1320px) / 2 + 12px - 50px)); } }
@media (min-width: 1200px) and (max-width: 1399px) { .header-area .logo img { height: 48px; } .header__main .main-menu ul li a { font-size: 13px; } }

/* ===================== v4 ===================== */
/* 1. Home banner: client video, green overlay, fills the desktop screen */
.banner-area::before { display: none; }
.banner__video { z-index: 0; }
.banner__overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, rgba(14, 58, 26, .86) 0%, rgba(41, 120, 46, .66) 45%, rgba(65, 152, 61, .38) 100%); }
.banner__content { z-index: 2; }
.banner__wrp { position: relative; display: flex; align-items: center; }
@media (min-width: 992px) {
  .banner__wrp { min-height: calc(100vh - 150px); min-height: calc(100svh - 150px); }
  .banner__content { padding-top: 120px; padding-bottom: 120px; width: 100%; }
}
@media (max-width: 991px) { .banner__wrp { min-height: 78vh; } }

/* 3. Service slider: images fully rounded on all four corners */
.feature-block .inner-box .image-box { align-self: center; height: 306px; border-radius: 30px; overflow: hidden; }
.feature-block .inner-box .image-box img { height: 100% !important; border-radius: 30px; display: block; }
@media (max-width: 575px) { .feature-block .inner-box .image-box { height: 240px; } }

/* 4. Icon blocks: a single, fully opaque icon */
.service-block .inner-box .icon-box .icon { opacity: 1; color: var(--theme-color1); }
.service-block .inner-box .icon-box .icon-shadow { display: none !important; }
.service-block .inner-box:hover .icon-box .icon { color: #fff; }

/* 5. Programme tabs: selected tab icon visible without hovering */
.package-tab ul.nav.nav-tabs li.nav-item a.nav-link.active .icon-box .icon { color: #fff; }
.package-tab ul.nav.nav-tabs li.nav-item a.nav-link.active .title { color: var(--theme-color1); font-weight: 700; }

/* 6. Space between the programme description and its points */
.program-intro { margin-bottom: 70px !important; padding-bottom: 40px; border-bottom: 1px solid rgba(0, 39, 66, .1); }
.package-block .inner-box.mb-50 { margin-bottom: 40px !important; }

/* 8. Footer: logo sits in the first column above the description */
.footer__head { display: none !important; }
.footer-area { padding-top: 90px; }
.footer-about .footer-logo { display: inline-block; margin-bottom: 26px; }
.footer-about .footer-logo img { height: 62px; width: auto; }
.footer-two-area .footer-two__head { justify-content: flex-end; }
.footer-two-area .footer-two__head .newsletter { width: 100%; justify-content: space-between; }
@media (max-width: 767px) { .footer-two-area .footer-two__head .newsletter { justify-content: flex-start; } }
/* slider arrows: template pink -> brand tint */
.slider-arrys button, .feature-arrys .wrp button { background-color: var(--theme-color-gray2) !important; color: var(--theme-color2); }
.slider-arrys button:hover, .feature-arrys .wrp button:hover { background-color: var(--theme-color1) !important; color: #fff; }

/* ===================== v5: template designs restored, fixed to hold at any size ===================== */
/* About image: template's notched mask (embedded above) + badge sized to sit exactly in the notch */
.about-section .image-column .inner-column { width: 100%; max-width: 570px; }
.about-section .image-column .inner-column .image-box img { width: 100%; aspect-ratio: 570 / 496; object-fit: cover; display: block; }
.about-section .image-column .inner-column .info { width: 33.5%; height: 26.4%; left: 0; bottom: 0; padding: 0 10px; border-radius: 30px;
  display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.about-section .image-column .inner-column .info h4 { margin: 0; line-height: 1.3; font-size: clamp(15px, 1.5vw, 20px); white-space: nowrap; }
.about-section .image-column .inner-column .info h4 span { font-size: clamp(18px, 1.8vw, 24px); }
.about-section .image-column .inner-column .info .title { letter-spacing: 3px; margin-top: 4px; }
@media (max-width: 991px) { .about-section .image-column .inner-column { float: none; margin: 30px auto 0; } }

/* Testimonials: template's notched card, drawn with fixed-size corners instead of a stretching mask */
.testimonial-slider .swiper-slide { height: auto; }
.testimonial-block .inner-box { height: 100%; }
.testimonial-block .inner-box .content-box { -webkit-mask-image: none !important; mask-image: none !important; border-radius: 30px; height: 100%; padding: 30px 30px 32px; }
.testimonial-block .inner-box .image-box { background: #fff; width: 100px; height: 100px; border-bottom-right-radius: 30px; z-index: 2; display: flex; align-items: flex-start; justify-content: flex-start; }
.testimonial-block .inner-box .image-box::before, .testimonial-block .inner-box .image-box::after { content: ""; position: absolute; width: 30px; height: 30px;
  background: radial-gradient(circle at 100% 100%, transparent 29.5px, #fff 30px); }
.testimonial-block .inner-box .image-box::before { left: 100px; top: 0; }
.testimonial-block .inner-box .image-box::after { left: 0; top: 100px; }
.testimonial-block .inner-box .image-box .image img { width: 85px; height: 85px; object-fit: cover; border-radius: 50%; }
.testimonial-block .inner-box .content-box .head { margin-left: 85px; margin-bottom: 34px; min-height: 60px; }
.testimonial-block .inner-box .content-box .head h4 { margin-bottom: 4px; }
.testimonial-block .inner-box .content-box .head span { font-size: 14px; }
.testimonial-block .inner-box .content-box p { line-height: 1.75; }

/* ===================== v6 ===================== */
/* Team cards: name card slightly rounded and moved down so it never covers the face */
.team-block .inner-box .image img { object-position: center 18%; }
.team-block .content { position: relative; bottom: auto; left: auto; transform: none; width: 86%; margin: -52px auto 0;
  border-radius: 16px; box-shadow: 0 14px 30px -18px rgba(0, 39, 66, .35); z-index: 2; }
.team-block .content .shape { display: none; }
.team-section .team-block { margin-bottom: 40px; }

/* Contact form band: breathing room before the footer wherever it is the last section */
main > section.contact-section:last-child { margin-bottom: 130px; }
@media (max-width: 991px) { main > section.contact-section:last-child { margin-bottom: 90px; } }

/* ===================== v7 ===================== */
/* 1. Round programme images stay round when they zoom on hover */
.package-block .inner-box .image { width: 76px; height: 76px; flex: 0 0 76px; border-radius: 50%; overflow: hidden; }
.package-block .inner-box .image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

/* 2. Team cards: light-green hover so every line of text stays readable */
.team-block:hover .content { background-color: #e6f0d4; }
.team-block:hover .content .title, .team-block:hover .content .title a { color: var(--theme-color2); }
.team-block:hover .content span { color: var(--text-color); }
.team-block:hover .content span.creds { color: var(--theme-color1); }
.team-block:hover .image::after { background-color: rgba(0, 39, 66, .18); }

/* 3. Inner-page images follow the home page treatment: 30px rounded corners, cover-cropped, gentle zoom on hover */
.services-details__content .sd-main,
.services-details__content .feature-list img,
.sd-therapy-img, .sd-video, .journey-img img, .welcome-video .image,
.philo-side img, .team-bio .team-block .inner-box .image { border-radius: 30px; overflow: hidden; }
.services-details__content .feature-list img { width: 100%; aspect-ratio: 540 / 450; object-fit: cover; }
.sd-therapy-img { overflow: hidden; }
.sd-therapy-img img { border-radius: 30px; transition: transform .5s; }
.sd-therapy:hover .sd-therapy-img img { transform: scale(1.05); }
.sd-therapy { border-radius: 30px; }
.sd-step, .sd-col, .sd-article, .mission-card, .journey-part, .forms-fax, .sd-cta { border-radius: 20px; }
.blockquote-one { border-radius: 0 20px 20px 0; }
.journey-img { border-radius: 30px; }
.journey-img img { border-radius: 30px; }
.welcome-video .image img, .sd-video img { transition: transform .5s; }
.welcome-video:hover .image img, .sd-video:hover img { transform: scale(1.05); }
.blog-block .inner-box .image-box .image img { transition: transform .5s; }
.blog-block .inner-box:hover .image-box .image img { transform: scale(1.06); }
.feature-list .column img { transition: transform .5s; }

/* ===================== v8: home-page photo presentation on every page ===================== */
/* Notched photo + badge (identical to the home "about" image) */
.jh-notch { position: relative; width: 100%; max-width: 100%; }
.jh-notch .image-box { -webkit-mask-image: url(data:image/png;base64,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); mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjoAAAHwCAMAAACYDTW9AAAAP1BMVEUAAADno5Hno5Hnoo/mn4/np4/moo/nopHmoo/nn4/mo5Dlo4/oo5Hmo5Hoo5HmopDnoo/qpY/koZHkn4/no5ECDdF/AAAAFHRSTlMAwOBAECBwkIAgoFDvz8+wYDCQMPco0RsAAAbqSURBVHja7NlLbsMwDEBB2RFcf+ImC93/rF2lQJCEtbUi0JkzPIi0Wd6r27TuY+OfG4fbfKnlsDoPDX4N01KOuOiGF8NFOHQatxJZhMNHazC2pmuDj8Z7ea9+NQh9vS9nb/CHfSkvFn9xOGBclEOfsZZnphUH7eWJDZm+Xfne4LDJokOf61Ie1gYnDI9ytganPI6hxhV9z86lQdez41pO37OzNDitllKmBqfN5hXdE6s26FB9X9FnK3ODDlO5Neiw2pLp8+0KQZ+xNOgiHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6ZCEdpENIOmQhHaRDSDpkIR2kQ0g6/LBLhwQAAAAMg/q3foPrCchAhTqow6UOFeqgDpc6VKiDOlzqUKEO6nCpQ4U6qMOlDhXqoA6XOlSogzpc6lChDupwqUOFOqjDpQ4V6qAOlzpUqIM6XOpQoQ7qcKlDhTqow6UOFeqgDpc6VKiDOlzqUKEO6nCpQ4U6qMOlDhXqoA6XOlSogzpc6lChDupwqUOFOqjDpQ4V6qAOlzpUqIM6XOpQoQ7qcKlDhTqow6UOFeqgDpc6VKiDOlzqUKEO6nCpQ4U6qMOlDhXqoA6XOlSogzpc6lChDupwqUOFOqjDpQ4V6qAOlzpUqIM6XOpQoQ7qMHbpmAhAIACCGIMAqvevFQdXUDBbJBoyqUOFOqjDpA4V6qAOkzpUqIM6TOpQoQ7qMKlDhTqow6QOFeqgDpM6VKiDOkzqUKEO6jCpQ4U6qMOkDhXqoA6TOlSogzpM6lChDuowqUOFOqjDpA4V6qAOkzpUqIM6TOpQoQ7qMKlDhTqow6QOFeqgDpM6VKiDOkzqUKEO6jCpQ4U6qMOkDhXqoA6TOlSogzpM6lChDuowqUOFOqjDpA4V6qAOkzpUqIM6TOpQoQ7qMKlDhTqow6QOFeqgDpM6VKiDOkzqUKEO6jCpQ4U6qMOkDhXqoA6TOlSogzr867oPfHE9B1727ig3jSgGoKgjIE2aSkla73+t7WcMAwyvP451zhqu7NG8x7AifiasiOeEFfGWsCKOCSsinhIWRLwkLAgbizVhY7GcziHhcWHssCaMHdaEscN/pHP6lbCSjoMsVtOJHwlL6Rxd22EtnTi6LchaOnHSDmvpxMnO4uF0PCvzuPjqw9JityhOLrmzV5x5M3jYJy4cnGixR2w4PauHu2Lb8fDy/mR3cUN8Z6+Ht5cnp/77SOfS4bfxuIN0/vFo30IMcXpPbpLOV16FP0A6X3kV/gDpbHNP9i7p3PRpaV0lnU0urN0nnev8Lugm6dzzqZ1t0vGs3EXM457sJulc53dBN0nnDl/uuEY6d/hyxzXSMXa6iJGMnUvSMXa6iJm8F7wgnT18R3yDdGysLmIoG+ucdHZyVfmcdBxkdRFDfSSVdHb6k1TS2ek1qaSzk7/+Pycd6XQRUyWVdKTTRUyVVNKRThcxVVJJRzpdxFRJJR3pdBFTJZV0pNNFTJVU0pFOFzFVUklHOl3EVEklHel0EVMllXSk00VMlVTSkU4XMVVSSUc6XcRUSSUd6XQRUyWVdKTTRUyVVNKRThcxVVJJRzpdxFRJJR3pdBFTJZV0pNNFTJVU0pFOFzFVUklHOl3EVEklHel0EVMllXSk00VMlVTSkU4XMVVSSUc6XcRUSSUd6XQRUyWVdKTTRUyV/G3X3nITBoIgipbBBsQj8FH7X2t+aSlEhHikVvmeNVxNz2i6Ih3S6UKpjIp0SKcLpTIq0iGdLpTKqEiHdLpQKqMiHdLpQqmMinRIpwulMirSIZ0ulMqoSId0ulAqoyId0ulCqYyKdEinC6UyKtIhnS6UyqhIh3S6UCqjIh3S6UKpjIp0SKcLpTIq0iGdLpTKqEiHdLpQKqMiHdLpQqmMinRIpwulMirSIZ0ulMqoSId0ulAqoyKdd+2MoXZK9WUMNSnV2RjqrlQHY6iTUl2MofZKNRtDzYo1GRW35DedjIEOysXEGmpRMCbWM+bVH+yNZ7yvOHYayP2F4NgZ7KJwHDuDnJVuuRoD7KKfV3xkDfTQBhyN1R21BTNrO6u7aRtmtgXNReczC+1QzocWZtaKbsG7FtyVRzpuqxzpwdBaxTV50+KFhSX3FUwbuuY8uXDw/NMU/ln+iz0/WoTzqeVAPR+ZTlu7Hf9g3p/uE7Prbbvb+XB50c034+A5RQSQDm8AAAAASUVORK5CYII=); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
.jh-notch .image-box img { width: 100%; aspect-ratio: 570 / 496; object-fit: cover; display: block; transition: transform .6s; }
.jh-notch:hover .image-box img { transform: scale(1.04); }
.jh-notch .info { position: absolute; left: 0; bottom: 0; width: 33.5%; height: 26.4%; background: var(--theme-color2); color: #fff; border-radius: 30px;
  display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 0 10px; }
.jh-notch .info h4 { color: #fff; margin: 0; font-weight: 300; line-height: 1.25; font-size: clamp(14px, 1.4vw, 19px); }
.jh-notch .info h4 i { font-size: clamp(26px, 2.6vw, 38px); color: var(--jhwc-lime); }
.jh-notch .info h4 span { font-size: clamp(26px, 2.6vw, 38px); font-weight: 500; color: var(--jhwc-lime); }
.jh-notch .info .title { letter-spacing: 2px; margin-top: 4px; font-size: clamp(11px, 1vw, 15px); }
.services-details__content .jh-notch { margin-bottom: 10px; }
.philo-side .jh-notch .image-box img { aspect-ratio: 570 / 496; }
.journey-step .jh-notch { max-width: 520px; }
.journey-step.flex-lg-row-reverse .jh-notch { margin-left: auto; }

/* Inner-page banners use the home banner frame: inset, rounded, green overlay */
.page-title { margin: 0 50px; border-radius: 50px; overflow: hidden; padding: 150px 0; }
.page-title:before { opacity: 1; background: linear-gradient(100deg, rgba(14, 58, 26, .86) 0%, rgba(41, 120, 46, .66) 45%, rgba(65, 152, 61, .38) 100%); }
.page-title .title { font-weight: 400; }
.page-title .page-breadcrumb li, .page-title .page-breadcrumb li a { color: rgba(255,255,255,.9); }
@media (max-width: 767px) { .page-title { margin: 0 15px; border-radius: 30px; padding: 100px 0; } .page-title .title { font-size: 40px; } }

/* Team photos: gentle zoom on hover */
.team-block .inner-box .image img { transition: transform .6s ease; }
.team-block:hover .inner-box .image img { transform: scale(1.07); }

/* ===================== v9: slimmer, organised top bar ===================== */
.top-strip { background: var(--theme-color2); color: rgba(255,255,255,.78); font-size: 13px; line-height: 1; padding: 0; }
.top-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 38px; flex-wrap: nowrap; }
.top-strip ul { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.top-strip li { display: flex; align-items: center; gap: 7px; padding: 0 16px; white-space: nowrap; }
.top-strip li + li { border-left: 1px solid rgba(255,255,255,.18); }
.top-strip ul li:first-child { padding-left: 0; }
.top-strip ul li:last-child { padding-right: 0; }
.top-strip i { color: var(--jhwc-lime); font-size: 12px; margin: 0; }
.top-strip a { color: rgba(255,255,255,.88); font-weight: 400; }
.top-strip a:hover { color: var(--jhwc-lime); }
.top-strip .ts-call a { color: var(--jhwc-lime); font-weight: 700; }
.top-strip .ts-label { color: rgba(255,255,255,.78); }
.top-strip .ts-book { background: var(--theme-color1); color: #fff !important; font-weight: 700; font-size: 12px; letter-spacing: .04em; padding: 6px 14px; border-radius: 20px; line-height: 1; }
.top-strip .ts-book:hover { background: var(--jhwc-lime); color: var(--theme-color2) !important; }
.top-strip .ts-social { gap: 12px; }
.top-strip .ts-social i { color: rgba(255,255,255,.75); font-size: 13px; }
.top-strip .ts-social a:hover i { color: var(--jhwc-lime); }
@media (max-width: 1199px) { .top-strip .ts-hours, .top-strip .ts-social { display: none; } }
@media (max-width: 991px)  { .top-strip .ts-left { display: none; } .top-strip .container { justify-content: center; } }
@media (max-width: 575px)  { .top-strip .ts-label { display: none; } .top-strip li { padding: 0 12px; } }

/* ===================== v10 ===================== */
/* Instagram strip: fixed grid of links (no sliding), round icon */
.ig-strip { display: grid; grid-template-columns: repeat(6, 1fr); }
.ig-tile { position: relative; display: block; overflow: hidden; aspect-ratio: 384 / 325; }
.ig-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.ig-tile::after { content: ""; position: absolute; inset: 0; background: rgba(0, 39, 66, 0); transition: background .3s; }
.ig-tile .ig-icon { position: absolute; left: 50%; top: 50%; z-index: 2; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%;
  background: rgba(255, 255, 255, .92); display: grid; place-items: center; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .35); transition: background .3s, transform .3s; }
.ig-tile .ig-icon i { font-size: 26px; line-height: 1; color: var(--theme-color1); transition: color .3s; }
.ig-tile:hover img { transform: scale(1.06); }
.ig-tile:hover::after { background: rgba(0, 39, 66, .35); }
.ig-tile:hover .ig-icon { background: var(--theme-color1); transform: scale(1.08); }
.ig-tile:hover .ig-icon i { color: #fff; }
@media (max-width: 991px) { .ig-strip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 575px) { .ig-strip { grid-template-columns: repeat(2, 1fr); } .ig-tile .ig-icon { width: 46px; height: 46px; margin: -23px 0 0 -23px; } .ig-tile .ig-icon i { font-size: 21px; } }

/* Footer social icons: equal round buttons, all glyphs the same size and centred */
.footer__item .socials { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.footer__item .socials a { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .25);
  display: inline-flex; align-items: center; justify-content: center; margin: 0; transition: background .3s, border-color .3s; }
.footer__item .socials a i { font-size: 16px; line-height: 1; color: #fff; }
.footer__item .socials a svg { width: 16px; height: 16px; }
.footer__item .socials a svg path { fill: #fff; }
.footer__item .socials a:hover { background: var(--theme-color1); border-color: var(--theme-color1); }
.footer__item .socials a:hover i { color: #fff; }
.footer__item .socials a:hover svg path { fill: #fff; }

/* ===================== v11 ===================== */
/* Instagram icon: soft translucent circle instead of solid white */
.ig-tile .ig-icon { background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .45);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: none; }
.ig-tile .ig-icon i { color: #fff; }
.ig-tile:hover .ig-icon { background: rgba(65, 152, 61, .85); border-color: transparent; }

/* Footer social icons: rounded squares */
.footer__item .socials a { border-radius: 12px; }
/* Instagram icon glyph in brand green (translucent circle stays) */
.ig-tile .ig-icon i { color: var(--theme-color1); }
.ig-tile:hover .ig-icon i { color: #fff; }

/* ===================== v12: Instagram strip moves right-to-left again ===================== */
.ig-strip { display: block; overflow: hidden; }
.ig-track { display: flex; width: max-content; animation: ig-scroll 45s linear infinite; }
.ig-strip:hover .ig-track { animation-play-state: paused; }
.ig-tile { flex: 0 0 auto; width: max(16.667vw, 220px); }
@media (max-width: 991px) { .ig-tile { width: 33.333vw; } }
@media (max-width: 575px) { .ig-tile { width: 50vw; } .ig-track { animation-duration: 30s; } }
@keyframes ig-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ig-track { animation: none; } }

/* ===================== v13: side panel (menu-grid button) ===================== */
.sidebar-area.offcanvas { background: var(--theme-color2); border-left: 3px solid var(--theme-color1); width: 420px; max-width: 92vw; }
.sidebar-area .offcanvas-header { padding: 28px 32px 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.sidebar-area .offcanvas-header .logo img { height: 52px; }
.sidebar-area .btn-close { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.08) !important; color: #fff; opacity: 1; display: grid; place-items: center; font-size: 18px; transition: background .3s; }
.sidebar-area .btn-close:hover { background: var(--theme-color1) !important; }
.sidebar-area .offcanvas-body { padding: 26px 32px 36px; display: flex; flex-direction: column; gap: 26px; }
.sidebar-area h5 { color: #fff; font-size: 20px; margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.sidebar-area h5::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.12); }
.sb-intro p { color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.7; margin: 0; }
.sb-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sb-contact li { display: flex; align-items: center; gap: 14px; background: rgba(255,255,255,.05); border-radius: 14px; padding: 12px 14px; }
.sb-ic { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px; background: rgba(65,152,61,.18); display: grid; place-items: center; }
.sb-ic i { color: var(--jhwc-lime); font-size: 15px; }
.sb-contact small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 2px; font-family: var(--text-font); }
.sb-contact a, .sb-contact span { color: #fff; font-size: 15px; line-height: 1.45; }
.sb-contact a:hover { color: var(--jhwc-lime); }
.sb-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sb-btn { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 12px; font-weight: 700; font-size: 14px; color: #fff; border: 1px solid rgba(255,255,255,.25); transition: all .3s; white-space: nowrap; }
.sb-btn.primary { background: var(--theme-color1); border-color: var(--theme-color1); }
.sb-btn:hover { background: var(--jhwc-lime); border-color: var(--jhwc-lime); color: var(--theme-color2); }
.sb-social { display: flex; gap: 10px; }
.sb-social a { width: 42px; height: 42px; border-radius: 12px; border: 1px solid rgba(255,255,255,.25); display: inline-flex; align-items: center; justify-content: center; transition: all .3s; }
.sb-social a i { color: #fff; font-size: 16px; line-height: 1; }
.sb-social a svg { width: 16px; height: 16px; }
.sb-social a svg path { fill: #fff; }
.sb-social a:hover { background: var(--theme-color1); border-color: var(--theme-color1); }
@media (max-width: 400px) { .sb-btns { grid-template-columns: 1fr; } }
/* side panel refinements */
.sidebar-area .offcanvas-body .mobile-menu:empty, .sidebar-area .offcanvas-body .mobile-menu:not(:has(.mean-bar)) { display: none; }
.sb-contact small { margin-bottom: 0; line-height: 1.4; }
.sb-contact li > div { display: flex; flex-direction: column; gap: 3px; }
/* mobile: page links always open inside the panel */
.sidebar-area .mean-container .mean-bar { background: transparent; padding: 0; min-height: 0; }
.sidebar-area .mean-container a.meanmenu-reveal { display: none !important; }
.sidebar-area .mean-container .mean-nav { background: transparent; margin-top: 0; }
.sidebar-area .mean-container .mean-nav > ul { display: block !important; }
.sidebar-area .mean-container .mean-nav ul li a { color: #fff; font-family: var(--text-font); font-weight: 600; font-size: 15px; text-transform: none; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.1); width: 100%; }
.sidebar-area .mean-container .mean-nav ul li li a { padding-left: 14px; font-weight: 400; font-size: 14px; color: rgba(255,255,255,.75); }
.sidebar-area .mean-container .mean-nav ul li a.mean-expand { width: 40px; padding: 13px 0; text-align: right; color: var(--jhwc-lime); border: 0 !important; background: transparent !important; }
.sidebar-area .mean-container .mean-nav ul li.active > a { color: var(--jhwc-lime); }
@media (max-width: 991px) { .sb-intro { display: none; } }
.sidebar-area .sidebar__body { margin-top: 0; }
.sidebar-area .offcanvas-body > * { flex-shrink: 0; }
.sidebar-area .offcanvas-body { overflow-y: auto; }
/* wider side panel so both buttons fit comfortably */
.sidebar-area.offcanvas { width: 480px; }
.sb-btn { padding: 0 16px; font-size: 14.5px; }

/* ===================== v14: side panel width + scrollbar ===================== */
.sidebar-area.offcanvas, .offcanvas.offcanvas-end.sidebar-area { --bs-offcanvas-width: 520px; width: 520px !important; max-width: 94vw !important; overflow: hidden; }
.sidebar-area .offcanvas-body { overflow-x: hidden !important; overflow-y: auto; }
.sidebar-area .mean-container, .sidebar-area .mean-bar, .sidebar-area .mean-nav { width: 100% !important; max-width: 100%; }

/* themed scrollbar (panel + page) */
.sidebar-area .offcanvas-body { scrollbar-width: thin; scrollbar-color: var(--theme-color1) rgba(255,255,255,.06); }
.sidebar-area .offcanvas-body::-webkit-scrollbar { width: 8px; }
.sidebar-area .offcanvas-body::-webkit-scrollbar-track { background: rgba(255,255,255,.06); border-radius: 10px; margin: 10px 0; }
.sidebar-area .offcanvas-body::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--jhwc-lime), var(--theme-color1)); border-radius: 10px; }
.sidebar-area .offcanvas-body::-webkit-scrollbar-thumb:hover { background: var(--jhwc-lime); }
html { scrollbar-width: thin; scrollbar-color: var(--theme-color1) #eef2e6; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #eef2e6; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--jhwc-lime), var(--theme-color1)); border-radius: 10px; border: 2px solid #eef2e6; }
::-webkit-scrollbar-thumb:hover { background: var(--theme-color1); }

/* ===================== v15: modern dropdown menus (desktop) ===================== */
@media (min-width: 1200px) {
  .header__main .main-menu > nav > ul > li { position: relative; }
  .header__main .main-menu ul li .sub-menu { top: calc(100% - 14px); left: 50%; width: 330px; padding: 14px; gap: 2px;
    background: #fff; border: 1px solid rgba(0, 39, 66, .07); border-top: 0; border-radius: 22px;
    box-shadow: 0 30px 60px -20px rgba(0, 39, 66, .28), 0 10px 20px -12px rgba(0, 39, 66, .12);
    transform: translate(-50%, 14px); opacity: 0; visibility: hidden; transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1), visibility .3s; }
  .header__main .main-menu ul li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
  .header__main .main-menu ul li .sub-menu::before { content: ""; position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px;
    background: #fff; transform: rotate(45deg); border-radius: 3px; border-left: 1px solid rgba(0,39,66,.07); border-top: 1px solid rgba(0,39,66,.07); }
  .header__main .main-menu ul li .sub-menu::after { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }  /* hover bridge */
  .header__main .main-menu ul li .sub-menu li { width: 100%; border: 0 !important; }
  .header__main .main-menu ul li .sub-menu li.dd-head { padding: 6px 12px 12px; margin-bottom: 6px; border-bottom: 1px solid rgba(0,39,66,.08) !important; display: flex; flex-direction: column; gap: 2px; }
  .dd-head span { font-family: var(--title-font); font-size: 19px; color: var(--theme-color2); text-transform: none; letter-spacing: 0; }
  .dd-head small { font-size: 12.5px; color: var(--text-color); text-transform: none; font-weight: 400; letter-spacing: 0; }
  .header__main .main-menu ul li .sub-menu li a { display: flex !important; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 14px;
    font-size: 15px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--theme-color2) !important; transition: background .25s, color .25s, padding .25s; }
  .header__main .main-menu ul li .sub-menu li a .dd-ic { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 11px; background: var(--theme-color-gray2);
    display: grid; place-items: center; transition: background .25s; }
  .header__main .main-menu ul li .sub-menu li a .dd-ic i { float: none; margin: 0; font-size: 16px; color: var(--theme-color1) !important; transition: color .25s; }
  .header__main .main-menu ul li .sub-menu li a .dd-t { flex: 1; line-height: 1.3; white-space: normal; }
  .header__main .main-menu ul li .sub-menu li a .dd-ext { float: none; margin: 0; font-size: 11px; opacity: .5; color: var(--theme-color2) !important; }
  .header__main .main-menu ul li .sub-menu li a:hover, .header__main .main-menu ul li .sub-menu li.current > a { background: var(--theme-color-gray2); color: var(--theme-color1) !important; padding-left: 16px; }
  .header__main .main-menu ul li .sub-menu li a:hover .dd-ic, .header__main .main-menu ul li .sub-menu li.current > a .dd-ic { background: var(--theme-color1); }
  .header__main .main-menu ul li .sub-menu li a:hover .dd-ic i, .header__main .main-menu ul li .sub-menu li.current > a .dd-ic i { color: #fff !important; }

  /* Services: two-column mega panel */
  .header__main .main-menu ul li .sub-menu.dd-mega { width: 640px; display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 6px; }
  .header__main .main-menu ul li .sub-menu.dd-mega .dd-head, .header__main .main-menu ul li .sub-menu.dd-mega .dd-all { grid-column: 1 / -1; }
  .header__main .main-menu ul li .sub-menu li.dd-all { margin-top: 8px; padding-top: 10px; border-top: 1px solid rgba(0,39,66,.08) !important; }
  .header__main .main-menu ul li .sub-menu li.dd-all a { justify-content: center; background: var(--theme-color1); color: #fff !important; font-size: 14px; }
  .header__main .main-menu ul li .sub-menu li.dd-all a:hover { background: var(--theme-color2); color: #fff !important; padding-left: 12px; }
  .header__main .main-menu ul li .sub-menu li.dd-all a i { float: none; margin: 0; color: #fff !important; }
}
/* keep the mobile menu clean (no icons/heads there) */
.mobile-menu .dd-ic, .mobile-menu .dd-ext, .mobile-menu .dd-head, .mobile-menu .dd-all { display: none !important; }
/* top bar without address: hours sit on the left, shown from tablet up */
@media (max-width: 1199px) { .top-strip .ts-hours { display: flex; } }
@media (max-width: 991px)  { .top-strip .ts-left { display: none; } }
/* top bar: hours + call on the left, Book Online + socials on the right */
@media (max-width: 991px) {
  .top-strip .ts-left { display: flex; }
  .top-strip .ts-hours { display: none; }
  .top-strip .ts-left li.ts-call { border-left: 0; padding-left: 0; }
  .top-strip .container { justify-content: space-between; }
}
