/*
Theme Name: Power Pilates UK
Theme URI: https://powerpilatesuk.com
Author: Deepansh Gupta
Description: Custom WordPress theme for Power Pilates UK. Converts static HTML into a dynamic, ACF-driven architecture.
Version: 1.0.0
Text Domain: powerpilates
*/

:root{
  --berry:#A8546A;
  --berry-deep:#96475C;
  --blush:#F2DFDA;
  --blush-soft:#F8ECE8;
  --cream:#FCFAF8;
  --white:#FFFFFF;
  --head:#4A4245;
  --ink:#5B5052;
  --muted:#9A8B8D;
  --line:#EADDD8;
  --shadow:0 14px 40px rgba(74,66,69,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Montserrat',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;font-size:15.5px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Cormorant Garamond',serif;color:var(--head);font-weight:600;line-height:1.08;letter-spacing:0}
.kicker{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--berry)}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px}
.btn{display:inline-block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:14px 28px;transition:all .25s;border:1px solid transparent;cursor:pointer;background:none;font-family:'Montserrat',sans-serif}
.btn-berry{background:var(--berry);color:#fff}
.btn-berry:hover{background:var(--berry-deep)}
.btn-line{border-color:var(--berry);color:var(--berry)}
.btn-line:hover{background:var(--berry);color:#fff}

/* NAV */
header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.navbar{display:flex;align-items:center;justify-content:space-between;height:70px;max-width:1240px;margin:0 auto;padding:0 28px}
.logo{cursor:pointer;display:flex;align-items:center}
.logo img{height:26px;width:auto}

/* WORDPRESS MENU ADJUSTMENTS */
nav.tabs ul {display:flex;gap:2px;list-style:none;}
nav.tabs li {display:inline-block;}
nav.tabs a {font-family:'Montserrat',sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink);background:none;border:none;padding:9px 13px;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;display:block;}
nav.tabs a:hover {color:var(--berry)}
nav.tabs li.current-menu-item > a, nav.tabs a.active {color:var(--berry);border-bottom:2px solid var(--berry)}

.nav-book{font-size:10px;padding:10px 20px;background:var(--berry);color:#fff;font-weight:700}
.nav-book:hover{background:var(--berry-deep)}
.wordmark{font-family:'Montserrat',sans-serif;font-weight:800;font-size:21px;letter-spacing:-.01em;color:#fff;text-transform:lowercase}
.wordmark span{color:#ECA7BE}

.page{display:block;animation:fade .45s ease}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* NEW HOME HERO (Full width with blur card) */
.ppuk-hero{position:relative;min-height:86vh;display:flex;align-items:center;overflow:hidden;font-family:'Montserrat',sans-serif}
.ppuk-hero .ppuk-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.ppuk-hero .ppuk-inner{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.ppuk-hero .ppuk-card{background:rgba(252,250,248,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:22px;padding:52px 54px;max-width:560px;box-shadow:0 14px 40px rgba(74,66,69,.12)}
.ppuk-hero .ppuk-kicker{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--berry)}
.ppuk-hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(40px,4.4vw,58px);line-height:1.12;color:var(--head);margin:18px 0 20px}
.ppuk-hero h1 em{font-style:normal;color:var(--berry)}
.ppuk-hero .ppuk-lead{max-width:420px;font-size:15.5px;line-height:1.7;color:var(--ink);margin:0 0 30px}
.ppuk-hero .ppuk-ctas{display:flex;gap:14px;flex-wrap:wrap}
.ppuk-hero .ppuk-btn{display:inline-block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;padding:14px 28px;border-radius:100px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .25s}
.ppuk-hero .ppuk-btn-solid{background:var(--berry);color:#fff}
.ppuk-hero .ppuk-btn-solid:hover{background:var(--berry-deep)}
.ppuk-hero .ppuk-btn-line{border-color:var(--berry);color:var(--berry)}
.ppuk-hero .ppuk-btn-line:hover{background:var(--berry);color:#fff}
.ppuk-hero .ppuk-award{position:absolute;right:30px;top:26px;z-index:3;background:rgba(255,255,255,.92);border-radius:100px;padding:11px 22px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--head);box-shadow:0 14px 40px rgba(74,66,69,.12)}
.ppuk-hero .ppuk-award span{color:var(--berry)}

/* stats row — hairline editorial */
.statsband{background:var(--cream);border-bottom:1px solid var(--line)}
.statsband .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:34px 32px}
.stat{text-align:center;border-left:1px solid var(--line)}
.stat:first-child{border-left:none}
.stat .num{font-family:'Cormorant Garamond',serif;font-size:36px;color:var(--berry)}
.stat .lbl{font-size:15px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-top:4px}

/* class preview */
.previewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}
.prevcard{position:relative;border-radius:20px;overflow:hidden;min-height:340px;cursor:pointer;box-shadow:var(--shadow)}
.prevcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.prevcard:hover img{transform:scale(1.05)}
.prevcard .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(58,42,48,.75) 0%,rgba(58,42,48,.05) 55%)}
.prevcard .cap{position:absolute;left:26px;right:26px;bottom:24px;z-index:2}
.prevcard .cap h3{color:#fff;font-size:27px;margin-bottom:4px}
.prevcard .cap span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#F2C6D2}

/* photo marquee */
.marquee{overflow:hidden;padding:10px 0 0}
.mtrack{display:flex;gap:18px;width:max-content;animation:slide 42s linear infinite}
.mtrack img{height:220px;width:auto;border-radius:16px}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* offer band */
.offerband{background:linear-gradient(180deg,var(--blush) 0%,var(--blush-soft) 100%);padding:88px 0;text-align:center}
.offerband h2{font-size:clamp(30px,4vw,46px);margin:16px 0 12px}
.offerband h2 em{font-style:italic;color:var(--berry)}
.offerband p{margin-bottom:30px}

/* generic sections */
section.sec{padding:88px 0}
section.sec.blush{background:var(--blush-soft)}
section.sec.blush2{background:var(--blush)}
.centerhead{max-width:660px;margin:0 auto;text-align:center}
.centerhead h2{font-size:clamp(28px,3.4vw,38px);margin:16px 0 18px}
.centerhead p{color:var(--ink)}

/* splits */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split .img{position:relative;min-height:420px}
.split .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .txt{padding:80px 64px;display:flex;flex-direction:column;justify-content:center;background:var(--white)}
.split.on-blush .txt{background:var(--blush-soft)}
.split h2{font-size:clamp(26px,3vw,34px);margin:14px 0 16px}
.split p{margin-bottom:26px;max-width:440px}
.split .btn{align-self:flex-start}

/* founder — text card overlays the portrait */
.founder-hero{position:relative;min-height:980px}
.fimg{border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.fimg img{width:100%;height:100%;object-fit:cover}
.fmain{position:absolute;left:0;top:0;width:58%;height:100%;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.fmain img{width:100%;height:100%;object-fit:cover}
.fcard{position:absolute;right:0;top:36px;width:52%;background:rgba(255,255,255,.97);border-radius:20px;padding:46px 44px;box-shadow:var(--shadow)}
.fcard .fname{font-size:clamp(30px,3.4vw,42px);font-weight:500;margin:12px 0 18px}
.fcard p{font-size:14.5px;margin-bottom:16px}
.fchips{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 24px}
.fchips span{background:var(--blush);color:var(--berry-deep);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:8px 16px;border-radius:100px}
.fpair{position:absolute;right:0;bottom:0;width:52%;display:grid;grid-template-columns:1fr 1fr;gap:20px;display:none;}
.fpair .fimg{height:170px}

/* quote */
.quoteband{background:var(--blush-soft);padding:96px 0;text-align:center}
.quoteband blockquote{max-width:760px;margin:26px auto 0;font-family:'Hanken Grotesk',sans-serif;font-weight:400;font-style:italic;font-size:clamp(20px,2.4vw,26px);color:var(--head);line-height:1.55}
.quoteband cite{display:block;margin:26px 0 30px;font-family:'Montserrat',sans-serif;font-style:normal;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;color:var(--berry)}

/* find us band */
.findband{background:var(--blush);padding:88px 0;text-align:center}
.findband h2{font-size:clamp(28px,3.4vw,38px);margin:16px 0 12px}
.findband p{margin-bottom:30px}

/* PAGE HEADS */
.pagehead{background:var(--blush-soft);padding:78px 0}
.pagehead h1{font-size:clamp(34px,4vw,48px);margin:14px 0 16px;max-width:640px}
.pagehead p{max-width:560px}
.pagehead.centered{text-align:center}
.pagehead.centered h1,.pagehead.centered p{margin-left:auto;margin-right:auto}

/* CLASSES */
.classgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.classcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.classcard .body{padding:30px 30px 24px;flex:1}
.classcard h3{font-size:20px;margin:16px 0 12px}
.classcard p{font-size:13.5px}
.pill{display:inline-block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:6px 12px}
.pill.p-blush{background:var(--blush);color:var(--berry-deep)}
.pill.p-sage{background:#DFE8DF;color:#5C7A5F}
.pill.p-tan{background:#EFE1CB;color:#8A6D45}
.pill.p-berry{background:var(--berry);color:#fff}
.pill.p-lilac{background:#E5DFF1;color:#6B5E92}
.classfoot{border-top:1px solid var(--line);padding:16px 30px;display:flex;align-items:center;justify-content:flex-end}
.classfoot .tlabel{font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.classfoot .dur{font-size:12px;font-weight:600;color:var(--head)}
.meter{display:flex;align-items:center;gap:2px;margin-top:6px}
.strengthfeat{display:grid;grid-template-columns:1fr 1.1fr;background:#fff;border:1.5px solid var(--berry);margin-top:26px}
.strengthfeat .img{position:relative;min-height:320px}
.strengthfeat .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.strengthfeat .txt{padding:48px 52px;display:flex;flex-direction:column;justify-content:center}
.strengthfeat h3{font-size:24px;margin:16px 0 12px}
.strengthfeat p{font-size:14px;max-width:460px}
.sf-foot{display:flex;align-items:center;gap:26px;margin-top:24px}
.sf-foot .dur{font-size:12px;font-weight:600;color:var(--head)}
.pregband{background:var(--blush);padding:44px 48px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;margin-top:52px}
.pregband h3{font-size:21px;margin-bottom:10px}
.pregband p{font-size:13.5px;max-width:560px}

/* PRICES */
.offerhead{background:linear-gradient(180deg,var(--blush) 0%,var(--blush-soft) 100%);padding:84px 0;text-align:center}
.offerhead .big{font-family:'Cormorant Garamond',serif;font-size:72px;color:var(--head);line-height:1;margin:18px 0 6px}
.offerhead .big small{font-size:20px;color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:400}
.offerhead .sub{font-size:12px;color:var(--muted);margin-bottom:28px}
.sechead{margin-bottom:40px}
.sechead h2{font-size:clamp(26px,3.2vw,34px);margin:12px 0 12px}
.sechead p{max-width:520px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{background:#fff;border:1px solid var(--line);padding:32px 30px;display:flex;flex-direction:column;position:relative}
.pcard.popular{border:1.5px solid var(--berry);overflow:visible;}
.pcard:hover{border:1.5px solid var(--berry);transform:translate(0px, -5px);transition: all 300ms;}
.pop-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--berry);color:#fff;font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:5px 14px}
.pcard .pname{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--head);font-weight:600}
.pcard .psub{font-size:10.5px;margin:4px 0 18px;letter-spacing:.04em}
.pcard .pprice{font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--head)}
.pcard .pprice small{font-size:15px;color:var(--muted);font-family:'Montserrat',sans-serif}
.pcard .pper{font-size:11.5px;color:var(--berry);font-weight:600;margin:4px 0 18px}
.prow{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid var(--line);padding:10px 0}
.prow b{color:var(--head);font-weight:600}
.pcard .btn{margin-top:22px;text-align:center}
.wide-pcard{background:#fff;border:1px solid var(--line);padding:30px 38px;display:flex;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap;gap:14px}
.wide-pcard .pname{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--head);font-weight:600}
.wide-pcard .psub{font-size:10.5px;color:var(--muted);margin-top:4px}
.wide-pcard .pprice{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--head);text-align:right}
.wide-pcard .pper{font-size:11.5px;color:var(--berry);font-weight:600;text-align:right}
.notebox{background:var(--blush-soft);padding:30px 38px;font-size:13px;margin-top:44px}
.notebox b{color:var(--head)}
.notebox a{color:var(--berry);font-weight:600}

/* BLOG */
.featured{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--line)}
.featured .img{position:relative;min-height:380px}
.featured .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured .txt{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}
.featured h3{font-size:clamp(24px,2.6vw,30px);margin:14px 0 14px}
.featured p{font-size:14px;margin-bottom:26px}
.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:26px}
.blogcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.blogcard img{height:190px;width:100%;object-fit:cover}
.blogcard .body{padding:26px 26px 28px;flex:1;display:flex;flex-direction:column}
.blogcard h3{font-size:17.5px;margin:12px 0 10px}
.blogcard p{font-size:13px;flex:1}
.readmore{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--berry);margin-top:16px}
.readmore:hover{color:var(--berry-deep)}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}
.c-left h1{font-size:clamp(30px,3.6vw,42px);margin:14px 0 14px}
.c-left>p{margin-bottom:34px;max-width:380px}
.c-item{border-top:1px solid var(--line);padding:20px 0}
.c-item .lbl{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--berry);margin-bottom:6px}
.c-item .val{font-size:14px;color:var(--head)}
.c-item .val a:hover{color:var(--berry)}
.mapblock{position:relative;min-height:250px;background:var(--blush);margin-bottom:30px;overflow:hidden}
.mapblock img, .mapblock iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
}
.mapblock a.overlay{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.94);padding:9px 18px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--berry)}
.formcard{background:#fff;border:1px solid var(--line);padding:44px 46px}
.formcard h3{font-size:21px;margin-bottom:4px}
.formcard .fsub{font-size:12px;color:var(--muted);margin-bottom:26px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fgroup{margin-bottom:18px}
.fgroup label{display:block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:8px}
.fgroup input,.fgroup textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:13px 14px;font-family:'Montserrat',sans-serif;font-size:13.5px;color:var(--head);outline:none}
.fgroup input:focus,.fgroup textarea:focus{border-color:var(--berry)}
.formcard .btn{width:100%;text-align:center;margin-top:6px}
.awardband{background:var(--blush-soft);padding:74px 0;text-align:center}
.awardband .stars{color:var(--berry);letter-spacing:5px;font-size:14px;margin-bottom:14px}
.awardband h2{font-size:clamp(24px,3vw,32px);margin-bottom:10px}
.awardband p{margin-bottom:26px}

/* TESTIMONIALS extra page */
.testigrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testicard{background:#fff;border:1px solid var(--line);padding:32px 30px}
.testicard .stars{color:var(--berry);letter-spacing:3px;font-size:12px;margin-bottom:14px}
.testicard p{font-size:13.5px;font-style:italic;font-family:'Hanken Grotesk',sans-serif;line-height:1.65;color:var(--head)}
.testicard cite{display:block;margin-top:16px;font-style:normal;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--muted)}

/* FOOTER */
footer{background:var(--head);color:rgba(255,255,255,.7)}
.foot-main{max-width:1140px;margin:0 auto;padding:64px 32px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}
.foot-main .logo{font-size:20px}
.foot-main p{font-size:12.5px;font-weight:300;margin-top:14px;max-width:270px}
.foot-main h4{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--blush);font-weight:700;margin-bottom:16px}
.foot-main ul{list-style:none}
.foot-main li{margin-bottom:9px;font-size:13px}
.foot-main li a:hover,.foot-main li span:hover{color:var(--blush);cursor:pointer}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);padding:24px 32px;text-align:center;font-size:11px;color:rgba(255,255,255,.4)}

/* MOBILE MENU TOGGLE */
.mobile-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}
@media(max-width:960px){
  /* Re-mapped Hero Mobile Layout */
  .ppuk-hero{min-height:0;padding:80px 0}
  .ppuk-hero .ppuk-card{padding:36px 28px}
  .ppuk-hero .ppuk-award{display:none}

  .split,.featured,.contact-grid{grid-template-columns:1fr}
  .founder-hero{min-height:0}
  .fmain,.fcard,.fpair{position:static;width:100%}
  .fmain{height:440px;margin-bottom:20px}
  .fcard{margin-bottom:20px}
  .statsband .wrap{grid-template-columns:1fr 1fr;gap:20px 0}
  .stat:nth-child(3){border-left:none}
  .previewgrid{grid-template-columns:1fr}
  .mtrack img{height:160px}
  .classgrid,.pgrid,.bloggrid,.testigrid{grid-template-columns:1fr 1fr}
  .strengthfeat{grid-template-columns:1fr}
  /* Mobile Navigation Override */
  .mobile-toggle { display: block; }
  
  nav.tabs {
      display: none; /* Hidden by default */
      position: absolute;
      top: 70px; /* Sits right below header */
      left: 0;
      width: 100%;
      background: #fff;
      padding: 20px 32px 30px;
      box-shadow: var(--shadow);
      border-top: 1px solid var(--line);
      z-index: 99;
  }
  
  /* Class toggled by JavaScript */
  nav.tabs.is-open { display: block; }
  
  nav.tabs ul {
      display: flex;
      flex-direction: column;
      gap: 12px;
  }
  
  nav.tabs a {
      display: inline-block;
      font-size: 13px; /* Slightly larger for touch */
      padding: 12px 0;
  }
  .split .txt{padding:56px 32px}
  .foot-main{grid-template-columns:1fr 1fr}
  .pregband{grid-template-columns:1fr}
}
@media(max-width:620px){
  .classgrid,.pgrid,.bloggrid,.testigrid,.frow{grid-template-columns:1fr}
	.stat .lbl {font-size: 12px; margin-top: 4px;margin-inline: 12px;text-align: center;}		
	.statsband .wrap {padding-inline: 12px}
}

/* soft edges everywhere */
.btn,.nav-book,.pill,.pop-tag{border-radius:100px}
.classcard,.pcard,.wide-pcard,.blogcard,.testicard,.formcard,.notebox,.pregband,.strengthfeat,.featured,.mapblock,.award-card{border-radius:20px;overflow:hidden}
.split .img,.split .txt{border-radius:0}
.split{border-radius:24px;overflow:hidden;max-width:1240px;margin:0 auto}
.fgroup input,.fgroup textarea{border-radius:12px}
.classfoot{border-radius:0}
.offerhead .btn,.findband .btn{border-radius:100px}

/* ==========================================
   TRUSTINDEX GOOGLE REVIEWS OVERRIDES
   ========================================== */
.google-reviews-wrapper .ti-widget .ti-review-item > .ti-inner {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: 20px !important;
    padding: 32px 30px !important;
    box-shadow: none !important;
}
.google-reviews-wrapper .ti-widget .ti-stars {
    color: var(--berry) !important;
    letter-spacing: 3px !important;
    font-size: 12px !important;
    margin-bottom: 14px !important;
    margin-top: 0 !important;
}
.google-reviews-wrapper .ti-widget .ti-star.f { color: var(--berry) !important; }
.google-reviews-wrapper .ti-widget .ti-review-content {
    font-size: 13.5px !important;
    font-style: italic !important;
    font-family: 'Hanken Grotesk', sans-serif !important;
    line-height: 1.65 !important;
    color: var(--head) !important;
    padding: 0 !important;
}
.google-reviews-wrapper .ti-widget .ti-author-name {
    display: block !important;
    margin-top: 16px !important;
    font-style: normal !important;
    font-size: 10px !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: var(--muted) !important;
    font-family: 'Montserrat', sans-serif !important;
}
/* Hide the plugin's default extra elements */
.google-reviews-wrapper .ti-widget .ti-header,
.google-reviews-wrapper .ti-widget .ti-read-more,
.google-reviews-wrapper .ti-widget .ti-icon,
.google-reviews-wrapper .ti-widget .ti-date {
    display: none !important;
}
/* ==========================================
   CLASS PREVIEW MODALS (POP-UPS)
   ========================================== */
.modal-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(40, 30, 35, 0.85); z-index: 9999;
    display: none; align-items: center; justify-content: center;
    padding: 20px; opacity: 0; transition: opacity 0.3s ease;
}
.modal-overlay.is-active { display: flex; opacity: 1; }
.modal-box {
    background: #fff; border-radius: 20px; overflow: hidden;
    max-width: 840px; width: 100%; display: grid; grid-template-columns: 1fr 1.1fr;
    position: relative; transform: translateY(20px); transition: transform 0.3s ease;
}
.modal-overlay.is-active .modal-box { transform: translateY(0); }
.modal-close {
    position: absolute; top: 16px; right: 16px; z-index: 10;
    background: #fff; border: none; width: 34px; height: 34px;
    border-radius: 50%; font-size: 24px; line-height: 1; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--head); box-shadow: var(--shadow);
}
.modal-close:hover { background: var(--berry); color: #fff; }
.modal-img { position: relative; min-height: 340px; }
.modal-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.modal-txt { padding: 48px 46px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.modal-txt h3 { margin: 10px 0 16px; font-size: clamp(26px, 3vw, 32px); }
.modal-txt p { margin-bottom: 26px; font-size: 14.5px; }

@media(max-width: 768px) {
    .modal-box { grid-template-columns: 1fr; max-height: 90vh; overflow-y: auto; }
    .modal-img { min-height: 240px; }
    .modal-txt { padding: 36px 32px; }
}

/* ==========================================
   NEW PRICING TABLE & SPECIALS (NO CONTRACT)
   ========================================== */
.packs.on-blush {background:var(--blush-soft)}
.table { margin-top: 30px; background: #fff; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); }
.table table { width: 100%; border-collapse: collapse; }
.table thead th { text-align: left; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); font-weight: 700; padding: 18px 26px; background: #FCFAF9; border-bottom: 1px solid var(--line); }
.table thead th.num, .table tbody td.num { text-align: right; }
.table tbody td { padding: 22px 26px; border-bottom: 1px solid var(--line); font-size: 15.5px; color: var(--ink); vertical-align: middle; }
.table tbody tr:last-child td { border-bottom: none; }
.table tbody tr:hover { background: #FDFAF9; }
.table td.name { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 600; color: var(--head); }
.table td.amt { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; color: var(--head); }
.table td.per { color: var(--berry); font-weight: 600; font-size: 14.5px; }
.table td.act { text-align: right; white-space: nowrap; }
.flag { display: inline-block; background: var(--blush); color: var(--berry-deep); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; padding: 5px 11px; border-radius: 999px; margin-left: 10px; vertical-align: middle; }

.specials { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.sp { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 30px 32px; display: flex; flex-direction: column; }
.sp h3 { font-size: 24px; margin: 0 0 4px; font-weight: 600; font-family: 'Cormorant Garamond', serif; }
.sp .sub { font-size: 13.5px; margin: 0 0 20px; }
.sp .amt { font-family: 'Cormorant Garamond', serif; font-size: 44px; line-height: 1; font-weight: 600; margin: 0; color: var(--head); }
.sp .per { font-size: 14px; color: var(--berry); font-weight: 600; margin: 9px 0 0; }
.sp dl { margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; }
.sp .row { display: flex; justify-content: space-between; font-size: 14px; }
.sp .row dt { color: var(--muted); margin: 0; }
.sp .row dd { margin: 0; font-weight: 600; color: var(--head); }
.sp .cta { margin-top: auto; padding-top: 24px; }

@media (max-width: 960px) {
  .specials { grid-template-columns: 1fr; }
  .table thead { display: none; }
  .table table, .table tbody, .table tr, .table td { display: block; width: 100%; }
  .table tbody tr { border-bottom: 1px solid var(--line); padding: 20px 22px; }
  .table tbody tr:last-child { border-bottom: none; }
  .table tbody td { border: none; padding: 4px 0; text-align: left !important; }
  .table tbody td.num { text-align: left; }
  .table td[data-l]::before { content: attr(data-l); display: block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; font-weight: 700; }
  .table td.act { padding-top: 14px; }
}

/* ==========================================
   MOBILE NAV BUTTON FIX
   ========================================== */
@media (max-width: 768px) {
    .navbar {
        padding: 0 16px; /* Tighten the edges of the header */
    }
    .nav-book {
        padding: 8px 14px !important;
        font-size: 9px !important;
        letter-spacing: .12em !important;
		text-align: center;
    }
    .navbar > div {
        gap: 9px !important;
    }
}

@media (max-width: 480px) {
    .nav-book {
		margin-left: 6px;	
	}
	.navbar > div {
        gap: 3px !important;
    }
}

/* For very small phones (like iPhone SE), shrink it even further */
@media (max-width: 410px) {
    .nav-book {
        padding: 8px 10px !important;
        font-size: 8.5px !important;
        letter-spacing: .08em !important;
    }
    .navbar .logo img {
        height: 22px; /* Slightly shrink the logo to make room */
    }
}

/* ==========================================
   THE TRAINERS PAGE
   ========================================== */
.page-trainers {
  --tr-ink: #241A21;
  --tr-ink-2: #6E5D66;
  --tr-paper: #FFFFFF;
  --tr-line: #E8DDE1;
  --tr-rose: #B5405F;
  --tr-rose-deep: #8A2C45;
  --tr-rose-soft: #F4E2E8;
  --tr-gutter: 24px;
  --tr-radius: 26px;
  --tr-measure: 64ch;
  
  background: var(--tr-paper);
  color: var(--tr-ink);
  font-size: 17px;
  line-height: 1.62;
}

.tr-wrap { max-width: 1180px; margin: 0 auto; padding: 0 var(--tr-gutter); }

.tr-intro { padding: clamp(48px, 7vw, 92px) 0 clamp(36px, 5vw, 56px); }
.tr-eyebrow { font-size: 10.5px;font-weight: 600;text-transform: uppercase;color: var(--berry);margin: 0 0 18px;font-family: 'Montserrat', sans-serif;letter-spacing: .3em;}
.tr-h1 { font-size: clamp(40px, 4.4vw, 58px); line-height: 1.12; margin: 0 0 22px; text-wrap: balance; max-width: 16ch; color: var(--head); }
.tr-h1 em { font-style: normal; color: var(--berry); }
.tr-lede { font-size: 15.5px; line-height: 1.7; color: var(--ink); max-width: var(--tr-measure); margin: 0 0 28px; }

.tr-cta { font-family: 'Montserrat', sans-serif;
    display: inline-block;
    font-size: 10.5px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 14px 28px;
    border-radius: 100px;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: all .25s; background: var(--berry); color: #fff;}
.tr-cta:hover { background: var(--tr-rose-deep); color: #fff;}

.tr-team { padding-bottom: clamp(56px, 7vw, 96px); }
.tr-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--tr-line); padding-top: 22px; margin-bottom: 36px; }
.tr-h2 { font-size: clamp(26px, 3vw, 34px); margin: 0; letter-spacing: -.01em; color: var(--head); }
.tr-section-head p { margin: 0; font-size: 14px; color: var(--tr-ink-2); }

.tr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: calc(var(--tr-gutter) * 1.6) var(--tr-gutter); }
.tr-trainer { display: flex; flex-direction: column; gap: 16px; }
.tr-portrait { border-radius: var(--tr-radius); overflow: hidden; background: var(--tr-rose-soft); aspect-ratio: 4/5; position: relative; margin: 0;}
.tr-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.tr-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; background: repeating-linear-gradient(135deg, transparent 0 11px, color-mix(in srgb, var(--tr-rose) 8%, transparent) 11px 12px), var(--tr-rose-soft); color: var(--tr-rose-deep); }
.tr-ph b { font-style: italic; font-weight: 300; font-size: 44px; line-height: 1; }
.tr-ph span { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; opacity: .72; }

.tr-name { font-style: italic; font-weight: 400; font-size: clamp(23px, 2.3vw, 27px); line-height: 1.06; letter-spacing: -.01em; margin: 0; color: var(--tr-ink); }

.tr-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tr-chips li { font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--tr-ink-2); border: 1px solid var(--tr-line); border-radius: 999px; padding: 5px 12px; background: var(--tr-paper); }
.tr-chips li.key { color: var(--tr-rose-deep); border-color: var(--tr-rose-soft); background: var(--tr-rose-soft); }

.tr-trainer p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--tr-ink); }
.tr-pull { border-left: 2px solid var(--tr-rose); padding-left: 16px !important; font-style: italic; font-weight: 300; font-size: 16.5px !important; line-height: 1.45 !important; color: var(--tr-ink); }
.tr-ig { font-size: 13px; font-weight: 600; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--tr-rose) 45%, transparent); align-self: flex-start; color: var(--tr-rose-deep); }

.tr-close { border-top: 1px solid var(--tr-line); padding: clamp(48px, 6vw, 80px) 0 clamp(60px, 8vw, 110px); text-align: center; }
.tr-close .tr-h2 { font-size: clamp(30px, 4.4vw, 50px); margin: 0 0 16px; text-wrap: balance; }
.tr-close p { margin: 0 auto 28px; max-width: 46ch; color: var(--tr-ink-2); }