:root {
  --primary: #ffad1e;
  --secondary: #323232;
  --yellow: #f8aa23;
}

.dark {
    --color: #444;
}

body {
	background-color: #fff;
    color: #01293a;
    font-family: "Lexend Deca", sans-serif;
    font-optical-sizing: auto;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: #3d3541;
}

@media (min-width: 1200px) {
	.container {
	    max-width: 1250px !important;
	}
}

.navbar {
    padding: .5rem .5rem;
    box-shadow: 0 4px 18px 0 rgb(255 246 229), 0 7px 10px -5px rgba(0, 0, 0, .15) !important;
}

.btn {
  text-transform: none;
}

.bg-purple { background-color: var(--primary) !important; }

.text-purple { color: #524293 !important; } 

.text-yellow { color: var(--yellow) !important; }

.native-shadow { box-shadow: 0 1px 1px 0 rgb(66 66 66 / 8%), 0 1px 3px 1px rgb(66 66 66 / 16%) !important; }

.section-shaped .shape-style-1.shape-primary {
    background: linear-gradient(150deg, var(--primary) 15%, #8f6ed5 70%, #d782d9 94%);
}

.btn-outline-primary:hover {
    background-color: #f7aa22;
    border-color: #ffad21;
}

.text-light-purple {
    color: #bfb9d9;
}

.bg-light {
  background-color: #f8f9fa !important;
}

.btn-primary {
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-yellow {
    background-color: var(--yellow);
    border-color: var(--yellow);
    color: #fff;
}

.btn-demo:hover {
	background-color: var(--secondary);
	border-color: #524293;
	color: #fff;
}

.btn-demo {
    background-color: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.btn-social {
    color: #fff;
    background-color: #323232;
    border-color: #323232;
}

.btn-social:hover {
    color: var(--yellow);
    background-color: #323232;
    border-color: #323232;
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

.fs-3 { font-size: 3rem !important }
.fs-4 { font-size: 4rem; }

.fs-12 { font-size: 12px; }
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }

.fw-600 { font-weight: 600; }

.first-icon { color: #f3705a; }
.second-icon { color: #65c6b9; }
.third-icon { color: #ffd15e; }
.fourth-icon { color: #3f51b5; }

.brands-logos-slider {
    display: flex;
    gap: 4.0625rem;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.brands-logos {
    width: 7rem;
}

.card-pricing:not(.subscription-card-pricing), .subscription-card-pricing:not(.subscription-card-pricing) {
    box-shadow: 0 2px 48px 0 rgb(0 0 0 / 13%);
}

.card-pricing, .subscription-card-pricing {
    border-radius: 10px;
    background-color: #fff;
    margin-top: 15px;
    margin-bottom: 15px;
}

.dark {
    --btn-bg: #444;
    --description-color: #999;
}

.card-pricing .pricing-title, .subscription-card-pricing .pricing-title {
    margin-bottom: 0px;
}

.card-pricing .pricing-title .pricing-description, .subscription-card-pricing .pricing-title .pricing-description {
    color: var(--description-color);
    font-weight: 400;
    font-size: 14px;
}

.card-pricing .pricing-title .pricing-subtitle, .subscription-card-pricing .pricing-title .pricing-subtitle {
    color: var(--yellow);
    font-size: 40px;
    font-weight: 700;
    min-height: 54px;
}

.card-pricing thead th:not(:first-child), .card-pricing tbody td:not(:first-child), .subscription-card-pricing thead th:not(:first-child), .subscription-card-pricing tbody td:not(:first-child) {
    text-align: center;
}

.card-pricing thead tr th, .subscription-card-pricing thead tr th {
    padding-top: 22px;
    padding-bottom: 0px;
}

.card-pricing thead th {
    background-color: #fff;
    /*position: sticky;*/
    top: 70px;
}

.card-pricing th, .card-pricing td, .subscription-card-pricing th, .subscription-card-pricing td {
    width: 20%;
    padding: 4px 25px;
}

.column-purple {
    background-color: var(--primary) !important;
    border-bottom: 1px solid #7166a4 !important;
}

.card-pricing tbody tr td, .subscription-card-pricing tbody tr td {
    padding-top: 20px;
    padding-bottom: 20px;
    font-size: 14px;
    border-bottom: 1px solid #f1f1f1;
}

.line {
    width: 148px;
    position: absolute;
    margin-left: -8.2rem;
    margin-top: 2.5rem;
}

.btn-toggle {
    margin: 0 4rem;
    padding: 0;
    position: relative;
    border: none;
    height: 1.5rem;
    width: 3rem;
    border-radius: 1.5rem;
    color: #6b7381;
    background: #bdc1c8;
}
.btn-toggle:focus,
.btn-toggle.focus,
.btn-toggle:focus.active,
.btn-toggle.focus.active {
    outline: none;
}
.btn-toggle:before,
.btn-toggle:after {
    line-height: 1.5rem;
    width: 3rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: capitalize;
    letter-spacing: 0px;
    position: absolute;
    bottom: 0;
    transition: opacity 0.25s;
}
.btn-toggle:before {
    content: "Monthly";
    left: -4rem;
}
.btn-toggle:after {
    content: "Annual";
    right: -4rem;
    opacity: 0.5;
}
.btn-toggle > .handle {
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 1.125rem;
    background: #fff;
    transition: left 0.25s;
}
.btn-toggle.active {
    transition: background-color 0.25s;
}
.btn-toggle.active > .handle {
    left: 1.6875rem;
    transition: left 0.25s;
}
.btn-toggle.active:before {
    opacity: 0.5;
}
.btn-toggle.active:after {
    opacity: 1;
}
.btn-toggle:before,
.btn-toggle:after {
    color: #6b7381;
}
.btn-toggle.active {
    background-color: #29b5a8;
}

.fa-info-circle {
  color: #c1c1c1 !important;
}

.badge-primary {
    color: #2643e9;
    background-color: #eaecfb;
}

.badge-success {
    color: #1aae6f;
    background-color: #b0eed3;
}

.badge-warning {
    color: #ff3709;
    background-color: #fee6e0;
}

.badge-info {
    color: #03acca;
    background-color: #aaedf9;
}

.column-purple .text-dark {
    color: #f7b03a !important;
}

.column-purple .pricing-description {
    color: #fff !important;
}

.column-purple .btn-outline-primary {
    color: #fff;
    border-color: #f4f5f7;
}

.fix-contrast {
    image-rendering: -webkit-optimize-contrast;
}

.carousel-indicators li {
    background-color: #3f51b5 !important;
}

.carousel-indicators {
    bottom: -45px !important;
}

.dropdown-menu-xl { min-width: 900px; }
.left-18em { left: -18em; }
.small {
    font-size: 90%;
}
.portfolio-img {
    width: 100px; 
    height: 100px; 
    border-radius: 100%;
    object-fit: cover;
}
.brand-logo {
    filter: grayscale(1);
}
.container-hp {
    position: relative;
    text-align: center;
    padding: 60px 60px;
    max-width: 1000px;
    margin: auto;
}

.container-hp h1 {
    font-size: 34px;
    font-weight: bold;
    margin-bottom: 20px;
}

.fun .highlight {
    text-decoration: underline;
    text-decoration-color: #c1df1d;
    text-underline-offset: 8px;
    font-style: italic;
    font-family: none;
}

.container-hp p {
    font-size: 15px;
    margin-bottom: 40px;
    color: #6b6b6b;
}

.btn-primary, .btn-outline-primary {
    border-radius: 50px;
}

.btn-primary {
    background-color: #3d3541;
    border: 2px solid #3d3541;
    color: #ffffff;
}

.btn-outline-primary {
    border: 2px solid #2d3e50;
    color: #2d3e50;
}

.avatar-hp {
    position: absolute;
    border-radius: 50%;
    box-shadow: none;
    background-color: #f8deb5;
    padding: 5px;
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-name: changeColor; /* Added background color animation */
}

.avatar-hp img {
    border-radius: 50%;
    width: 71px;
    height: 71px;
}

/* Top to Bottom Animation */
.avatar-1 {
    top: 30px;
    left: -50px;
    animation-name: moveDown, changeColor; /* Combined animations */
}

.avatar-2 {
    top: 20px;
    right: -56px;
    animation-name: moveDown, changeColor; /* Combined animations */
}

/* Bottom to Top Animation */
.avatar-3 {
    bottom: 70px;
    left: -30px;
    animation-name: moveUp, changeColor; /* Combined animations */
}

.avatar-4 {
    bottom: 80px;
    right: -30px;
    animation-name: moveUp, changeColor; /* Combined animations */
}

/* Keyframes for Moving Down */
@keyframes moveDown {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(15px);
    }
}

/* Keyframes for Moving Up */
@keyframes moveUp {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-15px);
    }
}

@keyframes changeColor {
    0% {
        background-color: #f8deb5; /* Light Peach */
    }
    25% {
        background-color: #fbd1e1; /* Light Pink */
    }
    50% {
        background-color: #c8e5fb; /* Light Blue */
    }
    75% {
        background-color: #fff4c2; /* Light Yellow */
    }
    100% {
        background-color: #f8deb5; /* Back to Light Peach */
    }
}

@media (max-width: 600px) {
    .padding-top {
        padding-top: 0; /* Removes top padding on small screens */
    }
}

:root{
            --flowres-bg:#f7fafc;
            --flowres-card:#ffffff;
            --flowres-muted:#6b7280;
            --flowres-accent:#ffad1e; /* teal */
            --flowres-dot:#ffad1e;
            --flowres-line:#cbd5e1;
            --flowres-glass: #fff5e4;
            --flowres-radius:12px;
        }


        .flowres-timeline-wrapper {
            max-width:960px;
            margin:0 auto;
            padding:20px
        }

        .flowres-timeline-wrapper h2{
            font-size:20px;
            margin:0 0 18px
        }

        .flowres-timeline{
            position:relative;
            padding:12px 0 12px 43px
        }

        .flowres-timeline::before{
            content:'';
            position:absolute;
            left:12px;
            top:0;
            bottom:0;
            width:2px;
            border-left:3px dotted var(--flowres-line);
            border-radius:2px;
        }

        .flowres-step{
            position:relative;
            padding:18px 20px;
            margin:10px 0 24px;
            background:linear-gradient(180deg,var(--flowres-card),var(--flowres-glass));
            border-radius:var(--flowres-radius);
            box-shadow:0 6px 18px rgba(2,6,23,0.06);
            display:flex;
            gap:16px;
            align-items:flex-start;
        }

        .flowres-step-marker{
            position:absolute;
            left:-46px;
            top:22px;
            width:32px;
            height:32px;
            border-radius:50%;
            background:var(--flowres-card);
            display:grid;
            place-items:center;
            border:3px solid var(--flowres-dot);
            box-shadow:0 6px 14px rgba(14,165,164,0.12)
        }

        .flowres-step-marker svg{
            width:16px;
            height:16px;
            display:block
        }

        .flowres-step-content{ flex:1 }

        .flowres-step-title{
            display:flex;
            align-items:center;
            gap:8px;
            font-weight:600;
            font-size:16px;
            margin:0 0 6px
        }

        .flowres-step-title .flowres-badge{
            font-size:12px;
            padding:4px 8px;
            border-radius:999px;
            background:var(--flowres-glass);
            color:var(--flowres-accent);
            border:1px solid rgba(15,118,110,0.08)
        }

        .flowres-step-desc{
            color:var(--flowres-muted);
            margin:0 0 10px;
            line-height:1.5
        }
        .flowres-step-actions{
            display:flex;
            gap:8px;
            flex-wrap:wrap
        }
        .flowres-btn{
            font-weight:600;
            padding:8px 12px;
            border-radius:8px;
            border:0;
            cursor:pointer;
            background:transparent
        }
        .flowres-btn.primary{
            background:var(--flowres-accent);
            color:#fff
        }
        .flowres-btn.ghost{
            background:transparent;
            border:1px solid var(--flowres-line);
            color:var(--flowres-muted)
        }

        .flowres-meta{
            font-size:13px;
            color:var(--flowres-muted)
        }

        @media (max-width:640px){
        .flowres-timeline{padding-left:52px}
        .flowres-timeline::before{left:28px}
        .flowres-step{padding:14px}
        .flowres-step-marker{left:-38px}
        }
         .cycle-wrapper {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      width: 100%;
      max-width: 1200px;
      flex-wrap: nowrap;
    }

    .stage {
      position: relative;
      text-align: center;
      flex: 1;
      z-index: 1;
      margin: 0 10px;
    }

    .circle {
        width: 200px;
        height: 200px;
        margin: auto;
        padding: 32px;
        background: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 600;
        font-size: 14px;
        color: #111;
        box-shadow: 0 4px 10px rgba(0,0,0,0.15);
        transition: 0.3s;
        border: 2px solid #ffad1e;
        z-index: 2;
        position: relative;
    }

    /* Responsive for mobile */
    @media (max-width: 768px) {
        .cycle-wrapper {
            flex-direction: column;
            align-items: center;
        }

        /* Vertical dotted line */
        .cycle-wrapper::before {
            top: 0;
            left: 50%;
            right: auto;
            bottom: 0;
            width: 2px;
            height: 100%;
            border-left: 3px dotted #2563eb;
            border-top: none;
          }

          .stage {
            margin: 40px 0;
          }

          .tooltip {
            width: 250px;
          }
        }

        .with-top-arrow {
          position: relative;       /* needed so the pseudo-element is positioned relative to this box */
          background: #ffffff;      /* set the box background (triangle will match this) */
          /* optional existing styles */
          padding-top: 1rem;        /* leave room so text doesn't collide with arrow */
        }

        /* the little centered triangle/arrow */
        .with-top-arrow::before {
            content: "";
            position: absolute;
            top: -18px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 15px solid transparent;
            border-right: 15px solid transparent;
            border-bottom: 18px solid #ffad1e;
            pointer-events: none;     /* don't block mouse events */
            /* optional: add a tiny shadow to match the box shadow */
            filter: drop-shadow(0 1px 1px rgba(0,0,0,0.08));
        }
        /* --- Namespaced variables to avoid clashes --- */
        :root{
        --fr-bg: #0f172a; /* deep navy */
        --fr-card: #0b1220;
        --fr-accent: #6ee7b7; /* mint */
        --fr-accent-2: #60a5fa; /* sky */
        --fr-text: #e6eef8;
        --fr-muted: #98a2b3;
        --fr-radius: 12px;
        --fr-gap: 18px;
        --fr-max-width: 1100px;
        }


        /* Reset small things for this component only */
        .fr-sprint *{box-sizing: border-box}


        .fr-sprint{
        background: linear-gradient(180deg, var(--fr-bg) 0%, #071029 100%);
        color: var(--fr-text);
        padding: 36px 20px;
        border-radius: 16px;
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
        max-width: var(--fr-max-width);
        margin: 24px auto;
        box-shadow: 0 8px 30px rgba(2,6,23,0.6);
        }


        .fr-header{
        display:flex;
        align-items:center;
        gap:14px;
        margin-bottom:20px;
        }


        .fr-logo{
        width:56px;height:56px;border-radius:10px;
        background:linear-gradient(135deg,var(--fr-accent),var(--fr-accent-2));
        display:grid;place-items:center;font-weight:700;color:#02203a;font-size:18px;
        box-shadow:0 6px 18px rgba(96,165,250,0.12), inset 0 -2px 6px rgba(255,255,255,0.06);
        }


        .fr-title{
        font-size:18px;font-weight:600;line-height:1.05;
        }
        .fr-sub{color:var(--fr-muted);font-size:13px}
                /* --- Namespaced variables to avoid clashes --- */
        .fr-grid{
        display:grid;
        grid-template-columns: repeat(4, 1fr);
        gap:var(--fr-gap);
        }


        @media (max-width:900px){
        .fr-grid{grid-template-columns: repeat(2, 1fr)}
        }
        @media (max-width:520px){
        .fr-grid{grid-template-columns: 1fr}
        }


        .fr-card{
        background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.08));
        padding:16px;border-radius:var(--fr-radius);
        border: 1px solid rgba(255,255,255,0.03);
        min-height:150px;display:flex;flex-direction:column;gap:10px;
        position:relative;overflow:hidden;
        }


        .fr-day{
        display:flex;align-items:center;gap:10px;
        }
        .fr-day strong{font-size:15px}
        .fr-time{font-size:12px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,0.03);color:var(--fr-muted)}


        .fr-body{font-size:13px;color:var(--fr-text);line-height:1.4}
        .fr-points{margin:6px 0 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
        .fr-point{display:flex;gap:10px;align-items:flex-start}
        .fr-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;margin-top:6px;background:linear-gradient(180deg,var(--fr-accent),var(--fr-accent-2));box-shadow:0 4px 12px rgba(96,165,250,0.12)}
        .fr-point span{color:var(--fr-text);font-size:13px}
        .fr-muted{color:var(--fr-muted);font-size:12px}


        /* Highlight ribbon for decisions */
        .fr-ribbon{
        position:absolute;right:-38px;top:12px;transform:rotate(25deg);
        background:var(--fr-accent);color:#042235;padding:6px 64px;font-weight:700;font-size:12px;box-shadow:0 6px 22px rgba(6,12,30,0.4)
        }


        /* small footer area */
        .fr-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;border-top:1px dashed rgba(255,255,255,0.03);padding-top:12px}
        .fr-cta{font-size:13px;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.04)}


        /* subtle hover */
        .fr-card:hover{transform:translateY(-6px);transition:transform .28s cubic-bezier(.2,.9,.2,1)}
        .fr-card{transition:transform .28s cubic-bezier(.2,.9,.2,1)}



    