:root{
    /* Light theme variables */
    --accent:#2563eb; /* Primary blue for actions/highlights */
    --muted:#6b7280; /* Muted text (gray-500) */
    --card:#ffffff; /* Card background (white) */
    --plan-left-bg:#0f1724; /* dark navy for left panel */
    --plan-right-bg:#ffffff; /* right panel (white) */
    --plan-accent:#7b85f5; /* accent for checks/buttons inside plan */
    --bg:#f6f8fb; /* Very light page background */
    --maxw:1200px; /* Increased max width for more spacious feel */
    --border-color:rgba(15,23,42,0.06); /* Subtle border on light background */
    --shadow-light:0 6px 18px rgba(15,23,42,0.06);
    --shadow-heavy:0 12px 36px rgba(15,23,42,0.08);

    /* Banner Colors (light) */
    --banner-bg:#e8f1ff; /* Light blue banner */
    --banner-accent:#0f172a; /* Dark text for banner */
    --banner-button:var(--accent); /* Matching accent color */
    --limited-tag:#ff5722; /* Orange/Red for "Limited" - keep for emphasis */
}

.no-border{ border-bottom: none !important; }
        
/* Desktop voice selector (shown on desktop, hidden on mobile) */
#hero .voice-selector-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 20px auto 0px auto;
    position: relative !important;
    top: auto !important;
    z-index: 10;
    width: 100%;
    max-width: 100%;
}

/* Ensure voice icon styles work in hero */
#hero .voice-selector-wrapper .voice-icon-container {
    position: relative;
    width: 150px;
    height: 150px;
    margin: 0 auto;
}

#hero .voice-selector-wrapper .voice-selector-title {
    margin-top: 20px;
    color: #ffffff;
    font-weight: 900;
}

#hero .voice-selector-wrapper .voice-selector-text {
    color: #ffffff;
    margin-top: 0;
}

/* Mobile-only voice selector (hidden by default, shown on mobile) */
.voice-selector-wrapper-mobile {
    display: none;
    text-align: center;
    margin: 30px auto;
    position: relative;
}

@media (max-width: 1400px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 1200px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 1024px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 900px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    /* Show mobile voice selector */
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 768px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    /* Show mobile voice selector */
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 640px) {
    #hero .voice-selector-wrapper {
        display: none !important;
    }
    /* Show mobile voice selector */
    .voice-selector-wrapper-mobile {
        display: block !important;
    }
}

@media (max-width: 480px) {
    /* Show mobile voice selector with enhanced styling */
    .voice-selector-wrapper-mobile {
        display: block !important;
        margin: 20px auto;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-container {
        width: 150px !important;
        height: 150px !important;
        margin: 0 auto;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle {
        width: 150px !important;
        height: 150px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle i {
        font-size: 54px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-title {
        font-size: 1.8rem !important;
        margin-top: 20px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-text {
        font-size: 1rem !important;
    }
}

@media (max-width: 360px) {
    /* Show mobile voice selector */
    .voice-selector-wrapper-mobile {
        display: block !important;
        margin: 15px auto;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-container {
        width: 130px !important;
        height: 130px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle {
        width: 130px !important;
        height: 130px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle i {
        font-size: 46px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-title {
        font-size: 1.5rem !important;
        margin-top: 15px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-text {
        font-size: 0.9rem !important;
    }
}

@media (max-width: 320px) {
    /* Show mobile voice selector */
    .voice-selector-wrapper-mobile {
        display: block !important;
        margin: 12px auto;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-container {
        width: 120px !important;
        height: 120px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle {
        width: 120px !important;
        height: 120px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-icon-circle i {
        font-size: 42px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-title {
        font-size: 1.3rem !important;
        margin-top: 12px !important;
    }
    
    .voice-selector-wrapper-mobile .voice-selector-text {
        font-size: 0.85rem !important;
    }
}

/* Mobile hero (id="mobileView") base styles */
#mobileView {
    display: none !important;
    background: radial-gradient(circle at top, #2563eb 0%, #0b3b8c 40%, #031633 100%) !important;
    color: #ffffff !important;
    padding: 40px 20px 40px !important;
    text-align: center !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background-image: url(/assets/img/wavedesignBg.png), linear-gradient(135deg, rgba(106, 27, 154, 0.95) 0%, rgba(41, 121, 255, 0.85) 100%) !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: bottom center, center !important;
    background-size: 100% auto, cover !important;
}

#mobileView .container {
    max-width: 480px !important;
    margin: 0 auto !important;
    /* Fade-in slide animation when mobile hero loads */
    animation: mobileHeroFadeIn 650ms ease-out both !important;
    animation-delay: 80ms !important;
}

.mobile-hero-visual {
    margin-top: 28px;
    width: 100%;
    max-width: 420px;
    min-height: 550px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    padding: 24px 20px;
    box-sizing: border-box;
}

.mobile-hero-floating-badge {
    position: absolute;
    top: 10%;
    right: 12px;
    width: 35%;
    height: auto;
    z-index: 1;
    pointer-events: none;
}

.mobile-hero-floating-badge-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.35));
}

.mobile-hero-content-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 500px;
}

.mobile-hero-features {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 16px;
    z-index: 2;
    flex: 0 0 auto;
}

.mobile-hero-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.4;
}

.mobile-hero-checkmark {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ffffff;
    color: var(--color-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    flex-shrink: 0;
    margin-top: 2px;
}

.mobile-hero-feature-text {
    flex: 1;
    line-height: 1.4;
    display: flex;
    font-size: 16px;
    color: #ffffff;
}

.mobile-hero-offer-box {
    position: relative;
    border-radius: 16px;
    padding: 12px 18px;
    margin: 26px 0 16px 0;
    text-align: left;
    z-index: 2;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    align-self: flex-start;
    max-width: 230px;
    border: 5px solid transparent;
    background:
        linear-gradient(135deg, #fef9c3 0%, #fef3c7 40%, #fee2e2 100%) padding-box,
        linear-gradient(120deg,
            rgba(251, 191, 36, 0.0) 0%,
            rgba(251, 191, 36, 0.0) 15%,
            rgba(251, 191, 36, 0.9) 35%,
            rgba(249, 115, 22, 0.9) 50%,
            rgba(251, 191, 36, 0.9) 65%,
            rgba(251, 191, 36, 0.0) 85%,
            rgba(251, 191, 36, 0.0) 100%) border-box;
    background-origin: border-box;
    background-clip: padding-box, border-box;
    background-size: 100% 100%, 250% 250%;
    overflow: hidden;
    animation: mobileHeroOfferBorderSweep 5s linear infinite;
}

.mobile-hero-offer-text {
    font-size: 14px;
    font-weight: 700;
    color: #92400e;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-align: center;
}

.mobile-hero-offer-price {
    font-size: 18px;
    font-weight: 800;
    color: #b91c1c;
    margin-top: 4px;
    line-height: 1.3;
}

.mobile-hero-call-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 24px;
    margin: 12px 0;
    background: #ffffff;
    color: #7c3aed;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    z-index: 2;
    align-self: flex-start;
}

.mobile-hero-call-btn:hover,
.mobile-hero-call-btn:focus {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
    background: #f9fafb;
}

.mobile-hero-call-btn:active {
    transform: translateY(0);
}

.mobile-hero-call-btn i {
    font-size: 16px;
}

.mobile-hero-cta-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 20px 0 16px 0;
    z-index: 2;
    width: 100%;
}

.mobile-hero-experience-btn, .mobile-hero-experience-btns {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 14px 20px;
    background: var(--accent-color);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    transition: all 0.3s ease;
    z-index: 2;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.mobile-hero-experience-btn:hover, .mobile-hero-experience-btns:hover, .mobile-hero-experience-btns:focus
.mobile-hero-experience-btn:focus {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
    background: linear-gradient(135deg, rgba(124, 58, 237, 1) 0%, rgba(99, 102, 241, 1) 100%);
}

.mobile-hero-experience-btn:active, .mobile-hero-experience-btns:active {
    transform: translateY(0);
}

.mobile-hero-experience-btn i, .mobile-hero-experience-btns i{
    font-size: 16px;
    color: #ffffff;
}

.mobile-hero-call-instead {
    text-align: left;
    width: 100%;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.mobile-hero-call-instead a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
}

.mobile-hero-call-instead a:hover {
    text-decoration: underline;
}

.mobile-hero-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: auto;
    z-index: 2;
    flex: 0 0 auto;
}

.mobile-hero-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
}

.mobile-hero-contact-item i {
    font-size: 13px;
    width: 16px;
    text-align: center;
}

@keyframes mobileHeroOfferBorderSweep {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 100%;
    }
    100% {
        background-position: 0% 0%;
    }
}

.mobile-hero-smartphone {
    position: absolute;
    right: -25px;
    top: 82%;
    transform: translateY(-50%);
    width: 160px;
    height: 300px;
    z-index: 1;
}

.mobile-hero-phone-screen {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #9333ea 0%, #ec4899 100%);
    border-radius: 28px;
    position: relative;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    border: 6px solid #1f2937;
    overflow: visible;
}

.mobile-hero-character {
    position: absolute;
    bottom: -30px;
    right: -15px;
    width: 180px;
    height: 220px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    animation: mobileHeroCharacterFloat 3s ease-in-out infinite;
}

.mobile-hero-character-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

@keyframes mobileHeroCharacterFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-8px) rotate(2deg);
    }
}

/* Mobile responsive adjustments - only for mobile viewport */
@media (max-width: 768px) {
    #mobileView {
        padding: 30px 16px 30px;
    }

    #mobileView .container {
        max-width: 100%;
    }

    .mobile-hero-title {
        font-size: 1.75rem !important;
        margin-bottom: 14px !important;
    }

    .mobile-hero-title span {
        font-size: 1.75rem !important;
    }

    .mobile-hero-visual {
        margin-top: 20px;
        max-width: 100%;
        min-height: 550px;
        padding: 20px 16px;
    }

    .mobile-hero-floating-badge {
        top: 0%;
        right: 10px;
        width: 35%;
        height: auto;
    }

    .mobile-hero-content-wrapper {
        min-height: 520px;
    }

    .mobile-hero-features {
        gap: 12px;
        margin-bottom: 12px;
    }

    .mobile-hero-feature-item {
        gap: 8px;
        font-size: 12px;
    }

    .mobile-hero-feature-text {
        font-size: 14px !important;
    }

    .mobile-hero-checkmark {
        width: 20px;
        height: 20px;
        font-size: 10px;
    }

    .mobile-hero-offer-box {
        margin: 20px 0 12px 0;
        max-width: 180px;
    }

    .mobile-hero-cta-buttons {
        margin: 16px 0 12px 0;
        gap: 10px;
    }

    .mobile-hero-experience-btn, .mobile-hero-experience-btns {
        padding: 12px 18px;
        font-size: 14px;
    }

    .mobile-hero-call-instead {
        font-size: 13px;
    }

    .mobile-hero-contact {
        gap: 5px;
    }

    .mobile-hero-contact-item {
        font-size: 13px;
    }

    .mobile-hero-contact-item span {
        font-size: 14px !important;
    }

    .mobile-hero-smartphone {
        width: 260px;
        height: 260px;
        right: -20px;
        top:60%;
    }
    
    .mobile-hero-character-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

@media (max-width: 480px) {
    #mobileView {
        padding: 24px 12px 24px;
    }

    .mobile-hero-eyebrow {
        font-size: 11px;
        margin-bottom: 10px;
    }

    .hero-limited-highlight-mobile {
        width: 280px !important;
        height: 40px !important;
    }

    .mobile-hero-title {
        font-size: 1.5rem !important;
        margin-bottom: 12px !important;
    }

    .mobile-hero-title span {
        font-size: 1.5rem !important;
    }

    .mobile-hero-visual {
        margin-top: 16px;
        min-height: 550px;
        padding: 18px 14px;
        border-radius: 16px;
    }

    .mobile-hero-floating-badge {
        top: -2%;
        right: 0px;
        width: 35%;
        height: auto;
    }

    .mobile-hero-content-wrapper {
        min-height: 520px;
    }

    .mobile-hero-features {
        gap: 10px;
        margin-bottom: 10px;
    }

    .mobile-hero-feature-item {
        gap: 7px;
        font-size: 11px;
    }

    .mobile-hero-feature-text {
        font-size: 14px !important;
    }

    .mobile-hero-checkmark {
        width: 20px;
        height: 20px;
        font-size: 14px;
    }

    .mobile-hero-offer-box {
        margin: 40px 0 10px 0;
        max-width: 180px;
    }

    .mobile-hero-offer-text {
        font-size: 14px;
    }

    .mobile-hero-offer-price {
        font-size: 14px;
    }

    .mobile-hero-cta-buttons {
        margin: 12px 0 10px 0;
        gap: 15px;
    }

    .mobile-hero-experience-btn, .mobile-hero-experience-btns {
        padding: 12px 16px;
        font-size: 13px;
    }

    .mobile-hero-experience-btn i, .mobile-hero-experience-btns i {
        font-size: 14px;
        margin-right: 6px;
    }

    .mobile-hero-call-instead {
        font-size: 12px;
    }

    .mobile-hero-contact {
        gap: 4px;
    }

    .mobile-hero-contact-item {
        font-size: 12px;
        gap: 6px;
    }

    .mobile-hero-contact-item span {
        font-size: 14px !important;
    }

    .mobile-hero-contact-item i {
        font-size: 12px;
    }

    .mobile-hero-smartphone {
        width: 220px;
        height: 220px;
        right: -15px;
        top: 63%;
    }
    
    .mobile-hero-character-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

@media (max-width: 360px) {
    #mobileView {
        padding: 20px 10px 20px;
    }

    .mobile-hero-eyebrow {
        font-size: 10px;
        margin-bottom: 8px;
    }

    .hero-limited-highlight-mobile {
        width: 260px !important;
        height: 38px !important;
    }

    .mobile-hero-title {
        font-size: 1.35rem !important;
        margin-bottom: 10px !important;
    }

    .mobile-hero-title span {
        font-size: 1.35rem !important;
    }

    .mobile-hero-visual {
        margin-top: 14px;
        min-height: 550px;
        padding: 16px 12px;
        border-radius: 14px;
    }

    .mobile-hero-floating-badge {
        top: 10%;
        right: 6px;
        width: 35%;
        height: auto;
    }

    .mobile-hero-content-wrapper {
        min-height: 520px;
    }

    .mobile-hero-features {
        gap: 15px;
        margin-bottom: 8px;
    }

    .mobile-hero-feature-item {
        gap: 6px;
        font-size: 10px;
    }

    .mobile-hero-feature-text {
        font-size: 14px !important;
    }

    .mobile-hero-checkmark {
        width: 16px;
        height: 16px;
        font-size: 8px;
    }

    .mobile-hero-offer-box {
        padding: 9px 12px;
        margin: 45px 0 8px 0;
        max-width: 150px;
        border-radius: 9px;
    }

    .mobile-hero-offer-text {
        font-size: 13px;
    }

    .mobile-hero-offer-price {
        font-size: 15px;
    }

    .mobile-hero-cta-buttons {
        margin: 10px 0 8px 0;
        gap: 15px;
        top: 82% !important;
    }

    .mobile-hero-experience-btn, .mobile-hero-experience-btns {
        padding: 10px 14px;
        font-size: 12px;
    }

    .mobile-hero-experience-btn i, .mobile-hero-experience-btns i {
        font-size: 13px;
        margin-right: 5px;
    }

    .mobile-hero-call-instead {
        font-size: 11px;
    }

    .mobile-hero-contact {
        gap: 3px;
    }

    .mobile-hero-contact-item {
        font-size: 11px;
        gap: 5px;
    }

    .mobile-hero-contact-item span {
        font-size: 14px !important;
    }

    .mobile-hero-contact-item i {
        font-size: 11px;
    }

    .mobile-hero-smartphone {
        width: 160px;
        height: 160px;
        right: -13px;
        top: 70%;
    }
    
    .mobile-hero-character-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

@media (max-width: 320px) {
    #mobileView {
        padding: 18px 8px 18px;
    }

    .mobile-hero-eyebrow {
        font-size: 10px;
        margin-bottom: 6px;
    }

    .hero-limited-highlight-mobile {
        width: 240px !important;
        height: 36px !important;
    }

    .mobile-hero-title {
        font-size: 1.2rem !important;
        margin-bottom: 8px !important;
    }

    .mobile-hero-title span {
        font-size: 1.2rem !important;
    }

    .mobile-hero-visual {
        margin-top: 12px;
        min-height: 350px;
        padding: 14px 10px;
        border-radius: 12px;
    }

    .mobile-hero-content-wrapper {
        min-height: 520px;
    }

    .mobile-hero-features {
        gap: 15px;
        margin-bottom: 7px;
    }

    .mobile-hero-feature-item {
        gap: 5px;
        font-size: 10px;
    }

    .mobile-hero-feature-text {
        font-size: 14px !important;
    }

    .mobile-hero-checkmark {
        width: 15px;
        height: 15px;
        font-size: 7px;
    }

    .mobile-hero-offer-box {
        padding: 8px 10px;
        margin: 12px 0 7px 0;
        max-width: 140px;
        border-radius: 8px;
    }

    .mobile-hero-offer-text {
        font-size: 12px;
    }

    .mobile-hero-offer-price {
        font-size: 14px;
    }

    .mobile-hero-contact {
        gap: 2px;
    }

    .mobile-hero-contact-item {
        font-size: 10px;
        gap: 4px;
    }

    .mobile-hero-contact-item span {
        font-size: 14px !important;
    }

    .mobile-hero-contact-item i {
        font-size: 10px;
    }

    .mobile-hero-smartphone {
        width: 240px;
        height: 240px;
        right: 0px;
        top: 82%;
    }
    
    .mobile-hero-character-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

.mobile-hero-eyebrow {
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    opacity: 0.75;
    margin-bottom: 12px;
    display:flex;
    justify-content: center;
    align-items: center;
}

.mobile-hero-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 18px;
}

.mobile-hero-subtitle {
    font-size: 0.98rem;
    line-height: 1.5;
    opacity: 0.9;
    margin-bottom: 24px;
}

.mobile-hero-cta {
    width: 100%;
    max-width: 260px;
    font-weight: 600;
    padding: 14px 24px;
    margin: 0 auto 20px;
    background: #ffffff;
    color: #111827;
    border: none;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.45);
}

.mobile-hero-cta:hover,
.mobile-hero-cta:focus {
    transform: translateY(-1px);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.6);
}

.mobile-inbound-call {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-radius: 999px;
    background: #ffffff;
    backdrop-filter: blur(18px);
    border: 1px solid rgba(148, 163, 184, 0.5);
    /* Soft pulse to draw attention */
    animation: mobileHeroCallPulse 2600ms ease-out infinite;
}

/* Mobile hero animations */
@keyframes mobileHeroFadeIn {
    0% {
        opacity: 0;
        transform: translateY(18px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

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

.mobile-inbound-avatar {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: url('/assets/img/bot.png') center center / cover no-repeat, linear-gradient(135deg, #4f46e5, #22c55e);
    border: 2px solid #22c55e;
}

.mobile-inbound-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

.mobile-inbound-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #a5b4fc;
}

.mobile-inbound-name {
    font-size: 0.86rem;
    font-weight: 600;
}

.mobile-inbound-status-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.4);
}

/* Visibility control: show mobile hero only on mobile */
@media (min-width: 769px) {
    #mobileView {
        display: none !important;
    }
}

@media (max-width: 768px) {
    #mobileView {
        display: block !important;
    }

    /* Hide the desktop hero on mobile */
    #hero {
        display: none !important;
    }
}
.dollar-sign{
    font-size: 48px;
    font-weight: 600;
    color: #ffffff;
}

/* Responsive Dollar Sign - All Breakpoints */
@media (max-width: 1400px) {
    .dollar-sign {
        font-size: 44px;
    }
}

@media (max-width: 1200px) {
    .dollar-sign {
        font-size: 40px;
    }
}

@media (max-width: 1024px) {
    .dollar-sign {
        font-size: 36px;
    }
}

@media (max-width: 900px) {
    .dollar-sign {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .dollar-sign {
        font-size: 28px;
    }
}

@media (max-width: 640px) {
    .dollar-sign {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .dollar-sign {
        font-size: 22px;
    }
}

@media (max-width: 360px) {
    .dollar-sign {
        font-size: 20px;
    }
}

@media (max-width: 320px) {
    .dollar-sign {
        font-size: 18px;
    }
}
/* Hide old hero pricing section on desktop - using new grid layout */
@media (min-width: 769px) {
.hero .container > h2:first-of-type,
.hero .container > .hero-subheadline:first-of-type,
.hero .container > .pricing-nav-btn {
    display: none !important;
}
.hero-contact-buttons {
    display: none !important;
}
}

  /* Hero Contact Buttons Responsive Styles */
 /* Pulse animation for mobile FAB */
@keyframes aiFabPulse {
    0% {
        transform: translate3d(0, 0, 0) scale(1); /* GPU acceleration */
        box-shadow: 0 18px 40px rgba(88, 28, 135, 0.6);
    }
    50% {
        transform: translate3d(0, -2px, 0) scale(1.03); /* GPU acceleration */
        box-shadow: 0 22px 50px rgba(88, 28, 135, 0.8);
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1); /* GPU acceleration */
        box-shadow: 0 18px 40px rgba(88, 28, 135, 0.6);
    }
}

/* Floating AI calling button - Visible on ALL screen sizes (Desktop and Mobile) */
#browserCallingCta {
    position: fixed !important;
    bottom: 16px !important;
    z-index: 9999 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 200px !important;
    height: 60px;
    padding: 10px 26px 10px 52px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    background: radial-gradient(circle at 0 50%, rgba(255,255,255,0.35) 0, rgba(255,255,255,0) 45%), 
                linear-gradient(135deg, #7c3aed 0%, #a855f7 40%, #6366f1 100%);
    box-shadow: 0 18px 40px rgba(88, 28, 135, 0.6);
    border: 1px solid rgba(216, 180, 254, 0.85);
    white-space: nowrap;
    overflow: visible;
    animation: aiFabPulse 2.4s ease-in-out infinite;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transform: translateZ(0); /* GPU acceleration */
    will-change: transform; /* Optimize animation */
}

/* Desktop: Right bottom */
@media (min-width: 769px) {
    #browserCallingCta {
        right: 0 !important;
        /* left: auto !important; */
        top: 50% !important;
        border-radius: 10px 0 0 10px !important;
        transform: translateY(-50%) !important;
        height: 70px !important;
    }
}

/* Mobile: Left bottom (default) */
@media (max-width: 768px) {
    #browserCallingCta {
        left: 16px !important;
        right: auto !important;
    }
}

#browserCallingCta:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 22px 50px rgba(88, 28, 135, 0.8);
}

.ai-floating-label {
    margin-left: 10px;
    font-weight: 900;
    background: #ffffff;
    border-radius: 20px;
    width: 100%;
    height: 30px;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
    display: flex;
}

/* Avatar circle on the left of the pill */
#browserCallingCta::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #ffffff url('/assets/img/ai-call-2.jpeg') center/cover no-repeat;
    box-shadow: 0 0 0 3px #f9f5ff, 0 10px 18px rgba(88, 28, 135, 0.7);
}

@media (max-width: 768px) {
    .hero-contact-buttons {
        flex-direction: column;
        gap: 16px !important;
        margin-top: 25px !important;
    }
    /* Stack the inner button wrapper too (overrides inline flex row) */
    .hero-contact-buttons > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        width: 100%;
    }
    .hero-contact-buttons .btn {
        padding: 12px 24px !important;
        font-size: 14px !important;
    }
    .hero-contact-buttons a {
        padding: 12px 20px !important;
        font-size: 16px !important;
    }
    .hero-contact-buttons .btn,
    .hero-contact-buttons a {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
}

  /* Grid layout for What Do You Get – 4 cards per row on desktop */

#what-you-get .feature-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0px;
    gap: 0px;
    margin-top: 32px;
}
#what-you-get .feature-block {
    margin: 0;
    height: 100%;
}
#what-you-get .feature-inner {
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    padding: 0;
    background: #ffffff;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.15), 0 4px 12px rgba(15, 23, 42, 0.1);
    border: 1px solid rgba(106, 27, 154, 0.25);
    position: relative;
    overflow: hidden;
    height: 100%;
    transition: all 0.3s 
cubic-bezier(0.4, 0, 0.2, 1);
}
#what-you-get .feature-media {
    margin-bottom: 16px;
    width: 100%;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    min-height: 180px; /* Prevent layout shift while images load - CLS optimization */
}
#what-you-get .feature-media img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}
#what-you-get .feature-media picture {
    width: 100%;
    display: block;
}
#what-you-get .feature-media picture img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}
#what-you-get .feature-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 24px 24px 22px;
}
#what-you-get .feature-content h6 {
    margin-bottom: 4px;
}

/* Responsive breakpoints */
@media (max-width: 1400px) {
    #what-you-get .feature-wrap {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 1200px) {
    #what-you-get .feature-wrap {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 992px) {
    #what-you-get .feature-wrap {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    #what-you-get .feature-wrap {
        grid-template-columns: 1fr;
    }
}

/* who is it for */
#whos-it-for {
    padding: 80px 0;
    background: #fff;
}
#whos-it-for .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
#whos-it-for .container > h2 {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--text-primary);
}
#whos-it-for .container > p {
    text-align: center;
    font-size: 18px;
    color: var(--text-secondary);
}
.cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.who-card {
    background: var(--card-color);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.who-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: rgba(255,255,255,0.3);
}
.who-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}
.card-title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
    line-height: 1.3;
}
.card-description {
    font-size: 16px;
    line-height: 1.6;
    color: #ffffff;
}
/* Card colors between primary and secondary */
.card-1 { --card-color: #0860e2; }
.card-2 { --card-color: #2d5fd4; }
.card-3 { --card-color: #515ec6; }
.card-4 { --card-color: #755db8; }
.card-5 { --card-color: #9630c6; }
.card-6 { --card-color: rgb(152, 8, 218); }
@media (max-width: 900px) {
    .cards-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 24px;
    }
}
@media (max-width: 600px) {
    .cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .who-card {
        padding: 24px;
    }
    .card-title {
        font-size: 20px;
    }
    .card-description {
        font-size: 15px;
    }
}

/* Chatbots for your business – simple two-column layout (image left, list right) */
.wcyd-section {
    margin-top: 40px;
}
.wcyd-row {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 40px;
    align-items: center;
}
.wcyd-visual {
    border-radius: 24px;
    overflow: hidden;
    background: radial-gradient(circle at top left, #e0f2fe 0, #eff6ff 30%, #f9fafb 70%);
    box-shadow: 0 22px 60px rgba(15,23,42,0.35);
    position: relative;
}
.wcyd-visual img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 490px;
    object-fit: cover;
}
.wcyd-list {
    border-radius: 16px;

    padding: 24px 24px 26px;
}
.wcyd-list-title {
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 14px;
    text-align: left;
}
.wcyd-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.wcyd-list li {
    font-size: 25px;
    font-weight: 500;
    color: #ffffff;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.wcyd-list li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ffffff;
}

@media (max-width: 992px) {
    .wcyd-row {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .wcyd-visual img {
        max-height: 340px;
    }
}
@media (max-width: 640px) {
    .wcyd-section {
        gap: 24px;
    }
    .wcyd-visual {
        border-radius: 18px;
    }
    .wcyd-list {
        border-radius: 14px;
        padding: 20px 18px 22px;
    }
}

 /* Legacy What Can You Do grid (independent from compare layout) */
 .wcud-grid-legacy , .ai-channels-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    margin:40px auto 0;
    gap:28px;
    max-width:1200px;
}
@media (max-width: 991px) {
    .wcud-grid-legacy, .ai-channels-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .wcud-grid-legacy,.ai-channels-grid{
        grid-template-columns: repeat(1, 1fr);
    }
}
.wcud-card-legacy{
    display:flex;
    flex-direction:column;
    border-radius:20px;
    padding:0;
    background:#ffffff;
    box-shadow:0 16px 48px rgba(15,23,42,0.15), 0 4px 12px rgba(15,23,42,0.1);
    border:1px solid rgba(106,27,154,0.25);
    position:relative;
    overflow:hidden;
    height:100%;
    transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.wcud-card-legacy::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg, var(--primary-color), #9333ea, var(--primary-color));
    z-index:1;
}
.wcud-card-legacy:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 60px rgba(15,23,42,0.2), 0 8px 16px rgba(15,23,42,0.15);
    border-color:rgba(106,27,154,0.4);
}
.wcud-card-legacy .wcud-image{
    width:100%;
    border-radius:20px 20px 0 0;
    overflow:hidden;
    background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.wcud-card-legacy .wcud-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:transform 0.4s ease;
}
.wcud-card-legacy:hover .wcud-image img{
    transform:scale(1.08);
}
.wcud-card-legacy .wcud-content{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:24px 24px 22px;
}
.wcud-card-legacy .wcud-content h3{
    margin:0;
    font-size:1.3rem;
    font-weight:700;
    color:#0f172a;
}
.wcud-card-legacy .wcud-content p{
    margin:0;
    line-height:1.6;
    color:#475569;
    font-size:0.95rem;
    flex:1 1 auto;
}
.wcud-card-legacy .wcud-button{
    margin-top:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 24px;
    background:var(--primary-color);
    color:#fff;
    text-decoration:none;
    border-radius:999px;
    font-weight:600;
    font-size:0.95rem;
    border:none;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(37,99,235,0.35);
    transition:background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}
.wcud-card-legacy .wcud-button:hover{
    background:#1d4ed8;
    transform:translateY(-1px);
    box-shadow:0 14px 30px rgba(37,99,235,0.45);
}
@media (max-width:768px){
    .wcud-card-legacy .wcud-image{
        height:300px;
        padding:20px;
    }
    .wcud-card-legacy .wcud-content{
        padding:20px;
    }
}


/* app cards lit */
.app-card-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

@media (max-width: 1200px) {
    .apps-grid-container {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
        gap: 15px !important;
    }
}

@media (max-width: 768px) {
    .app-integrations-section {
        padding: 60px 0 !important;
    }
    
    .apps-grid-container {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        gap: 12px !important;
    }
    
    .app-card-item {
        min-height: 160px !important;
        padding: 15px !important;
    }
    
    .app-card-item img {
        max-width: 60px !important;
        max-height: 60px !important;
    }
    
    h2 {
        font-size: 2rem !important;
    }
}

@media (max-width: 480px) {
    .apps-grid-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/*Ai channels & bots*/
.ai-channel-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(106, 27, 154, 0.15) !important;
    border-color: var(--primary-color) !important;
}

.ai-channel-card:hover .ai-channel-link {
    color: #9630c6;
}

.ai-channel-card:hover .ai-channel-link i {
    transform: translateX(4px);
}

.ai-channel-icon {
    transition: all 0.3s ease;
}

.ai-channel-card:hover .ai-channel-icon {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(106, 27, 154, 0.2) !important;
}

@media (max-width: 768px) {
    .ai-channels-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    .ai-channels-section {
        padding: 60px 0 !important;
    }
    
    .sectionTitle h2 {
        font-size: 2rem !important;
    }
}

@media (max-width: 480px) {
    .ai-channel-card {
        padding: 24px !important;
    }
    
    .ai-channel-icon {
        width: 60px !important;
        height: 60px !important;
    }
    
    .ai-channel-icon img {
        max-width: 45px !important;
        max-height: 45px !important;
    }
}

/*Ai calling call buttons*/
.ai-calling-section {
    background: linear-gradient(180deg, #000000 0%, var(--dark-background-blue) 50%, var(--color-primary) 100%);
    position: relative;
}

.ai-calling-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at top right, rgba(138, 43, 226, 0.3) 0%, transparent 70%);
    pointer-events: none;
}

.ai-calling-container {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    width: 100%;
    text-align: center;
}

.browser-calling-header {
    color: white;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 40px;
    opacity: 0.9;
}

.voice-selector-wrapper {
    position: relative;
    margin-bottom: 25px;
    top:38%;
}

.voice-icon-container {
    position: relative;
    width: 150px;
    height: 150px;
    margin: 0 auto 0px;
    cursor: pointer;
    transition: transform 0.3s ease;
    z-index: 1;
}

.voice-icon-container:hover {
    transform: scale(1.05);
}

.voice-icon-circle i {
    position: relative;
    z-index: 3;
}

.voice-icon-circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    animation: voiceIconPulseGlow 2s ease-in-out infinite, voiceIconSubtleBounce 3s ease-in-out infinite;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3),
                0 0 20px rgba(255, 255, 255, 0.2),
                0 14px 45px rgba(8, 96, 226, .35), 
                0 6px 20px rgba(150, 48, 198, .25) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    z-index: 1;
}

.voice-icon-circle::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #673ab72b, #2196f330, transparent);
    animation: voiceIconShimmer 3s infinite;
    z-index: 2;
    border-radius: 50%;
    pointer-events: none;
}

.voice-icon-circle::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.6);
    animation: voiceRingPulse 3s ease-in-out infinite;
    width: 220px;
    height: 220px;
    top: -10px;
    left: -10px;
    z-index: 0;
    pointer-events: none;
}

.voice-icon-container::before {
    content: '';
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    animation: voiceRingPulse 3s ease-in-out infinite;
    width: 180px;
    height: 180px;
    top: -13px;
    left: -13px;
    animation-delay: 0.5s;
    z-index: 0;
    pointer-events: none;
}

.voice-icon-container::after {
    content: '';
    position: absolute;
    inset: -35px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(106, 27, 154, 0.45) 0%, rgba(41, 121, 255, 0.35) 45%, rgba(8, 96, 226, 0.05) 70%, transparent 80%);
    filter: blur(6px);
    opacity: 0.75;
    animation: voiceContainerGlow 3.4s ease-in-out infinite;
    pointer-events: none;
    z-index: -1;
}

.voice-icon-circle:hover {
    transform: translateY(-3px) scale(1.02);
    animation: voiceIconPulseGlow 1s ease-in-out infinite, voiceIconSubtleBounce 2s ease-in-out infinite;
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.4),
                0 0 30px rgba(255, 255, 255, 0.3),
                0 20px 60px rgba(8, 96, 226, .45), 
                0 10px 30px rgba(150, 48, 198, .35) !important;
}

.voice-icon-circle:active {
    transform: translateY(-1px) scale(0.98);
}

@keyframes voiceIconPulseGlow {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3),
                    0 0 20px rgba(255, 255, 255, 0.2),
                    0 14px 45px rgba(8, 96, 226, .35), 
                    0 6px 20px rgba(150, 48, 198, .25);
    }
    50% {
        box-shadow: 0 4px 20px rgba(255, 255, 255, 0.5),
                    0 0 30px rgba(255, 255, 255, 0.4),
                    0 0 40px rgba(255, 255, 255, 0.2),
                    0 18px 55px rgba(8, 96, 226, .45), 
                    0 8px 25px rgba(150, 48, 198, .35);
    }
}

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

@keyframes voiceIconShimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

@keyframes voiceRingPulse {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.8;
        transform: scale(1.05);
    }
}

@keyframes voiceContainerGlow {
    0% {
        transform: scale(0.9);
        opacity: 0.55;
    }
    50% {
        transform: scale(1.05);
        opacity: 0.9;
    }
    100% {
        transform: scale(0.9);
        opacity: 0.55;
    }
}

.voice-icon-circle.active {
    background: linear-gradient(135deg, #e2082a 0%, #c63030 100%) !important;
    box-shadow: 0 25px 60px rgba(194, 24, 91, 0.35), 0 12px 26px rgba(194, 24, 91, 0.25) !important;
}

.voice-icon-circle.loading {
    box-shadow: 0 12px 40px rgba(8, 96, 226, 0.25), 0 4px 18px rgba(0, 0, 0, 0.25);
}

.voice-icon-circle.loading .fa-microphone,
.voice-icon-circle.loading img[src*="microphone"],
.voice-icon-circle.loading img[alt*="Microphone"],
.voice-icon-circle.loading img {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    z-index: -1 !important;
}

.voice-icon-circle.loading .voice-icon-spinner {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
}

.voice-icon-circle:not(.loading) .voice-icon-spinner {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
    
.voice-icon-circle:not(.loading) .fa-microphone,
.voice-icon-circle:not(.loading) img[src*="microphone"],
.voice-icon-circle:not(.loading) img[alt*="Microphone"] {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.voice-icon {
    font-size: 48px;
    color: #ffffff;
    z-index: 1;
    transition: opacity 0.2s ease;
}

.voice-icon-circle.loading .voice-icon {
    opacity: 0;
}

.voice-icon-spinner {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 4px solid rgba(106, 27, 154, 0.3);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: voiceIconSpin 0.9s linear infinite;
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.voice-icon-circle.loading .voice-icon-spinner {
    border-top-color: var(--color-primary) !important;
    border-color: rgba(106, 27, 154, 0.3) !important;
}

.voice-icon-circle.loading .voice-icon-spinner {
    display: block;
}

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

.select-voice-text {
    color: white;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 40px;
}

.voice-profiles {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.voice-profile {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid transparent;
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: hidden;
    position: relative;
}

.voice-profile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.voice-profile.selected {
    border-color: #9c27b0;
    box-shadow: 0 0 20px rgba(156, 39, 176, 0.6);
}

.voice-profile:hover {
    transform: scale(1.1);
}

.voizy-title {
    color: white;
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.voizy-tagline {
    color: white;
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 25px;
}

.ai-calling-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.try-demo-btn {
    background: linear-gradient(135deg, #7b1fa2 0%, #9c27b0 100%);
    color: white;
    border: none;
    padding: 16px 40px;
    border-radius: 30px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.try-demo-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(156, 39, 176, 0.4);
}

.read-docs-link {
    color: white;
    font-size: 18px;
    text-decoration: none;
    padding: 16px 0;
    transition: opacity 0.3s ease;
}

.read-docs-link:hover {
    opacity: 0.7;
}

.calling-sections-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.calling-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.calling-card:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-5px);
}

.calling-card-icon {
    font-size: 48px;
    margin-bottom: 20px;
    color: #ffffff;
}

.calling-card h3 {
    color: white;
    font-size: 28px;
    margin-bottom: 15px;
}

.calling-card p {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 25px;
    line-height: 1.6;
}

.phone-number {
    color: white;
    font-size: 32px;
    font-weight: 700;
    margin: 20px 0;
    font-family: 'Courier New', monospace;
}

.call-btn {
    background: linear-gradient(135deg, #0860e2 0%, #9630c6 100%);
    color: white;
    border: none;
    padding: 14px 35px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.call-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(8, 96, 226, 0.4);
}

.ltd-demo-cta{
    color: #ffffff;
    text-align: center;
    background: linear-gradient(320deg, #222c3d 0%, #0860e2 100%);
    padding: 60px 0;
}

.ltd-section-subtitles{
    color: #ffffff;
    max-width:640px;
    margin:0 auto 18px;
}

.whatsapp-btn {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: white;
    border: none;
    padding: 14px 35px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.whatsapp-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
}

@media (max-width: 768px) {
    .ai-calling-section {
        padding: 60px 20px !important;
        min-height: auto !important;
    }
    
    .ai-calling-container {
        padding: 20px 0;
    }
    
    .voice-selector-wrapper {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 30px !important;
        display: block !important;
    }
    
    .voice-icon-container {
        width: 150px !important;
        height: 150px !important;
        margin: 0 auto 20px !important;
        display: block !important;
    }
    
    .voice-icon-circle {
        width: 150px !important;
        height: 150px !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3),
                    0 0 20px rgba(255, 255, 255, 0.2),
                    0 14px 45px rgba(8, 96, 226, .35), 
                    0 6px 20px rgba(150, 48, 198, .25) !important;
    }
    
    .voice-icon-circle i {
        font-size: 54px !important;
        color: var(--color-primary) !important;
        display: block !important;
        z-index: 3 !important;
    }
    
    .voizy-title {
        font-size: 32px;
        color: #ffffff !important;
        margin-top: 20px !important;
        margin-bottom: 10px !important;
    }
    
    .voizy-tagline {
        color: #ffffff !important;
        font-size: 16px !important;
        opacity: 0.9 !important;
        margin-bottom: 15px !important;
    }
    
    .voice-profiles {
        gap: 12px;
    }
    
    .voice-profile {
        width: 56px;
        height: 56px;
    }
    .ai-calling-actions {
        display: none;
    }
    .calling-sections-wrapper {
        display: none;
    }
    #ai-calling-demo {
        padding-bottom: 110px !important;
    }
}

/*Ads & post*/
 /* Ads & Posts – grid layout with same visual styling */
 #ads-posts .ads-posts-grid{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:20px;
}
#ads-posts .ads-post-card{
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 26px 70px rgba(15,23,42,0.32);
    padding:18px 18px 20px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:10px;
    position:relative;
    transition:transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
}
/* Slight lift on hover for desktop */
#ads-posts .ads-post-card:hover{
    transform:translateY(-6px);
    box-shadow:0 32px 80px rgba(15,23,42,0.4);
}
#ads-posts .ads-post-image{
    width:80px;
    min-height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
}
#ads-posts .ads-post-image img{
    width:80px;
    max-height:80px;
    object-fit:contain;
}
/* Google Ads icon slightly smaller (70x70) */
#ads-posts .ads-post-image img[src*="google-ads"]{
    width:70px;
    max-height:70px;
}
#ads-posts .ads-post-title{
    margin-top: 10px;
    font-size: 30px;
    color: var(--text-primary);
}
#ads-posts .ads-post-subtitle{
    font-size:16px;
    color:var(--text-primary);
    line-height:1.6;
    margin:0;
}
#ads-posts .ads-post-footer{
    margin-top: auto;
    font-size: 13px;
    color: var(--color-secondary);
    font-weight: 900;
}
#ads-posts .ads-post-card::after{
    content:'';
    position:absolute;
    inset:auto -40px -40px auto;
    height:110px;
    background:radial-gradient(circle at top, rgba(56,189,248,0.25), transparent 60%);
    opacity:0.7;
}
.ltd-section-header, 
h2.ltd-section-header, 
.howDifferent .sectionTitle h2,
.sectionTitle h2,
section h2.ltd-section-header,
.solutionsSections .sectionTitle h2,
.whoDoesThisHelp .sectionTitle h2 {
    font-size: var(--40px) !important;
    font-weight: 800 !important;
    font-family: inherit !important;
}

.ltd-section-subtitle, 
p.ltd-section-subtitle, 
.sectionTitle p, 
.subSectionTitle h3,
section p.ltd-section-subtitle,
.solutionsSections .subSectionTitle h3,
.whoDoesThisHelp .sectionTitle p {
    font-size: var(--18px) !important;
    font-weight: 500 !important;
    font-family: inherit !important;
}

/* Responsive overrides at bottom to ensure highest priority */
@media (max-width: 1024px) {
    .ltd-section-header, h2.ltd-section-header, .howDifferent .sectionTitle h2,
    .sectionTitle h2, section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2, .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    .ltd-section-subtitle, p.ltd-section-subtitle, .sectionTitle p, 
    .subSectionTitle h3, section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3, .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 768px) {
    .ltd-section-header, h2.ltd-section-header, .howDifferent .sectionTitle h2,
    .sectionTitle h2, section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2, .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    .ltd-section-subtitle, p.ltd-section-subtitle, .sectionTitle p, 
    .subSectionTitle h3, section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3, .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 480px) {
    .ltd-section-header, h2.ltd-section-header, .howDifferent .sectionTitle h2,
    .sectionTitle h2, section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2, .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    .ltd-section-subtitle, p.ltd-section-subtitle, .sectionTitle p, 
    .subSectionTitle h3, section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3, .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 320px) {
    .ltd-section-header, h2.ltd-section-header, .howDifferent .sectionTitle h2,
    .sectionTitle h2, section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2, .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    .ltd-section-subtitle, p.ltd-section-subtitle, .sectionTitle p, 
    .subSectionTitle h3, section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3, .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

/* New 10% OFF Offer Popup Styles */
.offer-popup-10off {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.offer-popup-10off[aria-hidden="false"] {
    display: flex;
    opacity: 1;
}

/* When hidden, ensure the 10% offer popup does not block clicks */
.offer-popup-10off[aria-hidden="true"] {
    pointer-events: none;
}

.popup-content-10off {
    position: relative;
    width: 560px;
    max-width: 90vw;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
    border-radius: 20px;
    padding: 50px 40px 40px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.close-btn-10off {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.2s ease;
    z-index: 10;
}

.close-btn-10off:hover {
    background: rgba(255, 255, 255, 0.2);
}

.offer-title-10off {
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.5px;
    line-height: 1.3;
}

.offer-subtitle-10off {
    font-size: 15px;
    color: #fff;
    margin: 0 0 20px 0;
    font-weight: 400;
    opacity: 0.95;
    line-height: 1.5;
}

.deals-left-10off {
    font-size: 16px;
    color: #fff;
    margin: 0 0 25px 0;
    font-weight: 600;
    opacity: 0.98;
}

.deals-left-10off .deals-count {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: 4px;
    margin: 0 4px;
}

.countdown-timer-10off {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 30px 0;
}

.timer-box {
    background: #fff;
    border-radius: 8px;
    width: 60px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.timer-digit {
    font-size: 36px;
    font-weight: 700;
    color: var(--color-primary);
    line-height: 1;
}

.timer-colon {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    margin: 0 4px;
}

.cta-button-10off {
    width: 100%;
    background: var(--color-secondary);
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 30px;
    border-radius: 12px;
    cursor: pointer;
    margin-top: 20px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
    animation: pulseGlow 2s ease-in-out infinite, subtleBounce 3s ease-in-out infinite;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3),
                0 0 20px rgba(255, 255, 255, 0.2);
    z-index: 1;
}

.cta-button-10off::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgb(255 255 255 / 11%), transparent);
    animation: shimmer 3s infinite;
    z-index: 0;
}

.cta-button-10off:hover {
    background: rgba(255, 255, 255, 0.4);
    border-color: rgba(255, 255, 255, 0.8);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.4),
                0 0 30px rgba(255, 255, 255, 0.3);
    animation: pulseGlow 1s ease-in-out infinite, subtleBounce 2s ease-in-out infinite;
}

.cta-button-10off:active {
    transform: translateY(-1px) scale(0.98);
}

@keyframes pulseGlow {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3),
                    0 0 20px rgba(255, 255, 255, 0.2);
    }
    50% {
        box-shadow: 0 4px 20px rgba(255, 255, 255, 0.5),
                    0 0 30px rgba(255, 255, 255, 0.4),
                    0 0 40px rgba(255, 255, 255, 0.2);
    }
}

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

@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}


@media (max-width: 600px) {
    .popup-content-10off {
        width: 90vw;
        padding: 40px 25px 30px;
    }

    .offer-title-10off {
        font-size: 24px;
    }

    .offer-subtitle-10off {
        font-size: 14px;
    }

    .deals-left-10off {
        font-size: 14px;
    }

    .deals-left-10off .deals-count {
        font-size: 18px;
    }

    .timer-box {
        width: 50px;
        height: 60px;
    }

    .timer-digit {
        font-size: 28px;
    }

    .timer-colon {
        font-size: 28px;
    }

    .cta-button-10off {
        font-size: 16px;
        padding: 14px 25px;
    }
}
/* --- Global Styles & Resets --- */
:root {
    --primary-color: #6a1b9a;
    /* A spiritual purple */
    --color-primary: #6a1b9a;
    /* Primary color alias */
    --secondary-color: #f3e5f5;
    /* Light purple */
    --accent-color: #ffc107;
    /* Gold accent */
    --text-dark: #333;
    --text-light: #fefefe;
    --bg-light: #ffffff;
    --bg-grey: #f9f9f9;
    /* CSS variables for howDifferent component */
    --dark-background-blue: #0e2261;
    --color-white: #ffffff;
    
    /* Uniform Font Sizes - Desktop (default) */
    --30px: 30px;
    --16px: 16px;
    --40px: 40px;
    --18px: 18px;
}

/* Responsive Font Sizes - Tablet */
@media (max-width: 1024px) {
    :root {
        --30px: 28px;
        --16px: 15px;
        --40px: 36px;
        --18px: 17px;
    }
}

/* Responsive Font Sizes - Mobile Large */
@media (max-width: 768px) {
    :root {
        --30px: 26px;
        --16px: 14px;
        --40px: 32px;
        --18px: 16px;
    }
}

/* Responsive Font Sizes - Mobile Medium */
@media (max-width: 480px) {
    :root {
        --30px: 24px;
        --16px: 14px;
        --40px: 28px;
        --18px: 15px;
    }
}

/* Responsive Font Sizes - Mobile Small */
@media (max-width: 320px) {
    :root {
        --30px: 22px;
        --16px: 13px;
        --40px: 24px;
        --18px: 14px;
    }
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background-color: var(--bg-light);
}

/* --- Utility Classes --- */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

section {
    padding: 80px 0;
}

h1,
h2,
h3 {
    line-height: 1.2;
    margin-bottom: 20px;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.5rem;
    text-align: center;
}

h3 {
    font-size: 1.5rem;
}

p {
    margin-bottom: 15px;
}

.btn {
    display: inline-block;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.btn-primary {
    color: var(--text-light);
}

.btn-primary:hover {
    background-color: #4a148c;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 30px;
}

/* --- Header / Navigation --- */
/* Override Bootstrap and common-min.css navbar styles */
header.navbar,
header.navbar.navbar,
.navbar {
    background: var(--bg-light) !important;
    background-color: var(--bg-light) !important;
    padding: 10px 100px !important;
    border-bottom: 1px solid #eee !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    width: 100% !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.whoDoesThisHelp{
    background-color: #f7f7f7;
}

header.navbar .container,
.navbar .container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

header.navbar .brand,
.navbar .brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    padding-left: 20px !important;
    margin: 0 !important;
}

header.navbar .brand .navbar-brand,
.navbar .brand .navbar-brand {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
}

header.navbar .brand-logo,
.navbar .brand-logo {
    height: 40px !important;
    width: auto !important;
    display: block !important;
}

header.navbar .brand span,
.navbar .brand span {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-left: 6px !important;
    font-size: x-large !important;
    letter-spacing: 0.02em !important;
}

header.navbar .nav-links,
.navbar .nav-links {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding-right: 20px !important;
    list-style: none !important;
}

header.navbar .nav-links a,
.navbar .nav-links a {
    color: var(--text-dark) !important;
    text-decoration: none !important;
    margin-left: 20px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    padding: 0 !important;
    display: inline-block !important;
}

header.navbar .nav-links .highlight,
.navbar .nav-links .highlight { 
    background: var(--primary-color) !important; 
    color: #fff !important; 
    border: 1px solid var(--primary-color) !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    margin-left: 20px !important;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    font-weight: 700 !important;
    transform-origin: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    /* gentle float + periodic shake like Pabbly */
    animation: 
        navGetDealFloat 2.2s ease-in-out infinite,
        navGetDealShake 5s ease-in-out infinite;
}
/* Subtle shine sweep like Pabbly "View offer" */
header.navbar .nav-links .highlight::before,
.navbar .nav-links .highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: -130%;
    width: 80%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.5), transparent);
    opacity: 0.9;
    transform: skewX(-18deg);
    pointer-events: none;
    animation: navGetDealShimmer 3s infinite;
}
header.navbar .nav-links .highlight:hover,
.navbar .nav-links .highlight:hover {
    transform: translateY(-2px) rotate(-1.2deg) scale(1.03);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

/* Hide Bootstrap navbar elements we don't need */
header.navbar .navbar-collapse,
.navbar .navbar-collapse {
    display: none !important;
}

header.navbar .navbar-toggler,
.navbar .navbar-toggler {
    display: none !important;
}

/* Override Bootstrap navbar classes */
header.navbar.navbar-expand-lg,
.navbar.navbar-expand-lg {
    padding: 10px 100px !important;
}

/* Mobile Menu Toggle Button */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    position: relative;
}

.mobile-menu-toggle span {
    width: 100%;
    height: 3px;
    background-color: var(--text-dark);
    border-radius: 3px;
    transition: all 0.3s ease;
    transform-origin: center;
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}
@keyframes navGetDealFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
    50% {
        transform: translateY(-1.5px) rotate(-0.8deg) scale(1.02);
    }
}
/* Quick shake burst in each cycle (only between 40–60%) */
@keyframes navGetDealShake {
    0%, 39% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
    40% {
        transform: translateY(0) rotate(-2deg) scale(1.01);
    }
    45% {
        transform: translateY(0) rotate(2deg) scale(1.01);
    }
    50% {
        transform: translateY(0) rotate(-2.2deg) scale(1.02);
    }
    55% {
        transform: translateY(0) rotate(2.2deg) scale(1.02);
    }
    60% {
        transform: translateY(0) rotate(0deg) scale(1.01);
    }
    61%, 100% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
}
@keyframes navGetDealShimmer {
    0% {
        left: -130%;
    }
    55% {
        left: 140%;
    }
    100% {
        left: 140%;
    }
}

/* --- 1. Hero Section --- */
.hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 60px 20px;
    position: relative;
    overflow: hidden;

    /* Wave image on top, gradient underneath */
    /* background-image: url(../../assets/img/wavedesignBg.png),linear-gradient(135deg,#c71f37 0%, #c9184a 100% ); */


    background-image: url('/assets/img/wavedesignBg.png'), linear-gradient(135deg, rgba(106,27,154,0.95) 0%, rgba(41,121,255,0.85) 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: bottom center, center;
    background-size: 100% auto, cover;

    /* fallback text color */
    color: #fff;
}
/* Decorative Christmas bells & star in hero corners */
.hero-ornament{
    position: absolute;
    z-index: 2;
    pointer-events: none;
    user-select: none;
}
/* LEFT cluster (first 3 ornaments) */
.hero-ornament-left-long{
    top: -10px;
    left: -10px;
    width: 150px;
    animation: ornamentSwing 5s ease-in-out infinite;
    transform-origin: top center;
}
.hero-ornament-left-star{
    top: 0px;
    left: 60px;
    width: 70px;
    animation: ornamentFloat 6s ease-in-out infinite;
}
.hero-ornament-right-bell{
    top: -5px;
    left: 105px;
    width: 95px;
    animation: ornamentSwing 4.5s ease-in-out infinite;
    transform-origin: top center;
}
/* RIGHT cluster (second 3 ornaments, 4535–4538) */
.hero-ornament-left-long-2{
    top: -10px;
    right: -10px;
    left: auto;
    width: 150px;
    animation: ornamentSwing 5s ease-in-out infinite;
    transform-origin: top center;
}
.hero-ornament-left-star-2{
    top: 0px;
    right: 65px;
    left: auto;
    width: 70px;
    animation: ornamentFloat 6s ease-in-out infinite;
}
.hero-ornament-right-bell-2{
    top: -5px;
    right: 110px;
    left: auto;
    width: 95px;
    animation: ornamentSwing 4.5s ease-in-out infinite;
    transform-origin: top center;
}
@keyframes ornamentSwing{
    0%,100%{ transform: rotate(0deg); }
    25%{ transform: rotate(4deg); }
    50%{ transform: rotate(-4deg); }
    75%{ transform: rotate(2deg); }
}
@keyframes ornamentFloat{
    0%,100%{ transform: translateY(0); opacity: 1; }
    50%{ transform: translateY(-6px); opacity: 0.95; }
}
@media (max-width: 768px){
    .hero-ornament-left-long{
        width: 75px;
        top: 45px;
        left: -11px;
    }
    .hero-ornament-left-star{
        width: 50px;
        top: 40px;
        left: 15px;
    }
    .hero-ornament-right-bell{
        width: 70px;
        top: -15px;
        right: -15px;
    }
    .hero-ornament-left-long-2{
        width: 75px;
        top: 45px;
        right: -15px;
        left: auto;
    }
    .hero-ornament-left-star-2{
        width: 50px;
        top: 40px;
        right: 15px;
        left: auto;
    }
    .hero-ornament-right-bell-2{
        width: 70px;
        top: -15px;
        right: -30px;
        left: auto;
    }
}

/* Desktop hero grid layout */
@media (min-width: 769px) {
    .hero {
        padding: 60px 40px;
    }
    
    .hero .container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        align-items: start;
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
    }
    
    .hero-content-left {
        display: flex;
        flex-direction: column;
        gap: 0px;
        text-align: left;
        justify-content: flex-start;
    }
    
    .hero-image-right {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0px;
        justify-content: flex-start;
    }
    
    .hero-image-wrapper {
        width: 100%;
        max-width: 100%;
        position: relative;
        display: flex;
        justify-content: center;
    }
    
    .hero-image-wrapper img {
        width: 100%;
        max-width: 500px;
        height: auto;
        display: block;
    }
    
    .hero-offer-box-desktop {
        position: absolute;
        top: 60%;
        left: -10%;
        transform: translate(10%, 20%);
        border-radius: 16px;
        padding: 14px 20px;
        text-align: left;
        z-index: 3;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
        max-width: 240px;
        border: 5px solid transparent;
        background:
            linear-gradient(135deg, #fef9c3 0%, #fef3c7 40%, #fee2e2 100%) padding-box,
            linear-gradient(120deg,
                rgba(251, 191, 36, 0.0) 0%,
                rgba(251, 191, 36, 0.0) 15%,
                rgba(251, 191, 36, 0.9) 35%,
                rgba(249, 115, 22, 0.9) 50%,
                rgba(251, 191, 36, 0.9) 65%,
                rgba(251, 191, 36, 0.0) 85%,
                rgba(251, 191, 36, 0.0) 100%) border-box;
        background-origin: border-box;
        background-clip: padding-box, border-box;
        background-size: 100% 100%, 250% 250%;
        overflow: hidden;
        animation: mobileHeroOfferBorderSweep 5s linear infinite;
    }
    
    /* Hide desktop offer box on mobile - mobile has its own */
    @media (max-width: 768px) {
        .hero-offer-box-desktop {
            display: none !important;
        }
    }
    
    .hero-cta-buttons {
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100%;
        max-width: 500px;
        align-items: center;
    }
    
    .hero-features-list {
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 20px;
    }
    
    .hero-feature-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        color: #ffffff;
        font-size: 16px;
    }
    
    .hero-feature-checkmark {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #ffffff;
        color: var(--color-primary);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: bold;
        flex-shrink: 0;
        margin-top: 2px;
    }
}

/* Tablet hero - adjust grid */
@media (min-width: 481px) and (max-width: 768px) {
    .hero {
        padding: 60px 30px;
    }
    
    .hero .container {
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px;
        max-width: 600px;
    }
    
    .hero-content-left {
        text-align: center;
    }
    
    .hero-image-right {
        align-items: center;
    }
    
    .hero-image-wrapper {
        max-width: 450px;
        margin: 0 auto;
    }
    
    .hero-cta-buttons {
        max-width: 450px;
        margin: 0 auto;
    }
}

/* Mobile hero - stack vertically */
@media (max-width: 480px) {
    .hero {
        padding: 40px 20px;
    }
    
    .hero .container {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 100%;
    }
    
    .hero-content-left {
        text-align: center;
    }
    
    .hero-image-right {
        align-items: center;
    }
    
    .hero-features-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-top: 20px;
    }
    
    .hero-feature-item {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        color: #ffffff;
        font-size: 14px;
        text-align: left;
    }
    
    .hero-feature-checkmark {
        color: var(--accent-color);
        font-weight: 900;
        font-size: 16px;
        flex-shrink: 0;
    }
    
    .hero-image-wrapper {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
    
    .hero-image-wrapper img {
        width: 100%;
        height: auto;
        border-radius: 20px;
    }
    
    .hero-cta-buttons {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
}

/* Fix blue line at bottom - ensure wave covers edge completely */
.hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background: url('/assets/img/wavedesignBg.png') bottom center / 100% auto no-repeat;
    z-index: 0;
    pointer-events: none;
}

.hero .container {
    position: relative;
    z-index: 10;
}

/* Gradient text for headline, centered */
.hero h1 {
    font-weight: 800;
    line-height: 1.05;
    margin-bottom: 12px;
    font-size: clamp(1.75rem, 4vw, 3rem);
    -webkit-background-clip: text;
    background-clip: text;
    color: white;
    position: relative;
    z-index: 10;
}
.hero-subheadline{
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 900;
    margin-top: 6px;
    position: relative;
    z-index: 10;
}
.hero-subheadline2{
    color: #000000 !important;
    width: fit-content;
    font-size: clamp(1.2rem, 2.5vw, 1.8rem);
    font-weight: 900;
    margin-top: 15px;
    margin-bottom: 10px;
    position: relative;
    z-index: 10;
    display: inline-block;
    padding: 12px 24px;
    border-radius: 50px;
    background: linear-gradient(135deg, #ffc107 0%, #4caf50 50%);
    background-size: 300% 300%;
    animation: christmasGradient 3s ease infinite, christmasPulse 2s ease-in-out infinite, christmasShine 2.5s ease-in-out infinite;
    box-shadow: 0 4px 20px rgba(255, 193, 7, 0.5), 0 0 30px rgba(255, 23, 68, 0.4);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    transform-origin: center;
}
@keyframes christmasGradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
@keyframes christmasPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 20px rgba(255, 193, 7, 0.5), 0 0 30px rgba(255, 23, 68, 0.4);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 6px 30px rgba(255, 193, 7, 0.7), 0 0 40px rgba(255, 23, 68, 0.6);
    }
}
@keyframes christmasShine {
    0%, 100% {
        filter: brightness(1);
    }
    50% {
        filter: brightness(1.3);
    }
}
.hero-subheadline2::before {
    content: '🎄';
    margin-right: 12px;
    font-size: 2em;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
.hero-subheadline2::after {
    content: '🎉';
    margin-left: 12px;
    font-size: 2em;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
@media (max-width: 768px) {
    .hero-subheadline2 {
        font-size: clamp(1rem, 4vw, 1.4rem);
        padding: 10px 20px;
        margin-top: 12px;
        margin-bottom: 8px;
    }
    .hero-subheadline2::before,
    .hero-subheadline2::after {
        font-size: 1.8em;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}
.hero-limited-highlight{
    display: inline-block;
    margin-left: 0.45em;
    padding: 4px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffc107 0%, #ff9800 100%);
    color: #1b114a;
    font-weight: 700;
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.75);
    animation: heroLimitedPulse 1.6s ease-in-out infinite;
    white-space: nowrap;
}
@keyframes heroLimitedPulse{
    0%{
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.75);
    }
    60%{
        transform: scale(1.06);
        box-shadow: 0 0 0 14px rgba(255, 193, 7, 0);
    }
    100%{
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
    }
}
.hero p {
    color: #ffffff;
    margin-bottom: 20px;
    font-size: clamp(1rem, 2.2vw, 1.25rem);
    position: relative;
    z-index: 10;
}
.hero .btn {
    margin-top: 8px;
}
.pricing-nav-btn{
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center;
    position: relative;
    z-index: 10;
    margin: 20px auto 40px auto;
    width: 100%;
    text-align: center;
    flex-wrap: wrap;
}
.featureRowGrid, .priceCompHeader{grid-template-columns: 2fr repeat(4, 1fr) !important;}

.ltd-title{font-size:40px;text-align:center;margin:0;color:#fff;font-weight:800;position: relative;z-index: 1;}
.ltd-subtitle{font-size:16px;text-align:center;color:#fff;margin:10px 0 22px;position: relative;z-index: 1;}

/* --- 2. Features Section --- */
.feature-section {position: relative;padding: 40px 0;overflow: hidden;margin-top:40px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);}
.feature-section::before {content:'';position: absolute;inset: 0;background: linear-gradient(135deg, rgba(106, 27, 154, 1) 0%, rgba(41, 121, 255, 1) 100%);z-index: 0;}
.feature-wrap{position: relative;z-index: 1;max-width:1500px;margin:0 auto;padding:0 18px}
.feature-block{border-radius:12px;padding:10px;margin:20px 0}
.feature-inner { display: flex;gap: 0px;align-items: center;background: white;border-radius: 15px;padding: 0 50px; box-shadow: 0 10px 30px rgba(255, 255, 255, 0.4);}
.feature-content h3{margin:0 0 10px;font-size:36px;}
.feature-content .muted{margin:0;font-size:18px;margin-top:10px;}
.feature-media img{width:100%;height:auto;border-radius:10px;display:block}
.feature-content{flex:1;padding:6px 2px}
.feature-block.img-right .feature-inner{flex-direction:row-reverse}

@media (max-width:900px){
    .feature-inner{
        flex-direction:column;
        gap: 0px !important;
        padding: 20px 20px !important;
    }
    .feature-media{
        width:100%;
        max-width:100%;
        margin-bottom: 0;
    }
    .feature-content{
        padding: 0 !important;
        margin-top: 0;
    }
    .feature-block{padding:18px}
}

@media (max-width:480px){
    .feature-inner{
        gap: 15px !important;
        padding: 15px 15px !important;
    }
    .feature-content{
        margin-top: 0;
    }
}

/* --- 3. Deal Offer Section --- */
#pricing {
    text-align: center;
}

.pricing-card {
    position: relative; /* enable badge positioning */
    margin: 0;
    background: var(--bg-light);
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform .18s ease, box-shadow .18s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    color: #333333;
}
.pricing-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(6,10,30,0.12); }

.pricing-cards-wrapper{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1400px;
    margin: 40px auto 0;
    padding: 0 20px;
    align-items: stretch;
}

.pricing-card .price {
    font-size: 3.5rem;
    font-weight: bold;
    color: var(--primary-color);
}

.pricing-card .original-price {
    font-size: 1.5rem;
    text-decoration: line-through;
    color: #666666;
    margin-left: 10px;
}

.pricing-card .savings {
    display: block;
    background: var(--accent-color);
    color: #1a1a1a;
    font-weight: bold;
    padding: 5px 10px;
    border-radius: 5px;
    margin: 15px auto;
    width: fit-content;
}

.pricing-card .btn {
    width: 100%;
    font-size: 1.25rem;
    margin-top: auto;
    padding: 14px 20px;
}

/* Ensure pricing card content is properly spaced */
.pricing-card ul {
    flex-grow: 1;
}
.lifted-card{
    position: relative;
    top: -30px;
}

.urgency-box {
    margin-top: 30px;
}

.urgency-box p {
    font-size: 1.1rem;
    font-weight: 500;
}

.urgency-box .timer {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--primary-color);
}

.guarantee {
    margin-top: 20px;
    font-style: italic;
    color: #555;
}

/* --- Plans grid (updated card UI) --- */
.plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 22px;
    align-items: stretch;
}

.plan-card-new {
    border-radius: 12px;
    background: #fff;
    padding: 28px 22px;
    box-shadow: 0 12px 30px rgba(6,10,30,0.08);
    display: flex;
    flex-direction: column;
    min-height: 360px;
    transition: transform .18s ease, box-shadow .18s ease;
    position: relative; /* enable absolute-positioned chip */
}
.plan-card-new:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(6,10,30,0.12); }

.plan-card-new .plan-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 8px }
.plan-card-new .plan-title { font-weight:700; color:var(--primary-color); }
.plan-card-new .price { font-size:48px; font-weight:800; color: #111; margin: 10px 0; }

.plan-card-new ul { list-style:none; padding-left:0; margin: 12px 0; flex:1 }
.plan-card-new ul li { padding:8px 0; color:#334; font-size:0.95rem; position:relative; padding-left:26px; font-size:larger; font-weight:500; }
.plan-card-new ul li::before { content: '\2713'; position:absolute; left:0; top:50%; transform:translateY(-50%); color: #16a34a; font-weight:700 }

.plan-card-new .plan-cta { margin-top:18px; text-align:center; }
.plan-card-new .btn { width:100%; padding:12px 14px; border-radius:8px }

/* Highlighted plan (dark gradient) */
.plan-card-new.highlight {
    color: #fff;
    background: linear-gradient(135deg, rgba(106,27,154,0.95) 0%, rgba(41,121,255,0.85) 100%);
    box-shadow: 0 20px 60px rgba(10,20,60,0.28);
}
.plan-card-new.highlight .plan-title { color: #fff }
.plan-card-new.highlight .price { color: #fff }
.plan-card-new.highlight ul li { color: #ffffff}
.plan-card-new.highlight ul li::before { color: #ffffff}
.plan-card-new.highlight .btn.btn-primary { background: #fff; color: var(--primary-color); }

/* Urgency chip for highlighted plans */
.plan-card-new .urgency-box.urgency-chip{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 15px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1;
    box-shadow: 0 6px 18px rgba(6,10,30,0.08);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

/* Default (non-highlight) chip style */
.plan-card-new .urgency-box.urgency-chip{ background: #fff; color: #d64545; border: 1px solid rgba(214,69,69,0.12); }

/* When plan is highlighted (dark background), invert for visibility and float top-right) */
.plan-card-new.highlight .urgency-box.urgency-chip{
    position: absolute;
    top: 0;
    right: 16px;
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.18);
    backdrop-filter: blur(6px) saturate(140%);
    box-shadow: 0 10px 30px rgba(2,6,23,0.28);
}

.plan-card-new .urgency-box.urgency-chip strong{ font-weight:900; margin-left:4px }

/* Pricing card "Most popular" badge */
.pricing-card .badge.most-popular {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -14px;
    background: linear-gradient(90deg,#ffd166,#ff6b6b);
    color: #111;
    padding: 8px 14px;
    border-radius: 22px;
    font-weight: 800;
    font-size: 0.95rem;
    box-shadow: 0 8px 22px rgba(20,20,40,0.12);
}

        
/* Solve Problems section */
.bentoContainer { margin-top: 40px;}
.gridBox p,.gridBox h4{ color: white !important;}

/* How Different component styles */
.howDifferent .hContainer {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Override global h2 styles for howDifferent component */
.howDifferent .sectionTitle h2 {
    color: var(--color-white) !important;
    font-size: 2.5rem !important;
    text-align: center !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
    position: relative;
    z-index: 2;
}

.howDifferent .sectionTitle {
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
}

.howDifferent .sectionTitle::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 4px;
    background: linear-gradient(60deg, rgb(14 34 97) 0%, rgb(218 154 231) 50%, rgb(14 34 97) 100%);
    border-radius: 2px;
}

.sectionTitle p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.howDifferent .sectionTitle::after {
        background: none !important;
}

/* --- 5. How It Works Section --- */
#how-it-works {
    background-color: #f7f7f7;
}

.steps-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 40px;
    text-align: center;
}

.step {
    padding: 20px;
}

.step .step-number {
    font-size: 3rem;
    font-weight: bold;
    color: var(--color-secondary);
    line-height: 1;
}

.step h3 {
    color: var(--primary-color);
}

/* --- 6. Testimonials Section --- */
.testimonial-card {
    background: var(--bg-grey);
    padding: 30px;
    border-left: 5px solid var(--primary-color);
    border-radius: 5px;
}

.testimonial-card blockquote {
    font-size: 1.15rem;
    font-style: italic;
    margin-bottom: 15px;
}

.testimonial-card cite {
    font-weight: bold;
    color: var(--primary-color);
}


/* --- 8. About Section --- */
#about {
    background-color: #f7f7f7;
}

.about-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.about-content .trust-signals {
    margin-top: 30px;
    font-weight: 500;
    color: #555;
}

/* --- 10. Footer Section --- */
.footer {
    background-color: var(--text-dark);
    color: var(--text-light);
    padding: 60px 0;
    text-align: center;
}

.footer .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-links {
    margin-bottom: 20px;
}

.footer-links a {
    color: var(--text-light);
    text-decoration: none;
    margin: 0 15px;
}

.footer-links a:hover {
    text-decoration: underline;
}

.social-links {
    margin-bottom: 20px;
}

.social-links a {
    color: var(--text-light);
    text-decoration: none;
    font-size: 1.5rem;
    margin: 0 10px;
}
/* --- Audio player (Anika sample) --- */
.audio-player {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    padding: 10px 12px;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    max-width: 540px;
    margin: 0 auto;
}

.audio-player .play-btn {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    border: none;
    background: linear-gradient(180deg, var(--primary-color), #4a148c);
    color: #fff;
    display: inline-grid;
    place-items: center;
    cursor: pointer;
}
.audio-player .play-btn svg.icon-pause { display: none }
.audio-player.playing .play-btn svg.icon-play { display: none }
.audio-player.playing .play-btn svg.icon-pause { display: inline }

.audio-player .meta { flex: 1; min-width: 0 }
.audio-player .meta .label { font-weight: 700; color: var(--primary-color); }
.audio-player .meta .sub { font-size: 0.85rem; color: #666 }

.audio-player .waveform { display:flex; gap:4px; align-items: flex-end }
.audio-player .bar { width:4px; background: #ddd; border-radius:2px; transition: background-color .25s ease, transform .25s ease; transform-origin: bottom center; }
.audio-player.playing .bar { background: linear-gradient(180deg, var(--accent-color), var(--primary-color)); animation: bar-bounce 800ms infinite ease-in-out; }
.audio-player .bar:nth-child(1){ animation-delay: 0ms }
.audio-player .bar:nth-child(2){ animation-delay: 70ms }
.audio-player .bar:nth-child(3){ animation-delay: 140ms }
.audio-player .bar:nth-child(4){ animation-delay: 210ms }
.audio-player .bar:nth-child(5){ animation-delay: 280ms }
.audio-player .bar:nth-child(6){ animation-delay: 350ms }
.audio-player .bar:nth-child(7){ animation-delay: 420ms }
.audio-player .bar:nth-child(8){ animation-delay: 490ms }
.audio-player .bar:nth-child(9){ animation-delay: 560ms }
.audio-player .bar:nth-child(10){ animation-delay: 630ms }

@keyframes bar-bounce {
    0% { transform: scaleY(0.5); }
    50% { transform: scaleY(1.2); }
    100% { transform: scaleY(0.6); }
}
.audio-player .duration { font-size: .9rem; color: #444; min-width:88px; text-align:right }

/* --- Offer popup styles --- */
/* Backdrop overlay */
.offer-popup-std2::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1999;
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.offer-popup-std2[aria-hidden="false"]::before {
    opacity: 1;
    pointer-events: all;
}

.offer-popup-std2 {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    width: min(900px, 94vw);
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 25px 100px rgba(10, 10, 30, 0.4),
                0 0 0 1px rgba(255, 255, 255, 0.1) inset,
                0 0 60px rgba(124, 58, 237, 0.15);
    z-index: 2000;
    display: none;
    overflow: hidden;
    padding: 0;
    max-height: 90vh;
    border: 1px solid rgba(226, 232, 240, 0.8);
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.offer-popup-std2[aria-hidden="false"] {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.offer-popup-std2 .content {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    background: #fff;
    position: relative;
}

.offer-popup-std2 .offer-media {
    flex: 1 1 42%;
    min-width: 260px;
    min-height: 280px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #4facfe 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
}

/* Uniform Typography - Headings (h6, h3, h4) */
h6, .whoCard h3, .solTitle h3, .iconAndTitleBox h4, .cName h6, .tabs span,
.pricing-card h6, .feature-content h6, .wcud-content h6, .step h6,
.who-card h6, .card-title , .wcud-card-legacy .wcud-content h3, .wcyd-acc-title{
    font-size: var(--30px) !important;
    font-weight: 500 !important;
    font-family: inherit !important;
}

/* Uniform Typography - Paragraphs and Text Content */
#what-you-can-do p, #whos-it-for p, #how-we-different p, #how-different p, 
#faq p, #client-reviews p, #contact-us p, .feature-content p, 
.pricing-card ul li, .solDescription p, .gridBox p, .step p, 
.ltd-section-subtitle, .card-description, .wcud-content p,
.feature-content .muted, .who-card p, .pricing-card p {
    font-size: var(--16px) !important;
    font-weight: 400 !important;
    font-family: inherit !important;
}

/* Uniform Typography - Section Headers (All Resolutions) */
.ltd-section-header, 
h2.ltd-section-header, 
.howDifferent .sectionTitle h2,
.sectionTitle h2,
section h2.ltd-section-header,
.solutionsSections .sectionTitle h2,
.whoDoesThisHelp .sectionTitle h2 {
    font-size: var(--40px) !important;
    font-weight: 800 !important;
    font-family: inherit !important;
}

/* Uniform Typography - Section Subtitles (All Resolutions) */
.ltd-section-subtitle, 
p.ltd-section-subtitle, 
.sectionTitle p, 
.subSectionTitle h3,
section p.ltd-section-subtitle,
.solutionsSections .subSectionTitle h3,
.whoDoesThisHelp .sectionTitle p {
    font-size: var(--18px) !important;
    font-weight: 500 !important;
    font-family: inherit !important;
}

/* Platform Features (Mobile / Desktop / Extension) */
#platform-features.platform-features {
    background: linear-gradient(135deg, #222c3d 0%, #0860e2 100%);
    padding: 80px 0;
}

.platform-features__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.platform-features__header {
    text-align: center;
    margin-bottom: 50px;
}

.platform-features__title {
    color: #ffffff;
}

.platform-features__subtitle {
    max-width: 760px;
    margin: 10px auto 0;
    color: #ffffff;
}

.platform-features-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 800px;
    margin: 0 auto;
}

.platform-feature-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    transition: all 0.3s ease;
}

.platform-feature-item:hover {
    background: #d5dbe4;
    border-color: #d5dbe4;
    transform: translateY(-2px);
}

.platform-feature-title:hover {
    color: #ffffff !important;
}

.platform-feature-description:hover {
    color: #ffffff !important;
}

.platform-feature-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(56, 189, 248, 0.15);
    border-radius: 12px;
    color: var(--color-secondary);
}

.platform-feature-icon svg {
    width: 32px;
    height: 32px;
}

.platform-feature-content {
    flex: 1;
}

.platform-feature-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 6px 0;
}

.platform-feature-description {
    font-size: 16px;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

.platform-feature-icons-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.platform-os-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.platform-os-icon:hover {
    transform: scale(1.1);
}

@media (max-width: 768px) {
    #platform-features {
        padding: 60px 0 !important;
    }
    
    .platform-features-list {
        gap: 20px;
    }

    .platform-feature-item {
        padding: 20px;
        gap: 16px;
    }

    .platform-feature-icon {
        width: 48px;
        height: 48px;
    }

    .platform-feature-icon svg {
        width: 28px;
        height: 28px;
    }

    .platform-feature-title {
        font-size: 18px;
    }

    .platform-feature-description {
        font-size: 15px;
    }

    .platform-feature-icons-right {
        gap: 8px;
    }

    .platform-os-icon {
        width: 32px;
        height: 32px;
    }
}

/* Responsive Overrides - Ensure uniform typography at all breakpoints */
@media (max-width: 1024px) {
    .ltd-section-header, 
    h2.ltd-section-header, 
    .howDifferent .sectionTitle h2,
    .sectionTitle h2,
    section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2,
    .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    
    .ltd-section-subtitle, 
    p.ltd-section-subtitle, 
    .sectionTitle p, 
    .subSectionTitle h3,
    section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3,
    .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 768px) {
    .ltd-section-header, 
    h2.ltd-section-header, 
    .howDifferent .sectionTitle h2,
    .sectionTitle h2,
    section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2,
    .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    
    .ltd-section-subtitle, 
    p.ltd-section-subtitle, 
    .sectionTitle p, 
    .subSectionTitle h3,
    section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3,
    .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 480px) {
    .ltd-section-header, 
    h2.ltd-section-header, 
    .howDifferent .sectionTitle h2,
    .sectionTitle h2,
    section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2,
    .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    
    .ltd-section-subtitle, 
    p.ltd-section-subtitle, 
    .sectionTitle p, 
    .subSectionTitle h3,
    section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3,
    .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

@media (max-width: 320px) {
    .ltd-section-header, 
    h2.ltd-section-header, 
    .howDifferent .sectionTitle h2,
    .sectionTitle h2,
    section h2.ltd-section-header,
    .solutionsSections .sectionTitle h2,
    .whoDoesThisHelp .sectionTitle h2 {
        font-size: var(--40px) !important;
        font-weight: 800 !important;
        font-family: inherit !important;
    }
    
    .ltd-section-subtitle, 
    p.ltd-section-subtitle, 
    .sectionTitle p, 
    .subSectionTitle h3,
    section p.ltd-section-subtitle,
    .solutionsSections .subSectionTitle h3,
    .whoDoesThisHelp .sectionTitle p {
        font-size: var(--18px) !important;
        font-weight: 500 !important;
        font-family: inherit !important;
    }
}

/* Override any inline font-size styles in sections */
section h1, section h2, section h3, section h4, section h5, section h6,
section p, section li, section span {
    font-family: inherit !important;
}

/* Override specific font-size declarations to maintain uniformity */
.ltd-title {
    font-size: var(--40px) !important;
    font-weight: 800 !important;
    font-family: inherit !important;
}

.ltd-subtitle {
    font-size: var(--18px) !important;
    font-weight: 500 !important;
    font-family: inherit !important;
}

.feature-content h3,
.feature-content h6 {
    font-size: var(--30px) !important;
    font-weight: 500 !important;
    font-family: inherit !important;
}

.feature-content .muted {
    font-size: var(--16px) !important;
    font-weight: 400 !important;
    font-family: inherit !important;
}

/* Ensure all pricing card text uses uniform sizes */
.pricing-card .price {
    font-size: 3.5rem !important;
    font-weight: 800 !important;
    font-family: inherit !important;
}

.pricing-card .original-price {
    font-size: 1.5rem !important;
    font-family: inherit !important;
    color: #666666 !important;
}

.pricing-card .btn {
    font-size: var(--18px) !important;
    font-weight: 600 !important;
    font-family: inherit !important;
}

/* Override any other section-specific font sizes */
.plan-card-new .price {
    font-size: 48px !important;
    font-weight: 800 !important;
    font-family: inherit !important;
}

.plan-card-new ul li {
    font-size: var(--16px) !important;
    font-weight: 400 !important;
    font-family: inherit !important;
}

/* Responsive overrides for uniform typography */
@media (max-width: 1024px) {
    .pricing-card .price {
        font-size: 3rem !important;
    }
    .plan-card-new .price {
        font-size: 42px !important;
    }
}

@media (max-width: 768px) {
    .pricing-card .price {
        font-size: 2.5rem !important;
    }
    .plan-card-new .price {
        font-size: 36px !important;
    }
}

@media (max-width: 480px) {
    .pricing-card .price {
        font-size: 2rem !important;
    }
    .plan-card-new .price {
        font-size: 32px !important;
    }
}

@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.offer-popup-std2 .offer-media::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 50%, rgba(0,0,0,0.1) 100%);
    pointer-events: none;
}

.offer-popup-std2 .offer-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0.85;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.offer-popup-std2:hover .offer-media img {
    transform: scale(1.05);
    opacity: 0.9;
}

.offer-popup-std2 .offer-media .burst {
    position: absolute;
    top: 20px;
    left: 20px;
    background: linear-gradient(135deg, #fff 0%, #f8fafc 100%);
    color: #7c3aed;
    padding: 12px 20px;
    border-radius: 999px;
    box-shadow: 0 10px 40px rgba(124, 58, 237, 0.3),
                0 0 0 1px rgba(255, 255, 255, 0.5) inset;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: 0.1em;
    font-size: 0.9rem;
    z-index: 10;
    animation: pulse 2s ease-in-out infinite;
    transform-origin: center;
}

.btn-buy-now {
    width: 120px;
    height: 40px;
    border-radius: 5px;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 40px rgba(124, 58, 237, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.5) inset; }
    50% { transform: scale(1.05); box-shadow: 0 15px 50px rgba(124, 58, 237, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.6) inset; }
}

.offer-popup-std2 .offer-media .offer-tagline {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px 24px;
    background: linear-gradient(135deg, 
        rgba(126, 87, 194, 0.98) 0%, 
        rgba(103, 58, 183, 0.95) 50%, 
        rgba(244, 143, 177, 0.95) 100%);
    backdrop-filter: blur(10px) saturate(180%);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.offer-popup-std2 .offer-media .offer-tagline .tag-dot {
    background: linear-gradient(135deg, #fff 0%, #f1f5f9 100%);
    color: #7c3aed;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 0.85rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
}

.offer-popup-std2 .offer-media .offer-tagline span {
    font-size: 0.95rem;
    font-weight: 600;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    line-height: 1.4;
}

.offer-popup-std2 .offer-details {
    flex: 1 1 58%;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

.offer-popup-std2 .eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-size: 0.75rem;
    font-weight: 800;
    color: #7c3aed;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.1) 0%, rgba(139, 92, 246, 0.1) 100%);
    padding: 6px 12px;
    border-radius: 6px;
    display: inline-block;
    width: fit-content;
}

.offer-popup-std2 h3 {
    font-size: clamp(1.75rem, 2.8vw, 2.25rem);
    margin: 0;
    color: #0f172a;
    line-height: 1.25;
    font-weight: 800;
    background: linear-gradient(135deg, #0f172a 0%, #334155 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.offer-popup-std2 p {
    margin: 0;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.6;
}

.offer-popup-std2 .offer-timer {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}

.offer-popup-std2 .time-block {
    flex: 1;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border-radius: 16px;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08),
                0 0 0 1px rgba(255, 255, 255, 0.5) inset;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.offer-popup-std2 .time-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(124, 58, 237, 0.1), transparent);
    transition: left 0.5s ease;
}

.offer-popup-std2 .time-block:hover {
    transform: translateY(-4px);
    border-color: rgba(124, 58, 237, 0.4);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.15),
                0 0 0 1px rgba(124, 58, 237, 0.2) inset;
}

.offer-popup-std2 .time-block:hover::before {
    left: 100%;
}

.offer-popup-std2 .time-block .value {
    font-size: clamp(1.8rem, 3.2vw, 2.5rem);
    font-weight: 900;
    background: linear-gradient(135deg, #0f172a 0%, #7c3aed 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.offer-popup-std2 .time-block .label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #64748b;
    margin-top: 6px;
    font-weight: 700;
}

.offer-popup-std2 .spots-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    color: #dc2626;
    font-size: 1rem;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(239, 68, 68, 0.1) 100%);
    border-radius: 12px;
    border: 1px solid rgba(220, 38, 38, 0.2);
}

.offer-popup-std2 .spots-row .spots {
    font-size: 1.15rem;
    font-weight: 900;
    color: #dc2626;
    text-shadow: 0 2px 4px rgba(220, 38, 38, 0.2);
}

.offer-popup-std2 .cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: 12px;
    padding: 16px 32px;
    border-radius: 14px;
    font-weight: 800;
    text-transform: none;
    font-size: 1.05rem;
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 50%, #a78bfa 100%);
    color: #fff;
    border: none;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4),
                0 0 0 1px rgba(255, 255, 255, 0.2) inset;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

.offer-popup-std2 .cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transition: left 0.5s ease;
}

.offer-popup-std2 .cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.5),
                0 0 0 1px rgba(255, 255, 255, 0.3) inset;
    background: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 50%, #c4b5fd 100%);
}

.offer-popup-std2 .cta:hover::before {
    left: 100%;
}

.offer-popup-std2 .cta:active {
    transform: translateY(0);
}

.offer-popup-std2 .close {
    position: absolute;
    top: 18px;
    right: 20px;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px) saturate(180%);
    border: 1px solid rgba(226, 232, 240, 0.8);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    color: #475569;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
    pointer-events: auto;
    user-select: none;
}

.offer-popup-std2 .close:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
    border-color: rgba(239, 68, 68, 0.3);
    transform: rotate(90deg) scale(1.1);
    box-shadow: 0 6px 16px rgba(220, 38, 38, 0.2);
}

.offer-popup-std2 .close:active {
    transform: rotate(90deg) scale(0.95);
}

@media (max-width: 900px) {
    .offer-popup-std2 {
        width: min(750px, 94vw);
    }
    .offer-popup-std2 .offer-details {
        padding: 32px 28px;
    }
}

@media (max-width: 720px) {
    .offer-popup-std2 {
        width: min(600px, 94vw);
        border-radius: 20px;
    }
    .offer-popup-std2 .content {
        flex-direction: column;
    }
    .offer-popup-std2 .offer-media {
        min-height: 240px;
    }
    .offer-popup-std2 .offer-details {
        padding: 28px 24px;
    }
    .offer-popup-std2 .offer-timer {
        flex-wrap: wrap;
        gap: 8px;
    }
    .offer-popup-std2 .time-block {
        flex: 1 1 calc(50% - 6px);
        padding: 14px 10px;
    }
}

@media (max-width: 480px) {
    .offer-popup-std2 {
        width: 94vw;
        border-radius: 18px;
    }
    .offer-popup-std2 .offer-details {
        padding: 24px 20px;
        gap: 14px;
    }
    .offer-popup-std2 .time-block {
        flex: 1 1 100%;
        padding: 12px 10px;
    }
    .offer-popup-std2 .cta {
        padding: 14px 24px;
        font-size: 1rem;
    }
    .offer-popup-std2 .close {
        width: 36px;
        height: 36px;
        font-size: 18px;
        top: 14px;
        right: 16px;
    }
}

/* ============================================
   COMPREHENSIVE RESPONSIVE DESIGN
   ============================================ */

/* Large Desktop (1400px and above) */
@media (min-width: 1400px) {
    .container {
        max-width: 1400px;
        padding: 0 40px;
    }
    .pricing-cards-wrapper {
        grid-template-columns: repeat(4, 1fr);
        gap: 30px;
        max-width: 1400px;
    }
}

/* Desktop (1024px - 1399px) */
@media (max-width: 1399px) {
    .container {
        max-width: 1200px;
        padding: 0 30px;
    }
    .pricing-cards-wrapper {
        grid-template-columns: repeat(4, 1fr);
        gap: 25px;
    }
}

/* Medium Desktop (900px - 1023px) */
@media (max-width: 1023px) and (min-width: 900px) {
    .pricing-cards-wrapper {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        padding: 0 15px;
    }
    
    .pricing-card {
        padding: 35px;
    }
}

/* Tablet Landscape (768px - 1023px) */
@media (max-width: 1023px) {
    /* Typography */
    h1 {
        font-size: clamp(2rem, 5vw, 2.5rem);
    }
    h2 {
        font-size: clamp(1.75rem, 4vw, 2rem);
    }
    h3 {
        font-size: clamp(1.25rem, 3vw, 1.5rem);
    }

    /* Navigation */
    header.navbar,
    header.navbar.navbar,
    .navbar {
        padding: 10px 30px !important;
    }
    header.navbar .nav-links a,
    .navbar .nav-links a {
        margin-left: 15px !important;
        font-size: 0.9rem !important;
    }

    /* Hero Section */
    .hero {
        min-height: 60vh;
        padding: 30px 0 60px 0;
    }
    .hero h1 {
        font-size: clamp(1.75rem, 4vw, 2.5rem);
    }
    .hero p {
        font-size: clamp(0.95rem, 2vw, 1.15rem);
    }

    /* Sections */
    section {
        padding: 60px 0;
    }


    /* Grid layouts */
    .grid-3 {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
    }

    /* Pricing comparison */
    .featureRowGrid,
    .priceCompHeader {
        grid-template-columns: 2fr repeat(4, 1fr) !important;
    }
    
    /* Pricing cards grid - 4 columns on tablet (if space allows) */
    .pricing-cards-wrapper {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        padding: 0 15px;
    }
    
    .pricing-card {
        padding: 35px;
    }
}

/* Tablet Portrait (600px - 767px) */
@media (max-width: 767px) {
    /* Container */
    .container {
        padding: 0 20px;
    }

    /* Typography */
    h1 {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
    }
    h2 {
        font-size: clamp(1.5rem, 5vw, 1.875rem);
    }

    /* Navigation */
    header.navbar,
    header.navbar.navbar,
    .navbar {
        padding: 10px 20px !important;
    }
    header.navbar .brand span,
    .navbar .brand span {
        font-size: large !important;
    }
    
    /* Show mobile menu toggle */
    .mobile-menu-toggle {
        display: flex !important;
    }

    /* Hide nav-links by default on mobile */
    header.navbar .nav-links,
    .navbar .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: #fff;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 80px 30px 30px 30px;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
        z-index: 1000;
        gap: 0 !important;
        overflow-y: auto;
    }

    /* Show nav-links when menu is open */
    header.navbar.menu-open .nav-links,
    .navbar.menu-open .nav-links {
        right: 0;
    }

    header.navbar .nav-links a,
    .navbar .nav-links a {
        width: 100%;
        margin: 0 0 20px 0 !important;
        padding: 12px 0 !important;
        font-size: 1rem !important;
        border-bottom: 1px solid #eee;
        display: block;
    }

    header.navbar .nav-links a:last-child,
    .navbar .nav-links a:last-child {
        margin-bottom: 0 !important;
        border-bottom: none;
    }

    header.navbar .nav-links .highlight,
    .navbar .nav-links .highlight {
        width: 100%;
        padding: 12px 20px !important;
        margin: 20px 0 0 0 !important;
        font-size: 1rem !important;
        text-align: center;
        display: block;
    }

    /* Overlay when menu is open */
    .navbar::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 999;
    }

    .navbar.menu-open::after {
        opacity: 1;
        visibility: visible;
    }

    /* Hero Section */
    .hero {
        min-height: 50vh;
        padding: 20px 0 40px 0;
    }
    .ltd-title {
        font-size: clamp(28px, 6vw, 36px);
    }
    .ltd-subtitle {
        font-size: clamp(14px, 3vw, 16px);
    }

    /* Sections */
    section {
        padding: 40px 0;
    }

    /* Grid layouts */
    .grid-3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Pricing comparison */
    .featureRowGrid,
    .priceCompHeader {
        grid-template-columns: 2fr 1fr 1fr 1fr !important;
        font-size: 0.85rem !important;
    }
    
    /* Pricing cards grid - 1 column on mobile */
    .pricing-cards-wrapper {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 0 10px;
        max-width: 100%;
    }
    .pricing-card {
        padding: 30px;
        max-width: 100%;
    }
    .pricing-card .price {
        font-size: 2.5rem;
    }
    .pricing-card .original-price {
        font-size: 1.2rem;
    }

    /* Buttons */
    .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

    /* What Can You Do section */
    #what-you-can-do h2 {
        font-size: clamp(28px, 5vw, 36px);
    }
    #what-you-can-do p {
        font-size: clamp(14px, 3vw, 16px);
        padding: 0 10px;
    }

    /* Who Is It For section */
    #whos-it-for .container > h2 {
        font-size: clamp(28px, 5vw, 36px);
    }
    #whos-it-for .container > p {
        font-size: clamp(14px, 3vw, 18px);
    }

/* Mobile Landscape (480px - 599px) */
@media (max-width: 599px) {
    /* Navigation */
    .mobile-menu-toggle {
        display: flex !important;
    }

    /* Hide nav-links by default */
    header.navbar .nav-links,
    .navbar .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: #fff;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 80px 30px 30px 30px;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
        z-index: 1000;
        gap: 0 !important;
        overflow-y: auto;
    }

    header.navbar.menu-open .nav-links,
    .navbar.menu-open .nav-links {
        right: 0;
    }

    header.navbar .nav-links a,
    .navbar .nav-links a {
        width: 100%;
        margin: 0 0 20px 0 !important;
        padding: 12px 0 !important;
        font-size: 1rem !important;
        border-bottom: 1px solid #eee;
        display: block;
    }

    header.navbar .nav-links .highlight,
    .navbar .nav-links .highlight {
        width: 100%;
        padding: 12px 20px !important;
        margin: 20px 0 0 0 !important;
        font-size: 1rem !important;
        text-align: center;
        display: block;
    }

    header.navbar .brand-logo,
    .navbar .brand-logo {
        height: 32px !important;
    }

    /* Overlay when menu is open */
    .navbar::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 999;
    }

    .navbar.menu-open::after {
        opacity: 1;
        visibility: visible;
    }

    /* Hero */
    .hero {
        min-height: 45vh;
    }
    .pricing-nav-btn {
        flex-direction: column;
        gap: 12px;
        align-items: center;
        justify-content: center;
        text-align: center;
    }


    /* Pricing comparison - make scrollable on mobile */
    .featureRowGrid,
    .priceCompHeader {
        display: block !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .featureRowGrid > *,
    .priceCompHeader > * {
        min-width: 200px;
    }
}

/* Mobile Portrait (320px - 479px) */
@media (max-width: 479px) {
    /* Container */
    .container {
        padding: 0 15px;
    }

    /* Typography */
    h1 {
        font-size: clamp(1.5rem, 7vw, 2rem);
    }
    h2 {
        font-size: clamp(1.25rem, 6vw, 1.75rem);
    }
    h3 {
        font-size: clamp(1.1rem, 5vw, 1.4rem);
    }

    /* Navigation */
    header.navbar,
    header.navbar.navbar,
    .navbar {
        padding: 10px 15px !important;
    }
    header.navbar .brand,
    .navbar .brand {
        padding-left: 10px !important;
    }
    header.navbar .brand span,
    .navbar .brand span {
        font-size: medium !important;
        margin-left: 4px !important;
    }
    header.navbar .brand-logo,
    .navbar .brand-logo {
        height: 28px !important;
    }

    /* Mobile menu - full width on small screens */
    header.navbar .nav-links,
    .navbar .nav-links {
        width: 100% !important;
        right: -100% !important;
    }

    header.navbar.menu-open .nav-links,
    .navbar.menu-open .nav-links {
        right: 0 !important;
    }

    header.navbar .nav-links a,
    .navbar .nav-links a {
        font-size: 0.95rem !important;
        padding: 14px 0 !important;
    }

    header.navbar .nav-links .highlight,
    .navbar .nav-links .highlight {
        padding: 14px 20px !important;
        font-size: 0.95rem !important;
    }

    /* Hero Section */
    .hero {
        min-height: 40vh;
        padding: 15px 0 30px 0;
    }
    .hero h1 {
        font-size: clamp(1.5rem, 7vw, 2rem);
        margin-bottom: 10px;
    }
    .hero p {
        font-size: clamp(0.875rem, 3vw, 1rem);
        margin-bottom: 15px;
    }
    .ltd-title {
        font-size: clamp(24px, 7vw, 32px);
    }
    .ltd-subtitle {
        font-size: clamp(13px, 3.5vw, 15px);
        margin: 8px 0 18px;
    }

    /* Sections */
    section {
        padding: 30px 0;
    }

    
    /* Pricing cards grid - optimized for small mobile */
    .pricing-cards-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 0 10px;
        margin: 30px auto 0;
    }
    
    /* Single card wrapper responsive */
    #pricing .pricing-cards-wrapper {
        max-width: 100%;
        padding: 0 15px;
    }
    
    #pricing .pricing-card {
        transform: scale(1);
        max-width: 100%;
    }
    
    #pricing .pricing-card:hover {
        transform: scale(1.02);
    }
    
    .pricing-card {
        padding: 25px;
    }
    .pricing-card .price {
        font-size: 2rem;
    }
    .pricing-card .original-price {
        font-size: 1rem;
    }
    .pricing-card .btn {
        font-size: 1rem;
        padding: 12px 18px;
    }

    /* Buttons */
    .btn {
        padding: 10px 18px;
        font-size: 0.875rem;
        width: 100%;
        text-align: center;
    }
    .btn-primary {
        display: block;
        margin: 10px auto;
    }

    /* What Can You Do section */
    #what-you-can-do {
        padding: 40px 0;
    }
    #what-you-can-do h2 {
        font-size: clamp(24px, 6vw, 32px);
        margin-bottom: 15px;
    }
    #what-you-can-do p {
        font-size: clamp(13px, 3vw, 15px);
        margin: 8px auto 15px;
        padding: 0 15px;
    }

    /* Who Is It For section */
    #whos-it-for {
        padding: 40px 0;
    }
    #whos-it-for .container > h2 {
        font-size: clamp(24px, 6vw, 32px);
        margin-bottom: 8px;
    }
    #whos-it-for .container > p {
        font-size: clamp(13px, 3vw, 16px);
        margin-bottom: 30px;
    }
    .who-card {
        padding: 24px 20px;
    }

    /* Pricing comparison - full width scroll */
    .featureRowGrid,
    .priceCompHeader {
        font-size: 0.75rem !important;
    }

}

/* Extra Small Mobile (below 320px) */
@media (max-width: 319px) {
    .container {
        padding: 8px 10px;
    }
    header.navbar .nav-links a,
    .navbar .nav-links a {
        font-size: 0.7rem !important;
        margin-left: 4px !important;
    }
    .hero h1 {
        font-size: 1.5rem;
    }
    h2 {
        font-size: 1.25rem;
    }
    .btn {
        padding: 8px 15px;
        font-size: 0.8rem;
    }
}

/* Landscape orientation adjustments */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 20px 0;
    }
    section {
        padding: 30px 0;
    }
}

/* Bottom-right secondary offer reminder */
.ltd-offer-reminder {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 2100;
    background: linear-gradient(135deg, rgba(106, 27, 154, 0.98) 0%, rgba(41, 121, 255, 0.96) 100%);
    border-radius: 18px;
    box-shadow:
        0 0 0 1px rgba(248, 113, 113, 0.35),
        0 22px 55px rgba(15, 23, 42, 0.55);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px 18px 16px 18px;
    max-width: 335px;
    border: 1px solid #2196F3;
    transform: translateY(20px) scale(0.96);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.ltd-offer-reminder.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1.02);
    pointer-events: auto;
}

.ltd-offer-reminder-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff6b6b 0%, #f97316 40%, #facc15 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 10px 30px rgba(248, 113, 113, 0.75);
    overflow: visible;
}

.ltd-offer-reminder-icon::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 18px;
    border: 2px solid rgba(254, 249, 195, 0.7);
    box-shadow: 0 0 18px rgba(250, 204, 21, 0.8);
    opacity: 0.9;
    pointer-events: none;
}

.ltd-offer-reminder-bell {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f97316;
    font-size: 14px;
    font-weight: 700;
    animation: ltd-bell-shake 1.4s ease-in-out infinite;
    transform-origin: center bottom;
}

.ltd-offer-reminder-bell::before {
    content: '🔔';
}

.ltd-offer-reminder-content {
    flex: 1 1 auto;
    text-align: center;
}

.ltd-offer-reminder-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fb923c;
    margin-bottom: 4px;
}

.ltd-offer-reminder-title {
    font-size: 15px;
    font-weight: 700;
    color:var(--accent-color);
    line-height: 1.4;
    margin-bottom: 2px;
}

.ltd-offer-reminder-subtitle {
    font-size: 13px;
    color: #ffffff;
}

.ltd-offer-reminder-cta {
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 9px 18px;
    font-size: 13px;
    font-weight: 600;
    background: var(--color-secondary);
    color: #052e16;
    box-shadow: 0 12px 25px rgba(16, 185, 129, 0.45);
    white-space: nowrap;
    width: 100%;
    text-align: center;
    animation: ltd-pulse-cta 1.5s ease-in-out infinite;
}

.ltd-offer-reminder-cta:focus-visible {
    outline: 2px solid #22c55e;
    outline-offset: 2px;
}

.ltd-offer-reminder-close {
    border: none;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    border-radius: 999px;
    line-height: 1;
    position: absolute;
    top: 8px;
    right: 10px;
}

.ltd-offer-reminder-close:hover {
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
}

@keyframes ltd-bell-shake {
    0% { transform: rotate(0deg); }
    15% { transform: rotate(-14deg); }
    30% { transform: rotate(10deg); }
    45% { transform: rotate(-8deg); }
    60% { transform: rotate(5deg); }
    75% { transform: rotate(-3deg); }
    100% { transform: rotate(0deg); }
}

@keyframes ltd-pulse-cta {
    0% { transform: scale(1); box-shadow: 0 12px 25px rgba(16, 185, 129, 0.45); }
    50% { transform: scale(1.06); box-shadow: 0 16px 34px rgba(16, 185, 129, 0.65); }
    100% { transform: scale(1); box-shadow: 0 12px 25px rgba(16, 185, 129, 0.45); }
}

@media (max-width: 640px) {
    .ltd-offer-reminder {
        right: 12px;
        left: 12px;
        bottom: 16px;
        max-width: none;
        z-index: 10000 !important; /* Higher than floating button (9999) to ensure popover appears on top */
    }

    .ltd-offer-reminder-title {
        font-size: 14px;
    }

    .ltd-offer-reminder-subtitle {
        font-size: 12px;
    }

    .ltd-offer-reminder-cta {
        padding-inline: 14px;
    }
}

/* Print styles */
@media print {
    .offer-popup-std2,
    header.navbar,
    .navbar {
        display: none !important;
    }
    section {
        page-break-inside: avoid;
    }
}

/* Additional responsive utilities */
img {
    max-width: 100%;
    height: auto;
}

/* Tables - make scrollable on mobile */
table {
    width: 100%;
    border-collapse: collapse;
}
@media (max-width: 767px) {
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
}

.ctaSection{
    padding:70px !important;
    row-gap:10px !important;
}

body {
    overflow-x: hidden;
}

@media (max-width: 767px) {
    p, span, div {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

.pricing-nav-btn,

.voice-selector-text {
    font-size: 1.2rem;
    color: #ffffff;
    text-align: center;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    margin-top: 25px;
}
.sectionTitle::after 
{
    background:none !important;
}
.sectionTitle{
    color:var(--text-primary) !important;
}
.ai-label-text ,.ai-label-timer{
    color:var(--text-primary) !important;
}