body {
    font-family: Arial, sans-serif;
    margin: 0;
    background-color: white;
    color: #333;
}
header, footer {
    background: linear-gradient(to right, #4a00e0, #8e2de2);
    color: white;
    padding: 1rem 2rem;
}
header h1, footer p {
    margin: 0;
}
main {
    padding: 2rem;
    max-width: 1000px;
    margin: auto;
}
h2 {
    border-bottom: 2px solid #ddd;
    padding-bottom: 0.25rem;
    margin-top: 2rem;
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1rem;
}
th, td {
    padding: 0.75rem;
    border: 1px solid #ccc;
    vertical-align: top;
    text-align: left;
}
th {
    background-color: #f9f9f9;
}
ul {
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
}
footer {
    text-align: center;
    font-size: 0.9rem;
    margin-top: 4rem;
}
.hdr-blue {
    margin-top: 0;
    color: #3a86ff;
}
.right {
    text-align: right;
}
.highlight { color: #3a86ff; font-weight: 600; }
.setup-section {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    margin: 2rem 0;
}
.setup-grid {
    display: grid;
    grid-template-columns: 59% 41%;
    gap: 1rem;
}

@media (max-width: 768px) {
    .setup-grid {
        grid-template-columns: 1fr; /* Stack on mobile */
    }
}

/* Optional: Add these if you want to control inner spacing */
.setup-benefits {
    padding-right: 1rem; /* Adds some breathing room */
}

.setup-outcome {
    padding-left: 1rem;
}
.checklist {
    list-style: none;
    padding-left: 0;
    line-height: 2.7;
}
.checklist li:before {
    content: "✓ ";
    color: #3a86ff;
    font-weight: bold;
}
.result-card {
    background: white;
    padding: 1.5rem;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.note {
    font-size: 0.9em;
    color: #666;
    margin-top: 1rem;
}

.price-heading {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 0.3em;
    margin-bottom: 1em;
}
.price-top {
    font-weight: 600;
    color: #2e7d32;
    margin: 0.5rem 0 0;
}
.price-tag {
    font-size: 0.7em;
    color: #666;
    font-weight: normal;
}
.voice-features {
    list-style-type: none;
    padding-left: 0;
    margin: 1em 0;
}

.voice-features li {
    padding: 0.3em 0;
    position: relative;
    padding-left: 1.5em;
}

.voice-features li:before {
    content: "•";
    color: #3a86ff;
    position: absolute;
    left: 0;
}

.note {
    font-size: 0.85em;
    color: #666;
    margin-top: 1em;
    padding: 0.8em;
    background: #f8f9fa;
    border-left: 3px solid #3a86ff;
}
.setup-section {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px dashed rgba(58, 134, 255, 0.2);
    border: 1px solid rgba(58, 134, 255, 0.3);
    background: rgba(58, 134, 255, 0.03);
}
/* Adds visual hierarchy to nested lists */
.setup-details ul li {
    margin-bottom: 0.5em;
    line-height: 1.5;
}
.tech-stack-section {
    background: #f8fafc;
    padding: 2.5rem;
    border-radius: 12px;
    margin-top: 3rem;
}
.setup-section h2 {
    margin-top: 0.5rem;
}
.tech-stack-section h2 {
    margin-top: 0.5rem;
}
.mcp-section h2 {
    margin-top: 0.5rem;
}
.n8n-section h2 {
    margin-top: 0.5rem;
}
.tech-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    margin: 2rem 0;
}

.tech-category {
    background: white;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.tech-content-wrapper {
    display: flex;
    align-items: center;  /* Vertical centering */
    gap: 45px;  /* This creates the 20px gap between UL and button */
}

.tech-content-wrapper ul {
    margin: 0;
    padding: 0 0 0 2em;  /* Left padding for bullets */
}

.button-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;  /* Align button to left of container */
    min-width: fit-content;  /* Prevent button from shrinking */
    gap: 9px;  /* Space between button and message */
}
.tech-icon {
    margin-right: 10px;
}

.service-pill {
    display: inline-block;
    background: #e0e7ff;
    color: #3a86ff;
    padding: 0.3em 0.8em;
    border-radius: 100px;
    margin: 0.3em;
    font-size: 0.9em;
    font-weight: 500;
}

.cta-box {
    border-top: 1px dashed #cbd5e1;
    padding-top: 1.5rem;
    margin-top: 1rem;
}
.icon {
    margin-right: 8px;
    opacity: 0.8;
}

.value-pair-grid {
    display: grid;
    gap: 1rem;
    margin: 1.5rem 0;
}

.value-pair {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.value-from {
    color: #666;
    text-decoration: line-through;
    opacity: 0.7;
}

.value-arrow {
    color: #3a86ff;
    font-weight: bold;
}

.value-to {
    font-weight: 600;
    color: #2e7d32; /* Green for positive change */
}
.mcp-section {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    margin-bottom: 2rem;
}

.mcp-transform {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin: 2rem 0;
    padding: 1.5rem;
    background: #f8fafc;
    border-radius: 6px;
}

.mcp-before, .mcp-after {
    flex: 1;
}

.mcp-arrow {
    font-size: 2rem;
    color: #3a86ff;
    padding: 0 1rem;
}

.limitations li, .capabilities li {
    padding: 0.5rem 0;
    list-style: none;
}

.example-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.example-card {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 1.2rem;
    text-align: center;
}

.example-icon {
    font-size: 1.8rem;
    margin-bottom: 0.6rem;
}

.n8n-section {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    margin: 2rem 0;
}

/* Enhanced Services Table */
.services-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 2rem 0;
}

.services-table th {
    background: #3a86ff;
    color: white;
    padding: 1rem;
    text-align: left;
}

.services-table td {
    padding: 1.2rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}

.services-table tr:hover {
    background: #f8fafc;
}

.purchase-btn {
    background: #3a86ff;
    color: white;
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.purchase-btn:hover {
    background: #2563eb;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.notice-box {
    background: #e0e7ff;
    padding: 0.8rem 1.2rem;
    border-radius: 6px;
    border-left: 4px solid #3a86ff;
    font-size: 0.95em;
}

.notice-box p {
    margin: 0;
    gap: 0.5rem;
}

.notice-box p:before {
    margin-right: 0.5rem;
}

.consultation-tier h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.shimmer {
    display: inline-block;
    position: relative;
    background: #1e3a8a;
    background-image: linear-gradient(
            to right, /* Keep this as 'to right' */
            #1e3a8a 0%,
            #3b82f6 30%,
            #1e3a8a 60%,
            #1e3a8a 100%
    );
    background-repeat: no-repeat;
    background-size: 300% 100%;
    animation: shimmer-left-to-right 3s linear infinite; /* Updated animation name */
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

/* Updated keyframes for left-to-right flow */
@keyframes shimmer-left-to-right {
    0% {
        background-position: 100% 0; /* Start with gradient fully to the right */
    }
    100% {
        background-position: -100% 0; /* Move gradient fully to the left */
    }
}
.pricing-overview {
    background: #f0f7ff;
    border-radius: 10px;
    padding: 2rem;
    margin: 2rem 0;
    border: 1px solid #d0e3ff;
}

.pricing-overview h2 {
    margin-top: 0;
    color: #1e3a8a;
}
/* This ensures perfect card alignment */
.pricing-structure {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    align-items: stretch; /* Critical for equal heights */
}
.pricing-tier {
    background: white;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.pricing-tier h4 {
    margin: 0.5rem 0;
    font-size: 1em;
}

.tech-offerings-section h2 {
    border-bottom: 2px solid #ddd;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

.signalwire-box {
    background: #fff5f5;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    border-left: 4px solid #ef4444;
}

.signalwire-box ul li,
.tech-stack-box ul li {
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.5em;
}

.signalwire-box ul li:before {
    content: "";
    position: absolute;
    left: 0;
}

ul.custom-bullets {
    list-style-position: inside;
    margin: 0;
}
ul.custom-bullets li {
    padding-left: 0; /* Adjust this value */
}

ul.demo-box {
    padding: 0 0 0 2em;
}
ul.demo-box li {
    padding-left: 0.5rem;
}

/* For mobile responsiveness */
@media (max-width: 768px) {
    .tech-stack-box > div,
    .signalwire-box > div {
        flex-direction: column;
    }
    .mcp-transform {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .mcp-arrow {
        transform: rotate(90deg);
        padding: 1rem 0;
    }

    .mcp-before, .mcp-after {
        padding-bottom: 1rem;
    }
}
@media (max-width: 480px) {
    .example-grid {
        grid-template-columns: 1fr;
    }
    .mcp-section {
        padding: 1.2rem;
    }

    .example-card {
        padding: 1rem;
    }
}

/* Hide desktop pricing on phones */
.hide {
    display: none;
}
.pricing-desktop {
    display: block;
}
.pricing-mobile {
    display: none;
}

/* Show mobile pricing on phones only */
@media (max-width: 768px) {
    .pricing-desktop {
        display: none;
    }

    .pricing-mobile {
        display: block;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-top: 1rem;
    }

    .mobile-price-card {
        background: #f8fafc;
        padding: 1.2rem;
        border-radius: 8px;
        border: 1px solid #e2e8f0;
        box-shadow: 0 2px 4px rgba(0,0,0,0.04);
    }

    .mobile-price-card h4 {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin-bottom: 0.5rem;
    }

    .mobile-price {
        font-size: 0.9em;
        color: #666;
    }

    .mobile-price-card p {
        margin: 0.5rem 0;
        font-size: 0.95em;
    }

    .mobile-price-card .purchase-btn {
        margin-top: 0.8rem;
        width: 88%;
        text-align: center;
    }
}
