/* Editorial long-form layout for Vela journal posts. */
.vela-journal-page { background: #fff; }
.vela-journal-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: flex-end;
    background-size: cover;
    background-position: center 48%;
    color: #fff;
}
.vela-journal-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(2, 24, 42, .78) 0%, rgba(2, 24, 42, .48) 52%, rgba(2, 24, 42, .2) 100%), linear-gradient(0deg, rgba(2, 24, 42, .74), transparent 72%);
}
.vela-journal-hero-content { position: relative; width: 100%; padding-top: 175px; padding-bottom: 74px; }
.vela-journal-breadcrumb {display: flex;align-items: center;gap: 12px;margin-bottom: 52px;color: rgba(255,255,255,.78);font-size: 13px;display: none;}
.vela-journal-breadcrumb a:hover { color: var(--vela-gold); }
.vela-journal-breadcrumb span { opacity: .55; }
.vela-journal-eyebrow {display: block;color: var(--vela-gold);font-size: 12px;font-weight: 700;letter-spacing: .22em;text-transform: uppercase;display: none;}
.vela-journal-hero h1 {max-width: 910px;margin: 17px 0 18px;color: #fff;font-family: var(--vela-font-heading);font-size: clamp(44px, 4.4vw, 52px);font-weight: 400;line-height: 1.13;letter-spacing: -.025em;}
.vela-journal-deck { max-width: 720px; color: rgba(255,255,255,.89); font-size: 17px; line-height: 1.65; }
.vela-journal-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 27px; color: rgba(255,255,255,.82); font-size: 13px; }
.vela-journal-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--vela-gold); }

.vela-journal-shell {max-width: 1330px;padding-top: 50px;padding-bottom: 94px;}
.vela-journal-layout { display: grid; grid-template-columns: minmax(0, 780px) minmax(260px, 300px); justify-content: space-between; gap: clamp(46px, 5vw, 90px); align-items: start; }
.vela-journal-article { min-width: 0; }
.vela-journal-article-topline {display: flex;align-items: center;justify-content: space-between;gap: 24px;padding-bottom: 24px;margin-bottom: 33px;border-bottom: 1px solid #e8e4dc;color: #b38c4f;font-size: 16px;font-weight: 600;}
.vela-journal-article-topline a { color: var(--vela-navy); font-weight: 500; }
.vela-journal-article-topline a:hover { color: var(--vela-gold); }
.vela-journal-copy {color: #3d4854;font-size: 18px;line-height: 1.9;font-weight: 300;}
.vela-journal-copy > p:first-child { color: var(--vela-navy); font-size: 20px; line-height: 1.78; }
.vela-journal-copy p { margin: 0 0 27px; }
.vela-journal-copy h2,
.vela-journal-copy h3 { color: var(--vela-navy); font-family: var(--vela-font-heading); font-weight: 400; letter-spacing: -.01em; line-height: 1.3; scroll-margin-top: 125px; }
.vela-journal-copy h2 {margin: 40px 0 20px;padding-top: 3px;font-size: clamp(30px, 2.6vw, 32px);}
.vela-journal-copy h2::before {content: '';display: block;width: 42px;height: 2px;margin-bottom: 2px;background: var(--vela-gold);}
.vela-journal-copy h3 { margin: 36px 0 16px; font-size: 26px; }
.vela-journal-copy ul,
.vela-journal-copy ol { margin: 0 0 30px; padding-left: 27px; }
.vela-journal-copy ul { list-style: disc; }
.vela-journal-copy ol { list-style: decimal; }
.vela-journal-copy li { padding-left: 7px; margin: 0 0 11px; }
.vela-journal-copy strong { color: var(--vela-navy); }
.vela-journal-copy a { color: #9a713a; text-decoration: underline; text-underline-offset: 3px; }
.vela-journal-copy a:hover { color: var(--vela-navy); }
.vela-journal-copy blockquote { margin: 38px 0; padding: 16px 30px; border-left: 3px solid var(--vela-gold); background: #f8f6f1; color: var(--vela-navy); font-family: var(--vela-font-heading); font-size: 23px; font-style: italic; }
.vela-journal-copy figure { margin: 40px 0; }
.vela-journal-copy figure img { width: 100%; height: auto; border-radius: 3px; }
.vela-journal-copy figcaption { margin-top: 11px; color: #7b858e; font-size: 13px; text-align: center; }
.vela-journal-copy img { max-width: 100%; }
.vela-journal-ending {display: flex;justify-content: center;align-items: center;gap: 20px;margin: 30px 0;color: var(--vela-gold);}
.vela-journal-ending::before,
.vela-journal-ending::after { content: ''; width: 80px; height: 1px; background: #ddd5c7; }

.vela-journal-sidebar { position: sticky; top: 112px; }
.vela-journal-sidebar-inner { position: static; }
.vela-journal-sidebar-label { color: #af8950; font-size: 11px; font-weight: 700; letter-spacing: .19em; }
.vela-journal-toc { padding: 28px 27px 24px; border: 1px solid #e8e4dc; background: #fcfbf8; }
.vela-journal-toc ol { margin: 20px 0 0; list-style: none; }
.vela-journal-toc li + li { border-top: 1px solid #ebe7df; }
.vela-journal-toc a { display: flex; gap: 16px; padding: 13px 0; color: var(--vela-navy); font-size: 14px; line-height: 1.5; }
.vela-journal-toc a:hover { color: #af8950; }
.vela-journal-toc a span { flex: none; color: #b4935e; font-size: 12px; font-weight: 700; }
.vela-journal-hotel-card { margin-top: 22px; padding: 29px 27px 30px; background: var(--vela-navy); color: #fff; }
.vela-journal-hotel-card h2 { margin: 19px 0 11px; color: #fff; font-family: var(--vela-font-heading); font-size: 29px; font-weight: 400; }
.vela-journal-hotel-card p { margin-bottom: 23px; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.7; }
.vela-journal-hotel-card a { display: inline-flex; gap: 8px; align-items: center; color: #d9bb83; font-size: 14px; font-weight: 600; }
.vela-journal-hotel-card a:hover { color: #fff; }

.vela-journal-cta { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 38px 42px; background: #f4f1ea; }
.vela-journal-cta-eyebrow { color: #ab874f; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.vela-journal-cta h2 { max-width: 390px; margin: 11px 0 9px; color: var(--vela-navy); font-family: var(--vela-font-heading); font-size: 29px; font-weight: 400; line-height: 1.25; }
.vela-journal-cta p { max-width: 430px; color: #536171; font-size: 14px; line-height: 1.7; }
.vela-journal-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; flex: none; }
.vela-journal-room-link { color: var(--vela-navy); font-size: 14px; font-weight: 600; }
.vela-journal-room-link:hover { color: #a47c43; }
.vela-journal-booking-link { min-width: 128px; padding: 10px 24px; border-radius: 999px; background: var(--vela-gold); color: #fff; text-align: center; font-size: 14px; }
.vela-journal-booking-link:hover { background: var(--vela-navy); color: #fff; }

.vela-journal-related { padding: 82px 0 100px; background: #f7f6f3; }
.vela-journal-related-header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.vela-journal-related-header h2 { margin-top: 10px; color: var(--vela-navy); font-family: var(--vela-font-heading); font-size: clamp(30px, 3vw, 42px); font-weight: 400; }
.vela-journal-related-header > a { color: var(--vela-navy); font-size: 14px; font-weight: 600; }
.vela-journal-related-header > a:hover { color: #af8950; }
.vela-journal-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.vela-journal-related-card { display: grid; grid-template-columns: 42% 1fr; min-height: 260px; background: #fff; }
.vela-journal-related-image { overflow: hidden; }
.vela-journal-related-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.vela-journal-related-card:hover img { transform: scale(1.035); }
.vela-journal-related-body { display: flex; flex-direction: column; align-items: flex-start; padding: 28px; }
.vela-journal-related-body > span { color: #a5824b; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.vela-journal-related-body h3 {margin: 13px 0 10px;color: var(--vela-navy);font-family: var(--vela-font-heading);font-size: 22px;font-weight: 400;line-height: 1.32;}
.vela-journal-related-body h3 a:hover { color: #a5824b; }
.vela-journal-related-body p {color: #66717a;font-size: 16px;line-height: 1.6;}
.vela-journal-related-more {margin-top: auto;padding-top: 15px;color: var(--vela-navy);font-size: 14px;font-weight: 700;}
.vela-journal-related-more:hover { color: #a5824b; }

@media (max-width: 1050px) {
    .vela-journal-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 40px; }
    .vela-journal-related-card { grid-template-columns: 1fr; }
    .vela-journal-related-image { height: 220px; }
}
@media (max-width: 800px) {
    .vela-journal-hero { min-height: 570px; }
    .vela-journal-hero-content { padding-bottom: 55px; }
    .vela-journal-layout { grid-template-columns: 1fr; }
    .vela-journal-sidebar { position: static; }
    .vela-journal-sidebar-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .vela-journal-hotel-card { margin-top: 0; }
}
@media (max-width: 600px) {
    .vela-journal-hero { min-height: 560px; }
    .vela-journal-hero-content { padding-top: 135px; padding-bottom: 42px; }
    .vela-journal-breadcrumb { margin-bottom: 42px; }
    .vela-journal-hero h1 { font-size: clamp(37px, 10vw, 49px); }
    .vela-journal-deck { font-size: 15px; }
    .vela-journal-shell { padding-top: 45px; padding-bottom: 65px; }
    .vela-journal-copy { font-size: 16px; line-height: 1.85; }
    .vela-journal-copy > p:first-child { font-size: 18px; }
    .vela-journal-copy h2 { margin-top: 44px; }
    .vela-journal-article-topline { flex-wrap: wrap; }
    .vela-journal-sidebar-inner { grid-template-columns: 1fr; }
    .vela-journal-cta { flex-direction: column; align-items: flex-start; padding: 29px; }
    .vela-journal-cta-actions { flex-direction: row; align-items: center; flex-wrap: wrap; }
    .vela-journal-related { padding: 60px 0 75px; }
    .vela-journal-related-header { align-items: flex-start; flex-direction: column; gap: 12px; }
    .vela-journal-related-grid { grid-template-columns: 1fr; }
}
