/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme for Hello Elementor. Add your custom CSS below.
Author: HCE
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* ==================================================
   ADD YOUR CUSTOM CSS BELOW
   ================================================== */

/* Example:
.site-header {
    background-color: #ffffff;
}
*/
/* ==================================================
Hero Section Marque text
================================================== */
 .hce-marquee {
    --hce-orange: #ff914d;
    --hce-orange-dark: #f47f36;
    --hce-dark: #171717;
    --hce-white: #ffffff;

    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 12px 0;
    border-top: 1px solid rgba(23, 23, 23, 0.12);
    border-bottom: 1px solid rgba(23, 23, 23, 0.12);
    background:
      linear-gradient(
        90deg,
        var(--hce-orange-dark) 0%,
        var(--hce-orange) 45%,
        #ff9f63 100%
      );
    box-shadow:
      0 8px 25px rgba(23, 23, 23, 0.08),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);
  }

  .hce-marquee::before,
  .hce-marquee::after {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    width: 90px;
    pointer-events: none;
    content: "";
  }

  .hce-marquee::before {
    left: 0;
    background: linear-gradient(
      90deg,
      var(--hce-orange-dark),
      rgba(244, 127, 54, 0)
    );
  }

  .hce-marquee::after {
    right: 0;
    background: linear-gradient(
      270deg,
      #ff9f63,
      rgba(255, 159, 99, 0)
    );
  }

  .hce-marquee__track {
    display: flex;
    width: max-content;
    animation: hce-marquee-scroll 34s linear infinite;
    will-change: transform;
  }


  .hce-marquee__group {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 38px;
    padding-right: 38px;
  }

  .hce-marquee__item {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--hce-dark);
    font-family: Poppins, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.015em;
    white-space: nowrap;
  }

  .hce-marquee__icon {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.93);
    color: var(--hce-orange-dark);
    font-size: 12px;
    box-shadow: 0 5px 14px rgba(23, 23, 23, 0.1);
  }

  .hce-marquee__item strong {
    color: var(--hce-white);
    font-weight: 700;
    text-shadow: 0 1px 2px rgba(23, 23, 23, 0.12);
  }

  @keyframes hce-marquee-scroll {
    from {
      transform: translateX(0);
    }

    to {
      transform: translateX(-50%);
    }
  }

  @media (max-width: 768px) {
    .hce-marquee {
      padding: 10px 0;
    }

    .hce-marquee::before,
    .hce-marquee::after {
      width: 45px;
    }

    .hce-marquee__group {
      gap: 25px;
      padding-right: 25px;
    }

    .hce-marquee__item {
      gap: 9px;
      font-size: 12px;
    }

    .hce-marquee__icon {
      width: 24px;
      height: 24px;
      flex-basis: 24px;
      font-size: 10px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .hce-marquee__track {
      animation-play-state: paused;
    }
  }

/* ==================================================
css for the badge
================================================== */

.ct-review-badge{display:inline-flex;align-items:center;gap:13px;padding:10px 14px;background:rgba(7,27,48,.18);border:1px solid rgba(255,255,255,.14);border-radius:10px;font-family:Arial,sans-serif;text-decoration:none;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.ct-review-badge:hover{transform:translateY(-2px);background:rgba(7,27,48,.3);box-shadow:0 8px 22px rgba(0,0,0,.14)}.ct-review-avatars{display:flex;align-items:center}.ct-avatar,.ct-more{position:relative;width:42px;height:42px;margin-left:-11px;overflow:hidden;flex:0 0 42px;border:1.5px solid #fff;border-radius:50%;background:#fff}.ct-avatar:first-child{margin-left:0}.ct-avatar img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .28s ease,transform .28s ease}.ct-avatar img.ct-swap{opacity:0;transform:scale(1.08)}.ct-more{z-index:2;display:flex;align-items:center;justify-content:center;color:#1466d8;font-size:28px;font-weight:300}.ct-review-copy{display:flex;flex-direction:column;gap:4px}.ct-stars{color:#ffb800;font-size:19px;line-height:1;letter-spacing:1px;white-space:nowrap}.ct-label{color:#fff;font-size:15px;font-weight:700;line-height:1.1;white-space:nowrap}@media(max-width:480px){.ct-review-badge{gap:10px;padding:9px 11px}.ct-avatar,.ct-more{width:36px;height:36px;flex-basis:36px;margin-left:-10px}.ct-stars{font-size:16px}.ct-label{font-size:13px}}

/* ==================================================
css for the doctor section
================================================== */
.hce-two-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}

.hce-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 185px;
  height: 50px;
  padding: 0 28px;
  background: #000000;
  color: rgb(255, 255, 255);
  border: 1px solid #000000;
  border-radius: 999px;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.hce-btn:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  transform: translateY(-2px);
}

@media (max-width: 575px) {
  .hce-two-buttons {
    flex-direction: column;
    align-items: center;
  }

  .hce-btn {
    width: 100%;
    max-width: 280px;
  }
}
/* ==================================================
css for the about us page
================================================== */
.ct4-hero {
    position: relative;
    overflow: hidden;
    align-items: center;
    background:
        radial-gradient(circle at 10% 18%, rgba(56, 176, 248, .18), transparent 25%),
        radial-gradient(circle at 88% 8%, rgba(120, 216, 80, .2), transparent 28%),
        linear-gradient(135deg, #fff 0%, #f8fdff 54%, #f5fff2 100%);
}

.ct4-hero:before {
    content: "";
    position: absolute;
    top: -115px;
    right: -95px;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(56, 176, 248, .17);
    border-radius: 50%;
    box-shadow:
        0 0 0 45px rgba(120, 216, 80, .06),
        0 0 0 90px rgba(248, 144, 72, .035);
}

/* Tablet */
@media (max-width: 1024px) {
    .ct4-hero:before {
        width: 280px;
        height: 280px;
        top: -80px;
        right: -70px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ct4-hero:before {
        width: 180px;
        height: 180px;
        top: -50px;
        right: -50px;
        box-shadow:
            0 0 0 25px rgba(120, 216, 80, .06),
            0 0 0 50px rgba(248, 144, 72, .035);
    }
}

.ct-hero-clean{
    position:relative;
    padding:7px;
    border-radius:32px;
    overflow:visible;
    background:linear-gradient(135deg,#FF8848 0%,#7BD94F 50%,#36AFF4 100%);
    box-shadow:0 28px 65px rgba(21,51,58,.18);
}

.ct-hero-clean::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:90%;
    aspect-ratio:1;
    transform:translate(-50%,-50%);
    border:1px dashed rgba(54,175,244,.3);
    border-radius:50%;
    background:
        radial-gradient(circle at 86% 18%,#FF8848 0 6px,transparent 7px),
        radial-gradient(circle at 15% 80%,#7BD94F 0 5px,transparent 6px);
    
    animation:ctSimpleOrbit 22s linear infinite;
}

.ct-hero-clean img{
    display:block;
    width:100%;
    min-height:420px;
    object-fit:cover;
    object-position:center;
    border-radius:25px;
}

@keyframes ctSimpleOrbit{
    from{transform:translate(-50%,-50%) rotate(0)}
    to{transform:translate(-50%,-50%) rotate(360deg)}
}

@media(max-width:1024px){
    .ct-hero-clean::before{width:105%}
    .ct-hero-clean img{min-height:370px}
}

@media(max-width:767px){
    .ct-hero-clean{
        padding:5px;
        border-radius:24px;
    }
    .ct-hero-clean::before{width:103%}
    .ct-hero-clean img{
        min-height:290px;
        border-radius:19px;
    }
}

/* ==================================================
css for the about card
================================================== */ 
.dark21{
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 24px;
    padding: 30px;
    transition: all .45s ease;
}

/* Bottom Right Corner - Default Green */
.dark21::after{
    content: "";
    position: absolute;
    bottom: -35px;
    right: -35px;
    width: 95px;
    height: 95px;
    background: #204f47;
    border-radius: 80px 0 0 0;
    transition: all .45s ease;
    z-index: 1;
}

/* Keep content above */
.dark21 > *{
    position: relative;
    z-index: 2;
}

/* Hover */
.dark21:hover{
    background: linear-gradient(145deg,#0c211e,#204f47);
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
}

/* Corner becomes Orange on Hover */
.dark21:hover::after{
    background: #EF8D2F;
}

/* Text White */
.dark21 h3,
.dark21 p{
    transition: color .35s ease;
}

.dark21:hover h3,
.dark21:hover p{
    color: #fff !important;
}

/* ==================================================
   SITE-WIDE ECG PULSE PRELOADER
   Add this at the end of style.css
   ================================================== */

.hce-site-preloader {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 20%, rgba(54, 175, 244, 0.14), transparent 32%),
        radial-gradient(circle at 82% 78%, rgba(123, 217, 79, 0.13), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f7fcff 55%, #f8fff5 100%);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.42s ease, visibility 0.42s ease;
}

.hce-site-preloader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.hce-preloader__content {
    width: min(520px, 88vw);
    text-align: center;
}

.hce-preloader__pulse {
    width: 100%;
    margin: 0 auto;
}

.hce-preloader__pulse svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.hce-preloader__pulse path {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.hce-preloader__pulse .bg {
    stroke: rgba(54, 175, 244, 0.16);
    stroke-width: 3;
}

.hce-preloader__pulse .main {
    stroke: #36aff4;
    stroke-width: 4;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    filter: drop-shadow(0 0 7px rgba(54, 175, 244, 0.55));
    animation:
        hce-preloader-draw 1.35s ease-out 0.08s forwards,
        hce-preloader-glow 0.9s ease-in-out 0.5s infinite alternate;
}

.hce-preloader__brand {
    display: block;
    margin-top: 8px;
    color: #171717;
    font-family: "Poppins", Arial, sans-serif;
    font-size: clamp(17px, 2vw, 22px);
    font-weight: 700;
    line-height: 1.3;
}

.hce-preloader__text {
    display: block;
    margin-top: 6px;
    color: #5e6972;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.hce-preloader__dots::after {
    display: inline-block;
    width: 18px;
    overflow: hidden;
    vertical-align: bottom;
    content: "...";
    animation: hce-preloader-dots 1.2s steps(4, end) infinite;
}

@keyframes hce-preloader-draw {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
}

@keyframes hce-preloader-glow {
    from {
        opacity: 0.72;
        filter: drop-shadow(0 0 3px rgba(54, 175, 244, 0.35));
    }

    to {
        opacity: 1;
        filter: drop-shadow(0 0 9px rgba(54, 175, 244, 0.72));
    }
}

@keyframes hce-preloader-dots {
    0% { width: 0; }
    100% { width: 18px; }
}

@media (max-width: 767px) {
    .hce-preloader__content {
        width: min(420px, 92vw);
    }

    .hce-preloader__pulse .main {
        stroke-width: 3.5;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hce-preloader__pulse .main {
        stroke-dashoffset: 0;
        animation: none;
    }

    .hce-preloader__dots::after {
        animation: none;
    }

    .hce-site-preloader {
        transition-duration: 0.15s;
    }
}

/*
 * 888888888888
 *  css for the services page
 * 99999999999999999999
 *  */
.ctsrv,.ctsrv *{box-sizing:border-box}
.ctsrv{--orange:#ff8848;--orange-dark:#ef7136;--blue:#36aff4;--blue-dark:#138fd6;--green:#7bd94f;--emerald:#00ad69;--navy:#0d3a3a;--deep:#052622;--ink:#15333a;--text:#354b51;--muted:#748288;--sky:#eef9ff;--mint:#effced;--peach:#fff2e8;--paper:#fff;--line:rgba(21,51,58,.12);width:100%;overflow:hidden;color:var(--text);background:#fff;font-family:inherit}
.ctsrv a{color:inherit;text-decoration:none}.ctsrv button,.ctsrv input{font:inherit}.ctsrv img{display:block;max-width:100%}
.ctsrv-container{width:min(1320px,calc(100% - 42px));margin-inline:auto}
.ctsrv-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--orange-dark);font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.ctsrv-kicker:before{content:"";width:30px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--green),var(--blue))}
.ctsrv-heading{margin:0;color:var(--ink)}
.ctsrv-copy{color:var(--muted)}
.ctsrv-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:49px;padding:12px 22px;overflow:hidden;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:750;isolation:isolate;transition:.3s}
.ctsrv-button:before{content:"";position:absolute;top:-130%;left:-45%;z-index:-1;width:42%;height:360%;background:rgba(255,255,255,.28);transform:rotate(24deg);transition:left .6s}
.ctsrv-button:hover:before{left:120%}.ctsrv-button:hover{transform:translateY(-3px)}
.ctsrv-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ctsrv-button-primary{color:#fff;background:linear-gradient(135deg,var(--orange-dark),var(--orange));box-shadow:0 14px 30px rgba(255,136,72,.27)}
.ctsrv-button-secondary{color:var(--ink);border-color:var(--line);background:rgba(255,255,255,.92)}
.ctsrv-hero{position:relative;min-height:590px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 8% 15%,rgba(54,175,244,.22),transparent 23%),radial-gradient(circle at 93% 8%,rgba(123,217,79,.23),transparent 27%),linear-gradient(135deg,#fff 0%,#f7fcff 50%,#f6fff2 100%)}
.ctsrv-hero:before{content:"";position:absolute;top:-155px;left:-100px;width:430px;height:430px;border:1px solid rgba(54,175,244,.13);border-radius:50%;box-shadow:0 0 0 46px rgba(123,217,79,.05),0 0 0 92px rgba(255,136,72,.028)}
.ctsrv-hero:after{content:"";position:absolute;right:-125px;bottom:-170px;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(255,136,72,.19),transparent 68%)}
.ctsrv-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:74px;align-items:center;padding:72px 0 88px}
.ctsrv-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:25px;color:var(--muted);font-size:10px}.ctsrv-breadcrumb a{color:var(--ink)}.ctsrv-breadcrumb i{width:5px;height:5px;border-radius:50%;background:var(--orange)}
.ctsrv-hero h1{max-width:640px;margin:0;color:var(--ink)}.ctsrv-hero h1 span{display:block;color:var(--blue-dark)}
.ctsrv-hero-lead{max-width:610px;margin:24px 0 29px;color:var(--muted)}.ctsrv-hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.ctsrv-hero-visual{position:relative;min-height:430px;perspective:1200px}
.ctsrv-orbit{position:absolute;top:50%;left:50%;width:415px;height:415px;border:1px dashed rgba(54,175,244,.22);border-radius:50%;transform:translate(-50%,-50%);animation:ctsrvOrbit 24s linear infinite}
.ctsrv-orbit:before,.ctsrv-orbit:after{content:"";position:absolute;border-radius:50%}.ctsrv-orbit:before{top:26px;right:40px;width:13px;height:13px;background:var(--orange);box-shadow:0 0 0 9px rgba(255,136,72,.12)}.ctsrv-orbit:after{bottom:61px;left:17px;width:11px;height:11px;background:var(--green);box-shadow:0 0 0 8px rgba(123,217,79,.12)}@keyframes ctsrvOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.ctsrv-hero-frame{position:absolute;inset:16px 28px 30px 45px;padding:8px;border-radius:34px;background:linear-gradient(135deg,var(--orange),var(--green),var(--blue));box-shadow:0 35px 78px rgba(21,51,58,.2);transform:rotateY(-5deg) rotateX(2deg);transition:.6s}
.ctsrv-hero-visual:hover .ctsrv-hero-frame{transform:rotateY(0) rotateX(0) translateY(-5px);box-shadow:0 42px 90px rgba(21,51,58,.25)}
.ctsrv-hero-image{position:relative;width:100%;height:100%;overflow:hidden;border-radius:25px;background:#eaf4f2}.ctsrv-hero-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.ctsrv-hero-visual:hover .ctsrv-hero-image img{transform:scale(1.055)}.ctsrv-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 49%,rgba(5,38,34,.44))}
.ctsrv-floating-card{position:absolute;z-index:5;padding:16px 18px;border-radius:18px;box-shadow:0 20px 44px rgba(21,51,58,.17);backdrop-filter:blur(12px);transition:.35s}.ctsrv-floating-card:hover{transform:translateY(-6px) scale(1.02)}.ctsrv-floating-card small,.ctsrv-floating-card strong{display:block}.ctsrv-floating-card small{margin-bottom:5px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.67}.ctsrv-floating-card strong{font-size:13px;line-height:1.42}
.ctsrv-floating-top{top:0;right:0;min-width:190px;color:var(--ink);border:1px solid rgba(54,175,244,.2);background:rgba(255,255,255,.93)}.ctsrv-floating-bottom{left:0;bottom:0;width:235px;color:#fff;background:linear-gradient(135deg,var(--orange-dark),var(--orange))}
.ctsrv-filter-wrap{position:relative;z-index:10;}.ctsrv-filter-panel{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:13px;border:1px solid rgba(21,51,58,.1);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 20px 44px rgba(21,51,58,.12);backdrop-filter:blur(14px)}
.ctsrv-search{position:relative}.ctsrv-search svg{position:absolute;top:50%;left:16px;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8;transform:translateY(-50%)}.ctsrv-search input{width:100%;min-height:48px;padding:12px 16px 12px 47px;border:1px solid var(--line);border-radius:14px;outline:none;color:var(--ink);background:#fff;font-size:11px}.ctsrv-search input:focus{border-color:rgba(54,175,244,.5);box-shadow:0 0 0 4px rgba(54,175,244,.09)}
.ctsrv-filter-buttons{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.ctsrv-filter-buttons::-webkit-scrollbar{display:none}.ctsrv-filter-button{flex:0 0 auto;min-height:42px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#fff;cursor:pointer;font-size:10px;font-weight:700;transition:.3s}.ctsrv-filter-button:hover,.ctsrv-filter-button.ctsrv-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--blue-dark),var(--blue));transform:translateY(-2px)}
.ctsrv-services{padding:100px 0 94px}.ctsrv-services-head{display:grid;grid-template-columns:.88fr 1.12fr;gap:60px;align-items:end;margin-bottom:37px}.ctsrv-services-head .ctsrv-copy{margin:0}.ctsrv-count{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:8px 11px;border-radius:999px;color:var(--ink);background:var(--peach);font-size:10px;font-weight:700}.ctsrv-count i{width:7px;height:7px;border-radius:50%;background:var(--orange)}
.ctsrv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.ctsrv-card{position:relative;min-height:320px;display:flex;flex-direction:column;padding:27px 25px;overflow:hidden;border:1px solid var(--line);border-radius:23px;background:#fff;transition:.35s}.ctsrv-card:before{content:"";position:absolute;top:-80%;left:-42%;width:40%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:rotate(22deg);transition:left .72s}.ctsrv-card:after{content:"";position:absolute;right:-48px;bottom:-48px;width:160px;height:160px;border:23px solid rgba(54,175,244,.045);border-radius:50%;transition:.45s}.ctsrv-card:hover:before{left:130%}.ctsrv-card:hover:after{transform:scale(1.24);border-color:rgba(255,136,72,.075)}.ctsrv-card:hover{transform:translateY(-9px);border-color:rgba(54,175,244,.28);box-shadow:0 25px 52px rgba(21,51,58,.11)}.ctsrv-card.ctsrv-hidden{display:none}
.ctsrv-card-number{position:absolute;top:18px;right:21px;color:rgba(21,51,58,.08);font-size:45px;font-weight:780}.ctsrv-card-icon{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:48px;border-radius:17px;color:#fff;transition:.35s}.ctsrv-card:hover .ctsrv-card-icon{transform:rotate(-8deg) scale(1.1);border-radius:50%}.ctsrv-card:nth-child(4n+1) .ctsrv-card-icon{background:linear-gradient(135deg,var(--blue-dark),var(--blue))}.ctsrv-card:nth-child(4n+2) .ctsrv-card-icon{background:linear-gradient(135deg,var(--emerald),var(--green))}.ctsrv-card:nth-child(4n+3) .ctsrv-card-icon{background:linear-gradient(135deg,var(--orange-dark),var(--orange))}.ctsrv-card:nth-child(4n+4) .ctsrv-card-icon{background:linear-gradient(135deg,#2b6f76,var(--navy))}
.ctsrv-card-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ctsrv-card h3{position:relative;z-index:2;margin:0 0 10px;color:var(--ink)}.ctsrv-card p{position:relative;z-index:2;margin:0;color:var(--muted)}.ctsrv-card-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:7px;width:fit-content;margin-top:auto;padding-top:21px;color:var(--orange-dark);font-size:10px;font-weight:750}.ctsrv-card-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:.3s}.ctsrv-card-link:hover svg{transform:translateX(5px)}
.ctsrv-empty{display:none;padding:38px;border:1px dashed rgba(21,51,58,.18);border-radius:22px;color:var(--muted);background:#fbfcfb;text-align:center;font-size:12px}.ctsrv-empty.ctsrv-show{display:block}
.ctsrv-info{padding:0 0 94px}.ctsrv-info-card,.ctsrv-final-card{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:445px;overflow:hidden;border-radius:29px;box-shadow:0 30px 67px rgba(21,51,58,.14)}.ctsrv-info-copy,.ctsrv-final-copy{padding:50px;color:#fff;background:radial-gradient(circle at 12% 10%,rgba(54,175,244,.19),transparent 28%),linear-gradient(135deg,var(--deep),var(--navy))}.ctsrv-info-copy .ctsrv-kicker,.ctsrv-final-copy .ctsrv-kicker{color:#91d8ff}.ctsrv-info-copy .ctsrv-heading,.ctsrv-final-copy .ctsrv-heading{color:#fff}.ctsrv-info-copy .ctsrv-copy,.ctsrv-final-copy .ctsrv-copy{margin:20px 0 24px;color:rgba(255,255,255,.68)}.ctsrv-info-points{display:grid;gap:10px}.ctsrv-info-point{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.82);font-size:10.5px;transition:.3s}.ctsrv-info-point:hover{transform:translateX(6px);border-color:rgba(123,217,79,.4)}.ctsrv-info-point i{width:9px;height:9px;border-radius:50%}.ctsrv-info-point:nth-child(1) i{background:var(--blue)}.ctsrv-info-point:nth-child(2) i{background:var(--green)}.ctsrv-info-point:nth-child(3) i{background:var(--orange)}
.ctsrv-info-visual,.ctsrv-final-visual{position:relative;min-height:445px;overflow:hidden;background:linear-gradient(180deg,rgba(5,38,34,.02),rgba(5,38,34,.48)),url("https://clarencetownhealthcare.com.au/wp-content/uploads/2026/07/unnamed.jpg") center/cover no-repeat}.ctsrv-info-badge,.ctsrv-location-tag{position:absolute;right:23px;bottom:23px;left:23px;z-index:3;padding:20px;border:1px solid rgba(255,255,255,.19);border-radius:18px;color:#fff;background:rgba(5,38,34,.82);backdrop-filter:blur(11px)}.ctsrv-info-badge strong,.ctsrv-info-badge span,.ctsrv-location-tag strong,.ctsrv-location-tag span{display:block}.ctsrv-info-badge strong,.ctsrv-location-tag strong{font-size:14px}.ctsrv-info-badge span,.ctsrv-location-tag span{margin-top:5px;color:rgba(255,255,255,.65);font-size:10px;line-height:1.55}
.ctsrv-final{padding:0 0 96px}.ctsrv-final-details{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;margin-bottom:26px}.ctsrv-final-detail{display:flex;gap:9px;padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}.ctsrv-final-detail svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:var(--orange);stroke-width:1.8}.ctsrv-final-detail span{color:rgba(255,255,255,.67);font-size:9.5px;line-height:1.52}.ctsrv-final-actions{display:flex;flex-wrap:wrap;gap:10px}.ctsrv-final-actions .ctsrv-button-secondary{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}.ctsrv-final-visual{background:linear-gradient(180deg,rgba(5,38,34,.02),rgba(5,38,34,.48)),url("https://clarencetownhealthcare.com.au/wp-content/uploads/2026/06/Seeing-Patients-2423-1024x772.png") center/cover no-repeat}
.ctsrv-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s,transform .75s cubic-bezier(.22,1,.36,1)}.ctsrv-reveal.ctsrv-visible{opacity:1;transform:none}
@media(max-width:1020px){.ctsrv-hero-grid,.ctsrv-services-head,.ctsrv-info-card,.ctsrv-final-card{grid-template-columns:1fr}.ctsrv-hero-visual{min-height:445px}.ctsrv-filter-panel{grid-template-columns:1fr}.ctsrv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ctsrv-container{width:min(100% - 26px,1220px)}.ctsrv-hero{min-height:auto}.ctsrv-hero-grid{gap:42px;padding:47px 0 78px}.ctsrv-hero-actions,.ctsrv-final-actions{flex-direction:column}.ctsrv-button{width:100%}.ctsrv-hero-visual{min-height:320px}.ctsrv-orbit{width:290px;height:290px}.ctsrv-hero-frame{inset:10px 5px 18px 22px;transform:none}.ctsrv-floating-card{padding:12px 13px}.ctsrv-floating-top{top:-4px;min-width:155px}.ctsrv-floating-bottom{left:-2px;width:195px}.ctsrv-filter-wrap{margin-top:-26px}.ctsrv-services{padding:84px 0 72px}.ctsrv-grid{grid-template-columns:1fr}.ctsrv-info-copy,.ctsrv-final-copy{padding:36px 24px}.ctsrv-final-details{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ctsrv *,.ctsrv *:before,.ctsrv *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ctsrv-reveal{opacity:1;transform:none}}

.ctsrv,
.ctsrv button,
.ctsrv input{
  font-family: "Poppins", Sans-serif;
}

/* ==================================================
   CLEAN OPENING HOURS
   ================================================== */

.ct-hours {
    --ct-blue: #38b6ff;
    --ct-orange: #ff8848;
    --ct-heading: #111f28;
    --ct-text: #52636f;
    --ct-line: rgba(56, 182, 255, 0.25);
    --ct-active-bg: #fff7f1;

    position: relative;
    width: 100%;
    padding: 8px 0;
    background: #ffffff;
    font-family: "Poppins", Arial, sans-serif;
}

/* Vertical line */

.ct-hours::before {
    content: "";
    position: absolute;
    top: 39px;
    bottom: 39px;
    left: 21px;
    width: 1px;
    background: var(--ct-line);
}

/* Rows */

.ct-hours__row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(135px, 1fr) auto;
    align-items: center;
    gap: 24px;
    min-height: 70px;
    padding: 16px 28px 16px 60px;
    background: transparent;
    transition:
        background-color 0.2s ease,
        padding-left 0.2s ease;
}

.ct-hours__row:hover {
    padding-left: 64px;
    background: #f8fcff;
}

/* Timeline dots */

.ct-hours__dot {
    position: absolute;
    top: 50%;
    left: 13px;
    width: 16px;
    height: 16px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: var(--ct-blue);
    box-shadow:
        0 0 0 1px rgba(56, 182, 255, 0.45),
        0 2px 6px rgba(56, 182, 255, 0.18);
    transform: translateY(-50%);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.ct-hours__row:hover .ct-hours__dot {
    transform: translateY(-50%) scale(1.12);
    box-shadow:
        0 0 0 4px rgba(56, 182, 255, 0.12),
        0 3px 8px rgba(56, 182, 255, 0.22);
}

/* Current day */

.ct-hours__row.is-current {
    background: var(--ct-active-bg);
}

.ct-hours__row.is-current::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: var(--ct-orange);
}

.ct-hours__row.is-current .ct-hours__dot {
    background: var(--ct-orange);
    box-shadow:
        0 0 0 1px rgba(255, 136, 72, 0.45),
        0 3px 8px rgba(255, 136, 72, 0.22);
}

/* Text */

.ct-hours__day {
    color: var(--ct-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.ct-hours__time {
    color: var(--ct-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    white-space: nowrap;
}

/* Closed days */

.ct-hours__row.is-closed .ct-hours__day {
    color: #344651;
}

.ct-hours__row.is-closed .ct-hours__time {
    color: #87949c;
    font-size: 11px;
    font-weight: 500;
}

/* Tablet */

@media (max-width: 767px) {
    .ct-hours {
        max-width: 100%;
    }

    .ct-hours__row {
        grid-template-columns: minmax(120px, 1fr) auto;
        gap: 14px;
        padding-right: 18px;
    }
}

/* Mobile */

@media (max-width: 420px) {
    .ct-hours__row {
        grid-template-columns: minmax(105px, 1fr) auto;
        gap: 10px;
        min-height: 66px;
        padding-left: 54px;
        padding-right: 12px;
    }

    .ct-hours__row:hover {
        padding-left: 56px;
    }

    .ct-hours::before {
        left: 19px;
    }

    .ct-hours__dot {
        left: 11px;
    }

    .ct-hours__day {
        font-size: 12px;
    }

    .ct-hours__time {
        font-size: 11px;
    }
}
/* =========================================================
   CLARENCE TOWN HEALTHCARE
   SCOPED MODERN BLOG ARCHIVE

   Elementor main section class:
   ct-blog-archive
========================================================= */

.ct-blog-archive {
    --ct-blue: #38b0f8;
    --ct-blue-dark: #138fd6;
    --ct-green: #78d850;
    --ct-emerald: #00ad69;
    --ct-orange: #ff8848;
    --ct-orange-dark: #ef7136;
    --ct-navy: #0d3a3a;
    --ct-ink: #15333a;
    --ct-muted: #667a80;
    --ct-light-blue: #eef9ff;
    --ct-light-green: #effced;
    --ct-light-orange: #fff2e8;
    --ct-border: rgba(21, 51, 58, 0.11);

    position: relative;
    isolation: isolate;
}

/* Keep all styling inside this section only */
.ct-blog-archive *,
.ct-blog-archive *::before,
.ct-blog-archive *::after {
    box-sizing: border-box;
}

/* =========================================================
   POSTS GRID
========================================================= */

.ct-blog-archive
.elementor-posts-container.elementor-posts--skin-classic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    overflow: visible !important;
}

/* =========================================================
   BLOG CARD
========================================================= */

.ct-blog-archive
.elementor-posts-container
.elementor-post {
    position: relative;
    display: flex !important;
    flex-direction: column !important;

    min-width: 0;
    min-height: 520px;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    isolation: isolate;

    border: 1px solid var(--ct-border);
    border-radius: 26px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(56, 176, 248, 0.07),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fafdfE 100%
        );

    box-shadow:
        0 10px 30px rgba(21, 51, 58, 0.055);

    transition:
        transform 0.45s cubic-bezier(.22, 1, .36, 1),
        box-shadow 0.45s ease,
        border-color 0.35s ease;
}

/* Animated top gradient line */
.ct-blog-archive
.elementor-posts-container
.elementor-post::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;

    width: 100%;
    height: 5px;

    background:
        linear-gradient(
            90deg,
            var(--ct-blue),
            var(--ct-green),
            var(--ct-orange)
        );

    transform: scaleX(0);
    transform-origin: left;

    transition:
        transform 0.48s cubic-bezier(.22, 1, .36, 1);
}

/* Decorative circle */
.ct-blog-archive
.elementor-posts-container
.elementor-post::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -100px;
    z-index: 0;

    width: 230px;
    height: 230px;

    border: 34px solid rgba(56, 176, 248, 0.04);
    border-radius: 50%;

    pointer-events: none;

    transition:
        transform 0.55s cubic-bezier(.22, 1, .36, 1),
        border-color 0.4s ease;
}

/* Card hover */
.ct-blog-archive
.elementor-posts-container
.elementor-post:hover {
    transform:
        translateY(-12px)
        scale(1.012);

    border-color: rgba(56, 176, 248, 0.34);

    box-shadow:
        0 30px 64px rgba(21, 51, 58, 0.14),
        0 8px 24px rgba(56, 176, 248, 0.06);
}

.ct-blog-archive
.elementor-posts-container
.elementor-post:hover::before {
    transform: scaleX(1);
}

.ct-blog-archive
.elementor-posts-container
.elementor-post:hover::after {
    transform:
        scale(1.18)
        rotate(16deg);

    border-color: rgba(255, 136, 72, 0.06);
}

/* =========================================================
   FEATURED IMAGE FIX
========================================================= */

.ct-blog-archive
.elementor-post__thumbnail__link {
    position: relative !important;
    display: block !important;

    flex: 0 0 auto;

    width: 100% !important;
    height: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    border-radius: 25px 25px 0 0 !important;
    background: var(--ct-light-blue);
}

/* Elementor aspect ratio wrapper */
.ct-blog-archive
.elementor-post__thumbnail {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    padding-bottom: 0 !important;

    overflow: hidden !important;

    border-radius: inherit !important;
}

/* Remove Elementor ratio padding */
.ct-blog-archive
.elementor-has-item-ratio
.elementor-post__thumbnail {
    padding-bottom: 0 !important;
}

/* Actual image */
.ct-blog-archive
.elementor-post__thumbnail img {
    position: absolute !important;
    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: inherit !important;

    clip-path: none !important;

    transform: scale(1) !important;
    transform-origin: center center !important;

    transition:
        transform 0.68s cubic-bezier(.22, 1, .36, 1),
        filter 0.35s ease !important;
}

/* Image overlay */
.ct-blog-archive
.elementor-post__thumbnail__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            rgba(5, 38, 34, 0) 50%,
            rgba(5, 38, 34, 0.16) 100%
        );

    opacity: 0.8;

    transition: opacity 0.35s ease;
}

/* Controlled image hover zoom */
.ct-blog-archive
.elementor-post:hover
.elementor-post__thumbnail img {
    transform: scale(1.06) !important;
    filter:
        saturate(1.05)
        contrast(1.02);
}

.ct-blog-archive
.elementor-post:hover
.elementor-post__thumbnail__link::after {
    opacity: 0.5;
}

/* Prevent image from shifting or overflowing */
.ct-blog-archive
.elementor-post__thumbnail__link,
.ct-blog-archive
.elementor-post__thumbnail,
.ct-blog-archive
.elementor-post__thumbnail img {
    clip-path: none !important;
}

/* =========================================================
   TEXT AREA
========================================================= */

.ct-blog-archive
.elementor-posts-container
.elementor-post__text {
    position: relative;
    z-index: 3;

    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;

    width: 100%;
    min-height: 300px;

    margin: 0 !important;
    padding: 29px 28px 28px !important;
}

/* Category label */
.ct-blog-archive
.elementor-posts-container
.elementor-post__text::before {
    content: "HEALTH INFORMATION";

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 30px;
    margin-bottom: 20px;
    padding: 0 13px;

    border-radius: 999px;

    color: var(--ct-blue-dark);
    background: var(--ct-light-blue);

    font-size: 9px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    transition:
        color 0.3s ease,
        background 0.3s ease,
        transform 0.35s ease;
}

.ct-blog-archive
.elementor-post:hover
.elementor-post__text::before {
    transform: translateY(-3px);
}

/* Repeating label colours */
.ct-blog-archive
.elementor-post:nth-child(3n + 1)
.elementor-post__text::before {
    content: "HEALTH INFORMATION";

    color: var(--ct-blue-dark);
    background: var(--ct-light-blue);
}

.ct-blog-archive
.elementor-post:nth-child(3n + 2)
.elementor-post__text::before {
    content: "PREVENTIVE HEALTH";

    color: #008957;
    background: var(--ct-light-green);
}

.ct-blog-archive
.elementor-post:nth-child(3n + 3)
.elementor-post__text::before {
    content: "PATIENT GUIDE";

    color: var(--ct-orange-dark);
    background: var(--ct-light-orange);
}

/* =========================================================
   TITLE
========================================================= */

.ct-blog-archive
.elementor-posts-container
.elementor-post__title {
    width: 100%;
    margin: 0 0 15px !important;
}

.ct-blog-archive
.elementor-posts-container
.elementor-post__title a {
    display: block;

    color: var(--ct-ink) !important;

    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    letter-spacing: -0.035em;

    transition:
        color 0.3s ease,
        transform 0.35s ease;
}

.ct-blog-archive
.elementor-post:hover
.elementor-post__title a {
    color: var(--ct-blue-dark) !important;
    transform: translateY(-2px);
}

/* =========================================================
   EXCERPT
========================================================= */

.ct-blog-archive
.elementor-posts-container
.elementor-post__excerpt {
    width: 100%;
    margin: 0 0 23px !important;
}

.ct-blog-archive
.elementor-posts-container
.elementor-post__excerpt p {
    display: -webkit-box;
    margin: 0 !important;
    overflow: hidden;

    color: var(--ct-muted) !important;

    font-size: 13px !important;
    line-height: 1.72 !important;
    font-weight: 400;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

/* =========================================================
   READ MORE
========================================================= */

.ct-blog-archive
.elementor-posts-container
.elementor-post__read-more {
    position: relative;

    display: inline-flex !important;
    align-items: center;
    gap: 8px;

    width: fit-content;

    margin-top: auto !important;
    padding: 0 0 5px !important;

    color: var(--ct-blue-dark) !important;

    font-size: 0 !important;
    line-height: 1;
    font-weight: 750 !important;

    background:
        linear-gradient(
            90deg,
            var(--ct-blue),
            var(--ct-green),
            var(--ct-orange)
        )
        left bottom / 0 2px
        no-repeat;

    transition:
        gap 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        background-size 0.38s ease;
}

/* Replace original Read More » text */
.ct-blog-archive
.elementor-post__read-more::before {
    content: "Read Article";

    font-size: 12px;
    line-height: 1;
}

/* Arrow */
.ct-blog-archive
.elementor-post__read-more::after {
    content: "→";

    font-size: 17px;
    line-height: 1;

    transition: transform 0.3s ease;
}

.ct-blog-archive
.elementor-post:hover
.elementor-post__read-more {
    gap: 12px;

    color: var(--ct-orange-dark) !important;

    background-size: 100% 2px;

    transform: translateY(-2px);
}

.ct-blog-archive
.elementor-post:hover
.elementor-post__read-more::after {
    transform: translateX(5px);
}

/* =========================================================
   PAGINATION
========================================================= */

.ct-blog-archive
.elementor-pagination {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;

    margin-top: 48px !important;
}

.ct-blog-archive
.elementor-pagination
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 44px;
    height: 44px;

    margin: 0 !important;
    padding: 0 13px;

    border: 1px solid var(--ct-border);
    border-radius: 999px;

    color: var(--ct-ink) !important;
    background: #ffffff;

    font-size: 12px;
    font-weight: 700;

    box-shadow:
        0 8px 22px rgba(21, 51, 58, 0.06);

    transition:
        transform 0.3s ease,
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.ct-blog-archive
.elementor-pagination
.page-numbers:hover {
    color: #ffffff !important;
    border-color: transparent;

    background:
        linear-gradient(
            135deg,
            var(--ct-blue-dark),
            var(--ct-blue)
        );

    transform: translateY(-4px);

    box-shadow:
        0 14px 30px rgba(56, 176, 248, 0.28);
}

.ct-blog-archive
.elementor-pagination
.page-numbers.current {
    color: #ffffff !important;
    border-color: transparent;

    background:
        linear-gradient(
            135deg,
            var(--ct-orange-dark),
            var(--ct-orange)
        );

    box-shadow:
        0 13px 28px rgba(255, 136, 72, 0.28);
}

/* Elementor hidden screen-reader text */
.ct-blog-archive
.elementor-screen-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Load more anchor */
.ct-blog-archive
.e-load-more-anchor {
    width: 100%;
    height: 1px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .ct-blog-archive
    .elementor-posts-container.elementor-posts--skin-classic {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 22px !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post {
        min-height: 505px;
    }

    .ct-blog-archive
    .elementor-post__thumbnail__link {
        height: 210px !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post__text {
        min-height: 295px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ct-blog-archive
    .elementor-posts-container.elementor-posts--skin-classic {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post {
        min-height: 470px;
        border-radius: 22px;
    }

    .ct-blog-archive
    .elementor-post__thumbnail__link {
        height: 195px !important;
        border-radius: 21px 21px 0 0 !important;
    }

    .ct-blog-archive
    .elementor-post:hover
    .elementor-post__thumbnail img {
        transform: scale(1.035) !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post__text {
        min-height: 275px;
        padding: 26px 22px 24px !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post__title a {
        font-size: 20px !important;
    }

    .ct-blog-archive
    .elementor-posts-container
    .elementor-post__excerpt p {
        -webkit-line-clamp: 3;
    }

    .ct-blog-archive
    .elementor-pagination {
        margin-top: 36px !important;
    }

    .ct-blog-archive
    .elementor-pagination
    .page-numbers {
        min-width: 40px;
        height: 40px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .ct-blog-archive *,
    .ct-blog-archive *::before,
    .ct-blog-archive *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
/* =========================================================
about us green effect 

========================================================= */
.ctv3-values {
    --mouse-x: 50%;
    --mouse-y: 50%;
    --move-x: 0px;
    --move-y: 0px;

    position: relative;
    padding: 88px 0;
    overflow: hidden;
    isolation: isolate;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(255, 130, 72, 0.16),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #071714,
            #153c35
        );
}

/* Mouse-follow light */
.ctv3-values::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    pointer-events: none;

    background:
        radial-gradient(
            circle 280px at var(--mouse-x) var(--mouse-y),
            rgba(56, 176, 248, 0.16),
            rgba(120, 216, 80, 0.07) 34%,
            transparent 70%
        );

    opacity: 0;
    transition: opacity 0.35s ease;
}

.ctv3-values:hover::before {
    opacity: 1;
}

/* Large moving decorative shape */
.ctv3-values::after {
    content: "";
    position: absolute;
    top: -110px;
    right: -80px;
    z-index: -2;

    width: 360px;
    height: 360px;

    pointer-events: none;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 46% 54% 58% 42% / 45% 38% 62% 55%;

    background:
        radial-gradient(
            circle at 35% 35%,
            rgba(255, 136, 72, 0.18),
            rgba(56, 176, 248, 0.07) 45%,
            transparent 72%
        );

    transform:
        translate(
            calc(var(--move-x) * -0.5),
            calc(var(--move-y) * -0.5)
        )
        rotate(12deg);

    transition:
        transform 0.18s ease-out,
        border-radius 0.5s ease;
}

.ctv3-values:hover::after {
    border-radius: 58% 42% 42% 58% / 38% 55% 45% 62%;
}

/* Content hamesha shapes ke upar rahe */
.ctv3-values > * {
    position: relative;
    z-index: 2;
}

/* Optional: section ke existing cards ko depth effect */
.ctv3-values .ctv3-value-card {
    position: relative;
    overflow: hidden;

    transition:
        transform 0.35s cubic-bezier(.22, 1, .36, 1),
        border-color 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease;
}

.ctv3-values .ctv3-value-card::before {
    content: "";
    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            circle at var(--mouse-x) var(--mouse-y),
            rgba(255, 255, 255, 0.1),
            transparent 48%
        );

    opacity: 0;
    transition: opacity 0.35s ease;
}

.ctv3-values .ctv3-value-card:hover {
    transform: translateY(-8px);

    border-color: rgba(56, 176, 248, 0.3);

    background: rgba(255, 255, 255, 0.075);

    box-shadow:
        0 24px 50px rgba(0, 0, 0, 0.18);
}

.ctv3-values .ctv3-value-card:hover::before {
    opacity: 1;
}

/* Touch devices par mouse effect disable */
@media (hover: none), (pointer: coarse) {
    .ctv3-values::before {
        display: none;
    }

    .ctv3-values::after {
        transform: rotate(12deg);
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .ctv3-values::after,
    .ctv3-values .ctv3-value-card {
        transform: none !important;
        transition: none !important;
    }
}



/* Fix active menu text clipping */

.elementor-nav-menu .current-menu-item > a,
.elementor-nav-menu .current_page_item > a,
.elementor-nav-menu .elementor-item-active {
    position: relative !important;
    overflow: visible !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    text-indent: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    color: #38B0F8 !important;
}

/* Active hover background ko text ke peeche rakho */
.elementor-nav-menu .current-menu-item > a::before,
.elementor-nav-menu .current_page_item > a::before,
.elementor-nav-menu .elementor-item-active::before {
    z-index: -1 !important;
    left: 0 !important;
    width: 100% !important;
    transform: none !important;
}

/* Text hamesha overlay ke upar */
.elementor-nav-menu .current-menu-item > a span,
.elementor-nav-menu .current_page_item > a span,
.elementor-nav-menu .elementor-item-active span {
    position: relative !important;
    z-index: 2 !important;
}

/* Kisi purane slide effect ko disable karo */
.elementor-nav-menu a::after {
    pointer-events: none !important;
}

/* Menu item ko clip na hone dein */
.elementor-nav-menu li,
.elementor-nav-menu a {
    overflow: visible !important;
}


/* Selected text colour */

::selection {
    color: #ffffff;
    background: #38B0F8;
}

/* Firefox support */

::-moz-selection {
    color: #ffffff;
    background: #38B0F8;
}




/* button shine effect */

.elementor-button {
    position: relative;
    overflow: hidden;
}

.elementor-button::before {
    content: "";
    position: absolute;
    top: -120%;
    left: -50%;
    width: 35%;
    height: 340%;
    background: rgba(255, 255, 255, 0.28);
    transform: rotate(25deg);
    transition: left 0.6s ease;
}

.elementor-button:hover::before {
    left: 125%;
}

/* phone */
.mouse-card {
    --mouse-x: 50%;
    --mouse-y: 50%;
    position: relative;
    overflow: hidden;
}

.mouse-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(
        circle 180px at var(--mouse-x) var(--mouse-y),
        rgba(56, 176, 248, 0.14),
        transparent 70%
    );
    transition: opacity 0.3s ease;
}

.mouse-card:hover::before {
    opacity: 1;
}




/* css for the stricky button 
 */

.ct-side-actions,
.ct-side-actions * {
    box-sizing: border-box;
}

.ct-side-actions {
      position:fixed;
    top:50%;
    right:18px;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    gap:12px;

    z-index:2147483647 !important; /* Highest z-index */
    isolation:isolate;
}

/* Individual buttons */
.ct-side-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 56px;
    height: 56px;
    overflow: hidden;
    color: #ffffff;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 18px;
    box-shadow: 0 10px 26px rgba(24,45,60,.20);
    transition:
        width .42s cubic-bezier(.22,1,.36,1),
        border-radius .3s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.ct-side-book {
    background: linear-gradient(135deg,#ff9d60,#ff7d34);
}

.ct-side-call {
    background: linear-gradient(135deg,#59c8ff,#159ede);
}

/* Subtle shine */
.ct-side-btn::before {
    content: "";
    position: absolute;
    top: -20px;
    left: -55px;
    width: 40px;
    height: 100px;
    background: rgba(255,255,255,.28);
    transform: rotate(25deg);
    filter: blur(5px);
    transition: left .65s ease;
    pointer-events: none;
}

.ct-side-btn:hover::before {
    left: 220px;
}

/* Expand only toward the left */
.ct-side-btn:hover,
.ct-side-btn:focus-visible {
    width: 205px;
    color: #ffffff;
    border-radius: 18px;
    transform: translateX(-3px);
}

.ct-side-book:hover {
    box-shadow: 0 16px 34px rgba(255,125,52,.35);
}

.ct-side-call:hover {
    box-shadow: 0 16px 34px rgba(21,158,222,.35);
}

.ct-side-btn:focus-visible {
    outline: 3px solid rgba(255,255,255,.95);
    outline-offset: 3px;
}

/* Icon */
.ct-side-icon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
}

.ct-side-icon::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 12px;
    background: rgba(255,255,255,.10);
    transition:
        background .25s ease,
        transform .25s ease;
}

.ct-side-btn:hover .ct-side-icon::before {
    background: rgba(255,255,255,.17);
    transform: scale(.94);
}

.ct-side-icon svg {
    position: relative;
    z-index: 1;
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Hidden label */
.ct-side-label {
    position: relative;
    z-index: 2;
    display: flex;
    width: 140px;
    padding-left: 16px;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    transform: translateX(16px);
    transition:
        opacity .22s ease .08s,
        transform .3s ease .06s;
}

.ct-side-btn:hover .ct-side-label,
.ct-side-btn:focus-visible .ct-side-label {
    opacity: 1;
    transform: translateX(0);
}

.ct-side-label small {
    margin-bottom: 3px;
    color: rgba(255,255,255,.76);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .25px;
}

.ct-side-label strong {
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

/* Gentle ring around booking icon */
.ct-side-book .ct-side-icon::after {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 12px;
    animation: ctSoftPulse 3s ease-out infinite;
}

@keyframes ctSoftPulse {
    0%, 65% {
        transform: scale(1);
        opacity: 0;
    }

    75% {
        opacity: .55;
    }

    100% {
        transform: scale(1.28);
        opacity: 0;
    }
}

/* Mobile: icons only */
@media (max-width: 767px) {

    .ct-side-actions {
        top: auto;
        right: 14px;
        bottom: 18px;
        transform: none;
        gap: 10px;
    }

    .ct-side-btn,
    .ct-side-btn:hover,
    .ct-side-btn:focus-visible {
        width: 52px;
        height: 52px;
        transform: none;
        border-radius: 16px;
    }

    .ct-side-icon {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }

    .ct-side-icon svg {
        width: 21px;
        height: 21px;
    }

    .ct-side-label {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ct-side-btn,
    .ct-side-btn::before,
    .ct-side-label,
    .ct-side-icon::before,
    .ct-side-icon::after {
        animation: none;
        transition: none;
    }
}
/* ==========================================
   TOP SCROLL PROGRESS LINE
========================================== */

.ct-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;

    width: 100%;
    height: 4px;

    pointer-events: none;
    overflow: hidden;

    background: rgba(255, 255, 255, 0.08);
}

/* Moving progress bar */
.ct-scroll-progress__bar {
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: 0 50px 50px 0;

    background: linear-gradient(
        90deg,
        #38b0f8 0%,
        #78d850 55%,
        #ff8848 100%
    );

    box-shadow:
        0 0 10px rgba(56, 176, 248, 0.55),
        0 0 18px rgba(120, 216, 80, 0.25);

    transform: scaleX(0);
    transform-origin: left center;

    will-change: transform;
}

/* Small glowing head at line end */
.ct-scroll-progress__bar::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;

    width: 12px;
    height: 12px;

    border-radius: 50%;

    background: #ff8848;

    box-shadow:
        0 0 8px rgba(255, 136, 72, 0.85),
        0 0 16px rgba(255, 136, 72, 0.55);

    transform: translate(50%, -50%);
}

/* Mobile */
@media (max-width: 767px) {
    .ct-scroll-progress {
        height: 3px;
    }

    .ct-scroll-progress__bar::after {
        width: 9px;
        height: 9px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .ct-scroll-progress__bar {
        transition: none !important;
    }
}

/* css for the card hover  services */


.ct-specialities,
.ct-specialities * {
    box-sizing: border-box;
}

.ct-specialities {
    --ct-green: #073f38;
    --ct-blue: #38b6ff;
    --ct-orange: #ff7f3f;
    --ct-white: #ffffff;

    width: 100%;
    padding: 70px 24px;
    font-family: inherit;
}

.ct-specialities__container {
    position: relative;
    width: min(1180px, 100%);
    margin: 0 auto;
}

/* Card grid */
.ct-specialities__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

/* Individual card */
.ct-speciality-card {
    position: relative;
    overflow: hidden;
    width: calc(25% - 18px);
    min-height: 245px;
    padding: 26px 22px 25px;
    border: 1px solid rgba(7, 63, 56, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 35px rgba(18, 69, 78, 0.07);
    text-align: center;
    transition:
        transform 0.4s cubic-bezier(.2, .75, .25, 1),
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

/* Card gradient layer */
.ct-speciality-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            145deg,
            rgba(56, 182, 255, 0.11),
            transparent 45%,
            rgba(255, 127, 63, 0.07)
        );
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* Decorative card circle */
.ct-speciality-card::after {
    content: "";
    position: absolute;
    top: -70px;
    right: -70px;
    width: 130px;
    height: 130px;
    border: 1px solid rgba(56, 182, 255, 0.2);
    border-radius: 50%;
    transition:
        transform 0.55s ease,
        background 0.4s ease;
}

.ct-speciality-card:hover {
    transform: translateY(-10px);
    border-color: rgba(56, 182, 255, 0.6);
    box-shadow: 0 24px 50px rgba(18, 69, 78, 0.15);
}

.ct-speciality-card:hover::before {
    opacity: 1;
}

.ct-speciality-card:hover::after {
    transform: translate(-20px, 20px) scale(1.18);
    background: rgba(56, 182, 255, 0.06);
}

/* Number */
.ct-speciality-card__number {
    position: relative;
    z-index: 2;
    display: block;
    margin-bottom: 14px;
    color: var(--ct-blue);
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

/* Icon circle */
.ct-speciality-card__icon {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    margin: 0 auto 19px;
    border: 1px solid rgba(56, 182, 255, 0.17);
    border-radius: 50%;
    background: linear-gradient(145deg, #f4fbff, #e6f6fc);
    transition:
        transform 0.5s cubic-bezier(.2, .75, .25, 1),
        background 0.4s ease,
        box-shadow 0.4s ease;
}

.ct-speciality-card__icon::before {
    content: "";
    position: absolute;
    inset: -7px;
    border: 1px dashed rgba(56, 182, 255, 0.42);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.35s ease;
}

.ct-speciality-card__icon svg {
    width: 47px;
    height: 47px;
    fill: none;
    stroke: var(--ct-green);
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition:
        stroke 0.35s ease,
        transform 0.45s ease;
}

.ct-speciality-card:hover .ct-speciality-card__icon {
    transform: rotate(-5deg) scale(1.08);
    background: var(--ct-green);
    box-shadow: 0 11px 25px rgba(7, 63, 56, 0.22);
}

.ct-speciality-card:hover .ct-speciality-card__icon::before {
    opacity: 1;
    animation: ctIconRotation 9s linear infinite;
}

.ct-speciality-card:hover .ct-speciality-card__icon svg {
    stroke: var(--ct-white);
    transform: rotate(5deg);
}

/* Card title */
.ct-speciality-card h3 {
    position: relative;
    z-index: 2;
    min-height: 48px;
    margin: 0;
    color: var(--ct-green);
    font-size: 17px;
    font-weight: 750;
    line-height: 1.4;
}

/* Bottom line */
.ct-speciality-card__line {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    width: 58px;
    height: 3px;
    margin: auto;
    border-radius: 5px 5px 0 0;
    background: var(--ct-orange);
    transition:
        width 0.4s ease,
        background 0.4s ease;
}

.ct-speciality-card:hover .ct-speciality-card__line {
    width: 100%;
    background: linear-gradient(
        90deg,
        var(--ct-blue),
        var(--ct-orange)
    );
}

/* Scroll animation */
.ct-reveal {
    opacity: 0;
    transform: translateY(40px) scale(0.97);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(.2, .75, .25, 1);
}

.ct-reveal.ct-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Animation delay */
.ct-speciality-card:nth-child(1) {
    transition-delay: 0.05s;
}

.ct-speciality-card:nth-child(2) {
    transition-delay: 0.12s;
}

.ct-speciality-card:nth-child(3) {
    transition-delay: 0.19s;
}

.ct-speciality-card:nth-child(4) {
    transition-delay: 0.26s;
}

.ct-speciality-card:nth-child(5) {
    transition-delay: 0.33s;
}

.ct-speciality-card:nth-child(6) {
    transition-delay: 0.40s;
}

.ct-speciality-card:nth-child(7) {
    transition-delay: 0.47s;
}

/* Dashed icon circle */
@keyframes ctIconRotation {
    to {
        transform: rotate(360deg);
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .ct-specialities {
        padding: 60px 24px;
    }

    .ct-speciality-card {
        width: calc(33.333% - 16px);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ct-specialities {
        padding: 50px 18px;
    }

    .ct-specialities__grid {
        gap: 16px;
    }

    .ct-speciality-card {
        width: calc(50% - 8px);
        min-height: 215px;
        padding: 22px 12px 20px;
        border-radius: 15px;
    }

    .ct-speciality-card__number {
        font-size: 18px;
    }

    .ct-speciality-card__icon {
        width: 68px;
        height: 68px;
        margin-bottom: 15px;
    }

    .ct-speciality-card__icon svg {
        width: 39px;
        height: 39px;
    }

    .ct-speciality-card h3 {
        min-height: 44px;
        font-size: 14px;
    }

}

/* Small mobile */
@media (max-width: 440px) {
    .ct-speciality-card {
        width: 100%;
        min-height: 205px;
    }
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
    .ct-specialities *,
    .ct-specialities *::before,
    .ct-specialities *::after {
        animation: none !important;
        transition-duration: 0.01ms !important;
    }

    .ct-reveal {
        opacity: 1;
        transform: none;
    }
}

/* =========================================
   SPECIALITIES ANIMATED BACKGROUND ONLY
========================================= */

.ct-specialities-background {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: 70px 24px;

    background:
        radial-gradient(
            circle at 12% 15%,
            rgba(56, 182, 255, 0.15) 0,
            rgba(56, 182, 255, 0.06) 18%,
            transparent 38%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(255, 127, 63, 0.12) 0,
            rgba(255, 127, 63, 0.04) 20%,
            transparent 40%
        ),
        linear-gradient(
            135deg,
            #f9fdff 0%,
            #edf8fd 48%,
            #f9fdff 100%
        );
}

/* Keep Elementor content above background */
.ct-specialities-background > * {
    position: relative;
    z-index: 3;
}

/* Animated heartbeat line */
.ct-specialities-background::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 20px;
    right: -70px;
    width: 520px;
    height: 120px;
    pointer-events: none;
    opacity: 0;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 520 120'%3E%3Cpath d='M0 60H125L150 60L168 26L195 93L220 10L252 100L280 60H520' fill='none' stroke='%2338B6FF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    animation: ctBackgroundPulse 5s ease-in-out infinite;
}

/* Animated decorative rings */
.ct-specialities-background::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: -130px;
    bottom: -150px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255, 127, 63, 0.18);
    border-radius: 50%;
    pointer-events: none;

    box-shadow:
        0 0 0 42px rgba(255, 127, 63, 0.035),
        0 0 0 86px rgba(255, 127, 63, 0.025),
        0 0 0 132px rgba(56, 182, 255, 0.02);

    animation: ctBackgroundRings 9s ease-in-out infinite;
}

/* Small decorative medical crosses */
.ct-specialities-background .ct-background-decoration {
    position: absolute;
    z-index: 1;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.ct-specialities-background .ct-background-decoration::before,
.ct-specialities-background .ct-background-decoration::after {
    content: "+";
    position: absolute;
    color: rgba(56, 182, 255, 0.14);
    font-family: Arial, sans-serif;
    font-weight: 300;
    line-height: 1;
    animation: ctCrossFloat 7s ease-in-out infinite;
}

.ct-specialities-background .ct-background-decoration::before {
    top: 16%;
    left: 5%;
    font-size: 72px;
}

.ct-specialities-background .ct-background-decoration::after {
    right: 7%;
    bottom: 14%;
    font-size: 52px;
    color: rgba(255, 127, 63, 0.12);
    animation-delay: -3.5s;
}

/* Heartbeat animation */
@keyframes ctBackgroundPulse {
    0% {
        opacity: 0;
        transform: translateX(55px);
    }

    25% {
        opacity: 0.15;
    }

    55% {
        opacity: 0.15;
        transform: translateX(0);
    }

    100% {
        opacity: 0;
        transform: translateX(-55px);
    }
}

/* Rings animation */
@keyframes ctBackgroundRings {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(-22px, -16px, 0) scale(1.05);
    }
}

/* Medical crosses animation */
@keyframes ctCrossFloat {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-18px) rotate(8deg);
    }
}

/* Tablet */
@media (max-width: 1024px) {
    .ct-specialities-background {
        padding: 60px 24px;
    }

    .ct-specialities-background::before {
        right: -140px;
        width: 450px;
        opacity: 0.1;
    }

    .ct-specialities-background::after {
        right: -180px;
        bottom: -170px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .ct-specialities-background {
        padding: 50px 18px;

        background:
            radial-gradient(
                circle at 10% 10%,
                rgba(56, 182, 255, 0.13),
                transparent 34%
            ),
            radial-gradient(
                circle at 90% 90%,
                rgba(255, 127, 63, 0.09),
                transparent 35%
            ),
            linear-gradient(
                145deg,
                #f9fdff 0%,
                #eef8fd 52%,
                #f9fdff 100%
            );
    }

    .ct-specialities-background::before {
        top: 5px;
        right: -180px;
        width: 420px;
    }

    .ct-specialities-background::after {
        right: -220px;
        bottom: -190px;
        width: 330px;
        height: 330px;
    }

    .ct-specialities-background
    .ct-background-decoration::before {
        left: 2%;
        font-size: 50px;
    }

    .ct-specialities-background
    .ct-background-decoration::after {
        right: 2%;
        font-size: 42px;
    }
}

/* Reduce animations for accessibility */
@media (prefers-reduced-motion: reduce) {
    .ct-specialities-background::before,
    .ct-specialities-background::after,
    .ct-specialities-background
    .ct-background-decoration::before,
    .ct-specialities-background
    .ct-background-decoration::after {
        animation: none !important;
    }
}



/* ==========================================
   ATTRACTIVE FAMILY GP CTA BACKGROUND
   No gradient
========================================== */

.ct-family-cta-bg {
    position: relative;
    z-index: 1;
    overflow: hidden;

    background-color: #f77b45;

    /* Healthcare line-art pattern */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1400' height='340' viewBox='0 0 1400 340'%3E%3Cg fill='none' stroke='%23ffffff' stroke-linecap='round'%3E%3Cpath opacity='.11' stroke-width='2' d='M-60 275C120 160 218 350 405 223S700 130 850 224s302 63 610-105'/%3E%3Cpath opacity='.07' stroke-width='2' d='M-80 304C105 189 235 382 425 252s286-91 452 5 315 55 610-112'/%3E%3Cpath opacity='.06' stroke-width='2' d='M-95 330C98 220 251 405 446 283s290-86 456 7 319 51 603-110'/%3E%3Cpath opacity='.12' stroke-width='3' d='M1020 93h39l12-25 21 58 24-43 18 10h46'/%3E%3Cpath opacity='.12' stroke-width='3' d='M98 76h28V48h21v28h28v21h-28v28h-21V97H98z'/%3E%3Cpath opacity='.08' stroke-width='2' d='M1162-32c64 33 102 86 95 142s-59 96-124 84-101-65-87-119 59-91 116-107Z'/%3E%3Cpath opacity='.05' stroke-width='2' d='M1212-44c78 39 124 104 115 171s-72 116-150 101-122-79-105-145 70-111 140-127Z'/%3E%3C/g%3E%3Cg fill='%23ffffff' opacity='.14'%3E%3Ccircle cx='870' cy='72' r='3'/%3E%3Ccircle cx='887' cy='72' r='3'/%3E%3Ccircle cx='904' cy='72' r='3'/%3E%3Ccircle cx='870' cy='89' r='3'/%3E%3Ccircle cx='887' cy='89' r='3'/%3E%3Ccircle cx='904' cy='89' r='3'/%3E%3Ccircle cx='870' cy='106' r='3'/%3E%3Ccircle cx='887' cy='106' r='3'/%3E%3Ccircle cx='904' cy='106' r='3'/%3E%3C/g%3E%3C/svg%3E");

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    border: 1px solid rgba(255,255,255,.24);
    border-radius: 20px;

    box-shadow:
        0 18px 42px rgba(159,65,26,.20),
        inset 0 1px 0 rgba(255,255,255,.25);

    isolation: isolate;
}

/* Dark transparent side panel */
.ct-family-cta-bg::before {
    position: absolute;
    z-index: -1;
    top: -80px;
    right: -75px;

    width: 390px;
    height: 390px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: 48% 0 0 48%;

    background-color: rgba(91,37,18,.08);

    content: "";
    pointer-events: none;

    transform: rotate(-8deg);
}

/* Small white accent line */
.ct-family-cta-bg::after {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 70px;

    width: 115px;
    height: 4px;

    border-radius: 0 0 10px 10px;
    background-color: rgba(255,255,255,.78);

    content: "";
    pointer-events: none;
}

/* Keep content above artwork */
.ct-family-cta-bg > * {
    position: relative;
    z-index: 2;
}

/* Mobile */
@media (max-width: 767px) {
    .ct-family-cta-bg {
        border-radius: 16px;
        background-position: 55% center;
    }

    .ct-family-cta-bg::before {
        top: auto;
        right: -120px;
        bottom: -170px;
        width: 310px;
        height: 310px;
    }

    .ct-family-cta-bg::after {
        left: 28px;
        width: 75px;
    }
}
