/*
 * TuBoleto LATAM Autonomous SEO
 * Fully scoped under .tb-latam-auto-seo
 */

body.tb-latam-auto-seo {
    background: #f7f9fc;
}

.tb-latam-auto-seo main {
    overflow: hidden;
}

.tb-latam-auto-seo .entry-content,
.tb-latam-auto-seo .site-main > article {
    max-width: none;
}

.tb-latam-auto-seo .entry-content > h1,
.tb-latam-auto-seo article > h1 {
    margin-top: 0;
}

/* Existing autonomous article content */

.tb-latam-auto-seo .entry-content > h1,
.tb-latam-auto-seo .entry-content > p,
.tb-latam-auto-seo .entry-content > h2,
.tb-latam-auto-seo .entry-content > ul,
.tb-latam-auto-seo .entry-content > ol,
.tb-latam-auto-seo .entry-content > blockquote {
    width: min(1120px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

.tb-latam-auto-seo .entry-content > h1 {
    max-width: 1120px;
    font-size: clamp(2.1rem, 5vw, 4.2rem);
    line-height: 1.03;
    letter-spacing: -0.045em;
    padding-top: 72px;
    margin-bottom: 24px;
    color: #0b1d33;
}

.tb-latam-auto-seo .entry-content > h1 + p {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #42536a;
    max-width: 950px;
    margin-left: max(
        20px,
        calc((100% - 1120px) / 2)
    );
}

.tb-latam-auto-seo .entry-content > h2 {
    margin-top: 62px;
    margin-bottom: 18px;
    padding-top: 0;
    font-size: clamp(1.45rem, 3vw, 2.05rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: #0b1d33;
}

.tb-latam-auto-seo .entry-content > h2::before {
    content: "";
    display: block;
    width: 42px;
    height: 4px;
    margin-bottom: 15px;
    border-radius: 10px;
    background: #ef3340;
}

.tb-latam-auto-seo .entry-content > p,
.tb-latam-auto-seo .entry-content > ul,
.tb-latam-auto-seo .entry-content > ol {
    font-size: 1rem;
    line-height: 1.78;
    color: #435166;
}

.tb-latam-auto-seo .entry-content > ul,
.tb-latam-auto-seo .entry-content > ol {
    padding-left: 60px;
}

/* Workflow */

.tb-latam-auto-workflow {
    margin: 68px 0 20px;
    padding: 66px 0;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f2f6fb 100%
        );
    border-top: 1px solid #e7edf4;
    border-bottom: 1px solid #e7edf4;
}

.tb-latam-auto-shell {
    width: min(
        1120px,
        calc(100% - 40px)
    );
    margin: 0 auto;
}

.tb-latam-auto-workflow-head {
    max-width: 730px;
    margin-bottom: 34px;
}

.tb-latam-auto-kicker {
    display: inline-block;
    margin-bottom: 10px;
    font-size: .77rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #ef3340;
}

.tb-latam-auto-display-title {
    margin-bottom: 12px;
    font-size: clamp(
        1.9rem,
        4vw,
        3rem
    );
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.035em;
    color: #0b1d33;
}

.tb-latam-auto-workflow-head p {
    margin: 0;
    color: #536177;
    line-height: 1.7;
}

.tb-latam-auto-flow-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.tb-latam-auto-flow-card {
    position: relative;
    min-height: 220px;
    padding: 25px 22px 22px;
    border: 1px solid #e2e9f2;
    border-radius: 16px;
    background: #ffffff;
    box-shadow:
        0 8px 28px
        rgba(13, 35, 63, .06);
}

.tb-latam-auto-step {
    position: absolute;
    top: 17px;
    right: 18px;
    color: #9aa8ba;
    font-size: .75rem;
    font-weight: 800;
}

.tb-latam-auto-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 24px;
    border-radius: 11px;
    color: #ffffff;
    background: #ef3340;
    font-weight: 800;
}

.tb-latam-auto-flow-card:nth-child(2)
.tb-latam-auto-icon {
    background: #276ef1;
}

.tb-latam-auto-flow-card:nth-child(3)
.tb-latam-auto-icon {
    background: #20a464;
}

.tb-latam-auto-flow-card:nth-child(4)
.tb-latam-auto-icon {
    background: #7557e8;
}

.tb-latam-auto-flow-card h3 {
    margin: 0 0 9px;
    font-size: 1.05rem;
    color: #10233e;
}

.tb-latam-auto-flow-card p {
    margin: 0;
    font-size: .92rem;
    line-height: 1.6;
    color: #627086;
}

.tb-latam-auto-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.tb-latam-auto-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 9px;
    font-weight: 750;
    text-decoration: none;
    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

.tb-latam-auto-btn:hover {
    transform: translateY(-1px);
}

.tb-latam-auto-btn-primary {
    color: #ffffff;
    background: #ef3340;
    box-shadow:
        0 8px 18px
        rgba(239, 51, 64, .18);
}

.tb-latam-auto-btn-secondary {
    color: #17304f;
    background: #ffffff;
    border: 1px solid #dce5ef;
}

/* Assessment */

.tb-latam-auto-assessment {
    margin-top: 72px;
    padding: 72px 0;
    background:
        radial-gradient(
            circle at 75% 20%,
            #193f70 0,
            #102c50 30%,
            #07182d 75%
        );
    color: #ffffff;
}

.tb-latam-auto-assessment .tb-latam-auto-shell {
    max-width: 880px;
}

.tb-latam-auto-assessment h2 {
    margin: 4px 0 14px;
    font-size: clamp(
        1.9rem,
        4vw,
        3rem
    );
    color: #ffffff;
    letter-spacing: -.035em;
}

.tb-latam-auto-assessment p {
    max-width: 720px;
    margin: 0;
    color: #c5d2e2;
    font-size: 1.03rem;
    line-height: 1.7;
}

.tb-latam-auto-assessment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    margin-top: 28px;
}

.tb-latam-auto-btn-light {
    color: #0d2340;
    background: #ffffff;
}

.tb-latam-auto-text-link {
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

/* Desktop article rhythm */

.tb-latam-auto-seo .entry-content {
    padding-bottom: 0;
}

.tb-latam-auto-seo
.entry-content
> .tb-latam-auto-workflow,
.tb-latam-auto-seo
.entry-content
> .tb-latam-auto-assessment {
    width: 100%;
    max-width: none;
}

/* Responsive */

@media (max-width: 900px) {

    .tb-latam-auto-flow-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {

    .tb-latam-auto-seo .entry-content > h1 {
        padding-top: 45px;
    }

    .tb-latam-auto-flow-grid {
        grid-template-columns: 1fr;
    }

    .tb-latam-auto-workflow {
        margin-top: 44px;
        padding: 48px 0;
    }

    .tb-latam-auto-assessment {
        margin-top: 50px;
        padding: 52px 0;
    }

    .tb-latam-auto-seo .entry-content > ul,
    .tb-latam-auto-seo .entry-content > ol {
        padding-left: 40px;
    }
}

/* ===== TUBOLETO LATAM AUTO SEO POLISH V2 START ===== */

/*
 * TuBoleto LATAM autonomous SEO polish.
 *
 * Applies automatically to every future page
 * receiving body.tb-latam-auto-seo.
 */

body.tb-latam-auto-seo {
    background: #f5f8fc;
}

body.tb-latam-auto-seo .entry-content {
    position: relative;
    padding-top: 0;
    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #edf4fb 390px,
            #f6f9fc 391px,
            #f6f9fc 100%
        );
}


/* HERO */

.tb-latam-auto-seo
.entry-content > h1 {

    width: min(
        1040px,
        calc(100% - 48px)
    );

    margin:
        0 auto
        24px;

    padding-top: 76px;

    font-size:
        clamp(
            2.55rem,
            5.7vw,
            4.8rem
        );

    line-height: .99;
    letter-spacing: -.05em;
    font-weight: 850;
    color: #0b1e36;
}

.tb-latam-auto-seo
.entry-content > h1::before {

    content:
        "TU BOLETO  •  ENTRADA AL MERCADO CANADIENSE";

    display: block;

    margin-bottom: 18px;

    font-size: .72rem;
    line-height: 1.2;

    letter-spacing: .15em;

    font-weight: 850;
    text-transform: uppercase;

    color: #ef3340;
}


/* ARTICLE WIDTH */

.tb-latam-auto-seo
.entry-content > p,

.tb-latam-auto-seo
.entry-content > ul,

.tb-latam-auto-seo
.entry-content > ol,

.tb-latam-auto-seo
.entry-content > blockquote,

.tb-latam-auto-seo
.entry-content > h2 {

    width: min(
        900px,
        calc(100% - 48px)
    );

    margin-left: auto;
    margin-right: auto;
}


/* INTRO */

.tb-latam-auto-seo
.entry-content > h1 + p {

    max-width: 900px;

    font-size: 1.11rem;
    line-height: 1.78;

    color: #40536b;

    margin-bottom: 17px;
}


/* BODY */

.tb-latam-auto-seo
.entry-content > p {

    margin-top: 0;
    margin-bottom: 19px;

    font-size: 1.015rem;

    line-height: 1.82;

    color: #43536a;
}


/* HEADINGS */

.tb-latam-auto-seo
.entry-content > h2 {

    margin-top: 70px;
    margin-bottom: 22px;

    font-size:
        clamp(
            1.58rem,
            3vw,
            2.08rem
        );

    line-height: 1.14;

    letter-spacing: -.028em;

    font-weight: 820;

    color: #0b1e36;
}

.tb-latam-auto-seo
.entry-content > h2::before {

    content: "";

    display: block;

    width: 38px;
    height: 4px;

    margin-bottom: 14px;

    border-radius: 10px;

    background: #ef3340;
}


/* LISTS */

.tb-latam-auto-seo
.entry-content > ul,

.tb-latam-auto-seo
.entry-content > ol {

    margin-top: 18px;
    margin-bottom: 28px;

    padding-left: 30px;

    font-size: 1rem;
    line-height: 1.75;

    color: #43536a;
}


/* WORKFLOW */

.tb-latam-auto-workflow {

    margin:
        78px 0
        32px;

    padding:
        76px 0;

    background:
        radial-gradient(
            circle at 82% 10%,
            rgba(39, 110, 241, .09),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #edf4fb 100%
        );

    border-top:
        1px solid #e5ecf4;

    border-bottom:
        1px solid #e1e9f2;
}

.tb-latam-auto-workflow-head {
    max-width: 760px;
    margin-bottom: 40px;
}

.tb-latam-auto-display-title {

    font-size:
        clamp(
            2.15rem,
            4.2vw,
            3.35rem
        );

    line-height: 1.01;

    letter-spacing: -.044em;
}

.tb-latam-auto-workflow-head p {

    max-width: 680px;

    font-size: 1.04rem;

    line-height: 1.72;
}


/* CARDS */

.tb-latam-auto-flow-grid {
    gap: 18px;
}

.tb-latam-auto-flow-card {

    min-height: 242px;

    padding:
        29px 24px
        26px;

    border-radius: 18px;

    box-shadow:
        0 10px 32px
        rgba(14, 38, 70, .075);

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

.tb-latam-auto-flow-card:hover {

    transform:
        translateY(-3px);

    border-color: #d4dfec;

    box-shadow:
        0 18px 40px
        rgba(14, 38, 70, .105);
}

.tb-latam-auto-icon {

    width: 42px;
    height: 42px;

    margin-bottom: 25px;

    border-radius: 12px;

    font-size: 1.05rem;
}

.tb-latam-auto-flow-card h3 {

    margin-bottom: 10px;

    font-size: 1.13rem;

    line-height: 1.25;

    font-weight: 800;
}

.tb-latam-auto-flow-card p {

    font-size: .97rem;

    line-height: 1.67;
}


/* BUTTONS */

.tb-latam-auto-actions {
    margin-top: 33px;
}

.tb-latam-auto-btn {

    min-height: 46px;

    padding:
        0 22px;

    border-radius: 10px;

    font-size: .92rem;

    font-weight: 780;
}


/* BOTTOM CTA */

.tb-latam-auto-assessment {

    margin-top: 84px;

    padding:
        84px 0;

    background:
        radial-gradient(
            circle at 78% 18%,
            #24558f 0,
            #153f70 25%,
            #0b294a 53%,
            #06182c 100%
        );
}

.tb-latam-auto-assessment
.tb-latam-auto-shell {

    max-width: 900px;
}

.tb-latam-auto-assessment h2 {

    max-width: 720px;

    font-size:
        clamp(
            2.15rem,
            4.5vw,
            3.4rem
        );

    line-height: 1.03;

    letter-spacing: -.044em;
}

.tb-latam-auto-assessment p {

    max-width: 680px;

    font-size: 1.06rem;

    line-height: 1.72;
}


/* TABLET */

@media (max-width: 900px) {

    .tb-latam-auto-flow-grid {

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

}


/* MOBILE */

@media (max-width: 640px) {

    body.tb-latam-auto-seo
    .entry-content {

        background:
            linear-gradient(
                180deg,
                #f8fbff 0%,
                #edf4fb 315px,
                #f6f9fc 316px,
                #f6f9fc 100%
            );
    }

    .tb-latam-auto-seo
    .entry-content > h1 {

        width:
            calc(100% - 32px);

        padding-top: 48px;

        font-size:
            clamp(
                2.08rem,
                11vw,
                3.1rem
            );
    }

    .tb-latam-auto-seo
    .entry-content > h1::before {

        font-size: .65rem;

        letter-spacing: .1em;
    }

    .tb-latam-auto-seo
    .entry-content > p,

    .tb-latam-auto-seo
    .entry-content > ul,

    .tb-latam-auto-seo
    .entry-content > ol,

    .tb-latam-auto-seo
    .entry-content > blockquote,

    .tb-latam-auto-seo
    .entry-content > h2 {

        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-seo
    .entry-content > p {

        font-size: .98rem;

        line-height: 1.76;
    }

    .tb-latam-auto-seo
    .entry-content > h2 {

        margin-top: 54px;

        font-size: 1.5rem;
    }

    .tb-latam-auto-shell {

        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-workflow {

        margin-top: 52px;

        padding:
            54px 0
            58px;
    }

    .tb-latam-auto-flow-grid {

        grid-template-columns:
            1fr;

        gap: 14px;
    }

    .tb-latam-auto-flow-card {

        min-height: auto;

        padding:
            24px 21px;
    }

    .tb-latam-auto-assessment {

        margin-top: 60px;

        padding:
            60px 0;
    }

    .tb-latam-auto-actions,
    .tb-latam-auto-assessment-actions {

        align-items: stretch;
    }

    .tb-latam-auto-btn {
        width: 100%;
    }

}

/* ===== TUBOLETO LATAM AUTO SEO POLISH V2 END ===== */

/* ===== TUBOLETO LATAM AUTO SEO POLISH V3 START ===== */

/*
 * Strong visual treatment for all autonomous
 * TuBoleto LATAM SEO pages.
 *
 * Scoped only to body.tb-latam-auto-seo.
 */


/* ==================================================
   PAGE CANVAS
   ================================================== */

body.tb-latam-auto-seo {
    background: #f5f8fc;
}

body.tb-latam-auto-seo .entry-content {
    background: #f6f9fc;
    padding-bottom: 0;
}


/* ==================================================
   HERO — STRONG LATAM PRESENTATION
   ================================================== */

.tb-latam-auto-seo
.entry-content > h1 {

    box-sizing: border-box;

    width: 100%;
    max-width: none;

    margin: 0;

    padding:
        88px
        max(
            24px,
            calc((100% - 1080px) / 2)
        )
        26px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(53, 116, 205, .78),
            transparent 32%
        ),
        linear-gradient(
            125deg,
            #07182c 0%,
            #0c2c52 46%,
            #174d88 100%
        );

    font-size:
        clamp(
            2.7rem,
            5.7vw,
            4.8rem
        );

    line-height: .98;

    letter-spacing: -.052em;

    font-weight: 850;
}

.tb-latam-auto-seo
.entry-content > h1::before {

    content:
        "TU BOLETO LATAM  •  ENTRADA AL MERCADO CANADIENSE";

    display: block;

    margin-bottom: 18px;

    color: #ff5b66;

    font-size: .73rem;

    font-weight: 850;

    letter-spacing: .15em;

    line-height: 1.2;

    text-transform: uppercase;
}


/*
 * Intro paragraphs directly after H1 continue
 * the hero rather than dropping immediately
 * into article styling.
 */

.tb-latam-auto-seo
.entry-content > h1 + p {

    box-sizing: border-box;

    width: 100%;
    max-width: none;

    margin: 0;

    padding:
        0
        max(
            24px,
            calc((100% - 1080px) / 2)
        )
        18px;

    color: #dce7f5;

    background:
        linear-gradient(
            125deg,
            #07182c 0%,
            #0c2c52 46%,
            #174d88 100%
        );

    font-size: 1.10rem;

    line-height: 1.78;
}

.tb-latam-auto-seo
.entry-content > h1 + p + p {

    box-sizing: border-box;

    width: 100%;
    max-width: none;

    margin: 0;

    padding:
        0
        max(
            24px,
            calc((100% - 1080px) / 2)
        )
        54px;

    color: #c8d7e9;

    background:
        linear-gradient(
            125deg,
            #07182c 0%,
            #0c2c52 46%,
            #174d88 100%
        );

    font-size: 1rem;

    line-height: 1.75;
}


/* ==================================================
   WORKFLOW
   ================================================== */

.tb-latam-auto-workflow {

    position: relative;

    margin: 0;

    padding:
        72px 0
        78px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #edf4fb 100%
        );

    border-bottom:
        1px solid #dde6f1;
}

.tb-latam-auto-workflow::before {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 72px;
    height: 4px;

    transform:
        translateX(-50%);

    border-radius:
        0 0 8px 8px;

    background: #ef3340;
}

.tb-latam-auto-workflow-head {

    max-width: 760px;

    margin:
        0 auto
        42px;

    text-align: center;
}

.tb-latam-auto-workflow-head
.tb-latam-auto-kicker {

    color: #ef3340;
}

.tb-latam-auto-display-title {

    color: #0b1e36;

    font-size:
        clamp(
            2.25rem,
            4.3vw,
            3.45rem
        );

    line-height: 1;

    letter-spacing: -.045em;
}

.tb-latam-auto-workflow-head p {

    max-width: 650px;

    margin:
        14px auto 0;

    color: #526279;

    font-size: 1.04rem;

    line-height: 1.72;
}


/* ==================================================
   WORKFLOW CARDS
   ================================================== */

.tb-latam-auto-flow-grid {

    display: grid;

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

    gap: 20px;
}

.tb-latam-auto-flow-card {

    position: relative;

    min-height: 245px;

    padding:
        30px 25px
        26px;

    overflow: hidden;

    border:
        1px solid #dfe8f2;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 12px 30px
        rgba(8, 33, 63, .08);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.tb-latam-auto-flow-card::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 4px;

    background: #ef3340;
}

.tb-latam-auto-flow-card:nth-child(2)::after {
    background: #276ef1;
}

.tb-latam-auto-flow-card:nth-child(3)::after {
    background: #20a464;
}

.tb-latam-auto-flow-card:nth-child(4)::after {
    background: #7557e8;
}

.tb-latam-auto-flow-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        0 20px 40px
        rgba(8, 33, 63, .12);
}

.tb-latam-auto-icon {

    width: 46px;
    height: 46px;

    margin-bottom: 27px;

    border-radius: 13px;

    font-size: 1.1rem;
}

.tb-latam-auto-flow-card h3 {

    margin:
        0 0 10px;

    color: #10233e;

    font-size: 1.16rem;

    font-weight: 820;
}

.tb-latam-auto-flow-card p {

    color: #5d6e84;

    font-size: .98rem;

    line-height: 1.68;
}


/* ==================================================
   ARTICLE BODY
   ================================================== */

.tb-latam-auto-seo
.entry-content > h2,

.tb-latam-auto-seo
.entry-content > p,

.tb-latam-auto-seo
.entry-content > ul,

.tb-latam-auto-seo
.entry-content > ol,

.tb-latam-auto-seo
.entry-content > blockquote {

    width:
        min(
            880px,
            calc(100% - 48px)
        );

    margin-left: auto;

    margin-right: auto;
}


/* section headings */

.tb-latam-auto-seo
.entry-content > h2 {

    margin-top: 72px;

    margin-bottom: 24px;

    color: #0c2039;

    font-size:
        clamp(
            1.6rem,
            3vw,
            2.12rem
        );

    line-height: 1.13;

    letter-spacing: -.03em;

    font-weight: 830;
}

.tb-latam-auto-seo
.entry-content > h2::before {

    content: "";

    display: block;

    width: 38px;
    height: 4px;

    margin-bottom: 15px;

    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            #ef3340,
            #ff6a74
        );
}


/* paragraphs */

.tb-latam-auto-seo
.entry-content > p {

    margin-top: 0;

    margin-bottom: 20px;

    color: #425269;

    font-size: 1.02rem;

    line-height: 1.84;
}


/* lists */

.tb-latam-auto-seo
.entry-content > ul,

.tb-latam-auto-seo
.entry-content > ol {

    margin-top: 22px;

    margin-bottom: 30px;

    padding-left: 32px;

    color: #425269;

    line-height: 1.78;
}


/* ==================================================
   VISUAL SECTION RHYTHM
   ================================================== */

/*
 * Give every second section a subtle visual
 * background without changing stored content.
 */

.tb-latam-auto-seo
.entry-content > h2:nth-of-type(even) {

    position: relative;
}

.tb-latam-auto-seo
.entry-content > h2:nth-of-type(even)::after {

    content: "";

    position: absolute;

    z-index: -1;

    top: -24px;
    bottom: -420px;

    left:
        calc(
            (880px - 100vw)
            / 2
        );

    width: 100vw;

    background:
        rgba(
            233,
            240,
            248,
            .38
        );

    pointer-events: none;
}


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

.tb-latam-auto-actions {

    justify-content: center;

    margin-top: 36px;
}

.tb-latam-auto-btn {

    min-height: 48px;

    padding:
        0 23px;

    border-radius: 10px;

    font-size: .93rem;

    font-weight: 800;
}

.tb-latam-auto-btn-primary {

    box-shadow:
        0 10px 24px
        rgba(
            239,
            51,
            64,
            .22
        );
}


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

.tb-latam-auto-assessment {

    position: relative;

    overflow: hidden;

    margin-top: 88px;

    padding:
        92px 0;

    background:
        radial-gradient(
            circle at 80% 15%,
            #2861a4 0%,
            #173e70 28%,
            #0b294a 56%,
            #06172a 100%
        );
}

.tb-latam-auto-assessment::before {

    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    top: -180px;
    right: -90px;

    border-radius: 50%;

    background:
        rgba(
            255,
            255,
            255,
            .045
        );
}

.tb-latam-auto-assessment
.tb-latam-auto-shell {

    position: relative;

    z-index: 1;

    max-width: 900px;
}

.tb-latam-auto-assessment h2 {

    max-width: 720px;

    margin-bottom: 18px;

    color: #ffffff;

    font-size:
        clamp(
            2.25rem,
            4.6vw,
            3.55rem
        );

    line-height: 1.02;

    letter-spacing: -.047em;
}

.tb-latam-auto-assessment p {

    max-width: 680px;

    color: #c9d7e8;

    font-size: 1.07rem;

    line-height: 1.74;
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 900px) {

    .tb-latam-auto-flow-grid {

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

}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 640px) {

    .tb-latam-auto-seo
    .entry-content > h1 {

        padding:
            54px
            18px
            22px;

        font-size:
            clamp(
                2.1rem,
                11vw,
                3.1rem
            );
    }

    .tb-latam-auto-seo
    .entry-content > h1::before {

        font-size: .64rem;

        letter-spacing: .1em;
    }

    .tb-latam-auto-seo
    .entry-content > h1 + p,

    .tb-latam-auto-seo
    .entry-content > h1 + p + p {

        padding-left: 18px;
        padding-right: 18px;
    }

    .tb-latam-auto-seo
    .entry-content > h1 + p + p {

        padding-bottom: 42px;
    }

    .tb-latam-auto-shell {

        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-workflow {

        padding:
            54px 0
            60px;
    }

    .tb-latam-auto-workflow-head {

        text-align: left;

        margin-bottom: 28px;
    }

    .tb-latam-auto-flow-grid {

        grid-template-columns:
            1fr;

        gap: 15px;
    }

    .tb-latam-auto-flow-card {

        min-height: auto;

        padding:
            25px 22px;
    }

    .tb-latam-auto-seo
    .entry-content > h2,

    .tb-latam-auto-seo
    .entry-content > p,

    .tb-latam-auto-seo
    .entry-content > ul,

    .tb-latam-auto-seo
    .entry-content > ol,

    .tb-latam-auto-seo
    .entry-content > blockquote {

        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-seo
    .entry-content > h2 {

        margin-top: 54px;

        font-size: 1.5rem;
    }

    .tb-latam-auto-seo
    .entry-content > p {

        font-size: .98rem;

        line-height: 1.77;
    }

    .tb-latam-auto-actions {

        align-items: stretch;
    }

    .tb-latam-auto-btn {

        width: 100%;
    }

    .tb-latam-auto-assessment {

        margin-top: 64px;

        padding:
            64px 0;
    }

}

/* ===== TUBOLETO LATAM AUTO SEO POLISH V3 END ===== */

/* ===== TUBOLETO LATAM AUTO SEO HERO V4 START ===== */

/*
 * Stable autonomous SEO layout.
 * Independent of LATAM theme's lack of .entry-content.
 */


/* -----------------------------------------------
   HERO
   ----------------------------------------------- */

.tb-latam-auto-hero {
    position: relative;
    overflow: hidden;

    width: 100%;

    padding:
        78px 0
        62px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 84% 10%,
            rgba(56, 125, 220, .82),
            transparent 31%
        ),
        radial-gradient(
            circle at 20% 110%,
            rgba(32, 92, 166, .30),
            transparent 34%
        ),
        linear-gradient(
            125deg,
            #06172a 0%,
            #0a294d 45%,
            #164f8d 100%
        );
}

.tb-latam-auto-hero::after {
    content: "";

    position: absolute;

    right: -110px;
    bottom: -180px;

    width: 390px;
    height: 390px;

    border-radius: 50%;

    background:
        rgba(
            255,
            255,
            255,
            .035
        );
}

.tb-latam-auto-hero-inner {
    position: relative;
    z-index: 1;

    width:
        min(
            1080px,
            calc(100% - 48px)
        );

    margin: 0 auto;
}

.tb-latam-auto-hero h1 {
    max-width: 900px;

    margin:
        0 0
        25px;

    padding: 0;

    color: #ffffff;

    background: none;

    font-size:
        clamp(
            2.75rem,
            5.8vw,
            4.9rem
        );

    line-height: .98;

    letter-spacing: -.054em;

    font-weight: 850;
}

.tb-latam-auto-hero h1::before {
    content:
        "TU BOLETO LATAM  •  ENTRADA AL MERCADO CANADIENSE";

    display: block;

    margin-bottom: 19px;

    color: #ff5965;

    font-size: .73rem;

    font-weight: 850;

    line-height: 1.2;

    letter-spacing: .15em;

    text-transform: uppercase;
}

.tb-latam-auto-hero p {
    max-width: 900px;

    margin:
        0 0
        17px;

    padding: 0;

    color: #d3dfed;

    background: none;

    font-size: 1.04rem;

    line-height: 1.76;
}

.tb-latam-auto-hero p:first-of-type {
    color: #e3ecf7;

    font-size: 1.11rem;
}


/* -----------------------------------------------
   WORKFLOW SHOULD FOLLOW HERO DIRECTLY
   ----------------------------------------------- */

.tb-latam-auto-hero
+ .tb-latam-auto-workflow {
    margin-top: 0;
}


/* -----------------------------------------------
   STABLE ARTICLE WRAPPER
   ----------------------------------------------- */

.tb-latam-auto-article {
    position: relative;

    width: 100%;

    padding:
        4px 0
        20px;

    background: #f6f9fc;
}

.tb-latam-auto-article > h2,
.tb-latam-auto-article > p,
.tb-latam-auto-article > ul,
.tb-latam-auto-article > ol,
.tb-latam-auto-article > blockquote {

    width:
        min(
            880px,
            calc(100% - 48px)
        );

    margin-left: auto;
    margin-right: auto;
}

.tb-latam-auto-article > h2 {
    margin-top: 70px;
    margin-bottom: 23px;

    color: #0c2039;

    font-size:
        clamp(
            1.6rem,
            3vw,
            2.12rem
        );

    line-height: 1.13;

    letter-spacing: -.03em;

    font-weight: 830;
}

.tb-latam-auto-article > h2::before {
    content: "";

    display: block;

    width: 38px;
    height: 4px;

    margin-bottom: 15px;

    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            #ef3340,
            #ff6a74
        );
}

.tb-latam-auto-article > p {
    margin-top: 0;
    margin-bottom: 20px;

    color: #425269;

    font-size: 1.02rem;

    line-height: 1.84;
}

.tb-latam-auto-article > ul,
.tb-latam-auto-article > ol {
    margin-top: 20px;
    margin-bottom: 30px;

    padding-left: 32px;

    color: #425269;

    font-size: 1rem;

    line-height: 1.78;
}


/* -----------------------------------------------
   MOBILE
   ----------------------------------------------- */

@media (max-width: 640px) {

    .tb-latam-auto-hero {
        padding:
            54px 0
            44px;
    }

    .tb-latam-auto-hero-inner {
        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-hero h1 {
        font-size:
            clamp(
                2.1rem,
                11vw,
                3.15rem
            );

        line-height: 1;
    }

    .tb-latam-auto-hero h1::before {
        font-size: .64rem;
        letter-spacing: .1em;
    }

    .tb-latam-auto-hero p {
        font-size: .97rem;
        line-height: 1.7;
    }

    .tb-latam-auto-article > h2,
    .tb-latam-auto-article > p,
    .tb-latam-auto-article > ul,
    .tb-latam-auto-article > ol,
    .tb-latam-auto-article > blockquote {

        width:
            calc(100% - 32px);
    }

    .tb-latam-auto-article > h2 {
        margin-top: 52px;
        font-size: 1.5rem;
    }

    .tb-latam-auto-article > p {
        font-size: .98rem;
        line-height: 1.77;
    }
}

/* ===== TUBOLETO LATAM AUTO SEO HERO V4 END ===== */

/* ===== TUBOLETO LATAM ARTICLE POLISH V5 START ===== */

/*
 * Reusable final article treatment.
 *
 * Applies automatically to current and future
 * Spanish autonomous SEO pages.
 */


/* ==================================================
   JUSTIFIED DESKTOP ARTICLE COPY
   ================================================== */

body.tb-latam-auto-seo
.tb-latam-auto-article > p {

    text-align: justify;

    text-justify: inter-word;

    hyphens: auto;

    -webkit-hyphens: auto;

    overflow-wrap: break-word;

    line-height: 1.82;
}


/*
 * Lists remain left aligned for easier scanning.
 */

body.tb-latam-auto-seo
.tb-latam-auto-article > ul,

body.tb-latam-auto-seo
.tb-latam-auto-article > ol {

    text-align: left;
}


/* ==================================================
   ARTICLE SECTION HEADINGS
   ================================================== */

body.tb-latam-auto-seo
.tb-latam-auto-article > h2 {

    display: flex;

    align-items: flex-start;

    gap: 13px;

    position: relative;

    margin-top: 66px;

    margin-bottom: 19px;

    line-height: 1.16;
}


/*
 * Replace the old small red line with the premium
 * colored circular section badge.
 */

body.tb-latam-auto-seo
.tb-latam-auto-article > h2::before {

    content: "⌕";

    display: inline-grid;

    place-items: center;

    flex:
        0 0
        34px;

    width: 34px;

    height: 34px;

    margin:
        -4px 0 0;

    border-radius: 50%;

    color: #ffffff;

    background: #ef3340;

    font-size: 15px;

    font-weight: 900;

    line-height: 1;

    box-shadow:
        0 5px 14px
        rgba(
            14,
            36,
            65,
            .14
        );
}


/* ==================================================
   AUTOMATIC COLOR / ICON ROTATION
   ================================================== */

/*
 * This repeats automatically for any number
 * of future article sections.
 */


/* RED */

body.tb-latam-auto-seo
.tb-latam-auto-article
> h2:nth-of-type(4n + 1)::before {

    content: "⌕";

    background: #ef3340;
}


/* BLUE */

body.tb-latam-auto-seo
.tb-latam-auto-article
> h2:nth-of-type(4n + 2)::before {

    content: "→";

    background: #276ef1;
}


/* GREEN */

body.tb-latam-auto-seo
.tb-latam-auto-article
> h2:nth-of-type(4n + 3)::before {

    content: "✓";

    background: #20a464;
}


/* PURPLE */

body.tb-latam-auto-seo
.tb-latam-auto-article
> h2:nth-of-type(4n)::before {

    content: "◆";

    background: #7557e8;
}


/* ==================================================
   FIRST PARAGRAPH ACCENT
   ================================================== */

body.tb-latam-auto-seo
.tb-latam-auto-article
> h2 + p {

    position: relative;

    padding-left: 18px;
}


body.tb-latam-auto-seo
.tb-latam-auto-article
> h2 + p::before {

    content: "";

    position: absolute;

    top: 4px;

    bottom: 4px;

    left: 0;

    width: 3px;

    border-radius: 10px;

    background:
        linear-gradient(
            180deg,
            #ef3340,
            rgba(
                239,
                51,
                64,
                .13
            )
        );
}


/* ==================================================
   ARTICLE RHYTHM
   ================================================== */

body.tb-latam-auto-seo
.tb-latam-auto-article > p {

    margin-bottom: 20px;
}


body.tb-latam-auto-seo
.tb-latam-auto-article > ul,

body.tb-latam-auto-seo
.tb-latam-auto-article > ol {

    margin-top: 18px;

    margin-bottom: 28px;

    line-height: 1.75;
}


/* ==================================================
   ARTICLE LINKS
   ================================================== */

body.tb-latam-auto-seo
.tb-latam-auto-article p a {

    font-weight: 700;

    text-decoration-thickness: 1px;

    text-underline-offset: 3px;
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 700px) {

    /*
     * Do not justify narrow mobile columns.
     */

    body.tb-latam-auto-seo
    .tb-latam-auto-article > p {

        text-align: left;

        hyphens: none;

        line-height: 1.76;
    }


    body.tb-latam-auto-seo
    .tb-latam-auto-article > h2 {

        gap: 10px;

        margin-top: 50px;
    }


    body.tb-latam-auto-seo
    .tb-latam-auto-article
    > h2::before {

        flex-basis: 30px;

        width: 30px;

        height: 30px;

        margin-top: -2px;

        font-size: 13px;
    }


    body.tb-latam-auto-seo
    .tb-latam-auto-article
    > h2 + p {

        padding-left: 14px;
    }

}

/* ===== TUBOLETO LATAM ARTICLE POLISH V5 END ===== */
