/* Shared disclosure geometry; captions never translate beyond their frame. */
.discovery-card {
    position: relative; isolation: isolate; inline-size: 100%; min-inline-size: 0;
    min-block-size: 320px; aspect-ratio: 3 / 4; overflow: hidden;
    border: 1px solid var(--line); border-radius: var(--radius-discovery, 20px);
    background: #090e17; color: #fff;
}
[data-discovery-collection="main"] .discovery-card { aspect-ratio: 2 / 3; }
.discovery-card__image-link { position: absolute; inset: 0; display: block; }
.discovery-card .discovery-card__image-link :is(picture.role-media, img) {
    position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%;
    max-inline-size: none; margin: 0; padding: 0; aspect-ratio: auto;
    object-fit: cover; object-position: center; transform: none; clip-path: none;
}
[data-discovery-collection="real_stories"] .discovery-card__image-link img { object-fit: contain; }
.discovery-card__copy {
    position: absolute; inset-inline: 0; inset-block-end: 0; max-block-size: 100%;
    box-sizing: border-box; padding: 34px 18px 18px; overflow: hidden;
    background: linear-gradient(to top, rgb(3 8 16 / 94%), rgb(3 8 16 / 78%) calc(100% - 34px), transparent);
    pointer-events: none;
}
.discovery-card__heading { display: flex; gap: 10px; align-items: center; }
.discovery-card__heading h3 {
    flex: 1; min-inline-size: 0; margin: 0; font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.4; color: #fff; overflow-wrap: anywhere;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
}
.discovery-card__toggle {
    pointer-events: auto; flex: none; min-block-size: 44px; max-inline-size: 110px;
    padding: 7px 10px; border: 1px solid rgb(255 255 255 / 55%); border-radius: 8px;
    background: #111d2e; color: #fff; font: inherit; font-size: 13px; line-height: 1.5;
}
.discovery-card__toggle[hidden] { display: none; }
.discovery-card__details {
    display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden;
    transition: grid-template-rows 360ms ease, opacity 240ms ease, visibility 360ms;
}
.discovery-card__details-inner { min-block-size: 0; overflow: hidden; }
.discovery-card__details p {
    margin: 10px 0 0; max-block-size: 4.8em; overflow-y: auto; pointer-events: auto;
    font-size: 15px; line-height: 1.6; color: #f1f4f8; overflow-wrap: anywhere;
}
.discovery-card__more {
    pointer-events: auto; display: inline-flex; align-items: center; gap: 10px;
    min-block-size: 44px; margin-block-start: 8px; color: #e4edab; font-size: 15px; font-weight: 700;
}
.discovery-card__more svg { inline-size: 18px; block-size: 18px; }
.discovery-card[data-expanded="true"] .discovery-card__details { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
.discovery-card:focus-within { outline: 2px solid var(--accent); outline-offset: -3px; }
@media (hover: hover) and (pointer: fine) { .discovery-card__toggle { display: none; } }
@media (any-pointer: coarse) { .discovery-card__toggle { display: block; } }
html[data-home-input="touch"] .discovery-card__toggle { display: block; }
@media (prefers-reduced-motion: reduce) { .discovery-card__details { transition: none; } }
