:root {
    --pt-green: #0f9b63;
    --pt-green-light: #22c783;
    --pt-black: #050505;
    --pt-white: #ffffff;
    --pt-muted: #bfc8c4;
     --pt-dark: #07100c;
     --pt-light: #f5f8f6;
    --pt-muted: #64726c;
    --pt-border: #dfe8e3;
     --pt-green-soft: #e9fff5;
    --pt-border: rgba(15,155,99,.14);
    --pt-shadow: 0 25px 80px rgba(5,5,5,.08);  
     --pt-green-soft:#e9fff5;
     /*********************BOOKING VARIABLES*****************/
     --bk-green:#0f9b63;
    --bk-green-light:#22c783;
    --bk-black:#050505;
    --bk-dark:#07100c;
    --bk-white:#ffffff;
    --bk-light:#f8fffb;
    --bk-muted:#66736d;
    --bk-border:rgba(15,155,99,.14);
   
   
}






.pt-coming-section {
    min-height: 100vh;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 20% 20%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 80% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg, var(--pt-black), var(--pt-dark));
    color: var(--pt-white);
}

.pt-coming-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 70px 70px;
    animation: ptGridMove 18s linear infinite;
}

.pt-coming-card {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: auto;
    text-align: center;
    padding: 60px 35px;
    border-radius: 34px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.13);
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 80px rgba(0,0,0,.45);
}

.pt-coming-card::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    top: -70px;
    right: -70px;
    border-radius: 50%;
    background: rgba(34,199,131,.22);
    filter: blur(40px);
    z-index: -1;
    animation: ptGlow 4s ease-in-out infinite;
}

.pt-logo-wrap {
    width: 190px;
    margin: 0 auto 28px;
    padding: 16px;
    border-radius: 22px;
    background: var(--pt-white);
    box-shadow: 0 18px 45px rgba(0,0,0,.35);
    animation: ptFloat 4s ease-in-out infinite;
}

.pt-logo-wrap img {
    width: 100%;
    display: block;
}

.pt-coming-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 10px 18px;
    border-radius: 50px;
    background: rgba(15,155,99,.16);
    border: 1px solid rgba(34,199,131,.35);
    color: var(--pt-green-light);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.pt-coming-card h1 {
    font-size: clamp(42px, 8vw, 82px);
    line-height: 1;
    margin: 0 0 20px;
    font-weight: 900;
    letter-spacing: -3px;
}

.pt-coming-card p {
    max-width: 640px;
    margin: 0 auto 35px;
    color: var(--pt-muted);
    font-size: 17px;
    line-height: 1.8;
}

.pt-coming-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 25px;
}

.pt-btn-primary,
.pt-btn-outline {
    min-height: 54px;
    padding: 0 30px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    font-weight: 800;
    text-decoration: none;
    transition: .35s ease;
}

.pt-btn-primary {
    background: linear-gradient(135deg, var(--pt-green), var(--pt-green-light));
    color: var(--pt-white);
    box-shadow: 0 18px 45px rgba(15,155,99,.35);
}

.pt-btn-primary:hover {
    color: var(--pt-white);
    transform: translateY(-4px);
    box-shadow: 0 25px 65px rgba(15,155,99,.5);
}

.pt-btn-outline {
    color: var(--pt-white);
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06);
}

.pt-btn-outline:hover {
    color: var(--pt-green-light);
    border-color: var(--pt-green-light);
    transform: translateY(-4px);
}

.pt-coming-info {
    color: var(--pt-muted);
    font-size: 14px;
}

.pt-coming-info span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pt-coming-info i {
    color: var(--pt-green-light);
}

@keyframes ptGridMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 140px 140px;
    }
}

@keyframes ptFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-14px);
    }
}

@keyframes ptGlow {
    0%, 100% {
        opacity: .55;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.18);
    }
}

@media (max-width: 768px) {
    .pt-coming-section {
        padding: 80px 0;
    }

    .pt-coming-card {
        padding: 45px 22px;
        border-radius: 26px;
    }

    .pt-logo-wrap {
        width: 155px;
    }

    .pt-coming-card h1 {
        letter-spacing: -1px;
    }

    .pt-coming-card p {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .pt-coming-actions a {
        width: 100%;
    }

    .pt-coming-card {
        padding: 40px 18px;
    }
}


/***********************************404***********************************/
.pt-error-section {
    min-height: 100vh;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 20% 20%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 80% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg, var(--pt-black), var(--pt-dark));
    color: var(--pt-white);
}

.pt-error-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 70px 70px;
    animation: ptGridMove 18s linear infinite;
}

.pt-error-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: auto;
    text-align: center;
}

.pt-error-image {
    width: 260px;
    height: 260px;
    margin: 0 auto 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: ptFloat 4s ease-in-out infinite;
}

.pt-error-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 25px 45px rgba(15,155,99,.35));
}

.pt-error-tag {
    display: inline-block;
    margin-bottom: 15px;
    padding: 9px 18px;
    border-radius: 50px;
    background: rgba(15,155,99,.15);
    border: 1px solid rgba(34,199,131,.35);
    color: var(--pt-green-light);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.pt-error-content h1 {
    font-size: clamp(90px, 18vw, 190px);
    line-height: .85;
    margin: 0 0 20px;
    font-weight: 900;
    letter-spacing: -8px;
    color: transparent;
    -webkit-text-stroke: 2px var(--pt-green-light);
    text-shadow: 0 0 35px rgba(34,199,131,.35);
}

.pt-error-content h2 {
    margin: 0 0 16px;
    font-size: clamp(28px, 5vw, 52px);
    font-weight: 900;
}

.pt-error-content p {
    max-width: 580px;
    margin: 0 auto 35px;
    color: var(--pt-muted);
    font-size: 17px;
    line-height: 1.8;
}

.pt-error-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.pt-btn-primary,
.pt-btn-outline {
    min-height: 54px;
    padding: 0 32px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    text-decoration: none;
    transition: .35s ease;
}

.pt-btn-primary {
    background: linear-gradient(135deg, var(--pt-green), var(--pt-green-light));
    color: var(--pt-white);
    box-shadow: 0 18px 45px rgba(15,155,99,.35);
}

.pt-btn-primary:hover {
    color: var(--pt-white);
    transform: translateY(-4px);
    box-shadow: 0 25px 65px rgba(15,155,99,.5);
}

.pt-btn-outline {
    color: var(--pt-white);
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06);
}

.pt-btn-outline:hover {
    color: var(--pt-green-light);
    border-color: var(--pt-green-light);
    transform: translateY(-4px);
}

@keyframes ptFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }

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

@keyframes ptGridMove {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 140px 140px;
    }
}

@media (max-width: 768px) {
    .pt-error-section {
        padding: 80px 0;
    }

    .pt-error-image {
        width: 210px;
        height: 210px;
    }

    .pt-error-content h1 {
        letter-spacing: -4px;
    }
}

@media (max-width: 480px) {
    .pt-error-buttons a {
        width: 100%;
    }

    .pt-error-image {
        width: 180px;
        height: 180px;
    }
}

/********************************WHATSAPP*****************************/
/****************************whatsapp**************************/
/* ===============================
FLOATING WHATSAPP
=============================== */

.lvm-whatsapp-float{
  position:fixed;
  right:22px;
  bottom:24px;

  width:58px;
  height:58px;

  border-radius:50%;
  background:#25D366;
  color:#fff;

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

  font-size:32px;
  text-decoration:none;

  z-index:99999;

  box-shadow:0 12px 30px rgba(37,211,102,.35);

  animation:lvmWhatsappShake 2.2s infinite;
  transition:.3s ease;
}

.lvm-whatsapp-float:hover{
  color:#fff;
  transform:scale(1.08);
  box-shadow:0 18px 40px rgba(37,211,102,.45);
}

@keyframes lvmWhatsappShake{
  0%,100%{ transform:translateX(0) rotate(0deg); }
  8%{ transform:translateX(-3px) rotate(-6deg); }
  16%{ transform:translateX(3px) rotate(6deg); }
  24%{ transform:translateX(-2px) rotate(-4deg); }
  32%{ transform:translateX(2px) rotate(4deg); }
  40%{ transform:translateX(0) rotate(0deg); }
}

@media(max-width:600px){
  .lvm-whatsapp-float{
    right:16px;
    bottom:18px;
    width:52px;
    height:52px;
    font-size:28px;
  }
}


/***************************FOOTER STYLES******************/
/*==================================================
FOOTER
==================================================*/

.footer-style-one{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 15%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 85% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg,var(--pt-black),var(--pt-dark));

    color:var(--pt-white);
    z-index:1;
}

/* Animated Grid */
.footer-style-one::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:70px 70px;
    animation:footerGridMove 18s linear infinite;
    pointer-events:none;
}

/* Top Glow */
.footer-style-one::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(34,199,131,.18);
    top:-180px;
    right:-140px;
    filter:blur(70px);
    animation:footerGlow 6s ease-in-out infinite;
    pointer-events:none;
}

/* Bottom Glow */
.footer-style-one .footer-glow{
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(15,155,99,.18);
    bottom:-160px;
    left:-120px;
    filter:blur(70px);
    animation:footerGlow2 7s ease-in-out infinite;
    pointer-events:none;
}

/* Keep content above background */
.footer-style-one .container,
.footer-style-one .container-fluid,
.footer-style-one .row{
    position:relative;
    z-index:2;
}

/* Footer Headings */

.footer-style-one h2,
.footer-style-one h3,
.footer-style-one h4,
.footer-style-one h5,
.footer-style-one h6{
    color:#fff;
    font-weight:700;
}

/* Footer Text */

.footer-style-one p,
.footer-style-one li,
.footer-style-one span,
.footer-style-one a{
    color:rgba(255,255,255,.72);
    transition:.35s;
}

/* Links */

.footer-style-one a:hover{
    color:var(--pt-green-light);
    text-decoration:none;
}

/* Footer Icons */

.footer-style-one i{
    color:var(--pt-green-light);
    transition:.35s;
}

.footer-style-one a:hover i{
    transform:translateX(4px);
}

/* Footer Inputs */

.footer-style-one input,
.footer-style-one textarea{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
}

.footer-style-one input::placeholder,
.footer-style-one textarea::placeholder{
    color:rgba(255,255,255,.45);
}

.footer-style-one input:focus,
.footer-style-one textarea:focus{
    border-color:var(--pt-green);
    box-shadow:0 0 0 4px rgba(15,155,99,.12);
}

/* Footer Buttons */

.footer-style-one .btn,
.footer-style-one button{

    border-radius:0;

    transition:.35s;
}

.footer-style-one .btn:hover,
.footer-style-one button:hover{

    transform:translateY(-3px);

}

/* Copyright */

.footer-style-one .copyright{

    border-top:1px solid rgba(255,255,255,.08);

}

/*==============================
ANIMATION
==============================*/

@keyframes footerGridMove{

    from{

        background-position:0 0;

    }

    to{

        background-position:140px 140px;

    }

}

@keyframes footerGlow{

    0%,100%{

        transform:scale(1);

        opacity:.6;

    }

    50%{

        transform:scale(1.2);

        opacity:1;

    }

}

@keyframes footerGlow2{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-30px);

    }

}

/*****************************BREADCRUM STYLES*********************/
/*==================================================
BREADCRUMB
==================================================*/

.page-title{
    position:relative;
    overflow:hidden;
    padding:45px 0 45px;
    background:
        radial-gradient(circle at 15% 15%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 85% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg,var(--pt-black),var(--pt-dark));

    color:var(--pt-white);
    z-index:1;
}

/* Animated Grid */

.page-title::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);

    background-size:70px 70px;

    animation:pageGridMove 18s linear infinite;

    pointer-events:none;
}

/* Right Glow */

.page-title::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(34,199,131,.18);

    top:-180px;

    right:-140px;

    filter:blur(70px);

    animation:pageGlow 6s ease-in-out infinite;

    pointer-events:none;

}

/* Left Glow */

.page-title .page-glow{

    position:absolute;

    width:350px;

    height:350px;

    border-radius:50%;

    background:rgba(15,155,99,.18);

    left:-120px;

    bottom:-160px;

    filter:blur(70px);

    animation:pageGlow2 7s ease-in-out infinite;

    pointer-events:none;

}

/* Keep content above background */

.page-title .container,
.page-title .container-fluid,
.page-title .row{

    position:relative;

    z-index:2;

}

/* Heading */

.page-title h1{

    color:#fff;

    font-size:clamp(40px,6vw,72px);

    font-weight:900;

    letter-spacing:-2px;

    margin-bottom:18px;

}

/* Breadcrumb */

.page-title .breadcrumb,
.page-title .bread-crumb,
.page-title ul{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:12px;

    margin:0;

    padding:0;

    list-style:none;

}

.page-title .breadcrumb li,
.page-title .bread-crumb li,
.page-title li{

    color:rgba(255,255,255,.75);

    font-size:15px;

}

.page-title a{

    color:var(--pt-green-light);

    transition:.35s;

    text-decoration:none;

}

.page-title a:hover{

    color:#fff;

}

.page-title .breadcrumb i,
.page-title .bread-crumb i{

    color:var(--pt-green-light);

}

/*==============================
ANIMATION
==============================*/

@keyframes pageGridMove{

    from{

        background-position:0 0;

    }

    to{

        background-position:140px 140px;

    }

}

@keyframes pageGlow{

    0%,100%{

        transform:scale(1);

        opacity:.6;

    }

    50%{

        transform:scale(1.2);

        opacity:1;

    }

}

@keyframes pageGlow2{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-30px);

    }

}

/**********************************CONTACT US PAGE**************************/
/**
.pt-contact-page {
    position: relative;
    padding: 110px 0;
    overflow: hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.18) 0%, rgba(233,255,245,.45) 26%, transparent 58%),
        linear-gradient(135deg, #ffffff 0%, #f8fffb 42%, #edfdf5 55%, #ffffff 100%);
    color: var(--pt-black);
}
***/

.pt-contact-page{
    position:relative;
    overflow:hidden;
    padding:110px 0;

    background:
        radial-gradient(
            ellipse at center,
            rgba(34,199,131,.14) 0%,
            rgba(34,199,131,.10) 18%,
            rgba(34,199,131,.05) 35%,
            rgba(255,255,255,0) 58%
        ),

        linear-gradient(
            to bottom,
            #ffffff 0%,
            #ffffff 18%,
            #fcfffd 40%,
            #f8fffb 50%,
            #fcfffd 60%,
            #ffffff 82%,
            #ffffff 100%
        );

    color:var(--pt-black);
}
.pt-contact-wave {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, transparent 0%, rgba(15,155,99,.06) 40%, rgba(34,199,131,.13) 50%, rgba(15,155,99,.05) 60%, transparent 100%);
    animation: ptWaveMove 9s ease-in-out infinite;
    pointer-events: none;
}

.pt-contact-dot {
    position: absolute;
    border-radius: 50%;
    filter: blur(45px);
    opacity: .55;
    pointer-events: none;
}

.pt-dot-one {
    width: 260px;
    height: 260px;
    background: rgba(34,199,131,.23);
    top: 8%;
    left: -90px;
    animation: ptFloatDot 6s ease-in-out infinite;
}

.pt-dot-two {
    width: 320px;
    height: 320px;
    background: rgba(15,155,99,.15);
    right: -120px;
    bottom: 8%;
    animation: ptFloatDot 8s ease-in-out infinite reverse;
}

.pt-contact-heading {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
    animation: ptFadeUp .8s ease both;
}

.pt-contact-heading span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 16px;
    color: var(--pt-green);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.pt-contact-heading h2 {
    font-size: clamp(36px, 6vw, 66px);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: -3px;
    margin-bottom: 18px;
}

.pt-contact-heading p {
    color: var(--pt-muted);
    font-size: 17px;
    line-height: 1.8;
    margin: 0;
}

.pt-contact-cards {
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
}

.pt-info-card {
    position: relative;
    height: 100%;
    padding: 38px 26px;
    background: rgba(255,255,255,.84);
    border: 1px solid var(--pt-border);
    box-shadow: var(--pt-shadow);
    text-align: center;
    overflow: hidden;
    transition: .4s ease;
    animation: ptFadeUp .9s ease both;
}

.pt-info-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15,155,99,.12), transparent 48%);
    opacity: 0;
    transition: .4s ease;
}

.pt-info-card::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    top: -45px;
    right: -45px;
    background: var(--pt-green-light);
    opacity: .15;
    transform: rotate(45deg);
    transition: .4s ease;
}

.pt-info-card:hover {
    transform: translateY(-12px);
    border-color: rgba(15,155,99,.35);
    box-shadow: 0 32px 90px rgba(15,155,99,.18);
}

.pt-info-card:hover::before {
    opacity: 1;
}

.pt-info-card:hover::after {
    width: 130px;
    height: 130px;
}

.pt-info-icon {
    position: relative;
    z-index: 2;
    width: 72px;
    height: 72px;
    margin: 0 auto 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--pt-green), var(--pt-green-light));
    color: var(--pt-white);
    font-size: 27px;
    box-shadow: 0 18px 42px rgba(15,155,99,.25);
    transition: .4s ease;
}

.pt-info-card:hover .pt-info-icon {
    transform: rotateY(180deg);
}

.pt-info-card h4,
.pt-info-card p {
    position: relative;
    z-index: 2;
}

.pt-info-card h4 {
    font-size: 22px;
    font-weight: 900;
    margin-bottom: 10px;
}

.pt-info-card p {
    color: var(--pt-muted);
    margin: 0;
    word-break: break-word;
}

.pt-contact-main {
    position: relative;
    z-index: 2;
    background: var(--pt-white);
    border: 1px solid var(--pt-border);
    box-shadow: 0 35px 100px rgba(5,5,5,.09);
    overflow: hidden;
    animation: ptFadeUp 1s ease both;
}

.pt-contact-side {
    height: 100%;
    padding: 55px 42px;
    background:
        radial-gradient(circle at top right, rgba(34,199,131,.22), transparent 35%),
        linear-gradient(135deg, var(--pt-black), var(--pt-dark));
    color: var(--pt-white);
}

.pt-side-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 22px;
    padding: 10px 15px;
    background: rgba(34,199,131,.12);
    border: 1px solid rgba(34,199,131,.28);
    color: var(--pt-green-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.pt-contact-side h3 {
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -2px;
    margin-bottom: 20px;
}

.pt-contact-side p {
    color: rgba(255,255,255,.72);
    line-height: 1.8;
    margin-bottom: 28px;
}

.pt-contact-side ul {
    list-style: none;
    padding: 0;
    margin: 0 0 34px;
}

.pt-contact-side li {
    display: flex;
    align-items: center;
    gap: 11px;
    color: rgba(255,255,255,.82);
    margin-bottom: 14px;
}

.pt-contact-side li i {
    color: var(--pt-green-light);
}

.pt-working-mini {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 20px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
}

.pt-working-mini > i {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pt-green);
    color: var(--pt-white);
    font-size: 20px;
}

.pt-working-mini strong,
.pt-working-mini span {
    display: block;
}

.pt-working-mini strong {
    color: var(--pt-white);
    margin-bottom: 4px;
}

.pt-working-mini span {
    color: rgba(255,255,255,.66);
    font-size: 14px;
}

.pt-premium-form {
    padding: 55px 42px;
    background: rgba(255,255,255,.96);
}

.pt-premium-form label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    color: var(--pt-black);
    font-weight: 900;
    font-size: 14px;
}

.pt-premium-form label i {
    color: var(--pt-green);
}

.pt-premium-form input,
.pt-premium-form select,
.pt-premium-form textarea {
    width: 100%;
    border: 1px solid #dcebe3;
    border-radius: 0;
    outline: none;
    background: #fbfffd;
    color: var(--pt-black);
    padding: 16px 18px;
    transition: .35s ease;
}

.pt-premium-form textarea {
    resize: none;
}

.pt-premium-form input:focus,
.pt-premium-form select:focus,
.pt-premium-form textarea:focus {
    border-color: var(--pt-green);
    background: var(--pt-white);
    box-shadow: 0 0 0 5px rgba(15,155,99,.10);
    transform: translateY(-2px);
}

.pt-contact-btn {
    border: none;
    border-radius: 0;
    outline: none;
    min-height: 58px;
    padding: 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    background: linear-gradient(135deg, var(--pt-green), var(--pt-green-light));
    color: var(--pt-white);
    font-weight: 950;
    transition: .35s ease;
    box-shadow: 0 18px 45px rgba(15,155,99,.25);
}

.pt-contact-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 65px rgba(15,155,99,.36);
}

.pt-contact-btn:hover i {
    animation: ptSendIcon .7s ease infinite;
}

@keyframes ptWaveMove {
    0%, 100% {
        transform: translateX(-4%) skewX(-8deg);
    }

    50% {
        transform: translateX(4%) skewX(-8deg);
    }
}

@keyframes ptFloatDot {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-35px);
    }
}

@keyframes ptFadeUp {
    from {
        opacity: 0;
        transform: translateY(38px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ptSendIcon {
    0%, 100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(5px) translateY(-3px);
    }
}

@media (max-width: 991px) {
    .pt-contact-page {
        padding: 85px 0;
    }

    .pt-contact-main {
        max-width: 760px;
        margin: auto;
    }

    .pt-contact-side,
    .pt-premium-form {
        padding: 42px 28px;
    }
}

@media (max-width: 767px) {
    .pt-contact-page {
        padding: 70px 0;
    }

    .pt-contact-heading {
        margin-bottom: 40px;
    }

    .pt-contact-cards {
        margin-bottom: 42px;
    }

    .pt-info-card {
        padding: 34px 20px;
    }

    .pt-contact-side,
    .pt-premium-form {
        padding: 35px 22px;
    }

    .pt-contact-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .pt-contact-heading h2,
    .pt-contact-side h3 {
        letter-spacing: -1px;
    }

    .pt-working-mini {
        align-items: flex-start;
    }
}
/************************************ABOUT US******************************/

/* ABOUT PAGE */
.pt-about-page{
    position:relative;
    padding:60px 0 50px;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
}

.pt-about-bg-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptWaveMove 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-about-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
}

.pt-glow-one{
    width:260px;
    height:260px;
    left:-90px;
    top:10%;
    background:rgba(34,199,131,.12);
    animation:ptFloatDot 7s ease-in-out infinite;
}

.pt-glow-two{
    width:340px;
    height:340px;
    right:-120px;
    bottom:10%;
    background:rgba(15,155,99,.09);
    animation:ptFloatDot 9s ease-in-out infinite reverse;
}

.pt-about-intro,
.pt-mission-vision{
    position:relative;
    z-index:2;
}

.pt-about-image-wrap{
    position:relative;
    animation:ptFadeUp .8s ease both;
}

.pt-about-main-img{
    position:relative;
    overflow:hidden;
    border:1px solid var(--pt-border);
    box-shadow:0 35px 90px rgba(5,5,5,.12);
}

.pt-about-main-img::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(15,155,99,.22),transparent 55%);
    z-index:1;
}

.pt-about-main-img img{
    width:100%;
    height:560px;
    object-fit:cover;
    display:block;
    transition:.8s ease;
}

.pt-about-image-wrap:hover img{
    transform:scale(1.08);
}

.pt-about-floating-card{
    position:absolute;
    right:-28px;
    bottom:42px;
    width:280px;
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:22px;
    background:#fff;
    border:1px solid var(--pt-border);
    box-shadow:0 25px 70px rgba(15,155,99,.15);
    animation:ptCardFloat 4s ease-in-out infinite;
    z-index:3;
}

.pt-about-floating-card i{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    font-size:20px;
}

.pt-about-floating-card h4{
    margin:0 0 6px;
    font-size:18px;
    font-weight:900;
}

.pt-about-floating-card p{
    margin:0;
    color:var(--pt-muted);
    font-size:14px;
    line-height:1.6;
}

.pt-about-content{
    animation:ptFadeUp 1s ease both;
}

.pt-section-tag{
    display:inline-flex;
    gap:9px;
    align-items:center;
    margin-bottom:18px;
    color:var(--pt-green);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.pt-about-content h2{
    font-size:clamp(32px,4.1vw,50px);
    line-height:1.05;
    font-weight:700;
    letter-spacing:-3px;
    margin-bottom:16px;
    color:var(--pt-black);
}

.pt-about-content p{
    color:var(--pt-muted);
    font-size:15px;
    line-height:1.85;
}

.pt-about-signature{
    margin-top:28px;
    display:flex;
    align-items:center;
    gap:22px;
    padding:24px;
    background:#fff;
    border-left:5px solid var(--pt-green);
    box-shadow:0 18px 55px rgba(5,5,5,.06);
}

.pt-about-signature strong,
.pt-about-signature span{
    display:block;
}

.pt-about-signature strong{
    font-size:18px;
    color:var(--pt-black);
}

.pt-about-signature span{
    color:var(--pt-muted);
}

.pt-about-signature h5{
    margin-left:auto;
    margin-bottom:0;
    font-size:38px;
    color:var(--pt-green);
    font-weight:900;
    font-style:italic;
}

/* MISSION */
.pt-mission-vision{
    margin-top:50px;
}

.pt-mv-card{
    position:relative;
    height:100%;
    padding:42px 34px;
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 25px 80px rgba(5,5,5,.07);
    overflow:hidden;
    transition:.45s ease;
    animation:ptFadeUp 1s ease both;
}

.pt-mv-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(34,199,131,.12),transparent 55%);
    opacity:0;
    transition:.45s ease;
}

.pt-mv-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 95px rgba(15,155,99,.16);
}

.pt-mv-card:hover::before{
    opacity:1;
}

.pt-mv-icon{
    position:relative;
    z-index:2;
    width:76px;
    height:76px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:30px;
    margin-bottom:25px;
    transition:.45s ease;
}

.pt-mv-card:hover .pt-mv-icon{
    transform:rotateY(180deg);
}

.pt-mv-card h3,
.pt-mv-card p{
    position:relative;
    z-index:2;
}

.pt-mv-card h3{
    font-size:30px;
    font-weight:950;
    margin-bottom:14px;
}

.pt-mv-card p{
    color:var(--pt-muted);
    line-height:1.8;
    margin:0;
}

/* CTA */
.pt-about-cta{
    position:relative;
    min-height:450px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    color:#fff;
}

.pt-cta-overlay{
    position:absolute;
    inset:0;
    background:rgba(5,5,5,.85);
    z-index:1;
}

.pt-cta-content{
    position:relative;
    z-index:2;
    max-width:1000px;
    margin:auto;
    text-align:center;
    padding:45px 0;
    animation:ptFadeUp 1s ease both;
}

.pt-cta-content span{
    display:inline-flex;
    margin-bottom:18px;
    color:var(--pt-green-light);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.pt-cta-content h2{
    font-size:clamp(34px,4.5vw,50px);
    line-height:1.04;
    font-weight:800;
    letter-spacing:-3px;
    margin-bottom:22px;
}

.pt-cta-content p{
    max-width:680px;
    margin:0 auto 34px;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.8;
}

.pt-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    min-height:58px;
    padding:0 36px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    text-decoration:none;
    font-weight:950;
    box-shadow:0 20px 55px rgba(15,155,99,.35);
    transition:.35s ease;
}

.pt-cta-btn:hover{
    color:#fff;
    transform:translateY(-6px);
    box-shadow:0 30px 75px rgba(15,155,99,.5);
}

.pt-cta-btn:hover i{
    animation:ptArrowMove .7s ease infinite;
}

/* WHY */
.pt-why-section{
    position:relative;
    padding:60px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.13), transparent 58%),
        linear-gradient(to bottom,#fff,#f8fffb,#fff);
}

.pt-section-heading{
    max-width:820px;
    margin:0 auto 55px;
    text-align:center;
    animation:ptFadeUp .8s ease both;
}

.pt-section-heading span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    color:var(--pt-green);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.pt-section-heading h2{
    font-size:clamp(34px,4.5vw,50px);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-3px;
    margin-bottom:18px;
}

.pt-section-heading p{
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.8;
}

.pt-why-card{
    position:relative;
    height:100%;
    padding:21px 18px;
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    overflow:hidden;
    transition:.45s ease;
    animation:ptFadeUp 1s ease both;
}

.pt-why-card::before{
    content:"";
    position:absolute;
    width:100px;
    height:100px;
    right:-60px;
    top:-60px;
    background:var(--pt-green);
    opacity:.12;
    transition:.45s ease;
}

.pt-why-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 90px rgba(15,155,99,.15);
}

.pt-why-card:hover::before{
    width:180px;
    height:180px;
}

.pt-why-card > i{
    width:58px;
    height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:26px;
    margin-bottom:22px;
    transition:.45s ease;
    border-radius: 5px;
}

.pt-why-card:hover > i{
    transform:rotateY(180deg);
}

.pt-why-card h4{
    font-size:22px;
    font-weight:950;
    margin-bottom:12px;
}

.pt-why-card p{
    color:var(--pt-muted);
    line-height:1.75;
    margin:0;
}

/* ANIMATIONS */
@keyframes ptWaveMove{
    0%,100%{transform:translateX(-4%) skewX(-8deg);}
    50%{transform:translateX(4%) skewX(-8deg);}
}

@keyframes ptFloatDot{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-35px);}
}

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

@keyframes ptCardFloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-14px);}
}

@keyframes ptArrowMove{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(6px);}
}

/* RESPONSIVE */
@media(max-width:991px){
    .pt-about-page,
    .pt-why-section{
        padding:85px 0;
    }

    .pt-about-main-img img{
        height:460px;
    }

    .pt-about-floating-card{
        right:20px;
    }
}

@media(max-width:767px){
    .pt-about-page,
    .pt-why-section{
        padding:70px 0;
    }

    .pt-about-main-img img{
        height:360px;
    }

    .pt-about-floating-card{
        position:relative;
        right:auto;
        bottom:auto;
        width:100%;
        margin-top:18px;
    }

    .pt-about-signature{
        flex-direction:column;
        align-items:flex-start;
    }

    .pt-about-signature h5{
        margin-left:0;
    }

    .pt-mission-vision{
        margin-top:55px;
    }

    .pt-cta-content{
        padding:80px 0;
    }

    .pt-cta-content h2,
    .pt-section-heading h2,
    .pt-about-content h2{
        letter-spacing:-1px;
    }
}

@media(max-width:480px){
    .pt-about-main-img img{
        height:300px;
    }

    .pt-mv-card,
    .pt-why-card{
        padding:32px 22px;
    }

    .pt-cta-btn{
        width:100%;
    }
}



/*******************************BOOKING***************************************/
.booking-form{
    background:#fff;
    padding:35px;
    box-shadow:0 25px 80px rgba(5,5,5,.08);
    border:1px solid var(--bk-border);
}

.booking-form input,
.booking-form select{
    width:100%;
    height:55px;
    margin-bottom:18px;
    padding:0 16px;
    border:1px solid #dcebe3;
    border-radius:0;
    outline:none;
}

.booking-form input:focus,
.booking-form select:focus{
    border-color:var(--bk-green);
    box-shadow:0 0 0 5px rgba(15,155,99,.10);
}

.booking-form button{
    border:0;
    border-radius:0;
    padding:15px 35px;
    background:linear-gradient(135deg,var(--bk-green),var(--bk-green-light));
    color:#fff;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    gap:10px;
}

.booking-calendar-modal{
    border-radius:0;
    border:0;
}

.fc .fc-button-primary{
    background:var(--bk-green);
    border-color:var(--bk-green);
    border-radius:0;
}

.fc-event.available-slot{
    background:var(--bk-green);
    border-color:var(--bk-green);
    cursor:pointer;
}

.fc-event.not-available{
    background:#111;
    border-color:#111;
    opacity:.65;
}

.booking-calendar-modal,
.booking-calendar-modal .modal-body,
#bookingCalendar,
.fc {
    position: relative;
    z-index: 9999;
}

.booking-calendar-modal::before,
.booking-calendar-modal::after,
#bookingCalendar::before,
#bookingCalendar::after {
    pointer-events: none !important;
}

.fc-event.available-slot {
    pointer-events: auto !important;
    cursor: pointer !important;
    background: var(--bk-green) !important;
    border-color: var(--bk-green) !important;
}

.fc-event.not-available {
    pointer-events: none !important;
    cursor: not-allowed !important;
    background: #111 !important;
    border-color: #111 !important;
    opacity: .55;
}

.fc .fc-day-past,
.fc .fc-timegrid-col.fc-day-past {
    background: rgba(0,0,0,.035);
    pointer-events: none;
    opacity: .45;
}

.fc .fc-day-past .fc-event {
    pointer-events: none !important;
}

.booking-calendar-modal {
    position: relative;
    z-index: 9999;
    border-radius: 0;
    border: 0;
    overflow: visible;
}

.modal {
    z-index: 1055;
}

.modal-backdrop {
    z-index: 1050;
}
.bk-call-page{
    padding:110px 0;
}

.bk-call-header{
    position:relative;
    z-index:2;
    max-width:820px;
    margin:0 auto 55px;
    text-align:center;
}

.bk-call-header span{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
    color:var(--bk-green);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.bk-call-header h2{
    font-size:clamp(36px,6vw,66px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-3px;
    margin-bottom:18px;
    color:var(--bk-black);
}

.bk-call-header p{
    color:var(--bk-muted);
    font-size:17px;
    line-height:1.8;
    margin:0;
}

.bk-call-wrapper{
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:
        0 18px 45px rgba(0,0,0,.05),
        0 35px 90px rgba(15,155,99,.05);
}

.bk-call-info{
    height:100%;
    padding:55px 42px;
    background:
        radial-gradient(circle at top right,rgba(34,199,131,.22),transparent 38%),
        linear-gradient(135deg,var(--bk-black),var(--bk-dark));
    color:#fff;
}

.bk-call-icon{
    width:82px;
    height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:26px;
    background:linear-gradient(135deg,var(--bk-green),var(--bk-green-light));
    color:#fff;
    font-size:32px;
    animation:bkFloat 4s ease-in-out infinite;
}

.bk-call-info h3{
    font-size:clamp(30px,4vw,46px);
    line-height:1.1;
    font-weight:950;
    letter-spacing:-2px;
    margin-bottom:20px;
}

.bk-call-info p{
    color:rgba(255,255,255,.72);
    line-height:1.8;
    margin-bottom:28px;
}

.bk-call-info ul{
    list-style:none;
    padding:0;
    margin:0 0 34px;
}

.bk-call-info li{
    display:flex;
    gap:11px;
    align-items:center;
    margin-bottom:14px;
    color:rgba(255,255,255,.82);
}

.bk-call-info li i{
    color:var(--bk-green-light);
}

.bk-call-small-box{
    display:flex;
    gap:16px;
    align-items:center;
    padding:20px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.1);
}

.bk-call-small-box > i{
    width:52px;
    height:52px;
    flex:0 0 52px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--bk-green);
    color:#fff;
    font-size:20px;
}

.bk-call-small-box strong,
.bk-call-small-box span{
    display:block;
}

.bk-call-small-box strong{
    color:#fff;
    margin-bottom:5px;
}

.bk-call-small-box span{
    color:rgba(255,255,255,.66);
    font-size:14px;
}

.bk-premium-booking-form{
    height:100%;
    padding:55px 42px;
    background:#fff;
    box-shadow:none;
    border:0;
}

.bk-label{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:10px;
    font-weight:900;
    color:var(--bk-black);
    font-size:14px;
}

.bk-label i{
    color:var(--bk-green);
}

.bk-premium-booking-form input,
.bk-premium-booking-form select{
    width:100%;
    height:56px;
    margin-bottom:0;
    padding:0 17px;
    border:1px solid #dcebe3;
    border-radius:0;
    outline:none;
    background:#fbfffd;
    color:var(--bk-black);
    transition:.35s ease;
}

.bk-premium-booking-form input:focus,
.bk-premium-booking-form select:focus{
    border-color:var(--bk-green);
    background:#fff;
    box-shadow:0 0 0 5px rgba(15,155,99,.10);
    transform:translateY(-2px);
}

.bk-premium-booking-form #selected_time_display{
    cursor:pointer;
    background:
        linear-gradient(90deg,#fbfffd,#ffffff);
}

.bk-premium-booking-form button{
    border:0;
    border-radius:0;
    min-height:58px;
    padding:0 38px;
    background:linear-gradient(135deg,var(--bk-green),var(--bk-green-light));
    color:#fff;
    font-weight:950;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    box-shadow:0 18px 45px rgba(15,155,99,.25);
    transition:.35s ease;
}

.bk-premium-booking-form button:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 65px rgba(15,155,99,.36);
}

.bk-premium-booking-form button:hover i{
    animation:bkIconMove .7s ease infinite;
}

@keyframes bkFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-14px);
    }
}

@keyframes bkIconMove{
    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(5px);
    }
}

@media(max-width:991px){
    .bk-call-page{
        padding:85px 0;
    }

    .bk-call-wrapper{
        max-width:760px;
        margin:auto;
    }

    .bk-call-info,
    .bk-premium-booking-form{
        padding:42px 28px;
    }
}

@media(max-width:767px){
    .bk-call-page{
        padding:70px 0;
    }

    .bk-call-header{
        margin-bottom:40px;
    }

    .bk-call-header h2,
    .bk-call-info h3{
        letter-spacing:-1px;
    }

    .bk-call-info,
    .bk-premium-booking-form{
        padding:35px 22px;
    }

    .bk-premium-booking-form button{
        width:100%;
    }
}

@media(max-width:480px){
    .bk-call-small-box{
        align-items:flex-start;
    }
}
.fc-event.booked-slot{
    background:#d9d9d9 !important;
    border-color:#cfcfcf !important;
    color:#000 !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
    opacity:1 !important;
}

.fc-event.booked-slot .fc-event-title,
.fc-event.booked-slot .fc-event-time{
    color:#000 !important;
    font-weight:800;
}
.fc-event.booked-slot{
    background:#d9d9d9 !important;
    border-color:#cfcfcf !important;
    color:#000 !important;
    cursor:not-allowed !important;
    pointer-events:auto !important;
    opacity:1 !important;
}

/********************************** BLOG ********************************/

.pt-blog-page{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
}

.pt-blog-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptBlogWave 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-blog-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
}

.pt-blog-glow-one{
    width:260px;
    height:260px;
    left:-90px;
    top:10%;
    background:rgba(34,199,131,.12);
    animation:ptBlogFloat 7s ease-in-out infinite;
}

.pt-blog-glow-two{
    width:340px;
    height:340px;
    right:-120px;
    bottom:8%;
    background:rgba(15,155,99,.09);
    animation:ptBlogFloat 9s ease-in-out infinite reverse;
}

.pt-blog-heading{
    position:relative;
    z-index:2;
    max-width:850px;
    margin:0 auto 45px;
    text-align:center;
}

.pt-blog-heading span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    color:var(--pt-green);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.pt-blog-heading h2{
    font-size:clamp(36px,6vw,66px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-3px;
    margin-bottom:18px;
    color:var(--pt-black);
}

.pt-blog-heading p{
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.8;
    margin:0;
}

/* Search */
.pt-blog-search-wrap{
    position:relative;
    z-index:2;
    max-width:820px;
    margin:0 auto 45px;
}

.pt-blog-search{
    position:relative;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
}

.pt-blog-search i{
    position:absolute;
    left:22px;
    top:50%;
    transform:translateY(-50%);
    color:var(--pt-green);
    font-size:18px;
}

.pt-blog-search input{
    width:100%;
    height:68px;
    border:0;
    outline:0;
    padding:0 22px 0 58px;
    font-size:16px;
    background:transparent;
}

/* Controls */
.pt-blog-controls{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:25px;
    padding:18px;
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 15px 45px rgba(5,5,5,.05);
}

.pt-result-count{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--pt-muted);
    font-weight:800;
}

.pt-result-count i{
    color:var(--pt-green);
}

.pt-desktop-sorts{
    display:flex;
    gap:12px;
}

.pt-blog-select{
    height:48px;
    min-width:150px;
    padding:0 14px;
    border:1px solid #dcebe3;
    background:#fbfffd;
    color:var(--pt-black);
    outline:none;
    font-weight:700;
    border-radius:0;
}

.pt-blog-select:focus{
    border-color:var(--pt-green);
    box-shadow:0 0 0 5px rgba(15,155,99,.10);
}

/* Mobile Top Filter */
.pt-mobile-filter-row{
    display:none;
    position:relative;
    z-index:2;
    gap:10px;
    margin-bottom:18px;
}

.pt-filter-toggle{
    height:48px;
    width:52px;
    border:0;
    color:#fff;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    font-size:18px;
}

/* Sidebar */
.pt-blog-sidebar{
    position:sticky;
    top:100px;
    z-index:5;
}

.pt-sidebar-close{
    display:none;
}

.pt-sidebar-widget{
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    padding:26px;
    margin-bottom:25px;
    animation:ptBlogFadeUp .8s ease both;
}

.pt-sidebar-widget h4{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:20px;
    font-weight:950;
    margin-bottom:22px;
}

.pt-sidebar-widget h4 i{
    color:var(--pt-green);
}

.pt-category-list{
    list-style:none;
    padding:0;
    margin:0;
}

.pt-category-list li{
    margin-bottom:10px;
}

.pt-category-list button{
    width:100%;
    border:0;
    background:#fbfffd;
    padding:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:var(--pt-black);
    font-weight:800;
    transition:.35s ease;
}

.pt-category-list button span{
    display:flex;
    align-items:center;
    gap:9px;
    text-align:left;
}

.pt-category-list button i{
    color:var(--pt-green);
}

.pt-category-list button strong{
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--pt-green-soft);
    color:var(--pt-green);
    font-size:12px;
}

.pt-category-list button:hover,
.pt-category-list button.active{
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    transform:translateX(5px);
}

.pt-category-list button:hover i,
.pt-category-list button.active i{
    color:#fff;
}

.pt-category-list button:hover strong,
.pt-category-list button.active strong{
    background:#fff;
}

/* Latest Posts */
.pt-latest-post{
    display:flex;
    gap:14px;
    text-decoration:none;
    margin-bottom:18px;
}

.pt-latest-post img{
    width:82px;
    height:72px;
    object-fit:cover;
    flex:0 0 82px;
}

.pt-latest-post h5{
    font-size:14px;
    line-height:1.45;
    color:var(--pt-black);
    margin:0 0 7px;
    font-weight:900;
    transition:.35s ease;
}

.pt-latest-post span{
    color:var(--pt-muted);
    font-size:12px;
}

.pt-latest-post span i{
    color:var(--pt-green);
}

.pt-latest-post:hover h5{
    color:var(--pt-green);
}

/* Blog Cards */
.pt-blog-card{
    height:100%;
    background:#fff;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    overflow:hidden;
    transition:.45s ease;
    animation:ptBlogFadeUp .8s ease both;
}

.pt-blog-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 90px rgba(15,155,99,.15);
}

.pt-blog-img{
    position:relative;
    height:240px;
    overflow:hidden;
}

.pt-blog-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:ptBlogImageZoom 7s ease-in-out infinite;
    transition:.7s ease;
}

.pt-blog-card:hover .pt-blog-img img{
    transform:scale(1.12);
}

.pt-blog-cat{
    position:absolute;
    top:16px;
    right:16px;
    padding:5px 10px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:12px;
    font-weight:900;
    z-index:2;
}

.pt-blog-body{
   padding: 8px 24px 24px 24px;
}

.pt-blog-date{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--pt-green);
    font-size:13px;
    font-weight:800;
    margin-bottom:12px;
}

.pt-blog-body h3{
    font-size:22px;
    line-height:1.3;
    margin-bottom:12px;
    font-weight:800;
}

.pt-blog-body h3 a{
    color:var(--pt-black);
    text-decoration:none;
    transition:.35s ease;
}

.pt-blog-body h3 a:hover{
    color:var(--pt-green);
}

.pt-blog-body p{
    color:var(--pt-muted);
    line-height:1.55;
    margin-bottom:10px;
}

.pt-blog-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:8px;
    border-top:1px solid #edf3ef;
}

.pt-blog-meta{
    display:flex;
    gap:14px;
    color:var(--pt-muted);
    font-size:13px;
    font-weight:700;
}

.pt-blog-meta span{
    display:flex;
    align-items:center;
    gap:6px;
}

.pt-blog-meta i{
    color:var(--pt-green);
}

.pt-read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--pt-green);
    font-weight:900;
    text-decoration:none;
    transition:.35s ease;
}

.pt-read-more:hover{
    color:var(--pt-black);
}

.pt-read-more:hover i{
    animation:ptBlogArrow .7s ease infinite;
}

/* Pagination */
.pt-blog-pagination{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:45px;
}

.pt-blog-pagination button{
    min-width:46px;
    height:46px;
    border:1px solid rgba(15,155,99,.14);
    background:#fff;
    color:var(--pt-black);
    font-weight:900;
    transition:.35s ease;
}

.pt-blog-pagination button:hover,
.pt-blog-pagination button.active{
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 16px 38px rgba(15,155,99,.25);
}

.pt-blog-empty{
    background:#fff;
    padding:55px 25px;
    text-align:center;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
}

.pt-blog-empty i{
    font-size:46px;
    color:var(--pt-green);
    margin-bottom:18px;
}

.pt-blog-empty h3{
    font-weight:800;
    margin-bottom:8px;
}

.pt-blog-empty p{
    color:var(--pt-muted);
    margin:0;
}

@keyframes ptBlogWave{
    0%,100%{transform:translateX(-4%) skewX(-8deg);}
    50%{transform:translateX(4%) skewX(-8deg);}
}

@keyframes ptBlogFloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-35px);}
}

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

@keyframes ptBlogImageZoom{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.08);}
}

@keyframes ptBlogArrow{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(5px);}
}

/* Responsive */
@media(max-width:991px){
    .pt-blog-page{
        padding:80px 0;
    }

    .pt-mobile-filter-row{
        display:grid;
        grid-template-columns:52px 1fr 1fr;
    }

    .pt-desktop-sorts{
        display:none;
    }

    .pt-blog-search-wrap{
        margin-bottom:25px;
    }

    .pt-blog-controls{
        margin-bottom:22px;
    }

    .pt-blog-sidebar-overlay{
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.55);
        z-index:9998;
        opacity:0;
        visibility:hidden;
        transition:.35s ease;
    }

    .pt-blog-sidebar-overlay.active{
        opacity:1;
        visibility:visible;
    }

    .pt-blog-sidebar{
        position:fixed;
        top:0;
        left:-330px;
        width:320px;
        max-width:90%;
        height:100vh;
        overflow-y:auto;
        background:#fff;
        z-index:9999;
        padding:22px;
        transition:.4s ease;
        box-shadow:0 20px 80px rgba(0,0,0,.25);
    }

    .pt-blog-sidebar.active{
        left:0;
    }

    .pt-sidebar-close{
        display:flex;
        width:44px;
        height:44px;
        margin-left:auto;
        margin-bottom:18px;
        align-items:center;
        justify-content:center;
        border:0;
        background:var(--pt-green);
        color:#fff;
        font-size:18px;
    }
}

@media(max-width:767px){
    .pt-blog-page{
        padding:65px 0;
    }

    .pt-blog-heading{
        margin-bottom:30px;
    }

    .pt-blog-heading h2{
        letter-spacing:-1px;
    }

    .pt-blog-search input{
        height:60px;
    }

    .pt-blog-controls{
        justify-content:center;
        text-align:center;
    }

    .pt-blog-img{
        height:230px;
    }
}

@media(max-width:480px){
    .pt-mobile-filter-row{
        grid-template-columns:48px 1fr 1fr;
        gap:8px;
    }

    .pt-blog-select{
        min-width:auto;
        width:100%;
        font-size:13px;
        padding:0 8px;
    }

    .pt-blog-footer{
        flex-direction:column;
        align-items:flex-start;
    }
}
/***************************************BLOG POST******************************/
.pt-blog-details-page{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14), transparent 58%),
        linear-gradient(to bottom,#fff,#fcfffd,#fff);
}

.pt-blog-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptBlogWave 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-post-wrapper{
    position:relative;
    z-index:2;
    max-width:980px;
    margin:auto;
}

.pt-post-header{
    text-align:center;
    margin-bottom:38px;
}

.pt-post-category{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:9px 16px;
    margin-bottom:18px;
    background:var(--pt-green-soft);
    color:var(--pt-green);
    font-weight:900;
    text-transform:uppercase;
    font-size:13px;
}

.pt-post-header h1{
    font-size:clamp(38px,6vw,74px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-3px;
    margin-bottom:20px;
    color:var(--pt-black);
}

.pt-post-meta{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
    color:var(--pt-muted);
    font-weight:800;
}

.pt-post-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.pt-post-meta i{
    color:var(--pt-green);
}

.pt-post-image{
    height:520px;
    overflow:hidden;
    margin-bottom:35px;
    box-shadow:0 30px 90px rgba(5,5,5,.10);
}

.pt-post-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:ptPostZoom 8s ease-in-out infinite;
}

.pt-share-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:22px;
    margin-bottom:38px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
}

.pt-share-box > span{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--pt-black);
    font-weight:950;
}

.pt-share-box > span i{
    color:var(--pt-green);
}

.pt-share-icons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.pt-share-icons a{
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    text-decoration:none;
    transition:.35s ease;
}

.pt-share-icons a:hover{
    transform:translateY(-6px) rotate(8deg);
    box-shadow:0 18px 40px rgba(15,155,99,.28);
}

.pt-post-content{
    padding:45px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.9;
    margin-bottom:38px;
}

.pt-post-content h1,
.pt-post-content h2,
.pt-post-content h3,
.pt-post-content h4{
    color:var(--pt-black);
    font-weight:950;
    margin-top:28px;
}

.pt-post-content img{
    max-width:100%;
    height:auto;
}

.pt-comment-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:24px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 18px 55px rgba(5,5,5,.05);
    margin-bottom:25px;
}

.pt-comment-top h3{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0;
    font-weight:950;
}

.pt-comment-top h3 i{
    color:var(--pt-green);
}

.pt-comment-top button,
.pt-comment-form-wrap button{
    border:0;
    border-radius:0;
    padding:15px 28px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-weight:950;
    transition:.35s ease;
}

.pt-comment-top button:hover,
.pt-comment-form-wrap button:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 50px rgba(15,155,99,.30);
}

.pt-comment-form-wrap{
    display:none;
    padding:35px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    margin-bottom:35px;
}

.pt-comment-form-wrap label{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
    font-weight:900;
    color:var(--pt-black);
}

.pt-comment-form-wrap label i{
    color:var(--pt-green);
}

.pt-comment-form-wrap input,
.pt-comment-form-wrap textarea{
    width:100%;
    border:1px solid #dcebe3;
    border-radius:0;
    outline:none;
    background:#fbfffd;
    padding:16px;
    transition:.35s ease;
}

.pt-comment-form-wrap textarea{
    resize:none;
}

.pt-comment-form-wrap input:focus,
.pt-comment-form-wrap textarea:focus{
    border-color:var(--pt-green);
    box-shadow:0 0 0 5px rgba(15,155,99,.10);
    background:#fff;
}

.pt-comments-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.pt-single-comment{
    display:flex;
    gap:18px;
    padding:24px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 18px 55px rgba(5,5,5,.05);
    animation:ptFadeUp .7s ease both;
}

.pt-comment-avatar{
    width:56px;
    height:56px;
    flex:0 0 56px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:22px;
}

.pt-comment-body h4{
    margin:0 0 5px;
    font-weight:950;
}

.pt-comment-body span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--pt-muted);
    font-size:13px;
    margin-bottom:12px;
}

.pt-comment-body span i{
    color:var(--pt-green);
}

.pt-comment-body p{
    margin:0;
    color:var(--pt-muted);
    line-height:1.8;
}

.pt-no-comment{
    text-align:center;
    padding:45px 20px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
}

.pt-no-comment i{
    font-size:42px;
    color:var(--pt-green);
    margin-bottom:15px;
}

.pt-no-comment p{
    margin:0;
    color:var(--pt-muted);
}

@keyframes ptBlogWave{
    0%,100%{transform:translateX(-4%) skewX(-8deg);}
    50%{transform:translateX(4%) skewX(-8deg);}
}

@keyframes ptPostZoom{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.07);}
}

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

@media(max-width:768px){
    .pt-blog-details-page{
        padding:70px 0;
    }

    .pt-post-header h1{
        letter-spacing:-1px;
    }

    .pt-post-image{
        height:330px;
    }

    .pt-post-content{
        padding:28px 20px;
    }

    .pt-share-box,
    .pt-comment-top{
        flex-direction:column;
        align-items:flex-start;
    }

    .pt-comment-top button{
        width:100%;
        justify-content:center;
    }
}

@media(max-width:480px){
    .pt-post-image{
        height:260px;
    }

    .pt-single-comment{
        flex-direction:column;
    }
}

.pt-home-blog-section{
    position:relative;
    padding:50px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.13), transparent 58%),
        linear-gradient(to bottom,#fff,#f8fffb,#fff);
}

.pt-home-blog-slider{
    position:relative;
    z-index:2;
    padding-bottom:50px;
}

.pt-home-blog-slider .swiper-slide{
    height:auto;
}

.pt-home-blog-slider .pt-blog-card{
    height:100%;
}

.pt-home-blog-pagination .swiper-pagination-bullet{
    width:13px;
    height:13px;
    border-radius:0;
    background:rgba(15,155,99,.35);
    opacity:1;
    transition:.35s ease;
}

.pt-home-blog-pagination .swiper-pagination-bullet-active{
    width:34px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
}

@media(max-width:767px){
    .pt-home-blog-section{
        padding:70px 0;
    }
}

/**********************************TESTIMONIAL ***************************/
.pt-testimonial-section{
    position:relative;
    padding:60px 0;
    overflow:hidden;
    background:#ffffff;
}

.pt-testimonial-section::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(34,199,131,.13), transparent 65%);
    pointer-events:none;
}

.pt-testimonial-slider{
    position:relative;
    z-index:2;
    padding-bottom:62px;
}

.pt-testimonial-slider .swiper-slide{
    height:auto;
}

.pt-testimonial-card{
    position:relative;
    height:100%;
    padding:42px 34px;
    background:#ffffff;
    border:2px solid rgba(15,155,99,.28);
    box-shadow:
        0 20px 65px rgba(5,5,5,.06),
        0 35px 90px rgba(15,155,99,.06);
    overflow:hidden;
    transition:.45s ease;
}

.pt-testimonial-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(34,199,131,.10), transparent 55%);
    opacity:0;
    transition:.45s ease;
}

.pt-testimonial-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-60px;
    top:-60px;
   /* background:var(--pt-green-light);*/
    opacity:.14;
    transform:rotate(45deg);
    transition:.45s ease;
}

.pt-testimonial-card:hover{
    transform:translateY(-12px);
    border-color:var(--pt-green);
    box-shadow:
        0 28px 75px rgba(5,5,5,.08),
        0 45px 100px rgba(15,155,99,.14);
}

.pt-testimonial-card:hover::before{
    opacity:1;
}

.pt-testimonial-card:hover::after{
    width:170px;
    height:170px;
}

.pt-quote-icon{
    position:absolute;
    right:28px;
    top:28px;
    color:rgba(15,155,99,.12);
    font-size:72px;
    line-height:1;
    transition:.45s ease;
}

.pt-testimonial-card:hover .pt-quote-icon{
    transform:rotate(-8deg) scale(1.12);
    color:rgba(15,155,99,.20);
}

.pt-testimonial-stars{
    position:relative;
    z-index:2;
    display:flex;
    gap:5px;
    color:var(--pt-green);
    margin-bottom:12px;
}

.pt-testimonial-comment{
    position:relative;
    z-index:2;
    min-height:120px;
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.85;
    margin:0 0 16px;
}

.pt-testimonial-comment .full-text{
    display:none;
}

.pt-read-testimonial{
    border:0;
    outline:0;
    background:transparent;
    color:var(--pt-green);
    font-weight:900;
    padding:0;
    margin-left:5px;
    cursor:pointer;
    transition:.35s ease;
}

.pt-read-testimonial:hover{
    color:var(--pt-black);
}

.pt-testimonial-author{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:16px;
    padding-top:4px;
    border-top:1px solid rgba(15,155,99,.12);
}

.pt-author-avatar{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:22px;
    box-shadow:0 16px 35px rgba(15,155,99,.25);
}

.pt-testimonial-author h4{
    margin:0 0 5px;
    color:var(--pt-black);
    font-size:20px;
    font-weight:950;
}

.pt-testimonial-author span{
    color:var(--pt-muted);
    font-size:14px;
    font-weight:700;
}

.pt-testimonial-pagination .swiper-pagination-bullet{
    width:13px;
    height:13px;
    border-radius:0;
    background:rgba(15,155,99,.35);
    opacity:1;
    transition:.35s ease;
}

.pt-testimonial-pagination .swiper-pagination-bullet-active{
    width:34px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
}

@media(max-width:991px){
    .pt-testimonial-section{
        padding:85px 0;
    }
}

@media(max-width:767px){
    .pt-testimonial-section{
        padding:70px 0;
    }

    .pt-testimonial-card{
        padding:36px 24px;
    }

    .pt-testimonial-comment{
        font-size:15px;
        min-height:auto;
    }

    .pt-quote-icon{
        font-size:58px;
    }
}
/**************************************services*******************/
.pt-service-page{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
}

.pt-service-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptServiceWave 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-service-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
}

.pt-service-glow-one{
    width:260px;
    height:260px;
    left:-90px;
    top:10%;
    background:rgba(34,199,131,.12);
    animation:ptServiceFloat 7s ease-in-out infinite;
}

.pt-service-glow-two{
    width:340px;
    height:340px;
    right:-120px;
    bottom:8%;
    background:rgba(15,155,99,.09);
    animation:ptServiceFloat 9s ease-in-out infinite reverse;
}

.pt-service-card{
    position:relative;
    height:100%;
    background:#fff;
    overflow:hidden;
    border:1px solid rgba(15,155,99,.09);
    box-shadow:
        0 20px 65px rgba(5,5,5,.06),
        0 35px 90px rgba(15,155,99,.05);
    transition:.45s ease;
    animation:ptServiceFadeUp .85s ease both;
    border-radius:0 0 0px 0;
}

.pt-service-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(34,199,131,.10), transparent 55%);
    opacity:0;
    transition:.45s ease;
    pointer-events:none;
}

.pt-service-card:hover{
    transform:translateY(-14px);
    box-shadow:
        0 35px 95px rgba(5,5,5,.09),
        0 45px 110px rgba(15,155,99,.16);
}

.pt-service-card:hover::before{
    opacity:1;
}

.pt-service-image{
    position:relative;
    height:245px;
    overflow:hidden;
    border-radius:0 0 55px 0;
}

.pt-service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.8s ease;
}

.pt-service-card:hover .pt-service-image > a > img{
    transform:scale(1.12);
}

.pt-service-icon{
    position:absolute;
    left:24px;
    bottom:-8px;
    width:76px;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    border-radius:50%;
    box-shadow:0 20px 50px rgba(15,155,99,.30);
    z-index:4;
    transition:.45s ease;
}

.pt-service-icon img{
    width:42px;
    height:42px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}

.pt-service-icon i{
    font-size:30px;
}

.pt-service-card:hover .pt-service-icon{
    transform:translateY(-8px) rotateY(180deg);
}

.pt-service-content{
    position:relative;
    z-index:3;
    padding:10px 10px 10px;
}

.pt-service-content h3{
    font-size:24px;
    line-height:1.3;
    margin-bottom:14px;
    font-weight:800;
}

.pt-service-content h3 a{
    color:var(--pt-black);
    text-decoration:none;
    transition:.35s ease;
}

.pt-service-content h3 a:hover{
    color:var(--pt-green);
}

.pt-service-content p{
    color:var(--pt-muted);
    line-height:1.6;
    margin-bottom:12px;
}

.pt-service-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:auto;
}

.pt-service-footer span{
    flex:1;
    height:1px;
    background:#dcebe3;
}

.pt-service-more{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--pt-black);
    text-decoration:none;
    text-transform:uppercase;
    font-size:13px;
    font-weight:950;
    letter-spacing:.7px;
    transition:.35s ease;
}

.pt-service-more:hover{
    color:var(--pt-green);
}

.pt-service-more:hover i{
    animation:ptServiceArrow .7s ease infinite;
}

.pt-service-plus{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    text-decoration:none;
    font-size:22px;
    box-shadow:0 18px 45px rgba(15,155,99,.28);
    transition:.35s ease;
    border-radius:50%;
}

.pt-service-plus:hover{
    color:#fff;
    transform:rotate(90deg) scale(1.08);
    box-shadow:0 25px 65px rgba(15,155,99,.42);
}

@keyframes ptServiceWave{
    0%,100%{
        transform:translateX(-4%) skewX(-8deg);
    }

    50%{
        transform:translateX(4%) skewX(-8deg);
    }
}

@keyframes ptServiceFloat{
    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-35px);
    }
}

@keyframes ptServiceFadeUp{
    from{
        opacity:0;
        transform:translateY(38px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes ptServiceArrow{
    0%,100%{
        transform:translateX(0);
    }

    50%{
        transform:translateX(6px);
    }
}

@media(max-width:991px){
    .pt-service-page{
        padding:85px 0;
    }

    .pt-service-image{
        height:230px;
    }
}

@media(max-width:767px){
    .pt-service-page{
        padding:70px 0;
    }

    .pt-service-card{
        border-radius:5px;
    }

    .pt-service-image{
        height:240px;
        border-radius:5px;
    }

    .pt-service-content{
        padding:8px 18px 20px;
    }

    .pt-service-icon{
        left:24px;
        width:78px;
        height:78px;
    }
    
 .sticky-header .logo {
    padding: 5px 0 9px;
}
.footer-style-one .scroll-up-two{
    display:none;
}
}

@media(max-width:480px){
    .pt-service-footer{
        align-items:center;
    }

    .pt-service-more{
        font-size:12px;
    }

    .pt-service-plus{
       width: 36px;
        height: 36px;
        flex-basis: 36px;
    }
}
.pt-home-service-section{
    position:relative;
    padding:60px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 20% 20%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 80% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg, var(--pt-black), var(--pt-dark));
    color:var(--pt-white);
}

.pt-home-service-bg{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:70px 70px;
    animation:ptHomeServiceGrid 18s linear infinite;
    pointer-events:none;
}

.pt-home-service-glow{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:rgba(34,199,131,.18);
    top:-170px;
    right:-130px;
    filter:blur(70px);
    animation:ptHomeServiceGlow 6s ease-in-out infinite;
    pointer-events:none;
}

.pt-section-heading-light{
    position:relative;
    z-index:2;
}

.pt-section-heading-light span{
    color:var(--pt-green-light);
}

.pt-section-heading-light h2{
    color:var(--pt-white);
}

.pt-section-heading-light p{
    color:rgba(255,255,255,.72);
}

.pt-home-service-slider{
    position:relative;
    z-index:2;
    padding-bottom:62px;
}

.pt-home-service-slider .swiper-slide{
    height:auto;
}

.pt-home-service-slider .pt-service-card{
    height:100%;
}

.pt-home-service-pagination .swiper-pagination-bullet{
    width:13px;
    height:13px;
    border-radius:0;
    background:rgba(255,255,255,.35);
    opacity:1;
    transition:.35s ease;
}

.pt-home-service-pagination .swiper-pagination-bullet-active{
    width:34px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
}

@keyframes ptHomeServiceGrid{
    from{
        background-position:0 0;
    }

    to{
        background-position:140px 140px;
    }
}

@keyframes ptHomeServiceGlow{
    0%,100%{
        transform:scale(1);
        opacity:.6;
    }

    50%{
        transform:scale(1.18);
        opacity:1;
    }
}

@media(max-width:767px){
    .pt-home-service-section{
        padding:70px 0;
    }
}
/***********************************SERVICE DETAILS*****************/
.pt-service-details-page{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
}

.pt-service-details-image{
    position:relative;
    height:560px;
    overflow:hidden;
    box-shadow:0 35px 95px rgba(5,5,5,.10);
    border:1px solid rgba(15,155,99,.10);
    animation:ptServiceFadeUp .8s ease both;
}

.pt-service-details-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.8s ease;
}

.pt-service-details-image:hover > img{
    transform:scale(1.08);
}

.pt-service-details-icon{
    position:absolute;
    left:35px;
    bottom:35px;
    width:92px;
    height:92px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    box-shadow:0 20px 55px rgba(15,155,99,.35);
    animation:ptCardFloat 4s ease-in-out infinite;
}

.pt-service-details-icon img{
    width:46px;
    height:46px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}

.pt-service-details-icon i{
    font-size:34px;
}

.pt-service-details-intro{
    height:100%;
    padding:45px 38px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 25px 80px rgba(5,5,5,.07);
    animation:ptServiceFadeUp 1s ease both;
}

.pt-service-details-intro span,
.pt-sd-cta-box span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:18px;
    color:var(--pt-green);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.pt-service-details-intro h1{
    font-size:clamp(38px,5vw,64px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-3px;
    margin-bottom:22px;
    color:var(--pt-black);
}

.pt-service-details-intro p{
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.85;
    margin-bottom:30px;
}

.pt-service-details-actions,
.pt-sd-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.pt-sd-btn-primary,
.pt-sd-btn-outline,
.pt-sd-btn-dark{
    min-height:56px;
    padding:0 28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    font-weight:950;
    border-radius:0;
    transition:.35s ease;
}

.pt-sd-btn-primary{
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    box-shadow:0 18px 45px rgba(15,155,99,.25);
}

.pt-sd-btn-primary:hover{
    color:#fff;
    transform:translateY(-5px);
    box-shadow:0 25px 65px rgba(15,155,99,.38);
}

.pt-sd-btn-outline{
    background:#fff;
    color:var(--pt-black);
    border:1px solid rgba(15,155,99,.18);
}

.pt-sd-btn-outline:hover{
    color:var(--pt-green);
    border-color:var(--pt-green);
    transform:translateY(-5px);
}

.pt-service-details-content{
    margin-top:70px;
    padding:48px;
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:0 25px 80px rgba(5,5,5,.06);
    color:var(--pt-muted);
    font-size:17px;
    line-height:1.9;
    animation:ptServiceFadeUp 1.1s ease both;
}

.pt-service-details-content h1,
.pt-service-details-content h2,
.pt-service-details-content h3,
.pt-service-details-content h4{
    color:var(--pt-black);
    font-weight:950;
    margin-top:26px;
}

.pt-service-details-content img{
    max-width:100%;
    height:auto;
}

.pt-service-details-cta{
    padding:100px 0;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
    color:#fff;
}

.pt-sd-cta-box{
    max-width:900px;
    margin:auto;
    text-align:center;
    padding:65px 38px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 30px 90px rgba(0,0,0,.35);
    backdrop-filter:blur(14px);
    animation:ptServiceFadeUp .9s ease both;
}

.pt-sd-cta-box span{
    color:var(--pt-green-light);
}

.pt-sd-cta-box h2{
    font-size:clamp(36px,6vw,66px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-3px;
    margin-bottom:20px;
}

.pt-sd-cta-box p{
    max-width:680px;
    margin:0 auto 34px;
    color:rgba(255,255,255,.74);
    font-size:17px;
    line-height:1.8;
}

.pt-sd-cta-actions{
    justify-content:center;
}

.pt-sd-btn-dark{
    background:#fff;
    color:var(--pt-black);
}

.pt-sd-btn-dark:hover{
    color:var(--pt-green);
    transform:translateY(-5px);
}

@media(max-width:991px){
    .pt-service-details-page,
    .pt-service-details-cta{
        padding:80px 0;
    }

    .pt-service-details-image{
        height:460px;
    }
}

@media(max-width:767px){
    .pt-service-details-page,
    .pt-service-details-cta{
        padding:70px 0;
    }

    .pt-service-details-image{
        height:330px;
    }

    .pt-service-details-intro,
    .pt-service-details-content{
        padding:32px 22px;
    }

    .pt-service-details-intro h1,
    .pt-sd-cta-box h2{
        letter-spacing:-1px;
    }

    .pt-sd-btn-primary,
    .pt-sd-btn-outline,
    .pt-sd-btn-dark{
        width:100%;
    }

    .pt-sd-cta-box{
        padding:45px 22px;
    }
}
/****************************************TERMS******************************/
.pt-terms-page{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.14) 0%, rgba(34,199,131,.06) 35%, transparent 60%),
        linear-gradient(to bottom,#fff 0%,#fcfffd 45%,#fff 100%);
}

.pt-terms-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptTermsWave 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-terms-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
}

.pt-terms-glow-one{
    width:260px;
    height:260px;
    left:-90px;
    top:10%;
    background:rgba(34,199,131,.12);
    animation:ptTermsFloat 7s ease-in-out infinite;
}

.pt-terms-glow-two{
    width:340px;
    height:340px;
    right:-120px;
    bottom:8%;
    background:rgba(15,155,99,.09);
    animation:ptTermsFloat 9s ease-in-out infinite reverse;
}

.pt-terms-wrapper{
    position:relative;
    z-index:2;
    max-width:1050px;
    margin:auto;
}

.pt-terms-box{
    background:#fff;
    border:1px solid rgba(15,155,99,.10);
    box-shadow:
        0 20px 65px rgba(5,5,5,.06),
        0 35px 90px rgba(15,155,99,.05);
    overflow:hidden;
}

.pt-terms-item{
    display:flex;
    gap:22px;
    padding:34px;
    border-bottom:1px solid #edf3ef;
    transition:.4s ease;
    animation:ptTermsFadeUp .8s ease both;
}

.pt-terms-item:last-child{
    border-bottom:0;
}

.pt-terms-item:hover{
    background:linear-gradient(135deg,rgba(34,199,131,.08),transparent 60%);
    transform:translateX(8px);
}

.pt-terms-icon{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:24px;
    box-shadow:0 18px 42px rgba(15,155,99,.25);
    transition:.4s ease;
}

.pt-terms-item:hover .pt-terms-icon{
    transform:rotateY(180deg);
}

.pt-terms-item h3{
    font-size:22px;
    font-weight:950;
    color:var(--pt-black);
    margin-bottom:10px;
}

.pt-terms-item p{
    margin:0;
    color:var(--pt-muted);
    font-size:16px;
    line-height:1.85;
}

.pt-terms-cta{
    margin-top:40px;
    padding:48px 34px;
    text-align:center;
    background:
        radial-gradient(circle at 20% 20%, rgba(15,155,99,.25), transparent 35%),
        radial-gradient(circle at 80% 80%, rgba(34,199,131,.18), transparent 35%),
        linear-gradient(135deg,var(--pt-black),var(--pt-dark));
    color:#fff;
    box-shadow:0 30px 90px rgba(5,5,5,.18);
    animation:ptTermsFadeUp 1s ease both;
}

.pt-terms-cta span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:16px;
    color:var(--pt-green-light);
    font-size:14px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.pt-terms-cta h3{
    font-size:clamp(30px,5vw,52px);
    font-weight:950;
    letter-spacing:-2px;
    margin-bottom:16px;
}

.pt-terms-cta p{
    max-width:680px;
    margin:0 auto 28px;
    color:rgba(255,255,255,.72);
    line-height:1.8;
}

.pt-terms-btn{
    min-height:56px;
    padding:0 32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    text-decoration:none;
    font-weight:950;
    transition:.35s ease;
    box-shadow:0 18px 45px rgba(15,155,99,.28);
}

.pt-terms-btn:hover{
    color:#fff;
    transform:translateY(-5px);
    box-shadow:0 25px 65px rgba(15,155,99,.42);
}

.pt-terms-btn:hover i{
    animation:ptTermsArrow .7s ease infinite;
}

@keyframes ptTermsWave{
    0%,100%{transform:translateX(-4%) skewX(-8deg);}
    50%{transform:translateX(4%) skewX(-8deg);}
}

@keyframes ptTermsFloat{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-35px);}
}

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

@keyframes ptTermsArrow{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(6px);}
}

@media(max-width:991px){
    .pt-terms-page{
        padding:85px 0;
    }
}

@media(max-width:767px){
    .pt-terms-page{
        padding:70px 0;
    }

    .pt-terms-item{
        padding:28px 22px;
        flex-direction:column;
    }

    .pt-terms-item:hover{
        transform:translateY(-5px);
    }

    .pt-terms-cta{
        padding:40px 22px;
    }

    .pt-terms-cta h3{
        letter-spacing:-1px;
    }

    .pt-terms-btn{
        width:100%;
    }
}

/***********************************NEWSLETTER******************/


.pt-newsletter-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.4);
    backdrop-filter:blur(6px);
    z-index:99998;
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
}

.pt-newsletter-overlay.active{
    opacity:1;
    visibility:visible;
}

.pt-newsletter-popup{
    position:fixed;
    top:50%;
    left:50%;
    width:700px;
    max-width:75%;
    background:#fff;
    z-index:99999;
    display:grid;
    grid-template-columns:1fr 1fr;
    transform:translate(-50%,-50%) scale(.9);
    opacity:0;
    visibility:hidden;
    box-shadow:0 40px 120px rgba(0,0,0,.35);
    overflow:hidden;
    transition:.45s ease;
}

.pt-newsletter-popup.active{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1);
}

.pt-newsletter-close{
    position:absolute;
    top:1px;
    right:1px;
    width:25px;
    height:25px;
    border:0;
    background:var(--pt-green);
    color:#fff;
    z-index:5;
    transition:.35s ease;
}

.pt-newsletter-close:hover{
    background:var(--pt-green);
    transform:rotate(90deg);
}

.pt-newsletter-image{
    min-height:300px;
    overflow:hidden;
}

.pt-newsletter-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    animation:ptNewsletterZoom 8s ease-in-out infinite;
}

.pt-newsletter-content{
    padding:20px 18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pt-newsletter-content span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--pt-green);
    font-size:14px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:8px;
}

.pt-newsletter-content h2{
    font-size:clamp(34px,5vw,54px);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-2px;
    margin-bottom:10px;
    color:var(--pt-black);
}

.pt-newsletter-content p{
    color:var(--pt-muted);
    line-height:1.8;
    margin-bottom:10px;
}

.pt-newsletter-input{
    position:relative;
    margin-bottom:14px;
}

.pt-newsletter-input i{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    color:var(--pt-green);
}

.pt-newsletter-input input{
    width:100%;
    height:48px;
    border:1px solid #dcebe3;
    outline:none;
    padding:0 18px 0 48px;
    border-radius:0;
    background:#fbfffd;
}

.pt-newsletter-input input:focus{
    border-color:var(--pt-green);
    box-shadow:0 0 0 5px rgba(15,155,99,.10);
}

#newsletterBtn{
    width:100%;
    height:48px;
    border:0;
    border-radius:0;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:.35s ease;
}

#newsletterBtn:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 50px rgba(15,155,99,.30);
}

.pt-newsletter-socials{
    display:flex;
    gap:12px;
    margin-top:8px;
}

.pt-newsletter-socials a{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition:.35s ease;
    border-radius: 50%;
}

.pt-newsletter-socials a:hover{
    transform:translateY(-6px) rotate(8deg);
}

.pt-newsletter-socials .fb{background:#1877f2;}
.pt-newsletter-socials .ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.pt-newsletter-socials .x{background:#000;}
.pt-newsletter-socials .tk{background:#111;}

@keyframes ptNewsletterZoom{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.08);}
}

@media(max-width:767px){
    .pt-newsletter-popup{
        grid-template-columns:1fr;
        max-height:92vh;
        overflow-y:auto;
    }

    .pt-newsletter-image{
        min-height:240px;
    }

    .pt-newsletter-content{
        padding:15px 10px;
    }

    .pt-newsletter-socials{
        justify-content:center;
    }
    .pt-newsletter-image{
        display: none;
    }
    .pt-newsletter-popup{
    
    max-width:90%;
    
}
}
/* =========================
HERO SECTION
========================= */

.hero-section{
    width:100vw;
    height:100vh;
    position:relative;
    overflow:hidden;
}

.heroSwiper,
.heroSwiper .swiper-wrapper,
.heroSwiper .swiper-slide{
    width:100%;
    height:100%;
}

.hero-slide{
    position:relative;
    overflow:hidden;
}

/* =========================
MEDIA HOLDER
========================= */

.hero-media{
    position:absolute;
    inset:0;
    z-index:1;
    overflow:hidden;
}

.hero-media img,
.hero-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
}

/* image zoom animation */
.hero-media img{
    animation:heroZoom 18s ease-in-out infinite alternate;
}

@keyframes heroZoom{
    from{
        transform:scale(1);
    }
    to{
        transform:scale(1.15);
    }
}

/* =========================
OVERLAY
========================= */

.hero-overlay{
    position:absolute;
    inset:0;
    z-index:2;
    width:100%;
    height:100%;
}

/* =========================
CONTENT
========================= */

.hero-slide .container{
    position:relative;
    z-index:5;
    height:100%;
}

.content-text{
    max-width:1000px;
    width:100%;
    text-align:left;

    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
}

.hero-small{
    color:#fff;
    font-size:15px;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:20px;

    animation:fadeUp 1s ease;
}

.content-text h2{
    color:#fff;
    font-size:clamp(30px,4vw,50px);
    line-height:1.1;
    font-weight:700;
    margin-bottom:25px;

    animation:fadeUp 1.2s ease;
}

.hero-desc{
    color:#fff;
    font-size:16px;
    max-width:700px;
    /*margin:auto auto 35px;*/

    animation:fadeUp 1.4s ease;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:200px;
    height:60px;

    text-decoration:none;
    font-size:15px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;

    transition:.4s;

    animation:fadeUp 1.6s ease;
}

.hero-btn:hover{
    transform:translateY(-5px);
}

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

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

.heroSwiper .swiper-pagination{
    width:auto !important;

    left:auto !important;
    right:40px !important;
    bottom:35px !important;

    display:flex;
    gap:12px;
    align-items:center;
}

.heroSwiper .swiper-pagination-bullet{
    width:20px;
    height:20px;

    border-radius:50%;
    border:2px solid rgba(255,255,255,.3);

    background:transparent;
    opacity:1;

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

    color:#fff;
    font-size:9px;
}

.heroSwiper .swiper-pagination-bullet-active{
    border-color:rgb(247,239,232);
    transform:scale(1.15);
}

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

@media(max-width:991px){

    .hero-section{
        height:80vh;
    }

    .content-text{
        width:95%;
    }

    .content-text h2{
        font-size:30px;
        line-height: 1.4;
    }

    .hero-desc{
        font-size:15px;
    }

    .hero-btn{
        min-width:180px;
        height:52px;
    }

    .heroSwiper .swiper-pagination{
        right:20px !important;
        bottom:20px !important;
    }

}

/**************************social icon***********************/
.pt-fixed-socials{
    position:fixed;
    top:80%;
    left:0;
    transform:translateY(-50%);
    z-index:9999;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.pt-social-item{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    padding:0 8px;
    overflow:hidden;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    font-size:14px;
    white-space:nowrap;
    box-shadow:0 12px 35px rgba(0,0,0,.18);
    transform:translateX(-2px);
    transition:all .42s cubic-bezier(.22,1,.36,1);
    border-radius: 3px;
}

.pt-social-item i{
    width:18px;
    min-width:18px;
    font-size:18px;
    text-align:center;
    color:#fff;
}

.pt-social-item span{
    opacity:0;
    transform:translateX(-12px);
    transition:all .35s ease;
}

.pt-social-item:hover{
    width:230px;
    transform:translateX(0);
    color:#fff;
}

.pt-social-item:hover span{
    opacity:1;
    transform:translateX(0);
}

.pt-social-item.facebook{
    background:#1877f2;
}

.pt-social-item.instagram{
    background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);
}

.pt-social-item.twitter{
    background:#000000;
}

.pt-social-item.tiktok{
    background:linear-gradient(135deg,#010101,#25f4ee,#fe2c55);
}

.pt-social-item.whatsapp{
    background:#25d366;
}

.pt-social-item:hover i{
    animation:ptSocialBounce .65s ease;
}

@keyframes ptSocialBounce{
    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.22) rotate(8deg);
    }
}

@media(max-width:767px){
    .pt-fixed-socials{
        left:0;
        gap:7px;
    }

    .pt-social-item{
        width:32px;
        height:32px;
        padding:0 8px;
    }

    .pt-social-item:hover{
        width:205px;
    }

    .pt-social-item span{
        font-size:13px;
    }

    .pt-social-item i{
        font-size:14px;
    }
}

@media(max-width:775px){
.content-text{
    text-align:center;  
}
}

/***********************************PROCESS******************************/
.pt-process-section{
    position:relative;
    padding:50px 0;
    overflow:hidden;
    background:
        radial-gradient(ellipse at center, rgba(34,199,131,.13), transparent 58%),
        linear-gradient(to bottom,#fff,#f8fffb,#fff);
}

.pt-process-wave{
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 20%,rgba(34,199,131,.05) 50%,transparent 75%);
    animation:ptProcessWave 10s ease-in-out infinite;
    pointer-events:none;
}

.pt-process-slider{
    position:relative;
    z-index:2;
}

.pt-process-slider .swiper-slide{
    height:auto;
}

.pt-process-card{
    position:relative;
    height:100%;
    padding:22px 15px;
    background:#fff;
    border:1px solid rgba(15,155,99,.12);
    box-shadow:0 20px 65px rgba(5,5,5,.06);
    overflow:hidden;
    transition:.45s ease;
}

.pt-process-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(34,199,131,.11),transparent 55%);
    opacity:0;
    transition:.45s ease;
}

.pt-process-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 95px rgba(15,155,99,.15);
}

.pt-process-card:hover::before{
    opacity:1;
}

.pt-process-number{
    position:absolute;
    top:18px;
    right:22px;
    font-size:58px;
    font-weight:700;
    line-height:1;
    color:rgba(15,155,99,.08);
}

.pt-process-icon{
    position:relative;
    z-index:2;
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    font-size:20px;
    margin-bottom:16px;
    box-shadow:0 18px 45px rgba(15,155,99,.28);
    transition:.45s ease;
}

.pt-process-card:hover .pt-process-icon{
    transform:rotateY(180deg);
}

.pt-process-card h3{
    position:relative;
    z-index:2;
    font-size:22px;
    line-height:1.3;
    font-weight:950;
    margin-bottom:12px;
    color:var(--pt-black);
}

.pt-process-card p{
    position:relative;
    z-index:2;
    color:var(--pt-muted);
    line-height:1.55;
    margin:0;
}

.pt-process-arrow{
    position:absolute;
    top:50%;
    right:-28px;
    transform:translateY(-50%);
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--pt-green),var(--pt-green-light));
    color:#fff;
    border-radius:50%;
    z-index:5;
    box-shadow:0 18px 45px rgba(15,155,99,.28);
    animation:ptProcessArrow 1.4s ease-in-out infinite;
}

@keyframes ptProcessWave{
    0%,100%{transform:translateX(-4%) skewX(-8deg);}
    50%{transform:translateX(4%) skewX(-8deg);}
}

@keyframes ptProcessArrow{
    0%,100%{transform:translateY(-50%) translateX(0);}
    50%{transform:translateY(-50%) translateX(8px);}
}

@media(max-width:991px){
    .pt-process-section{
        padding:15px 0;
    }
}

@media(max-width:767px){
    .pt-process-section{
        padding:10px 0;
    }

    .pt-process-arrow{
        display:none;
    }

    .pt-process-card{
        padding:26px 14px;
    }
}

/*==============================
PRELOADER
==============================*/

#pt-preloader{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    background:
        radial-gradient(circle at center,
            rgba(32,178,98,.12) 0%,
            rgba(255,255,255,1) 58%),
        linear-gradient(135deg,#062417 0%,#0b3f29 40%,#158f59 100%);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:999999;
    overflow:hidden;
}

#pt-preloader::before{
    content:"";
    position:absolute;
    width:650px;
    height:650px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08);
    animation:ptRotate 18s linear infinite;
}

#pt-preloader::after{
    content:"";
    position:absolute;
    width:480px;
    height:480px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08);
    animation:ptRotateReverse 13s linear infinite;
}

.pt-loader-wrap{
    position:relative;
    z-index:5;
    text-align:center;
}

.pt-loader-logo{
    width:110px;
    height:110px;
    margin:auto;
    background:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:
        0 18px 55px rgba(0,0,0,.18),
        0 0 40px rgba(32,178,98,.35);
    animation:ptFloat 2.5s ease-in-out infinite;
}

.pt-loader-logo img{
    width:70%;
    height:auto;
}

.pt-loader-spinner{
    margin:28px auto 0;
    display:flex;
    justify-content:center;
    gap:10px;
}

.pt-loader-spinner span{
    width:14px;
    height:14px;
    border-radius:50%;
    background:#2AC97D;
    animation:ptBounce 1.2s infinite ease-in-out;
}

.pt-loader-spinner span:nth-child(2){
    animation-delay:.2s;
}

.pt-loader-spinner span:nth-child(3){
    animation-delay:.4s;
}

.pt-loader-wrap p{
    margin-top:18px;
    color:#fff;
    font-size:15px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

/*==============================
ANIMATION
==============================*/

@keyframes ptBounce{

    0%,80%,100%{
        transform:scale(.5);
        opacity:.4;
    }

    40%{
        transform:scale(1.2);
        opacity:1;
    }

}

@keyframes ptFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-10px);
    }

}

@keyframes ptRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

@keyframes ptRotateReverse{

    from{
        transform:rotate(360deg);
    }

    to{
        transform:rotate(0deg);
    }

}

@media(max-width:767px){

    .pt-loader-logo{
        width:90px;
        height:90px;
    }

    .pt-loader-wrap p{
        font-size:13px;
        letter-spacing:1px;
    }

}
.fc .fc-toolbar-title{
    font-size:1.0em !important;
}

h1.coming-soon-head,
h2.coming-soon-head,
h3.coming-soon-head
{
    color:#f1f1f1;
}
.ab-soft{
    background: radial-gradient(ellipse at center, rgba(34, 199, 131, .13), transparent 58%), linear-gradient(to bottom, #fff, #f8fffb, #fff);
}

