/* Shared, opt-in article header. Keep content and existing media intact. */
.blog-post.article-layout {
    max-width: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--color-white, #fff);
}
.article-layout .article-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(circle at top left, rgba(214, 233, 255, 0.55), rgba(255, 255, 255, 0.7)), var(--color-white, #fff);
    padding: 32px 24px 56px;
    border-bottom: 1px solid var(--color-pool-100, #D6E9FF);
}
.article-layout .article-header::before {
    content: '';
    position: absolute;
    left: -140px;
    bottom: -60px;
    width: min(85vw, 1100px);
    height: 308px;
    background: url('../assets/hero-water-contours.svg') no-repeat center / 100% 100%;
    pointer-events: none;
    z-index: -1;
}
.article-layout .article-header-inner { max-width: 1120px; margin: 0 auto; }
.article-layout .article-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 32px;
    font-size: 14px;
    color: var(--color-pool-900);
}
.article-layout .article-breadcrumbs a { color: var(--color-pool-700, #1663B9); text-decoration: none; }
.article-layout .article-breadcrumbs a:hover { text-decoration: underline; }
.article-layout .article-header-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}
.article-layout .article-header-grid > * { min-width: 0; }
.article-layout .article-header-kind-text { grid-template-columns: minmax(0, 1fr); max-width: 800px; }
.article-layout .article-header h1 {
    margin: 0 0 24px;
    font-size: clamp(2rem, 3.5vw, 3.25rem);
    line-height: 1.18;
    letter-spacing: -0.035em;
    color: var(--color-pool-900);
}
.article-layout .article-header .blog-meta { margin: 0; gap: 10px; flex-wrap: wrap; }
.article-layout .article-header .publish-date { flex-basis: 100%; margin: 4px 0 0; }
.article-layout .article-header .author-collab { font-size: 0.875rem; }
.article-layout .article-header .author-collab::after { content: none; }
.article-layout .article-header .article-banner { margin: 0; padding: 0; border-radius: 24px; overflow: hidden; }
.article-layout .article-header .article-banner img { display: block; width: 100%; height: auto; border-radius: 24px; }
.article-layout .article-header-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 24px; background: var(--color-pool-900); }
.article-layout .article-header-video > iframe,
.article-layout .article-header-video > .yt-facade { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; margin: 0; }
.article-layout > .article-reading { box-sizing: border-box; max-width: 848px; margin: 0 auto; padding: 48px 24px; min-width: 0; }
.article-layout .article-reading > .post-container { margin: 0; padding: 0; max-width: none; }
.article-layout .article-header .comparison-header,
.article-layout .article-header .software-header { margin: 0; padding: 24px; border-radius: 24px; }
.article-layout .article-header .comparison-header { gap: 16px; }
.article-layout .article-header .comparison-software { min-width: 0; flex: 1; }
.article-layout .article-header .comparison-logo,
.article-layout .article-header .comparison-logo img { max-width: 100%; }
.article-layout .article-header .software-header { flex-direction: column; align-items: flex-start; }
.article-layout .article-header .tool-header-icon-wrap { justify-self: center; width: min(100%, 280px); }
.article-layout .article-header .tool-header-icon { width: 100%; height: auto; }
.article-layout .article-header-copy > p { margin: 20px 0; }
.article-layout .article-header .tool-header-buttons { margin-top: 20px; }
.article-layout .article-header .tool-btn-primary { background: var(--color-pool-700); color: white; }
.article-layout .article-header .tool-btn-secondary { color: var(--color-pool-700); border-color: var(--color-pool-700); }
@media (max-width: 760px) {
    .article-layout .article-header { padding: 24px 20px 32px; }
    .article-layout .article-header::before { left: -145px; bottom: -35px; width: 700px; height: 196px; opacity: 0.65; }
    .article-layout .article-breadcrumbs { margin-bottom: 24px; }
    .article-layout .article-header-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .article-layout .article-header h1 { font-size: clamp(1.85rem, 6vw, 2.5rem); margin-bottom: 20px; }
    .article-layout > .article-reading { padding: 32px 20px; }
    .article-layout .article-header .tool-header-icon-wrap { width: 200px; }
    .article-layout .article-header .comparison-header { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; padding: 20px 12px; }
    .article-layout .article-header .comparison-logo { width: 96px; height: 96px; padding: 10px; margin: 0 auto 12px; }
    .article-layout .article-header .comparison-name { font-size: 1rem; }
    .article-layout .article-header .comparison-tagline { font-size: 0.8rem; line-height: 1.5; }
    .article-layout .article-header .comparison-vs { font-size: 1.25rem; padding: 0; }
}
/* Older comparisons use compare-logo names for the same layout. */
.article-layout .article-header .comparison-header > * { min-width: 0; }
.article-layout .article-header .compare-logo img { max-width: 100%; height: auto; }
@media (max-width: 760px) {
    .article-layout .article-header .compare-logo-name { font-size: 1rem; }
    .article-layout .article-header .compare-logo-tagline { font-size: 0.8rem; }
    .article-layout .article-header .compare-vs { font-size: 1.25rem; padding: 0; }
}
