/* #region SERVICES PAGE */


/* =========================
SHARED SECTION HEADING
========================= */

.section-heading {
    text-align: center;
}


.section-heading h2,
.services-addons-title h2,
.service-payment-heading h2 {
    margin: 0;

    font-family: var(--heading-font);

    font-size: clamp(2.3rem, 3.5vw, 3.6rem);
    font-weight: 500;

    line-height: 1;

    color: var(--burgundy);
}


.section-heading p {
    max-width: 720px;

    margin: 0 auto;

    font-size: clamp(0.9rem, 1.1vw, 1rem);

    line-height: 1.5;
}


.section-title-divider,
.service-payment-title-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    margin: 12px 0 16px;
}


.section-title-divider span,
.service-payment-title-divider span {
    width: clamp(55px, 7vw, 90px);
    height: 1px;

    background: rgba(133, 77, 80, 0.45);
}


.section-title-divider img,
.service-payment-title-divider img {
    width: 26px;
    height: auto;
}


/* #endregion */

/* #region SERVICES INTRO */

.services-intro {
    background: var(--cream-dark);

    padding:
        35px
        0
        40px;

    border-top:
        1px
        solid
        rgba(216, 166, 171, 0.55);

    border-bottom:
        1px
        solid
        rgba(107, 40, 56, 0.5);
}


.services-intro-inner {
    width: min(
        1180px,
        calc(100% - clamp(40px, 7vw, 100px))
    );

    margin: 0 auto;
}


/* =========================
HEADING
========================= */

.services-intro-heading {
    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: start;

    gap: 18px;

    margin-bottom: 25px;

    text-align: center;
}


.services-intro-heading > div:nth-child(2) {
    max-width: 720px;
}


.services-intro-heading h2 {
    margin: 0;

    color: var(--mainburgundy);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        clamp(28px, 3vw, 40px);

    font-weight: 500;

    letter-spacing: 0.03em;
}


.services-intro-heading p {
    margin:
        4px
        0
        0;

    color: var(--grey);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 11px;
    font-weight: 500;

    letter-spacing: 0.22em;

    text-transform: uppercase;
}


.services-intro-line {
    height: 1px;

    margin-top: 18px;

    background: var(--rose-light);
}


/* =========================
GRID
========================= */

.services-intro-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    width: min(100%, 900px);

    margin: 0 auto;
}


/* =========================
CARD
========================= */

.services-intro-card {
    position: relative;

    display: flex;
    flex-direction: column;

    align-items: center;

    min-height: 120px;

    padding:
        0
        42px;

    text-align: center;
}


.services-intro-card:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 3px;
    right: 0;

    width: 1px;
    height: 100%;

    background: var(--rose-light);
}


/* =========================
LEAF
========================= */

.services-intro-leaf {
    display: block;

    width: clamp(54px, 5vw, 68px);
    height: auto;

    margin:
        0
        auto
        8px;
}


/* =========================
CARD TITLE
========================= */

.services-intro-card h3 {
    margin:
        0
        0
        5px;

    color: var(--mainburgundy);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        clamp(24px, 2.2vw, 31px);

    font-weight: 500;

    letter-spacing: 0.04em;
}


/* =========================
CARD DESCRIPTION
========================= */

.services-intro-card p {
    max-width: 340px;

    margin:
        0
        0
        10px;

    color: var(--grey);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 11px;
    font-weight: 500;

    line-height: 1.5;

    letter-spacing: 0.04em;
}


/* =========================
PRICE
========================= */

.services-intro-price {
    margin-top: auto;

    color: var(--mainburgundy);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 12px;
    font-weight: 600;

    letter-spacing: 0.06em;

    text-transform: uppercase;
}


.services-intro-price-note {
    margin-top: 2px;

    color: var(--grey);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}

/* #endregion */

/* #region PACKAGE TIERS */

.package-tiers-section {
    background: var(--cream);

    padding:
        36px
        0
        50px;

    color: var(--burgundy);
}


.package-tiers-inner {
    width: min(
        1180px,
        calc(100% - clamp(40px, 6vw, 90px))
    );

    margin: 0 auto;
}


/* =========================
HEADING
========================= */

.package-tiers-heading {
    text-align: center;

    margin-bottom: 30px;
}


.package-tiers-heading h2 {
    margin: 0;

    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 500;

    line-height: 1;

    letter-spacing: 0.04em;
}


.package-tiers-title-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    margin: 12px 0 14px;
}


.package-tiers-title-divider span {
    width: clamp(44px, 4vw, 72px);
    height: 1px;

    background: rgba(133, 77, 80, 0.45);
}


.package-tiers-title-divider img {
    width: clamp(30px, 2.5vw, 38px);
    height: auto;
}


.package-tiers-heading p {
    max-width: 650px;

    margin: 0 auto;

    color: rgba(51, 17, 18, 0.72);

    font-family: var(--body-font);

    font-size: 0.92rem;
    font-weight: 500;

    line-height: 1.6;
}


/* =========================
GRID
========================= */

.package-tiers-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    align-items: stretch;
}


/* =========================
CARD
========================= */

.package-tier-card {
    display: flex;
    flex-direction: column;

    border:
        1px
        solid
        rgba(133, 77, 80, 0.28);

    border-radius: 8px;

    background: var(--cream-dark);

    overflow: hidden;
}


.package-tier-image {
    display: block;

    width: 100%;
    aspect-ratio: 4 / 3;

    object-fit: cover;
    object-position: center;
}


.package-tier-content {
    display: flex;
    flex-direction: column;
    flex: 1;

    padding:
        20px
        22px
        24px;
}


.package-tier-content h3 {
    margin: 0;

    text-align: center;

    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size: clamp(1.8rem, 2vw, 2.3rem);
    font-weight: 500;

    line-height: 1;

    letter-spacing: 0.08em;
}


.package-tier-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    margin: 10px 0 12px;
}


.package-tier-divider span {
    width: clamp(34px, 3vw, 52px);
    height: 1px;

    background: rgba(133, 77, 80, 0.4);
}


.package-tier-divider img {
    width: clamp(26px, 2.4vw, 34px);
    height: auto;
}


.package-tier-subtitle {
    margin: 0 0 18px;

    text-align: center;

    color: rgba(51, 17, 18, 0.75);

    font-family: var(--body-font);

    font-size: 0.82rem;
    font-weight: 500;

    line-height: 1.7;

    letter-spacing: 0.2em;

    text-transform: uppercase;
}


/* =========================
PRICING
========================= */

.package-tier-pricing {
    display: grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items: center;

    gap: 14px;

    padding:
        18px
        0;

    border-top:
        1px
        solid
        rgba(133, 77, 80, 0.22);

    border-bottom:
        1px
        solid
        rgba(133, 77, 80, 0.22);

    margin-bottom: 20px;
}


.package-tier-price-block {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;
}


.package-tier-price {
    color: var(--burgundy);

    font-family: var(--heading-font);

    text-decoration: line-through;

    font-size: clamp(1.7rem, 2vw, 2.3rem);
    font-weight: 500;

    line-height: 1;
}


.thin-strikethrough {
    text-decoration:
        underline
        1px
        solid
        #333;

    text-underline-offset: -0.2em;

    text-decoration-skip-ink: none;
}


.package-tier-launch-price {
    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size: clamp(1.7rem, 2vw, 2.3rem);
    font-weight: 500;

    line-height: 1;
}


.package-tier-price-label {
    margin-top: 6px;

    color: rgba(51, 17, 18, 0.72);

    font-family: var(--body-font);

    font-size: 0.7rem;
    font-weight: 500;

    line-height: 1.4;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.package-tier-price-separator {
    width: 1px;
    height: 48px;

    background: rgba(133, 77, 80, 0.35);
}


/* =========================
COPY
========================= */

.package-tier-description {
    margin:
        0
        0
        20px;

    color: rgba(51, 17, 18, 0.82);

    font-family: var(--body-font);

    font-size: 0.92rem;
    font-weight: 500;

    line-height: 1.6;
}


.package-tier-includes-title {
    margin-bottom: 12px;

    color: var(--burgundy);

    font-family: var(--body-font);

    font-size: 0.76rem;
    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 0.16em;

    text-transform: uppercase;
}


.package-tier-list {
    display: flex;
    flex-direction: column;

    gap: 10px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.package-tier-list li {
    position: relative;

    padding-left: 26px;

    color: rgba(51, 17, 18, 0.84);

    font-family: var(--body-font);

    font-size: 0.9rem;
    font-weight: 500;

    line-height: 1.5;
}


.package-tier-list li::before {
    content: "";

    position: absolute;

    top: 0.34em;
    left: 0;

    width: 16px;
    height: 16px;

    background:
        url("../images/leaf1.png")
        center / contain
        no-repeat;

    opacity: 0.8;
}

/* #endregion */

/* #region PACKAGE INCLUDES */

.package-includes {
    background: var(--cream);

    padding:
        30px
        0
        34px;

    border-bottom:
        1px
        solid
        rgba(133, 77, 80, 0.28);
}


.package-includes-inner {
    width: min(
        1180px,
        calc(100% - clamp(40px, 6vw, 90px))
    );

    margin: 0 auto;
}


/* =========================
HEADING
========================= */

.package-includes-heading {
    max-width: 760px;

    margin:
        0
        auto
        24px;

    text-align: center;
}


.package-includes-heading h2 {
    margin: 0;

    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size:
        clamp(1.8rem, 2.5vw, 2.7rem);

    font-weight: 500;

    line-height: 1;

    letter-spacing: 0.05em;
}


.package-includes-heading-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin:
        10px
        0
        10px;
}


.package-includes-heading-divider span {
    width: clamp(36px, 4vw, 60px);
    height: 1px;

    background: var(--rose);
}


.package-includes-heading-divider img {
    display: block;

    width: clamp(28px, 2.4vw, 34px);
    height: auto;
}


.package-includes-heading p {
    max-width: 640px;

    margin: 0 auto;

    color: rgba(51, 17, 18, 0.76);

    font-family: var(--body-font);

    font-size: 0.88rem;
    font-weight: 500;

    line-height: 1.55;
}


/* =========================
GRID
========================= */

.package-includes-grid {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    align-items: stretch;
}


/* =========================
ITEM
========================= */

.package-includes-item {
    position: relative;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: flex-start;

    min-height: 135px;

    padding:
        0
        18px;

    text-align: center;
}


.package-includes-item:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 6px;
    right: 0;

    width: 1px;
    height: calc(100% - 12px);

    background:
        rgba(133, 77, 80, 0.28);
}


/* =========================
ICON
========================= */

.package-includes-icon {
    display: block;

    width: 38px;
    height: 38px;

    margin-bottom: 10px;

    object-fit: contain;
}


/* =========================
ITEM TITLE
========================= */

.package-includes-item h3 {
    max-width: 190px;

    margin:
        0
        auto
        5px;

    color: var(--burgundy);

    font-family: var(--body-font);

    font-size: 0.72rem;
    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.13em;

    text-transform: uppercase;
}


/* =========================
ITEM DESCRIPTION
========================= */

.package-includes-item p {
    max-width: 190px;

    margin: 0 auto;

    color: rgba(51, 17, 18, 0.72);

    font-family: var(--body-font);

    font-size: 0.8rem;
    font-weight: 500;

    line-height: 1.45;
}

/* #endregion */

/* #region EVENT LOGISTICS */

.event-logistics {
    background: var(--cream);

    padding:
        34px
        0
        42px;
}


.event-logistics-inner {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    width: min(
        1180px,
        calc(100% - clamp(40px, 6vw, 90px))
    );

    margin: 0 auto;
}


/* =========================
BLOCK
========================= */

.event-logistics-block {
    padding:
        22px;

    border:
        1px
        solid
        rgba(133, 77, 80, 0.28);

    border-radius: 6px;

    background: var(--cream-dark);
}


.event-logistics-block h2 {
    margin:
        0
        0
        10px;

    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size:
        clamp(1.65rem, 2vw, 2.2rem);

    font-weight: 500;

    line-height: 1;

    letter-spacing: 0.05em;
}


.event-logistics-block > p {
    margin:
        0
        0
        16px;

    color: rgba(51, 17, 18, 0.76);

    font-family: var(--body-font);

    font-size: 0.88rem;
    font-weight: 500;

    line-height: 1.5;
}


/* =========================
TABLE
========================= */

.logistics-table {
    display: flex;

    flex-direction: column;

    gap: 6px;
}


.logistics-row {
    display: grid;

    grid-template-columns:
        1.4fr
        1fr;

    align-items: center;

    min-height: 44px;

    border:
        1px
        solid
        rgba(133, 77, 80, 0.28);

    border-radius: 4px;

    background:
        rgba(251, 238, 221, 0.72);
}


.logistics-row span {
    padding:
        9px
        12px;

    color: rgba(51, 17, 18, 0.9);

    font-family: var(--body-font);

    font-size: 0.84rem;
    font-weight: 500;
}


.logistics-row span:last-child {
    border-left:
        1px
        solid
        rgba(133, 77, 80, 0.22);

    text-align: center;
}


/* =========================
BARTENDER RATE
========================= */

.bartender-rate-box {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 18px;

    min-height: 130px;

    padding:
        18px
        16px;

    border:
        1px
        solid
        rgba(133, 77, 80, 0.28);

    border-radius: 4px;

    background:
        rgba(251, 238, 221, 0.72);
}


.bartender-rate-icon {
    width: 48px;
    height: auto;
}


.bartender-rate-copy {
    text-align: left;
}


.bartender-rate-price {
    margin-bottom: 6px;

    color: var(--burgundy);

    font-family: var(--heading-font);

    font-size:
        clamp(1.7rem, 2vw, 2.2rem);

    font-weight: 500;

    line-height: 1;
}


.bartender-rate-label {
    color: rgba(51, 17, 18, 0.75);

    font-family: var(--body-font);

    font-size: 0.7rem;
    font-weight: 600;

    line-height: 1.4;

    letter-spacing: 0.13em;

    text-transform: uppercase;
}


.event-logistics-note {
    margin:
        14px
        0
        0 !important;

    text-align: center;

    font-size: 0.8rem !important;
}

/* #endregion */

/* #region PAYMENT SYSTEM */

.service-payment-system {
    padding:
        32px
        0
        38px;

    background: var(--rose);

    color: var(--cream);
}


.service-payment-inner {
    width: min(
        1180px,
        calc(100% - clamp(40px, 6vw, 90px))
    );

    margin: 0 auto;
}


/* =========================
HEADING
========================= */

.service-payment-heading {
    max-width: 760px;

    margin:
        0
        auto
        24px;

    text-align: center;
}


.service-payment-heading h2 {
    margin: 0;

    color: var(--cream);

    font-family: var(--heading-font);

    font-size:
        clamp(1.9rem, 2.5vw, 2.8rem);

    font-weight: 500;

    line-height: 1;

    letter-spacing: 0.05em;
}


.service-payment-title-divider {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin:
        10px
        0
        10px;
}


.service-payment-title-divider span {
    width: 48px;
    height: 1px;

    background:
        rgba(251, 238, 221, 0.5);
}


.service-payment-title-divider img {
    display: block;

    width: 32px;
    height: auto;

    filter: brightness(0) invert(1);

    opacity: 0.9;
}


.service-payment-heading p {
    max-width: 650px;

    margin: 0 auto;

    color: rgba(251, 238, 221, 0.9);

    font-family: var(--body-font);

    font-size: 0.88rem;
    font-weight: 500;

    line-height: 1.55;
}


/* =========================
PAYMENT GRID
========================= */

.service-payment-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 14px;
}


/* =========================
PAYMENT ITEM
========================= */

.service-payment-item {
    display: flex;

    flex-direction: column;

    align-items: center;

    min-height: 210px;

    padding:
        20px
        18px;

    border:
        1px
        solid
        rgba(51, 17, 18, 0.38);

    border-radius: 6px;

    background:
        rgba(51, 17, 18, 0.22);

    text-align: center;
}


.service-payment-icon {
    display: block;

    width: 36px;
    height: 36px;

    margin-bottom: 12px;

    object-fit: contain;

    opacity: 0.9;
}


.service-payment-item h3 {
    margin:
        0
        0
        8px;

    color: var(--cream);

    font-family: var(--heading-font);

    font-size: 1.15rem;
    font-weight: 500;

    line-height: 1.15;

    letter-spacing: 0.03em;
}


.service-payment-item p {
    max-width: 225px;

    margin: 0 auto;

    color: rgba(251, 238, 221, 0.88);

    font-family: var(--body-font);

    font-size: 0.76rem;
    font-weight: 500;

    line-height: 1.5;
}


.service-payment-item strong {
    color: var(--cream);

    font-weight: 600;
}


/* =========================
PAYMENT NOTE
========================= */

.service-payment-note {
    margin-top: 18px;

    padding:
        14px
        18px;

    border:
        1px
        solid
        rgba(51, 17, 18, 0.38);

    border-radius: 6px;

    background:
        rgba(51, 17, 18, 0.22);

    text-align: center;
}

.service-payment-note p {
    max-width: 850px;

    margin: 0 auto;

    color: rgba(251, 238, 221, 0.92);

    font-family: var(--body-font);

    font-size: 0.78rem;
    font-weight: 500;

    line-height: 1.5;
}

/* #endregion */

/* #region SERVICES INTRO RESPONSIVE */


/* =========================================================
   1025PX AND BELOW
   ========================================================= */

@media (max-width: 1025px) {

    .services-intro {
        padding:
            32px
            0
            36px;
    }


    .services-intro-inner {
        width: calc(100% - 56px);
    }


    /* =========================
       HEADING
       ========================= */

    .services-intro-heading {
        gap: 15px;

        margin-bottom: 24px;
    }


    .services-intro-heading > div:nth-child(2) {
        max-width: 620px;
    }


    .services-intro-heading h2 {
        font-size:
            clamp(
                27px,
                3.5vw,
                36px
            );
    }


    .services-intro-heading p {
        font-size: 10px;

        letter-spacing: 0.19em;
    }


    .services-intro-line {
        margin-top: 17px;
    }


    /* =========================
       GRID
       ========================= */

    .services-intro-grid {
        width: min(100%, 820px);
    }


    /* =========================
       CARDS
       ========================= */

    .services-intro-card {
        min-height: 118px;

        padding:
            0
            34px;
    }


    .services-intro-leaf {
        width:
            clamp(
                52px,
                5vw,
                62px
            );
    }


    .services-intro-card h3 {
        font-size:
            clamp(
                22px,
                2.5vw,
                28px
            );
    }


    .services-intro-card p {
        max-width: 310px;

        font-size: 10px;
    }


    .services-intro-price {
        font-size: 11px;
    }


    .services-intro-price-note {
        font-size: 8.5px;
    }

}


/* =========================================================
   768PX AND BELOW
   ========================================================= */

@media (max-width: 768px) {

    .services-intro {
        padding:
            30px
            0
            34px;
    }


    .services-intro-inner {
        width: calc(100% - 40px);
    }


    /* =========================
       HEADING
       ========================= */

    .services-intro-heading {
        grid-template-columns:
            1fr
            minmax(0, auto)
            1fr;

        gap: 12px;

        margin-bottom: 26px;
    }


    .services-intro-heading > div:nth-child(2) {
        max-width: 470px;
    }


    .services-intro-heading h2 {
        font-size:
            clamp(
                25px,
                5vw,
                32px
            );

        line-height: 1;
    }


    .services-intro-heading p {
        margin-top: 6px;

        font-size: 9px;

        line-height: 1.5;

        letter-spacing: 0.16em;
    }


    .services-intro-line {
        margin-top: 15px;
    }


    /* =========================
       GRID
       ========================= */

    .services-intro-grid {
        grid-template-columns: 1fr;

        max-width: 520px;

        margin: 0 auto;
    }


    /* =========================
       CARDS
       ========================= */

    .services-intro-card {
        min-height: 0;

        padding:
            20px
            30px;
    }


    .services-intro-card:first-child {
        padding-top: 0;
    }


    .services-intro-card:last-child {
        padding-bottom: 0;
    }


    .services-intro-card:not(:last-child)::after {
        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;

        width: min(280px, 75%);
        height: 1px;

        transform: translateX(-50%);
    }


    .services-intro-leaf {
        width: 56px;

        margin-bottom: 7px;
    }


    .services-intro-card h3 {
        font-size: 27px;
    }


    .services-intro-card p {
        max-width: 350px;

        margin-bottom: 9px;

        font-size: 10.5px;

        line-height: 1.55;
    }


    .services-intro-price {
        margin-top: 0;

        font-size: 11px;
    }


    .services-intro-price-note {
        font-size: 8.5px;
    }

}


/* =========================================================
   480PX AND BELOW
   ========================================================= */

@media (max-width: 480px) {

    .services-intro {
        padding:
            26px
            0
            30px;
    }


    .services-intro-inner {
        width: calc(100% - 30px);
    }


    /* =========================
       HEADING
       ========================= */

    .services-intro-heading {
        grid-template-columns:
            36px
            minmax(0, 1fr)
            36px;

        gap: 9px;

        margin-bottom: 22px;
    }


    .services-intro-heading h2 {
        font-size:
            clamp(
                22px,
                7vw,
                27px
            );

        line-height: 1;
    }


    .services-intro-heading p {
        margin-top: 6px;

        font-size: 8px;

        line-height: 1.55;

        letter-spacing: 0.14em;
    }


    .services-intro-line {
        margin-top: 13px;
    }


    /* =========================
       CARDS
       ========================= */

    .services-intro-card {
        padding:
            18px
            14px;
    }


    .services-intro-card:first-child {
        padding-top: 0;
    }


    .services-intro-card:last-child {
        padding-bottom: 0;
    }


    .services-intro-card:not(:last-child)::after {
        width: min(240px, 82%);
    }


    .services-intro-leaf {
        width: 50px;

        margin-bottom: 6px;
    }


    .services-intro-card h3 {
        margin-bottom: 4px;

        font-size: 25px;
    }


    .services-intro-card p {
        max-width: 320px;

        margin-bottom: 8px;

        font-size: 10px;

        line-height: 1.5;
    }


    .services-intro-price {
        font-size: 10.5px;
    }


    .services-intro-price-note {
        margin-top: 2px;

        font-size: 8px;

        letter-spacing: 0.14em;
    }

}


/* #endregion SERVICES INTRO RESPONSIVE */

/* #region PACKAGE TIERS RESPONSIVE */


/* =========================================================
   1025PX AND BELOW
   ========================================================= */

@media (max-width: 1025px) {

    .package-tiers-section {
        padding:
            34px
            0
            44px;
    }


    .package-tiers-inner {
        width: calc(100% - 56px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-tiers-heading {
        margin-bottom: 26px;
    }


    .package-tiers-heading h2 {
        font-size:
            clamp(
                1.95rem,
                3.4vw,
                2.9rem
            );
    }


    .package-tiers-heading p {
        max-width: 600px;

        font-size: 0.88rem;
    }


    /* =========================
       GRID
       ========================= */

    .package-tiers-grid {
        gap: 16px;
    }


    /* =========================
       CARD
       ========================= */

    .package-tier-content {
        padding:
            18px
            18px
            22px;
    }


    .package-tier-content h3 {
        font-size:
            clamp(
                1.65rem,
                2.3vw,
                2rem
            );
    }


    .package-tier-subtitle {
        margin-bottom: 16px;

        font-size: 0.74rem;

        line-height: 1.55;

        letter-spacing: 0.16em;
    }


    /* =========================
       PRICING
       ========================= */

    .package-tier-pricing {
        gap: 10px;

        padding:
            16px
            0;

        margin-bottom: 18px;
    }


    .package-tier-price,
    .package-tier-launch-price {
        font-size:
            clamp(
                1.5rem,
                2.1vw,
                2rem
            );
    }


    .package-tier-price-label {
        font-size: 0.64rem;

        letter-spacing: 0.13em;
    }


    .package-tier-price-separator {
        height: 44px;
    }


    /* =========================
       COPY
       ========================= */

    .package-tier-description {
        margin-bottom: 18px;

        font-size: 0.86rem;
    }


    .package-tier-includes-title {
        font-size: 0.72rem;
    }


    .package-tier-list {
        gap: 9px;
    }


    .package-tier-list li {
        padding-left: 23px;

        font-size: 0.84rem;
    }


    .package-tier-list li::before {
        width: 15px;
        height: 15px;
    }

}


/* =========================================================
   768PX AND BELOW
   ========================================================= */

@media (max-width: 768px) {

    .package-tiers-section {
        padding:
            32px
            0
            38px;
    }


    .package-tiers-inner {
        width: calc(100% - 40px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-tiers-heading {
        margin-bottom: 24px;
    }


    .package-tiers-heading h2 {
        font-size:
            clamp(
                1.85rem,
                5vw,
                2.5rem
            );
    }


    .package-tiers-title-divider {
        margin:
            10px
            0
            13px;
    }


    .package-tiers-heading p {
        max-width: 520px;

        font-size: 0.84rem;

        line-height: 1.55;
    }


    /* =========================
       GRID
       ========================= */

    .package-tiers-grid {
        grid-template-columns: 1fr;

        max-width: 560px;

        margin: 0 auto;

        gap: 22px;
    }


    /* =========================
       CARD
       ========================= */

    .package-tier-image {
        aspect-ratio: 16 / 9;
    }


    .package-tier-content {
        padding:
            20px
            24px
            24px;
    }


    .package-tier-content h3 {
        font-size:
            clamp(
                1.8rem,
                5vw,
                2.2rem
            );
    }


    .package-tier-subtitle {
        font-size: 0.76rem;

        letter-spacing: 0.17em;
    }


    /* =========================
       PRICING
       ========================= */

    .package-tier-pricing {
        max-width: 420px;

        width: 100%;

        margin:
            0
            auto
            20px;

        gap: 14px;

        padding:
            18px
            0;
    }


    .package-tier-price,
    .package-tier-launch-price {
        font-size:
            clamp(
                1.7rem,
                5vw,
                2.2rem
            );
    }


    .package-tier-price-label {
        font-size: 0.68rem;
    }


    /* =========================
       COPY
       ========================= */

    .package-tier-description {
        font-size: 0.88rem;
    }


    .package-tier-list li {
        font-size: 0.86rem;
    }

}


/* =========================================================
   480PX AND BELOW
   ========================================================= */

@media (max-width: 480px) {

    .package-tiers-section {
        padding:
            28px
            0
            34px;
    }


    .package-tiers-inner {
        width: calc(100% - 30px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-tiers-heading {
        margin-bottom: 22px;
    }


    .package-tiers-heading h2 {
        font-size:
            clamp(
                1.75rem,
                7vw,
                2.15rem
            );
    }


    .package-tiers-title-divider {
        gap: 8px;

        margin:
            9px
            0
            12px;
    }


    .package-tiers-title-divider span {
        width: 40px;
    }


    .package-tiers-title-divider img {
        width: 28px;
    }


    .package-tiers-heading p {
        max-width: 340px;

        font-size: 0.8rem;

        line-height: 1.5;
    }


    /* =========================
       CARD
       ========================= */

    .package-tier-card {
        border-radius: 6px;
    }


    .package-tier-content {
        padding:
            18px
            16px
            20px;
    }


    .package-tier-content h3 {
        font-size:
            clamp(
                1.7rem,
                8vw,
                2rem
            );
    }


    .package-tier-divider {
        gap: 8px;

        margin:
            9px
            0
            11px;
    }


    .package-tier-divider span {
        width: 36px;
    }


    .package-tier-divider img {
        width: 27px;
    }


    .package-tier-subtitle {
        margin-bottom: 15px;

        font-size: 0.68rem;

        line-height: 1.5;

        letter-spacing: 0.14em;
    }


    /* =========================
       PRICING
       ========================= */

    .package-tier-pricing {
        grid-template-columns: 1fr;

        gap: 10px;

        max-width: 100%;

        padding:
            15px
            0;

        margin-bottom: 18px;
    }


    .package-tier-price-separator {
        width: min(180px, 60%);
        height: 1px;

        margin: 0 auto;
    }


    .package-tier-price,
    .package-tier-launch-price {
        font-size:
            clamp(
                1.6rem,
                8vw,
                2rem
            );
    }


    .package-tier-price-label {
        margin-top: 5px;

        font-size: 0.63rem;

        letter-spacing: 0.12em;
    }


    /* =========================
       COPY
       ========================= */

    .package-tier-description {
        margin-bottom: 17px;

        font-size: 0.82rem;

        line-height: 1.55;
    }


    .package-tier-includes-title {
        margin-bottom: 10px;

        font-size: 0.68rem;

        letter-spacing: 0.14em;
    }


    .package-tier-list {
        gap: 8px;
    }


    .package-tier-list li {
        padding-left: 22px;

        font-size: 0.82rem;

        line-height: 1.45;
    }


    .package-tier-list li::before {
        width: 14px;
        height: 14px;
    }

}


/* #endregion PACKAGE TIERS RESPONSIVE */

/* #region PACKAGE INCLUDES RESPONSIVE */


/* =========================================================
   1025PX AND BELOW
   ========================================================= */

@media (max-width: 1025px) {

    .package-includes {
        padding:
            28px
            0
            32px;
    }


    .package-includes-inner {
        width: calc(100% - 56px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-includes-heading {
        max-width: 700px;

        margin-bottom: 22px;
    }


    .package-includes-heading h2 {
        font-size:
            clamp(
                1.75rem,
                2.8vw,
                2.4rem
            );
    }


    .package-includes-heading p {
        max-width: 600px;

        font-size: 0.84rem;
    }


    /* =========================
       ITEMS
       ========================= */

    .package-includes-item {
        min-height: 130px;

        padding:
            0
            12px;
    }


    .package-includes-icon {
        width: 34px;
        height: 34px;

        margin-bottom: 9px;
    }


    .package-includes-item h3 {
        max-width: 165px;

        font-size: 0.66rem;

        letter-spacing: 0.11em;
    }


    .package-includes-item p {
        max-width: 165px;

        font-size: 0.74rem;

        line-height: 1.4;
    }

}


/* =========================================================
   768PX AND BELOW
   ========================================================= */

@media (max-width: 768px) {

    .package-includes {
        padding:
            28px
            0
            32px;
    }


    .package-includes-inner {
        width: calc(100% - 40px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-includes-heading {
        max-width: 520px;

        margin-bottom: 20px;
    }


    .package-includes-heading h2 {
        font-size:
            clamp(
                1.7rem,
                5vw,
                2.2rem
            );
    }


    .package-includes-heading-divider {
        margin:
            9px
            0
            10px;
    }


    .package-includes-heading p {
        font-size: 0.82rem;

        line-height: 1.5;
    }


    /* =========================
       GRID
       ========================= */

    .package-includes-grid {
        grid-template-columns:
            repeat(2, 1fr);

        max-width: 600px;

        margin: 0 auto;
    }


    /* =========================
       ITEMS
       ========================= */

    .package-includes-item {
        min-height: 160px;

        padding:
            22px
            24px;
    }


    /*
       Remove desktop divider
    */

    .package-includes-item:not(:last-child)::after {
        display: none;
    }


    /*
       Vertical divider between columns
    */

    .package-includes-item:nth-child(odd):not(:last-child)::after {
        content: "";

        position: absolute;

        display: block;

        top: 18px;
        right: 0;

        width: 1px;
        height: calc(100% - 36px);

        background:
            rgba(133, 77, 80, 0.28);
    }


    /*
       Horizontal dividers between rows
    */

    .package-includes-item:nth-child(-n + 4)::before {
        content: "";

        position: absolute;

        left: 50%;
        bottom: 0;

        width: min(220px, 75%);
        height: 1px;

        background:
            rgba(133, 77, 80, 0.28);

        transform: translateX(-50%);
    }


    /*
       Fifth item centered
    */

    .package-includes-item:last-child {
        grid-column: 1 / -1;

        width: 50%;

        margin: 0 auto;
    }


    .package-includes-icon {
        width: 36px;
        height: 36px;
    }


    .package-includes-item h3 {
        max-width: 200px;

        font-size: 0.7rem;
    }


    .package-includes-item p {
        max-width: 220px;

        font-size: 0.78rem;

        line-height: 1.45;
    }

}


/* =========================================================
   480PX AND BELOW
   ========================================================= */

@media (max-width: 480px) {

    .package-includes {
        padding:
            26px
            0
            30px;
    }


    .package-includes-inner {
        width: calc(100% - 30px);
    }


    /* =========================
       HEADING
       ========================= */

    .package-includes-heading {
        margin-bottom: 18px;
    }


    .package-includes-heading h2 {
        font-size:
            clamp(
                1.65rem,
                7vw,
                2rem
            );
    }


    .package-includes-heading-divider {
        gap: 7px;
    }


    .package-includes-heading-divider span {
        width: 36px;
    }


    .package-includes-heading-divider img {
        width: 27px;
    }


    .package-includes-heading p {
        max-width: 330px;

        font-size: 0.78rem;
    }


    /* =========================
       GRID
       ========================= */

    .package-includes-grid {
        grid-template-columns: 1fr;

        max-width: 380px;
    }


    /* =========================
       ITEMS
       ========================= */

    .package-includes-item,
    .package-includes-item:last-child {
        grid-column: auto;

        width: 100%;

        min-height: 0;

        margin: 0;

        padding:
            18px
            14px;
    }


    /*
       Remove tablet divider system
    */

    .package-includes-item:nth-child(odd):not(:last-child)::after,
    .package-includes-item:nth-child(-n + 4)::before {
        display: none;
    }


    /*
       Horizontal divider between all items
    */

    .package-includes-item:not(:last-child)::after {
        content: "";

        position: absolute;

        display: block;

        top: auto;
        right: auto;
        bottom: 0;
        left: 50%;

        width: min(240px, 80%);
        height: 1px;

        background:
            rgba(133, 77, 80, 0.28);

        transform: translateX(-50%);
    }


    .package-includes-icon {
        width: 34px;
        height: 34px;

        margin-bottom: 8px;
    }


    .package-includes-item h3 {
        max-width: 250px;

        margin-bottom: 5px;

        font-size: 0.68rem;

        letter-spacing: 0.12em;
    }


    .package-includes-item p {
        max-width: 300px;

        font-size: 0.76rem;

        line-height: 1.45;
    }

}


/* #endregion PACKAGE INCLUDES RESPONSIVE */

/* #region EVENT LOGISTICS RESPONSIVE */


/* =========================================================
   1025PX AND BELOW
   ========================================================= */

@media (max-width: 1025px) {

    .event-logistics {
        padding:
            32px
            0
            38px;
    }


    .event-logistics-inner {
        width: calc(100% - 56px);

        gap: 16px;
    }


    /* =========================
       BLOCK
       ========================= */

    .event-logistics-block {
        padding: 18px;
    }


    .event-logistics-block h2 {
        font-size:
            clamp(
                1.5rem,
                2.3vw,
                2rem
            );
    }


    .event-logistics-block > p {
        margin-bottom: 14px;

        font-size: 0.82rem;

        line-height: 1.45;
    }


    /* =========================
       TABLE
       ========================= */

    .logistics-row {
        min-height: 42px;
    }


    .logistics-row span {
        padding:
            8px
            10px;

        font-size: 0.78rem;
    }


    /* =========================
       RATE BOX
       ========================= */

    .bartender-rate-box {
        gap: 14px;

        min-height: 120px;

        padding:
            16px
            12px;
    }


    .bartender-rate-icon {
        width: 42px;
    }


    .bartender-rate-price {
        font-size:
            clamp(
                1.55rem,
                2.2vw,
                2rem
            );
    }


    .bartender-rate-label {
        font-size: 0.64rem;

        letter-spacing: 0.11em;
    }


    .event-logistics-note {
        font-size: 0.74rem !important;
    }

}


/* =========================================================
   768PX AND BELOW
   ========================================================= */

@media (max-width: 768px) {

    .event-logistics {
        padding:
            30px
            0
            34px;
    }


    .event-logistics-inner {
        grid-template-columns: 1fr;

        width: calc(100% - 40px);

        max-width: 600px;

        gap: 18px;
    }


    /* =========================
       BLOCK
       ========================= */

    .event-logistics-block {
        padding:
            20px
            22px;
    }


    .event-logistics-block h2 {
        font-size:
            clamp(
                1.6rem,
                5vw,
                2.05rem
            );
    }


    .event-logistics-block > p {
        font-size: 0.84rem;

        line-height: 1.5;
    }


    /* =========================
       TABLE
       ========================= */

    .logistics-table {
        gap: 7px;
    }


    .logistics-row {
        grid-template-columns:
            1.5fr
            1fr;

        min-height: 44px;
    }


    .logistics-row span {
        padding:
            9px
            12px;

        font-size: 0.82rem;
    }


    /* =========================
       RATE BOX
       ========================= */

    .bartender-rate-box {
        gap: 18px;

        min-height: 120px;

        padding:
            18px
            16px;
    }


    .bartender-rate-icon {
        width: 46px;
    }


    .bartender-rate-price {
        font-size:
            clamp(
                1.7rem,
                5vw,
                2.1rem
            );
    }


    .bartender-rate-label {
        font-size: 0.68rem;
    }


    .event-logistics-note {
        font-size: 0.78rem !important;
    }

}


/* =========================================================
   480PX AND BELOW
   ========================================================= */

@media (max-width: 480px) {

    .event-logistics {
        padding:
            26px
            0
            30px;
    }


    .event-logistics-inner {
        width: calc(100% - 30px);

        gap: 16px;
    }


    /* =========================
       BLOCK
       ========================= */

    .event-logistics-block {
        padding:
            18px
            14px;

        border-radius: 5px;
    }


    .event-logistics-block h2 {
        margin-bottom: 8px;

        font-size:
            clamp(
                1.5rem,
                7vw,
                1.9rem
            );
    }


    .event-logistics-block > p {
        margin-bottom: 13px;

        font-size: 0.8rem;

        line-height: 1.45;
    }


    /* =========================
       TABLE
       ========================= */

    .logistics-row {
        grid-template-columns:
            minmax(0, 1.4fr)
            minmax(90px, 1fr);

        min-height: 42px;
    }


    .logistics-row span {
        padding:
            8px
            9px;

        font-size: 0.76rem;

        line-height: 1.35;
    }


    /* =========================
       RATE BOX
       ========================= */

    .bartender-rate-box {
        flex-direction: column;

        gap: 10px;

        min-height: 0;

        padding:
            18px
            14px;

        text-align: center;
    }


    .bartender-rate-icon {
        width: 42px;
    }


    .bartender-rate-copy {
        text-align: center;
    }


    .bartender-rate-price {
        margin-bottom: 5px;

        font-size:
            clamp(
                1.6rem,
                8vw,
                2rem
            );
    }


    .bartender-rate-label {
        font-size: 0.64rem;

        line-height: 1.4;

        letter-spacing: 0.1em;
    }


    .event-logistics-note {
        margin-top: 12px !important;

        font-size: 0.74rem !important;

        line-height: 1.45;
    }

}


/* #endregion EVENT LOGISTICS RESPONSIVE */

/* #region PAYMENT SYSTEM RESPONSIVE */


/* =========================================================
   1025PX AND BELOW
   ========================================================= */

@media (max-width: 1025px) {

    .service-payment-system {
        padding:
            30px
            0
            34px;
    }


    .service-payment-inner {
        width: calc(100% - 56px);
    }


    /* =========================
       HEADING
       ========================= */

    .service-payment-heading {
        max-width: 700px;

        margin-bottom: 22px;
    }


    .service-payment-heading h2 {
        font-size:
            clamp(
                1.8rem,
                2.8vw,
                2.5rem
            );
    }


    .service-payment-heading p {
        max-width: 600px;

        font-size: 0.84rem;
    }


    /* =========================
       GRID
       ========================= */

    .service-payment-grid {
        gap: 12px;
    }


    /* =========================
       ITEMS
       ========================= */

    .service-payment-item {
        min-height: 195px;

        padding:
            18px
            14px;
    }


    .service-payment-icon {
        width: 34px;
        height: 34px;

        margin-bottom: 10px;
    }


    .service-payment-item h3 {
        font-size: 1.08rem;
    }


    .service-payment-item p {
        max-width: 200px;

        font-size: 0.72rem;
    }


    /* =========================
       NOTE
       ========================= */

    .service-payment-note {
        margin-top: 16px;

        padding:
            13px
            16px;
    }


    .service-payment-note p {
        font-size: 0.74rem;
    }

}


/* =========================================================
   768PX AND BELOW
   ========================================================= */

@media (max-width: 768px) {

    .service-payment-system {
        padding:
            28px
            0
            32px;
    }


    .service-payment-inner {
        width: calc(100% - 40px);
    }


    /* =========================
       HEADING
       ========================= */

    .service-payment-heading {
        max-width: 520px;

        margin-bottom: 20px;
    }


    .service-payment-heading h2 {
        font-size:
            clamp(
                1.7rem,
                5vw,
                2.2rem
            );
    }


    .service-payment-title-divider {
        margin:
            9px
            0
            10px;
    }


    .service-payment-title-divider span {
        width: 42px;
    }


    .service-payment-title-divider img {
        width: 30px;
    }


    .service-payment-heading p {
        font-size: 0.82rem;

        line-height: 1.5;
    }


    /* =========================
       GRID
       ========================= */

    .service-payment-grid {
        grid-template-columns:
            repeat(2, 1fr);

        max-width: 620px;

        margin: 0 auto;

        gap: 14px;
    }


    /* =========================
       ITEMS
       ========================= */

    .service-payment-item {
        min-height: 185px;

        padding:
            18px
            18px;
    }


    .service-payment-icon {
        width: 35px;
        height: 35px;
    }


    .service-payment-item h3 {
        font-size: 1.1rem;
    }


    .service-payment-item p {
        max-width: 240px;

        font-size: 0.74rem;

        line-height: 1.5;
    }


    /* =========================
       NOTE
       ========================= */

    .service-payment-note {
        max-width: 620px;

        margin:
            16px
            auto
            0;
    }


    .service-payment-note p {
        font-size: 0.74rem;
    }

}


/* =========================================================
   480PX AND BELOW
   ========================================================= */

@media (max-width: 480px) {

    .service-payment-system {
        padding:
            26px
            0
            30px;
    }


    .service-payment-inner {
        width: calc(100% - 30px);
    }


    /* =========================
       HEADING
       ========================= */

    .service-payment-heading {
        margin-bottom: 18px;
    }


    .service-payment-heading h2 {
        font-size:
            clamp(
                1.65rem,
                7vw,
                2rem
            );
    }


    .service-payment-title-divider {
        gap: 7px;

        margin:
            8px
            0
            9px;
    }


    .service-payment-title-divider span {
        width: 36px;
    }


    .service-payment-title-divider img {
        width: 27px;
    }


    .service-payment-heading p {
        max-width: 330px;

        font-size: 0.78rem;

        line-height: 1.5;
    }


    /* =========================
       GRID
       ========================= */

    .service-payment-grid {
        grid-template-columns: 1fr;

        max-width: 380px;

        gap: 12px;
    }


    /* =========================
       ITEMS
       ========================= */

    .service-payment-item {
        min-height: 0;

        padding:
            18px
            16px;
    }


    .service-payment-icon {
        width: 33px;
        height: 33px;

        margin-bottom: 9px;
    }


    .service-payment-item h3 {
        margin-bottom: 7px;

        font-size: 1.08rem;
    }


    .service-payment-item p {
        max-width: 300px;

        font-size: 0.73rem;

        line-height: 1.45;
    }


    /* =========================
       NOTE
       ========================= */

    .service-payment-note {
        max-width: 380px;

        margin:
            14px
            auto
            0;

        padding:
            12px
            14px;
    }


    .service-payment-note p {
        font-size: 0.72rem;

        line-height: 1.45;
    }

}


/* #endregion PAYMENT SYSTEM RESPONSIVE */

/* #region DIVIDER TEMPLATE */
/* #endregion */