/* FONT */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;500italic&display=swap");

body {
    font-family: "Inter", sans-serif;
    scroll-behavior: smooth;
}

/* HEADER */

.custom-header {
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    padding: 22px 0;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    transition:all .35s ease;
}

.custom-header.sticky{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    padding:16px 0;
    animation:stickyHeader .35s ease;
    
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 40px rgba(0,0,0,.07);
    padding:12px 0;
}

@keyframes stickyHeader{

    from{

    transform:translateY(-20px);

    opacity:.8;

    }

    to{

    transform:translateY(0);

    opacity:1;

    }

}

/* LAYOUT */

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LOGO */

.header-left img {
    max-height: 40px;
}

/* MENU */

.header-center {
    flex: 1;

    display: flex;

    justify-content: center;
}

.main-menu {
    display: flex;

    gap: 34px;

    list-style: none;

    margin: 0;

    padding: 0;
}

.main-menu li a {
    text-decoration: none;

    color: #4b5563;

    font-weight: 500;

    transition: 0.3s;
}

.main-menu li a:hover {
    color: #3a4ed5;
}

/* RIGHT SIDE */

.header-right {
    display: flex;

    align-items: center;

    gap: 18px;
}

/* LOGIN */

.login-btn {
    text-decoration: none;

    color: #4b5563;

    font-weight: 500;
}

.login-btn:hover {
    color: #3a4ed5;
}

/* GET STARTED */

.get-started-btn {
    padding: 10px 22px;

    border-radius: 40px;

    text-decoration: none;

    color: white;

    background: linear-gradient(145deg, #3a4ed5 0%, #d94fa6 100%);

    /* font-weight: 600; */

    transition: 0.3s;

    display: inline-block;
}

.get-started-btn:hover {
    transform: translateY(-1px);

    box-shadow: 0 6px 14px rgba(58, 78, 213, 0.25);

    color: white;
}

/* MOBILE TOGGLE */

.mobile-toggle {
    display: none;
}

.menu-toggle-btn {
    width: 32px;

    height: 22px;

    border: none;

    background: none;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    cursor: pointer;

    padding: 0;
}

.menu-toggle-btn span {
    height: 2px;

    background: #111;

    display: block;

    border-radius: 2px;

    transition: 0.3s;
}

/* MOBILE PANEL */

.mobile-menu-panel {
    position: fixed;

    top: 0;

    right: -320px;

    width: 320px;

    height: 100%;

    background: white;

    z-index: 9999;

    padding: 40px 30px;

    transition: 0.4s;

    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.08);
}

.mobile-menu-panel.active {
    right: 0;
}

.mobile-menu {
    list-style: none;

    padding: 0;

    margin: 0 0 30px 0;

    display: flex;

    flex-direction: column;

    gap: 22px;
}

.mobile-menu a {
    text-decoration: none;

    color: #4b5563;

    font-size: 16px;

    font-weight: 500;
}

/* MOBILE BUTTONS */

.mobile-buttons {
    display: flex;

    flex-direction: column;

    gap: 14px;

    margin-top: 20px;
}

/* OVERLAY */

.mobile-menu-overlay {
    position: fixed;

    width: 100%;

    height: 100%;

    background: rgba(0, 0, 0, 0.3);

    top: 0;

    left: 0;

    opacity: 0;

    visibility: hidden;

    transition: 0.3s;

    z-index: 9998;
}

.mobile-menu-overlay.active {
    opacity: 1;

    visibility: visible;
}

/* CTA FOOTER */

.cta-footer {
    background: linear-gradient(145deg, #3a4ed5 0%, #d94fa6 100%);

    padding: 100px 0;

    text-align: center;
}

.cta-inner h2 {
    /*  */

    font-weight: 700;

    font-size: 48px;

    color: white;

    margin-bottom: 25px;
}

.cta-inner p {
    font-size: 20px;

    color: #d1d5db;

    max-width: 820px;

    margin: auto;

    margin-bottom: 40px;
}

/* BUTTONS */

.cta-buttons {
    display: flex;

    justify-content: center;

    gap: 20px;

    margin-bottom: 30px;
}

.cta-btn {
    background: white;

    color: black;

    padding: 16px 28px;

    border-radius: 50px;

    text-decoration: none;

    font-size: 16px;

    font-weight: 500;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    transition: 0.3s;
}

.cta-btn:hover {
    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);

    color: black;
}

.cta-btn svg {
    transition: 0.3s;
}

.cta-btn.primary:hover svg {
    transform: translateX(4px);
}

/* SMALL TEXT */

.cta-small-text {
    color: white;

    font-size: 14px;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 12px;

    opacity: 0.95;
}

.dot {
    width: 5px;

    height: 5px;

    background: white;

    border-radius: 50%;

    display: inline-block;

    opacity: 0.7;
}

/* HERO BANNER */

.hero-banner {
    background: #f8fafc;

    padding: 50px 0 70px;

    text-align: center;
}

.hero-inner {
    max-width: 900px;

    margin: auto;
}

/* BADGE */

.hero-badge {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    background: white;

    padding: 8px 18px;

    border-radius: 50px;

    border: 1px solid #f3f4f6;

    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

    font-size: 14px;

    font-weight: 500;

    color: #4b5563;

    margin-bottom: 28px;
}

.green-dot {
    width: 8px;

    height: 8px;

    background: #10b981;

    border-radius: 50%;
}

/* HEADING */

.hero-inner h1 {
    font-size: 60px;

    font-weight: 700;

    color: #111827;

    line-height: 60px;

    letter-spacing: -1.5px;

    margin-bottom: 26px;
}

.gradient-text {
    background: linear-gradient(145deg, #3a4ed5, #1e296f);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

/* DESCRIPTION */

.hero-inner p {
    font-size: 20px;

    color: #1f2937;

    line-height: 28px;

    margin-bottom: 40px;
}

/* BUTTONS */

.hero-buttons {
    display: flex;

    justify-content: center;

    gap: 18px;
}

.hero-btn {
    padding: 16px 26px;

    border-radius: 50px;

    text-decoration: none;

    font-size: 16px;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    transition: 0.3s;
}

/* PRIMARY */

.hero-btn.primary {
    background: linear-gradient(145deg, #3a4ed5 0%, #d94fa6 100%);

    color: white;

    font-weight: 600;
}

.hero-btn.primary:hover {
    transform: translateY(-2px);

    box-shadow: 0 12px 30px rgba(58, 78, 213, 0.25);

    color: white;
}

/* SECONDARY */

.hero-btn.secondary {
    border: 1px solid #e5e7eb;

    color: #0a0a0a;

    font-weight: 500;

    background: white;
}

.hero-btn.secondary:hover {
    border-color: #3a4ed5;

    color: #3a4ed5;
}

.hero-btn.secondary svg {
    transition: 0.3s;
}

.hero-btn.secondary:hover svg {
    transform: scale(1.1);
}

/* SLIDER */

.feature-slider {
    padding: 80px 0 0 0;

    background: linear-gradient(145deg, #3a4ed5 0%, #d94fa6 100%);

    position: relative;

    overflow: hidden;
}

.feature-slider .swiper-slide{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    height:100%;
    padding:0; /* remove any default space */
}

.feature-slider .swiper-slide img{
    display:block;   /* removes inline gap */
    width:100%;
    margin-top:auto; /* pushes image to bottom */
}

.feature-slider .swiper-wrapper{
    align-items:flex-end; /* ensures bottom alignment */
}

.feature-slider .swiper{
    position:relative;
}

.feature-slider .swiper-pagination{
    position:absolute;
    bottom:30px !important;
    right:0px !important;
    left:auto !important;
    width:auto !important;
    display:flex;
    align-items:center;
    gap:8px;
}

.feature-slider .swiper-pagination-bullet{
    width:8px;
    height:8px;
    background:rgba(255,255,255,.6);
    opacity:1;
    border-radius:20px;
    transition:.35s ease;
}

.feature-slider .swiper-pagination-bullet-active{
    width:26px;
    background:linear-gradient(145deg, #3a4ed5 0%, #d94fa6 100%);
    border: 1px solid #fff;
}

.feature-slider:before {
    content: "";

    position: absolute;

    width: 284px;

    height: 284px;

    background: #eff6ff60;

    border-radius: 50%;

    filter: blur(40px);

    top: -70px;

    left: 75%;

    transform: translateX(-50%);
}

/* BOTTOM GLOW */

.feature-slider:after {
    content: "";

    position: absolute;

    width: 220px;

    height: 220px;

    background: #eff6ff60;

    border-radius: 50%;

    filter: blur(30px);

    bottom: -90px;

    right: -30px;
}

/* SLIDES */

.swiper-slide {
    text-align: center;

    color: white;
}

.swiper-slide h3 {
    font-size: 36px;

    font-weight: 700;

    letter-spacing: -0.9px;

    margin-bottom: 40px;

    line-height: 40px;

    color: white;
}

.swiper-slide img {
    width: 100%;

    max-width: 900px;

    height: auto;

    display: block;

    margin: auto;

    border-radius: 16px;

    /* box-shadow:
0 30px 80px rgba(0,0,0,.25),
0 10px 30px rgba(0,0,0,.15); */
}

/* PAGINATION */

.swiper-pagination-bullet {
    background: white;

    opacity: 0.4;
}

.swiper-pagination-bullet-active {
    opacity: 1;
}

/* Tabs */
/* FEATURES */

.features-section {
    background: #f8fafc;

    padding: 100px 0;
}

.features-section .content-top h4{
    font-weight: 700;
}

/* HEADER */

.features-head {
    text-align: center;

    max-width: 750px;

    margin: auto;

    margin-bottom: 50px;
}

.features-head h2 {
    font-size: 36px;

    font-weight: 700;

    line-height: 40px;

    letter-spacing: -0.9px;

    color: #111827;

    margin-bottom: 15px;
}

.features-head p {
    font-size: 18px;

    color: #4b5563;

    line-height: 28px;
}

/* TABS */

.features-tabs {
    display: flex;

    justify-content: center;

    gap: 15px;

    margin-bottom: 40px;

    flex-wrap: wrap;
}

.feature-tab {
    padding: 10px 20px;

    border-radius: 50px;

    background: white;

    border: 1px solid #e5e7eb;

    display: flex;

    align-items: center;

    gap: 8px;

    cursor: pointer;

    font-size: 14px;

    font-weight: 500;

    color: #4b5563;

    transition: 0.3s;

    position: relative;

    transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.feature-tab:hover {
    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.feature-tab.active {
    background: linear-gradient(145deg, #3a4ed5, #d94fa6);

    color: white;

    border: none;

    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 20px rgba(58, 78, 213, 0.25);
}

.feature-tab svg {
    transition: 0.3s;
}

.feature-tab.active svg path {
    stroke: white;
}

/* CONTENT */

.content-box {
    background: white;

    padding: 35px;

    border: 1px solid #f3f4f6;

    border-radius: 16px;

    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: 0.4s;
}

/* TOP */

.content-top {
    display: flex;

    /* align-items: center; */

    gap: 15px;

    margin-bottom: 30px;
}

.content-icon {
    width: 60px;

    height: 60px;

    border-radius: 12px;

    background: linear-gradient(145deg, #3a4ed5, #d94fa6);

    display: flex;

    align-items: center;

    justify-content: center;
}

/* GRID */

.content-grid {
    display: flex;

    gap: 40px;

    align-items: center;
}

.content-left {
    width: 60%;
}

.content-right {
    width: 40%;
}

/* IMAGE */

.image-gradient {
    padding: 3px;

    background: linear-gradient(145deg, #3a4ed5, #d94fa6);

    border-radius: 14px;
}

.image-gradient img {
    width: 100%;

    border-radius: 12px;

    display: block;
}

/* RIGHT ITEMS */

.feature-item {
    margin-bottom: 25px;
}

.mini-badge {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 6px 12px;

    border-radius: 50px;

    background: rgba(58, 78, 213, 0.1);

    color: #2a97e4;

    font-size: 13px;

    margin-bottom: 10px;
    transition: 0.3s;
}
.feature-item:hover .mini-badge {
    transform: translateX(4px);
}

.feature-item h3 {
    font-size: 18px;

    font-weight: 600;

    margin-bottom: 6px;

    color: #111827;
}

.feature-item p {
    font-size: 14px;

    color: #4b5563;

    line-height: 22px;
}

.features-content {
    opacity: 0;

    transform: translateY(15px);

    transition: 0.45s cubic-bezier(0.4, 0, 0.2, 1);

    height: 0;

    overflow: hidden;
}

.features-content.active {
    opacity: 1;

    transform: translateY(0);

    height: auto;

    margin-top: 10px;
}

/* BOTTOM FEATURE BOXES */

.features-bottom {
    display: flex;

    gap: 25px;

    margin-top: 30px;
}

.bottom-box {
    background: white;

    padding: 35px;

    border: 1px solid #f3f4f6;

    border-radius: 14px;

    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

    flex: 1;

    transition: 0.35s;
}

/* HOVER PREMIUM EFFECT */

.bottom-box:hover {
    transform: translateY(-6px);

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06), 0 6px 20px rgba(0, 0, 0, 0.05);
}

/* ICON */

.bottom-icon {
    margin-bottom: 15px;
}

/* TITLE */

.bottom-box h4 {
    font-size: 16px;

    font-weight: 600;

    color: #111827;

    margin-bottom: 8px;
}

/* TEXT */

.bottom-box p {
    font-size: 14px;

    color: #4b5563;

    line-height: 22px;
}

/* how it works */
/* HOW SECTION */

.how-section {
    background: white;

    padding: 120px 0;

    text-align: center;
}

/* HEADER */

.how-head {
    margin-bottom: 60px;
}

.how-head h2 {
    font-size: 36px;

    font-weight: 700;

    letter-spacing: -0.9px;

    color: black;

    margin-bottom: 10px;
}

.how-head p {
    font-size: 18px;

    color: black;
}

/* GRID */

.how-grid {
    display: flex;

    gap: 30px;

    margin-bottom: 40px;
}

.how-box {
    background: #f9fafb;

    border-radius: 16px;

    padding: 40px 30px 35px;

    position: relative;

    flex: 1;

    text-align: left;

    transition: 0.35s;
}

/* STEP PILL */

.step-pill {
    position: absolute;

    top: -14px;

    left: 25px;

    background: black;

    color: white;

    font-size: 14px;

    padding: 6px 14px;

    border-radius: 50px;
}

/* ICON */

.how-icon {
    width: 60px;

    height: 60px;

    background: white;

    border-radius: 12px;

    border: 1px solid #e5e7eb;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 20px;
}

/* TITLE */

.how-box h3 {
    font-size: 20px;

    font-weight: 700;

    color: #111827;

    margin-bottom: 10px;
}

/* TEXT */

.how-box p {
    font-size: 16px;

    color: #4b5563;

    line-height: 26px;
}

/* HOVER */

.how-box:hover {
    transform: translateY(-8px);

    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.06), 0 10px 25px rgba(0, 0, 0, 0.05);
}

/* BOTTOM */

.how-bottom p {
    font-size: 16px;

    color: black;

    margin-bottom: 20px;
}

/* BUTTON */

.how-btn {
    background: linear-gradient(145deg, #3a4ed5, #d94fa6);

    color: white;

    padding: 16px 28px;

    border-radius: 50px;

    text-decoration: none;

    display: inline-flex;

    align-items: center;

    gap: 10px;

    font-weight: 600;

    transition: 0.3s;
}

.how-btn:hover {
    transform: translateY(-2px);

    box-shadow: 0 15px 35px rgba(58, 78, 213, 0.25);

    color: white;
}

/* PRICING */

.pricing-section {
    background: #f9fafb;

    padding: 80px 0;
}

/* HEADER */

.pricing-head {
    text-align: center;

    max-width: 750px;

    margin: auto;

    margin-bottom: 40px;
}

.pricing-head h2 {
    font-size: 36px;

    font-weight: 700;

    color: black;

    margin-bottom: 10px;
}

.pricing-head p {
    font-size: 16px;

    font-weight: 500;

    color: #666;
}

/* TABS */

.pricing-tabs {
    background: #eeeeee;

    padding: 6px;

    border-radius: 50px;

    display: flex;

    width: fit-content;

    margin: 30px auto;
    align-items: center;
    gap: 2rem;
}

.pricing-tab {
    flex: 1;

    text-align: center;

    padding: 10px 20px;

    border-radius: 50px;

    cursor: pointer;

    font-size: 14px;

    color: #666;

    font-weight: 500;

    transition: 0.3s;
    white-space:nowrap;
}

.pricing-tab.active {
    background: white;

    color: black;

    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}

/* GRID */

.pricing-grid {
    display: flex;

    gap: 25px;

    margin-top: 40px;
    justify-content: center;
}

/* CARD */

.pricing-card {
    background: white;

    border-radius: 12px;

    padding: 30px;

    /* flex: 1; */

    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

    border: 1px solid #f3f4f6;

    transition: 0.3s;
    width: 31%;
}

.pricing-card:hover {
    /* transform:translateY(-6px); */

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

/* TEXT */

.plan-title {
    font-size: 24px;

    font-weight: 600;

    margin-bottom: 5px;
    letter-spacing: -1.2px;
}

.plan-desc {
    color: #666;

    font-size: 14px;

    margin-bottom: 20px;
}

.price .amount {
    font-size: 32px;

    font-weight: 700;

    margin-bottom: 5px;
}

.price span.duration {
    font-size: 14px;

    color: #666;

    font-weight: 400;
}

/* FEATURES */

.pricing-card ul {
    list-style: none;

    padding: 0;

    margin: 20px 0;
}

.pricing-card ul li {
    margin-bottom: 12px;

    font-size: 15px;

    position: relative;

    padding-left: 22px;
}

.pricing-card ul li:before {
    content: "✓";

    position: absolute;

    left: 0;

    color: black;
}

/* BUTTON */

.price-btn {
    display: block;

    background: black;

    color: white;

    text-align: center;

    padding: 14px;

    border-radius: 50px;

    text-decoration: none;

    margin-top: 30px;

    font-weight: 600;
}

.price-btn:hover {
    background: #222;

    color: white;
}

.pricing-content {
    display: none;
}

.pricing-content.active {
    display: block;

    animation: fadePrice 0.4s ease;
}

@keyframes fadePrice {
    from {
        opacity: 0;

        transform: translateY(10px);
    }

    to {
        opacity: 1;

        transform: translateY(0);
    }
}

/* PLAN TOP */

.plan-top {
    display: flex;

    justify-content: space-between;

    align-items: baseline;

    margin-bottom: 15px;
}

.billing-toggle {
    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 14px;

    font-weight: 500;

    color: #2563eb;
}

/* SWITCH */

.switch {
    position: relative;

    display: inline-block;

    width: 42px;

    height: 22px;
}

.switch input {
    opacity: 0;

    width: 0;

    height: 0;
}

.slider {
    position: absolute;

    cursor: pointer;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: linear-gradient(90deg, #3a4ed5, #9333ea);

    border-radius: 30px;

    transition: 0.3s;
}

.slider:before {
    position: absolute;

    content: "";

    height: 16px;

    width: 16px;

    left: 3px;

    bottom: 3px;

    background: white;

    border-radius: 50%;

    transition: 0.3s;
}

.switch input:checked + .slider:before {
    transform: translateX(20px);
}

/* PRICE SWITCH */

.yearly {
    display: none;
}

.price.active .monthly {
    display: none;
}

.price.active .yearly {
    display: inline;
}

/* PRICE FIX */

.price-box {
    margin: 20px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.price-box .how-btn {
    font-weight: 500;
    font-size: 14px;
    padding: 10px 18px;
    cursor: unset;
}

.price-box .how-btn:hover {
    transform: none;
    box-shadow: none;
}

.price {
    display: flex;

    align-items: flex-end;

    gap: 6px;

    font-weight: 700;
}

.amount {
    font-size: 42px;

    transition: 0.3s;

    line-height: 1;
}

.duration {
    font-size: 16px;

    color: #666;

    font-weight: 400;

    margin-bottom: 6px;
}

/* SWITCH */

.billing-toggle {
    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 14px;

    font-weight: 500;
}

.billing-label {
    color: #2563eb;
}

/* SWITCH CORE */

.switch {
    position: relative;

    width: 44px;

    height: 22px;
}

.switch input {
    opacity: 0;

    width: 0;

    height: 0;
}

.slider {
    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    border-radius: 30px;

    cursor: pointer;

    transition: 0.4s;

    background: linear-gradient(90deg, #3a4ed5, #d94fa6);
}

/* TOGGLE DIFFERENT GRADIENT */

.switch input:checked + .slider {
    background: linear-gradient(90deg, #10b981, #059669);
}

.slider:before {
    position: absolute;

    content: "";

    height: 16px;

    width: 16px;

    left: 3px;

    bottom: 3px;

    background: white;

    border-radius: 50%;

    transition: 0.4s;
}

.switch input:checked + .slider:before {
    transform: translateX(22px);
}

.built-section {
    background: #fff;
    padding: 80px 0;
}

.built-title {
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 36px;
    color: #000;
    margin-bottom: 30px;
}

.built-section p {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #000;
    max-width: 850px;
    margin: 0 auto 20px;
    line-height: 1.7;
}

.built-quote-wrap {
    border-top: 1px solid #000;
    margin-top: 40px;
    padding-top: 30px;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.built-quote {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: #000;
    font-style: italic;
    line-height: 1.7;
    margin: 0;
}

.built-pills {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.built-pill {
    border: 1px solid #000;
    padding: 10px 22px;
    border-radius: 50px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    color: #4b5563;
    background: #fff;
}

.testimonial-section {
    background: #fff;
    padding: 100px 0;
}

.testimonial-title {
    font-weight: 700;
    font-size: 36px;
    color: #000;
    margin-bottom: 15px;
}

.testimonial-subtitle {
    font-size: 18px;
    color: #4b5563;
    max-width: 700px;
    margin: 0 auto 60px;
}

.testimonial-card {
    background: #f9fafb;
    border-radius: 12px;
    padding: 50px 32px;
    position: relative;
    height: 100%;
}

.quote-icon {
    position: absolute;
    top: 20px;
    right: 20px;
}

.testimonial-content {
    text-align: left;
    font-size: 16px;
    color: #374151;
    line-height: 1.7;
    margin-bottom: 30px;
}

.testimonial-user {
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: left;
}

.user-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #d1d5db;
    display: flex;
    align-items: center;
    justify-content: center;

    font-weight: 500;
    color: #4b5563;
}

.user-name {
    font-weight: 600;
    font-size: 16px;
    color: #111827;
}

.user-role {
    font-size: 14px;
    color: #6b7280;
}

.testimonial-slider {
    padding-bottom: 60px;
}

.testimonial-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.stat {
    text-align: center;
    padding: 30px;
    border-right: 1px solid #e5e7eb;
}

.stat:last-child {
    border-right: none;
}

.stat-number {
    font-weight: 700;
    font-size: 30px;
    color: #111827;
}

.stat-title {
    font-size: 14px;
    color: #6b7280;
    margin-top: 5px;
}

/* Make slides equal height */
.testimonial-slider .swiper-wrapper {
    align-items: stretch;
}

.testimonial-slider .swiper-slide {
    height: auto;
    display: flex;
}

.testimonial-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Push user section to bottom */
.testimonial-content {
    flex-grow: 1;
}

/* FAQ */

.faq-section {
    background: #f7f8fa;
    padding: 80px 0;
}

.faq-title {
    font-weight: 700;
    font-size: 36px;
    color: #000;
    margin-bottom: 50px;
    text-transform: capitalize;
}

.faq-wrap {
    max-width: 900px;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.faq-item {
    background: #ececec;
    border-radius: 14px;
    padding: 28px 30px;
    cursor: pointer;
    transition: 0.4s ease;
    overflow: hidden;
}

.faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-left {
    display: flex;
    gap: 15px;
    align-items: center;
}

.faq-q {
    font-weight: 600;
    color: #9ca3af;
    font-size: 20px;
    transition: 0.3s;
}

.faq-text {
    font-weight: 600;
    font-size: 20px;
    color: #111;
    transition: 0.3s;
}

.faq-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 600;
    transition: 0.35s;
}

/* ANSWER ANIMATION */

.faq-answer {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    margin-top: 0;
    font-size: 16px;
    line-height: 1.7;
    color: white;
    transition: max-height 0.5s ease, opacity 0.35s ease, transform 0.35s ease,
        margin-top 0.35s ease;
    margin-left: 2rem;
    margin-right: 2rem;
}

/* ACTIVE STATE */

.faq-item.active {
    background: linear-gradient(135deg, #4f46e5, #ec4899);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.faq-item.active .faq-q {
    color: #c7d2fe;
}

.faq-item.active .faq-text {
    color: white;
}

.faq-item.active .faq-icon {
    background: white;
    color: #6366f1;
    transform: rotate(180deg);
}

.faq-item.active .faq-answer {
    max-height: 300px;
    opacity: 1;
    transform: translateY(0);
    margin-top: 20px;
}


/* Popup */
.waitlist-modal{

width:480px;
background:#f3f4f6;
padding:30px;
border-radius:16px;
text-align:center;
position:relative;

box-shadow:
0 30px 60px rgba(0,0,0,0.25);

}

.waitlist-modal h2{

margin:0;
font-size:28px;
font-weight:700;
color:#222;

}

.subtitle{

margin-top:8px;
margin-bottom:20px;
color:#6b7280;
font-size:16px;

}

.waitlist-form{
width:100%;
}

.form-row{

display:flex;
gap:12px;
margin-bottom:12px;

}

.name-row{
margin-bottom:12px;
}

.email-row{
margin-bottom:14px;
}

.submit-row{
margin-bottom:0;
}

.half{
width:50%;
}

.waitlist-form input{

width:100%;
padding:13px;

border-radius:10px;

border:1px solid #cbd5e1;

background:white;

font-size:15px;

outline:none;

}

.waitlist-form input:focus{

border-color:#7c3aed;

}

.email-row input{

width:100% !important;

}

.submit-row input{

width:100%;

border:none;

padding:14px;

border-radius:12px;

color:white;

font-weight:600;

font-size:17px;

cursor:pointer;

background:
linear-gradient(
90deg,
#5b5bd6,
#c94bb3
);

transition:.25s;

}

.submit-row input:hover{

transform:translateY(-1px);

opacity:.95;

}

.waitlist-popup{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,0.45);

display:flex;   /* THIS IS CRITICAL */

align-items:center;
justify-content:center;

z-index:99999;

}

.waitlist-modal{

width:500px;

background:#f3f4f6;

padding:30px;

border-radius:18px;

position:relative;

box-shadow:
0 40px 80px rgba(0,0,0,0.25);

}

.popup-close{

position:absolute;

right:18px;
top:10px;

font-size:26px;

cursor:pointer;

}

.form-row{

display:flex;

gap:12px;

margin-bottom:12px;

}

.half{
width:50%;
}

.email-row{
display:block;
}

.submit-row input{

width:100%;

border:none;

padding:14px;

border-radius:12px;

color:white;

font-weight:600;

font-size:17px;

cursor:pointer;

background:linear-gradient(
90deg,
#5b5bd6,
#c94bb3
);

}
.wpcf7-spinner{
    display: none;
}
.waitlist-popup{
display:none;
}