/*

Theme Name: The CanMore Clinic
Theme URI: #
Author: Sk
Version: 1.0

*/



/* Start - Main Style */

@font-face {
  font-family: 'SFProDisplay';
  src: url('assets/fonts/SFProDisplay-Medium.eot');
  src: url('assets/fonts/SFProDisplay-Medium.eot?#iefix') format('embedded-opentype'),
      url('assets/fonts/SFProDisplay-Medium.woff2') format('woff2'),
      url('assets/fonts/SFProDisplay-Medium.woff') format('woff'),
      url('assets/fonts/SFProDisplay-Medium.ttf') format('truetype'),
      url('assets/fonts/SFProDisplay-Medium.svg#SFProDisplay-Medium') format('svg');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SFProDisplay';
  src: url('assets/fonts/SFProDisplay-Bold.eot');
  src: url('assets/fonts/SFProDisplay-Bold.eot?#iefix') format('embedded-opentype'),
      url('assets/fonts/SFProDisplay-Bold.woff2') format('woff2'),
      url('assets/fonts/SFProDisplay-Bold.woff') format('woff'),
      url('assets/fonts/SFProDisplay-Bold.ttf') format('truetype'),
      url('assets/fonts/SFProDisplay-Bold.svg#SFProDisplay-Bold') format('svg');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SFProDisplay';
  src: url('assets/fonts/SFProDisplay-Light.eot');
  src: url('assets/fonts/SFProDisplay-Light.eot?#iefix') format('embedded-opentype'),
      url('assets/fonts/SFProDisplay-Light.woff2') format('woff2'),
      url('assets/fonts/SFProDisplay-Light.woff') format('woff'),
      url('assets/fonts/SFProDisplay-Light.ttf') format('truetype'),
      url('assets/fonts/SFProDisplay-Light.svg#SFProDisplay-Light') format('svg');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SFProDisplay';
  src: url('assets/fonts/SFProDisplay-Regular.eot');
  src: url('assets/fonts/SFProDisplay-Regular.eot?#iefix') format('embedded-opentype'),
      url('assets/fonts/SFProDisplay-Regular.woff2') format('woff2'),
      url('assets/fonts/SFProDisplay-Regular.woff') format('woff'),
      url('assets/fonts/SFProDisplay-Regular.ttf') format('truetype'),
      url('assets/fonts/SFProDisplay-Regular.svg#SFProDisplay-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'SFProDisplay';
  src: url('assets/fonts/SFProDisplay-Semibold.eot');
  src: url('assets/fonts/SFProDisplay-Semibold.eot?#iefix') format('embedded-opentype'),
      url('assets/fonts/SFProDisplay-Semibold.woff2') format('woff2'),
      url('assets/fonts/SFProDisplay-Semibold.woff') format('woff'),
      url('assets/fonts/SFProDisplay-Semibold.ttf') format('truetype'),
      url('assets/fonts/SFProDisplay-Semibold.svg#SFProDisplay-Semibold') format('svg');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

*{margin:0px; padding:0px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
html{ width:100%; height:100%; margin:0px; padding:0px;scroll-behavior: smooth; overflow-x:hidden; }
body{ margin:0px; padding:0px;background:#fff; font-family:var(--bodyfont);}
p{ margin:0px; padding:0px; }

address, blockquote, dd, div, dl, dt, fieldset, form, frame, frameset{ margin:0; padding:0; border: 0px; outline: none; }
label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin:0px; padding:0; outline:none; border:0;}
a{ text-decoration:none; border: 0px; outline: none; transition:all .5s}
a:hover, a:focus, a:active{ transition:all .5s }
a img{ border:none; outline: none;}
a:focus {outline:none; } 
border{ border-collapse:collapse;}
hr{ height:1px; background:#333333; border:none;}
img { max-width: 100%; height: auto;}
strong{font-weight:bold;}
button,input,select,option,textarea {outline: 0 !important;pointer-events:all;font-family:inherit;font-size:100%;}
::-moz-selection { color: #fff; background:var(--main-clr);}
::selection { color: #fff; background: var(--main-clr);}



/*Common Styles Start =========================*/

:root{

  --bodyfont: "SFProDisplay", sans-serif;
  --headfont: "Montserrat", sans-serif;

  --fs-80:80px;
  --fs-60:60px;
  --fs-42:42px;
  --fs-36:36px;
  --fs-30:30px;
  --fs-26:26px;
  --fs-24:24px;
  --fs-20:20px;
  --fs-18:18px;
  --fs-16:16px;
  --fs-14:14px;

  /* --- Brand Core --- */
  --clr-primary:       #0F2E4A;
  --clr-primary-dark:  #091D30;
  --clr-primary-light: #1D4E7A;

  --clr-secondary:     #2B7A6E;
  --clr-secondary-dark:#1F5E54;
  --clr-secondary-light:#E4F2EF;

  --clr-accent:        #B8845A;
  --clr-accent-light:  #F6EDE2;

  /* --- Pillar Accents --- */
  --clr-pillar-gp:              #1A6B5A;
  --clr-pillar-gp-light:        #E6F3F0;
  --clr-pillar-gp-mid:          #2D9B85;

  --clr-pillar-specialist:      #1B4F7A;
  --clr-pillar-specialist-light:#E3EDF5;
  --clr-pillar-specialist-mid:  #2B6FA8;

  --clr-pillar-aesthetics:      #A4506B;
  --clr-pillar-aesthetics-light:#F9EDF2;
  --clr-pillar-aesthetics-mid:  #C4728A;
  --clr-pillar-aesthetics-accent:#E8A3B8;

  /* --- Neutrals --- */
  --clr-white:         #FFFFFF;
  --clr-off-white:     #FAFAF7;
  --clr-stone:         #F2EDE6;
  --clr-stone-dark:    #E5DDD2;
  --clr-grey-text:     #5F6B78;
  --clr-body:          #1C2632;
  --clr-heading:       #0D1117;

  /* --- Feedback --- */
  --clr-success:       #0A7B5A;
  --clr-error:         #C72424;
  --clr-warning:       #C5690A;

  /* --- Spacing Scale --- */
  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  24px;
  --space-lg:  40px;
  --space-xl:  64px;
  --space-2xl: 80px;

  /* --- Backward-compatible aliases --- */
  --main-clr:          var(--clr-primary-dark);
  --seconday-color:    var(--clr-primary);
  --body-font-color:   var(--clr-body);
  --black-color:       var(--clr-heading);
  --white-color:       var(--clr-white);
  --color2:            var(--clr-accent);
  --hover-color:       var(--clr-secondary);
  --highlight:         var(--clr-secondary);
}

/* Pillar-specific styling via body classes (added in functions.php) */
body.pillar-gp {
  --clr-pillar: var(--clr-pillar-gp);
  --clr-pillar-bg: var(--clr-pillar-gp-light);
  --clr-pillar-mid: var(--clr-pillar-gp-mid);
  --clr-pillar-dark: #134d40;
  --hover-color: var(--clr-pillar-gp);
}
body.pillar-specialist {
  --clr-pillar: var(--clr-pillar-specialist);
  --clr-pillar-bg: var(--clr-pillar-specialist-light);
  --clr-pillar-mid: var(--clr-pillar-specialist-mid);
  --clr-pillar-dark: #143a59;
  --hover-color: var(--clr-pillar-specialist);
}
body.pillar-aesthetics {
  --clr-pillar: var(--clr-pillar-aesthetics);
  --clr-pillar-bg: var(--clr-pillar-aesthetics-light);
  --clr-pillar-mid: var(--clr-pillar-aesthetics-mid);
  --clr-pillar-dark: #7E3A50;
  --hover-color: var(--clr-pillar-aesthetics);
}

body{ font-family:var(--bodyfont);background: var(--clr-off-white)}

h1{ margin: 0px; padding: 0px; font-weight:600; font-size:var(--fs-42); color: var(--clr-heading); font-family: var(--headfont); padding:0 0 24px 0; line-height:1.15; }
h2{ margin: 0px; padding: 0px; font-size: var(--fs-36); color: var(--clr-heading); font-family: var(--headfont); font-weight: 600; padding: 0 0 20px 0; line-height:1.2; }
h3{ margin: 0px; padding: 0px; font-family:var(--headfont); font-weight:500; font-size:var(--fs-26); color:var(--clr-heading); padding:0 0 16px 0; line-height:1.25; }
h4{ margin: 0px; padding: 0px; font-family: var(--headfont); font-weight: 500; font-size: var(--fs-20); color: var(--clr-heading); padding: 0 0 12px 0; line-height:1.3; }
h5{ margin: 0px; padding: 0px; font-family: var(--headfont); font-weight:600; font-size:var(--fs-14); color:var(--clr-secondary); text-transform:uppercase; letter-spacing:0.08em; padding: 0 0 12px 0; }
h6{ margin: 0px; padding: 0px; font-family: var(--headfont); font-weight:500; font-size:var(--fs-14); color: var(--clr-grey-text); letter-spacing: 0.05em; text-transform: uppercase; padding: 0 0 12px 0; }

p { color:var(--clr-body); font-size:var(--fs-20); line-height:1.5; padding: 0 0 30px 0;font-weight:300}

ul, ol {padding-bottom: 20px;}
li { color:var(--clr-body); font-size:var(--fs-20); line-height:1.5; padding: 0 0 10px 0;font-weight:300}

.pageContent ul, .treatmentDtlsAccSec ul {
  list-style: none;
  padding-left: 1.5em;
}

.pageContent ul li, .treatmentDtlsAccSec ul li {
  position: relative;
  padding-left: 2em;
}

.pageContent ul li::before, .treatmentDtlsAccSec ul li:before {
  content: "\f058";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.15em;
  color: var(--clr-pillar, var(--clr-secondary));
}

p strong, li strong { font-weight:500}

a {color: var(--clr-secondary);}
a:hover {color: var(--clr-secondary-dark);}

/* Legacy button system (backward-compat) */
.btncn{position:relative;display: inline-block;padding: 12px 30px;font-size: var(--fs-18);font-weight:500;border-radius: 50px;margin:20px 0px;text-transform: uppercase;font-family: var(--headfont);}
.btncn:hover{ background:var(--hover-color); }

.btncn-default{background: transparent;color: var(--seconday-color);border: 1px solid var(--seconday-color);}
.btncn-default:hover{ background:var(--hover-color);border-color:var(--hover-color);color:var(--white-color); }

.btncn-light{background: transparent;color: var(--white-color);border: 1px solid var(--white-color);}
.btncn-light:hover{ background:var(--hover-color);border-color:var(--hover-color);color:var(--white-color); }

/* New button system */
.btn-cm{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;font-family:var(--headfont);font-size:var(--fs-16);font-weight:600;letter-spacing:0.03em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;border-radius:50px;cursor:pointer;transition:all 0.3s ease;line-height:1;}
.btn-cm--primary{background:var(--clr-pillar, var(--clr-secondary));color:var(--clr-white);border-color:var(--clr-pillar, var(--clr-secondary));}
.btn-cm--primary:hover{background:var(--clr-pillar-dark, var(--clr-secondary-dark));border-color:var(--clr-pillar-dark, var(--clr-secondary-dark));color:var(--clr-white);}
.btn-cm--secondary{background:transparent;color:var(--clr-primary);border-color:var(--clr-primary);}
.btn-cm--secondary:hover{background:var(--clr-primary);color:var(--clr-white);}
.btn-cm--ghost{background:transparent;color:var(--clr-white);border-color:var(--clr-white);}
.btn-cm--ghost:hover{background:var(--clr-white);color:var(--clr-primary-dark);}
.btn-cm--gp{background:var(--clr-pillar-gp);color:var(--clr-white);border-color:var(--clr-pillar-gp);}
.btn-cm--gp:hover{background:var(--clr-primary-light);border-color:var(--clr-primary-light);color:var(--clr-white);}
.btn-cm--specialist{background:var(--clr-pillar-specialist);color:var(--clr-white);border-color:var(--clr-pillar-specialist);}
.btn-cm--specialist:hover{opacity:0.9;color:var(--clr-white);}
.btn-cm--aesthetics{background:var(--clr-pillar-aesthetics);color:var(--clr-white);border-color:var(--clr-pillar-aesthetics);}
.btn-cm--aesthetics:hover{background:var(--clr-secondary-dark);border-color:var(--clr-secondary-dark);color:var(--clr-white);}
.btn-cm--sm{padding:10px 20px;font-size:var(--fs-14);}

.section{ padding:80px 0 }
.g-5, .gx-5 { --bs-gutter-x: 5rem;}
.g-4, .gx-4 { --bs-gutter-x: 3rem;}
.g-4, .gy-4 { --bs-gutter-y: 3rem;}

.desktop{ display:block; }
.mobile{ display:none; }
.main-clr-bg{background:var(--main-clr);}
.duelBg{background:linear-gradient(to bottom, var(--main-clr) 50%, transparent 50%);}
.text-white h1,.text-white h2,.text-white h3,.text-white h4,.text-white h5,.text-white h6,.text-white p,.text-white a{color:#fff}

/* Utility classes */
.text-upper{text-transform:uppercase;}
.text-normal{text-transform:none;}
.bg-off-white{background:var(--clr-off-white);}
.bg-stone{background:var(--clr-stone);}
.bg-navy{background:var(--clr-primary-dark);color:var(--clr-white);}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5,.bg-navy h6,.bg-navy p,.bg-navy a{color:var(--clr-white);}
.bg-teal-light{background:var(--clr-secondary-light);}
.bg-accent-light{background:var(--clr-accent-light);}
.text-pillar{color:var(--clr-pillar, var(--clr-secondary));}
.bg-pillar{background:var(--clr-pillar, var(--clr-secondary));}
.border-pillar{border-color:var(--clr-pillar, var(--clr-secondary));}
.eyebrow{font-family:var(--headfont);font-size:var(--fs-14);font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--clr-secondary);margin-bottom:12px;display:block;}
.section--compact{padding:48px 0;}
.section--flush{padding:0;}

@media (min-width: 1600px) {
  .container {
    max-width: 1440px;
  }
}

.hoverImage{background:linear-gradient(45deg, var(--hover-color), #fff);overflow:hidden;}
.hoverImage img{transition: 0.5s;}
.hoverImageTarget:hover .hoverImage img{opacity:0.5;transform:scale(1.2);}

.lineHd{padding-bottom:30px}
.lineHd h5{padding: 0px 0 40px 0;font-size: var(--fs-16);font-weight: 600;color:var(--clr-pillar, var(--clr-secondary));}
.lineHd h5::before{background: var(--clr-pillar, var(--clr-secondary)); width: 132px; height: 1px;content: '';display:inline-block;vertical-align: middle;margin-right: 24px; }




@media only screen and (max-width:1599px){
  :root{ 
    --fs-80:70px;
    --fs-60:55px;
    --fs-42:40px;
    --fs-36:34px;
    --fs-30:28px;
    --fs-26:25px;
    --fs-24:23px;
    --fs-20:18px; 
    --fs-18:16px;
    --fs-16:15px;
    --fs-14:14px;
  }
}
@media only screen and (max-width:1399px){
  :root{ 
    --fs-80:60px;
    --fs-60:48px;
    --fs-42:34px;
    --fs-36:30px;
    --fs-30:26px;
    --fs-26:24px;
    --fs-24:22px;
    --fs-20:17px; 
  }
}
@media only screen and (max-width:1199px){
  :root{ 
    --fs-80:45px;
    --fs-60:40px;
    --fs-42:34px;
    --fs-36:24px;
    --fs-30:23px;
    --fs-26:22px;
    --fs-24:20px;
  }

  a{ text-decoration:none; border: 0px; outline: none; transition:none;}
  a:hover, a:focus, a:active{ transition:none; }   
}
@media only screen and (max-width:991px){
  :root{ 
    --fs-80:40px;
    --fs-60:35px;
    --fs-42:30px;
  }
  .section{padding: 56px 0}
  p{padding-bottom:20px}
      
}
@media only screen and (max-width:767px){
  .container{ padding:0 40px; }
  
  .btncn{ width:100%; text-align:center; }

  .desktop{ display:none; }
  .mobile{display:block;}
  .lineHd h5::before{width:25px;margin-right:5px}


}
@media only screen and (max-width:380px){
  .btncn{font-size:15px}
}
/*Common Styles End =========================*/


/*Pillar Picker Block Start =========================*/
.pillar-picker{text-align:center;}

/* --- Tab band --- */
.pillar-tabs{display:flex;justify-content:center;gap:0;margin-bottom:var(--space-lg);border-bottom:1px solid var(--clr-stone-dark);position:relative;}
.pillar-tab{appearance:none;background:none;border:none;border-bottom:3px solid transparent;padding:var(--space-md) var(--space-lg);cursor:pointer;text-align:center;transition:border-color 0.25s ease,color 0.25s ease;position:relative;flex:1;max-width:320px;}
.pillar-tab:focus-visible{outline:2px solid var(--clr-primary);outline-offset:-2px;border-radius:4px 4px 0 0;}
.pillar-tab__title{display:block;font-family:var(--headfont);font-size:var(--fs-20);font-weight:600;color:var(--clr-grey-text);transition:color 0.25s ease;letter-spacing:-0.01em;}
.pillar-tab__lead{display:block;font-size:var(--fs-14);color:var(--clr-grey-text);margin-top:4px;font-weight:400;opacity:0.7;transition:opacity 0.25s ease;}
.pillar-tab--active .pillar-tab__title{color:var(--clr-heading);}
.pillar-tab--active .pillar-tab__lead{opacity:1;}
.pillar-tab--gp.pillar-tab--active{border-bottom-color:var(--clr-pillar-gp);}
.pillar-tab--specialist.pillar-tab--active{border-bottom-color:var(--clr-pillar-specialist);}
.pillar-tab--aesthetics.pillar-tab--active{border-bottom-color:var(--clr-pillar-aesthetics);}
.pillar-tab:hover:not(.pillar-tab--active) .pillar-tab__title{color:var(--clr-body);}

/* --- Tab panels --- */
.pillar-panel{display:none;animation:pillarFadeIn 0.3s cubic-bezier(0.4,0,0.2,1);}
.pillar-panel--active{display:block;}
.pillar-panel[hidden]{display:none;}
.pillar-panel__desc{font-size:var(--fs-16);color:var(--clr-grey-text);max-width:600px;margin:0 auto var(--space-lg);line-height:1.65;padding:0;}
.pillar-panel__cta{text-align:center;margin-top:var(--space-lg);}
.pillar-panel__cta .btn-cm{background:transparent !important;border-color:var(--clr-secondary) !important;color:var(--clr-secondary) !important;}
.pillar-panel__cta .btn-cm:hover{background:var(--clr-secondary) !important;color:var(--clr-white) !important;}

@keyframes pillarFadeIn{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}

/* --- Treatment grid --- */
.pillar-panel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);}

/* --- Service cards (editorial) --- */
.service-card{position:relative;overflow:hidden;border-radius:8px;background:var(--clr-primary-dark);opacity:0;animation:cardReveal 0.35s cubic-bezier(0.4,0,0.2,1) forwards;animation-delay:var(--reveal-delay,0ms);}
.pillar-panel--active .service-card{opacity:0;animation:cardReveal 0.35s cubic-bezier(0.4,0,0.2,1) forwards;animation-delay:var(--reveal-delay,0ms);}
.service-card a{display:block;text-decoration:none;}
.service-card__image{aspect-ratio:4/5;object-fit:cover;width:100%;display:block;transition:transform 0.4s ease-out;}
.service-card:hover .service-card__image{transform:scale(1.04);}
.service-card__overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-md);background:linear-gradient(0deg,rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.25) 60%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-height:40%;}
.service-card__title{color:#fff;font-family:var(--headfont);font-size:var(--fs-20);font-weight:500;margin:0;padding:0;letter-spacing:-0.01em;transition:transform 0.3s ease-out;line-height:1.25;}
.service-card:hover .service-card__title{transform:translateY(-2px);}
.service-card__label{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;transition:opacity 0.3s;padding:4px 14px;border-radius:50px;color:#fff;}
.service-card__label--gp{background:var(--clr-pillar-gp);}
.service-card__label--specialist{background:var(--clr-pillar-specialist);}
.service-card__label--aesthetics{background:var(--clr-pillar-aesthetics);}
.service-card::after{content:'';position:absolute;bottom:0;left:var(--space-md);right:var(--space-md);height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 0.35s ease-out;opacity:0.5;}
.service-card--gp::after{color:var(--clr-pillar-gp);}
.service-card--specialist::after{color:var(--clr-pillar-specialist);}
.service-card--aesthetics::after{color:var(--clr-pillar-aesthetics);}
.service-card:hover::after{transform:scaleX(1);}

@keyframes cardReveal{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .pillar-panel{animation:none;}
  .service-card{animation:none;opacity:1;}
  .pillar-panel--active .service-card{animation:none;opacity:1;}
  .service-card__image{transition:none;}
  .service-card__title{transition:none;}
  .service-card::after{transition:none;}
}

/* Tablet */
@media only screen and (max-width:1024px){
  .pillar-panel__grid{grid-template-columns:repeat(2,1fr);}
}

/* --- Desktop/mobile visibility --- */
.pillar-mobile{display:none;}

/* Mobile: scroll-snap cards */
@media only screen and (max-width:767px){
  .pillar-desktop{display:none !important;}
  .pillar-mobile{display:flex;}

  /* Scroll-snap container */
  .pillar-swipe{display:flex;gap:var(--space-sm);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--space-sm);margin:0 calc(-1 * var(--space-sm));}
  .pillar-swipe::-webkit-scrollbar{display:none;}

  /* Individual cards */
  .pillar-swipe__card{flex:0 0 88vw;scroll-snap-align:start;background:var(--clr-white);border-radius:12px;padding:var(--space-md);box-shadow:0 2px 12px rgba(0,0,0,0.06);border-left:3px solid var(--clr-stone-dark);text-align:left;}
  .pillar-swipe__card--gp{border-left-color:var(--clr-pillar-gp);}
  .pillar-swipe__card--specialist{border-left-color:var(--clr-pillar-specialist);}
  .pillar-swipe__card--aesthetics{border-left-color:var(--clr-pillar-aesthetics);}

  .pillar-swipe__title{font-family:var(--headfont);font-size:var(--fs-20);font-weight:600;color:var(--clr-heading);margin:0 0 4px;padding:0;}
  .pillar-swipe__lead{font-size:var(--fs-14);color:var(--clr-grey-text);margin:0 0 var(--space-sm);padding:0;}
  .pillar-swipe__desc{font-size:var(--fs-14);color:var(--clr-body);line-height:1.55;margin:0 0 var(--space-md);padding:0;}

  /* Treatment image grid inside each card */
  .pillar-swipe__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs);margin-bottom:var(--space-md);}
  .pillar-swipe__treatment{display:block;text-decoration:none;position:relative;border-radius:6px;overflow:hidden;}
  .pillar-swipe__treatment img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
  .pillar-swipe__treatment-name{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,rgba(0,0,0,0.6));color:#fff;font-family:var(--headfont);font-size:12px;font-weight:500;line-height:1.3;}

  .pillar-swipe__cta{display:block;text-align:center;margin-top:auto;}

  /* Dot indicator */
  .pillar-dots{display:flex;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md);}
  .pillar-dot{appearance:none;border:none;background:var(--clr-stone-dark);width:8px;height:8px;border-radius:50%;padding:0;cursor:pointer;transition:background 0.25s ease,transform 0.25s ease;}
  .pillar-dot--active{background:var(--clr-secondary);transform:scale(1.25);}
  .pillar-dot:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px;}
}

/* Very small screens: 2-col treatment grid */
@media only screen and (max-width:480px){
  .pillar-swipe__grid{grid-template-columns:repeat(2,1fr);}
}

/* Reduced motion for mobile swipe */
@media (prefers-reduced-motion:reduce){
  .pillar-swipe{scroll-behavior:auto;}
  .pillar-dot{transition:none;}
}
/* --- Pillar Carousel (replaces static grid + mobile swipe) --- */

/* Hide legacy mobile pillar-swipe UI — tabs + carousel now used at all sizes */
.pillar-mobile{display:none !important;}

/* Desktop card height reduction (~30%) for carousel context */
.pillar-panel__grid .service-card__image{aspect-ratio:8/7;}

/* When Slick initialises, override CSS grid */
.pillar-panel__grid.slick-initialized{display:block;}
.pillar-panel__grid.slick-initialized .service-card{opacity:1;animation:none;}
.pillar-panel__grid .slick-slide{margin:0 12px;}
.pillar-panel__grid .slick-list{margin:0 -12px;overflow:hidden;}

/* Carousel arrows */
.pillar-panel .slick-prev,
.pillar-panel .slick-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--clr-stone-dark);background:rgba(255,255,255,0.95);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.25s ease,border-color 0.25s ease,opacity 0.25s ease;box-shadow:0 2px 8px rgba(0,0,0,0.1);font-size:0;line-height:0;padding:0;}
.pillar-panel .slick-prev{left:8px;}
.pillar-panel .slick-next{right:8px;}
.pillar-panel .slick-prev:hover,.pillar-panel .slick-next:hover{background:var(--clr-primary);border-color:var(--clr-primary);}
.pillar-panel .slick-prev:hover svg,.pillar-panel .slick-next:hover svg{stroke:#fff;}
.pillar-panel .slick-prev svg,.pillar-panel .slick-next svg{width:18px;height:18px;stroke:var(--clr-primary);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* Carousel dots */
.pillar-panel .slick-dots{display:flex !important;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md);padding:0;list-style:none;}
.pillar-panel .slick-dots li{margin:0;padding:0;line-height:0;}
.pillar-panel .slick-dots li button{appearance:none;border:none;background:var(--clr-stone-dark);width:8px;height:8px;border-radius:50%;padding:0;cursor:pointer;font-size:0;line-height:0;transition:background 0.25s ease,transform 0.25s ease;}
.pillar-panel .slick-dots li.slick-active button{background:var(--clr-secondary);transform:scale(1.3);}
.pillar-panel .slick-dots li button:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px;}

/* Mobile: show tabs compactly, restore card height */
@media only screen and (max-width:767px){
  .pillar-tabs[role="tablist"]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;}
  .pillar-tabs[role="tablist"]::-webkit-scrollbar{display:none;}
  .pillar-tab{flex:0 0 auto;padding:var(--space-sm) var(--space-md);max-width:none;white-space:nowrap;}
  .pillar-tab__title{font-size:var(--fs-16);}
  .pillar-tab__lead{display:none;}
  .pillar-panel__grid .service-card__image{aspect-ratio:4/5;}
  .pillar-panel .slick-prev,.pillar-panel .slick-next{width:36px;height:36px;}
  .pillar-panel .slick-prev{left:4px;}
  .pillar-panel .slick-next{right:4px;}
  .pillar-panel .slick-prev svg,.pillar-panel .slick-next svg{width:14px;height:14px;}
}

/* Tablet: intermediate card height */
@media only screen and (max-width:1024px) and (min-width:768px){
  .pillar-panel__grid .service-card__image{aspect-ratio:5/4;}
}

/* Reduced motion: no carousel auto-advance hint */
@media (prefers-reduced-motion:reduce){
  .pillar-panel .slick-prev,.pillar-panel .slick-next{transition:none;}
  .pillar-panel .slick-dots li button{transition:none;}
}

/*Pillar Picker Block End =========================*/


/*Trust Band Block Start =========================*/
.trust-band{background:linear-gradient(135deg, var(--clr-primary-dark) 0%, var(--clr-primary) 50%, var(--clr-primary-light) 100%);position:relative;padding:32px 0;}.trust-band::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.08);backdrop-filter:blur(40px) saturate(1.4);-webkit-backdrop-filter:blur(40px) saturate(1.4);border-top:1px solid rgba(255,255,255,0.15);border-bottom:1px solid rgba(255,255,255,0.15);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 4px 30px rgba(0,0,0,0.08);pointer-events:none;}
.trust-band>.container{position:relative;z-index:1;}
.trust-band__groups{display:flex;justify-content:center;align-items:stretch;gap:24px;flex-wrap:wrap;}
.trust-band__group{display:flex;flex-direction:column;align-items:center;}
.trust-band__heading{font-family:var(--headfont);font-size:var(--fs-14);font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.6);text-align:center;margin-bottom:12px;padding:0;}
.trust-band__list{display:inline-flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap;background:#fff;border-radius:16px;padding:24px 48px;box-shadow:0 2px 20px rgba(0,0,0,0.08);flex:1;}
.trust-band__item{display:inline-flex;align-items:center;}
.trust-band__item img{height:48px;width:auto;opacity:0.85;transition:opacity 0.3s;}
.trust-band__item:hover img,.trust-band__item a:hover img{opacity:1;}
.trust-band__item a{display:inline-flex;}
@media only screen and (max-width:767px){
  .trust-band__groups{gap:20px;}
  .trust-band__list{gap:24px;padding:16px 20px;}
  .trust-band__item img{height:36px;}
}
/*Trust Band Block End =========================*/


/*Header Start =========================*/

/* --- Topbar --- */
.cm-topbar{background:var(--clr-primary-dark);border-bottom:1px solid rgba(255,255,255,0.08);padding:8px 0;font-size:13px;font-family:var(--bodyfont);position:relative;z-index:100001;}
.cm-topbar__inner{display:flex;justify-content:space-between;align-items:center;}
.cm-topbar__left,.cm-topbar__right{display:flex;align-items:center;gap:20px;}
.cm-topbar a{color:rgba(255,255,255,0.85);font-weight:400;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color 0.2s ease;}
.cm-topbar a:hover{color:var(--clr-accent);}
.cm-topbar__book{background:var(--clr-secondary);color:#fff !important;padding:5px 14px;border-radius:50px;font-weight:500;text-transform:uppercase;font-size:12px;letter-spacing:0.04em;transition:background 0.2s ease;}
.cm-topbar__book:hover{background:var(--clr-secondary-dark);color:#fff !important;}
.cm-topbar__social{display:flex;align-items:center;gap:12px;}
.cm-topbar__social a{font-size:14px;color:rgba(255,255,255,0.85) !important;transition:color 0.2s ease;}
.cm-topbar__social a:hover{color:var(--clr-secondary) !important;}
@media (max-width:768px){.cm-topbar{display:none;}}

/* --- Main Header --- */
.cm-header{position:fixed;top:37px;left:0;width:100%;z-index:99999;transition:top 0.35s ease;padding:0;}
/* Glass background via pseudo-element so it doesn't create a stacking context that traps child backdrop-filters */
.cm-header::before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(18,40,65,0.72);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);opacity:0;transition:opacity 0.35s ease;}
.cm-header--scrolled::before{opacity:1;box-shadow:0 1px 0 rgba(255,255,255,0.06),0 4px 20px rgba(0,0,0,0.15);}
.cm-header__inner{display:flex;align-items:center;justify-content:space-between;height:90px;transition:height 0.35s ease;}
.cm-header__logo{flex-shrink:0;display:flex;align-items:center;text-decoration:none;}
.cm-header__logo img{height:52px;width:auto;transition:height 0.35s ease;}

/* --- Navigation --- */
.cm-header__nav{flex:1;display:flex;justify-content:center;}
.cm-nav__list{display:flex;list-style:none;margin:0;padding:0;gap:0;}
.cm-nav__item{position:relative;}
.cm-nav__link{display:flex;align-items:center;height:90px;padding:0 18px;font-family:var(--headfont);font-weight:500;font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:0.03em;transition:color 0.2s ease;text-decoration:none;}
.cm-nav__link:hover{color:var(--clr-secondary);}
.cm-nav__close{display:none;}
.cm-nav__toggle{display:none;}
.cm-nav__mobile-cta{display:none;}

/* --- Header CTA + Burger --- */
.cm-header__actions{display:flex;align-items:center;gap:16px;flex-shrink:0;}
.cm-header__cta{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--clr-pillar, var(--clr-secondary));color:#fff;font-family:var(--headfont);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:0.04em;border-radius:50px;transition:background 0.2s ease,transform 0.15s ease;text-decoration:none;}
.cm-header__cta:hover{background:var(--clr-pillar-dark, var(--clr-secondary-dark));color:#fff;transform:translateY(-1px);}
.cm-header__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.cm-header__burger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease;}

/* --- Scrolled State --- */
.cm-header--scrolled{top:0 !important;}
.cm-header--scrolled .cm-header__inner{height:70px;}
.cm-header--scrolled .cm-header__logo img{height:40px;}
.cm-header--scrolled .cm-nav__link{height:70px;font-size:13px;}

/* --- Solid header (pages without a banner — opt in via .header-solid body class) --- */
body.header-solid .cm-header::before{
  opacity:1;
  box-shadow:0 1px 0 rgba(255,255,255,0.06), 0 4px 20px rgba(0,0,0,0.15);
}
/* Topbar stays in flow (scrolls away with the page). Header is position:fixed.
   Push only the first content element down by the header height (90px) so it
   clears the fixed header. The topbar is unaffected. */
body.header-solid .cm-header + *{ margin-top:90px; }

/* --- Mega Menu (Desktop) --- */
@media (min-width:1200px){
  .cm-header .container{max-width:1440px;}

  /* Let mega menu escape the nav item and anchor to the header inner */
  .cm-header__inner{position:relative;}
  .cm-header__nav{position:static;}
  .cm-nav__item--mega{position:static;}

  /* Mega menu — absolute, full-width within the header, sits below nav */
  .cm-nav__mega{position:absolute;top:100%;left:0;right:0;width:100%;padding:40px 0 48px;z-index:99998;background:rgba(18,40,65,0.72);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.06);box-shadow:0 8px 32px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.08);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.25s ease,visibility 0.25s ease;}
  .cm-nav__item:hover > .cm-nav__mega{opacity:1;visibility:visible;pointer-events:all;}
  .cm-nav__mega-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;max-width:960px;margin:0 auto;padding:0 24px;}
  .cm-nav__mega-heading{font-family:var(--headfont);font-size:18px;font-weight:500;color:rgba(255,255,255,0.95);margin-bottom:16px;padding:0 0 10px 0;border-bottom:1px solid rgba(255,255,255,0.1);text-transform:none;}
  .cm-nav__mega-links{list-style:none;margin:0;padding:0;}
  .cm-nav__mega-links li a{display:block;padding:6px 0;font-size:15px;font-weight:300;color:rgba(255,255,255,0.8);transition:color 0.2s ease,padding-left 0.2s ease;text-decoration:none;text-transform:none;}
  .cm-nav__mega-links li a:hover{color:var(--clr-secondary);padding-left:4px;}

  /* Sub-menu dropdown */
  .cm-nav__sub{position:absolute;top:100%;left:0;min-width:240px;padding:12px 0;list-style:none;margin:0;background:rgba(18,40,65,0.78);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,0.1);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.06);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.2s ease,visibility 0.2s ease;}
  .cm-nav__item:hover > .cm-nav__sub{opacity:1;visibility:visible;pointer-events:all;}
  .cm-nav__sub li a{display:block;padding:8px 20px;font-size:15px;font-weight:300;color:rgba(255,255,255,0.85);transition:background 0.2s ease,color 0.2s ease;text-decoration:none;text-transform:none;}
  .cm-nav__sub li a:hover{background:rgba(255,255,255,0.08);color:var(--clr-secondary);}
}

/* --- Mobile Navigation --- */
@media (max-width:1199px){
  .cm-header{top:0;}

  /* Slide-out panel — fully opaque so page content never shows through */
  .cm-header__nav{position:fixed;top:0;right:-100%;width:320px;max-width:85vw;height:100vh;height:100dvh;background:#122841;padding:0;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:right 0.35s cubic-bezier(0.4,0,0.2,1);z-index:100000;box-shadow:-8px 0 32px rgba(0,0,0,0.3);display:flex;flex-direction:column;}
  body.cm-nav-open .cm-header__nav{right:0;}

  /* Close button */
  .cm-nav__close{display:flex;align-items:center;justify-content:flex-end;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,0.1);flex-shrink:0;}
  .cm-nav__close button{background:none;border:none;color:rgba(255,255,255,0.8);font-size:28px;cursor:pointer;padding:4px 8px;line-height:1;}
  .cm-nav__close button:hover{color:#fff;}

  /* Menu list */
  .cm-nav__list{flex-direction:column;gap:0;padding:0;margin:0;flex:1;overflow-y:auto;}

  /* Each top-level item is a block (not flex) so children stack naturally */
  .cm-nav__item{border-bottom:1px solid rgba(255,255,255,0.08);position:relative;}

  /* Link and chevron sit side by side via the item being a grid */
  .cm-nav__item--mega,
  .cm-nav__item--has-sub{display:grid;grid-template-columns:1fr 52px;grid-template-rows:auto auto;}

  .cm-nav__link{height:auto;padding:14px 20px;font-size:16px;border-bottom:none;}

  /* Chevron toggle button */
  .cm-nav__toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);font-size:12px;cursor:pointer;transition:color 0.2s ease;}
  .cm-nav__toggle:hover{color:#fff;}
  .cm-nav__toggle::after{content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;transition:transform 0.3s ease;}
  .cm-nav__item.cm-nav--expanded > .cm-nav__toggle::after{transform:rotate(180deg);}

  .cm-header__burger{display:flex;}
  body.cm-nav-open .cm-header__burger span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
  body.cm-nav-open .cm-header__burger span:nth-child(2){opacity:0;}
  body.cm-nav-open .cm-header__burger span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
  .cm-header__cta span{display:none;}
  .cm-header__cta{width:42px;height:42px;padding:0;border-radius:50%;justify-content:center;}

  /* Sub-panels — span full width of grid (both columns) */
  .cm-nav__mega,
  .cm-nav__sub{position:static !important;width:100% !important;grid-column:1 / -1;background:rgba(0,0,0,0.2) !important;backdrop-filter:none !important;box-shadow:none !important;border:none !important;border-radius:0 !important;padding:0;margin:0;opacity:1 !important;visibility:visible !important;pointer-events:all !important;display:none;}
  .cm-nav__item.cm-nav--expanded > .cm-nav__mega,
  .cm-nav__item.cm-nav--expanded > .cm-nav__sub{display:block;}

  .cm-nav__mega-grid{padding:8px 0;display:block;}
  .cm-nav__mega-col{padding:0 20px;}
  .cm-nav__mega-heading{color:var(--clr-secondary);font-size:12px;font-weight:600;border-bottom:none;padding:14px 0 4px;margin:0;text-transform:uppercase;letter-spacing:0.08em;}
  .cm-nav__mega-links{list-style:none;margin:0;padding:0;}
  .cm-nav__mega-links li a{padding:10px 8px;font-size:15px;color:rgba(255,255,255,0.75);display:block;text-decoration:none;text-transform:none;}
  .cm-nav__mega-links li a:hover{color:#fff;}

  .cm-nav__sub{padding:4px 0 8px;}
  .cm-nav__sub li a{padding:10px 28px;font-size:15px;color:rgba(255,255,255,0.75);display:block;text-decoration:none;text-transform:none;}
  .cm-nav__sub li a:hover{color:#fff;}

  /* Mobile CTA at bottom of nav */
  .cm-nav__mobile-cta{display:block;padding:20px;border-top:1px solid rgba(255,255,255,0.1);flex-shrink:0;}
  .cm-nav__mobile-cta a{display:block;text-align:center;padding:14px;background:var(--clr-secondary);color:#fff;font-family:var(--headfont);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:0.04em;border-radius:50px;text-decoration:none;transition:background 0.2s ease;}
  .cm-nav__mobile-cta a:hover{background:var(--clr-secondary-dark);}

  /* Overlay */
  .cm-nav__overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99999;}
  body.cm-nav-open .cm-nav__overlay{display:block;}
}
@media (max-width:767px){
  .cm-header__inner{height:72px;}
  .cm-header--scrolled .cm-header__inner{height:62px;}
  .cm-header__logo img{height:42px;}
  .cm-header--scrolled .cm-header__logo img{height:34px;}
}
/*Header End =========================*/


/*Banner Start (inner pages) =========================*/
.banner{ position:relative; z-index:2; }
.bannerImage{ background:var(--clr-primary-dark); }
.bannerImage img{ opacity:0.86; display:block; min-height:350px; width:100%; object-fit:cover; }
.bannerContent{ position:absolute; left:0; bottom:6.2vw; text-align:center; width:100%; }
.bannerContent h3{ font-size:var(--fs-20); color:var(--clr-white); text-transform:uppercase; font-weight:400; letter-spacing:0.1em; }
.bannerContent h3 strong{ font-weight:600; }
.bannerContent h1{ font-size:var(--fs-42); color:var(--clr-white); text-transform:none; }
.bannerDownArrow{ display:none; }

/* ---- Inner banner ---- */
.innerBanner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--clr-primary-dark);
}
.innerBanner .bannerImage{
  position:relative;
  background:var(--clr-primary-dark);
  overflow:hidden;
}
.innerBanner .bannerImage img{
  opacity:1;
  width:100%;
  min-height:380px;
  height:clamp(380px, 38vw, 520px);
  object-fit:cover;
  object-position:center 35%;
  display:block;
}

/* Layered overlay — vignette + gradient — for legibility without flattening the image */
.innerBanner .bannerImage:before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,
    rgba(15,46,74,0.55) 0%,
    rgba(15,46,74,0.35) 45%,
    rgba(15,46,74,0.75) 100%);
  z-index:1; pointer-events:none;
}
.innerBanner .bannerImage:after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,0) 40%, rgba(0,0,0,0.25) 100%);
  z-index:1; pointer-events:none;
}

/* Content — flex-centred vertically, no transform hack */
.innerBanner .bannerContent{
  position:absolute; inset:0;
  top:0; bottom:0; left:0; right:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  padding:24px 0;
}
.innerBanner .bannerContent .container{ width:100%; }

.innerBanner .bannerContent h1{
  position:relative;
  display:inline-block;
  margin:0; padding:0 0 18px;
  font-family:var(--headfont);
  font-size:clamp(32px, 4.2vw, var(--fs-60));
  font-weight:600;
  line-height:1.1;
  color:var(--clr-white);
  text-shadow:0 2px 18px rgba(0,0,0,0.18);
}
.innerBanner .bannerContent h1:after{
  content:''; display:block;
  width:64px; height:2px;
  margin:18px auto 0;
  background:var(--clr-pillar, var(--clr-secondary-light, var(--clr-accent)));
  opacity:0.95;
}

/* Optional eyebrow (h3) above title — already styled, just tighten spacing */
.innerBanner .bannerContent h3{
  margin-bottom:10px;
  font-size:var(--fs-14);
  letter-spacing:0.18em;
  font-weight:600;
  color:rgba(255,255,255,0.85);
}

/* Breadcrumb that follows banner — sit closer, drop the divider */
.innerBanner + .breadcumb{ border-bottom:0; padding-top:18px; padding-bottom:18px; }

@media only screen and (max-width: 991px){
  .innerBanner .bannerImage img{
    min-height:280px;
    height:clamp(280px, 48vw, 380px);
  }
  .innerBanner .bannerContent h1{
    font-size:clamp(28px, 7vw, 40px);
    padding-bottom:12px;
  }
  .innerBanner .bannerContent h1:after{ width:48px; margin-top:12px; }
}
/*Banner End =========================*/


/*Homepage Hero Start =========================*/
.hp-hero h1,.hp-hero h2,.hp-hero h3,.hp-hero h4,.hp-hero p,.hp-hero a:not(.hp-hero__btn){color:#fff;}
.hp-hero p{padding:0 !important;}
.hp-hero{position:relative;display:flex;align-items:center;overflow:hidden;padding-top:160px;padding-bottom:72px;}
.hp-hero__bg{position:absolute;inset:0;z-index:0;}
.hp-hero__bg img,.hp-hero__bg video{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.hp-hero__bg-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,40,65,0.92) 0%,rgba(18,40,65,0.5) 70%,rgba(18,40,65,0.5) 100%);}

/* Single-column centered grid */
.hp-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:48px;justify-items:center;}

/* Centered content */
.hp-hero__content{max-width:720px;text-align:center;}
.hp-hero__eyebrow{display:inline-block;font-family:var(--headfont);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.12em;color:var(--clr-secondary);margin-bottom:20px;background:#fff;padding:6px 18px;border-radius:50px;}
.hp-hero__title{font-family:var(--headfont);font-size:clamp(34px,3.8vw,50px);font-weight:700;line-height:1.12;color:#fff;margin:0;padding:0 0 24px 0;}
.hp-hero__text{font-size:17px;line-height:1.7;color:rgba(255,255,255,0.8) !important;margin:0 auto 36px auto;padding:0 !important;max-width:540px;font-weight:300;text-align:center;}
.hp-hero__ctas{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.hp-hero__btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-family:var(--headfont);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:0.04em;border-radius:50px;transition:all 0.2s ease;text-decoration:none;white-space:nowrap;}
.hp-hero__btn--primary{background:var(--clr-secondary);color:#fff;border:2px solid var(--clr-secondary);}
.hp-hero__btn--primary:hover{background:var(--clr-secondary-dark);border-color:var(--clr-secondary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(58,138,125,0.3);}
.hp-hero__btn--secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,0.3);}
.hp-hero__btn--secondary:hover{border-color:rgba(255,255,255,0.55);background:rgba(255,255,255,0.06);color:#fff;}

/* Google Reviews trust badge */
.hp-hero__reviews{display:inline-flex;align-items:center;gap:8px;margin-top:24px;text-decoration:none;opacity:0.9;transition:opacity 0.2s ease,filter 0.2s ease;flex-wrap:wrap;justify-content:center;}
.hp-hero__reviews:hover{opacity:1;filter:brightness(1.1);}
.hp-hero__reviews-g{flex-shrink:0;}
.hp-hero__reviews-stars{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;}
.hp-hero__reviews-star{display:block;}
.hp-hero__reviews-text{font-family:var(--headfont);font-size:14px;font-weight:500;color:rgba(255,255,255,0.85);white-space:nowrap;}
@media (max-width:480px){
  .hp-hero__reviews{flex-direction:column;gap:4px;}
  .hp-hero__reviews-text{font-size:13px;}
}

/* Hero testimonial quotes — rotating */
.hp-hero__quotes{position:relative;margin:var(--space-md) auto 0 auto;max-width:500px;text-align:center;min-height:60px;}
.hp-hero__quote{position:absolute;inset:0;opacity:0;transition:opacity 0.6s ease;padding:0;border:none;margin:0;}
.hp-hero__quote--active{position:relative;opacity:1;}
.hp-hero__quote-text{font-family:var(--headfont);font-size:15px;font-weight:300;font-style:italic;line-height:1.6;color:rgba(255,255,255,0.65);margin:0;padding:0;}
.hp-hero__quote-cite{display:block;font-family:var(--headfont);font-size:13px;font-weight:400;font-style:normal;color:rgba(255,255,255,0.45);margin-top:6px;}

/* Pillar cards — horizontal row, centered */
/* Reset button styling for pillar cards */
button.hp-hero__pillar{cursor:pointer;font:inherit;color:inherit;appearance:none;-webkit-appearance:none;}
.hp-hero__pillars{display:flex;flex-direction:row;gap:16px;width:100%;max-width:100%;}
.hp-hero__pillar{flex:1;display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:12px;text-decoration:none;transition:background 0.25s ease,transform 0.2s ease,box-shadow 0.25s ease;background:#fff;border:none;border-left:3px solid transparent;box-shadow:0 2px 12px rgba(0,0,0,0.08);}
.hp-hero__pillar--gp{border-left-color:var(--clr-pillar-gp);}
.hp-hero__pillar--specialist{border-left-color:var(--clr-pillar-specialist);}
.hp-hero__pillar--aesthetics{border-left-color:var(--clr-pillar-aesthetics);}
.hp-hero__pillar:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,0.14);}
.hp-hero__pillar-icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.hp-hero__pillar--gp .hp-hero__pillar-icon{background:var(--clr-pillar-gp);color:#fff;}
.hp-hero__pillar--specialist .hp-hero__pillar-icon{background:var(--clr-pillar-specialist);color:#fff;}
.hp-hero__pillar--aesthetics .hp-hero__pillar-icon{background:var(--clr-pillar-aesthetics);color:#fff;}
.hp-hero__pillar-text{flex:1;text-align:left;}
.hp-hero__pillar-label{font-family:var(--headfont);font-size:16px;font-weight:600;color:var(--clr-primary) !important;margin:0;padding:0 0 3px 0;line-height:1.3;}
.hp-hero__pillar-desc{font-size:14px;color:#5a6a7a !important;margin:0;padding:0;line-height:1.4;font-weight:400;}
.hp-hero__pillar-arrow{color:rgba(0,0,0,0.25);font-size:13px;transition:color 0.2s ease,transform 0.2s ease;flex-shrink:0;}
.hp-hero__pillar:hover .hp-hero__pillar-arrow{color:var(--clr-secondary);transform:translateX(3px);}

/* Desktop fine-tuning */
@media (min-width:1400px){
  .hp-hero{padding-top:180px;padding-bottom:80px;}
  .hp-hero__pillars{max-width:1040px;}
}

@media (max-width:1199px){
  .hp-hero__title{font-size:clamp(30px,3.5vw,42px);}
  .hp-hero__text{font-size:16px;}
  .hp-hero__pillar-label{font-size:14px;}
  .hp-hero__pillar-desc{font-size:12px;}
  .hp-hero__pillar{padding:14px 16px;gap:12px;}
  .hp-hero__pillar-icon{width:38px;height:38px;font-size:15px;}
}

@media (max-width:991px){
  .hp-hero{padding-top:120px;padding-bottom:48px;}
  .hp-hero__bg-overlay{background:rgba(18,40,65,0.9);}
  .hp-hero__grid{gap:36px;}
  .hp-hero__pillars{gap:10px;}
  .hp-hero__pillar{flex-direction:column;text-align:center;padding:18px 14px;}
  .hp-hero__pillar-text{text-align:center;}
  .hp-hero__pillar-arrow{display:none;}
}
@media (max-width:600px){
  .hp-hero{padding-top:100px;}
  .hp-hero__pillars{flex-direction:column;}
  .hp-hero__pillar{flex-direction:row;text-align:left;}
  .hp-hero__pillar-text{text-align:left;}
  .hp-hero__pillar-arrow{display:block;}
  .hp-hero__title{font-size:28px;}
  .hp-hero__btn{width:100%;justify-content:center;}
}
/*Homepage Hero End =========================*/


/*welcome Start =========================*/
.welcomeContent p{text-align: left;}
/*welcome End =========================*/


/*Service Start =========================*/
.serviceSec{overflow:hidden; padding: 0 0 90px 0;}
.serviceSlider .slick-slide { margin: 0 10px;opacity:0.2;transition:0.5s 0.5s }
.serviceSlider .slick-slide.slick-active {opacity:1;  }
.serviceSlider .slick-list { margin: 0 -10px;overflow:visible; }

.serviceSlider .slick-prev{ position:absolute; top:50%; transform: translate(-50%,-50%); left:0; background:transparent; border:none; font-size:30px;  transition:all .5s; width: 72px; height: 72px;  display: flex; align-items: center; justify-content: center;  color: var(--main-clr);border:1px solid var(--main-clr); z-index:2;border-radius:50%}
.serviceSlider .slick-next{ position:absolute; top:50%; transform: translate(50%,-50%); right:0px; background:transparent; border:none; font-size:30px;  transition:all .5s; width: 72px; height: 72px; display: flex; align-items: center; justify-content: center;  color: var(--main-clr);border:1px solid var(--main-clr); z-index:2;border-radius:50%}
.serviceSlider .slick-next:hover, .serviceSlider .slick-prev:hover{ background:var(--main-clr);color:#fff } 
.serviceSlider .slick-arrow.slick-disabled{opacity:0}

.serviceItem{position:relative;}
.serviceItem img{width:100%;display:block;}
.serviceItemContent {position:absolute;bottom: 0;left:0;width: 100%;padding: 0 30px}
.serviceItem h3{ text-align:left; padding:20px 0; font-weight:500; font-size:var(--fs-36); color:var(--white-color); }

@media only screen and (max-width:991px){
 .serviceSlider .slick-next,.serviceSlider .slick-prev {width: 40px; height: 40px; font-size: 20px; }
}
/*Service End =========================*/


/*Service Card Grid — legacy support for treatment-slider-block =========================*/
.service-card__pillar-tag{display:inline-block;padding:5px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border-radius:50px;color:#fff;margin-bottom:8px;}
.service-card__pillar-tag--gp{background:var(--clr-pillar-gp);}
.service-card__pillar-tag--specialist{background:var(--clr-pillar-specialist);}
.service-card__pillar-tag--aesthetics{background:var(--clr-pillar-aesthetics);}
/*Service Card Grid End =========================*/


/*Enquiry Section Start =========================*/
.enquiry-section{overflow:hidden;}
.enquiry-section .container{}
.enquiry-section .row{border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.15);}

/* Image column — flush, fills full height */
.enquiry-section__image{height:100%;position:relative;}
.enquiry-section__image img{display:block;width:100%;height:100%;object-fit:cover;}

/* Card area (right side or full width) */
.enquiry-section__card{padding:36px 40px 40px;height:100%;display:flex;flex-direction:column;justify-content:center;}
.bg-navy .enquiry-section__card{background:var(--clr-white);color:var(--clr-body);}
.bg-navy .enquiry-section__card h2,.bg-navy .enquiry-section__card h3{color:var(--clr-heading);}
.bg-navy .enquiry-section__card p{color:var(--clr-body);}
.bg-stone .enquiry-section__card{background:var(--clr-stone);}

/* Header */
.enquiry-section__header{margin-bottom:20px;}
.enquiry-section__header .eyebrow{color:var(--clr-secondary);margin-bottom:4px;}
.enquiry-section__header h2{margin-bottom:8px;font-size:var(--fs-30);}
.enquiry-section__desc{opacity:0.8;font-size:var(--fs-14);line-height:1.5;max-width:520px;}

/* Form layout — 2-col grid */
.enquiry-section__form .gform_wrapper .gform_fields,
.enquiry-section__form .gform_wrapper .gform_body .gform_fields{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  flex-wrap:unset !important;
}
.enquiry-section__form .gform_wrapper .gfield{
  margin-bottom:0 !important;padding:0 !important;
  width:100% !important;max-width:100% !important;
  flex:unset !important;
}
/* Full-width fields: textarea, date, submit */
.enquiry-section__form .gform_wrapper .gfield--width-full,
.enquiry-section__form .gform_wrapper .gfield:has(textarea),
.enquiry-section__form .gform_wrapper .gfield:has(input[type=date]),
.enquiry-section__form .gform_wrapper .gfield--type-date,
.enquiry-section__form .gform_wrapper .gfield--type-textarea{grid-column:1 / -1 !important;}

/* Labels — hidden since placeholders handle it, but keep for accessibility */
.enquiry-section__form .gform_wrapper .gfield_label{
  position:absolute !important;
  width:1px !important;height:1px !important;
  overflow:hidden !important;clip:rect(0,0,0,0) !important;
  border:0 !important;
}
/* Show label only for date-of-birth / non-standard fields */
.enquiry-section__form .gform_wrapper .gfield--type-date .gfield_label,
.enquiry-section__form .gform_wrapper .gfield--type-fileupload .gfield_label{
  position:static !important;
  width:auto !important;height:auto !important;
  overflow:visible !important;clip:auto !important;
  display:block !important;font-size:13px !important;font-weight:600 !important;
  text-transform:uppercase !important;letter-spacing:0.06em !important;
  margin-bottom:6px !important;
}
.bg-navy .enquiry-section__form .gform_wrapper .gfield_label{color:var(--clr-grey-text) !important;}

/* Input fields — solid, rounded, accessible (high specificity to beat global overrides) */
body .enquiry-section__form .gform_wrapper input[type=text],
body .enquiry-section__form .gform_wrapper input[type=email],
body .enquiry-section__form .gform_wrapper input[type=tel],
body .enquiry-section__form .gform_wrapper input[type=number],
body .enquiry-section__form .gform_wrapper input[type=date],
body .enquiry-section__form .gform_wrapper textarea,
body .enquiry-section__form .gform_wrapper select{
  width:100% !important;
  background:var(--clr-off-white) !important;
  border:1.5px solid var(--clr-stone-dark) !important;
  border-radius:10px !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:var(--clr-body) !important;
  padding:12px 16px !important;
  box-shadow:none !important;
  transition:border-color 0.25s ease, background 0.25s ease !important;
  -webkit-appearance:none !important;
  letter-spacing:0 !important;
}
body .enquiry-section__form .gform_wrapper input:focus,
body .enquiry-section__form .gform_wrapper textarea:focus,
body .enquiry-section__form .gform_wrapper select:focus{
  outline:none !important;
  border-color:var(--clr-secondary) !important;
  background:var(--clr-white) !important;
}
body .enquiry-section__form .gform_wrapper textarea{min-height:90px !important;resize:vertical !important;max-width:100% !important;}

/* Date + textarea — force full width */
body .enquiry-section__form .gform_wrapper input[type=date],
body .enquiry-section__form .gform_wrapper .ginput_container{width:100% !important;max-width:100% !important;}

/* Date input colour-scheme so the calendar icon is light on dark bg */
body .enquiry-section__form .gform_wrapper input[type=date]{color-scheme:light !important;}

/* Stone / light variant */
.bg-stone .enquiry-section__form .gform_wrapper input[type=text],
.bg-stone .enquiry-section__form .gform_wrapper input[type=email],
.bg-stone .enquiry-section__form .gform_wrapper input[type=tel],
.bg-stone .enquiry-section__form .gform_wrapper input[type=number],
.bg-stone .enquiry-section__form .gform_wrapper input[type=date],
.bg-stone .enquiry-section__form .gform_wrapper textarea,
.bg-stone .enquiry-section__form .gform_wrapper select{
  background:var(--clr-white) !important;
  border-color:var(--clr-stone-dark) !important;
  color:var(--clr-body) !important;
  color-scheme:light !important;
}
.bg-stone .enquiry-section__form .gform_wrapper input:focus,
.bg-stone .enquiry-section__form .gform_wrapper textarea:focus,
.bg-stone .enquiry-section__form .gform_wrapper select:focus{border-color:var(--clr-secondary) !important;}

/* Placeholders */
body .enquiry-section__form .gform_wrapper ::placeholder{text-transform:none !important;opacity:1 !important;color:var(--clr-grey-text) !important;font-weight:300 !important;}
.bg-stone .enquiry-section__form .gform_wrapper ::placeholder{color:var(--clr-grey-text) !important;}

/* Submit button — large, full-width, clear CTA */
body .enquiry-section__form .gform_wrapper input[type=submit],
body .enquiry-section__form .gform_wrapper button[type=submit],
body .enquiry-section__form .gform_wrapper .gform_button{
  display:block !important;
  width:100% !important;
  padding:14px 36px !important;
  font-size:var(--fs-16) !important;
  font-weight:700 !important;
  border-radius:50px !important;
  font-family:var(--headfont) !important;
  background:var(--clr-secondary) !important;
  border:2px solid var(--clr-secondary) !important;
  color:#fff !important;
  transition:all 0.3s ease !important;
  text-transform:uppercase !important;
  letter-spacing:0.04em !important;
  margin-top:8px !important;
  cursor:pointer !important;
}
body .enquiry-section__form .gform_wrapper input[type=submit]:hover,
body .enquiry-section__form .gform_wrapper button[type=submit]:hover,
body .enquiry-section__form .gform_wrapper .gform_button:hover{
  background:var(--clr-secondary-dark) !important;
  border-color:var(--clr-secondary-dark) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 16px rgba(43,122,110,0.35) !important;
}

/* Gravity Forms reset */
.enquiry-section__form .gform_wrapper{margin:0 !important;padding:0 !important;max-width:none !important;}
.enquiry-section__form .gform_wrapper .gform_footer{padding:8px 0 0 !important;margin:0 !important;}
.enquiry-section__form .gform_wrapper .gfield_description,
.enquiry-section__form .gform_wrapper .gfield_validation_message{font-size:13px !important;}
.bg-navy .enquiry-section__form .gform_wrapper .gfield_validation_message{color:var(--clr-error) !important;}
/* Hide Gravity's own required asterisk styling */
.enquiry-section__form .gform_wrapper .gfield_required{color:var(--clr-accent) !important;}

/* Mobile */
@media (max-width:991px){
  .enquiry-section__card{padding:36px 24px 40px;}
  .enquiry-section__form .gform_wrapper .gform_fields{grid-template-columns:1fr !important;}
}
@media (max-width:575px){
  .enquiry-section__card{padding:28px 20px 32px;}
}
/*Enquiry Section End =========================*/


/*homeContentSec Start =========================*/
.homeContentSec{overflow:hidden;}
.homeContentSecText p{max-width: 624px;text-align: left;}
.homeContentSecImg img{width:auto;max-width:50vw;}
.homeContentSecImg {padding:0 40px; }

@media only screen and (max-width:991px){
  .homeContentSecImg {padding: 0 0 40px 0; }
  .homeContentSecImg img {width: 100%; max-width: 100%; }
}
/*homeContentSec End =========================*/


/*homeLinksSec Start =========================*/
.homeLinksSec ul{ margin:0; padding:25px 0 0 0; list-style:none; }
.homeLinksSec ul li{ font-weight:300 ; font-size:var(--fs-20);  }
.homeLinksSec ul li a{ color:#161617; padding: 15px 0; display: block; border-bottom: 1px solid #c1c6d4; position: relative;}
.homeLinksSec ul li a:after{ content:''; position:absolute; width:0%; height:1px; background:#c1c6d4; bottom:-1px; left:0 ; transition: all .6s;}
.homeLinksSec ul li a:hover:after{width:100%; background: var(--hover-color); transition: all .5s;}
.homeLinksSec ul li a:before{ content:'\f061' ;  font-family: 'FontAwesome';  position:absolute; right:0; top:13px; color:#161617; transition: all .5s;}
.homeLinksSec ul li a:hover{ color:var(--hover-color); }
.homeLinksSec ul li a:hover:before{ color:var(--hover-color); }
.homeLinksSecText{max-width: 540px;margin-left: auto;}

.homeLinksSecImg{position: relative;}
.homeLinksSecImgText{position:absolute;bottom: 0;left:0px;max-width:100%;padding-left:60px}
.homeLinksSecImgText h3{color:#fff}

@media only screen and (max-width:991px){
 .homeLinksSecText {margin: 40px 0 0 0; }
 .homeLinksSecImgText{padding-left:20px}
}
/*homeLinksSec End =========================*/


/*homeCtaSec Start =========================*/
.homeCtaSecMain{position: relative;z-index: 2}
.homeCtaImg{background:var(--clr-primary-dark)}
.homeCtaImg img{display:block;width:100%;opacity:0.6;min-height: 400px;object-fit:cover;}
.homeCtaContent{position:absolute;bottom:60px;left:0;width: 100%}
.homeCtaContent h2{font-size:var(--fs-60);color:#fff;text-transform: none;padding-bottom:0}
.homeCtaContent .btncn-light{margin:0}

@media only screen and (max-width:991px){
  .homeCtaContent {bottom: 13px; }
}
/*homeCtaSec End =========================*/


/*homeCardSec Start =========================*/
.homeCardSec{overflow: hidden;}
.homeCardSec .row{--bs-gutter-x:70px;}
.homeCardCol:nth-child(3n + 2){box-shadow: -1px 0 0 0 #ccc, 1px 0 0 0 #ccc;}
.homeCardItem{padding-bottom:50px}
.homeCardImg{padding-bottom:40px}
.homeCardImg img{width:100%}

@media only screen and (max-width:1199px){
  .homeCardSec .row {--bs-gutter-x: 40px; }
}
@media only screen and (max-width:991px){
  .homeCardCol:nth-child(3n + 2){box-shadow:none}
  .homeCardItem{padding-bottom:0}
}
/*homeCardSec End =========================*/


/*homepageFormSection Start =========================*/
.homepageFormSection{position:relative;z-index:2;background:#23211f }
.homepageFormSection p{ padding-top:15px; color:#e9e4da ; font-weight: 300;font-size: var(--fs-16);}
.formGroup{ display:flex; gap:30px; align-items: flex-end;}

.homeFormHolder input[type=text], .homeFormHolder input[type=email], .homeFormHolder input[type=tel],.homeFormHolder select{ width:100% !important; background-color:transparent !important; border:none !important; border-bottom:1px solid #a0a0a4 !important; font-size:14px !important; letter-spacing:2px !important; font-weight:300 !important;  color: #fff !important; box-shadow: none !important; border-radius: 0 !important}
.homeFormHolder select{padding-right: 50px !important; background-image: url(assets/images/arrow.png) !important; background-repeat:no-repeat !important; background-position:center right !important; background-size:auto !important; appearance: none !important; color: rgba(238,226,211, 0.4) !important; text-transform:uppercase !important;}
.homeFormHolder option{background: var(--clr-primary-dark); color: #fff}
.homeFormHolder .inputHolder{ width:100% }
.homeFormHolder ::placeholder{text-transform: uppercase !important; opacity:1 !important; color: rgba(238,226,211, 0.4) !important;}
.homeFormHolder ::-ms-input-placeholder {  color: rgba(238,226,211, 0.4);}
.formGroup{ margin:0 0 45px 0 }
.homeFormHolder input[type=submit]{display: inline-block !important;padding: 17px 30px !important; font-size: var(--fs-18) !important; font-weight:500 !important; border-radius: 0 !important; margin:0px !important; font-family: var(--headfont) !important; background:#fff !important; border:0 !important; color: var(--main-clr) !important; transition:all .5s !important; text-transform:uppercase !important; margin-top: 10px !important;}
.homeFormHolder input[type=submit]:hover{ background:var(--hover-color) !important; color:var(--white-color) !important; }

.homeFormImg{height:100%;width:100%;top:0;right:0;position:absolute;z-index: -1}
.homeFormImg::after{height:100%;width:52%;top:0;left:0;position:absolute;background:#000000;opacity: 36%;content:''}
.homeFormImg img{width:100%;height:100%;object-fit:cover;}

@media only screen and (max-width:991px){
  .homeFormImg {position: static; width: 100%; }
  .homeFormImg::after{display:none;}
  .formGroup{flex-direction:column;}
}
@media only screen and (max-width:767px){
  .homeFormHolder input[type=submit]{ margin-top:20px }
  .homepageFormSection p{padding-top:0}
}
/*homepageFormSection End =========================*/


/*reviewSlider Start =========================*/
.reviewSlider{overflow:hidden;}
.reviewSlider .slick-slide { margin: 0 15px;background: var(--clr-white);border:1px solid var(--clr-stone-dark);border-radius:8px;}
.reviewSlider .slick-list { margin: 0 -15px;  }
.reviewItem{ text-align:center; padding:40px 30px}
.star{ font-size:20px; color:#F59E0B; margin:0 0 20px 0 }
.reviewItem p{ text-align:center; font-family: var(--bodyfont); font-weight: 300; font-size: var(--fs-16);max-width:650px;margin:0 auto;color:var(--clr-body);line-height:1.6;}
.reviewItem h6{color:var(--clr-heading); font-size: 14px; text-transform: uppercase; font-weight: 500; padding: 20px 0 0 0;font-family: var(--headfont);letter-spacing:0.05em;opacity:1;}

.reviewSlider .slick-prev{ position:absolute; top:50%; transform: translateY(-50%);  left:0px;  background: transparent; border:none; font-size:20px;  transition:all .5s;width: 44px; height: 46px; display: flex; align-items: center; justify-content: center;  color: var(--main-clr); z-index:2 }
.reviewSlider .slick-next{ position:absolute; top:50%; transform: translateY(-50%);  right:0px; background:transparent;; border:none; font-size:20px;  transition:all .5s; width: 44px; height: 46px; display: flex; align-items: center; justify-content: center;  color: var(--main-clr); z-index:2}
.reviewSlider .slick-next:hover, .reviewSlider .slick-prev:hover{ background:var(--hover-color);color:#fff } 


.reviewSection h3{ font-size:var(--fs-36); padding-bottom: 20px;}
.reviewSection p{ padding-bottom:0 }
.mapSection img{ width:100% }
.reviewSlider .slick-track{ display: flex !important;}
.reviewSlider .slick-slide{ height: inherit !important;}

@media only screen and (max-width:767px){
  .reviewSlider .slick-slide { margin: 0 4px;background: var(--clr-white);}
  .reviewSlider .slick-list { margin: 0 -4px;  }
  .reviewItem {padding: 25px 10px; }
  .reviewSlider .slick-next{width: 30px; height: 30px;right:-15px }
  .reviewSlider .slick-prev {width: 30px; height: 30px;left:-15px }
  .reviewSlider{overflow: unset; }
}
/*reviewSlider End =========================*/


/*signupSec Start =========================*/
.signupSec{overflow:hidden;}
.signupSecImg{padding:0 25px;display:flex;justify-content:flex-end;}
.signupSecImg img{width:auto;max-width:50vw}
.signupSecText{max-width:620px;margin-left: auto;}

.signupSecForm input[type=text], .signupSecForm input[type=email], .signupSecForm input[type=tel],.signupSecForm select{ width:100% !important; background-color:transparent !important; border:none !important; border-bottom:1px solid #a0a0a4 !important; font-size:14px !important; letter-spacing:2px !important; font-weight:300 !important;  color: #fff !important; box-shadow: none !important; border-radius: 0 !important}
.signupSecForm select{padding-right: 50px !important; background-image: url(assets/images/arrow.png) !important; background-repeat:no-repeat !important; background-position:center right !important; background-size:auto !important; appearance: none !important; color: rgba(238,226,211, 0.4) !important; text-transform:uppercase !important;}
.signupSecForm option{background: var(--clr-primary-dark); color: #fff}
.signupSecForm .inputHolder{ width:100% }
.signupSecForm ::placeholder{text-transform: uppercase !important; opacity:1 !important; color: #C9C9C9 !important;}
.signupSecForm ::-ms-input-placeholder { color: #C9C9C9 !important; text-transform:uppercase !important; }
.signupSecForm .formGroup{ margin:0 0 45px 0 }
.signupSecForm input[type=submit]{display: inline-block !important;padding: 17px 30px !important; font-size: var(--fs-18) !important; font-weight:500 !important; border-radius: 50px !important; margin:0px !important; font-family: var(--headfont) !important; background:#fff !important; border: 1px solid var(--main-clr) !important; color: var(--main-clr) !important; transition:all .5s !important; text-transform:uppercase !important; margin-top: 15px !important;}
.signupSecForm input[type=submit]:hover{ background:var(--hover-color) !important; color:var(--white-color) !important; border-color: var(--hover-color) !important; }

@media only screen and (max-width:991px){
  .signupSecImg {padding: 0 0 40px;}
  .signupSecImg img {max-width: 100%; width: 100%; }
  .signupSecText {margin: 0;}
  .signupSecText h2 br{display:none;}
}
/*signupSec End =========================*/


/*footer Start =========================*/
.footer{ background:var(--main-clr); }
.ftbtm{ justify-content:space-between; align-items:center; display: flex;border-top: 1px rgb(255, 255, 255, 0.2) solid;padding:40px 0 }
.copyright{ font-size:14px; color:rgba(255,255,255,0.4) ; text-transform: uppercase; letter-spacing: 2px; font-weight: 300}

.footerTop{ padding:55px 0 40px 0; }
.footerTopContent{ display:flex; justify-content:space-between; }
.footerwidget_1{width: 20%;max-width: 280px} 
.footerwidget_2{width: 30%;max-width:430px} 
.footerwidget_3{width: 20%;max-width:200px} 
.footerwidget_4{width: 25%;max-width: 260px} 

.footerLogo{ max-width:280px; margin: 0 0 40px 0}
.footerSocial{ margin:0 0 0 0px; padding:0 0 0 0  }
.footerSocial ul{margin:0;padding:0;list-style:none;display: flex;gap: 40px;justify-content:center;}
.footerSocial ul li a{display:block;color:#fff;font-size: 22px;}
.footerSocial ul li a:hover{ color:var(--hover-color); }

.footerTopContent h3{ color:#fff ; font-size: var(--fs-26);padding: 0 0 16px 0;font-weight:500}
.footerBtn{margin-top:8px;}
.footerBtn:hover{opacity:0.9;}

.footerList ul{padding:0;margin:0;list-style:none;display:flex;flex-direction: column;gap: 5px;font-size:16px;font-weight:300;}
.footerList ul a:hover{color:var(--hover-color);}

.footerTopContent table tr{ color:#fff ; font-size:var(--fs-16); font-family:var(--bodyfont); line-height:31px; font-weight: 300}
.footerTopContent table td:first-child{ padding-right:10px;min-width:106px }



@media only screen and (max-width:991px){
  .footerTopContent {flex-direction: column; gap: 50px; }
  .footerwidget_1,.footerwidget_2,.footerwidget_3,.footerwidget_4 {width: 100%; max-width: 100%; }
  .footerLogo{max-width:150px}
  .footerSocial ul {justify-content: flex-start; }
  .ftbtm {flex-direction: column; gap: 16px; align-items: flex-start; }
  .developerLogo{padding-bottom: 15px;}
}
/*footer End =========================*/


/*breadcumb Start =========================*/
.breadcumb{ padding:14px 0; background:transparent; border-bottom:1px solid var(--clr-stone); }
.breadcumb ul{ display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:0; margin:0; padding:0; list-style:none; }

.breadcumb ul li{
  display:inline-flex; align-items:center;
  font-family:var(--headfont);
  font-size:12px; font-weight:500; line-height:1;
  text-transform:uppercase; letter-spacing:0.18em;
  color:var(--clr-grey-text);
  padding:0;
}

/* Chevron separator drawn with CSS — renders crisp at any size */
.breadcumb ul li:after{
  content:''; display:inline-block;
  width:6px; height:6px;
  margin:0 14px;
  border-right:1px solid var(--clr-stone-dark);
  border-top:1px solid var(--clr-stone-dark);
  transform:rotate(45deg);
  transition:border-color 0.25s ease;
}
.breadcumb ul li:last-child:after{ display:none; }

/* Home icon on the first crumb */
.breadcumb ul li:first-child a:before{
  content:'\f015'; /* fa-home */
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  font-size:11px;
  margin-right:8px;
  color:var(--clr-grey-text);
  transition:color 0.25s ease;
  position:relative; top:-1px;
}

/* Active (current page) — last crumb */
.breadcumb ul li:last-child{
  color:var(--clr-pillar, var(--clr-secondary));
  font-weight:600;
  position:relative;
  padding-bottom:3px;
}
.breadcumb ul li:last-child:before{
  content:''; position:absolute; left:0; right:0; bottom:0;
  height:1px; background:currentColor; opacity:0.35;
}

/* Links */
.breadcumb ul li a{
  color:var(--clr-grey-text);
  position:relative; padding-bottom:2px;
  transition:color 0.25s ease;
}
.breadcumb ul li a:after{
  content:''; position:absolute; left:0; bottom:0;
  width:0; height:1px; background:currentColor;
  transition:width 0.3s ease;
}
.breadcumb ul li a:hover{ color:var(--clr-pillar, var(--clr-secondary)); }
.breadcumb ul li a:hover:after{ width:100%; }
.breadcumb ul li:first-child a:hover:before{ color:var(--clr-pillar, var(--clr-secondary)); }

/* Inline desktop variant — flush left, no border, just the wayfinder */
.breadcumb.desktop{ padding:0; background:transparent; border:0; display:inline-block; }
.breadcumb.desktop ul{ justify-content:flex-start; }

@media only screen and (max-width:767px){
  .breadcumb{ padding:10px 0; }
  .breadcumb ul li{ font-size:11px; letter-spacing:0.14em; }
  .breadcumb ul li:after{ margin:0 10px; }
}
/*breadcumb End =========================*/


/*treatmentListTab Start =========================*/
.treatmentListTabSec{ padding:0; background:var(--clr-off-white); }
.treatmentListTabWrap{ position:relative; }

/* ---- Tabs nav (desktop) ---- */
.treatmentListTabSec .nav{
  margin:0 0 48px;
  padding:0;
  border-bottom:0;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.treatmentListTabSec .nav .nav-item{ margin-bottom:0; }
.treatmentListTabSec .nav .nav-link{
  position:relative;
  font-family:var(--headfont);
  font-size:var(--fs-14);
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--clr-grey-text);
  background:transparent;
  border:0;
  border-radius:0;
  padding:18px 28px;
  transition:color 0.25s ease;
}
.treatmentListTabSec .nav .nav-link:after{
  content:''; position:absolute;
  left:50%; bottom:0;
  width:0; height:2px;
  background:var(--clr-pillar, var(--clr-secondary));
  transform:translateX(-50%);
  transition:width 0.3s ease;
}
.treatmentListTabSec .nav .nav-link:hover{ color:var(--clr-heading); }
.treatmentListTabSec .nav .nav-link:hover:after{ width:32px; }
.treatmentListTabSec .nav .nav-link.active{
  color:var(--clr-pillar, var(--clr-secondary));
  background:transparent;
}
.treatmentListTabSec .nav .nav-link.active:after{ width:100%; }

/* ---- Tab pane content ---- */
.treatmentListTabSec .tab-content{ position:relative; }
.treatmentListTabSec .accordion{
  --bs-accordion-inner-border-radius:0;
  --bs-accordion-border-radius:0;
  --bs-accordion-border-width:0;
  --bs-accordion-bg:transparent;
}
.treatmentListTabSec .accordion-body{ padding:0; }

/* ---- Image with overlay title ---- */
.treatmentListTabSec .homeLinksSecImg{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  isolation:isolate;
}
.treatmentListTabSec .homeLinksSecImg img{
  width:100%; height:auto; display:block;
  transition:transform 0.6s ease;
}
.treatmentListTabSec .homeLinksSecImg:hover img{ transform:scale(1.03); }
.treatmentListTabSec .homeLinksSecImg:after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,46,74,0) 50%, rgba(15,46,74,0.65) 100%);
  pointer-events:none;
  z-index:1;
}
.treatmentListTabSec .homeLinksSecImgText{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:32px 40px;
  z-index:2;
}
.treatmentListTabSec .homeLinksSecImgText h3{
  color:var(--clr-white);
  font-family:var(--headfont);
  font-weight:600;
  font-size:var(--fs-26);
  margin:0; padding:0;
  line-height:1.2;
  text-shadow:0 2px 12px rgba(0,0,0,0.25);
}

/* ---- Treatment links list (right column) ---- */
.treatmentListTabSec .homeLinksSecText{
  max-width:560px;
  padding-left:24px;
}
.treatmentListTabSec .homeLinksSec ul{ padding:0; margin:0; }
.treatmentListTabSec .homeLinksSec ul li{
  font-family:var(--bodyfont);
  font-size:var(--fs-18);
  font-weight:400;
  padding:0;
}
.treatmentListTabSec .homeLinksSec ul li a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--clr-heading);
  padding:18px 4px 18px 0;
  border-bottom:1px solid var(--clr-stone);
  position:relative;
  transition:color 0.3s ease, padding-left 0.3s ease;
}
.treatmentListTabSec .homeLinksSec ul li a:before{ display:none; } /* drop legacy global pseudo */
.treatmentListTabSec .homeLinksSec ul li a:after{
  content:'\f061'; /* fa-arrow-right */
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  font-size:14px;
  position:static;
  color:var(--clr-stone-dark);
  background:transparent;
  width:auto; height:auto;
  flex-shrink:0;
  transition:transform 0.3s ease, color 0.3s ease;
}
.treatmentListTabSec .homeLinksSec ul li a:hover{
  color:var(--clr-pillar, var(--clr-secondary));
  padding-left:6px;
}
.treatmentListTabSec .homeLinksSec ul li a:hover:after{
  color:var(--clr-pillar, var(--clr-secondary));
  transform:translateX(4px);
}

/* ---- Mobile / accordion variant ---- */
@media (max-width: 991px){
  .treatmentListTabSec{ padding:0; }
  .treatmentListTabSec .tab-content>.tab-pane{ display:block; opacity:1; }

  .treatmentListTabSec .accordion-item{
    margin-bottom:12px;
    border-radius:12px !important;
    overflow:hidden;
    background:var(--clr-white);
    border:1px solid var(--clr-stone) !important;
  }
  .treatmentListTabSec .accordion-button{
    font-family:var(--headfont);
    font-size:var(--fs-16);
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:18px 22px;
    color:var(--clr-heading);
    border-radius:12px !important;
    transition:all 0.3s ease;
  }
  .treatmentListTabSec .accordion-button.collapsed{
    background:var(--clr-stone);
    color:var(--clr-heading);
    box-shadow:none;
  }
  .treatmentListTabSec .accordion-button:not(.collapsed){
    background:var(--clr-pillar, var(--clr-secondary));
    color:var(--clr-white);
    box-shadow:none;
    border-radius:12px 12px 0 0 !important;
  }
  .treatmentListTabSec .accordion-button:not(.collapsed)::after{ filter:brightness(0) invert(1); }
  .treatmentListTabSec .accordion-button:focus{ box-shadow:none; border-color:transparent; }

  .treatmentListTabSec .accordion-body{ padding:24px 22px !important; }
  .treatmentListTabSec .homeLinksSecText{ margin:24px 0 0; padding:0; max-width:100%; }
  .treatmentListTabSec .homeLinksSecImgText{ padding:20px 24px; }
  .treatmentListTabSec .homeLinksSecImgText h3{ font-size:var(--fs-20); }
}
/*treatmentListTab End =========================*/


/*pageContent Start =========================*/
/* Long-form body — firmer weight, slightly looser leading */
.pageContent p,
.pageContent li{
  color:var(--clr-body);
  font-size:var(--fs-18);
  font-weight:400;
  line-height:1.65;
}
.pageContent p{ text-align:left; padding:0 0 24px; }
.pageContent p:last-child{ padding-bottom:0; }

/* Heading rhythm — extra breathing room when a heading follows content */
.pageContent > * + h2,
.pageContent > * + h3,
.pageContent > * + h4{ padding-top:16px; }
.pageContent > * + h2{ padding-top:24px; }

/* Inline links — visible affordance, hairline underline */
.pageContent a,
.pageContent p a,
.pageContent li a{
  color:var(--clr-secondary);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--clr-stone-dark);
  transition:color 0.25s ease, text-decoration-color 0.25s ease;
}
.pageContent a:hover,
.pageContent p a:hover,
.pageContent li a:hover{
  color:var(--clr-pillar, var(--clr-secondary-dark));
  text-decoration-color:currentColor;
}

/* Lists — `ul` already gets check bullets via the global rule at line 219.
   Apply a matching numeric treatment to `ol`. */
.pageContent ol{
  list-style:none;
  padding-left:1.5em;
  counter-reset:cgb-counter;
}
.pageContent ol li{
  position:relative;
  padding-left:2.5em;
  counter-increment:cgb-counter;
}
.pageContent ol li::before{
  content:counter(cgb-counter) ".";
  position:absolute;
  left:0; top:0;
  font-family:var(--headfont);
  font-weight:600;
  color:var(--clr-secondary);
  min-width:1.5em;
}

/* Inline emphasis */
.pageContent strong{ font-weight:600; color:var(--clr-heading); }
.pageContent em{ font-style:italic; }
.pageContent small{ font-size:var(--fs-14); color:var(--clr-grey-text); }

/* Blockquote */
.pageContent blockquote{
  margin:32px 0;
  padding:8px 0 8px 24px;
  border-left:3px solid var(--clr-pillar, var(--clr-secondary));
  font-family:var(--headfont);
  font-style:italic;
  font-size:var(--fs-20);
  font-weight:400;
  line-height:1.5;
  color:var(--clr-heading);
}
.pageContent blockquote p{
  font-size:inherit; font-weight:inherit; line-height:inherit;
  font-family:inherit; padding:0; color:inherit;
}
.pageContent blockquote cite{
  display:block;
  margin-top:12px;
  font-family:var(--bodyfont);
  font-style:normal;
  font-size:var(--fs-14);
  font-weight:500;
  color:var(--clr-grey-text);
  letter-spacing:0.04em;
  text-transform:uppercase;
}

/* Inline code + preformatted */
.pageContent code{
  background:var(--clr-stone);
  padding:2px 6px;
  border-radius:4px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:0.92em;
  color:var(--clr-heading);
}
.pageContent pre{
  background:var(--clr-stone);
  padding:16px 20px;
  border-radius:10px;
  overflow-x:auto;
  margin:0 0 24px;
}
.pageContent pre code{ background:transparent; padding:0; }

/* Horizontal rule */
.pageContent hr{
  height:1px;
  background:var(--clr-stone);
  border:0;
  margin:32px 0;
}

/* Images + figures */
.pageContent img{
  border-radius:16px;
  display:block;
  margin:8px 0 24px;
  max-width:100%;
  height:auto;
}
.pageContent figure{ margin:0 0 24px; }
.pageContent figure img{ margin-bottom:8px; }
.pageContent figcaption{
  font-size:var(--fs-14);
  color:var(--clr-grey-text);
  font-style:italic;
  text-align:center;
  line-height:1.5;
}

/* Tables */
.pageContent table{
  width:100%;
  font-size:var(--fs-16);
  color:var(--clr-body);
  font-weight:400;
  border-collapse:collapse;
  margin:0 0 24px;
}
.pageContent table th{
  font-family:var(--headfont);
  font-weight:600;
  color:var(--clr-heading);
  text-align:left;
  padding:12px 16px 12px 0;
  border-bottom:1px solid var(--clr-stone-dark);
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-size:var(--fs-14);
}
.pageContent table td{
  padding:12px 16px 12px 0;
  border-bottom:1px solid var(--clr-stone);
  vertical-align:top;
}
.pageContent table td:first-child{ min-width:120px; padding-right:24px; }

/* Buttons */
.pageContent .btncn{ margin:0 0 32px; }
.pageContent .btncn:last-child{ margin-bottom:0; }

@media only screen and (max-width: 767px){
  .pageContent p,
  .pageContent li{ font-size:var(--fs-16); line-height:1.6; }
  .pageContent blockquote{ padding-left:18px; font-size:var(--fs-18); }
  .pageContent table{ font-size:var(--fs-14); }
  .pageContent table td:first-child{ min-width:0; padding-right:12px; }
}
/*pageContent End =========================*/


/*Sidebar Start =========================*/
.sidebar{ height:100%; }
.sidesticky{ position:sticky; top:0; overflow:auto; }

.sidebarImg{ border-radius:16px; overflow:hidden; margin-bottom:0; }
.sidebarImg img{ width:100%; display:block; }

/* When an image sits above the form card, lock corners flush */
.sidebarImg + .sidebarFormHolderLight,
.sidebarImg + .sidebarFormHolder{ border-top-left-radius:0; border-top-right-radius:0; }
.sidebarImg:has(+ .sidebarFormHolderLight),
.sidebarImg:has(+ .sidebarFormHolder){ border-bottom-left-radius:0; border-bottom-right-radius:0; }

/* Card containers */
.sidebarFormHolder,
.sidebarFormHolderLight{
  padding:36px 36px 32px;
  border-radius:16px;
  position:-webkit-sticky; position:sticky; top:100px;
  min-height:200px; overflow:auto;
}
.sidebarFormHolder{ background:var(--clr-stone); border:1px solid var(--clr-stone-dark); }
.sidebarFormHolderLight{ background:var(--clr-off-white); border:1px solid var(--clr-stone); box-shadow:0 4px 24px rgba(15,46,74,0.04); }

/* Headings + intro */
.sidebarFormHolder .text-center,
.sidebarFormHolderLight .text-center{ margin-bottom:20px; }

.sidebarFormHolder h3,
.sidebarFormHolderLight h3,
.sidebarImg + .sidebarFormHolderLight h3{
  color:var(--clr-heading); font-family:var(--headfont);
  font-weight:600; font-size:var(--fs-26);
  line-height:1.25; padding-bottom:8px;
  position:relative;
}
.sidebarFormHolder h3:after,
.sidebarFormHolderLight h3:after{
  content:''; display:block; margin:10px auto 0;
  width:36px; height:2px;
  background:var(--clr-pillar, var(--clr-secondary));
}

.sidebarFormHolder p,
.sidebarFormHolderLight p{
  text-align:center; color:var(--clr-grey-text);
  font-weight:400; font-size:var(--fs-14);
  line-height:1.55; padding-bottom:16px;
}

/* ---- Form inputs — solid, rounded, tokenised ---- */
.sidebarFormHolder .sidebar-form,
.sidebarFormHolderLight .sidebar-form{ width:100%; }

/* Gravity Forms layout reset */
body .sidebarFormHolderLight .gform_wrapper .gform_fields,
body .sidebarFormHolder .gform_wrapper .gform_fields{
  display:flex !important; flex-direction:column !important;
  gap:12px !important; margin:0 !important; padding:0 !important;
}
body .sidebarFormHolderLight .gform_wrapper .gfield,
body .sidebarFormHolder .gform_wrapper .gfield{
  margin:0 !important; padding:0 !important;
  width:100% !important; max-width:100% !important;
}

/* Hide labels (placeholders carry the affordance) */
body .sidebarFormHolderLight .gform_wrapper .gfield_label,
body .sidebarFormHolder .gform_wrapper .gfield_label{
  position:absolute !important;
  width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important;
  border:0 !important;
}

/* Inputs — selectors include .gform_wrapper to beat the global rule at line 1755 */
body .sidebarFormHolder .gform_wrapper input[type=text],
body .sidebarFormHolder .gform_wrapper input[type=email],
body .sidebarFormHolder .gform_wrapper input[type=tel],
body .sidebarFormHolder .gform_wrapper input[type=number],
body .sidebarFormHolder .gform_wrapper input[type=date],
body .sidebarFormHolder .gform_wrapper textarea,
body .sidebarFormHolder .gform_wrapper select,
body .sidebarFormHolderLight .gform_wrapper input[type=text],
body .sidebarFormHolderLight .gform_wrapper input[type=email],
body .sidebarFormHolderLight .gform_wrapper input[type=tel],
body .sidebarFormHolderLight .gform_wrapper input[type=number],
body .sidebarFormHolderLight .gform_wrapper input[type=date],
body .sidebarFormHolderLight .gform_wrapper textarea,
body .sidebarFormHolderLight .gform_wrapper select,
body .sidebarFormHolder input[type=text],
body .sidebarFormHolder input[type=email],
body .sidebarFormHolder input[type=tel],
body .sidebarFormHolder input[type=number],
body .sidebarFormHolder input[type=date],
body .sidebarFormHolder textarea,
body .sidebarFormHolder select,
body .sidebarFormHolderLight input[type=text],
body .sidebarFormHolderLight input[type=email],
body .sidebarFormHolderLight input[type=tel],
body .sidebarFormHolderLight input[type=number],
body .sidebarFormHolderLight input[type=date],
body .sidebarFormHolderLight textarea,
body .sidebarFormHolderLight select{
  width:100% !important;
  background:var(--clr-white) !important;
  border:1.5px solid var(--clr-stone-dark) !important;
  border-radius:10px !important;
  padding:13px 16px !important;
  font-family:var(--bodyfont) !important;
  font-size:var(--fs-16) !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--clr-body) !important;
  margin:0 !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  transition:border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}
body .sidebarFormHolder .gform_wrapper textarea,
body .sidebarFormHolderLight .gform_wrapper textarea,
body .sidebarFormHolder textarea,
body .sidebarFormHolderLight textarea{ min-height:120px !important; resize:vertical !important; }

body .sidebarFormHolder .gform_wrapper input:focus,
body .sidebarFormHolder .gform_wrapper textarea:focus,
body .sidebarFormHolder .gform_wrapper select:focus,
body .sidebarFormHolderLight .gform_wrapper input:focus,
body .sidebarFormHolderLight .gform_wrapper textarea:focus,
body .sidebarFormHolderLight .gform_wrapper select:focus,
body .sidebarFormHolder input:focus,
body .sidebarFormHolder textarea:focus,
body .sidebarFormHolder select:focus,
body .sidebarFormHolderLight input:focus,
body .sidebarFormHolderLight textarea:focus,
body .sidebarFormHolderLight select:focus{
  outline:none !important;
  border-color:var(--clr-pillar, var(--clr-secondary)) !important;
  box-shadow:0 0 0 3px rgba(43,122,110,0.12) !important;
}

/* Placeholders */
body .sidebarFormHolder ::placeholder,
body .sidebarFormHolderLight ::placeholder{
  color:var(--clr-grey-text) !important; opacity:1 !important;
  font-weight:400 !important; text-transform:none !important;
  letter-spacing:0 !important;
}

/* Field wrappers (non-gravity legacy) */
.sidebar-form .inputHolder{ width:100%; }
.sidebar-form .formGroup{ margin:0 0 12px 0; }

/* Submit button — full-width pill, matches new btn system */
body .sidebarFormHolder input[type=submit],
body .sidebarFormHolder button[type=submit],
body .sidebarFormHolder .gform_button,
body .sidebarFormHolderLight input[type=submit],
body .sidebarFormHolderLight button[type=submit],
body .sidebarFormHolderLight .gform_button{
  display:block !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:15px 32px !important;
  font-family:var(--headfont) !important;
  font-size:var(--fs-16) !important;
  font-weight:600 !important;
  letter-spacing:0.04em !important;
  text-transform:uppercase !important;
  color:var(--clr-white) !important;
  background:var(--clr-pillar, var(--clr-secondary)) !important;
  border:2px solid var(--clr-pillar, var(--clr-secondary)) !important;
  border-radius:50px !important;
  cursor:pointer !important;
  transition:all 0.3s ease !important;
  box-shadow:none !important;
}
body .sidebarFormHolder input[type=submit]:hover,
body .sidebarFormHolder button[type=submit]:hover,
body .sidebarFormHolder .gform_button:hover,
body .sidebarFormHolderLight input[type=submit]:hover,
body .sidebarFormHolderLight button[type=submit]:hover,
body .sidebarFormHolderLight .gform_button:hover{
  background:var(--clr-secondary-dark) !important;
  border-color:var(--clr-secondary-dark) !important;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(15,46,74,0.12) !important;
}

/* Validation + confirmation */
.sidebarFormHolder .gform_confirmation_message,
.sidebarFormHolderLight .gform_confirmation_message{
  text-align:center; color:var(--clr-secondary-dark);
  font-weight:500; padding:12px 0;
}
.sidebarFormHolder .gfield_error input,
.sidebarFormHolder .gfield_error textarea,
.sidebarFormHolderLight .gfield_error input,
.sidebarFormHolderLight .gfield_error textarea{
  border-color:var(--clr-error) !important;
  background:#fff5f5 !important;
}
.sidebarFormHolder .validation_message,
.sidebarFormHolderLight .validation_message{
  color:var(--clr-error) !important;
  font-size:13px !important; margin-top:4px !important;
}

@media only screen and (max-width: 991px){
  .sidebarFormHolderLight,
  .sidebarFormHolder{ padding:24px 20px; border-radius:14px; }
  .sidebarFormHolder h3,
  .sidebarFormHolderLight h3{ font-size:var(--fs-24); }
}
/*Sidebar End =========================*/


/*treatmentDtlsAcc Start =========================*/
.treatmentDtlsAccSec{ padding:80px 0; background:var(--clr-off-white); }

/* Image */
.treatmentDtlsAccImg{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(15,46,74,0.06);
}
.treatmentDtlsAccImg img{
  width:100%; height:auto;
  display:block;
  transition:transform 0.6s ease;
}
.treatmentDtlsAccImg:hover img{ transform:scale(1.02); }

/* Right column rhythm */
.treatmentDtlsAccText > h2{ margin-bottom:8px; }
.treatmentDtlsAccText .lineHd{ padding-bottom:8px; }
.treatmentDtlsAccText .lineHd h5{ padding:0 0 16px; }

/* ---- Accordion ---- */
.trtmnt-accordian-new{ margin-top:24px; }
.trtmnt-accroHolder{ border-bottom:1px solid var(--clr-stone-dark); }
.trtmnt-accroHolder:first-child{ border-top:1px solid var(--clr-stone-dark); }

.trtmnt-accordian-new h3{
  margin:0; padding:22px 56px 22px 0;
  display:block; position:relative;
  font-family:var(--headfont);
  font-size:var(--fs-18);
  font-weight:600;
  letter-spacing:0.02em;
  text-transform:none;
  color:var(--clr-heading);
  cursor:pointer;
  transition:color 0.3s ease, padding-left 0.3s ease;
}
.trtmnt-accordian-new h3:hover{ color:var(--clr-pillar, var(--clr-secondary)); padding-left:4px; }
.trtmnt-accordian-new h3:focus{ outline:0; }
.trtmnt-accordian-new h3.trtmnt-ui-accordion-header-active-new{
  color:var(--clr-pillar, var(--clr-secondary));
  border:none !important;
}

/* +/− toggle icon — two pseudo lines, the vertical one collapses when active */
.trtmnt-accordian-new h3:before,
.trtmnt-accordian-new h3:after{
  content:'';
  position:absolute;
  right:6px;
  top:50%;
  width:14px; height:2px;
  background:var(--clr-stone-dark);
  border-radius:2px;
  transition:transform 0.35s ease, background 0.3s ease;
}
.trtmnt-accordian-new h3:before{ transform:translateY(-50%) rotate(90deg); } /* vertical bar */
.trtmnt-accordian-new h3:after{  transform:translateY(-50%); }              /* horizontal bar */
.trtmnt-accordian-new h3:hover:before,
.trtmnt-accordian-new h3:hover:after{ background:var(--clr-pillar, var(--clr-secondary)); }
.trtmnt-accordian-new h3.trtmnt-ui-accordion-header-active-new:before{
  transform:translateY(-50%) rotate(0); /* collapse vertical → look like minus */
  background:var(--clr-pillar, var(--clr-secondary));
}
.trtmnt-accordian-new h3.trtmnt-ui-accordion-header-active-new:after{
  background:var(--clr-pillar, var(--clr-secondary));
}

/* Accordion content panel */
.trtmnt-ui-accordion-content-new{
  display:none;
  padding:4px 0 28px;
}
.trtmnt-ui-accordion-content-new p,
.trtmnt-ui-accordion-content-new li{
  color:var(--clr-body);
  font-size:var(--fs-16);
  font-weight:400;
  line-height:1.65;
  text-align:left;
}
.trtmnt-ui-accordion-content-new p{ padding:0 0 16px; }
.trtmnt-ui-accordion-content-new p:last-child{ padding-bottom:0; }
.trtmnt-ui-accordion-content-new a{
  color:var(--clr-secondary);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:var(--clr-stone-dark);
  transition:color 0.25s ease, text-decoration-color 0.25s ease;
}
.trtmnt-ui-accordion-content-new a:hover{
  color:var(--clr-pillar, var(--clr-secondary-dark));
  text-decoration-color:currentColor;
}

/* ---- Tables inside accordion / right column ---- */
.treatmentDtlsAccText table,
.trtmnt-ui-accordion-content-new table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:0 0 8px;
  border-radius:10px;
  overflow:hidden;
  background:var(--clr-white);
  border:1px solid var(--clr-stone);
}
.treatmentDtlsAccText table tr:nth-child(odd),
.trtmnt-ui-accordion-content-new table tr:nth-child(odd){ background:var(--clr-stone); }
.treatmentDtlsAccText table td,
.trtmnt-ui-accordion-content-new table td{
  padding:12px 20px;
  font-size:var(--fs-16);
  color:var(--clr-body);
  border:0;
}
.treatmentDtlsAccText table td:first-child,
.trtmnt-ui-accordion-content-new table td:first-child{
  font-weight:600;
  color:var(--clr-heading);
  font-family:var(--headfont);
}
.treatmentDtlsAccText table td:last-child,
.trtmnt-ui-accordion-content-new table td:last-child{
  font-weight:400;
  text-align:right;
  color:var(--clr-grey-text);
}

@media only screen and (max-width: 991px){
  .treatmentDtlsAccSec{ padding:56px 0; }
  .treatmentDtlsAccText{ margin-top:8px; }
  .trtmnt-accordian-new h3{ font-size:var(--fs-16); padding:18px 48px 18px 0; }
  .trtmnt-accordian-new h3:before,
  .trtmnt-accordian-new h3:after{ width:12px; }
  .treatmentDtlsAccText table td,
  .trtmnt-ui-accordion-content-new table td{ padding:10px 14px; font-size:var(--fs-14); }
}
/*treatmentDtlsAcc End =========================*/


/*faq Start =========================*/
.faqHolder h2{font-size: var(--fs-30);}
.accordian-new h3 {  font-family: var(--headfont); font-weight: 400; font-size: var(--fs-18); color: var(--main-clr);  cursor: pointer;  margin-bottom: 0;  position: relative; padding: 30px 30px 30px 0;text-transform:none;font-weight:500 }
.ui-accordion-content-new { }
.ui-accordion-header-active-new{ border:none !important; }
.accordian-new h3:focus {  outline: 0}
.accordian-new h3:after {  content: "\f063";  font-family: 'FontAwesome';  position: absolute;  right: 0; top: 26px;  font-size: 20px; color: #161617;   font-weight: 300; transition: .5s}
.inneraccordina-area { padding: 0 0 20px; }
.accordian-new h3.ui-accordion-header-active-new:after { transform: rotate(180deg); color: #161617}
.accordianarea-new .accordian h3.ui-accordion-header-active-new:after {  transform: rotate(-180deg); color: #161617}
.ui-accordion-content-new {  padding: 0px 0px 10px 0;  display: none}
.ui-accordion-content-new p { text-align: justify; color: #161617}
.accroHolder{ border-bottom:1px solid #c0bec1; }

@media only screen and (max-width: 991px) {
  .accordian-new h3:after {top: 32px; font-size: 15px; }
}
/*faq End =========================*/

/*blog List Start =========================*/
.blogCategorySelect{ padding:0 0 30px 0 ; display:flex; align-items:center; border-bottom: 2px solid #cccccc; margin:0 0 40px 0 ; font-family: var(--headfont);}
.blogCategorySelect span{ font-size:var(--fs-18); font-weight:400; padding:0;   color: var(--main-clr); font-family: var(--headfont);text-transform: uppercase;padding-right:5px}
.blogCategorySelect select{ width:100%; border:none; background:transparent; font-size:var(--fs-18); font-weight:700; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image:url(assets/images/arrow-down.png); background-repeat:no-repeat; background-position: 100% center; color: var(--main-clr); font-family: var(--headfont);text-transform: uppercase;}
.blogText h3{padding:15px 0 26px;font-size:var(--fs-18);font-family:var(--bodyfont);font-weight:300;color:var(--main-clr);transition: 0.5s;text-transform: none;}
.treatmentHolder:hover h3{color:var(--hover-color);}
.blogImage img{width:100%;display:block;}
.blogHolder .row{row-gap: 24px}

@media only screen and (max-width: 767px) {
  .blogCategorySelect span,.blogCategorySelect select{font-size:12px;background-size:12px}
  .blogCategorySelect{padding-bottom:20px}
  .blogHolder .row{row-gap:20px}
}
/*blog List End =========================*/


/*contact Page Start =========================*/
.mapHolder{border:2px solid #757470;margin:0 0 30px 0}
.mapHolder iframe{height:285px;width:100%;display:block;}
.contactItems p{padding-bottom:15px;text-align:left;}
.contactItems{padding-bottom:30px}
/*contact Page End =========================*/


.fancybox__container {z-index: 100000; }
.wpcf7-spinner{position:absolute; right:0; bottom:16px;margin:0 !important;}
.wpcf7 form .wpcf7-response-output{margin:0 !important; color:#fff !important;}


/* End - Main Style */

.faqHolder {padding: 100px 0 50px 0;}

/* Team Section Modal */
.teamSection {padding-top: 110px !important;}
.teamSection h2 {text-align: center;}
.teamMemberImage {padding: 0 20px;}

/* Custom Modal Styles */
.custom-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
	margin: 0 !important;
}

/* Center modal content */
.custom-modal-content {
    position: absolute;
    top: 10%;
    left: 25%; /* Adjust centring */
    width: 60%; /* Set width to 30% of the screen */
    padding: 50px;
    background-color: #fff;
    border-radius: 0;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.custom-modal-content h3 {color: var(--seconday-color); padding: 0;}

.custom-modal-content h4 {font-size: 1.2rem;}

/* Make modal content responsive for smaller screens */
@media (max-width: 768px) {
    .custom-modal-content {
        left: 5%; /* Adjust centring */
        width: 90%; /* Increase width for smaller screens */
    }
}

/* Close button */
.close-modal {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
    color: #000;
}

.footer-logos {
    padding: 30px 20px 20px;
    background-color: var(--clr-off-white);
    border-top: 1px solid var(--clr-stone-dark);
    text-align: center;
}

.footer-logos__container {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-logos__container h3 {
    font-size: var(--fs-14);
    font-weight: 600;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--clr-grey-text);
}

.footer-logos__grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
}

.footer-logos__item {
    flex: 1 1 120px;
    max-width: 160px;
    padding: 10px;
}

.footer-logos__item img {
    width: 100%;
    height: auto;
    max-height: 80px;
    object-fit: contain;
    filter: grayscale(0%);
    transition: filter 0.3s ease;
}

.footer-logos__item img:hover {
    filter: grayscale(100%);
}

@media (max-width: 768px) {
    .footer-logos__grid {
        gap: 30px;
    }

    .footer-logos__item {
        max-width: 120px;
    }
}

/* Pricing Table */
.custom-pricing-table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid var(--seconday-color); /* Match your brand's purple border */
  margin-bottom: 1.5rem;
}

.custom-pricing-table th,
.custom-pricing-table td {
  padding: 1rem;
  border-bottom: 1px solid #ddd;
}

.custom-pricing-table th {
  background-color: var(--seconday-color);
  color: white;
  text-align: left;
}

.custom-pricing-table tr.group-header td {
  background-color: var(--seconday-color);
  color: white;
  font-weight: bold;
}

.custom-pricing-table tbody tr:nth-child(even) {
  background-color: #f8f8f8;
}

.custom-pricing-table .note {
  text-align: centre;
  font-size: 0.85rem;
  color: #666;
}

body .gform_wrapper textarea {
    width: 100% !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #a0a0a4 !important;
    font-size: 14px !important;
    letter-spacing: 2px !important;
    font-weight: 300 !important;
    color: #000 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Old .canmore-topbar removed — replaced by .cm-topbar in header section above */

.postid-591 #dppm-footer-menu {display: none; !important}

.canmore-footer-banner {
  position: fixed;
  bottom: -100%;
  left: 0;
  width: 100%;
  background-color: var(--clr-primary-dark);
  color: #fff;
  z-index: 9999;
  transition: bottom 0.5s ease-in-out;
  font-family: var(--bodyfont);
  padding: 1.2rem 2rem;
}

.canmore-footer-banner.show {
  bottom: 0;
}

.banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  gap: 1.5rem;
  flex-wrap: wrap;
  position: relative;
}

.banner-image img {
  width: 110px;
  border-radius: 12px;
  flex-shrink: 0;
  margin: -80px 0 0 0;
}

.banner-text {
  flex-grow: 1;
  min-width: 220px;
}

.banner-text h4 {
  margin: 0 0 0.4rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}

.banner-text p {
  margin: 0;
  font-size: 1.1em;
  line-height: 1.5;
  color: #fff;
  font-weight: 300;
}

.banner-cta {
  flex-shrink: 0;
}

.cta-btn {
  background-color: var(--clr-secondary);
  color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.3s ease;
}

.cta-btn:hover {
  background-color: #e08c81;
}

.close-banner {
  background: none;
  border: none;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
  position: absolute;
  top: -15px;
  right: 1.5rem;
}

/* Mobile Adjustments */
@media (max-width: 600px) {
  .banner-inner {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .banner-image {
    display: none;
  }

  .banner-cta {
    width: 100%;
    margin-top: 0.5rem;
  }

  .cta-btn {
    width: 100%;
    text-align: center;
  }

  .close-banner {
    top: -10px;
    right: 0;
  }

  .banner-text h4 {
    margin: 0;
    font-size: 22px;
    line-height: 30px;
    padding-bottom: 11px;
  }

  .banner-text p {
    padding: 0;
  }
}

.canmore-promo-box {
  display: flex;
  align-items: center;
  background-color: var(--clr-primary-dark);
  color: #fff;
  border-radius: 12px;
  padding: 2rem;
  gap: 2rem;
  margin: 3rem 0;
  flex-wrap: wrap;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
}

.canmore-promo-box .promo-image img {
  width: 120px;
  border-radius: 12px;
  flex-shrink: 0;
}

.canmore-promo-box .promo-text {
  flex: 1;
  min-width: 260px;
}

.canmore-promo-box .promo-text h3 {
  margin-top: 0;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 600;
}

.canmore-promo-box .promo-text p {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 300;
  margin-bottom: 1rem;
  color: #fff;
}

.canmore-promo-box .cta-btn {
  background-color: var(--clr-secondary);
  color: var(--clr-white);
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  transition: background 0.3s ease;
}

.canmore-promo-box .cta-btn:hover {
  background-color: #e08c81;
}

/* Responsive Styling */
@media (max-width: 768px) {
  .canmore-promo-box {
    flex-direction: column;
    text-align: left;
  }

  .canmore-promo-box .promo-image {
    margin-bottom: 1rem;
  }

  .canmore-promo-box .cta-btn {
    width: 100%;
    text-align: center;
  }
}


.before-after-wrapper {
    display: flex;
    flex-direction: row;
    border-radius: 8px;
    gap: 0;
    position: relative;
    z-index: 999;
}

.before-after-wrapper:before {
content: "";
    content: "";
    background-image: url(https://thecanmoreclinic.com/wp-content/uploads/2025/03/logo.png);
    background-repeat: no-repeat;
    position: absolute;
    z-index: 999999999;
    height: 87px;
    width: 180px;
    left: 30%;
    top: 30px;
    opacity: 20%;
}

.before-after-wrapper .before-img img {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.before-after-wrapper .after-img img {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.before-after-wrapper .before-img img,
.before-after-wrapper .after-img img {
    width: 100%;
    display: block;
}

.before-img, .after-img {position: relative;width: 100%;}

.before-img:before {
	content: "Before";
	position: absolute;
	bottom: 5%;
	right: 5%;
	color: #fff;
}

.after-img:before {
	content: "After";
	position: absolute;
	bottom: 5%;
	right: 5%;
	color: #fff;
}

.swiper-button-next, .swiper-button-prev {
    top: 39% !important;
}

.swiper-button-next, .swiper-button-prev {color:#fff !important;}

.testimonial-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #f9f9f9;
    border-radius: 8px;
    padding: 10px 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.06);
    margin-top: 10px;
    min-height: 107px;
}

.testimonial-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.testimonial-text {
  transition: all 0.3s ease;
}

.profile-pic-wrapper {
    flex-shrink: 0;
	margin-right: 1em;
}

.profile-pic {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.patient-info {
    text-align: left;
    flex: 1;
}

.patient-info strong {
    display: block;
    font-size: 1.1em;
    margin-bottom: 4px;
	font-weight: 500;
}

.patient-info .treatment-label {
    color: var(--main-clr);
    font-weight: 500;
    font-size: 0.95em;
}

.patient-info .treatment-timeframe {
    font-size: 0.85em;
}

.testimonial-body p {
    font-size: 0.95em;
    margin: 0;
    line-height: 1.5;
    /* border-top: 1px solid var(--main-clr); */
    padding-top: 10px;
    padding: 0px 0;
    font-size: 17px;
}

.before-after-carousel .swiper-slide {
  height: auto;
}

/* ===== Canmore Urology Hero ===== */
.cm-hero {
  width: 100%;
  background: #fff;
}

.cm-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px;
  border-bottom: 1px solid;
}

.cm-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px;
  align-items: center;
}

/* Rating row */
.cm-hero__rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  font-size: 14px;
  line-height: 1;
  color: #222;
}

.cm-hero__rating-label {
  font-weight: 600;
}

.cm-hero__stars {
  display: inline-flex;
  gap: 4px;
  transform: translateY(-1px);
}

.cm-hero__stars i {
  font-size: 14px;
}

.cm-hero__rating-value {
  font-weight: 600;
}

.cm-hero__rating-count {
  opacity: 0.75;
}

.cm-hero__rating-logo {
  height: 16px;
  width: auto;
  display: inline-block;
  transform: translateY(-1px);
}

/* Typography */
.cm-hero__title {
  font-size: clamp(40px, 4.6vw, 54px);
  line-height: 1.2;
  letter-spacing: 0;
  margin: 0 0 0 0;
  color: #111;
  text-transform: none;
}

.cm-hero__text {
  line-height: 1.65;
  margin: 0 0 32px 0;
  color: #333;
  max-width: 520px;
  padding: 0;
}

/* CTAs */
.cm-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.cm-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: centre;
  padding: 12px 18px;
  border-radius: 0;
  font-size: 18px;
  font-weight: 400;
  text-decoration: none;
  transition: transform .15s ease, opacity .15s ease;
  will-change: transform;
}

.cm-hero__btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}

/* Adjust these colours to match Canmore palette */
.cm-hero__btn--primary {
  background: #244289;
  color: #fff;
  border: 1px solid #244289;
}

.cm-hero__btn--secondary {
  background: transparent;
  color: #111;
  border: 1px solid rgba(0,0,0,0.15);
}

/* Media */
.cm-hero__media {
  width: 100%;
}

.cm-hero__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0; /* keep crisp like the London Clinic example */
  object-fit: cover;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .cm-hero__inner {
    padding: 48px 20px;
  }
  .cm-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .cm-hero__text {
    max-width: 100%;
  }
}

/* Padding 0 for mobile + tablet (as you’ve been doing elsewhere) */
@media (max-width: 991px) {
  .cm-hero__inner {
    padding-left: 0;
    padding-right: 0;
  }
  .cm-hero__content {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ===== Canmore Split Intro (text + image card) ===== */
.cm-split {
  width: 100%;
  background: #fff;
}

.cm-split__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px;
}

.cm-split__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 56px;
  align-items: start;
}

.cm-split--reverse .cm-split__content { order: 2; }
.cm-split--reverse .cm-split__media { order: 1; }

/* Typography */
.cm-split__title {
  margin: 0;
  font-size: clamp(30px, 3.2vw, 37px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #111;
  text-transform: none;
  padding: 0 0 11px 0;
}

.cm-split__subtitle {
  margin: 0 0 26px 0;
  line-height: 1.6;
  color: #222;
  max-width: 640px;
}

.cm-split__text p {
  line-height: 1.75;
  color: #333;
  max-width: 740px;
}

/* Media card */
.cm-split__card {
  border-radius: 14px;
  overflow: hidden;
  background: #f4f4f4;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

.cm-split__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .cm-split__inner {
    padding: 54px 20px;
  }
  .cm-split__grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .cm-split__card {
    max-width: 420px;
  }
}

@media (max-width: 575px) {
  .cm-split__inner {
    padding: 44px 16px;
  }
  .cm-split__card {
    max-width: 100%;
  }
}

/* ===== Diagnostic Journey Block ===== */
.cm-journey {
  background: #fff;
}

/* Sticky-safe reset (scoped)
   If your theme applies overflow/transform to block wrappers, this prevents sticky from breaking. */
.cm-journey,
.cm-journey__inner,
.cm-journey__grid,
.cm-journey__media {
  overflow: visible !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

.cm-journey__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px;
}

.cm-journey__title {
  font-size: clamp(30px, 3.2vw, 41px);
  line-height: 1.2;
  margin: 0;
  text-transform: none;
}

.cm-journey__intro {
  font-size: 19px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 20px;
}

/* Grid */
.cm-journey__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}

/* ✅ Sticky: apply to the grid item (.cm-journey__media) */
.cm-journey__media{
  position: sticky;
  top: 110px;       /* adjust to your fixed header height */
  align-self: start; /* important for grid */
}

/* Image card */
.cm-journey__card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}

.cm-journey__card img {
  width: 100%;
  height: auto;
  display: block;
  max-height: calc(100vh - 150px); /* stops giant image on tall viewports */
  object-fit: cover;
}

/* Feature items */
.cm-journey__features {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

.cm-journey__feature h3 {
  margin: 0;
  font-size: 27px;
  text-transform: none;
  padding: 0 0 11px;
}

.cm-journey__feature p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: #444;
  padding: 0;
}

/* Accent styles */
.cm-journey__feature--accent {
  padding-left: 18px;
  border-left: 4px solid #244289;
}

.cm-journey__feature--muted h3,
.cm-journey__feature--muted p {
  color: #8a8a8a;
}

/* CTAs */
.cm-journey__ctas {
  margin-top: 44px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .cm-journey__inner {
    padding: 54px 20px;
  }
  .cm-journey__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Disable sticky on mobile/tablet stack */
  .cm-journey__media{
    position: static;
    top: auto;
  }

  .cm-journey__card img{
    max-height: none;
    object-fit: initial;
  }
}

@media (max-width: 575px) {
  .cm-journey__inner {
    padding: 44px 16px;
  }
}




/* ===== Accordion + Image (London Clinic style) ===== */
.cm-accmedia {
  background: #fff;
}

.cm-accmedia__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px;
}

.cm-accmedia__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 56px;
  align-items: start;
}

/* Headings */
.cm-accmedia__title {
  margin: 0 0 6px;
  font-size: clamp(30px, 3.2vw, 41px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-transform: none;
  padding: 0;
}

.cm-accmedia__subtitle {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.65;
  color: #222;
  padding: 0;
}

.cm-accmedia__intro {
  margin-bottom: 14px;
  color: #333;
  line-height: 1.75;
}

.cm-accmedia__fee {
  margin: 0 0 24px;
  font-weight: 600;
  color: #111;
}

/* Accordion wrapper */
.cm-accmedia__accordion {
  border-top: 1px solid rgba(0,0,0,0.10);
}

/* Item */
.cm-accmedia__item {
  border-bottom: 1px solid rgba(0,0,0,0.10);
  padding: 0 18px;
}

/* Trigger */
.cm-accmedia__trigger {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 22px 0;
  display: grid;
  grid-template-columns: 46px 1fr 36px;
  gap: 16px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

.cm-accmedia__icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(36, 66, 137, 0.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #244289;
  flex-shrink: 0;
}

.cm-accmedia__icon i {
  font-size: 14px;
}

.cm-accmedia__icon-dot {
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
}

.cm-accmedia__trigger-text {
  font-size: 20px;
  font-weight: 500;
  color: #111;
}

.cm-accmedia__chev {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: #111;
  transition: transform .2s ease;
}

.cm-accmedia__item.is-open .cm-accmedia__chev {
  transform: rotate(180deg);
}

/* Panel */
.cm-accmedia__panel {
  padding: 0 0 22px 62px; /* aligns text under title */
}

.cm-accmedia__panel-inner {
  max-width: 640px;
  color: #333;
  line-height: 1.75;
}

.cm-accmedia__panel-btn {
  margin-top: 16px;
  display: inline-flex;
}

/* Right image card */
.cm-accmedia__card {
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
  background: #f4f4f4;
}

.cm-accmedia__img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 991px) {
  .cm-accmedia__inner {
    padding: 54px 20px;
  }
  .cm-accmedia__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .cm-accmedia__panel {
    padding-left: 0;
  }
  .cm-accmedia__trigger {
    grid-template-columns: 40px 1fr 30px;
  }
  .cm-accmedia__trigger-text {
    font-size: 18px;
  }
}

@media (max-width: 575px) {
  .cm-accmedia__inner {
    padding: 44px 16px;
  }
}

/* Sticky image on desktop */
@media (min-width: 992px) {
  .cm-accmedia__right {
    position: sticky;
    top: 120px; /* adjust to clear your header */
    align-self: start;
  }
}

/* If your sticky isn't working, it’s often due to a parent with overflow hidden/auto */
.cm-accmedia__grid,
.cm-accmedia__inner,
.cm-accmedia__right {
  overflow: visible;
}


/* ===== Reverse layout: image left, content right ===== */
.cm-accmedia--reverse .cm-accmedia__grid {
  grid-template-columns: 0.85fr 1.15fr;
}

.cm-accmedia--reverse .cm-accmedia__right { order: 1; }
.cm-accmedia--reverse .cm-accmedia__left { order: 2; }

/* Static list: looks like accordion rows but not clickable */
.cm-accmedia__accordion--static .cm-accmedia__trigger--static {
  cursor: default;
  padding: 18px 18px;
  grid-template-columns: 46px 1fr;
}

.cm-accmedia__accordion--static .cm-accmedia__trigger--static:focus,
.cm-accmedia__accordion--static .cm-accmedia__trigger--static:hover {
  outline: none;
}

.cm-accmedia__item--static {
  border-bottom: 1px solid rgba(0,0,0,0.10);
}

.cm-accmedia__accordion--static {
  border-top: 1px solid rgba(0,0,0,0.10);
}

/* Responsive: stack naturally */
@media (max-width: 991px) {
  .cm-accmedia--reverse .cm-accmedia__grid {
    grid-template-columns: 1fr;
  }
  .cm-accmedia--reverse .cm-accmedia__right,
  .cm-accmedia--reverse .cm-accmedia__left {
    order: initial;
  }
}

.cm-hero__socialproof {margin: 18px 0 31px;}
.cm-hero__socialproof-logo { max-height: 42px; width: auto; display: block; }
.cm-hero__socialproof-link { display: inline-block; }

.cm-accmedia__bucket {
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	margin-top: 18px;
}

.cm-accmedia__bucket-summary {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	cursor: pointer;
	user-select: none;
}

.cm-accmedia__bucket-summary::-webkit-details-marker { display: none; }

.cm-accmedia__bucket-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.04);
	font-weight: 700;
}

.cm-accmedia__bucket-title { font-weight: 600; }

.cm-accmedia__bucket-chevron {
	margin-left: auto;
	transition: transform 200ms ease;
}

.cm-accmedia__bucket[open] .cm-accmedia__bucket-chevron {
	transform: rotate(180deg);
}

.cm-accmedia__bucket-body {
	padding: 6px 0 6px;
}

.cm-accmedia__bucket {
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	margin-top: 18px;
}

.cm-accmedia__bucket-summary {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	cursor: pointer;
	user-select: none;
}

.cm-accmedia__bucket-summary::-webkit-details-marker { display: none; }

.cm-accmedia__bucket-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.04);
	font-weight: 700;
}

.cm-accmedia__bucket-title { font-weight: 600; }

.cm-accmedia__bucket-chevron {
	margin-left: auto;
	transition: transform 200ms ease;
}

.cm-accmedia__bucket[open] .cm-accmedia__bucket-chevron {
	transform: rotate(180deg);
}

.cm-accmedia__bucket-body {
	padding: 6px 0 6px;
	padding: 18px;
}

/* --- Hero feature strip layout (2-up + full-width) --- */
.cm-hero__features{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 52px;
}

/* Make the 3rd card span full width */
.cm-hero__feature:nth-child(3){
  grid-column: 1 / -1;
}

/* Card base */
.cm-hero__feature{
  border-radius: 16px;
  padding: 18px 18px 16px;
  display: flex;
}

.cm-hero__feature-inner{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  width: 100%;
  align-items: start;
}


.cm-hero__feature-icon{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.05);
  font-size: 18px;
  margin-top: 2px;
}

.cm-hero__feature-title{
  margin: 2px 0 0;
  font-size: 23px;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  padding-bottom: 10px;
}

.cm-hero__feature-text {margin: 0; padding: 0 0 10px 0;}

.cm-hero__feature-list{
  margin: 12px 0 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.45;
  columns: 2;                /* optional: makes it very clean */
  column-gap: 28px;
}

.cm-hero__feature-list li{
  break-inside: avoid;
  margin-bottom: 8px;
}

@media (max-width: 980px){
  .cm-hero__features{
    grid-template-columns: 1fr;
  }

  .cm-hero__feature:nth-child(3){
    grid-column: auto;
  }

  .cm-hero__feature-list{
    columns: 1;
  }
}
/* --- Background variants --- */
.cm-hero__feature--peach{ background: #F6ECE6; }
.cm-hero__feature--mint{  background: #DFF1EC; }
.cm-hero__feature--lilac{ background: #EEE9F6; }
.cm-hero__feature--white{ background: #FFFFFF; border: 1px solid rgba(0,0,0,0.08); }

.cm-journey__feature ul{
  list-style: none;
  padding-left: 0;
  margin: 12px 0 0;
  padding-bottom: 7px;
}

.cm-journey__feature li{
  position: relative;
  padding-left: 26px;              /* space for tick */
  margin-bottom: 10px;
  line-height: 1.45;
  font-size: 16px;
}

.cm-journey__feature li:last-child{
  margin-bottom: 0;
}

.cm-journey__feature li::before{
  content: "\f058";               /* Font Awesome solid check-circle */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.1em;
  color: #000;                  /* adjust to brand colour */
  font-size: 14px;
}


/* ===== Prostate Smart Screening: Who is it for? ===== */
.cm-pssfor{
  background: #fff;
}

.cm-pssfor__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px;
}

.cm-pssfor__title{
  font-size: clamp(28px, 3.0vw, 40px);
  line-height: 1.2;
  margin: 0 0 14px;
  text-transform: none;
}

.cm-pssfor__intro{
  /* font-size: 18px; */
  line-height: 1.7;
  color: #222;
  /* margin: 0 0 10px; */
  letter-spacing: 0;
}

.cm-pssfor__context{
  /* font-size: 16px; */
  line-height: 1.7;
  color: #444;
  /* margin: 0 0 18px; */
  /* max-width: 80ch; */
}

.cm-pssfor__list-title{
  /* font-size: 16px; */
  /* line-height: 1.6; */
  color: #222;
  /* margin: 0 0 12px; */
  font-weight: 600;
}

/* List with Font Awesome tick */
.cm-pssfor__list{
  list-style: none;
  padding-left: 0;
  margin: 0 0 18px;
  max-width: 92ch;
}

.cm-pssfor__list li{
  position: relative;
  padding-left: 30px;
  margin: 0 0 12px;
  line-height: 1.55;
  color: #333;
}

.cm-pssfor__list li:last-child{
  margin-bottom: 0;
}

.cm-pssfor__list li::before{
  content: "\f058"; /* fa-circle-check */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.12em;
  font-size: 16px;
  color: #244289;
}

.cm-pssfor__outro{
  /* font-size: 16px; */
  /* line-height: 1.7; */
  color: #333;
  margin: 0;
  /* max-width: 80ch; */
}

.cm-pssfor__cta{
  margin-top: 22px;
}

@media (max-width: 991px){
  .cm-pssfor__inner{
    padding: 52px 20px;
  }
}

@media (max-width: 575px){
  .cm-pssfor__inner{
    padding: 44px 16px;
  }
}

#field_4_9010 > label.gfield_label {
   color: white;
}

/* ============================================================
   ALT PALETTE — page-id-1580 only (homepage alternate preview)
   Scoped override. Do not move to :root.
   ============================================================ */
body.page-id-1580 {
  /* --- Brand Core --- */
  --clr-primary:       #28282a;
  --clr-primary-dark:  #1a1a1c;
  --clr-primary-light: #4a4a4d;

  --clr-secondary:     #b0d2ce;
  --clr-secondary-dark:#8bb8b3;
  --clr-secondary-light:#dbe5e6;

  --clr-accent:        #f5a69a;
  --clr-accent-light:  #edded7;

  /* --- Pillar Accents --- */
  --clr-pillar-gp:              #b0d2ce;
  --clr-pillar-gp-light:        #dbe5e6;
  --clr-pillar-gp-mid:          #8bb8b3;

  --clr-pillar-specialist:      #f5f2b5;
  --clr-pillar-specialist-light:#fbf9de;
  --clr-pillar-specialist-mid:  #e2dd8f;

  --clr-pillar-aesthetics:      #f5a69a;
  --clr-pillar-aesthetics-light:#edded7;
  --clr-pillar-aesthetics-mid:  #f0897a;
  --clr-pillar-aesthetics-accent:#f5f2b5;

  /* --- Neutrals --- */
  --clr-white:         #ffffff;
  --clr-off-white:     #FAFAF7;
  --clr-stone:         #edded7;
  --clr-stone-dark:    #d9c8bf;
  --clr-grey-text:     #5f6b78;
  --clr-body:          #28282a;
  --clr-heading:       #28282a;

  /* --- Backward-compatible aliases --- */
  --main-clr:          var(--clr-primary-dark);
  --seconday-color:    var(--clr-primary);
  --body-font-color:   var(--clr-body);
  --black-color:       var(--clr-heading);
  --white-color:       var(--clr-white);
  --color2:            var(--clr-accent);
  --hover-color:       var(--clr-secondary);
  --highlight:         var(--clr-secondary);
}

body.page-id-1580 .hp-hero__bg-overlay {
  background: linear-gradient(180deg, rgba(40, 40, 42, 0.92) 0%, rgba(40, 40, 42, 0.5) 70%, rgba(40, 40, 42, 0.5) 100%);
}

/* Text on yellow bg — page-id-1580 only */
body.page-id-1580 .btn-cm--specialist,
body.page-id-1580 .btn-cm--specialist:hover,
body.page-id-1580 .service-card__label--specialist,
body.page-id-1580 .service-card__pillar-tag--specialist,
body.page-id-1580 .hp-hero__pillar--specialist .hp-hero__pillar-icon,
body.page-id-1580 .btn-cm--specialist :where(h1, h2, h3, h4, h5, h6, p, li, a, span, i),
body.page-id-1580 .service-card__label--specialist :where(h1, h2, h3, h4, h5, h6, p, li, a, span, i),
body.page-id-1580 .service-card__pillar-tag--specialist :where(h1, h2, h3, h4, h5, h6, p, li, a, span, i),
body.page-id-1580 .hp-hero__pillar--specialist .hp-hero__pillar-icon :where(h1, h2, h3, h4, h5, h6, p, li, a, span, i) {
  color: var(--clr-body);
}