@import url('https://fonts.googleapis.com/css2?family=Frank+Ruhl+Libre:wght@300..900&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Jost:ital,wght@0,100..900;1,100..900&family=Libre+Caslon+Display&display=swap');
 :root {
    --dark: #000000;
    --black: #282828;  
    --theme: #5A7BA0;
    --white:#ffffff;
    --gray: #5D5D5D;
    --hover-time: 0.6s;
    --transition-ease: cubic-bezier(0.4, 0.0, 0.2, 1);
    --transition: cubic-bezier(0.4, 0.0, 0.2, 1) 0.5s;
    --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    --card-shadow-hover: 0 20px 50px rgba(0, 0, 0, 0.25);
}
 body{
  font-family: "Jost", sans-serif;
 }
 .gray-bg {
    background: #F5F7FC;
}
 h1{
  font-family: "Libre Caslon Display", serif;
 }
  h2 {
      color: var(--theme);
      font-family: "Libre Caslon Display", serif;
     font-size: 3.5rem;
      font-weight: 400;
      margin-bottom: 1.5rem;
  }
  h4 {
    font-family: "Frank Ruhl Libre", serif;
    font-size: 2.3rem;
    font-weight: 400;
    line-height: 1.3;
    color: var(--dark);
    margin-bottom: 1rem;
}
   h5 {
      font-family: "Jost", sans-serif;
      font-size: 1.5rem;
      font-weight: 300;
      line-height: 1.6;
      color: var(--dark);
      margin-bottom: 1.5rem;
    }

    p {
      font-family: "Jost", sans-serif;
      font-size: 1.1rem;
      font-weight: 300;
      color: var(--gray);
      line-height: 1.6;
      margin-bottom: 1rem;
    }
    .btn.btn-primary, .btn.btn-book{
    font-family: "Instrument Sans", sans-serif;
    background-color: var(--theme);
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0;
    padding: 10px 25px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    }
    /* Animated background overlay from left */
        .btn-primary::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: #0056b3;
            transition: left 0.4s ease;
            z-index: -1;
        }

        .btn-primary:hover::before {
            left: 0;
        }

        /* Ripple effect on hover */
        .btn-primary::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: #A8C5E2B2;
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }

        .btn-primary:hover::after {
            width: 300px;
            height: 300px;
        }

        /* Text effects on hover */
        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
        }

        /* Active state */
        .btn-primary:active {
            transform: translateY(-1px);
        }
        .sec-pad{
          padding: 60px 0;
        }
 /* === Header Navbar === */
    .navbar {
      background: #2D455FB2; /* deep navy tone from your image */
      padding: 1rem 2rem;
    }

    .navbar-brand {
      color: #ffffff;
      font-weight: 600;
      letter-spacing: 0.5px;
      font-size: 1.2rem;
    }

    .navbar-brand:hover {
      color: #fff;
    }

   .navbar-nav .nav-link {
    color: #FBFBFB;
    font-weight: 400;
    margin: 0 5px;
    font-size: 14px;
    text-transform: uppercase;
}
.dropdown-item {
   font-weight: 400;
   font-size: 14px;
   text-transform: uppercase;
}

    .navbar-nav .nav-link:hover {
      color: #ffffff;
    }
    .dropdown-item.active, .dropdown-item:active {
    color: var(--white);
    text-decoration: none;
    background-color: var(--theme);
}

   .btn-book {
    border: 1px solid #FFFFFF;
}

    .btn-book:hover {
      background-color: #173a58;
    }

    /* === Hero Banner === */
    .hero-section {
      position: relative;
      background: url('../images/banner.jpg') center/cover no-repeat;
      min-height: 700px;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      color: #fff;
    }

    .hero-content {
     position: relative;
    background: #F3F5F6E5;
    color: #1b365d;
    padding: 2rem;
    max-width: 500px;
    border: 1px solid #5A7BA0;
    margin-left: auto;
    margin-top: 4rem;
    text-align: center;
    }

    .hero-content h1 {
      font-size: 3.5rem;
      font-weight: 400;
      margin-bottom: 1.5rem;
      line-height: 1.3;
      color: var(--theme);
    }

    .hero-content strong {
      color: var(--theme);
    }

    .hero-content a.btn {
      margin-top: 1.5rem;
    }
    .header-top {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    background: var(--theme);
}
.header-top-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin-bottom: 0;
    grid-gap: 20px;
    height: 40px;
    padding: 0;
}
.header-top-list li a {
    font-size: 1rem;
    font-weight: 300;
    color: var(--white);
    text-decoration: none;
    display: flex;
    align-items: center;
    grid-gap: 5px;
}
ul.header-top-list svg {
    height: 16px;
    width: 16px;
}
.fixed-top {
    position: fixed;
    top: 40px;
    right: 0;
    left: 0;
    z-index: 1030;
}
.header-top-list li a svg path{
  fill: var(--white);
  stroke: var(--white);
}

    /* === Responsive === */
    @media all and (min-width: 992px) {
    .navbar .dropdown-menu-end{ right:0; left: auto;  }
    .navbar .nav-item .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        margin-top: 0;
        overflow: auto;
    }
    .navbar .nav-item:hover .nav-link{ color: #fff;  }
    .navbar .dropdown-menu.fade-down{ top:80%; transform: rotateX(-75deg); transform-origin: 0% 0%; }
    .navbar .dropdown-menu.fade-up{ top:180%;  }
    .navbar .nav-item:hover .dropdown-menu{ transition: .3s; opacity:1; visibility:visible; top:100%; transform: rotateX(0deg); }
     /* Smooth dropdown animation */
    .dropdown-menu {
      display: block;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: all 0.3s ease;
    }

    .dropdown:hover .dropdown-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* Optional: small shadow & rounded corners */
    .dropdown-menu {
      border: none;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
      border-radius: 10px;
    }
    }
    @media (max-width: 992px) {
      .hero-section {
        justify-content: center;
        padding: 2rem;
      }

      .hero-content {
        margin-right: 0;
        max-width: 100%;
      }

      .hero-content h1 {
        font-size: 2rem;
      }
    }

    .btn-link {
      font-size: 1rem;
      color: #000;
      text-decoration: none;
      font-weight: 500;
      margin-left: 15px;
    }

    .btn-link:hover {
      text-decoration: underline;
    }

    .our-story-section img {
      border-radius: 5px;
      width: 100%;
      height: auto;
      object-fit: cover;
    }

    @media (max-width: 991px) {
      .our-story-section h2 {
        font-size: 2rem;
      }
    }

    @media (max-width: 767px) {
      .navbar-brand {
    width: 220px;
}
.navbar-brand img{
  width: 100%;
}
.navbar {
    padding: 1.2rem 1rem;
}
.header-top-list {
    grid-gap: 10px;
}
.header-top-list li a {
    font-size: 13px;
    grid-gap: 5px;
}
.mob-none{
  display: none;
}
      .our-story-section {
        padding: 50px 0;
      }
    }

      .pilates-section {
      position: relative;
      background: #F5F7FC;
      padding: 70px 0;
      overflow-x: hidden;
    }

    /* Decorative background block */
    .pilates-section::before {
    content: "";
    position: absolute;
    left: 0;
    width: 40%;
    height: 50%;
    background-color: #A8C5E2B2;
    z-index: 0;
    bottom: 0;
}
.pilates-section.reformer-pilates::before{
  right: 0;
  left: auto;
}

    .pilates-section .container {
      position: relative;
      z-index: 1;
    }

    /* Button Styles */
    .btn-primary {
      background-color: #47668a;
      border: none;
      padding: 12px 30px;
      border-radius: 0;
      font-weight: 500;
      position: relative;
      overflow: hidden;
      transition: all 0.4s ease;
      letter-spacing: 0.5px;
    }

    .btn-primary::before {
      content: "";
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: #5a7ca6;
      transition: all 0.4s ease;
      z-index: 0;
    }

    .btn-primary:hover::before {
      left: 0;
    }

    .btn-primary span {
      position: relative;
      z-index: 1;
      transition: transform 0.3s ease;
      display: inline-block;
    }

    .btn-primary:hover span {
      transform: translateX(3px);
    }

    .btn-link {
      color: #000;
      font-weight: 500;
      margin-left: 20px;
      text-decoration: none;
      transition: all 0.3s ease;
    }

    .btn-link:hover {
      color: #47668a;
      text-decoration: underline;
    }

    .pilates-section img {
      border-radius: 5px;
      width: 100%;
      height: auto;
      object-fit: cover;
      box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    }

    @media (max-width: 991px) {
      .pilates-section::before {
        width: 60%;
        height: 30%;
        top: auto;
        bottom: 0;
      }
          .pilates-section .row {
        flex-direction: column-reverse;
    }
    .pilates-section.reformer-pilates .row {
        flex-direction: column;
    }
    }

    @media (max-width: 767px) {
      .pilates-section {
        padding: 60px 0;
      }
    .pilates-section::before {
        width: 80%;
        height: 20%;
        top: auto;
        bottom: 0;
      }
      .pilates-section .row {
        flex-direction: column-reverse;
      }

       .pilates-section.reformer-pilates .row {
        flex-direction: column;
      }

      .btn-link {
        margin-left: 10px;
      }
    }

    /* Section wrapper (no hero) */
    section.trainers {
      background-image: url(../images/trainer-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
    }

    /* Top heading: Qualified. Experienced. */
    .trainers-header {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
      align-items: start;
      margin-bottom: 2.5rem;
    }
    .trainers-header .intro {
      color: #9b9b9b;
      font-size: 0.98rem;
      max-width: 60ch;
      justify-self: end;
      text-align: left;
    }

    /* Left column small vertical "OUR TRAINERS" stacked */
    .vertical-title {
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      font-size: 2.1rem;
      color: rgba(255,255,255,0.06);
      letter-spacing: 2px;
      font-weight: 700;
    }

    /* Grid of cards */
    .trainer-grid {
      margin-top: 1.75rem;
    }

    .trainer-card {
      background: transparent;
      border: none;
      padding: 0;
    }

    .trainer-card a {
    text-decoration: none;
    }

    .trainer-thumb {
      position: relative;
      overflow: hidden;
      border-radius: 12px;
    }

    /* image: make it cover, centered (some images tall, some square) */
     .trainer-gallery {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 30px;
            max-width: 1200px;
        }

        .trainer-thumb {
            position: relative;
            overflow: hidden;
            border-radius: 8px;
            background: #fff;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
            transition: transform var(--hover-time) var(--transition-ease),
                        box-shadow var(--hover-time) var(--transition-ease);
            cursor: pointer;
        }

        .trainer-thumb img {
            width: 100%;
            height: 320px;
            object-fit: cover;
            display: block;
            transition: transform var(--hover-time) var(--transition-ease),
                        filter var(--hover-time) var(--transition-ease);
            filter: grayscale(100%) contrast(1.02) brightness(0.98);
            transform-origin: center center;
        }

        /* Hover interactions */
        .trainer-thumb:hover,
        .trainer-thumb:focus-within {
            transform: translateY(-10px);
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
        }

        .trainer-thumb:hover img,
        .trainer-thumb:focus-within img {
            transform: scale(1.08);
            filter: grayscale(0%) contrast(1.05) brightness(1.02);
        }

        /* Info section */
        .trainer-info {
            padding: 20px;
            background: white;
            transition: all var(--hover-time) var(--transition-ease);
        }

        .trainer-name {
            font-size: 18px;
            font-weight: 600;
            color: #333;
            margin-bottom: 5px;
            transition: color var(--hover-time) var(--transition-ease);
        }

        .trainer-title {
            font-size: 14px;
            color: #999;
            transition: color var(--hover-time) var(--transition-ease);
        }

        .trainer-thumb:hover .trainer-name,
        .trainer-thumb:focus-within .trainer-name {
            color: #007bff;
        }

        .trainer-thumb:hover .trainer-title,
        .trainer-thumb:focus-within .trainer-title {
            color: #666;
        }

    /* caption overlay that appears on hover */

    /* name below image (for non-hover layout like screenshot) */
    .trainer-name {
    position: relative;
    text-align: center;
    color: var(--black);
    font-weight: 300;
    font-size: 1.5rem;
    margin-top: .75rem;
}
.trainer-name::after {
    content: "";
    position: absolute;
    background: var(--theme);
    height: 2px;
    width: 200px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

    /* subtle stagger animation (using AOS data-delay attribute) */
    @media (max-width: 767.98px) {
      .trainer-thumb img { height: 280px; }
      .trainer-name::after {
    width: 100px;
}
    }
    @media (max-width: 575.98px) {
      .trainers-header { grid-template-columns: 1fr; }
      .trainers-header .intro { justify-self: start; margin-top: .5rem; }
      .trainer-thumb img { height: 220px; }
    }

     /* Container / section */
    section.reviews-carousel {
      margin: 0 auto;
      padding: 4rem 0;
    }

    /* Owl nav custom */
    .owl-nav .owl-prev,
    .owl-nav .owl-next {
      position: absolute;
      top: 40%;
      background: transparent;
      border: none;
      font-size: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }
    .owl-arrow{
      width: 36px;
      height: 36px;
       color: var(--white) !important;
      background: var(--theme) !important;
      border-radius: 50% !important;
    }
    .owl-nav .owl-prev { left: -15px; }
    .owl-nav .owl-next { right: -15px; }

    .owl-nav button svg { width: 20px; height: 20px; stroke: rgba(0,0,0,0.55); }
    .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: var(--theme);
}

    /* Card style */
    
.review-card {
    padding: 25px;
    height: 300px;
    position: relative;
    display: flex;
    flex-direction: column;
    background: linear-gradient(126.27deg, #E1EFFF -11.56%, #FFFFFF 16.68%, #FFFFFF 73.72%, #D6E7FF 134.39%);
    border: 0.5px solid #5A7BA0;
    box-shadow: 0px 43px 12px 0px #00000000;
    border-radius: 16px;
}

    .review-meta {
      display:flex;
      align-items: center;
      justify-content: space-between;
      gap:10px;
      margin-bottom: 8px;
    }

.review-author {
    font-weight: 300;
    font-size: 1.5rem;
    color: var(--black);
}

 .review-date {
    color: #00000080;
    margin-top: 3px;
}
    .pull-right{
      float: right;
    }

    /* Google icon (small) */
    .google-badge {
      width: var(--google-logo-size);
      height: var(--google-logo-size);
      display: inline-block;
    }

    /* Stars */
    .stars {
      margin: 8px 0 14px;
      display:flex;
      gap: 6px;
      align-items:center;
    }
    .star { width: 18px; height: 18px; display:inline-block; }
    .star svg{ stroke: #FFC107; opacity: .5; }
    .star.filled svg { fill: #FFC107; opacity: 1 }

    /* Review text */
    .review-text {
      color:#4b5563;
      font-size: 0.98rem;
      line-height: 1.62;
      margin-top: 6px;
      flex: 1 1 auto;
    }

    /* Make cards visually similar height and vertically align content */
    .review-card .bottom-spacer { height: 6px; }

    /* Owl dots */
    .owl-dots { margin-top: 20px; text-align:center; }
    .owl-dot { width: 10px; height: 10px; margin: 6px; display:inline-block; border-radius:50%; background: rgba(2,6,23,0.12); }
    .owl-dot.active { background: rgba(2,6,23,0.36); }

    /* Responsive tweaks */
    @media (max-width: 991.98px) {
      .owl-theme .owl-nav {
    margin-top: 10px;
    display: none;
}
    }
    @media (max-width: 575.98px) {
      .review-card { padding: 20px; min-height: auto; }
    }
/* Gallery section */
    section.pilates-gallery {
      padding: 0 12px;
    }

    /* Card */
    .photo-gallery {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 30px;
        }

        .photo-card {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: var(--card-shadow);
            transition: transform 0.5s var(--transition),
                        box-shadow 0.5s var(--transition);
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: white;
        }

        .photo-card .photo {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform 0.5s var(--transition),
                        filter 0.5s var(--transition);
            will-change: transform, filter;
            filter: saturate(0.95) contrast(1.02) brightness(0.98);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
            border-radius: 12px;
        }

        /* Hover state */
        .photo-card:hover,
        .photo-card:focus-within {
            transform: translateY(-12px) scale(1.02);
            box-shadow: var(--card-shadow-hover);
        }

        .photo-card:hover .photo,
        .photo-card:focus-within .photo {
            transform: scale(1.08);
            filter: saturate(1.1) contrast(1.05) brightness(1.02);
        }

        /* Overlay effect on hover */
        .photo-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%);
            opacity: 0;
            transition: opacity 0.5s var(--transition);
            pointer-events: none;
            border-radius: 12px;
            z-index: 2;
        }

        .photo-card:hover::before,
        .photo-card:focus-within::before {
            opacity: 1;
        }

        .photo-card {
            position: relative;
        }

        .photo-info {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 20px;
            background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
            color: white;
            transform: translateY(20px);
            opacity: 0;
            transition: transform 0.5s var(--transition),
                        opacity 0.5s var(--transition);
            z-index: 3;
            border-radius: 0 0 12px 12px;
        }

        .photo-card:hover .photo-info,
        .photo-card:focus-within .photo-info {
            transform: translateY(0);
            opacity: 1;
        }

    /* optional caption area (if you want names below images) */
    .card-caption {
      padding: 12px 10px;
      text-align: center;
      color: rgba(255,255,255,0.9);
      font-weight: 600;
      background: transparent;
      font-size: 0.98rem;
    }

    /* responsive tweaks */
    @media (max-width: 575.98px) {
      .gallery-row { gap: 14px; }
    }
    section.cta {
      padding: 50px 0 30px;
    }

    .cta-headline {
      color: var(--theme);
      font-weight: 400;
      font-size: clamp(28px, 6vw, 54px);
      line-height: 1.05;
      margin-bottom: 18px;
    }
    .cta-copy {
      color: #b9c0c6;
      max-width: 56ch;
      margin-bottom: 22px;
    }

    .btn-primary-cta {
      background: var(--theme);
      color: #fff;
      border: none;
      padding: .7rem 1.15rem;
      border-radius: 4px;
      box-shadow: 0 8px 24px rgba(95,134,173,0.12);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .btn-primary-cta:hover { transform: translateY(-3px); }

    /* contact column */
    .contact-panel {
      color: #bfc7cc;
      padding-left: 32px;
      position: relative;
    }
    .contact-panel p {
    color: var(--dark);
    font-size: 1.5rem;
}
    .strong {
    color: var(--dark);
    font-weight: 500;
}
    .contact-panel::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #CCCCCC;
    transform: translateX(-30px);
    }
    .contact-panel h5 {
    font-size: 1.2rem;
    color: #5D5D5D;
    font-weight: 300;
    margin-bottom: .5rem;
}
    .contact-row { gap: 14px; }

    /* ---------- IMAGE / MAP ROW ---------- */
    .map-row { margin-top: 28px; }
    .map-section{
      overflow: hidden;
    }
    .street-img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      display:block;
    }
    .map-placeholder iframe{
      width: 100%;
      height: 300px;
      object-fit: cover;
      display:block;
    }

    /* ---------- FOOTER ---------- */
   
/* Footer */
    footer.site-footer {
      background: radial-gradient(111.52% 111.84% at 0.62% 101.9%, #F6F6F6 0%, #F3F5F6 100%) ;
      padding: 56px 0 40px;
      border-top: 1px solid rgba(0,0,0,0.04);
    }

    .footer-title {
      font-family: "Playfair Display", Georgia, serif;
      text-align: center;
      color: var(--theme);
      font-weight: 400;
    }

    .footer-hr {
      height: 1px;
      background: rgba(0,0,0,0.06);
      margin: 10px auto 30px;
      width: 96%;
      max-width: 1100px;
    }

    .footer-links a {
      display: block;
      color: var(--black);
      text-decoration: none;
      padding: 6px 0;
      transition: color .3s ease, transform .5s ease;
      font-size: 1rem;
      font-weight: 300;
    }
    .footer-links a:hover { color: var(--theme); transform: translateX(4px); }

    .contact-info {
      color: var(--muted);
      font-size: .95rem;
    }
    .contact-info a {
      display: block;
      color: var(--black);
      text-decoration: none;
      padding: 6px 0;
      transition: color .3s ease, transform .5s ease;
      font-size: 1rem;
      font-weight: 300;
    }
     .contact-info a:hover { color: var(--accent-blue); transform: translateX(4px); }


    .contact-info .ci-row { display:flex; gap:10px; align-items:center; margin-bottom:0; }
    .contact-icon {
      width:24px; height:24px; display:inline-grid; place-items:center;
      background: var(--icon-bg);
      border-radius:50%;
      color: var(--accent-blue);
      font-size: 18px;
    }

    .socials { display:flex; gap:10px; margin-top:1rem; }
    .socials a {
      width:36px; height:36px; display:inline-grid; place-items:center;
      border-radius:50%; background:transparent; border:1px solid var(--theme);
      color: var(--accent-blue); text-decoration:none; transition: background .12s ease, transform .12s ease;
    }
    .socials a:hover { background: var(--theme); color: #fff; transform:translateX(0); }
    .socials a:hover svg path{
      fill: #FFFFFF;
    }
     header .socials{
      list-style: none;
      margin-bottom: 0;
      padding: 0;
     }
    header .socials a {
    width: 36px;
    height: 36px;
    display: inline-grid
;
    place-items: center;
    border-radius: 50%;
    background: transparent;
    border: 1px solid #ffffff;
    color: var(--accent-blue);
    text-decoration: none;
    transition: background .12s 
ease, transform .12s 
ease;
}
 header .socials a svg path{
  fill: #FFFFFF;
 }
    /* Small helper alignment (left column spacing like screenshot) */
    .links-col { padding-top: 8px; }
    .dark-color{
      color: var(--dark);
    }

    /* Responsive */
    @media (max-width: 991.98px) {
      .footer-title { font-size: clamp(22px, 6vw, 36px); margin-bottom: 12px; }
      .footer-hr { margin-bottom: 20px; }
      header .socials {
    padding-top: 12px;
}
    }

    @media (max-width: 575.98px) {
      .footer-links a { font-size: .92rem; }
      .contact-info { font-size: .9rem; }
    }
    /* CTA floating popup (bottom-left) */
    .floating-cta {
      position: fixed;
      left: 18px;
      bottom: 110px;
      background: linear-gradient(180deg,#ffffff,#e9f4ff);
      color: #123;
      border-radius: 10px;
      padding: 18px;
      width: 220px;
      box-shadow: 0 30px 60px rgba(2,6,23,0.28);
      z-index: 1050;
      border: 1px solid rgba(0,0,0,0.06);
      transform-origin: bottom left;
    }
    .floating-cta h6 { font-size: 18px; margin:0 0 8px; color: #2e4b6f; }
    .floating-cta .small-cta { font-size: 13px; color:#3e5a78; margin-bottom:10px; }
    .floating-cta .close-cta { position:absolute; right:6px; top:6px; border-radius:50%; background:#f2f7ff; border:1px solid rgba(0,0,0,0.06); width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }

    /* Bottom-right chat icons */
.chat-icons {
    position: fixed;
    right: 100px;
    bottom: 17px;
    display: flex;
    gap: 10px;
    z-index: 1100;
}
    .chat-icons a { width:60px; height:60px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; box-shadow: 0 12px 30px rgba(0,0,0,0.25); color:white; text-decoration:none; transition: 0.25s 
ease-in-out; }

.chat-icons a:hover {
    box-shadow: rgba(0, 0, 0, 0.38) 0px 4px 12px;
    transition: 0.25s 
ease-in-out;
    filter: brightness(125%);
}
    /* Cookie bar */
    .cookie-bar {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      background: #0b0b0b;
      color: #e6e6e6;
      padding: 12px 18px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:16px;
      z-index:1200;
    }
    .cookie-bar .btn { min-width: 110px; }
    .footer-logo {
    height: 150px;
    width: 100%;
}
.footer-logo img{
    height: 100%;
    width: 100%;
    object-fit: contain;
}

    /* Responsive */
    @media (max-width: 991.98px) {
      .contact-panel { padding-left: 16px; }
      .contact-panel::before { display:none; }
      .floating-cta { left: 12px; bottom: 140px; width: 200px; }
      .pull-right {
    float: none;
}
    }
    @media (max-width: 575.98px){
      .cta-headline { font-size: 28px; }
      .map-placeholder { min-height: 220px; }
      .floating-cta { display:none; } /* hide on small */
    }
 @media (min-width: 1300px) {
.our-story-section img {
    height: 545px;
}
.pilates-section img {
    height: 550px;
}
.pilates-section.reformer-pilates img{
  height: 650px;
}
}
    @media (min-width: 1600px) {
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1280px;
    padding: 0;
}
  h5 {
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
}
header .socials a {
    width: 40px;
    height: 40px;
}
header .socials a svg{
    width: 16px;
    height: 16px;
}
.header-top-list {
    grid-gap: 20px;
    height: 50px;
}
.header-top-list li a {
    font-size: 1.1rem;
}
.fixed-top {
    top: 50px;
}
 .dropdown-item {
        font-size: 16px;
        padding: 10px 30px;
    }
.navbar-nav .nav-link {
    font-size: 16px;
    margin: 0 15px;
}
p {
    font-size: 1.2rem;
    line-height: 1.7;
}
.btn.btn-primary, .btn.btn-book {
    font-size: 1.1rem;
    padding: 12px 20px;
}
.btn-link {
    font-size: 1.2rem;
}
.hero-content {
    padding: 2rem;
    max-width: 600px;
    margin-top: 4.5rem;
}
.hero-content h1 {
    font-size: 4rem;
}
.google-badge svg {
    height: 30px;
    width: 30px;
}
.review-author {
    font-size: 1.8rem;
}
.our-story-section img {
    height: 565px;
}
.pilates-section img {
    height: 600px;
}
.pilates-section.reformer-pilates img{
  height: 750px;
}
    }

    @media (min-width: 1900px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1600px;
    }
    a.navbar-brand img {
    height: 30px;
}
    .navbar-nav .nav-link {
    font-size: 18px;
}
.navbar {
    background: #2D455FB2;
    padding: 1.25rem 2rem;
}
.dropdown-item {
    font-size: 18px;
  }
  .header-top-list {
    grid-gap: 20px;
    height: 50px;
}
.header-top-list li a {
    font-size: 1.2rem;
}
.fixed-top {
    top: 50px;
}
h2 {
    margin-bottom: 1.8rem;
}
.hero-content {
    padding: 3rem;
    max-width: 700px;
    margin-top: 6rem;
}
.hero-content h1 {
    font-size: 5rem;
}
.our-story-section img {
    height: 600px;
}
.pilates-section img {
    height: 650px;
}
.pilates-section.reformer-pilates img{
  height: 800px;
}
p {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}
.btn.btn-primary, .btn.btn-book {
    font-size: 1.4rem;
    padding: 15px 40px;
}
.btn.btn-primary {
    font-size: 1.4rem;
    padding: 15px 40px;
}
.btn-link {
    font-size: 1.4rem;
}
h4 {
    font-size: 2.6rem;
  }
h5{
  font-size: 2rem;
}
h2 {
    font-size: 4rem;
    margin-bottom: 1.5rem;
}
a.btn.btn-link svg {
    height: 35px;
    width: 35px;
}
.trainer-thumb img {
    height: 420px;
}
.trainer-name {
    font-size: 1.6rem;
}
.footer-links a {
    padding: 10px 0;
    font-size: 1.4rem;
    font-weight: 300;
}
.contact-info a {
    font-size: 1.4rem;
    font-weight: 300;
}
.review-author {
    font-size: 1.8rem;
}
.review-date {
    font-size: 1.4rem;
    margin-top: 5px;
}
.star {
    width: 24px;
    height: 24px;
    display: inline-block;
}
.review-card {
    padding: 25px;
    height: 350px;
}
.contact-panel h5 {
    font-size: 1.8rem;
}
.contact-panel p {
    color: var(--dark);
    font-size: 2rem;
}
.street-img {
    width: 100%;
    height: 400px;
}
.map-placeholder iframe {
    width: 100%;
    height: 400px;
}
.contact-icon svg{
    width: 25px;
    height: 25px;
}
.socials a {
    width: 40px;
    height: 40px;
}
.socials svg{
    width: 20px;
    height: 20px;
}
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev {
    width: 50px;
    height: 50px;
}
.owl-carousel button.owl-dot {
    width: 40px;
    height: 40px;
}
.owl-theme .owl-dots .owl-dot span {
    width: 20px;
    height: 20px;
    border-radius: 50%;
}
.cta-band .btn-cta {
    font-size: 1.2rem;
    padding: 15px 30px;
}
header .socials a {
    width: 50px;
    height: 50px;
}
header .socials a svg{
    width: 18px;
    height: 18px;
}
.footer-logo {
    height: 200px;
    width: 100%;
}
}
 @media (min-width: 2000px) {
      .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1700px;
    }
 }
  @media (min-width: 2500px) {
      .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 2000px;
    }
    .sec-pad {
    padding: 80px 0;
}
header .socials a {
    width: 60px;
    height: 60px;
}
header .socials a svg{
    width: 22px;
    height: 22px;
}
.header-top-list {
    grid-gap: 30px;
    height: 70px;
}
.header-top-list li a {
    font-size: 1.4rem;
}
.header-top-list li a img{
  width: 28px;
    height: 28px;
}
.fixed-top {
    top: 70px;
}
.g-5, .gx-5 {
    --bs-gutter-x: 5rem;
}
       .hero-content {
        padding: 4rem;
        max-width: 850px;
        margin-top: 7rem;
    }
    .hero-content h1 {
        font-size: 6rem;
    }
        h2 {
        font-size: 5.5rem;
        margin-bottom: 2rem;
    }
        h4 {
        font-size: 3rem;
    }
        h5 {
        font-size: 2.6rem;
    }
    .our-story-section img {
    height: 850px;
}
.pilates-section img {
    height: 900px;
}
.pilates-section.reformer-pilates img {
    height: 1100px;
}
.navbar-nav .nav-link {
        font-size: 24px;
        margin: 0 20px;
    }
    .dropdown-item {
        font-size: 24px;
    }
      .btn.btn-primary {
        font-size: 1.6rem;
        padding: 20px 50px;
    }
        .btn-link {
        font-size: 1.6rem;
    }
         p {
        font-size: 1.8rem;
        line-height: 1.8;
        margin-bottom: 1.5rem;
    }
        .footer-links a {
        padding: 10px 0;
        font-size: 1.7rem;
        font-weight: 300;
    }
    .contact-info a {
    font-size: 1.7rem;
    font-weight: 300;
}
.contact-panel h5 {
    font-size: 2.2rem;
}
.contact-panel p {
    color: var(--dark);
    font-size: 2.4rem;
}
.street-img {
    width: 100%;
    height: 500px;
}
.map-placeholder iframe {
    width: 100%;
    height: 500px;
}
a.dark-color {
    color: var(--dark);
}
 .review-card {
        padding: 40px;
        height: 420px;
    }
        .review-author {
        font-size: 2.4rem;
    }
        .review-date {
        font-size: 1.8rem;
        margin-top: 5px;
    }
        .google-badge svg{
        height: 40px;
        width: 40px;
    }
.contact-icon {
    width: 40px;
    height: 40px;
    display: inline-grid;
    place-items: center;
    background: var(--icon-bg);
    border-radius: 50%;
    color: var(--accent-blue);
    font-size: 18px;
}
.contact-icon svg{
    width: 30px;
    height: 30px;
}
.socials a {
    width: 50px;
    height: 50px;
}
.socials svg{
    width: 25px;
    height: 25px;
}
    h6.hero-sub {
        font-size: 2rem;
        line-height: 1.5;
        margin-bottom: 20px;
    }
    .footer-logo {
    height: 300px;
    width: 100%;
}
  }
