/* Air8 Card Feed — vertical snap scroll */

/* Hide site chrome on the card feed page (but not our own header) */
body.card-feed > header,
body.card-feed nav,
body.card-feed .site-header,
body.card-feed #masthead,
body.card-feed footer,
body.card-feed > footer,
body.card-feed .site-footer,
body.card-feed #colophon {
    display: none !important;
}

body.card-feed,
html:has(body.card-feed) {
    margin: 0;
    padding: 0;
    overflow: hidden;
    height: 100svh;
    min-height: 100svh;
    background: #000;
}

.air8-card-feed-main {
    margin: 0;
    padding: 0;
    position: fixed;
    inset: 0;
    width: 100vw;
    overflow: hidden;
    background: #000;
}

/* Fixed top header — overlays all cards, doesn't scroll. Holds a horizontal
   strip of all feed labels; the active label is centered and neighbours peek
   out faded as an affordance that more feeds exist to the sides. The strip
   translates in lockstep with the column carousel so movement is smooth. */
.air8-card-feed__header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: calc(3.25rem + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    overflow: hidden;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.2) 55%, rgba(0,0,0,0) 100%);

    /* Side fade so peeking labels gently dissolve toward the edges. */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
            mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.air8-card-feed__header-track {
    position: absolute;
    top: env(safe-area-inset-top);
    left: 0;
    height: 3.25rem;
    display: flex;
    align-items: center;
    gap: 2.5rem;
    padding: 0 1rem;
    white-space: nowrap;
    will-change: transform;
    transform: translateX(0);
}
.air8-card-feed__header-label {
    pointer-events: auto;
    flex: 0 0 auto;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: color 80ms ease-out, opacity 80ms ease-out;
}
.air8-card-feed__header-label.is-active {
    color: #fff;
    font-weight: 600;
}
.air8-card-feed__header-label:hover {
    color: #fff;
}

/* Exit button — fixed top-right, sits on the same overlay layer as the header.
   Universal close affordance; also bound to the Escape key in JS. The header
   label strip scrolls behind it, so the fill is a frosted-glass pill that
   diffuses (rather than hides) whatever passes underneath. */
.air8-card-feed__exit {
    position: fixed;
    top: calc(env(safe-area-inset-top) + 0.5rem);
    left: calc(env(safe-area-inset-left) + 0.75rem);
    z-index: 110;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(20, 20, 20, 0.22);
    color: #fff;
    text-decoration: none;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 2px 12px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(16px) saturate(1.6);
    -webkit-backdrop-filter: blur(16px) saturate(1.6);
    transition: background 140ms ease-out, box-shadow 140ms ease-out, transform 120ms ease-out;
}
.air8-card-feed__exit-icon {
    display: block;
    opacity: 0.85;
    transition: opacity 140ms ease-out;
}
.air8-card-feed__exit:hover,
.air8-card-feed__exit:focus-visible {
    background: rgba(20, 20, 20, 0.38);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.28),
        0 4px 18px rgba(0, 0, 0, 0.35);
    outline: none;
}
.air8-card-feed__exit:hover .air8-card-feed__exit-icon,
.air8-card-feed__exit:focus-visible .air8-card-feed__exit-icon {
    opacity: 1;
}
.air8-card-feed__exit:active {
    transform: scale(0.92);
}

/* Horizontal carousel: one column per feed, snap to viewport width */
.air8-card-feed-cols {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: row;
    overflow-x: scroll;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: #000;
}
.air8-card-feed-cols::-webkit-scrollbar {
    display: none;
}

.air8-card-feed {
    flex: 0 0 100vw;
    height: 100%;
    width: 100vw;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    overflow-y: scroll;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    box-sizing: border-box;
}

.air8-card-feed::-webkit-scrollbar {
    display: none;
}

/* Snap target — full viewport, transparent. Centers the visual card inside. */
.air8-card {
    position: relative;
    flex: 0 0 100%;
    height: 100%;
    width: 100vw;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    background: transparent;
    color: var(--oler-white, #f9f9f9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
    box-sizing: border-box;
}

/* The visible card — 9:16 aspect ratio, fits inside safe area */
.air8-card__link {
    display: block;
    position: relative;
    aspect-ratio: 9 / 16;
    width: 100%;
    height: auto;
    max-width: 100vw;
    max-height: 100%;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    background: var(--oler-black, #373C44);
    color: inherit;
    text-decoration: none;
}

/* Viewport wider than 9:16 (desktop / landscape): card is height-driven so
   the 9:16 aspect ratio is preserved and the rest of the screen stays black. */
@media (min-aspect-ratio: 9 / 16) {
    .air8-card__link {
        width: auto;
        height: 100%;
        max-width: 100vw;
    }
}

.air8-card__media {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.air8-card__media--blank {
    background: linear-gradient(135deg, #018cd4, #014cd4);
}

.air8-card.card-type-newsletter .air8-card__media--blank {
    background: radial-gradient(circle at 30% 30%, #ED2AAC, #8a1768);
}

.air8-card.card-type-link-post .air8-card__media--blank {
    background: linear-gradient(135deg, #B2E51A, #6fa50b);
}

.air8-card.card-type-three-questions .air8-card__media--blank {
    background: linear-gradient(135deg, #373C44, #1a1d22);
}

/* Gradient overlay for legibility */
.air8-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.05) 0%,
        rgba(0, 0, 0, 0.0) 35%,
        rgba(0, 0, 0, 0.45) 70%,
        rgba(0, 0, 0, 0.85) 100%
    );
    pointer-events: none;
}

/* No-image cards: no overlay needed */
.air8-card.no-image .air8-card__overlay {
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.25) 100%
    );
}

.air8-card__inner {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 1.75rem 1.5rem 2.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    color: #fff;
}

/* Vertically centered variant — used by link & newsletter layouts */
.air8-card__inner--centered {
    position: absolute;
    inset: 0;
    justify-content: center;
    align-items: stretch;
    padding: 2rem 1.75rem;
    gap: 1rem;
    text-align: left;
    overflow: hidden;
}

/* Default post (feed) cards: g1 background, black text, headline + fading body */
.air8-card.card-type-post .air8-card__link {
    background: var(--color-g1, #ebedef);
    color: #000;
}
.air8-card.card-type-post .air8-card__media,
.air8-card.card-type-post .air8-card__overlay {
    display: none;
}
.air8-card__inner--feed {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 8rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.6rem;
    overflow: hidden;
    color: #000;
}
.air8-card.card-type-post .air8-card__title--feed {
    flex: 0 0 auto;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 2rem;
    text-shadow: none;
    color: #000;
    margin: 0;
}
.air8-card__inner--feed .air8-card__body--feed {
    flex: 1 1 auto;
    min-height: 0;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    color: #000;
    text-shadow: none;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
}
.air8-card__inner--feed .air8-card__body--feed,
.air8-card__inner--feed .air8-card__body--feed p,
.air8-card__inner--feed .air8-card__body--feed li,
.air8-card__inner--feed .air8-card__body--feed h1,
.air8-card__inner--feed .air8-card__body--feed h2,
.air8-card__inner--feed .air8-card__body--feed h3,
.air8-card__inner--feed .air8-card__body--feed h4 {
    text-shadow: none;
    color: #000;
}
.air8-card__inner--feed .air8-card__body--feed p {
    margin: 0 0 0.6em;
}
.air8-card__inner--feed .air8-card__meta {
    flex: 0 0 auto;
    margin-top: auto;
    color: rgba(0, 0, 0, 0.7);
}
.air8-card.card-type-post .air8-card__cta {
    color: #000;
}

/* Dark mode: lift the blog-post card off the black backdrop with a lighter
   panel background and adjust text colors so the content stays legible.
   (The default --color-g1 in dark mode is #303349, which is nearly black.) */
[data-theme="dark"] .air8-card.card-type-post .air8-card__link {
    background: var(--color-g2, #484b62);
    color: var(--oler-white, #f9f9f9);
}
[data-theme="dark"] .air8-card.card-type-post .air8-card__title--feed,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed p,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed li,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed h1,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed h2,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed h3,
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__body--feed h4,
[data-theme="dark"] .air8-card.card-type-post .air8-card__cta {
    color: var(--oler-white, #f9f9f9);
}
[data-theme="dark"] .air8-card.card-type-post .air8-card__inner--feed .air8-card__meta {
    color: rgba(249, 249, 249, 0.7);
}

/* Newsletter cards: interview gradient, headline + fading body */
.air8-card.card-type-newsletter .air8-card__link {
    background: linear-gradient(135deg, #ed2aac, #c72490);
    color: #fff;
}
.air8-card.card-type-newsletter .air8-card__media,
.air8-card.card-type-newsletter .air8-card__overlay {
    display: none;
}
.air8-card__inner--newsletter {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 8rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.6rem;
    overflow: hidden;
}
.air8-card.card-type-newsletter .air8-card__title--newsletter {
    flex: 0 0 auto;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 2rem;
    text-shadow: none;
    color: #fff;
    margin: 0;
}
.air8-card__title-prefix {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    opacity: 0.85;
}
.air8-card__inner--newsletter .air8-card__body--newsletter {
    flex: 1 1 auto;
    min-height: 0;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    color: #fff;
    text-shadow: none;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
}
.air8-card__inner--newsletter .air8-card__body--newsletter,
.air8-card__inner--newsletter .air8-card__body--newsletter p,
.air8-card__inner--newsletter .air8-card__body--newsletter li,
.air8-card__inner--newsletter .air8-card__body--newsletter h1,
.air8-card__inner--newsletter .air8-card__body--newsletter h2,
.air8-card__inner--newsletter .air8-card__body--newsletter h3,
.air8-card__inner--newsletter .air8-card__body--newsletter h4 {
    text-shadow: none;
}
.air8-card__inner--newsletter .air8-card__body--newsletter p {
    margin: 0 0 0.6em;
}
.air8-card__body--newsletter ul,
.air8-card__body--newsletter ol {
    padding-left: 1.25rem;
    margin: 0.4em 0;
}
.air8-card__body--newsletter li {
    margin: 0.35em 0;
}
.air8-card__body--newsletter h1,
.air8-card__body--newsletter h2,
.air8-card__body--newsletter h3,
.air8-card__body--newsletter h4 {
    font-size: 1rem;
    margin: 0.6em 0 0.2em;
    color: #fff;
}
.air8-card__inner--newsletter .air8-card__meta {
    flex: 0 0 auto;
    margin-top: auto;
    color: rgba(255, 255, 255, 0.85);
}
.air8-card.card-type-newsletter .air8-card__cta {
    color: #fff;
}
.air8-card__eyebrow {
    font-family: "share-tech-mono", ui-monospace, monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 0.25rem;
    opacity: 0.95;
}

/* Link-post cards: blue gradient */
.air8-card.card-type-link-post .air8-card__link {
    background: linear-gradient(135deg, #0172ad, #015688);
    color: #fff;
}
.air8-card.card-type-link-post .air8-card__media,
.air8-card.card-type-link-post .air8-card__overlay {
    display: none;
}
.air8-card.card-type-link-post .air8-card__type {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    align-self: flex-start;
}

/* Link-post layout: top-aligned content, summary fills + fades, meta at bottom */
.air8-card__inner--link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 8rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.25rem;
    overflow: hidden;
}
.air8-card__inner--link .air8-card__body--link,
.air8-card__inner--link .air8-card__body--link p {
    flex: 0 0 auto;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    color: #fff;
    text-shadow: none;
}
.air8-card__inner--link .air8-card__meta {
    margin-top: auto;
}
.air8-card__date-link {
    color: inherit;
    text-decoration: none;
}
.air8-card__date-link:hover {
    text-decoration: underline;
}
.air8-card__inner--link .air8-card__link-summary {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    margin-top: 0;
    -webkit-mask-image: linear-gradient(to bottom, #000 65%, rgba(0,0,0,0.4) 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 65%, rgba(0,0,0,0.4) 88%, transparent 100%);
}
.air8-card__inner--link .air8-card__link-summary-body,
.air8-card__inner--link .air8-card__link-summary-title {
    font-family: 'DOS-V', ui-monospace, monospace;
}
.air8-card__inner--link .air8-card__link-summary-body {
    font-size: 0.95rem;
    line-height: 1.5;
}
.air8-card__inner--link .air8-card__meta {
    flex: 0 0 auto;
    margin-top: auto;
}
.air8-card__body--link,
.air8-card__body--link p {
    color: #fff;
}
.air8-card__body--link a {
    color: #fff;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, 0.6);
}
.air8-card.card-type-link-post .air8-card__meta {
    color: rgba(255, 255, 255, 0.8);
}
.air8-card.card-type-link-post .air8-card__cta {
    color: #fff;
}
.air8-card__body--link p {
    margin: 0 0 0.7em;
}
.air8-card__body--link p:last-child {
    margin-bottom: 0;
}
.air8-card__link-summary {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    color: #fff;
}
.air8-card__link-summary-title {
    margin: 0 0 0.35rem;
    font-family: "share-tech-mono", ui-monospace, monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.9;
}
.air8-card__link-summary-body {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 0.95rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.95);
}
.air8-card__link-summary-body ul,
.air8-card__link-summary-body ol {
    list-style: none;
    padding: 0;
    margin: 0;
}
.air8-card__link-summary-body li {
    margin: 0 0 0.7em;
    padding: 0;
}
.air8-card__link-summary-body li:last-child {
    margin-bottom: 0;
}
.air8-card__link-summary-body a {
    color: #fff;
    text-decoration: underline;
}

/* Glossary cards: DOS-blue commander panel inside the standard rounded card shell */
.air8-card.card-type-glossary .air8-card__link {
    background: #0000aa;
    color: #fff;
}
.air8-card.card-type-glossary .air8-card__media,
.air8-card.card-type-glossary .air8-card__overlay {
    display: none;
}
/* Layout mirrors the other card types: inner is the padded flex column
   that holds title / body / meta, with identical 1.5rem side & bottom
   padding so the footer (date + CTA) sits in the exact same place as on
   every other card. The GLOSSARY.EXE bar is positioned absolutely so it
   doesn't disturb the flex flow. */
.air8-card__inner--glossary {
    position: absolute;
    inset: 0;
    padding: 6.5rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.25rem;
    overflow: hidden;
    color: #fff;
}
.air8-card__glossary-window-header {
    position: absolute;
    top: 3rem;
    left: 0;
    right: 0;
    background: #aaaaaa;
    color: #000;
    text-align: center;
    padding: 0.4rem 1rem;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    font-family: 'DOS-V', ui-monospace, monospace;
    font-size: 0.85rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    pointer-events: none;
    z-index: 1;
}
/* Higher-specificity selectors so DOS-V wins over the base .air8-card__title
   / .air8-card__body rules, which are defined later in this file. */
.air8-card.card-type-glossary .air8-card__title--glossary {
    flex: 0 0 auto;
    font-family: 'DOS-V', ui-monospace, monospace;
    font-size: 1.375rem; /* --oler-m, matching single-glossary entry */
    line-height: 1.2;
    color: #fff;
    margin: 0;
    text-shadow: none;
}
.air8-card.card-type-glossary .air8-card__body--glossary {
    flex: 1 1 auto;
    min-height: 0;
    font-family: 'DOS-V', ui-monospace, monospace;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #fff;
    text-shadow: none;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 65%, rgba(0,0,0,0.4) 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 65%, rgba(0,0,0,0.4) 88%, transparent 100%);
}
.air8-card.card-type-glossary .air8-card__body--glossary,
.air8-card.card-type-glossary .air8-card__body--glossary p {
    font-family: 'DOS-V', ui-monospace, monospace;
    color: #fff;
    text-shadow: none;
}
.air8-card.card-type-glossary .air8-card__body--glossary p {
    margin: 0 0 0.6em;
}
.air8-card.card-type-glossary .air8-card__body--glossary a {
    color: #fff;
    text-decoration: underline;
}
.air8-card.card-type-glossary .air8-card__body--glossary a:hover {
    color: #ffff55;
}
.air8-card.card-type-glossary .air8-card__meta {
    flex: 0 0 auto;
    margin-top: auto;
    color: rgba(255, 255, 255, 0.92);
}
.air8-card.card-type-glossary .air8-card__date-link,
.air8-card.card-type-glossary .air8-card__cta {
    color: #fff;
}
.air8-card.card-type-glossary .air8-card__type {
    background: #aaaaaa;
    color: #000;
}

/* Interview cards: photo on top, text below */
.air8-card.card-type-three-questions .air8-card__link {
    background: linear-gradient(135deg, #ed2aac, #c72490);
    color: #fff;
}
.air8-card.card-type-three-questions .air8-card__media,
.air8-card.card-type-three-questions .air8-card__overlay {
    display: none;
}
.air8-card__inner--interview {
    position: absolute;
    inset: 0;
    padding: 0;
    gap: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.air8-card__interview-photo-wrap {
    flex: 0 0 auto;
    padding: 0 0 1.5rem;
    margin: 0;
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    line-height: 0;
    font-size: 0;
}
.air8-card__interview-photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    display: block;
    background: #dca3c9;
    border-radius: 0;
    margin: 0;
    padding: 0;
    vertical-align: top;
}
.air8-card__interview-top {
    position: relative;
    flex: 0 0 auto;
    background: transparent;
    color: #fff;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.air8-card.card-type-three-questions .air8-card__interview-top .air8-card__type {
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    align-self: flex-start;
}
.air8-card__zeile {
    font-family: "share-tech-mono", ui-monospace, monospace;
    font-size: 0.85rem;
    margin: 0;
    opacity: 0.95;
}
.air8-card__interview-qa {
    flex: 1 1 auto;
    overflow: hidden;
    padding: 1.5rem 1.5rem 1.5rem;
    color: #fff;
    background: transparent;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 70%, rgba(0,0,0,0.4) 88%, transparent 100%);
}
.air8-card__interview-q {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    margin: 0 0 0.5rem;
    color: #fff;
}
.air8-card__interview-a {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
}
.air8-card__interview-a p {
    margin: 0 0 0.6em;
}
.air8-card.card-type-three-questions .air8-card__title--small {
    font-size: 1.4rem;
    text-shadow: none;
    color: #fff;
    margin: 0;
}
.air8-card.card-type-three-questions .air8-card__meta {
    position: static;
    flex: 0 0 auto;
    padding: 0 1.5rem 1.5rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
}
.air8-card.card-type-three-questions .air8-card__cta {
    color: #fff;
}

.air8-card__title--small {
    font-size: clamp(1.25rem, 4vw, 1.75rem);
}

.air8-card__type {
    align-self: flex-start;
    font-family: "share-tech-mono", ui-monospace, monospace;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.25rem 0.6rem;
    border-radius: 0.45rem;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    color: #fff;
}

.air8-card.card-type-newsletter .air8-card__type {
    background: #ED2AAC;
}
.air8-card.card-type-link-post .air8-card__type {
    background: #014cd4;
}
.air8-card.card-type-three-questions .air8-card__type {
    background: #B2E51A;
    color: #1a1d22;
}

.air8-card__title {
    margin: 0;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: clamp(1.5rem, 5vw, 2rem);
    line-height: 1.15;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}

.air8-card__body {
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

.air8-card__body--excerpt {
    max-height: 6.5em;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
}

.air8-card__body--full {
    max-height: 50dvh;
    overflow-y: auto;
    -webkit-mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
    padding-right: 0.25rem;
}

.air8-card__body p {
    margin: 0 0 0.6em;
}

.air8-card__body a {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.5);
}

.air8-card__body img,
.air8-card__body figure,
.air8-card__body iframe {
    display: none; /* keep cards visually clean — full media lives on the post page */
}

.air8-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Instrument Sans', system-ui, -apple-system, sans-serif;
    font-size: 1.05rem;
    text-transform: lowercase;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 0.25rem;
}

.air8-card__cta {
    color: #fff;
    opacity: 0.95;
}

/* Loader & sentinel */
.air8-card-feed__sentinel,
.air8-card-feed__top-sentinel {
    flex: 0 0 1px;
    width: 100%;
    height: 1px;
}

.air8-card-feed__loader,
.air8-card-feed__top-loader {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.7);
    padding: 1.25rem;
    text-align: center;
    font-family: "share-tech-mono", ui-monospace, monospace;
    font-size: 0.8rem;
    display: none;
}

.air8-card-feed.is-loading .air8-card-feed__loader,
.air8-card-feed.is-loading-newer .air8-card-feed__top-loader {
    display: block;
}

/* Empty state */
.air8-card--empty {
    background: var(--oler-black, #373C44);
    display: flex;
    align-items: center;
    justify-content: center;
}
.air8-card--empty .air8-card__inner {
    position: static;
    text-align: center;
}
