/* ==========================================================
   KITWICK
   MARKETING & GROWTH PAGE
   Matches the Kitwick pricing page design system
   ========================================================== */


/* ==========================================================
   PAGE ROOT
   ========================================================== */

.kitwick-marketing-page {

    --marketing-bg: #ffffff;
    --marketing-surface: #f3f3f8;
    --marketing-surface-soft: #f7f7fa;
    --marketing-surface-purple: #f0edfb;

    --marketing-text: #17182f;
    --marketing-text-soft: #70758e;
    --marketing-text-muted: #85899d;

    --marketing-border: #d9d9e5;
    --marketing-border-strong: #c8c8da;

    --marketing-purple: #8064ed;
    --marketing-purple-bright: #9278ff;

    --marketing-purple-soft: rgba(128, 100, 237, .12);

    --marketing-table-line: rgba(25, 27, 55, .10);

    position: relative;

    width: 100vw !important;
    max-width: none !important;

    left: 50%;
    right: auto;

    margin-left: -50vw !important;
    margin-right: 0 !important;

    padding: 0 !important;

    background: var(--marketing-bg);

    color: var(--marketing-text);

    font-family:
        "Poppins",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    overflow: hidden;
}


/* ==========================================================
   BOX SIZING
   ========================================================== */

.kitwick-marketing-page *,
.kitwick-marketing-page *::before,
.kitwick-marketing-page *::after {
    box-sizing: border-box;
}


/* ==========================================================
   INNER CONTENT WIDTH
   ========================================================== */

.kitwick-marketing-page .container {
    width: min(1160px, calc(100% - 48px));

    max-width: 1160px;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* ==========================================================
   LIGHT MODE
   ========================================================== */

.kitwick-marketing-page {
    background: #ffffff;
}


/* ==========================================================
   DARK MODE
   ========================================================== */

html.dark .kitwick-marketing-page,
html.dark-mode .kitwick-marketing-page,
html.theme-dark .kitwick-marketing-page,

html[data-theme="dark"] .kitwick-marketing-page,
html[data-mode="dark"] .kitwick-marketing-page,

body.dark .kitwick-marketing-page,
body.dark-mode .kitwick-marketing-page,
body.theme-dark .kitwick-marketing-page,

body[data-theme="dark"] .kitwick-marketing-page,
body[data-mode="dark"] .kitwick-marketing-page,

.kitwick-marketing-page[data-marketing-theme="dark"] {

    --marketing-bg: #141522;

    --marketing-surface: #202330;
    --marketing-surface-soft: #222532;
    --marketing-surface-purple: #29283d;

    --marketing-text: #f3f2fa;
    --marketing-text-soft: #989caf;
    --marketing-text-muted: #85899e;

    --marketing-border: #383b49;
    --marketing-border-strong: #414452;

    --marketing-purple: #9a7cff;
    --marketing-purple-bright: #a78cff;

    --marketing-purple-soft: rgba(154, 124, 255, .16);

    --marketing-table-line: rgba(177, 177, 208, .11);

    background: #141522;
}


/* ==========================================================
   HERO
   ========================================================== */

.kitwick-marketing-hero {

    width: 100%;

    padding:
        72px
        0
        52px;

    background: var(--marketing-bg);
}


.kitwick-marketing-hero-content {
    max-width: 950px;
}


/* ==========================================================
   HERO LABEL
   ========================================================== */

.kitwick-marketing-eyebrow {

    display: inline-flex;

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

    padding:
        8px
        15px;

    margin-bottom: 20px;

    border-radius: 999px;

    background: var(--marketing-purple-soft);

    color: var(--marketing-purple);

    font-size: 12px;

    font-weight: 700;

    line-height: 1;

    letter-spacing: .06em;
}


/* ==========================================================
   HERO TITLE
   ========================================================== */

.kitwick-marketing-hero h1 {

    max-width: 950px;

    margin:
        0
        0
        22px;

    color: var(--marketing-text);

    font-size:
        clamp(
            46px,
            5.2vw,
            70px
        );

    line-height: 1.04;

    font-weight: 500;

    letter-spacing: -.045em;
}


/* ==========================================================
   HERO DESCRIPTION
   ========================================================== */

.kitwick-marketing-lead {

    max-width: 720px;

    margin:
        0
        0
        12px;

    color: var(--marketing-text-soft);

    font-size: 17px;

    line-height: 1.6;
}


.kitwick-marketing-hero-content > p:not(.kitwick-marketing-lead) {

    max-width: 720px;

    margin: 0;

    color: var(--marketing-text-soft);

    font-size: 13px;

    line-height: 1.7;
}


/* ==========================================================
   HERO ACTIONS
   ========================================================== */

.kitwick-marketing-hero-actions {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 24px;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.kitwick-marketing-page .btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 46px;

    padding:
        0
        20px;

    border-radius: 999px;

    font-family: inherit;

    font-size: 13px;

    font-weight: 600;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}


.kitwick-marketing-page .btn-primary {

    border:
        1px solid
        var(--marketing-purple);

    background:
        var(--marketing-purple);

    color: #ffffff !important;
}


.kitwick-marketing-page .btn-primary:hover {

    background:
        var(--marketing-purple-bright);

    border-color:
        var(--marketing-purple-bright);

    color: #ffffff !important;

    transform: translateY(-2px);
}


.kitwick-marketing-page .btn-outline {

    border:
        1px solid
        var(--marketing-border);

    background: transparent;

    color:
        var(--marketing-text-soft) !important;
}


.kitwick-marketing-page .btn-outline:hover {

    border-color:
        var(--marketing-purple);

    color:
        var(--marketing-purple) !important;

    transform: translateY(-2px);
}


/* ==========================================================
   SECTION
   ========================================================== */

.kitwick-marketing-page section {

    width: 100%;

}


.kitwick-marketing-plans,
.kitwick-marketing-comparison,
.kitwick-marketing-services,
.kitwick-marketing-process,
.kitwick-marketing-cta {

    padding:
        38px
        0;

    background:
        var(--marketing-bg);
}


/* ==========================================================
   SECTION HEADING
   ========================================================== */

.kitwick-section-heading {

    max-width: 820px;

    margin:
        0
        auto
        30px;

}


.kitwick-section-heading > span {

    display: block;

    color:
        var(--marketing-purple);

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;
}


.kitwick-section-heading h2 {

    margin:
        14px
        0
        7px;

    color:
        var(--marketing-text);

    font-size: 27px;

    line-height: 1.2;

    font-weight: 400;

    letter-spacing: -.025em;
}


.kitwick-section-heading p {

    max-width: 650px;

    margin: 0;

    color:
        var(--marketing-text-soft);

    font-size: 13px;

    line-height: 1.7;
}


/* ==========================================================
   PLAN GRID
   ========================================================== */

.kitwick-marketing-grid {

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 15px;

    align-items: stretch;

    margin-top: 30px;
}


/* ==========================================================
   PLAN CARD
   ========================================================== */

.kitwick-marketing-card {

    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;

    min-height: 318px;

    padding:
        28px
        27px
        25px;

    border:
        1px solid
        var(--marketing-border);

    border-radius: 30px;

    background:
        var(--marketing-surface-soft);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.kitwick-marketing-card:hover {

    transform: translateY(-3px);

    border-color:
        var(--marketing-purple-bright);

}


.kitwick-marketing-card.featured {

    border-color:
        var(--marketing-purple);

    background:
        var(--marketing-surface-purple);
}


/* ==========================================================
   FEATURED BADGE
   ========================================================== */

.marketing-card-badge {

    position: absolute;

    top: 20px;

    right: 20px;

    display: inline-flex;

    align-items: center;

    min-height: 23px;

    padding:
        0
        9px;

    border-radius: 999px;

    background:
        var(--marketing-purple-soft);

    color:
        var(--marketing-purple);

    font-size: 9px;

    font-weight: 700;
}


/* ==========================================================
   PLAN HEADER
   ========================================================== */

.marketing-card-header {

    padding: 0;

}


.marketing-card-label {

    display: block;

    margin-bottom: 10px;

    color:
        var(--marketing-purple);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;
}


.marketing-card-header h3 {

    margin:
        0
        0
        15px;

    color:
        var(--marketing-text);

    font-size: 18px;

    line-height: 1.2;

    font-weight: 600;
}


.marketing-hours {

    display: flex;

    align-items: baseline;

    margin-top: 17px;

    color:
        var(--marketing-text);

    font-size: 25px;

    line-height: 1;

    font-weight: 400;

    letter-spacing: -.04em;
}


.marketing-hours span {

    margin-left: 6px;

    color:
        var(--marketing-text-muted);

    font-size: 12px;

    letter-spacing: 0;
}


.marketing-card-header p {

    min-height: 54px;

    margin:
        15px
        0
        0;

    color:
        var(--marketing-text-soft);

    font-size: 13px;

    line-height: 1.55;
}


/* ==========================================================
   PLAN FEATURES
   ========================================================== */

.marketing-card-body {

    flex: 1;

    padding:
        15px
        0
        0;
}


.marketing-card-body ul {

    list-style: none;

    margin: 0;

    padding: 0;

    border-top:
        1px solid
        var(--marketing-table-line);
}


.marketing-card-body li {

    position: relative;

    padding:
        9px
        0
        9px
        18px;

    border-bottom:
        1px solid
        var(--marketing-table-line);

    color:
        var(--marketing-text-soft);

    font-size: 11px;

    line-height: 1.45;
}


.marketing-card-body li::before {

    content: "✓";

    position: absolute;

    left: 0;

    top: 9px;

    color:
        var(--marketing-purple);

    font-weight: 700;
}


/* ==========================================================
   PLAN BUTTON
   ========================================================== */

.marketing-card-footer {

    padding-top: 20px;
}


.marketing-card-footer .btn {

    width: 100%;

}


/* ==========================================================
   COMPARISON TABLE CARD
   ========================================================== */

.kitwick-marketing-comparison {

    padding-top: 38px;

    padding-bottom: 38px;
}


.marketing-table-wrapper {

    width: 100%;

    overflow-x: auto;

    padding:
        38px
        35px
        27px;

    border-radius: 30px;

    background:
        var(--marketing-surface);
}


.marketing-comparison-table {

    width: 100%;

    min-width: 850px;

    border-collapse: collapse;

    table-layout: fixed;
}


.marketing-comparison-table th,
.marketing-comparison-table td {

    border-bottom:
        1px solid
        var(--marketing-table-line);

    text-align: left;
}


.marketing-comparison-table th {

    padding:
        0
        12px
        15px;

    color:
        var(--marketing-text-muted);

    font-size: 10px;

    font-weight: 600;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.marketing-comparison-table th:first-child {

    width: 30%;

    padding-left: 0;
}


.marketing-comparison-table th:not(:first-child) {

    width: 17.5%;
}


.marketing-comparison-table td {

    padding:
        12px;

    color:
        var(--marketing-text-soft);

    font-size: 12px;

    line-height: 1.4;

}


.marketing-comparison-table td:first-child {

    padding-left: 0;

    color:
        var(--marketing-text);
}


.marketing-comparison-table tbody tr:last-child td {

    border-bottom: 0;

}


.marketing-comparison-table tbody tr:hover td {

    color:
        var(--marketing-text);

}


.marketing-comparison-table td:not(:first-child) {

    color:
        var(--marketing-purple);

}


/* ==========================================================
   SERVICES
   ========================================================== */

.kitwick-marketing-services {

    padding-top: 38px;

    padding-bottom: 38px;

}


.marketing-services-grid {

    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 15px;

}


.marketing-service {

    min-width: 0;

    padding:
        28px;

    border-radius: 30px;

    background:
        var(--marketing-surface);

}


.marketing-service h3 {

    margin:
        0
        0
        10px;

    color:
        var(--marketing-text);

    font-size: 18px;

    line-height: 1.2;

    font-weight: 500;

}


.marketing-service p {

    margin: 0;

    color:
        var(--marketing-text-soft);

    font-size: 12px;

    line-height: 1.65;

}


/* ==========================================================
   PROCESS
   ========================================================== */

.kitwick-marketing-process {

    padding-top: 38px;

    padding-bottom: 38px;

}


.marketing-process-grid {

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 15px;

}


.marketing-process-step {

    padding:
        28px;

    border-radius: 30px;

    background:
        var(--marketing-surface-soft);

}


.marketing-process-step > span {

    display: block;

    margin-bottom: 18px;

    color:
        var(--marketing-purple);

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: .20em;

}


.marketing-process-step h3 {

    margin:
        0
        0
        10px;

    color:
        var(--marketing-text);

    font-size: 16px;

    line-height: 1.3;

    font-weight: 500;

}


.marketing-process-step p {

    margin: 0;

    color:
        var(--marketing-text-soft);

    font-size: 12px;

    line-height: 1.6;

}


/* ==========================================================
   CTA
   ========================================================== */

.kitwick-marketing-cta {

    padding:
        38px
        0
        60px;

}


.marketing-cta-box {

    padding:
        36px;

    border-radius: 30px;

    background:
        var(--marketing-surface-purple);

}


.marketing-cta-box > span {

    display: block;

    color:
        var(--marketing-purple);

    font-size: 10px;

    line-height: 1;

    font-weight: 700;

    letter-spacing: .20em;

}


.marketing-cta-box h2 {

    margin:
        14px
        0
        7px;

    color:
        var(--marketing-text);

    font-size: 27px;

    line-height: 1.2;

    font-weight: 400;

    letter-spacing: -.025em;
}


.marketing-cta-box p {

    max-width: 760px;

    margin:
        17px
        0
        20px;

    color:
        var(--marketing-text-soft);

    font-size: 13px;

    line-height: 1.65;
}


/* ==========================================================
   RESPONSIVE — TABLET
   ========================================================== */

@media (max-width: 1050px) {

    .kitwick-marketing-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }


    .marketing-process-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

}


/* ==========================================================
   RESPONSIVE — 800px
   ========================================================== */

@media (max-width: 800px) {

    .kitwick-marketing-page .container {

        width:
            min(
                calc(100% - 40px),
                760px
            );

    }


    .kitwick-marketing-hero {

        padding:
            52px
            0
            34px;

    }


    .kitwick-marketing-hero h1 {

        font-size: 46px;

    }


    .marketing-services-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

}


/* ==========================================================
   RESPONSIVE — 600px
   ========================================================== */

@media (max-width: 600px) {

    .kitwick-marketing-page .container {

        width:
            calc(100% - 28px);

    }


    .kitwick-marketing-hero h1 {

        font-size: 40px;

    }


    .kitwick-marketing-lead {

        font-size: 14px;

    }


    .kitwick-marketing-hero-content > p:not(.kitwick-marketing-lead) {

        font-size: 12px;

    }


    .kitwick-marketing-hero-actions {

        flex-direction: column;

        align-items: stretch;

    }


    .kitwick-marketing-hero-actions .btn {

        width: 100%;

    }


    .kitwick-marketing-grid {

        grid-template-columns: 1fr;

        margin-top: 28px;

    }


    .kitwick-marketing-card {

        min-height: 0;

    }


    .kitwick-marketing-card,
    .marketing-service,
    .marketing-process-step {

        border-radius: 25px;

    }


    .marketing-table-wrapper {

        padding:
            27px
            20px
            22px;

        border-radius: 25px;

    }


    .marketing-services-grid {

        grid-template-columns: 1fr;

    }


    .marketing-process-grid {

        grid-template-columns: 1fr;

    }


    .marketing-cta-box {

        padding:
            28px
            22px;

        border-radius: 25px;

    }


    .marketing-cta-box h2 {

        font-size: 27px;

    }


    .marketing-cta-box p {

        font-size: 13px;

    }

}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .kitwick-marketing-card,
    .kitwick-marketing-page .btn {

        transition: none;

    }


    .kitwick-marketing-card:hover,
    .kitwick-marketing-page .btn:hover {

        transform: none;

    }

}


/* ==========================================================
   REMOVE WHMCS TOP GAP
   ========================================================== */

#main-body {

    padding-top: 0 !important;

}


section#main-body.main-body {

    padding-top: 0 !important;

}


#main-body > .container {

    padding-top: 0 !important;

}