/* =========================================================
   TRAVEL09 — SINGLE BLOG POST
   Full Enterprise Frontend Styles
   File:
   /assets/css/blog-post.css
   ========================================================= */


/* =========================================================
   ROOT / BASE
   ========================================================= */

.bp-page,
.bp-page *{
    box-sizing:border-box;
}

.bp-page{
    --bp-deep:#03131F;
    --bp-navy:#071E32;
    --bp-navy-2:#0B2D46;

    --bp-teal:#087E8B;
    --bp-aqua:#16B8C4;
    --bp-aqua-soft:#EAF7F8;

    --bp-gold:#D6AD60;

    --bp-text:#173447;
    --bp-text-2:#354F60;

    --bp-muted:#718391;
    --bp-muted-2:#8B9BA4;

    --bp-bg:#F5F8FA;
    --bp-bg-soft:#FAFCFD;

    --bp-border:#DFE8ED;
    --bp-border-soft:#E8EEF1;

    --bp-white:#FFFFFF;

    color:var(--bp-text);

    background:var(--bp-white);

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

    font-size:16px;

    line-height:1.72;

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

.bp-page img{
    max-width:100%;
}

.bp-page a{
    text-underline-offset:3px;
}

.bp-shell{
    width:min(
        calc(100% - 80px),
        1440px
    );

    margin:0 auto;
}


/* =========================================================
   BREADCRUMB
   ========================================================= */

.bp-breadcrumb{
    border-bottom:
        1px solid
        var(--bp-border);

    background:#FFFFFF;
}

.bp-breadcrumb nav{
    min-height:54px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:8px;

    color:#8396A1;

    font-size:10px;
}

.bp-breadcrumb a{
    color:#607B8A;

    text-decoration:none;

    transition:
        color .2s ease;
}

.bp-breadcrumb a:hover{
    color:var(--bp-teal);
}

.bp-breadcrumb span{
    color:#A6B4BC;
}

.bp-breadcrumb strong{
    max-width:620px;

    overflow:hidden;

    color:var(--bp-navy);

    font-weight:750;

    text-overflow:ellipsis;

    white-space:nowrap;
}


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

.bp-hero{
    position:relative;

    overflow:hidden;

    padding:
        78px 0 70px;

    color:#FFFFFF;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(22,184,196,.21),
            transparent 29%
        ),
        radial-gradient(
            circle at 7% 90%,
            rgba(214,173,96,.09),
            transparent 24%
        ),
        linear-gradient(
            145deg,
            var(--bp-deep),
            var(--bp-navy) 58%,
            var(--bp-navy-2)
        );
}

.bp-hero::before{
    content:"";

    position:absolute;

    inset:0;

    opacity:.13;

    background-image:
        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:
        52px 52px;

    pointer-events:none;
}

.bp-hero::after{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-170px;
    top:-170px;

    border:
        1px solid
        rgba(255,255,255,.06);

    border-radius:50%;

    pointer-events:none;
}

.bp-hero .bp-shell{
    position:relative;

    z-index:2;
}

.bp-hero__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        360px;

    gap:68px;

    align-items:end;
}

.bp-hero__content{
    min-width:0;
}


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

.bp-hero__meta{
    display:flex;
    flex-wrap:wrap;

    gap:7px;
}

.bp-hero__meta span{
    min-height:29px;

    display:inline-flex;
    align-items:center;

    padding:0 10px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:999px;

    color:#BCD0DA;

    background:
        rgba(255,255,255,.025);

    font-size:9px;
    font-weight:800;

    letter-spacing:.02em;
}

.bp-hero__meta .bp-category{
    border-color:
        rgba(22,184,196,.34);

    background:
        rgba(22,184,196,.08);

    color:#8BE4E9;
}


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

.bp-hero h1{
    max-width:1040px;

    margin:
        18px 0 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            50px,
            5.15vw,
            80px
        );

    font-weight:600;

    line-height:1.01;

    letter-spacing:-.045em;

    text-wrap:balance;
}

.bp-hero__lead{
    max-width:840px;

    margin:
        22px 0 0;

    color:#BCD0DA;

    font-size:17px;

    line-height:1.82;

    text-wrap:pretty;
}


/* =========================================================
   AUTHOR
   ========================================================= */

.bp-author{
    display:flex;

    align-items:center;

    gap:12px;

    margin-top:28px;
}

.bp-author__mark{
    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    flex:none;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:13px;

    background:
        linear-gradient(
            135deg,
            var(--bp-teal),
            var(--bp-aqua)
        );

    color:#FFFFFF;

    box-shadow:
        0 8px 24px
        rgba(22,184,196,.18);

    font-size:13px;
    font-weight:900;
}

.bp-author strong{
    display:block;

    color:#FFFFFF;

    font-size:11px;

    font-weight:800;
}

.bp-author span{
    display:block;

    margin-top:3px;

    color:#91A9B7;

    font-size:9px;
}


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

.bp-hero__aside{
    padding:24px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:19px;

    background:
        rgba(255,255,255,.05);

    box-shadow:
        0 18px 60px
        rgba(0,0,0,.08);

    backdrop-filter:
        blur(14px);
}

.bp-hero__aside > div:first-child > span{
    color:#80DFE5;

    font-size:9px;
    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.bp-hero__aside > div:first-child > strong{
    display:block;

    margin:
        9px 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:24px;

    font-weight:600;

    line-height:1.28;
}

.bp-hero__aside p{
    margin:
        0;

    color:#A8BDC8;

    font-size:11px;

    line-height:1.75;
}


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

.bp-hero__stats{
    display:grid;

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

    gap:8px;

    margin-top:19px;
}

.bp-hero__stats > div{
    padding:12px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius:9px;

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

.bp-hero__stats span{
    display:block;

    color:#829BA9;

    font-size:8px;

    letter-spacing:.04em;

    text-transform:uppercase;
}

.bp-hero__stats strong{
    display:block;

    margin-top:3px;

    color:#FFFFFF;

    font-size:11px;

    font-weight:800;
}


/* =========================================================
   FEATURED IMAGE
   ========================================================= */

.bp-featured{
    position:relative;

    margin-top:-1px;

    background:
        linear-gradient(
            180deg,
            var(--bp-navy) 44%,
            #FFFFFF 44%
        );
}

.bp-featured figure{
    position:relative;

    overflow:hidden;

    margin:0;

    aspect-ratio:
        16 / 7;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:21px;

    background:#DCE5EA;

    box-shadow:
        0 32px 85px
        rgba(7,30,50,.17);
}

.bp-featured img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.bp-featured figure::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 70%,
            rgba(2,16,26,.10)
        );

    pointer-events:none;
}


/* =========================================================
   ARTICLE AREA
   ========================================================= */

.bp-article-section{
    padding:
        76px 0 88px;
}

.bp-layout{
    display:grid;

    grid-template-columns:
        220px
        minmax(0,840px);

    justify-content:center;

    gap:58px;

    align-items:start;
}


/* =========================================================
   ARTICLE SIDEBAR
   ========================================================= */

.bp-sidebar{
    position:sticky;

    top:105px;
}

.bp-sidebar > span{
    color:var(--bp-teal);

    font-size:9px;

    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}


/* =========================================================
   SIDEBAR META
   ========================================================= */

.bp-sidebar__meta{
    display:grid;

    gap:1px;

    margin-top:12px;

    overflow:hidden;

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

    border-radius:12px;

    background:
        var(--bp-border-soft);
}

.bp-sidebar__meta > div{
    padding:13px;

    background:#FAFCFD;
}

.bp-sidebar__meta span{
    display:block;

    color:#8B9BA4;

    font-size:8px;

    letter-spacing:.03em;

    text-transform:uppercase;
}

.bp-sidebar__meta strong{
    display:block;

    margin-top:2px;

    color:var(--bp-navy);

    font-size:10px;

    font-weight:800;
}


/* =========================================================
   SHARE
   ========================================================= */

.bp-share{
    display:grid;

    gap:6px;

    margin-top:17px;
}

.bp-share > span{
    color:#8B9BA4;

    font-size:8px;

    font-weight:850;

    letter-spacing:.05em;

    text-transform:uppercase;
}

.bp-share button{
    min-height:39px;

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

    border-radius:8px;

    background:#FFFFFF;

    color:#547080;

    cursor:pointer;

    font:inherit;

    font-size:9px;

    font-weight:800;

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

.bp-share button:hover{
    border-color:
        #BFDCE0;

    background:
        #F3FAFB;

    color:
        var(--bp-teal);

    transform:
        translateY(-1px);
}

.bp-sidebar__back{
    display:inline-flex;

    align-items:center;

    margin-top:17px;

    color:
        var(--bp-teal);

    text-decoration:none;

    font-size:9px;

    font-weight:800;
}


/* =========================================================
   ARTICLE CONTENT
   ========================================================= */

.bp-content{
    min-width:0;

    color:
        var(--bp-text-2);

    font-size:17px;

    line-height:1.92;
}

.bp-content > *:first-child{
    margin-top:0;
}

.bp-content p{
    margin:
        0 0 1.48em;

    color:
        #395463;

    text-wrap:pretty;
}


/* =========================================================
   HEADINGS
   ========================================================= */

.bp-content h2{
    scroll-margin-top:120px;

    margin:
        1.65em 0 .6em;

    color:
        var(--bp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            31px,
            3vw,
            44px
        );

    font-weight:600;

    line-height:1.14;

    letter-spacing:-.028em;

    text-wrap:balance;
}

.bp-content h3{
    scroll-margin-top:120px;

    margin:
        1.7em 0 .55em;

    color:
        var(--bp-navy);

    font-size:23px;

    font-weight:800;

    line-height:1.32;
}

.bp-content h4{
    scroll-margin-top:120px;

    margin:
        1.5em 0 .5em;

    color:
        var(--bp-navy);

    font-size:18px;

    font-weight:800;
}

.bp-content h5,
.bp-content h6{
    color:
        var(--bp-navy);

    font-weight:800;
}


/* =========================================================
   INLINE CONTENT
   ========================================================= */

.bp-content strong,
.bp-content b{
    color:
        #173B50;

    font-weight:800;
}

.bp-content em{
    color:
        #4A6677;
}

.bp-content a{
    color:
        var(--bp-teal);

    text-decoration-thickness:1px;

    text-underline-offset:3px;

    transition:
        color .2s ease;
}

.bp-content a:hover{
    color:
        #05616C;
}


/* =========================================================
   LISTS
   ========================================================= */

.bp-content ul,
.bp-content ol{
    margin:
        0 0 1.55em;

    padding-left:24px;
}

.bp-content li{
    margin-bottom:8px;

    padding-left:4px;
}

.bp-content li::marker{
    color:
        var(--bp-teal);

    font-weight:800;
}


/* =========================================================
   IMAGES
   ========================================================= */

.bp-content img{
    max-width:100%;

    height:auto;

    display:block;

    margin:
        34px auto;

    border-radius:15px;

    background:#EDF2F5;

    box-shadow:
        0 12px 38px
        rgba(7,30,50,.07);
}

.bp-content figure{
    margin:
        34px 0;
}

.bp-content figure img{
    margin:0;
}

.bp-content figcaption{
    max-width:720px;

    margin:
        9px auto 0;

    color:#83949E;

    font-size:11px;

    line-height:1.6;

    text-align:center;
}


/* =========================================================
   BLOCKQUOTE
   ========================================================= */

.bp-content blockquote{
    position:relative;

    margin:
        38px 0;

    padding:
        24px 26px 24px 28px;

    border-left:
        4px solid
        var(--bp-aqua);

    border-radius:
        0 13px 13px 0;

    background:
        linear-gradient(
            135deg,
            #F0F8F9,
            #F8FBFC
        );

    color:
        #355968;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:22px;

    font-weight:600;

    line-height:1.55;
}

.bp-content blockquote p{
    margin:0;

    color:inherit;

    font:inherit;
}


/* =========================================================
   TABLES
   ========================================================= */

.bp-content table{
    width:100%;

    margin:
        32px 0;

    border-collapse:separate;

    border-spacing:0;

    overflow:hidden;

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

    border-radius:12px;

    background:#FFFFFF;
}

.bp-content th,
.bp-content td{
    padding:
        13px 15px;

    border-bottom:
        1px solid
        var(--bp-border);

    border-right:
        1px solid
        var(--bp-border);

    text-align:left;

    vertical-align:top;

    font-size:13px;

    line-height:1.65;
}

.bp-content th{
    background:
        #F4F8F9;

    color:
        var(--bp-navy);

    font-size:10px;

    font-weight:850;

    letter-spacing:.03em;

    text-transform:uppercase;
}

.bp-content tr:last-child td{
    border-bottom:0;
}

.bp-content th:last-child,
.bp-content td:last-child{
    border-right:0;
}


/* =========================================================
   CODE
   ========================================================= */

.bp-content code{
    padding:
        2px 6px;

    border-radius:5px;

    background:#EFF4F6;

    color:#315365;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size:.88em;
}

.bp-content pre{
    overflow:auto;

    margin:
        30px 0;

    padding:18px;

    border-radius:12px;

    background:#081C2C;

    color:#DDEBF1;

    font-size:13px;

    line-height:1.7;
}

.bp-content pre code{
    padding:0;

    background:transparent;

    color:inherit;
}


/* =========================================================
   HORIZONTAL RULE
   ========================================================= */

.bp-content hr{
    margin:
        46px 0;

    border:0;

    border-top:
        1px solid
        var(--bp-border);
}


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

.bp-destination-cta{
    padding:
        0 0 82px;
}

.bp-destination-cta__panel{
    display:grid;

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

    gap:38px;

    align-items:center;

    padding:
        36px;

    border:
        1px solid
        rgba(255,255,255,.06);

    border-radius:21px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(22,184,196,.14),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            var(--bp-navy),
            #0A344E
        );

    color:#FFFFFF;

    box-shadow:
        0 18px 55px
        rgba(7,30,50,.10);
}

.bp-destination-cta__panel
> div:first-child
> span{
    color:#7FDFE6;

    font-size:9px;

    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.bp-destination-cta h2{
    margin:
        6px 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            30px,
            3vw,
            44px
        );

    font-weight:600;

    line-height:1.12;

    letter-spacing:-.025em;
}

.bp-destination-cta p{
    max-width:680px;

    margin:0;

    color:#AAC0CB;

    font-size:12px;

    line-height:1.75;
}

.bp-destination-cta__links{
    display:grid;

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

    gap:7px;
}

.bp-destination-cta__links a{
    min-width:126px;

    min-height:40px;

    display:flex;

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

    padding:
        0 13px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:8px;

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

    color:#E4EEF3;

    text-decoration:none;

    font-size:9px;

    font-weight:800;

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

.bp-destination-cta__links a:hover{
    border-color:
        rgba(127,223,230,.40);

    background:
        rgba(22,184,196,.10);

    transform:
        translateY(-1px);
}


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

.bp-section-head{
    display:flex;

    align-items:end;
    justify-content:space-between;

    gap:30px;
}

.bp-section-head
> div
> span{
    color:
        var(--bp-teal);

    font-size:9px;

    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.bp-section-head h2{
    margin:
        6px 0 0;

    color:
        var(--bp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            36px,
            4vw,
            52px
        );

    font-weight:600;

    line-height:1.08;

    letter-spacing:-.03em;
}

.bp-section-head > a{
    flex:none;

    color:
        var(--bp-teal);

    text-decoration:none;

    font-size:10px;

    font-weight:800;
}


/* =========================================================
   RELATED POSTS
   ========================================================= */

.bp-related{
    padding:
        82px 0;

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

.bp-related__grid{
    display:grid;

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

    gap:16px;

    margin-top:30px;
}

.bp-card{
    overflow:hidden;

    display:flex;

    flex-direction:column;

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

    border-radius:17px;

    background:#FFFFFF;

    box-shadow:
        0 10px 32px
        rgba(7,30,50,.045);

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

.bp-card:hover{
    transform:
        translateY(-3px);

    border-color:
        #CFDEE4;

    box-shadow:
        0 18px 44px
        rgba(7,30,50,.08);
}

.bp-card__image{
    display:block;

    aspect-ratio:
        16 / 10;

    overflow:hidden;

    background:#E8EFF2;
}

.bp-card__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .38s ease;
}

.bp-card:hover
.bp-card__image img{
    transform:
        scale(1.04);
}

.bp-card__body{
    flex:1;

    padding:19px;
}

.bp-card__body > span{
    color:
        var(--bp-teal);

    font-size:8px;

    font-weight:850;

    letter-spacing:.05em;

    text-transform:uppercase;
}

.bp-card h3{
    margin:
        7px 0;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:23px;

    font-weight:600;

    line-height:1.24;
}

.bp-card h3 a{
    color:
        var(--bp-navy);

    text-decoration:none;
}

.bp-card p{
    color:
        var(--bp-muted);

    font-size:11px;

    line-height:1.7;
}

.bp-card__link{
    display:inline-flex;

    margin-top:8px;

    color:
        var(--bp-teal);

    text-decoration:none;

    font-size:9px;

    font-weight:850;
}


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

.bp-final{
    padding:
        82px 0;
}

.bp-final__panel{
    display:flex;

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

    gap:38px;

    padding:
        40px;

    border-radius:23px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(22,184,196,.18),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            var(--bp-deep),
            var(--bp-navy)
        );

    color:#FFFFFF;

    box-shadow:
        0 18px 60px
        rgba(7,30,50,.10);
}

.bp-final span{
    color:#80DFE5;

    font-size:9px;

    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.bp-final h2{
    margin:
        6px 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            32px,
            3vw,
            46px
        );

    font-weight:600;

    line-height:1.1;

    letter-spacing:-.025em;
}

.bp-final p{
    max-width:720px;

    margin:0;

    color:#ADC1CC;

    font-size:12px;

    line-height:1.75;
}

.bp-final a{
    min-height:45px;

    display:inline-flex;

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

    flex:none;

    padding:
        0 17px;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            var(--bp-teal),
            var(--bp-aqua)
        );

    color:#FFFFFF;

    text-decoration:none;

    box-shadow:
        0 10px 28px
        rgba(22,184,196,.17);

    font-size:10px;

    font-weight:850;

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

.bp-final a:hover{
    transform:
        translateY(-1px);

    box-shadow:
        0 14px 32px
        rgba(22,184,196,.23);
}


/* =========================================================
   READING PROGRESS
   ========================================================= */

.bp-reading-progress{
    position:fixed;

    z-index:999;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:transparent;

    pointer-events:none;
}

.bp-reading-progress span{
    width:0;
    height:100%;

    display:block;

    background:
        linear-gradient(
            90deg,
            var(--bp-teal),
            var(--bp-aqua),
            var(--bp-gold)
        );

    transition:
        width .08s linear;
}


/* =========================================================
   EMPTY / ERROR STATES
   Optional reusable styles
   ========================================================= */

.bp-empty{
    max-width:760px;

    margin:
        80px auto;

    padding:
        45px 30px;

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

    border-radius:18px;

    background:#FFFFFF;

    text-align:center;
}

.bp-empty h1{
    margin:
        0 0 10px;

    color:
        var(--bp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        42px;

    font-weight:600;
}

.bp-empty p{
    color:
        var(--bp-muted);
}

.bp-empty a{
    display:inline-flex;

    align-items:center;

    min-height:42px;

    margin-top:10px;

    padding:
        0 15px;

    border-radius:8px;

    background:
        var(--bp-navy);

    color:#FFFFFF;

    text-decoration:none;

    font-size:10px;

    font-weight:800;
}


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

@media(max-width:1180px){

    .bp-shell{
        width:
            calc(100% - 40px);
    }

    .bp-hero__grid{
        grid-template-columns:
            minmax(0,1fr)
            310px;

        gap:42px;
    }

    .bp-layout{
        grid-template-columns:
            190px
            minmax(0,1fr);

        gap:40px;
    }

}


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

@media(max-width:960px){

    .bp-hero__grid{
        grid-template-columns:1fr;

        gap:30px;
    }

    .bp-hero__aside{
        max-width:700px;
    }

    .bp-layout{
        grid-template-columns:1fr;

        gap:30px;
    }

    .bp-sidebar{
        position:static;

        display:grid;

        grid-template-columns:
            1fr auto;

        gap:14px;

        align-items:start;
    }

    .bp-sidebar > span{
        grid-column:
            1 / -1;
    }

    .bp-sidebar__meta{
        margin-top:0;
    }

    .bp-share{
        margin-top:0;

        min-width:160px;
    }

    .bp-sidebar__back{
        display:none;
    }

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

}


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

@media(max-width:720px){

    .bp-shell{
        width:
            calc(100% - 24px);
    }

    .bp-breadcrumb nav{
        min-height:48px;

        font-size:9px;
    }

    .bp-breadcrumb strong{
        max-width:220px;
    }


    /* HERO */

    .bp-hero{
        padding:
            54px 0 48px;
    }

    .bp-hero h1{
        font-size:
            clamp(
                42px,
                12vw,
                58px
            );

        line-height:1.02;
    }

    .bp-hero__lead{
        font-size:15px;

        line-height:1.75;
    }

    .bp-author{
        margin-top:22px;
    }

    .bp-hero__aside{
        padding:19px;
    }


    /* FEATURED */

    .bp-featured{
        background:
            linear-gradient(
                180deg,
                var(--bp-navy) 35%,
                #FFFFFF 35%
            );
    }

    .bp-featured figure{
        aspect-ratio:
            4 / 3;

        border-radius:15px;
    }


    /* ARTICLE */

    .bp-article-section{
        padding:
            56px 0 62px;
    }

    .bp-sidebar{
        grid-template-columns:1fr;
    }

    .bp-share{
        min-width:0;
    }

    .bp-content{
        font-size:16px;

        line-height:1.84;
    }

    .bp-content h2{
        font-size:
            clamp(
                29px,
                8vw,
                37px
            );
    }

    .bp-content h3{
        font-size:21px;
    }

    .bp-content blockquote{
        margin:
            30px 0;

        padding:
            20px 19px;

        font-size:20px;
    }

    .bp-content table{
        display:block;

        overflow-x:auto;

        white-space:nowrap;
    }


    /* DESTINATION CTA */

    .bp-destination-cta{
        padding-bottom:58px;
    }

    .bp-destination-cta__panel{
        grid-template-columns:1fr;

        gap:25px;

        padding:
            28px 21px;
    }

    .bp-destination-cta__links{
        grid-template-columns:1fr;
    }

    .bp-destination-cta__links a{
        width:100%;
    }


    /* RELATED */

    .bp-related{
        padding:
            58px 0;
    }

    .bp-section-head{
        align-items:flex-start;

        flex-direction:column;

        gap:12px;
    }

    .bp-related__grid{
        grid-template-columns:1fr;
    }


    /* FINAL */

    .bp-final{
        padding:
            58px 0;
    }

    .bp-final__panel{
        align-items:flex-start;

        flex-direction:column;

        gap:24px;

        padding:
            29px 21px;
    }

    .bp-final a{
        width:100%;
    }

}


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

@media(max-width:460px){

    .bp-shell{
        width:
            calc(100% - 18px);
    }

    .bp-hero{
        padding:
            46px 0 42px;
    }

    .bp-hero__meta{
        gap:5px;
    }

    .bp-hero__meta span{
        min-height:27px;

        padding:
            0 8px;

        font-size:8px;
    }

    .bp-author__mark{
        width:40px;
        height:40px;
    }

    .bp-hero__stats{
        grid-template-columns:1fr;
    }

    .bp-featured figure{
        border-radius:12px;
    }

    .bp-content{
        font-size:15px;
    }

    .bp-content blockquote{
        font-size:18px;
    }

    .bp-card h3{
        font-size:21px;
    }

}


/* =========================================================
   TOUCH DEVICES
   ========================================================= */

@media(pointer:coarse){

    .bp-share button,
    .bp-final a,
    .bp-destination-cta__links a{
        min-height:44px;
    }

}


/* =========================================================
   HOVER-FREE DEVICES
   ========================================================= */

@media(hover:none){

    .bp-card:hover,
    .bp-share button:hover,
    .bp-final a:hover,
    .bp-destination-cta__links a:hover{
        transform:none;
    }

    .bp-card:hover
    .bp-card__image img{
        transform:none;
    }

}


/* =========================================================
   SAFE AREA
   ========================================================= */

@supports(
    padding:max(0px)
){

    @media(max-width:720px){

        .bp-page{
            padding-left:
                env(
                    safe-area-inset-left
                );

            padding-right:
                env(
                    safe-area-inset-right
                );
        }

    }

}


/* =========================================================
   PRINT
   ========================================================= */

@media print{

    .bp-breadcrumb,
    .bp-sidebar,
    .bp-destination-cta,
    .bp-related,
    .bp-final,
    .bp-reading-progress,
    .t09-topbar,
    .t09-header,
    footer{
        display:none !important;
    }

    .bp-page{
        color:#000000;

        background:#FFFFFF;
    }

    .bp-hero{
        padding:
            20px 0;

        color:#000000;

        background:#FFFFFF;
    }

    .bp-hero::before,
    .bp-hero::after{
        display:none;
    }

    .bp-hero__grid{
        display:block;
    }

    .bp-hero__aside{
        display:none;
    }

    .bp-hero h1,
    .bp-author strong{
        color:#000000;
    }

    .bp-hero__lead,
    .bp-author span{
        color:#555555;
    }

    .bp-featured{
        background:#FFFFFF;
    }

    .bp-featured figure{
        box-shadow:none;
    }

    .bp-article-section{
        padding:
            20px 0;
    }

    .bp-layout{
        display:block;
    }

    .bp-content{
        max-width:none;

        color:#000000;

        font-size:12pt;

        line-height:1.6;
    }

    .bp-content h2,
    .bp-content h3,
    .bp-content h4{
        color:#000000;
    }

    .bp-content img,
    .bp-content figure,
    .bp-content blockquote,
    .bp-content table{
        break-inside:avoid;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .bp-page *,
    .bp-page *::before,
    .bp-page *::after{
        scroll-behavior:auto !important;

        animation:none !important;

        transition:none !important;
    }

}
