/* LACA portal ledger overlay — 2026-08-20
   Loaded after laca-portals.css / section-refresh / aging-suite.
   Tightens heroes and cards to the mission.php mandate language.
   Does not change layout contracts of widgets or tables. */

.laca-portal,
.laca-landing {
    --ink: rgba(255, 255, 255, 0.82);
    --ink-dim: rgba(255, 255, 255, 0.72);
    --ink-mute: rgba(255, 255, 255, 0.46);
    --panel: rgba(5, 0, 15, 0.82);
    --line: rgba(107, 70, 193, 0.38);
}

.portal-crumb {
    width: min(1380px, calc(100% - 2rem));
    margin: 0 auto;
    padding: calc(96px + 0.4rem) 0 0;
}

.laca-portal .portal-crumb,
.laca-landing .portal-crumb {
    width: 100%;
    padding: 0 0 0.85rem;
}

.portal-crumb-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: "JetBrains Mono", "Azeret Mono", monospace;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    color: var(--ink-mute);
}

.portal-crumb-list li:not(:last-child)::after {
    content: "›";
    margin-left: 0.55rem;
    color: rgba(0, 240, 255, 0.55);
}

.portal-crumb a {
    color: var(--bright-cyan);
    text-decoration: none;
}

.portal-crumb a:hover { text-decoration: underline; }
.portal-crumb [aria-current="page"] { color: #fff; }

body:has(.site-nav) .portal-crumb { display: none; }

.laca-portal {
    padding-top: clamp(1.1rem, 2.4vw, 1.8rem);
}

.portal-hero {
    overflow: visible;
    padding: clamp(1.35rem, 3vw, 2.1rem);
    border-radius: 4px;
    background: var(--panel);
    box-shadow: none;
}

.portal-hero::after { display: none; }

.portal-hero h1 {
    font-size: clamp(1.85rem, 4.2vw, 3.1rem);
    letter-spacing: 0.03em;
    line-height: 1.12;
}

.portal-hero h1 span {
    text-shadow: none;
}

.portal-lede {
    color: var(--ink-dim);
    line-height: 1.75;
}

.portal-tag,
.portal-badge,
.no-association-badge {
    border-radius: 2px;
}

.portal-button,
.landing-button {
    border-radius: 2px;
    font-family: "Orbitron", sans-serif;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.portal-button {
    color: var(--portal-accent, var(--bright-cyan));
    background: transparent;
}

.portal-button:not(.secondary) {
    color: #fff;
    background: color-mix(in srgb, var(--portal-accent, var(--bright-cyan)) 16%, transparent);
}

.portal-button:hover,
.portal-button:focus-visible,
.landing-button:hover,
.landing-button:focus-visible {
    transform: none;
    box-shadow: none;
    color: #fff;
    background: color-mix(in srgb, var(--portal-accent, var(--bright-cyan)) 18%, transparent);
}

.portal-metric,
.portal-card,
.association-metric,
.association-card,
.genotype-species,
.system-context-intro,
.system-visual {
    border-radius: 4px;
}

.portal-metric span,
.portal-section-head p {
    color: var(--ink-dim);
}

.portal-model-link,
.portal-model-card,
.portal-model-reason {
    border-radius: 4px;
}

.portal-model-card {
    transition: border-color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                background-color 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.portal-model-link:hover .portal-model-card,
.portal-model-link:focus-visible .portal-model-card,
.portal-model-link:hover .portal-model-card.is-highlighted,
.portal-model-link:focus-visible .portal-model-card.is-highlighted {
    transform: none;
    box-shadow: none;
}

.portal-model-reason {
    position: static;
    inset: auto;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    margin: 0 0 0.85rem;
}

.system-visual-tile {
    border-radius: 4px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.system-visual-tile:hover,
.system-visual-tile:focus-visible {
    transform: none;
}

.laca-landing {
    --laca-radius: 4px;
}

.laca-landing .landing-hero {
    min-height: auto;
    padding-top: clamp(7.2rem, 11vw, 8.6rem);
    padding-bottom: clamp(2.2rem, 4vw, 3.4rem);
}

.laca-landing .landing-lede {
    color: var(--ink-dim);
}

.longevity-suite-nav,
.longevity-suite-nav-item {
    border-radius: 4px;
}

.longevity-suite-nav-item:hover,
.longevity-suite-nav-item.is-current {
    transform: none;
}

@media (max-width: 768px) {
    .portal-crumb { padding-top: 0.2rem; }
    .portal-hero { padding: 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
    .portal-button,
    .portal-model-card,
    .system-visual-tile,
    .landing-button {
        transition: none;
    }
}
