/* site palette */
html:root {
    --bg: #F6F9F9;
    --surface: #FFFFFF;
    --surface-alt: #E9F4F4;
    --text: #131F1F;
    --text-muted: #556D6C;
    --border: #D8E4E3;
    --primary: #176F6B;
    --primary-hover: #11514E;
    --on-primary: #FFFFFF;
    --primary-text: #176F6B;
    --accent: #2BCB62;
    --on-accent: #111111;
    --accent-text: #1B7F3D;
    --dark-band: #0F3B3A;
    --on-dark: #FFFFFF;
    --on-dark-muted: #B6C3C3;
    --brand-btn-bg: #FFFFFF;
    --brand-btn-text: #0F3B3A;
    --section-alt-bg: linear-gradient(173deg, #E9F4F4 0%, #F1F7F7 100%);
    --dark-band-bg: linear-gradient(150deg, #0F3B3A 0%, #125451 100%);
    --brand-band-bg: #176F6B;
    --hero-bg: linear-gradient(150deg, #0F3B3A 0%, #125451 100%);
}

html:root {
    --bs-primary: #176F6B;
    --bs-primary-rgb: 23, 111, 107;
    --bs-link-color: #176F6B;
    --bs-link-color-rgb: 23, 111, 107;
    --bs-link-hover-color: #11514E;
    --mdb-primary: #176F6B;
    --mdb-primary-rgb: 23, 111, 107;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Average Sans', sans-serif;
    font-size: 1.125rem;
    line-height: 1.75;
    font-weight: 400;
    color: var(--text);
    background-color: var(--bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.text-muted {
    color: var(--text-muted) !important;
}

.ejv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    font-family: 'Average Sans', sans-serif;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 200ms ease, opacity 200ms ease, border-color 200ms ease;
}

.ejv-btn:hover,
.ejv-btn:focus {
    background: var(--primary-hover);
    color: var(--on-primary);
    border-color: var(--primary-hover);
}

.ejv-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--primary-text);
    border: 1px solid var(--primary);
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    font-family: 'Average Sans', sans-serif;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
    text-decoration: none;
    cursor: pointer;
    transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.ejv-btn-alt:hover,
.ejv-btn-alt:focus {
    background: var(--surface-alt);
    color: var(--primary-hover);
    border-color: var(--primary-hover);
}

.ejv-card {
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 0px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: border-color 180ms ease;
}

.ejv-card:hover {
    border-color: var(--primary);
}

.ejv-media {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    flex-shrink: 0;
    border-radius: 8px;
    border: 1px solid var(--border);
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.ejv-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
    transition: filter 300ms ease;
}

.ejv-media:hover img {
    filter: grayscale(40%) sepia(4%) contrast(98%) brightness(100%);
}

.ejv-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
}

.ejv-title {
    font-family: 'Average Sans', sans-serif;
    font-size: 2.25rem;
    line-height: 1.3;
    font-weight: 400;
    color: var(--text);
    margin-bottom: 1.25rem;
    text-align: left;
}

.ejv-badge {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    padding: 0.25rem 0.625rem;
    border-radius: 2px;
    background: var(--surface-alt);
    color: var(--primary-text);
    border: 1px solid var(--border);
    letter-spacing: 0.025em;
}

.ejv-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    color: var(--primary);
    flex-shrink: 0;
    vertical-align: middle;
}

.ejv-section {
    background: var(--bg);
    padding: 4.5rem 0;
}

.ejv-section-alt {
    background: var(--section-alt-bg, var(--surface-alt));
    padding: 4.5rem 0;
}

.ejv-section-dark {
    background: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding: 4.5rem 0;
}

.ejv-section-brand {
    background: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding: 4.5rem 0;
}

.ejv-section-brand .ejv-btn {
    background: var(--brand-btn-bg);
    color: var(--brand-btn-text);
    border-color: #FFFFFF;
}

.ejv-section-brand .ejv-btn:hover {
    background: var(--surface-alt);
    color: var(--brand-btn-text);
}

.ejv-section-brand .ejv-btn-alt {
    color: var(--on-primary);
    border-color: var(--on-primary);
}

.ejv-section-brand .ejv-btn-alt:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--on-primary);
}

.ejv-on-dark {
    color: var(--on-dark);
}

.ejv-section-dark,
.ejv-on-dark {
    color: var(--on-dark);
}

.ejv-section-dark h1,
.ejv-section-dark h2,
.ejv-section-dark h3,
.ejv-section-dark h4,
.ejv-section-dark h5,
.ejv-section-dark h6,
.ejv-section-dark .ejv-title,
.ejv-on-dark h1,
.ejv-on-dark h2,
.ejv-on-dark h3,
.ejv-on-dark h4,
.ejv-on-dark h5,
.ejv-on-dark h6,
.ejv-on-dark .ejv-title {
    color: var(--on-dark);
}

.ejv-section-dark p,
.ejv-section-dark span,
.ejv-on-dark p,
.ejv-on-dark span {
    color: var(--on-dark);
}

.ejv-section-dark .ejv-eyebrow,
.ejv-section-dark .text-muted,
.ejv-on-dark .ejv-eyebrow,
.ejv-on-dark .text-muted {
    color: var(--on-dark-muted) !important;
}

.ejv-section-dark a,
.ejv-on-dark a {
    color: var(--on-dark);
}

.ejv-section-dark .ejv-btn-alt,
.ejv-on-dark .ejv-btn-alt {
    color: var(--on-dark);
    border-color: var(--on-dark);
}

.ejv-section-dark .ejv-btn-alt:hover,
.ejv-on-dark .ejv-btn-alt:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--on-dark);
}

.ejv-section-dark .ejv-card,
.ejv-on-dark .ejv-card {
    background: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
}

.ejv-section-dark .ejv-card h1,
.ejv-section-dark .ejv-card h2,
.ejv-section-dark .ejv-card h3,
.ejv-section-dark .ejv-card h4,
.ejv-section-dark .ejv-card .ejv-title,
.ejv-on-dark .ejv-card h1,
.ejv-on-dark .ejv-card h2,
.ejv-on-dark .ejv-card h3,
.ejv-on-dark .ejv-card h4,
.ejv-on-dark .ejv-card .ejv-title {
    color: var(--text);
}

.ejv-section-dark .ejv-card p,
.ejv-section-dark .ejv-card span,
.ejv-on-dark .ejv-card p,
.ejv-on-dark .ejv-card span {
    color: var(--text);
}

.ejv-section-dark .ejv-card .text-muted,
.ejv-on-dark .ejv-card .text-muted {
    color: var(--text-muted) !important;
}

.ejv-section-dark .ejv-card a,
.ejv-on-dark .ejv-card a {
    color: var(--primary-text);
}

.ejv-pull-quote {
    border-left: 3px solid var(--primary);
    padding: 1.5rem 2rem;
    font-size: 1.375rem;
    line-height: 1.6;
    margin: 2.5rem 0;
    color: var(--primary-text);
    background: var(--surface-alt);
}

.ejv-toc-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 1.5rem;
    margin: 2rem 0;
}

@media (max-width: 768px) {

    .ejv-section,
    .ejv-section-alt,
    .ejv-section-dark,
    .ejv-section-brand {
        padding: 3rem 0;
    }

    .ejv-title {
        font-size: 1.875rem;
    }
}

/* ===== header ===== */
.wbm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 8px rgba(19, 31, 31, 0.04);
}

.wbm-header-progress {
    width: 0%;
    height: 2px;
    background-color: var(--primary);
    transition: width 120ms linear;
}

.wbm-navbar {
    background-color: var(--surface);
    padding: 0.65rem 0;
}

.wbm-brand {
    text-decoration: none;
    color: var(--text);
    font-weight: 700;
}

.wbm-brand:hover,
.wbm-brand:focus {
    color: var(--primary-text);
}

.wbm-logo-img {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
}

.wbm-brand-name {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    color: var(--text);
    line-height: 1.2;
}

.wbm-toggler {
    border: 1px solid var(--border);
    padding: 0.375rem 0.5rem;
    background-color: var(--surface-alt);
    color: var(--text);
    border-radius: 4px;
}

.wbm-toggler:focus {
    box-shadow: none;
    outline: 2px solid var(--primary);
}

.wbm-toggler-icon {
    width: 24px;
    height: 24px;
    stroke: var(--text);
}

.wbm-nav-list {
    padding-top: 0.5rem;
}

.wbm-nav-link {
    color: var(--text);
    font-size: 0.9375rem;
    padding: 0.5rem 0.85rem !important;
    transition: color 180ms ease, background-color 180ms ease;
    border-radius: 2px;
}

.wbm-nav-link:hover,
.wbm-nav-link:focus {
    color: var(--primary-text);
    background-color: var(--surface-alt);
}

.wbm-contact-link {
    color: var(--primary-text) !important;
    font-weight: 600;
}

.wbm-contact-link:hover {
    color: var(--primary-hover) !important;
}

@media (min-width: 992px) {
    .wbm-nav-list {
        padding-top: 0;
    }
}

@media (max-width: 991.98px) {
    .wbm-nav-link {
        font-size: 0.875rem;
        padding: 0.55rem 0.75rem !important;
    }

    .wbm-brand-name {
        font-size: 0.9375rem;
    }
}

/* ===== hero ===== */
.wbm-hero {
    background: var(--hero-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.wbm-hero-header {
    max-width: 820px;
}

.wbm-hero-title {
    color: var(--on-dark, #FFFFFF);
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.wbm-hero-lead {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 1.125rem;
    line-height: 1.6;
}

.wbm-hero-date,
.wbm-hero-status,
.wbm-hero-divider,
.wbm-card-meta {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wbm-hero .ejv-badge {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.wbm-hero-card {
    min-height: 440px;
    border-radius: 4px;
    border: 1px solid rgba(216, 228, 227, 0.2);
    background-color: var(--dark-band, #0F3B3A);
}

.wbm-hero-card-secondary {
    min-height: 440px;
}

.wbm-card-media-link {
    overflow: hidden;
}

.wbm-card-img {
    object-fit: cover;
    filter: grayscale(40%) sepia(6%) contrast(102%);
    transition: transform 0.6s ease;
}

.wbm-hero-card:hover .wbm-card-img {
    transform: scale(1.03);
}

.wbm-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 59, 58, 0.2) 0%, rgba(15, 59, 58, 0.75) 60%, rgba(15, 59, 58, 0.95) 100%);
    pointer-events: none;
}

.wbm-card-content {
    z-index: 2;
    pointer-events: auto;
}

.wbm-card-heading {
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.wbm-card-title-link {
    color: var(--on-dark, #FFFFFF);
    transition: color 0.2s ease;
}

.wbm-card-title-link:hover {
    color: var(--surface-alt, #E9F4F4);
}

.wbm-card-desc {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.wbm-hero .ejv-btn {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #176F6B);
    border-radius: 2px;
    padding: 0.5rem 1.125rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.wbm-hero .ejv-btn:hover {
    background-color: var(--primary-hover, #11514E);
    border-color: var(--primary-hover, #11514E);
    color: var(--on-primary, #FFFFFF);
}

.wbm-icon-arrow {
    transition: transform 0.2s ease;
}

.wbm-hero .ejv-btn:hover .wbm-icon-arrow {
    transform: translateX(3px);
}

@media (max-width: 767.98px) {

    .wbm-hero-card,
    .wbm-hero-card-secondary {
        min-height: 380px;
    }

    .wbm-hero-title {
        font-size: 1.5rem !important;
    }

    .wbm-card-heading {
        font-size: 1.125rem !important;
    }

    .wbm-hero-lead {
        font-size: 0.9375rem;
    }
}

/* ===== getting-started ===== */
.wbm-getting-started {
    background-color: var(--bg);
    color: var(--text);
    font-family: 'Average Sans', sans-serif;
}

.wbm-getting-started__header {
    border-color: var(--border) !important;
}

.wbm-getting-started .ejv-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--primary-text);
    font-weight: 600;
}

.wbm-getting-started .ejv-title {
    color: var(--text);
    font-size: 1.875rem;
    line-height: 1.3;
}

@media (max-width: 767px) {
    .wbm-getting-started .ejv-title {
        font-size: 16px;
        hyphens: auto;
    }
}

.wbm-getting-started__meta-divider {
    color: var(--border);
    font-size: 0.875rem;
}

.wbm-getting-started__meta-time,
.wbm-getting-started__meta-date,
.wbm-getting-started__author {
    color: var(--text-muted);
    font-size: 0.875rem;
}

.wbm-getting-started__lead {
    max-width: 720px;
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

.wbm-getting-started__card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0px;
    transition: border-color 180ms ease;
}

.wbm-getting-started__card:hover {
    border-color: var(--primary);
}

.wbm-getting-started__step-tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    background: var(--surface-alt);
    color: var(--primary-text);
    border: 1px solid var(--border);
    border-radius: 2px;
}

.wbm-getting-started__card-title {
    font-size: 1.25rem;
    line-height: 1.35;
    margin-bottom: 0;
    min-height: 3.3rem;
}

@media (max-width: 767px) {
    .wbm-getting-started__card-title {
        font-size: 14px;
        min-height: auto;
        hyphens: auto;
    }
}

.wbm-getting-started__title-link {
    color: var(--text);
    text-decoration: none;
    transition: color 180ms ease;
}

.wbm-getting-started__title-link:hover {
    color: var(--primary-text);
}

.wbm-getting-started__media-wrap a {
    border-radius: 8px;
}

.wbm-getting-started__image {
    width: 100%;
    height: 220px;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 8px;
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
    transition: transform 200ms ease, filter 200ms ease;
}

.wbm-getting-started__card:hover .wbm-getting-started__image {
    transform: scale(1.02);
    filter: grayscale(20%) sepia(4%) contrast(98%) brightness(100%);
}

.wbm-getting-started__summary {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.wbm-getting-started .ejv-btn {
    background-color: var(--primary);
    color: var(--on-primary);
    border: 1px solid var(--primary);
    border-radius: 2px;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 200ms ease, border-color 200ms ease;
}

.wbm-getting-started .ejv-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

@media (max-width: 767px) {
    .wbm-getting-started__image {
        height: 180px;
    }
}

/* ===== categories-grid ===== */
.block-categories-grid {
    position: relative;
    overflow: hidden;
}

.block-categories-grid .category-hub-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.block-categories-grid .category-hub-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.block-categories-grid .category-hub-card .hub-icon {
    color: var(--primary-text);
}

.block-categories-grid .dispatch-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    overflow: hidden;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.block-categories-grid .dispatch-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.block-categories-grid .dispatch-media-wrapper {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
    background-color: var(--surface-alt);
}

.block-categories-grid .dispatch-media-wrapper img {
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
    transition: filter 0.3s ease, transform 0.3s ease;
}

.block-categories-grid .dispatch-card:hover .dispatch-media-wrapper img {
    filter: grayscale(20%) sepia(0%) contrast(100%) brightness(100%);
    transform: scale(1.02);
}

.block-categories-grid .meta-text {
    font-size: 0.8125rem;
    color: var(--text-muted);
}

.block-categories-grid .meta-divider {
    color: var(--border);
    font-size: 0.75rem;
}

.block-categories-grid .article-title-link {
    color: var(--text);
    transition: color 0.18s ease;
    overflow-wrap: anywhere;
}

.block-categories-grid .article-title-link:hover {
    color: var(--primary-text);
}

.block-categories-grid .text-secondary {
    color: var(--text-muted) !important;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .block-categories-grid .dispatch-media-wrapper {
        aspect-ratio: 16 / 10;
    }
}

/* ===== infographics ===== */
#canadian-aviation-infographics .progress {
    background-color: var(--surface-alt);
    overflow: hidden;
}

#canadian-aviation-infographics .js-tab-btn {
    border: none;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

#canadian-aviation-infographics .js-tab-btn.active {
    background-color: var(--primary);
    color: var(--on-primary);
}

#canadian-aviation-infographics .js-tab-content {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767px) {
    #canadian-aviation-infographics .display-6 {
        font-size: 1.5rem;
    }

    #canadian-aviation-infographics .js-info-tabs {
        width: 100%;
        flex-direction: column;
    }

    #canadian-aviation-infographics .js-tab-btn {
        width: 100%;
    }
}

/* ===== read-time-selection ===== */
.rts-block .rts-header {
    border-color: var(--border);
}

.rts-block .rts-meta-caption {
    font-size: var(--font-sizes-sm, 0.875rem);
    color: var(--text-muted);
}

.rts-block .rts-filter-btn {
    font-family: inherit;
    font-size: var(--font-sizes-sm, 0.875rem);
    padding: 0.375rem 0.875rem;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    border-radius: 2px;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.rts-block .rts-filter-btn:hover {
    background: var(--surface-alt);
    color: var(--primary-text);
    border-color: var(--primary);
}

.rts-block .rts-filter-btn.active {
    background: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.rts-block .rts-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0px;
    transition: border-color 200ms ease;
}

.rts-block .rts-card:hover {
    border-color: var(--primary);
}

.rts-block .rts-duration-tag {
    font-size: var(--font-sizes-xs, 0.75rem);
    color: var(--primary-text);
    background: var(--surface-alt);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
    font-weight: 500;
}

.rts-block .rts-clock-icon {
    width: 14px;
    height: 14px;
}

.rts-block .rts-card-title {
    font-size: 1.25rem;
    line-height: 1.35;
}

.rts-block .rts-title-link {
    color: var(--text);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 180ms ease;
}

.rts-block .rts-title-link:hover {
    color: var(--primary-text);
}

.rts-block .rts-meta-bar {
    font-size: var(--font-sizes-sm, 0.875rem);
    color: var(--text-muted);
}

.rts-block .rts-meta-divider {
    color: var(--border);
}

.rts-block .rts-media-wrap {
    width: 100%;
}

.rts-block .rts-img-anchor {
    display: block;
    width: 100%;
    height: 220px;
    border-radius: 8px;
    overflow: hidden;
}

.rts-block .rts-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
    transition: transform 260ms ease, filter 260ms ease;
}

.rts-block .rts-card:hover .rts-image {
    transform: scale(1.02);
    filter: grayscale(30%) sepia(4%) contrast(98%) brightness(100%);
}

.rts-block .rts-excerpt {
    font-size: var(--font-sizes-sm, 0.875rem);
    line-height: 1.6;
    color: var(--text-muted);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .rts-block .rts-card-title {
        font-size: 1.1rem;
    }

    .rts-block .rts-img-anchor {
        height: 180px;
    }
}

/* ===== opinion-column ===== */
.op-column-section {
    padding: 4.5rem 0;
    color: var(--on-primary);
}

.op-column-section .op-column-header {
    max-width: 680px;
    margin-bottom: 2.25rem;
}

.op-column-section .op-eyebrow {
    display: inline-block;
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--on-primary);
    opacity: 0.85;
    font-size: 0.8125rem;
}

.op-column-section .op-section-title {
    color: var(--on-primary);
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 0.75rem;
    overflow-wrap: anywhere;
}

.op-column-section .op-header-desc {
    color: var(--on-primary);
    opacity: 0.9;
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.op-column-section .op-disclaimer-box {
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2.5rem;
    color: var(--on-primary);
}

.op-column-section .op-disclaimer-icon {
    width: 24px;
    height: 24px;
    margin-top: 2px;
    color: var(--on-primary);
}

.op-column-section .op-svg-icon {
    width: 100%;
    height: 100%;
    display: block;
}

.op-column-section .op-disclaimer-heading {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--on-primary);
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.op-column-section .op-disclaimer-text {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--on-primary);
    opacity: 0.92;
    overflow-wrap: anywhere;
}

.op-column-section .op-card {
    background: var(--surface);
    border: 1px solid var(--border);
    padding: 1.5rem;
    transition: border-color 0.2s ease;
    overflow: hidden;
}

.op-column-section .op-card-meta-top {
    font-size: 0.8125rem;
    color: var(--text-muted);
    margin-bottom: 0.75rem;
}

.op-column-section .op-meta-bullet {
    color: var(--text-muted);
}

.op-column-section .op-meta-date,
.op-column-section .op-meta-read {
    color: var(--text-muted);
}

.op-column-section .op-card-title {
    font-size: 1.25rem;
    line-height: 1.35;
    margin-bottom: 0.75rem;
    overflow-wrap: anywhere;
}

.op-column-section .op-title-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.op-column-section .op-title-link:hover {
    color: var(--primary);
    text-decoration: underline;
}

.op-column-section .op-author-row {
    font-size: 0.875rem;
}

.op-column-section .op-author-avatar-ph {
    width: 22px;
    height: 22px;
    color: var(--primary);
}

.op-column-section .op-svg-avatar {
    width: 100%;
    height: 100%;
    display: block;
}

.op-column-section .op-author-name {
    color: var(--text);
    font-weight: 500;
}

.op-column-section .op-card-media-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1.25rem;
    background: var(--surface-alt);
}

.op-column-section .op-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
    transition: filter 0.3s ease;
}

.op-column-section .op-card:hover .op-img {
    filter: grayscale(30%) sepia(4%) contrast(98%) brightness(100%);
}

.op-column-section .op-card-excerpt {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--text);
    margin-bottom: 1rem;
    overflow-wrap: anywhere;
}

.op-column-section .op-card-action {
    border-color: var(--border) !important;
}

.op-column-section .op-read-btn {
    display: inline-block;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
}

@media (max-width: 767px) {
    .op-column-section {
        padding: 3rem 0;
    }

    .op-column-section .op-section-title {
        font-size: 1.5rem;
    }

    .op-column-section .op-disclaimer-box {
        padding: 1rem;
    }

    .op-column-section .op-card {
        padding: 1.25rem;
    }

    .op-column-section .op-card-title {
        font-size: 1.125rem;
    }

    .op-column-section .op-cards-row {
        flex-direction: column;
    }
}

/* ===== glossary ===== */
.wbm-glossary-section {
    color: var(--text);
    background-color: var(--bg);
}

.wbm-glossary-section .wbm-glossary-header {
    border-color: var(--border) !important;
}

.wbm-glossary-section .wbm-meta-divider {
    color: var(--text-muted);
    font-size: var(--font-sizes-xs, 0.75rem);
}

.wbm-glossary-section .wbm-meta-text {
    color: var(--text-muted);
    font-size: var(--font-sizes-sm, 0.875rem);
    line-height: 1;
}

.wbm-glossary-section .wbm-glossary-title {
    color: var(--text);
    font-size: var(--font-sizes-2xl, 1.875rem);
    font-weight: var(--font-weight-bold, 400);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.wbm-glossary-section .wbm-glossary-lead {
    color: var(--text-muted);
    font-size: var(--font-sizes-base, 1.125rem);
    line-height: 1.6;
    max-width: 720px;
}

.wbm-glossary-section .wbm-filter-btn {
    background-color: var(--surface);
    color: var(--text);
    border: 1px solid var(--border);
    border-radius: 2px;
    padding: 0.4rem 0.9rem;
    font-size: var(--font-sizes-sm, 0.875rem);
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
    cursor: pointer;
    line-height: 1.4;
}

.wbm-glossary-section .wbm-filter-btn:hover {
    background-color: var(--surface-alt);
    border-color: var(--primary);
    color: var(--primary-text);
}

.wbm-glossary-section .wbm-filter-btn.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.wbm-glossary-section .wbm-glossary-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0;
    transition: border-color 180ms ease;
}

.wbm-glossary-section .wbm-glossary-card:hover {
    border-color: var(--primary);
}

.wbm-glossary-section .wbm-term-title {
    color: var(--text);
    font-size: var(--font-sizes-lg, 1.25rem);
    font-weight: var(--font-weight-bold, 400);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.wbm-glossary-section .wbm-category-tag {
    font-size: var(--font-sizes-xs, 0.75rem);
    color: var(--primary-text);
    background-color: var(--surface-alt);
    padding: 0.15rem 0.5rem;
    border-radius: 2px;
    white-space: nowrap;
}

.wbm-glossary-section .wbm-term-desc {
    color: var(--text-muted);
    font-size: var(--font-sizes-sm, 0.875rem);
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.wbm-glossary-section .wbm-glossary-footnote {
    border-color: var(--border) !important;
}

.wbm-glossary-section .wbm-footnote-icon {
    color: var(--primary-text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.wbm-glossary-section .wbm-footnote-text {
    font-size: var(--font-sizes-xs, 0.75rem);
    color: var(--text-muted);
    line-height: 1.5;
}

@media (max-width: 767px) {
    .wbm-glossary-section .wbm-glossary-title {
        font-size: 1.25rem;
    }

    .wbm-glossary-section .wbm-glossary-lead {
        font-size: 0.95rem;
    }

    .wbm-glossary-section .wbm-term-title {
        font-size: 1.05rem;
    }
}

/* ===== newsletter ===== */
.wbm-newsletter-section {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
    overflow: hidden;
}

.wbm-newsletter-section .wbm-newsletter-box {
    background-color: rgba(15, 59, 58, 0.65);
    border: 1px solid rgba(216, 228, 227, 0.2);
    border-radius: 4px;
    padding: 2.5rem 2rem;
}

.wbm-newsletter-section .wbm-newsletter-meta {
    font-size: 0.875rem;
    color: var(--on-dark-muted);
}

.wbm-newsletter-section .wbm-newsletter-title {
    color: var(--on-dark);
    font-size: 1.875rem;
    line-height: 1.3;
    margin-top: 0.5rem;
}

.wbm-newsletter-section .wbm-newsletter-text {
    color: var(--on-dark-muted);
    font-size: 1.0625rem;
    line-height: 1.7;
}

.wbm-newsletter-section .wbm-form-control {
    width: 100%;
    height: 48px;
    padding: 0.625rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--text);
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 2px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wbm-newsletter-section .wbm-form-control:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(43, 203, 98, 0.25);
}

.wbm-newsletter-section .wbm-form-control::placeholder {
    color: var(--text-muted);
    opacity: 1;
}

.wbm-newsletter-section .wbm-submit-btn {
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9375rem;
    font-family: inherit;
    font-weight: 400;
    padding: 0.625rem 1.5rem;
    text-transform: capitalize;
    border-radius: 2px;
    cursor: pointer;
}

.wbm-newsletter-section .wbm-checkbox {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 0.2rem;
    accent-color: var(--primary);
    cursor: pointer;
}

.wbm-newsletter-section .wbm-check-label {
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--on-dark-muted);
    cursor: pointer;
}

.wbm-newsletter-section .wbm-inline-link {
    color: var(--on-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.wbm-newsletter-section .wbm-inline-link:hover {
    color: var(--accent);
}

.wbm-newsletter-section .wbm-form-feedback {
    font-size: 0.8125rem;
    color: #ffb4b4;
}

@media (max-width: 767px) {
    .wbm-newsletter-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .wbm-newsletter-section .wbm-newsletter-box {
        padding: 1.75rem 1.25rem;
    }

    .wbm-newsletter-section .wbm-newsletter-title {
        font-size: 1.5rem;
        hyphens: auto;
    }

    .wbm-newsletter-section .wbm-submit-btn {
        width: 100%;
    }
}

/* ===== footer ===== */
.wb-footer {
    background: var(--dark-band-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    font-family: var(--font-family-base, 'Average Sans', sans-serif);
    border-top: 1px solid rgba(216, 228, 227, 0.15);
    overflow-wrap: anywhere;
}

.wb-footer .wb-footer-eyebrow {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    color: var(--accent, #2BCB62);
    font-weight: 400;
}

.wb-footer .wb-footer-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 1.375rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.wb-footer .wb-footer-bio {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-footer-signature {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-author-badge {
    width: 36px;
    height: 36px;
    background: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border-radius: 4px;
    flex-shrink: 0;
}

.wb-footer .wb-author-label {
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-author-name {
    font-size: 0.875rem;
    color: var(--on-dark, #FFFFFF);
}

.wb-footer .wb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 1rem;
    letter-spacing: 0.04em;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-footer-contact-text {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-link {
    color: var(--on-dark-muted, #B6C3C3);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 180ms ease, transform 180ms ease;
    display: inline-block;
}

.wb-footer .wb-link:hover,
.wb-footer .wb-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wb-footer .wb-icon {
    color: var(--accent, #2BCB62);
}

.wb-footer .wb-contact-value {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #B6C3C3);
    line-height: 1.5;
}

.wb-footer .wb-footer-bottom {
    border-color: rgba(216, 228, 227, 0.12) !important;
}

.wb-footer .wb-copyright {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-footer-notice {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

@media (max-width: 767px) {
    .wb-footer .wb-footer-title {
        font-size: 1.25rem;
    }

    .wb-footer .wb-footer-heading {
        font-size: 0.9375rem;
    }

    .wb-footer .wb-contact-item {
        word-break: break-word;
    }
}

/* ===== PAGE: privacy ===== */
#privacy-content.policy-content { width: 100%; max-width: 720px; margin: 0 auto; padding: 2rem 1rem 3.5rem 1rem; color: var(--text, #131F1F); font-family: var(--font_family_base, 'Average Sans', sans-serif); line-height: 1.75; font-size: 1.0625rem; overflow-wrap: anywhere; word-break: break-word; } #privacy-content.policy-content .policy-meta-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; padding-bottom: 1.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--border, #D8E4E3); } #privacy-content.policy-content .policy-meta-date, #privacy-content.policy-content .policy-meta-time { font-size: 0.875rem; color: var(--text-muted, #556D6C); } #privacy-content.policy-content h2 { color: var(--text, #131F1F); font-size: 1.375rem; font-weight: 400; line-height: 1.35; margin-top: 2.25rem; margin-bottom: 0.875rem; padding-bottom: 0.35rem; border-bottom: 1px solid var(--surface-alt, #E9F4F4); } #privacy-content.policy-content h3 { color: var(--primary-text, #176F6B); font-size: 1.15rem; font-weight: 400; line-height: 1.4; margin-top: 1.5rem; margin-bottom: 0.5rem; } #privacy-content.policy-content p { margin-bottom: 1.125rem; color: var(--text, #131F1F); } #privacy-content.policy-content ul { margin: 0 0 1.25rem 0; padding-left: 1.25rem; list-style-type: disc; } #privacy-content.policy-content li { margin-bottom: 0.5rem; color: var(--text, #131F1F); } #privacy-content.policy-content strong { color: var(--text, #131F1F); font-weight: 700; } #privacy-content.policy-content .policy-link { color: var(--primary-text, #176F6B); text-decoration: underline; text-underline-offset: 3px; transition: color 0.18s ease; } #privacy-content.policy-content .policy-link:hover, #privacy-content.policy-content .policy-link:focus { color: var(--primary-hover, #11514E); } #privacy-content.policy-content .policy-contact-card { background: var(--surface-alt, #E9F4F4); border: 1px solid var(--border, #D8E4E3); border-left: 3px solid var(--primary, #176F6B); padding: 1.25rem 1.5rem; margin-top: 1.5rem; border-radius: 2px; } #privacy-content.policy-content .policy-contact-card p { margin-bottom: 0.375rem; } #privacy-content.policy-content .policy-contact-card p:last-child { margin-bottom: 0; } @media (max-width: 767px) { #privacy-content.policy-content { padding: 1.25rem 0.875rem 2.5rem 0.875rem; font-size: 1rem; line-height: 1.6; } #privacy-content.policy-content h2 { font-size: 1rem; hyphens: auto; margin-top: 1.75rem; } #privacy-content.policy-content h3 { font-size: 0.875rem; hyphens: auto; } #privacy-content.policy-content .policy-contact-card { padding: 1rem; } }

/* ===== PAGE: terms ===== */
.policy-content {
  max-width: 720px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 4rem;
  color: var(--text, #131F1F);
  font-family: var(--font-family-base, 'Average Sans', sans-serif);
  line-height: 1.75;
  background: transparent;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.policy-content .policy-header-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border, #D8E4E3);
}

.policy-content .policy-date {
  font-size: 0.875rem;
  color: var(--text-muted, #556D6C);
  white-space: nowrap;
}

.policy-content h2 {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--primary, #176F6B);
  margin-top: 2.25rem;
  margin-bottom: 1rem;
  letter-spacing: 0.01em;
}

.policy-content h3 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--text, #131F1F);
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.policy-content p {
  font-size: 1.0625rem;
  margin-bottom: 1.25rem;
  color: var(--text, #131F1F);
}

.policy-content ul {
  margin: 1rem 0 1.5rem 1.25rem;
  padding: 0;
  list-style-type: disc;
}

.policy-content li {
  font-size: 1.0625rem;
  margin-bottom: 0.625rem;
  color: var(--text, #131F1F);
  line-height: 1.65;
}

.policy-content li strong {
  color: var(--text, #131F1F);
}

.policy-content .policy-link {
  color: var(--primary-text, #176F6B);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 180ms ease;
}

.policy-content .policy-link:hover,
.policy-content .policy-link:focus {
  color: var(--primary-hover, #11514E);
}

@media (max-width: 767px) {
  .policy-content {
    padding: 1.5rem 1rem 3rem;
  }
  .policy-content h2 {
    font-size: 16px;
    hyphens: auto;
  }
  .policy-content h3 {
    font-size: 14px;
    hyphens: auto;
  }
  .policy-content p,
  .policy-content li {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}

/* ===== PAGE: disclaimer ===== */
.policy-content{color:var(--text);font-family:var(--font_family_base,'Average Sans',sans-serif);font-size:var(--font_sizes_base,1.125rem);line-height:var(--line_height_base,1.75);max-width:720px;margin:0 auto;padding:2.5rem 1.25rem}.policy-content .policy-meta-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);width:100%}.policy-content .policy-badge{display:inline-block;background-color:var(--primary);color:var(--on-primary);font-size:var(--font_sizes_xs,0.75rem);font-weight:400;text-transform:uppercase;letter-spacing:0.05em;padding:0.25rem 0.625rem;border-radius:2px;line-height:1.2}.policy-content .policy-date{color:var(--text-muted);font-size:var(--font_sizes_sm,0.875rem);line-height:1.4}.policy-content h2{color:var(--primary-text);font-size:var(--font_sizes_xl,1.5rem);line-height:var(--line_height_headings,1.3);margin-top:2.5rem;margin-bottom:1rem;padding-top:0.5rem;border-top:1px solid var(--border);overflow-wrap:anywhere}.policy-content h2:first-of-type{border-top:none;margin-top:0;padding-top:0}.policy-content p{color:var(--text);margin-bottom:1.25rem;overflow-wrap:anywhere}.policy-content ul{list-style-type:disc;margin-top:0.75rem;margin-bottom:1.5rem;padding-left:1.5rem}.policy-content li{color:var(--text);margin-bottom:0.75rem;line-height:1.7;overflow-wrap:anywhere}.policy-content .policy-link{color:var(--primary-text);text-decoration:underline;text-underline-offset:4px;transition:color 180ms ease,border-color 180ms ease}.policy-content .policy-link:hover,.policy-content .policy-link:focus{color:var(--primary-hover);text-decoration:underline}@media (max-width:767px){.policy-content{padding:1.75rem 1rem}.policy-content h2{font-size:16px;line-height:1.35;margin-top:2rem;margin-bottom:0.75rem;hyphens:auto}.policy-content p,.policy-content li{font-size:0.95rem;line-height:1.65;hyphens:auto}.policy-content ul{padding-left:1.25rem;margin-bottom:1.25rem}}

/* ===== PAGE: cookies ===== */
#privacy-content.policy-content{color:var(--text,#131F1F);font-family:var(--font-family-base,'Average Sans',sans-serif);line-height:1.75;padding:2rem 0;max-width:840px;margin:0 auto}#privacy-content .policy-card{background:var(--surface,#FFFFFF);border:1px solid var(--border,#D8E4E3);border-radius:4px;padding:2.5rem 2rem}#privacy-content .policy-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:1.25rem}#privacy-content .policy-badge{display:inline-flex;align-items:center;padding:0.25rem 0.625rem;background:var(--surface-alt,#E9F4F4);color:var(--primary-text,#176F6B);font-size:0.75rem;letter-spacing:0.05em;text-transform:uppercase;border-radius:2px;font-weight:600}#privacy-content .policy-date{font-size:0.875rem;color:var(--text-muted,#556D6C)}#privacy-content .policy-heading-lead{font-size:1.625rem;line-height:1.3;color:var(--primary,#176F6B);margin-bottom:1rem;overflow-wrap:anywhere}#privacy-content .policy-intro{font-size:1.0625rem;color:var(--text,#131F1F);margin-bottom:1.5rem}#privacy-content .policy-divider{border:0;border-top:1px solid var(--border,#D8E4E3);margin:1.75rem 0}#privacy-content .policy-section{margin-bottom:2rem}#privacy-content .policy-section-title{font-size:1.25rem;line-height:1.35;color:var(--primary,#176F6B);margin-top:1.5rem;margin-bottom:0.75rem;overflow-wrap:anywhere}#privacy-content p{margin-bottom:1rem;color:var(--text,#131F1F)}#privacy-content .policy-list{margin:0.75rem 0 1.25rem 1.25rem;padding:0;list-style-type:disc}#privacy-content .policy-list li{margin-bottom:0.625rem;color:var(--text,#131F1F);line-height:1.65}#privacy-content .policy-contact-box{background:var(--surface-alt,#E9F4F4);border-left:3px solid var(--primary,#176F6B);padding:1.25rem 1.5rem;margin-top:1.25rem;border-radius:0 4px 4px 0}#privacy-content .policy-contact-line{margin-bottom:0.5rem;font-size:0.9375rem;color:var(--text,#131F1F);overflow-wrap:anywhere}#privacy-content .policy-contact-line:last-child{margin-bottom:0}#privacy-content .policy-link{color:var(--primary-text,#176F6B);text-decoration:underline;text-underline-offset:3px;transition:color 0.2s ease}#privacy-content .policy-link:hover{color:var(--primary-hover,#11514E)}@media(max-width:767px){#privacy-content.policy-content{padding:1rem 0}#privacy-content .policy-card{padding:1.25rem 1rem}#privacy-content .policy-heading-lead{font-size:16px;hyphens:auto}#privacy-content .policy-section-title{font-size:14px;hyphens:auto}#privacy-content .policy-intro,#privacy-content p,#privacy-content .policy-list li{font-size:0.9375rem;hyphens:auto;overflow-wrap:anywhere}#privacy-content .policy-contact-box{padding:1rem}}

/* ===== PAGE: about ===== */
.about-editorial-block {
  background-color: var(--bg);
  color: var(--text);
  font-family: 'Average Sans', sans-serif;
  line-height: 1.75;
}
.about-editorial-block .about-editorial-block__toc-card {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
}
.about-editorial-block .about-editorial-block__toc-list a {
  color: var(--primary-text);
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 180ms ease;
}
.about-editorial-block .about-editorial-block__toc-list a:hover {
  color: var(--primary-hover);
  text-decoration: underline;
}
.about-editorial-block .about-editorial-block__meta-text {
  font-size: 0.85rem;
  color: var(--text-muted);
}
.about-editorial-block .text-teal {
  color: var(--primary);
}
.about-editorial-block .about-editorial-block__pull-quote {
  border-left: 3px solid var(--primary);
  padding: 1.25rem 1.75rem;
  margin: 2rem 0;
  background-color: var(--surface-alt);
  color: var(--primary-text);
  font-size: 1.15rem;
  line-height: 1.6;
  font-style: italic;
}
.about-editorial-block .about-editorial-block__figure img {
  border-radius: 8px;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  filter: grayscale(40%) contrast(98%) brightness(98%);
}
.about-editorial-block .about-editorial-block__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--border);
  flex-shrink: 0;
}
.about-editorial-block .bg-light-tint {
  background-color: var(--surface-alt);
  border: 1px solid var(--border);
}
.about-editorial-block .ejv-card {
  background: var(--surface);
  border: 1px solid var(--border);
}
@media (max-width: 767px) {
  .about-editorial-block .about-editorial-block__pull-quote {
    padding: 1rem 1.25rem;
    font-size: 1.05rem;
  }
  .about-editorial-block h2.ejv-title {
    font-size: 1.25rem;
  }
  .about-editorial-block .about-editorial-block__avatar {
    width: 52px;
    height: 52px;
  }
}

/* ===== PAGE: contact ===== */
.contact-page-section {
  color: var(--text);
}

.contact-page-section__heading {
  color: var(--text);
}

.contact-page-section__form-card,
.contact-page-section__info-card,
.contact-page-section__map-wrapper {
  background-color: var(--surface);
  border: 1px solid var(--border);
}

.contact-page-section .form-label {
  color: var(--text);
}

.contact-page-section .form-control,
.contact-page-section .form-select {
  background-color: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 0.625rem 0.875rem;
}

.contact-page-section .form-control:focus,
.contact-page-section .form-select:focus {
  background-color: var(--surface);
  color: var(--text);
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem rgba(23, 111, 107, 0.15);
}

.contact-page-section .form-control::placeholder {
  color: var(--text-muted);
  opacity: 0.8;
}

.contact-page-section .form-check-input {
  border-color: var(--border);
}

.contact-page-section .form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

.contact-page-section__svg {
  color: var(--primary-text);
}

.contact-page-section__map {
  width: 100%;
  min-height: 280px;
  height: 100%;
  overflow: hidden;
  border-radius: 4px;
}

.contact-page-section__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  min-height: 280px;
}

@media (max-width: 767px) {
  .contact-page-section__map {
    min-height: 240px;
  }
}

/* ===== PAGE: airline-news ===== */
.airline-news-block {
  background-color: var(--bg);
  color: var(--text);
}

.airline-news-block__heading {
  font-size: var(--typography-font_sizes-2xl, 1.875rem);
  color: var(--text);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.airline-news-block__rule {
  width: 100%;
  height: 1px;
  background-color: var(--border);
  margin-top: 1rem;
}

.airline-news-block__filter-btn {
  background-color: var(--surface);
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: 0.375rem 0.875rem;
  font-size: 0.875rem;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
  cursor: pointer;
}

.airline-news-block__filter-btn:hover {
  background-color: var(--surface-alt);
  color: var(--primary-text);
  border-color: var(--primary);
}

.airline-news-block__filter-btn.active {
  background-color: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}

.airline-news-block__search-input {
  background-color: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 2px;
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  min-width: 240px;
}

.airline-news-block__search-input:focus {
  background-color: var(--surface);
  color: var(--text);
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem rgba(23, 111, 107, 0.15);
}

.airline-news-block__search-input::placeholder {
  color: var(--text-muted);
  opacity: 0.8;
}

.airline-news-block__card {
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-radius: 0px;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: border-color 200ms ease;
}

.airline-news-block__card:hover {
  border-color: var(--primary);
}

.airline-news-block__img-frame {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  background-color: var(--surface-alt);
}

.airline-news-block__img-link {
  display: block;
  width: 100%;
  height: 100%;
}

.airline-news-block__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
  transition: filter 300ms ease, transform 300ms ease;
}

.airline-news-block__card:hover .airline-news-block__img {
  filter: grayscale(20%) contrast(98%) brightness(100%);
  transform: scale(1.02);
}

.airline-news-block__card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.airline-news-block__card-title {
  font-size: 1.125rem;
  line-height: 1.35;
  font-weight: 400;
  overflow-wrap: anywhere;
}

.airline-news-block__title-link {
  color: var(--text);
  text-decoration: none;
  transition: color 180ms ease;
}

.airline-news-block__title-link:hover {
  color: var(--primary-text);
}

.airline-news-block__card-excerpt {
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.airline-news-block__read-more {
  color: var(--primary-text);
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 0.875rem;
  transition: color 180ms ease;
  display: inline-block;
}

.airline-news-block__read-more:hover {
  color: var(--primary-hover);
}

@media (min-width: 768px) {
  .airline-news-block__col--staggered {
    margin-top: 50px;
  }
}

@media (max-width: 767.98px) {
  .airline-news-block__heading {
    font-size: 1.25rem;
    hyphens: auto;
  }
  .airline-news-block__card-title {
    font-size: 1rem;
    hyphens: auto;
  }
  .airline-news-block__col--staggered {
    margin-top: 0;
  }
  .airline-news-block__search-input {
    min-width: 100%;
    width: 100%;
  }
  .airline-news-block__filter-bar > div {
    flex-direction: column;
    align-items: stretch !important;
  }
  .airline-news-block__search-box {
    width: 100%;
  }
}

/* ===== PAGE: canadian-airports ===== */
.ca-airport-archive .ca-airport-archive__title {
  font-size: var(--font-sizes-2xl, 1.875rem);
  color: var(--text);
  letter-spacing: var(--letter-spacing-wide, 0.025em);
}

.ca-airport-archive .ca-airport-archive__rule {
  height: 1px;
  background-color: var(--border);
}

.ca-airport-archive .ca-airport-archive__meta-tag {
  font-size: var(--font-sizes-xs, 0.75rem);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wider, 0.05em);
}

.ca-airport-archive .ca-card {
  background-color: var(--surface);
  border: 1px solid var(--border);
  transition: border-color 0.2s ease;
}

.ca-airport-archive .ca-card:hover {
  border-color: var(--primary);
}

.ca-airport-archive .ca-card__media-link {
  display: block;
  overflow: hidden;
}

.ca-airport-archive .ca-card__media-wrap {
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  background-color: var(--surface-alt);
}

.ca-airport-archive .ca-card__media-wrap--compact {
  width: 140px;
  height: 100%;
  min-height: 120px;
}

.ca-airport-archive .ca-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
  transition: transform 0.35s ease, filter 0.35s ease;
}

.ca-airport-archive .ca-card:hover .ca-card__img {
  transform: scale(1.03);
  filter: grayscale(20%) sepia(4%) contrast(100%) brightness(100%);
}

.ca-airport-archive .ca-card__title {
  font-size: var(--font-sizes-lg, 1.25rem);
  line-height: var(--line-height-headings, 1.3);
  margin-bottom: 0.5rem;
  color: var(--text);
  overflow-wrap: anywhere;
}

.ca-airport-archive .ca-card__title--small {
  font-size: var(--font-sizes-base, 1.125rem);
}

.ca-airport-archive .ca-card__title-link {
  color: var(--text);
  text-decoration: none;
  transition: color 0.18s ease;
}

.ca-airport-archive .ca-card__title-link:hover {
  color: var(--primary);
}

.ca-airport-archive .ca-card__text {
  color: var(--text-muted);
  font-size: var(--font-sizes-sm, 0.875rem);
  line-height: var(--line-height-base, 1.75);
  overflow-wrap: anywhere;
}

.ca-airport-archive .ca-card__meta-item {
  font-size: var(--font-sizes-xs, 0.75rem);
  color: var(--text-muted);
}

.ca-airport-archive .ca-card__arrow-link {
  font-size: var(--font-sizes-sm, 0.875rem);
  color: var(--primary-text);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.18s ease;
}

.ca-airport-archive .ca-card__arrow-link:hover {
  color: var(--primary-hover);
}

.ca-airport-archive .ca-card__icon {
  transition: transform 0.2s ease;
}

.ca-airport-archive .ca-card__arrow-link:hover .ca-card__icon {
  transform: translateX(3px);
}

.ca-airport-archive .ca-card__footer {
  border-color: var(--border) !important;
}

@media (max-width: 767px) {
  .ca-airport-archive .ca-airport-archive__title {
    font-size: 16px;
    hyphens: auto;
  }
  .ca-airport-archive .ca-card__title {
    font-size: 14px;
    hyphens: auto;
  }
  .ca-airport-archive .ca-card__media-wrap--compact {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }
  .ca-airport-archive .ca-card--compact {
    flex-direction: column !important;
  }
}

/* ===== PAGE: industry-analytics ===== */
.industry-analytics-section {
  background-color: var(--bg);
  color: var(--text);
}

.industry-analytics-section .industry-header-row {
  border-color: var(--border) !important;
}

.industry-analytics-section .industry-header-intro {
  line-height: 1.6;
  font-size: 0.95rem;
}

.industry-analytics-section .analytics-filter-bar {
  border-radius: 4px;
  border-color: var(--border) !important;
}

.industry-analytics-section .js-filter-btn {
  border-radius: 2px;
  font-size: 0.8125rem;
  padding: 0.35rem 0.75rem;
  transition: all 0.2s ease;
}

.industry-analytics-section .js-filter-btn.active {
  background-color: var(--primary) !important;
  color: var(--on-primary) !important;
  border-color: var(--primary) !important;
}

.industry-analytics-section .industry-wide-row {
  border-radius: 4px;
  border-color: var(--border) !important;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.industry-analytics-section .industry-wide-row:hover {
  border-color: var(--primary) !important;
}

.industry-analytics-section .industry-media-link {
  border-radius: 4px;
}

.industry-analytics-section .ejv-media {
  filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
  transition: filter 0.3s ease, transform 0.3s ease;
}

.industry-analytics-section .industry-wide-row:hover .ejv-media {
  filter: grayscale(20%) sepia(0%) contrast(100%) brightness(100%);
  transform: scale(1.03);
}

.industry-analytics-section .industry-inline-link {
  text-underline-offset: 4px;
  font-weight: 500;
}

.industry-analytics-section .industry-inline-link:hover {
  color: var(--primary-hover) !important;
}

@media (max-width: 767px) {
  .industry-analytics-section .industry-wide-row .text-center {
    text-align: left !important;
  }
  .industry-analytics-section .industry-wide-row .d-flex.justify-content-center {
    justify-content: flex-start !important;
  }
}

.can-comment-item {
    margin-bottom: 1.5rem;
    font-family: 'Average Sans', sans-serif
}

.can-comment-card {
    background: #FFFFFF;
    border: 1px solid #D8E4E3;
    border-radius: 4px;
    padding: 1.5rem 1.75rem;
    transition: border-color .2s ease
}

.can-comment-card:hover {
    border-color: #176F6B
}

.can-comment-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem
}

.can-comment-user {
    display: flex;
    align-items: center;
    gap: 0.875rem
}

.can-avatar {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #FFFFFF;
    user-select: none;
    object-fit: cover
}

.can-avatar-teal {
    background: linear-gradient(135deg, #176F6B 0%, #0F3B3A 100%)
}

.can-user-meta {
    display: flex;
    flex-direction: column;
    gap: 0.125rem
}

.can-comment-author {
    font-size: 1.05rem;
    font-weight: 700;
    color: #131F1F;
    margin: 0;
    line-height: 1.3
}

.can-comment-meta-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap
}

.can-comment-badge {
    font-size: 0.75rem;
    font-weight: 600;
    color: #176F6B;
    background: #E9F4F4;
    padding: 0.1rem 0.5rem;
    border-radius: 2px;
    letter-spacing: 0.02em
}

.can-meta-dot {
    color: #556D6C;
    font-size: 0.75rem
}

.can-comment-time {
    font-size: 0.8125rem;
    color: #556D6C
}

.can-location-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: #556D6C;
    background: #F6F9F9;
    border: 1px solid #D8E4E3;
    padding: 0.25rem 0.625rem;
    border-radius: 2px
}

.can-comment-body {
    margin-bottom: 1.25rem
}

.can-comment-text {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: #131F1F;
    margin: 0
}

.can-comment-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #E9F4F4
}

.can-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: transparent;
    border: 1px solid transparent;
    color: #556D6C;
    font-family: inherit;
    font-size: 0.875rem;
    padding: 0.375rem 0.75rem;
    border-radius: 2px;
    cursor: pointer;
    transition: all .18s ease
}

.can-action-btn:hover {
    background: #E9F4F4;
    color: #176F6B
}

.can-action-btn:focus-visible {
    outline: 2px solid #176F6B;
    outline-offset: 2px
}

.can-like-btn.is-active {
    color: #176F6B;
    background: #E9F4F4;
    border-color: #D8E4E3
}

.can-like-count {
    font-weight: 700;
    color: #176F6B;
    margin-left: 0.2rem
}

.can-reply-btn:hover {
    border-color: #D8E4E3
}

@media (max-width:576px) {
    .can-comment-card {
        padding: 1.125rem
    }

    .can-comment-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem
    }

    .can-comment-text {
        font-size: 1rem
    }
}

.reply-comment {
    position: relative;
    margin-left: 2.5rem;
    margin-top: 0.875rem;
    margin-bottom: 1.25rem;
    font-family: 'Average Sans', sans-serif
}

.can-reply-thread-line {
    position: absolute;
    left: -1.375rem;
    top: 0;
    bottom: 1rem;
    width: 2px;
    background: #D8E4E3
}

.can-reply-thread-line::before {
    content: '';
    position: absolute;
    top: 1.5rem;
    left: 0;
    width: 1rem;
    height: 2px;
    background: #D8E4E3
}

.reply-card {
    background: #F6F9F9;
    border: 1px solid #D8E4E3;
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    transition: border-color .2s ease
}

.reply-card:hover {
    border-color: #176F6B
}

.can-avatar-alt {
    background: linear-gradient(135deg, #125451 0%, #1B7F3D 100%)
}

.reply-badge {
    background: #FFFFFF;
    border: 1px solid #D8E4E3;
    color: #176F6B
}

.can-reply-reference {
    display: inline-block;
    font-weight: 700;
    color: #176F6B;
    margin-right: 0.35rem;
    background: #E9F4F4;
    padding: 0 0.35rem;
    border-radius: 2px;
    font-size: 0.95rem
}

@media (max-width:576px) {
    .reply-comment {
        margin-left: 1rem
    }

    .can-reply-thread-line {
        left: -0.625rem
    }

    .can-reply-thread-line::before {
        width: 0.5rem
    }

    .reply-card {
        padding: 1rem
    }
}


/* ===== PAGE TEMPLATE: airline-news ===== */
.wbm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 8px rgba(19, 31, 31, 0.04);
}

.wbm-header-progress {
    width: 0%;
    height: 2px;
    background-color: var(--primary);
    transition: width 120ms linear;
}

.wbm-navbar {
    background-color: var(--surface);
    padding: 0.65rem 0;
}

.wbm-brand {
    text-decoration: none;
    color: var(--text);
    font-weight: 700;
}

.wbm-brand:hover,
.wbm-brand:focus {
    color: var(--primary-text);
}

.wbm-logo-img {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
}

.wbm-brand-name {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    color: var(--text);
    line-height: 1.2;
}

.wbm-toggler {
    border: 1px solid var(--border);
    padding: 0.375rem 0.5rem;
    background-color: var(--surface-alt);
    color: var(--text);
    border-radius: 4px;
}

.wbm-toggler:focus {
    box-shadow: none;
    outline: 2px solid var(--primary);
}

.wbm-toggler-icon {
    width: 24px;
    height: 24px;
    stroke: var(--text);
}

.wbm-nav-list {
    padding-top: 0.5rem;
}

.wbm-nav-link {
    color: var(--text);
    font-size: 0.9375rem;
    padding: 0.5rem 0.85rem !important;
    transition: color 180ms ease, background-color 180ms ease;
    border-radius: 2px;
}

.wbm-nav-link:hover,
.wbm-nav-link:focus {
    color: var(--primary-text);
    background-color: var(--surface-alt);
}

.wbm-contact-link {
    color: var(--primary-text) !important;
    font-weight: 600;
}

.wbm-contact-link:hover {
    color: var(--primary-hover) !important;
}

.wbm-hero {
    background: var(--hero-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.wbm-hero-header {
    max-width: 820px;
}

.wbm-article-breadcrumbs {
    font-size: 0.8125rem;
}

.wbm-breadcrumb-link {
    color: var(--on-dark-muted, #B6C3C3);
    transition: color 180ms ease;
}

.wbm-breadcrumb-link:hover {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
}

.wbm-breadcrumb-current {
    color: var(--accent, #2BCB62);
}

.wbm-hero-title {
    color: var(--on-dark, #FFFFFF);
    line-height: 1.25;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.wbm-hero-lead {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 1.125rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.wbm-hero-date,
.wbm-hero-status,
.wbm-hero-divider {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.an-detail-layout {
    background-color: var(--bg);
    color: var(--text);
}

.an-article-container {
    max-width: 800px;
}

.an-bento-tile {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    transition: border-color 200ms ease;
}

.an-bento-tile:hover {
    border-color: var(--primary);
}

.an-tile-number {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--primary-text);
    background-color: var(--surface-alt);
    padding: 0.2rem 0.45rem;
    border-radius: 2px;
    line-height: 1;
}

.an-tile-heading {
    color: var(--text);
    font-size: 1.375rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.an-tile-subheading {
    color: var(--text);
    font-size: 1.125rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.an-tile-text {
    color: var(--text-muted);
    font-size: 0.9375rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.an-meta-tag {
    font-size: 0.75rem;
    color: var(--text-muted);
    background: var(--surface-alt);
    padding: 0.25rem 0.5rem;
    border-radius: 2px;
}

.an-facts-table th {
    font-size: 0.8125rem;
    color: var(--text-muted);
    font-weight: 400;
    background-color: var(--surface-alt);
    padding: 0.45rem 0.6rem;
    width: 45%;
}

.an-facts-table td {
    font-size: 0.8125rem;
    color: var(--text);
    font-weight: 600;
    padding: 0.45rem 0.6rem;
}

.an-facts-table tr:nth-of-type(even) td {
    background-color: rgba(233, 244, 244, 0.4);
}

.an-image-frame {
    aspect-ratio: 16 / 10;
    background-color: var(--surface-alt);
}

.an-inline-frame {
    aspect-ratio: 16 / 9;
    background-color: var(--surface-alt);
}

.an-related-frame {
    aspect-ratio: 16 / 10;
    background-color: var(--surface-alt);
}

.an-frame-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(45%) sepia(6%) contrast(100%);
    transition: transform 0.4s ease;
}

.an-bento-tile:hover .an-frame-img,
.an-related-card:hover .an-frame-img {
    transform: scale(1.02);
}

.an-img-caption {
    font-size: 0.75rem;
    line-height: 1.4;
}

.an-toc-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-left: 3px solid var(--primary);
    border-radius: 4px;
}

.an-toc-title {
    font-size: 1.125rem;
    color: var(--text);
}

.an-toc-index {
    color: var(--primary-text);
    font-size: 0.875rem;
    font-weight: 600;
}

.an-toc-link {
    color: var(--text-muted);
    font-size: 0.9375rem;
    transition: color 180ms ease, transform 180ms ease;
}

.an-toc-link:hover {
    color: var(--primary-text);
    transform: translateX(4px);
}

.an-section-num {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--on-primary);
    background-color: var(--primary);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
    line-height: 1;
    display: inline-block;
}

.an-section-title {
    font-size: 1.5rem;
    color: var(--text);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.an-paragraph {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--text);
    overflow-wrap: anywhere;
}

.an-pull-quote {
    border-left: 3px solid var(--primary);
    background: var(--surface-alt);
    border-radius: 0 4px 4px 0;
}

.an-quote-text {
    font-size: 1.25rem;
    line-height: 1.6;
    color: var(--primary-text);
    font-style: italic;
}

.an-quote-cite {
    font-size: 0.875rem;
}

.an-bullet-list {
    padding-left: 1.25rem;
}

.an-list-item {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--text);
}

.an-tags-label {
    font-size: 0.875rem;
    color: var(--text);
}

.an-author-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.an-author-avatar {
    width: 68px;
    height: 68px;
    background: var(--primary);
    color: var(--on-primary);
    font-size: 1.25rem;
    font-weight: 600;
}

.an-author-name {
    font-size: 1.25rem;
    color: var(--text);
}

.an-author-bio {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.an-split-cta {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.an-split-cta-title {
    font-size: 1.25rem;
    color: var(--text);
}

.an-split-cta-text {
    font-size: 0.9375rem;
    color: var(--text-muted);
}

.an-faq-item {
    border: 1px solid var(--border);
    background-color: var(--surface);
    margin-bottom: 0.5rem;
    border-radius: 4px !important;
    overflow: hidden;
}

.an-faq-btn {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
    background-color: var(--surface);
    padding: 1rem 1.25rem;
    box-shadow: none !important;
}

.an-faq-btn:not(.collapsed) {
    color: var(--primary-text);
    background-color: var(--surface-alt);
}

.an-faq-btn:after {
    background-image: none;
    content: "+";
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--primary-text);
    transform: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.an-faq-btn:not(.collapsed):after {
    content: "−";
}

.an-faq-body {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--text-muted);
    background-color: var(--surface);
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--border);
}

.an-related-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    transition: border-color 200ms ease;
}

.an-related-card:hover {
    border-color: var(--primary);
}

.an-related-all {
    font-size: 0.875rem;
    color: var(--primary-text);
    font-weight: 600;
}

.an-related-all:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.an-related-card-title {
    color: var(--text);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.an-link {
    color: var(--text);
    transition: color 180ms ease;
}

.an-link:hover {
    color: var(--primary-text);
}

.an-related-excerpt {
    font-size: 0.875rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.can-comment-item {
    position: relative;
}

.can-comment-card {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 1.25rem;
}

.reply-comment {
    margin-left: 2rem;
    position: relative;
}

.can-reply-thread-line {
    position: absolute;
    left: -1rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--border);
}

.can-comment-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.can-comment-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.can-avatar {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
    flex-shrink: 0;
}

.can-avatar-teal {
    background-color: var(--primary);
    color: var(--on-primary);
}

.can-avatar-alt {
    background-color: var(--dark-band);
    color: var(--on-dark);
}

.can-comment-author {
    font-size: 0.9375rem;
    margin: 0;
    color: var(--text);
}

.can-comment-meta-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: var(--text-muted);
}

.can-comment-badge {
    color: var(--primary-text);
    font-weight: 600;
}

.can-location-tag {
    font-size: 0.75rem;
    color: var(--text-muted);
    background: var(--surface-alt);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.can-comment-body {
    margin-bottom: 0.75rem;
}

.can-comment-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text);
    margin: 0;
    overflow-wrap: anywhere;
}

.can-reply-reference {
    color: var(--primary-text);
    font-weight: 600;
}

.can-comment-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.can-action-btn {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    color: var(--text-muted);
    padding: 0.25rem 0.65rem;
    border-radius: 2px;
    font-size: 0.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease;
}

.can-action-btn:hover {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.can-action-btn.active {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.an-comment-form-wrap {
    background-color: var(--surface);
    border: 1px solid var(--border);
    border-radius: 4px;
}

.an-form-title {
    font-size: 1.25rem;
    color: var(--text);
}

.an-form-desc {
    font-size: 0.875rem;
}

.an-form-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.35rem;
}

.an-input,
.an-textarea {
    background-color: var(--surface-alt) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    font-size: 0.875rem;
    border-radius: 2px;
}

.an-input:focus,
.an-textarea:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 1px var(--primary) !important;
    background-color: var(--surface) !important;
}

.wb-footer {
    background: var(--dark-band-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    font-family: var(--font-family-base, 'Average Sans', sans-serif);
    border-top: 1px solid rgba(216, 228, 227, 0.15);
    overflow-wrap: anywhere;
}

.wb-footer .wb-footer-eyebrow {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    color: var(--accent, #2BCB62);
    font-weight: 400;
}

.wb-footer .wb-footer-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 1.375rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.wb-footer .wb-footer-bio {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-footer-signature {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-author-badge {
    width: 36px;
    height: 36px;
    background: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border-radius: 4px;
    flex-shrink: 0;
}

.wb-footer .wb-author-label {
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-author-name {
    font-size: 0.875rem;
    color: var(--on-dark, #FFFFFF);
}

.wb-footer .wb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 1rem;
    letter-spacing: 0.04em;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-footer-contact-text {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-link {
    color: var(--on-dark-muted, #B6C3C3);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 180ms ease, transform 180ms ease;
    display: inline-block;
}

.wb-footer .wb-link:hover,
.wb-footer .wb-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wb-footer .wb-icon {
    color: var(--accent, #2BCB62);
}

.wb-footer .wb-contact-value {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #B6C3C3);
    line-height: 1.5;
}

.wb-footer .wb-footer-bottom {
    border-color: rgba(216, 228, 227, 0.12) !important;
}

.wb-footer .wb-copyright {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-footer-notice {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

@media (max-width: 767.98px) {
    .reply-comment {
        margin-left: 0.75rem;
    }

    .can-reply-thread-line {
        left: -0.375rem;
    }

    .wbm-hero-title {
        font-size: 1.5rem !important;
    }

    .wbm-hero-lead {
        font-size: 0.9375rem;
    }

    .an-section-title {
        font-size: 1.25rem;
    }

    .an-paragraph,
    .an-list-item {
        font-size: 0.9375rem;
    }

    .wb-footer .wb-footer-title {
        font-size: 1.25rem;
    }

    .wb-footer .wb-footer-heading {
        font-size: 0.9375rem;
    }

    .wb-footer .wb-contact-item {
        word-break: break-word;
    }
}

/* ===== PAGE TEMPLATE: canadian-airports ===== */
body.can-body {
    background-color: var(--bg, #F6F9F9);
    color: var(--text, #131F1F);
    font-family: var(--font-family-base, 'Average Sans', sans-serif);
    line-height: 1.75;
    overflow-x: hidden;
}

.wbm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--surface, #FFFFFF);
    border-bottom: 1px solid var(--border, #D8E4E3);
    box-shadow: 0 2px 8px rgba(19, 31, 31, 0.04);
}

.wbm-header-progress {
    width: 0%;
    height: 2px;
    background-color: var(--primary, #176F6B);
    transition: width 120ms linear;
}

.wbm-navbar {
    background-color: var(--surface, #FFFFFF);
    padding: 0.65rem 0;
}

.wbm-brand {
    text-decoration: none;
    color: var(--text, #131F1F);
    font-weight: 700;
}

.wbm-brand:hover,
.wbm-brand:focus {
    color: var(--primary-text, #176F6B);
}

.wbm-logo-img {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
}

.wbm-brand-name {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    color: var(--text, #131F1F);
    line-height: 1.2;
}

.wbm-toggler {
    border: 1px solid var(--border, #D8E4E3);
    padding: 0.375rem 0.5rem;
    background-color: var(--surface-alt, #E9F4F4);
    color: var(--text, #131F1F);
    border-radius: 4px;
}

.wbm-toggler:focus {
    box-shadow: none;
    outline: 2px solid var(--primary, #176F6B);
}

.wbm-toggler-icon {
    width: 24px;
    height: 24px;
    stroke: var(--text, #131F1F);
}

.wbm-nav-list {
    padding-top: 0.5rem;
}

.wbm-nav-link {
    color: var(--text, #131F1F);
    font-size: 0.9375rem;
    padding: 0.5rem 0.85rem !important;
    transition: color 180ms ease, background-color 180ms ease;
    border-radius: 2px;
}

.wbm-nav-link:hover,
.wbm-nav-link:focus,
.wbm-nav-link.active {
    color: var(--primary-text, #176F6B);
    background-color: var(--surface-alt, #E9F4F4);
}

.wbm-contact-link {
    color: var(--primary-text, #176F6B) !important;
    font-weight: 600;
}

.wbm-contact-link:hover {
    color: var(--primary-hover, #11514E) !important;
}

.wbm-hero {
    background: var(--hero-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.wbm-hero-header {
    max-width: 860px;
}

.wbm-hero-title {
    color: var(--on-dark, #FFFFFF);
    line-height: 1.25;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.wbm-hero-lead {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 1.125rem;
    line-height: 1.6;
}

.wbm-hero-date,
.wbm-hero-status,
.wbm-hero-divider,
.wbm-card-meta {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wbm-hero .ejv-badge {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.can-article-wrap {
    background-color: var(--bg, #F6F9F9);
}

.can-article-image-frame {
    width: 100%;
    aspect-ratio: 16 / 8;
    max-height: 520px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--border, #D8E4E3);
    background-color: var(--surface-alt, #E9F4F4);
}

.can-full-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(40%) sepia(6%) contrast(102%);
}

.can-key-facts-bar {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
}

.can-fact-label {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--primary-text, #176F6B);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.can-fact-chip {
    display: inline-flex;
    align-items: center;
    background-color: var(--surface-alt, #E9F4F4);
    border: 1px solid var(--border, #D8E4E3);
    color: var(--text, #131F1F);
    font-size: 0.8125rem;
    padding: 0.25rem 0.75rem;
    border-radius: 100px;
    line-height: 1.4;
}

.can-split-section {
    border-color: var(--border, #D8E4E3) !important;
}

.can-section-title {
    color: var(--text, #131F1F);
    line-height: 1.3;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.can-section-lead {
    color: var(--text-muted, #556D6C);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.can-toc-box {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
}

.can-toc-list {
    list-style-type: decimal;
    color: var(--text-muted, #556D6C);
}

.can-toc-link {
    color: var(--primary-text, #176F6B);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 180ms ease;
}

.can-toc-link:hover {
    color: var(--primary-hover, #11514E);
}

.can-prose .can-body-p {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--text, #131F1F);
    overflow-wrap: anywhere;
}

.can-prose .can-bullet-list {
    list-style-type: disc;
    color: var(--text, #131F1F);
    font-size: 1rem;
}

.can-pull-quote {
    border-left: 3px solid var(--primary, #176F6B);
    background-color: var(--surface-alt, #E9F4F4);
    color: var(--primary-text, #176F6B);
    font-size: 1.25rem;
    line-height: 1.6;
    border-radius: 0 4px 4px 0;
}

.can-cta-banner {
    border: 1px solid var(--border, #D8E4E3);
}

.can-cta-heading {
    color: var(--text, #131F1F);
    line-height: 1.3;
}

.can-cta-subtext {
    color: var(--text-muted, #556D6C);
    font-size: 0.9375rem;
}

.ejv-btn {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border: 1px solid var(--primary, #176F6B);
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 200ms ease, border-color 200ms ease;
}

.ejv-btn:hover,
.ejv-btn:focus {
    background-color: var(--primary-hover, #11514E);
    border-color: var(--primary-hover, #11514E);
    color: var(--on-primary, #FFFFFF);
}

.wbm-icon-arrow {
    transition: transform 0.2s ease;
}

.ejv-btn:hover .wbm-icon-arrow {
    transform: translateX(3px);
}

.can-related-link-item {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
    transition: border-color 180ms ease, background-color 180ms ease;
}

.can-related-link-item:hover {
    border-color: var(--primary, #176F6B);
    background-color: var(--surface-alt, #E9F4F4);
}

.can-related-link {
    color: var(--text, #131F1F);
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.4;
}

.can-related-link:hover {
    color: var(--primary-text, #176F6B);
}

.can-related-link svg {
    color: var(--primary-text, #176F6B);
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.can-related-link-item:hover svg {
    transform: translateX(4px);
}

.can-faq-accordion .accordion-item {
    background-color: var(--surface, #FFFFFF);
    border-color: var(--border, #D8E4E3) !important;
}

.can-faq-btn {
    background-color: var(--surface, #FFFFFF);
    color: var(--text, #131F1F);
    font-size: 1rem;
    font-weight: 600;
    padding: 1.125rem 1.25rem;
    box-shadow: none !important;
}

.can-faq-btn:not(.collapsed) {
    background-color: var(--surface-alt, #E9F4F4);
    color: var(--primary-text, #176F6B);
}

.can-faq-body {
    color: var(--text, #131F1F);
    font-size: 0.9375rem;
    line-height: 1.7;
    background-color: var(--surface, #FFFFFF);
    border-top: 1px solid var(--border, #D8E4E3);
}

.can-comment-item {
    position: relative;
    margin-bottom: 1.5rem;
}

.can-comment-card {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
    border-radius: 4px;
    padding: 1.25rem;
}

.can-comment-item.reply-comment {
    margin-left: 2rem;
}

.can-reply-thread-line {
    position: absolute;
    top: -1.5rem;
    left: -1rem;
    width: 2px;
    height: calc(100% + 1.5rem);
    background-color: var(--border, #D8E4E3);
}

.can-comment-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.can-comment-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.can-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--on-primary, #FFFFFF);
    flex-shrink: 0;
}

.can-avatar-teal {
    background-color: var(--primary, #176F6B);
}

.can-avatar-alt {
    background-color: var(--dark-band, #0F3B3A);
}

.can-comment-author {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text, #131F1F);
    margin: 0;
    line-height: 1.2;
}

.can-comment-meta-info {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    color: var(--text-muted, #556D6C);
}

.can-comment-badge {
    background: var(--surface-alt, #E9F4F4);
    color: var(--primary-text, #176F6B);
    padding: 0.1rem 0.4rem;
    border-radius: 2px;
}

.can-comment-badge.reply-badge {
    background: #E8ECEB;
    color: var(--text, #131F1F);
}

.can-location-tag {
    font-size: 0.75rem;
    color: var(--text-muted, #556D6C);
    background: var(--surface-alt, #E9F4F4);
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.can-comment-body .can-comment-text {
    font-size: 0.9375rem;
    color: var(--text, #131F1F);
    line-height: 1.6;
    margin: 0;
}

.can-reply-reference {
    color: var(--primary-text, #176F6B);
    font-weight: 600;
    margin-right: 0.25rem;
}

.can-comment-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.can-action-btn {
    background: transparent;
    border: 1px solid var(--border, #D8E4E3);
    border-radius: 2px;
    padding: 0.25rem 0.6rem;
    font-size: 0.75rem;
    color: var(--text-muted, #556D6C);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.can-action-btn:hover {
    background-color: var(--surface-alt, #E9F4F4);
    color: var(--primary-text, #176F6B);
    border-color: var(--primary, #176F6B);
}

.can-action-btn.active {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border-color: var(--primary, #176F6B);
}

.can-action-btn.active svg {
    fill: currentColor;
}

.can-comment-form-wrap {
    background-color: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
}

.can-form-title {
    color: var(--text, #131F1F);
}

.can-form-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text, #131F1F);
    margin-bottom: 0.25rem;
}

.can-form-input,
.can-form-textarea {
    background-color: #FAFCFC;
    border: 1px solid var(--border, #D8E4E3);
    color: var(--text, #131F1F);
    border-radius: 2px;
    font-size: 0.875rem;
    padding: 0.6rem 0.85rem;
}

.can-form-input:focus,
.can-form-textarea:focus {
    background-color: #FFFFFF;
    border-color: var(--primary, #176F6B);
    box-shadow: 0 0 0 2px rgba(23, 111, 107, 0.15);
    color: var(--text, #131F1F);
}

.can-form-input::placeholder,
.can-form-textarea::placeholder {
    color: var(--text-muted, #556D6C);
    opacity: 0.85;
}

.can-comment-alert {
    background-color: var(--surface-alt, #E9F4F4);
    border: 1px solid var(--primary, #176F6B);
    color: var(--primary-text, #176F6B);
    font-size: 0.875rem;
}

.wb-footer {
    background: var(--dark-band-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    font-family: var(--font-family-base, 'Average Sans', sans-serif);
    border-top: 1px solid rgba(216, 228, 227, 0.15);
    overflow-wrap: anywhere;
}

.wb-footer .wb-footer-eyebrow {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    color: var(--accent, #2BCB62);
    font-weight: 400;
}

.wb-footer .wb-footer-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 1.375rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.wb-footer .wb-footer-bio {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-footer-signature {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-author-badge {
    width: 36px;
    height: 36px;
    background: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border-radius: 4px;
    flex-shrink: 0;
}

.wb-footer .wb-author-label {
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-author-name {
    font-size: 0.875rem;
    color: var(--on-dark, #FFFFFF);
}

.wb-footer .wb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 1rem;
    letter-spacing: 0.04em;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-footer-contact-text {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-link {
    color: var(--on-dark-muted, #B6C3C3);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 180ms ease, transform 180ms ease;
    display: inline-block;
}

.wb-footer .wb-link:hover,
.wb-footer .wb-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wb-footer .wb-icon {
    color: var(--accent, #2BCB62);
}

.wb-footer .wb-contact-value {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #B6C3C3);
    line-height: 1.5;
}

.wb-footer .wb-footer-bottom {
    border-color: rgba(216, 228, 227, 0.12) !important;
}

.wb-footer .wb-copyright {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-footer-notice {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

@media (max-width: 767.98px) {
    .can-comment-item.reply-comment {
        margin-left: 0.75rem;
    }

    .can-article-image-frame {
        aspect-ratio: 16 / 9;
        max-height: 280px;
    }

    .wb-footer .wb-footer-title {
        font-size: 1.25rem;
    }

    .wb-footer .wb-footer-heading {
        font-size: 0.9375rem;
    }

    .wb-footer .wb-contact-item {
        word-break: break-word;
    }
}

/* ===== PAGE TEMPLATE: industry-analytics ===== */
.wbm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 8px rgba(19, 31, 31, 0.04);
}

.wbm-header-progress {
    width: 0%;
    height: 2px;
    background-color: var(--primary);
    transition: width 120ms linear;
}

.wbm-navbar {
    background-color: var(--surface);
    padding: 0.65rem 0;
}

.wbm-brand {
    text-decoration: none;
    color: var(--text);
    font-weight: 700;
}

.wbm-brand:hover,
.wbm-brand:focus {
    color: var(--primary-text);
}

.wbm-logo-img {
    max-width: 44px;
    max-height: 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 4px;
}

.wbm-brand-name {
    font-size: 1.125rem;
    letter-spacing: 0.02em;
    color: var(--text);
    line-height: 1.2;
}

.wbm-toggler {
    border: 1px solid var(--border);
    padding: 0.375rem 0.5rem;
    background-color: var(--surface-alt);
    color: var(--text);
    border-radius: 4px;
}

.wbm-toggler:focus {
    box-shadow: none;
    outline: 2px solid var(--primary);
}

.wbm-toggler-icon {
    width: 24px;
    height: 24px;
    stroke: var(--text);
}

.wbm-nav-list {
    padding-top: 0.5rem;
}

.wbm-nav-link {
    color: var(--text);
    font-size: 0.9375rem;
    padding: 0.5rem 0.85rem !important;
    transition: color 180ms ease, background-color 180ms ease;
    border-radius: 2px;
}

.wbm-nav-link:hover,
.wbm-nav-link:focus,
.wbm-nav-link.active {
    color: var(--primary-text);
    background-color: var(--surface-alt);
}

.wbm-contact-link {
    color: var(--primary-text) !important;
    font-weight: 600;
}

.wbm-contact-link:hover {
    color: var(--primary-hover) !important;
}


.wbm-hero {
    background: var(--hero-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.wbm-hero-header {
    max-width: 760px;
}

.wbm-hero-title {
    color: var(--on-dark, #FFFFFF);
    line-height: 1.25;
    letter-spacing: -0.01em;
    overflow-wrap: anywhere;
}

.wbm-hero-lead {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 1.125rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.wbm-hero-date,
.wbm-hero-status,
.wbm-hero-divider,
.wbm-card-meta {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wbm-hero .ejv-badge {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}


.wbm-article-wrap {
    max-width: 720px;
    width: 100%;
}

.wbm-media-frame-wrapper {
    position: relative;
    padding: 0.75rem 0 0 0.75rem;
}

.wbm-media-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0.75rem;
    bottom: auto;
    aspect-ratio: 16 / 9;
    pointer-events: none;
    background-color: var(--surface-alt, #E9F4F4);
    border: 1px solid var(--border, #D8E4E3);
    border-radius: 8px;
    z-index: 0;
}

.wbm-media-holder {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    padding: 0;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    border: 1px solid var(--border, #D8E4E3);
    background-color: var(--surface);
}

.wbm-main-image {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(65%) sepia(8%) contrast(96%) brightness(98%);
}

.wbm-takeaways-card {
    background: var(--surface-alt, #E9F4F4);
    border-left: 4px solid var(--primary, #176F6B);
    border-top: 1px solid var(--border, #D8E4E3);
    border-right: 1px solid var(--border, #D8E4E3);
    border-bottom: 1px solid var(--border, #D8E4E3);
}

.wbm-check-icon {
    color: var(--primary, #176F6B);
}

.wbm-takeaways-list {
    list-style: none;
}

.wbm-key-facts {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
}

.wbm-fact-row {
    border-color: var(--border, #D8E4E3) !important;
}

.wbm-section-h2 {
    font-size: 1.875rem;
    margin-top: 3rem;
    margin-bottom: 1.25rem;
    color: var(--text, #131F1F);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.wbm-prose-content p {
    font-size: 1.125rem;
    line-height: 1.75;
    color: var(--text, #131F1F);
    margin-bottom: 1.5rem;
    overflow-wrap: anywhere;
}

.wbm-content-bullets {
    padding-left: 1.25rem;
    margin-bottom: 1.5rem;
    color: var(--text, #131F1F);
}

.wbm-content-bullets li {
    font-size: 1.0625rem;
    line-height: 1.7;
    margin-bottom: 0.5rem;
}

.wbm-pull-quote {
    border-left: 3px solid var(--primary, #176F6B);
    padding: 1.5rem 2rem;
    font-size: 1.375rem;
    line-height: 1.6;
    color: var(--primary-text, #176F6B);
    background: var(--surface-alt, #E9F4F4);
    margin: 2.5rem 0;
}

.wbm-cta-block {
    border: 1px solid rgba(216, 228, 227, 0.2);
    background: var(--dark-band-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
}

.wbm-cta-block .text-muted-light {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.wbm-cta-block .ejv-btn {
    background-color: var(--brand-btn-bg, #FFFFFF);
    color: var(--brand-btn-text, #0F3B3A);
    border: 1px solid #FFFFFF;
    border-radius: 2px;
    padding: 0.625rem 1.25rem;
    font-weight: 600;
    transition: background-color 200ms ease, opacity 200ms ease;
}

.wbm-cta-block .ejv-btn:hover {
    background-color: var(--surface-alt, #E9F4F4);
    color: var(--brand-btn-text, #0F3B3A);
}


.wbm-accordion .accordion-item {
    border-color: var(--border, #D8E4E3) !important;
    background-color: var(--surface, #FFFFFF);
}

.wbm-accordion .accordion-button {
    color: var(--text, #131F1F);
    background-color: var(--surface, #FFFFFF);
    font-size: 1.0625rem;
    padding: 1.15rem 1.25rem;
    box-shadow: none !important;
}

.wbm-accordion .accordion-button:not(.collapsed) {
    color: var(--primary-text, #176F6B);
    background-color: var(--surface-alt, #E9F4F4);
}

.wbm-accordion .accordion-body {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text-muted, #556D6C) !important;
    background-color: var(--surface, #FFFFFF);
}


.wbm-card-media-box {
    flex: 0 0 180px;
    height: 180px;
    overflow: hidden;
}

.wbm-card-media-box img {
    object-fit: cover;
    filter: grayscale(50%) sepia(5%) contrast(98%);
    transition: transform 0.4s ease;
}

.ejv-card:hover .wbm-card-media-box img {
    transform: scale(1.04);
}

.wbm-read-link {
    color: var(--primary-text, #176F6B);
    font-size: 0.875rem;
}

.wbm-read-link:hover {
    color: var(--primary-hover, #11514E);
    text-decoration: underline;
}


.can-comment-item {
    margin-bottom: 1.5rem;
}

.can-comment-card {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
    padding: 1.25rem;
}

.can-comment-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.can-comment-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.can-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.can-avatar-teal {
    background-color: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
}

.can-avatar-alt {
    background-color: var(--dark-band, #0F3B3A);
    color: #FFFFFF;
}

.can-comment-author {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 0;
    color: var(--text, #131F1F);
}

.can-comment-meta-info {
    font-size: 0.75rem;
    color: var(--text-muted, #556D6C);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.can-location-tag {
    font-size: 0.75rem;
    color: var(--text-muted, #556D6C);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: var(--surface-alt, #E9F4F4);
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
}

.can-comment-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text, #131F1F);
    margin: 0;
}

.can-comment-actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.85rem;
    padding-top: 0.65rem;
    border-top: 1px dashed var(--border, #D8E4E3);
}

.can-action-btn {
    border: none;
    background: transparent;
    color: var(--text-muted, #556D6C);
    font-size: 0.8125rem;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    cursor: pointer;
    padding: 0.2rem 0.4rem;
    border-radius: 2px;
    transition: color 150ms ease, background-color 150ms ease;
}

.can-action-btn:hover {
    color: var(--primary-text, #176F6B);
    background-color: var(--surface-alt, #E9F4F4);
}

.can-action-btn.is-active {
    color: var(--primary-text, #176F6B);
    font-weight: bold;
}

.can-action-btn.is-active svg {
    fill: var(--primary, #176F6B);
}

.wbm-comment-form-box {
    background: var(--surface, #FFFFFF);
    border: 1px solid var(--border, #D8E4E3);
}


.wb-footer {
    background: var(--dark-band-bg, linear-gradient(150deg, #0F3B3A 0%, #125451 100%));
    color: var(--on-dark, #FFFFFF);
    font-family: var(--font-family-base, 'Average Sans', sans-serif);
    border-top: 1px solid rgba(216, 228, 227, 0.15);
    overflow-wrap: anywhere;
}

.wb-footer .wb-footer-eyebrow {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    color: var(--accent, #2BCB62);
    font-weight: 400;
}

.wb-footer .wb-footer-title {
    color: var(--on-dark, #FFFFFF);
    font-size: 1.375rem;
    line-height: 1.3;
    letter-spacing: 0.02em;
}

.wb-footer .wb-footer-bio {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-footer-signature {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-author-badge {
    width: 36px;
    height: 36px;
    background: var(--primary, #176F6B);
    color: var(--on-primary, #FFFFFF);
    border-radius: 4px;
    flex-shrink: 0;
}

.wb-footer .wb-author-label {
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-author-name {
    font-size: 0.875rem;
    color: var(--on-dark, #FFFFFF);
}

.wb-footer .wb-footer-heading {
    color: var(--on-dark, #FFFFFF);
    font-size: 1rem;
    letter-spacing: 0.04em;
    position: relative;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(216, 228, 227, 0.12);
}

.wb-footer .wb-footer-contact-text {
    color: var(--on-dark-muted, #B6C3C3);
    font-size: 0.875rem;
    line-height: 1.6;
}

.wb-footer .wb-link {
    color: var(--on-dark-muted, #B6C3C3);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 180ms ease, transform 180ms ease;
    display: inline-block;
}

.wb-footer .wb-link:hover,
.wb-footer .wb-link:focus {
    color: var(--on-dark, #FFFFFF);
    text-decoration: underline;
    text-underline-offset: 4px;
}

.wb-footer .wb-icon {
    color: var(--accent, #2BCB62);
}

.wb-footer .wb-contact-value {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #B6C3C3);
    line-height: 1.5;
}

.wb-footer .wb-footer-bottom {
    border-color: rgba(216, 228, 227, 0.12) !important;
}

.wb-footer .wb-copyright {
    font-size: 0.8125rem;
    color: var(--on-dark-muted, #B6C3C3);
}

.wb-footer .wb-footer-notice {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    color: var(--on-dark-muted, #B6C3C3);
}


@media (max-width: 767.98px) {
    .wbm-hero-title {
        font-size: 1.5rem !important;
        hyphens: auto;
    }

    .wbm-hero-lead {
        font-size: 0.9375rem;
    }

    .wbm-section-h2 {
        font-size: 1.35rem;
        margin-top: 2rem;
    }

    .wbm-pull-quote {
        font-size: 1.1rem;
        padding: 1rem 1.25rem;
    }

    .wbm-prose-content p {
        font-size: 1rem;
    }

    .wb-footer .wb-footer-title {
        font-size: 1.25rem;
    }

    .wb-footer .wb-footer-heading {
        font-size: 0.9375rem;
    }

    .wb-footer .wb-contact-item {
        word-break: break-word;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* Layout repairs shared by every page. */
html { min-height: 100%; margin: 0; padding: 0; }
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; margin: 0; padding: 0; }
body > header, body > section, body > footer { flex-shrink: 0; }
.wbm-main-container { flex: 1 0 auto; min-width: 0; }
/* The footer is the last visible block, with one set of internal spacing. */
.wb-footer.ejv-section-dark { flex: 0 0 auto; margin-top: auto; margin-bottom: 0; padding: 0; }
.wb-footer > .container { padding-top: 3rem !important; padding-bottom: 1.5rem !important; }

/* Photo cards use an explicit dark surface with a readable text layer. */
.wbm-hero .wbm-hero-card { padding: 0; background: var(--dark-band); isolation: isolate; }
.wbm-hero-card .wbm-card-media-link { position: absolute !important; inset: 0; }
.wbm-hero-card .wbm-card-overlay { background: linear-gradient(180deg, rgba(5,27,27,.15), rgba(5,27,27,.9) 45%, #071f1f 100%); }
.wbm-hero .wbm-hero-card .wbm-card-content { position: relative !important; margin-top: auto; padding-top: 6rem !important; background: linear-gradient(180deg, transparent, rgba(5,27,27,.96) 35%); }
.wbm-hero .wbm-hero-card .wbm-card-heading,
.wbm-hero .wbm-hero-card .wbm-card-title-link { color: #fff; }
.wbm-hero .wbm-hero-card .wbm-card-desc,
.wbm-hero .wbm-hero-card .wbm-card-meta,
.wbm-hero .wbm-hero-card .wbm-hero-divider { color: #e0eded; }
.wbm-hero .wbm-hero-card .ejv-btn { color: #0f3b3a; background: #fff; border-color: #fff; }
.wbm-hero .wbm-hero-card .ejv-btn span { color: inherit; }
.wbm-hero .wbm-hero-card .ejv-btn:hover { background: #e9f4f4; }
.wbm-hero .wbm-hero-card .ejv-badge { color: #fff; background: #176f6b; }

/* Pale badges must retain dark text inside dark sections. */
.ejv-section-dark .ejv-badge, .ejv-on-dark .ejv-badge,
.wbm-newsletter-section .ejv-badge { color: #11514e; background: #e9f4f4; border-color: #d8e4e3; }
.wbm-cta-block .text-muted-light { color: #e0eded; }
.ejv-section-dark .ejv-card .ejv-btn, .ejv-on-dark .ejv-card .ejv-btn { color: #fff; }
.ejv-section-dark .ejv-card .ejv-btn span, .ejv-on-dark .ejv-card .ejv-btn span { color: inherit; }

/* Cards in prose are content-sized, not 100% of their containing article. */
.about-editorial-block .ejv-card { height: auto; }
.about-editorial-block .about-editorial-block__member { height: 100%; }
.about-editorial-block section[id] { scroll-margin-top: 100px; }
.about-editorial-block__content { min-width: 0; }
.about-editorial-block__toc-card { max-width: 100%; }

/* The statistics panel follows its data; adjacent reports stay compact. */
#canadian-aviation-infographics .row.g-4 { align-items: flex-start; }
#canadian-aviation-infographics .js-tab-content { height: auto !important; }
#canadian-aviation-infographics .col-lg-4 > .d-flex { height: auto !important; }
#canadian-aviation-infographics .col-lg-4 .ejv-card { height: auto; flex-grow: 0 !important; }
@media (min-width: 992px) {
  #canadian-aviation-infographics .col-lg-4 .ejv-card > .mb-3 { display: grid; grid-template-columns: 112px 1fr; column-gap: 1rem; }
  #canadian-aviation-infographics .col-lg-4 .ejv-card > .mb-3 > a { grid-row: 1 / 4; }
  #canadian-aviation-infographics .col-lg-4 img { height: 112px !important; }
  #canadian-aviation-infographics .col-lg-4 .ejv-badge { justify-self: start; }
}
.an-tile-cta { height: auto !important; align-self: flex-start; gap: 1rem; }
.an-comment-form-wrap { height: auto; }

.airline-news-block__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.5rem; margin: 0; }
.airline-news-block__grid > .airline-news-block__card { width: auto; height: auto; margin: 0; }
.airline-news-block__grid > .airline-news-block__card.d-none { display: none !important; }
@media (max-width: 991.98px) { .airline-news-block__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) {
  .airline-news-block__grid { grid-template-columns: 1fr; gap: 1rem; }
  .policy-content, #privacy-content.policy-content { padding-left: 1.25rem; padding-right: 1.25rem; }
  .policy-content .policy-card { padding-left: 1.25rem; padding-right: 1.25rem; }
  .wbm-hero .wbm-hero-card .wbm-card-content { padding-top: 4rem !important; }
}
/* Keep hero action labels dark on their white button surface. */
.wbm-hero .wbm-hero-card .wbm-card-content .ejv-btn { color: #0f3b3a; }
.wbm-hero .wbm-hero-card .wbm-card-content .ejv-btn span { color: #0f3b3a; }

/* Analytics listing: reserve image space independently of the text column. */
.industry-wide-row { height: auto; }
.industry-preview-frame { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
.industry-preview-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.wbm-card-media-box img { display: block; }

/* Keep image captions above decorative layers and in the document flow. */
.wbm-media-frame-wrapper { isolation: isolate; }
.wbm-caption { position: relative; z-index: 1; }
