:root {
    --mja-bg: #050608;
    --mja-panel: rgba(14, 18, 24, 0.92);
    --mja-panel-soft: rgba(255, 255, 255, 0.03);
    --mja-border: rgba(0, 225, 255, 0.24);
    --mja-border-strong: rgba(0, 225, 255, 0.42);
    --mja-accent: #00e1ff;
    --mja-accent-soft: rgba(0, 225, 255, 0.1);
    --mja-text-soft: rgba(255, 255, 255, 0.78);
}

body {
    background:
        radial-gradient(circle at top, rgba(0, 225, 255, 0.1), transparent 34%),
        linear-gradient(180deg, #040507 0%, #07090d 45%, #040507 100%);
    color: #fff;
}

.navbar-custom {
    border-bottom: 1px solid var(--mja-border-strong);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.22);
}

.navbar-nav .nav-link {
    letter-spacing: 0.03em;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link[aria-current="page"] {
    color: var(--mja-accent) !important;
    text-shadow: 0 0 12px rgba(0, 225, 255, 0.35);
}

.mja-main {
    position: relative;
    z-index: 1;
}

.mja-section {
    padding: 4.5rem 0;
}

.mja-section-tight {
    padding-top: 0;
}

.mja-panel {
    background: linear-gradient(180deg, rgba(12, 17, 23, 0.96) 0%, rgba(8, 11, 16, 0.92) 100%);
    border: 1px solid var(--mja-border);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
    padding: 2rem;
}

.mja-panel-lg {
    padding: clamp(2rem, 4vw, 3rem);
}

.mja-panel-soft {
    background: var(--mja-panel-soft);
}

.mja-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--mja-accent);
    margin-bottom: 0.85rem;
}

.mja-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: currentColor;
    opacity: 0.7;
}

.mja-title {
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.mja-subtitle {
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    color: #fff;
    line-height: 1.5;
}

.mja-lead {
    color: var(--mja-text-soft);
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 900px;
}

.mja-grid {
    display: grid;
    gap: 1.5rem;
}

.mja-grid-3 {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mja-card {
    height: 100%;
    border-radius: 22px;
    padding: 1.6rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.mja-card:hover {
    transform: translateY(-4px);
    border-color: var(--mja-border-strong);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2);
}

.mja-card h3,
.mja-card h4 {
    color: #fff;
    margin-bottom: 0.75rem;
}

.mja-card p,
.mja-card li {
    color: var(--mja-text-soft);
}

.mja-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.5rem;
}

.mja-btn-primary,
.mja-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.8rem 1.3rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.mja-btn-primary {
    color: #02151a;
    background: var(--mja-accent);
    box-shadow: 0 14px 30px rgba(0, 225, 255, 0.18);
}

.mja-btn-primary:hover {
    transform: translateY(-2px);
    color: #02151a;
}

.mja-btn-secondary {
    color: #fff;
    border: 1px solid var(--mja-border-strong);
    background: rgba(255, 255, 255, 0.03);
}

.mja-btn-secondary:hover {
    transform: translateY(-2px);
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.mja-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.mja-stat {
    border-radius: 18px;
    padding: 1rem 1.15rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.mja-stat strong {
    display: block;
    font-size: 1.4rem;
    color: #fff;
}

.mja-stat span {
    display: block;
    color: var(--mja-text-soft);
    font-size: 0.95rem;
    margin-top: 0.25rem;
}

.mja-page-intro {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

.mja-page-intro .mja-lead {
    margin-inline: auto;
}

.mja-inline-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.mja-inline-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #eafbff;
    font-size: 0.92rem;
}

.mja-cta-band {
    display: grid;
    gap: 1rem;
    align-items: center;
}

@media (min-width: 992px) {
    .mja-cta-band {
        grid-template-columns: 1.4fr auto;
    }
}

.mja-cta-band p:last-child {
    margin-bottom: 0;
}

.mja-asset-note {
    margin: 1rem auto 0;
    max-width: 900px;
    border-radius: 18px;
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px dashed rgba(255, 255, 255, 0.18);
    color: var(--mja-text-soft);
}

.gallery-container {
    align-items: stretch;
}

.gallery-item {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
}

.gallery-item a {
    text-decoration: none;
}

.gallery-item img {
    display: block;
}

.download-btn,
.btn-neon {
    text-decoration: none;
}

.mja-footer-links {
    display: grid;
    gap: 0.55rem;
}

.mja-footer-links a {
    text-decoration: none;
}

.mja-footer-links a:hover,
.mja-footer a:hover {
    color: var(--mja-accent) !important;
}

.back-to-top {
    z-index: 1050;
}

@media (max-width: 767.98px) {
    .mja-section {
        padding: 3.5rem 0;
    }

    .mja-panel,
    .mja-panel-lg,
    .mja-card {
        padding: 1.4rem;
        border-radius: 18px;
    }

    .mja-actions {
        width: 100%;
    }

    .mja-actions a {
        width: 100%;
    }
}

.mja-hero-panel {
    position: relative;
    overflow: hidden;
}

.mja-hero-panel::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(0, 225, 255, 0.16), transparent 68%);
    pointer-events: none;
}

.mja-split {
    display: grid;
    gap: 1.5rem;
    align-items: stretch;
}

.mja-media-card {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
}

.mja-media-card img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    display: block;
    object-fit: contain;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
}

.mja-media-fallback {
    display: none;
    min-height: 320px;
    padding: 2rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--mja-text-soft);
    line-height: 1.7;
}

.mja-media-card.mja-media-missing img {
    display: none;
}

.mja-media-card.mja-media-missing .mja-media-fallback {
    display: flex;
}

.mja-copy-stack {
    display: grid;
    gap: 1rem;
}

.mja-copy-stack p:last-child {
    margin-bottom: 0;
}

.mja-checklist {
    display: grid;
    gap: 0.85rem;
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.mja-checklist li {
    position: relative;
    padding-left: 1.7rem;
    color: var(--mja-text-soft);
    line-height: 1.7;
}

.mja-checklist li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 0.1rem;
    color: var(--mja-accent);
}

.mja-quote {
    margin: 0;
    padding: 1.25rem 1.25rem 1.25rem 1.5rem;
    border-left: 3px solid var(--mja-accent);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 0 18px 18px 0;
}

.mja-quote p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #fff;
    margin-bottom: 0.75rem;
}

.mja-quote cite {
    color: var(--mja-text-soft);
    font-style: normal;
}

.mja-kpi-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.mja-kpi {
    border-radius: 18px;
    padding: 1.2rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mja-kpi strong {
    display: block;
    margin-bottom: 0.45rem;
    color: #fff;
    font-size: 1.05rem;
}

.mja-kpi span {
    color: var(--mja-text-soft);
    display: block;
    line-height: 1.65;
}

.mja-form-grid {
    display: grid;
    gap: 1rem;
}

.mja-form-card .form-label,
.mja-form-card .form-text {
    color: var(--mja-text-soft);
}

.mja-form-card .form-control,
.mja-form-card .form-select {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    min-height: 52px;
    border-radius: 14px;
}

.mja-form-card textarea.form-control {
    min-height: 180px;
}

.mja-form-card .form-control::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

.mja-form-card .form-control:focus,
.mja-form-card .form-select:focus {
    border-color: var(--mja-border-strong);
    box-shadow: 0 0 0 0.2rem rgba(0, 225, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
}

.mja-form-status-slot {
    min-height: 0;
    margin-bottom: 1rem;
}

.mja-form-reassurance {
    margin-top: 0.85rem;
    color: rgba(255, 255, 255, 0.62);
}

.mja-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.mja-form-card [data-mja-submit-button][disabled] {
    opacity: 0.88;
    cursor: wait;
}

.mja-note {
    border-radius: 16px;
    padding: 1rem 1.1rem;
    background: rgba(0, 225, 255, 0.08);
    border: 1px solid rgba(0, 225, 255, 0.18);
    color: #dffaff;
}

.mja-mini-heading {
    font-size: 0.95rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--mja-accent);
    margin-bottom: 0.75rem;
}

.mja-divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 225, 255, 0.32), rgba(255, 255, 255, 0.04));
    margin: 1rem 0 1.2rem;
}

@media (min-width: 992px) {
    .mja-split {
        grid-template-columns: 1.2fr 0.8fr;
    }

    .mja-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mja-form-grid .mja-form-full {
        grid-column: 1 / -1;
    }
}


.mja-section-header {
    max-width: 860px;
    margin: 0 auto 1.5rem;
    text-align: center;
}

.mja-grid-2 {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.mja-faq-grid {
    display: grid;
    gap: 1rem;
}

.mja-faq-card {
    border-radius: 20px;
    padding: 1.35rem 1.45rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mja-faq-card h3 {
    font-size: 1.12rem;
    margin-bottom: 0.65rem;
    color: #fff;
}

.mja-faq-card p {
    margin-bottom: 0;
    color: var(--mja-text-soft);
    line-height: 1.7;
}

.mja-link-grid {
    display: grid;
    gap: 0.85rem;
}

.mja-link-card {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 100%;
}

.mja-link-card a {
    text-decoration: none;
}

.mja-asset-note strong {
    color: #fff;
}

@media (min-width: 992px) {
    .mja-faq-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


html,
body {
    margin: 0;
    min-height: 100%;
    font-family: Arial, sans-serif;
    overflow-x: hidden;
}

.navbar-custom {
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
}

.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.18);
}

.navbar-toggler:focus,
.navbar-toggler:focus-visible,
.navbar-nav .nav-link:focus-visible,
.mja-btn-primary:focus-visible,
.mja-btn-secondary:focus-visible,
.mja-btn-outline:focus-visible,
.download-btn:focus-visible,
.mja-form-card .form-control:focus-visible,
.mja-form-card .form-select:focus-visible,
.back-to-top:focus-visible,
.mja-footer a:focus-visible {
    outline: 2px solid rgba(0, 225, 255, 0.85);
    outline-offset: 3px;
}

.mja-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    text-decoration: none;
}

.mja-brand-mark,
.mja-brand-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.7rem;
    padding: 0.25rem 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    font-size: 1.2rem;
}

.mja-brand-mark {
    color: var(--mja-accent);
}

.mja-brand-tag {
    color: #061117;
    background: var(--mja-accent);
    border-radius: 0.35rem;
    box-shadow: 0 10px 24px rgba(0, 225, 255, 0.2);
}

.mja-home-carousel .carousel-item {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 540px;
    background: linear-gradient(180deg, #020304 0%, #071017 100%);
}

.mja-home-carousel .carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(0, 225, 255, 0.12), transparent 45%);
    pointer-events: none;
}

.mja-home-carousel .carousel-item video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #050608;
}

.mja-home-carousel .carousel-item.mja-video-missing video {
    display: none;
}

.mja-home-carousel .carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.62);
    backdrop-filter: blur(8px);
    padding: 1.75rem;
    border-radius: 18px;
    width: min(88%, 760px);
    text-align: center;
    border: 1px solid rgba(0, 225, 255, 0.18);
}

.mja-home-carousel .carousel-caption h1 {
    font-size: clamp(2.1rem, 5vw, 4rem);
    margin-bottom: 1rem;
}

.mja-home-carousel .carousel-caption p {
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.08rem;
    line-height: 1.7;
    margin-bottom: 1.25rem;
}

.mja-btn-outline,
.btn-cyber,
.btn-neon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.9rem 1.35rem;
    font-size: 1rem;
    border-radius: 999px;
    transition: all 0.25s ease-in-out;
    border: 2px solid var(--mja-accent);
    color: var(--mja-accent);
    background: transparent;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.mja-btn-outline:hover,
.btn-cyber:hover,
.btn-neon:hover {
    background: var(--mja-accent);
    color: #02151a;
    box-shadow: 0 0 18px rgba(0, 225, 255, 0.45);
}

.mja-neon-title,
.neon-text {
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--mja-accent);
    text-shadow: 0 0 10px rgba(0, 225, 255, 0.6);
}

.mja-gallery-grid,
.gallery-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
    padding: 0 1rem;
    justify-content: center;
    max-width: 1240px;
    margin: 0 auto;
}

.mja-gallery-grid .gallery-item,
.gallery-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    height: 100%;
    text-align: center;
    background: #111;
    padding: 10px;
    border-radius: 18px;
}

.gallery-item-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 5;
    padding: clamp(0.65rem, 1.4vw, 1rem);
    overflow: hidden;
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.07), transparent 46%),
        linear-gradient(180deg, rgba(6, 9, 13, 0.98) 0%, rgba(4, 6, 10, 0.96) 100%);
}

.mja-gallery-grid .gallery-item img,
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transition: transform 0.3s ease-in-out;
    border-radius: 12px;
    background: transparent;
}

.mja-gallery-grid .gallery-item:hover img,
.gallery-item:hover img {
    transform: scale(1.01);
    box-shadow: 0 12px 30px rgba(0, 225, 255, 0.15);
}

.download-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 8px);
    margin-top: auto;
    padding: 0.8rem 1rem;
    font-size: 0.95rem;
    color: #02151a;
    background: var(--mja-accent);
    border: none;
    border-radius: 999px;
    transition: all 0.25s ease-in-out;
    font-weight: 700;
}

.download-btn:hover {
    background: #7cf3ff;
    color: #02151a;
    box-shadow: 0 0 16px rgba(0, 225, 255, 0.25);
}

.download-btn.is-disabled {
    color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.08);
    cursor: default;
    box-shadow: none;
}

.mja-home-card p:last-child {
    margin-bottom: 0;
}

.mja-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mja-back-to-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1050;
    border-radius: 999px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
}

@media (max-width: 767.98px) {
    .mja-home-carousel .carousel-item {
        min-height: 460px;
        height: 86vh;
    }

    .mja-home-carousel .carousel-caption {
        padding: 1.35rem;
        width: min(92%, 680px);
    }

    .mja-brand-mark,
    .mja-brand-tag {
        font-size: 1rem;
        min-height: 2.4rem;
    }
}


.mja-skip-link {
    position: absolute;
    left: 1rem;
    top: -4rem;
    z-index: 2000;
    padding: 0.85rem 1.1rem;
    border-radius: 0 0 14px 14px;
    background: #ffffff;
    color: #050608;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
    transition: top 0.2s ease;
}

.mja-skip-link:focus,
.mja-skip-link:focus-visible {
    top: 0;
}

#main-content:focus {
    outline: none;
}

#contact {
    scroll-margin-top: 6rem;
}


.mja-no-js-note {
    margin-bottom: 2.5rem;
}


.mja-field-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.4rem;
}

.mja-char-count {
    margin-top: 0.2rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.82rem;
    white-space: nowrap;
}

.mja-char-count.is-near-limit {
    color: #ffd66b;
}

@media (max-width: 575.98px) {
    .mja-field-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}


:root {
    --mja-glow-gold: rgba(255, 194, 102, 0.18);
    --mja-glow-violet: rgba(121, 104, 255, 0.18);
    --mja-shadow-deep: 0 30px 80px rgba(0, 0, 0, 0.45);
    --mja-surface-highlight: rgba(255, 255, 255, 0.08);
    --mja-hero-sheen: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.01) 36%, rgba(0,225,255,0.1) 100%);
}

html {
    scroll-behavior: smooth;
}

body {
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 18% 16%, rgba(0, 225, 255, 0.12), transparent 24%),
        radial-gradient(circle at 82% 10%, rgba(121, 104, 255, 0.18), transparent 20%),
        radial-gradient(circle at 50% 115%, rgba(255, 194, 102, 0.08), transparent 34%),
        linear-gradient(180deg, #030406 0%, #05070b 26%, #070a10 58%, #030406 100%);
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

body::before {
    background:
        radial-gradient(40rem 32rem at calc(var(--mja-cursor-x, 50) * 1%) calc(var(--mja-cursor-y, 30) * 1%), rgba(0, 225, 255, 0.12), transparent 60%),
        radial-gradient(42rem 42rem at 14% 18%, rgba(121, 104, 255, 0.08), transparent 66%),
        radial-gradient(36rem 30rem at 85% 14%, rgba(255, 194, 102, 0.08), transparent 62%);
    opacity: 0.9;
    animation: mjaAtmosphereDrift 24s ease-in-out infinite alternate;
}

body::after {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.02) 0, rgba(255,255,255,0.0) 3px, transparent 3px, transparent 7px),
        radial-gradient(circle at center, transparent 58%, rgba(0, 0, 0, 0.5) 100%);
    background-size: 100% 7px, 100% 100%;
    opacity: 0.16;
    mix-blend-mode: screen;
}

body.mja-entry-active {
    overflow: hidden;
}

body.mja-low-motion .mja-atmosphere,
body.mja-low-motion .mja-cursor-aura {
    display: none !important;
}

body.mja-low-motion .mja-reveal {
    opacity: 1 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

.mja-main,
.navbar-custom,
.mja-footer,
.back-to-top {
    position: relative;
    z-index: 1;
}

.mja-atmosphere {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.mja-atmosphere-orb,
.mja-atmosphere-beam,
.mja-atmosphere-noise,
.mja-atmosphere-vignette,
.mja-cursor-aura {
    position: absolute;
    pointer-events: none;
}

.mja-atmosphere-orb {
    border-radius: 50%;
    filter: blur(28px);
    opacity: 0.36;
    animation: mjaOrbFloat 16s ease-in-out infinite alternate;
}

.mja-atmosphere-orb.is-cyan {
    width: 32rem;
    height: 32rem;
    left: -8rem;
    top: 12vh;
    background: radial-gradient(circle, rgba(0, 225, 255, 0.24) 0%, rgba(0, 225, 255, 0.04) 46%, transparent 72%);
}

.mja-atmosphere-orb.is-violet {
    width: 28rem;
    height: 28rem;
    right: -5rem;
    top: 9vh;
    background: radial-gradient(circle, rgba(121, 104, 255, 0.24) 0%, rgba(121, 104, 255, 0.04) 50%, transparent 74%);
    animation-duration: 22s;
}

.mja-atmosphere-orb.is-gold {
    width: 26rem;
    height: 26rem;
    left: 50%;
    bottom: -11rem;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(255, 194, 102, 0.18) 0%, rgba(255, 194, 102, 0.03) 52%, transparent 76%);
    animation-duration: 20s;
}

.mja-atmosphere-beam {
    inset: -18% 18% auto 18%;
    height: 46vh;
    background: linear-gradient(180deg, rgba(255,255,255,0.1), transparent 76%);
    opacity: 0.1;
    transform: skewY(-7deg);
    filter: blur(18px);
}

.mja-atmosphere-noise {
    inset: 0;
    opacity: 0.075;
    background-image:
        radial-gradient(rgba(255,255,255,0.7) 0.55px, transparent 0.7px),
        radial-gradient(rgba(255,255,255,0.22) 0.45px, transparent 0.65px);
    background-position: 0 0, 12px 12px;
    background-size: 18px 18px, 22px 22px;
    mix-blend-mode: soft-light;
}

.mja-atmosphere-vignette {
    inset: 0;
    background: radial-gradient(circle at center, transparent 44%, rgba(0,0,0,0.5) 100%);
    opacity: 0.9;
}

.mja-cursor-aura {
    width: 22rem;
    height: 22rem;
    left: calc(var(--mja-cursor-x, 50) * 1% - 11rem);
    top: calc(var(--mja-cursor-y, 30) * 1% - 11rem);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, rgba(0,225,255,0.04) 36%, transparent 72%);
    opacity: 0;
    filter: blur(10px);
    transition: opacity 0.4s ease;
}

body.mja-pointer-active .mja-cursor-aura {
    opacity: 1;
}

.navbar-custom {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(5, 8, 12, 0.7);
    backdrop-filter: blur(18px);
    box-shadow: 0 16px 46px rgba(0, 0, 0, 0.34);
}

.mja-brand {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.32rem 0.55rem 0.32rem 0.36rem;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.02)),
        linear-gradient(135deg, rgba(0,225,255,0.1), rgba(4,9,14,0.82));
    box-shadow:
        0 16px 42px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255,255,255,0.08);
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.mja-brand::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.01) 55%, rgba(0,225,255,0.1));
    z-index: 0;
}

.mja-brand::after {
    content: "";
    position: absolute;
    right: -16%;
    bottom: -115%;
    width: 72%;
    height: 210%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,225,255,0.24), transparent 62%);
    opacity: 0.8;
    z-index: 0;
}

.mja-brand-mark,
.mja-brand-tag {
    position: relative;
    z-index: 1;
    transition: color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.mja-brand-mark {
    min-width: 3.55rem;
    padding: 0.42rem 0.85rem 0.42rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(0, 225, 255, 0.28);
    background: linear-gradient(135deg, rgba(2, 15, 21, 0.94), rgba(10, 32, 40, 0.76));
    color: #baf9ff;
    letter-spacing: 0.34em;
    text-shadow: 0 0 22px rgba(0, 225, 255, 0.42);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.04),
        0 0 28px rgba(0, 225, 255, 0.14);
}

.mja-brand-mark::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: inherit;
    border: 1px solid rgba(0, 225, 255, 0.1);
    pointer-events: none;
}

.mja-brand-tag {
    min-height: auto;
    padding: 0.1rem 0.4rem 0 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #f6fbff;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
    font-size: 1.08rem;
    font-style: italic;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: none;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.mja-brand:hover,
.mja-brand:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(0, 225, 255, 0.24);
    box-shadow:
        0 20px 46px rgba(0, 0, 0, 0.34),
        0 0 36px rgba(0, 225, 255, 0.12),
        inset 0 1px 0 rgba(255,255,255,0.1);
}

.mja-brand:hover .mja-brand-mark,
.mja-brand:focus-visible .mja-brand-mark {
    color: #d5fdff;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,0.05),
        0 0 34px rgba(0, 225, 255, 0.2);
}

.mja-brand:hover .mja-brand-tag,
.mja-brand:focus-visible .mja-brand-tag {
    color: #ffffff;
}

@media (max-width: 767.98px) {
    .mja-brand {
        gap: 0.38rem;
        padding: 0.24rem 0.42rem 0.24rem 0.28rem;
    }

    .mja-brand-mark {
        min-width: 3rem;
        padding: 0.35rem 0.72rem 0.35rem 0.88rem;
        font-size: 0.98rem;
        letter-spacing: 0.28em;
    }

    .mja-brand-tag {
        font-size: 0.92rem;
        letter-spacing: 0.12em;
    }
}

.mja-home-carousel {
    position: relative;
    overflow: hidden;
}

.mja-home-carousel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(2, 4, 7, 0.28) 0%, rgba(2, 4, 7, 0.1) 20%, rgba(2, 4, 7, 0.55) 100%),
        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.08), transparent 34%);
    z-index: 1;
    pointer-events: none;
}

.carousel-caption {
    z-index: 2;
}

.carousel-caption h1 {
    text-wrap: balance;
    max-width: 16ch;
    margin-inline: auto;
    text-shadow: 0 8px 38px rgba(0, 0, 0, 0.58);
}

.carousel-caption p {
    max-width: 58ch;
    margin-inline: auto;
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.45);
}

.mja-section {
    position: relative;
}

.mja-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.02) 10%, rgba(0,225,255,0.16) 50%, rgba(255,255,255,0.02) 90%, transparent 100%);
    opacity: 0.7;
}

.mja-section-header {
    max-width: 920px;
    margin: 0 auto 2rem;
    text-align: center;
}

.mja-panel,
.mja-card,
.mja-kpi,
.mja-stat,
.mja-quote,
.mja-asset-note,
.mja-media-card {
    position: relative;
    overflow: hidden;
}

.mja-panel::before,
.mja-card::before,
.mja-kpi::before,
.mja-stat::before,
.mja-media-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 30%, transparent 40%, rgba(0,225,255,0.08) 100%);
    opacity: 0.5;
    pointer-events: none;
}

.mja-panel,
.mja-media-card {
    box-shadow: var(--mja-shadow-deep);
    border-color: rgba(255,255,255,0.08);
}

.mja-panel {
    background:
        linear-gradient(180deg, rgba(13, 17, 24, 0.96) 0%, rgba(6, 9, 13, 0.96) 100%),
        var(--mja-hero-sheen);
}

.mja-page-intro,
.mja-hero-panel {
    border-color: rgba(255, 255, 255, 0.12);
    background:
        radial-gradient(circle at 0% 0%, rgba(0,225,255,0.12), transparent 30%),
        radial-gradient(circle at 100% 0%, rgba(121,104,255,0.14), transparent 28%),
        linear-gradient(180deg, rgba(16, 20, 30, 0.96) 0%, rgba(7, 9, 14, 0.96) 100%);
}

.mja-page-intro::after,
.mja-hero-panel::after {
    content: "";
    position: absolute;
    inset: auto -5rem -7rem auto;
    width: 22rem;
    height: 22rem;
    background: radial-gradient(circle, rgba(0,225,255,0.18), transparent 70%);
    opacity: 0.85;
    pointer-events: none;
}

body[data-mja-page="biography"] .mja-hero-panel,
body[data-mja-page="about"] .mja-hero-panel {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,194,102,0.12), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121,104,255,0.12), transparent 32%),
        linear-gradient(180deg, rgba(20, 16, 24, 0.96) 0%, rgba(8, 7, 14, 0.96) 100%);
}

body[data-mja-page="writings"] .mja-hero-panel,
body[data-mja-page="publications"] .mja-hero-panel,
body[data-mja-page="anomalous-experiences"] .mja-hero-panel,
body[data-mja-page="research-projects"] .mja-hero-panel,
body[data-mja-page="web-legacy"] .mja-hero-panel {
    background:
        radial-gradient(circle at 0% 0%, rgba(0,225,255,0.14), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121,104,255,0.18), transparent 30%),
        linear-gradient(180deg, rgba(8, 13, 23, 0.96) 0%, rgba(5, 8, 13, 0.96) 100%);
}

body[data-mja-page="gallery"] .mja-hero-panel,
body[data-mja-page="downloads"] .mja-hero-panel,
body[data-mja-page="works-catalog"] .mja-hero-panel,
body[data-mja-page="art-timeline"] .mja-hero-panel {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,194,102,0.14), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(0,225,255,0.1), transparent 36%),
        linear-gradient(180deg, rgba(22, 17, 11, 0.96) 0%, rgba(10, 8, 6, 0.96) 100%);
}

body[data-mja-page="contact"] .mja-hero-panel,
body[data-mja-page="sources"] .mja-hero-panel {
    background:
        radial-gradient(circle at 0% 0%, rgba(255,194,102,0.1), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(0,225,255,0.12), transparent 34%),
        linear-gradient(180deg, rgba(12, 16, 20, 0.96) 0%, rgba(6, 8, 11, 0.96) 100%);
}

.mja-title {
    text-wrap: balance;
    letter-spacing: -0.03em;
}

.mja-card,
.mja-kpi,
.mja-stat,
.mja-media-card,
.mja-link-card {
    backdrop-filter: blur(10px);
}

.mja-card,
.mja-link-card {
    transition: transform 0.45s cubic-bezier(.22,1,.36,1), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

.mja-card:hover,
.mja-link-card:hover {
    transform: translateY(-8px) scale(1.01);
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(0,225,255,0.18);
}

.mja-btn-primary,
.mja-btn-secondary,
.mja-btn-outline {
    position: relative;
    overflow: hidden;
}

.mja-btn-primary::before,
.mja-btn-secondary::before,
.mja-btn-outline::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.2) 20%, transparent 40%);
    transform: translateX(-125%);
    transition: transform 0.7s ease;
}

.mja-btn-primary:hover::before,
.mja-btn-secondary:hover::before,
.mja-btn-outline:hover::before {
    transform: translateX(125%);
}

.mja-btn-secondary {
    backdrop-filter: blur(12px);
}

.mja-home-world {
    position: relative;
    overflow: hidden;
    padding: clamp(2.2rem, 4vw, 3.4rem);
}

.mja-home-world::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 8% 8%, rgba(255,194,102,0.1), transparent 24%),
        radial-gradient(circle at 92% 12%, rgba(121,104,255,0.14), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,0.02), transparent 20%, transparent 80%, rgba(255,255,255,0.02));
    pointer-events: none;
}

.mja-orbit-line {
    position: absolute;
    left: 8%;
    right: 8%;
    top: clamp(9.5rem, 18vw, 12.5rem);
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 15%, rgba(0,225,255,0.45) 50%, rgba(255,255,255,0.08) 85%, transparent 100%);
    opacity: 0.8;
}

.mja-signal-grid {
    position: relative;
    display: grid;
    gap: 1.2rem;
    margin-top: 2.25rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.mja-portal-card {
    position: relative;
    display: grid;
    gap: 0.8rem;
    min-height: 240px;
    padding: 1.5rem;
    border-radius: 24px;
    color: #fff;
    text-decoration: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.025) 100%),
        radial-gradient(circle at 100% 0%, rgba(0,225,255,0.16), transparent 34%);
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 18px 44px rgba(0,0,0,0.28);
    transition: transform 0.45s cubic-bezier(.22,1,.36,1), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

.mja-portal-card:hover {
    transform: translateY(-10px);
    color: #fff;
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 30px 64px rgba(0,0,0,0.34), 0 0 0 1px rgba(0,225,255,0.18);
}

.mja-portal-card h3 {
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    margin-bottom: 0;
}

.mja-portal-kicker,
.mja-portal-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.7);
}

.mja-portal-kicker::before,
.mja-portal-meta::before {
    content: "";
    width: 2.2rem;
    height: 1px;
    background: currentColor;
    opacity: 0.7;
}

.mja-portal-card p {
    color: rgba(255,255,255,0.82);
    line-height: 1.7;
    margin-bottom: 0;
}

.mja-dock-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    justify-content: center;
    margin-top: 2rem;
}

.mja-dock-actions .mja-btn-secondary,
.mja-dock-actions .mja-btn-primary {
    min-width: 200px;
}

.mja-entry-veil {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background:
        radial-gradient(circle at 50% 20%, rgba(255,255,255,0.08), transparent 26%),
        radial-gradient(circle at 15% 18%, rgba(0,225,255,0.12), transparent 28%),
        radial-gradient(circle at 85% 12%, rgba(121,104,255,0.18), transparent 28%),
        linear-gradient(180deg, rgba(2,4,7,0.98) 0%, rgba(4,6,10,0.99) 100%);
    opacity: 1;
    visibility: visible;
    transition: opacity 0.7s ease, visibility 0.7s ease;
}

.mja-entry-veil.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.mja-entry-panel {
    position: relative;
    width: min(100%, 760px);
    border-radius: 32px;
    padding: clamp(2rem, 5vw, 3.5rem);
    text-align: center;
    background:
        linear-gradient(180deg, rgba(15, 19, 28, 0.96) 0%, rgba(7, 10, 15, 0.98) 100%),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,0.08), transparent 42%);
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: 0 36px 90px rgba(0,0,0,0.55);
    overflow: hidden;
}

.mja-entry-panel::before {
    content: "";
    position: absolute;
    inset: -20% auto auto -10%;
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,225,255,0.18), transparent 68%);
    filter: blur(16px);
}

.mja-entry-sigil {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    margin: 0 auto 1.5rem;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05), 0 0 32px rgba(0,225,255,0.16);
    font-size: 1rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #fff;
}

.mja-entry-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: 0.82rem;
    color: rgba(255,255,255,0.7);
}

.mja-entry-eyebrow::before,
.mja-entry-eyebrow::after {
    content: "";
    width: 2.5rem;
    height: 1px;
    background: currentColor;
    opacity: 0.8;
}

.mja-entry-title {
    font-size: clamp(2.3rem, 6vw, 4.6rem);
    line-height: 0.95;
    margin-bottom: 1rem;
    letter-spacing: -0.05em;
}

.mja-entry-copy {
    max-width: 44rem;
    margin: 0 auto;
    color: rgba(255,255,255,0.78);
    line-height: 1.9;
}

.mja-entry-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 2rem;
}

.mja-entry-note {
    margin-top: 1.35rem;
    color: rgba(255,255,255,0.55);
    font-size: 0.92rem;
}

.mja-reveal {
    opacity: 0;
    transform: translateY(28px) scale(0.985);
    transition: opacity 0.8s ease, transform 0.8s cubic-bezier(.22,1,.36,1);
}

.mja-reveal.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@keyframes mjaOrbFloat {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(1.2rem, -1.4rem, 0) scale(1.04); }
    100% { transform: translate3d(-1rem, 1.8rem, 0) scale(0.98); }
}

@keyframes mjaAtmosphereDrift {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(0, -2%, 0) scale(1.03); }
}

@media (max-width: 991.98px) {
    .mja-orbit-line {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .mja-home-world {
        padding: 1.5rem;
    }

    .mja-portal-card {
        min-height: 0;
        padding: 1.25rem;
    }

    .mja-entry-panel {
        border-radius: 24px;
    }

    .mja-entry-actions .mja-btn-primary,
    .mja-entry-actions .mja-btn-secondary,
    .mja-dock-actions .mja-btn-primary,
    .mja-dock-actions .mja-btn-secondary {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body::before,
    .mja-atmosphere-orb,
    .mja-btn-primary::before,
    .mja-btn-secondary::before,
    .mja-btn-outline::before,
    .mja-reveal,
    .mja-card,
    .mja-link-card,
    .mja-portal-card {
        animation: none !important;
        transition: none !important;
    }

    .mja-cursor-aura,
    .mja-atmosphere {
        display: none !important;
    }

    .mja-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Image System Styles */
.mja-hero-media {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: clamp(0.75rem, 2vw, 1.25rem);
    margin-top: clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
    background: linear-gradient(180deg, rgba(12, 17, 23, 0.96) 0%, rgba(8, 11, 16, 0.92) 100%);
}

.mja-hero-media:not(.mja-hero-media--video) {
    max-width: min(100%, 720px);
    margin-inline: auto;
}

.mja-hero-media img,
.mja-hero-media video {
    display: block;
    width: 100%;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
    transition: transform 0.6s ease;
}

.mja-hero-media img {
    height: auto;
    max-width: 100%;
    border-radius: 18px;
    object-fit: contain;
    object-position: center center;
}

.mja-hero-media--video {
    --mja-video-shell-image: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: clamp(340px, 58vh, 760px);
    isolation: isolate;
    background:
        linear-gradient(180deg, rgba(5, 9, 13, 0.2) 0%, rgba(5, 9, 13, 0.45) 100%),
        var(--mja-video-shell-image) center center / cover no-repeat,
        linear-gradient(180deg, rgba(12, 17, 23, 0.96) 0%, rgba(8, 11, 16, 0.92) 100%);
}

.mja-hero-media--video::before {
    content: "";
    position: absolute;
    inset: clamp(0.75rem, 2vw, 1.25rem);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(6, 9, 13, 0.22) 0%, rgba(6, 9, 13, 0.44) 100%),
        var(--mja-video-shell-image) center center / cover no-repeat;
    filter: saturate(0.94) contrast(1.04);
    transform: scale(1.01);
    z-index: 0;
}

.mja-hero-media video {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: rgba(4, 7, 10, 0.16);
    border-radius: 18px;
}

.mja-hero-media--video:hover::before {
    transform: scale(1.025);
}

.mja-hero-media--video[data-mja-video-enhanced="true"] {
    aspect-ratio: 16 / 10;
}

.mja-hero-media--video[data-mja-video-enhanced="true"]::before {
    transition: transform 0.9s ease, opacity 0.45s ease, filter 0.6s ease;
}

.mja-hero-video-poster {
    position: absolute;
    inset: clamp(0.75rem, 2vw, 1.25rem);
    z-index: 1;
    overflow: hidden;
    border-radius: 18px;
    pointer-events: none;
    opacity: 0;
    transform: scale(1.018);
    transition:
        opacity 0.48s ease,
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.48s ease;
}

.mja-hero-video-poster img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.96) contrast(1.04);
}

.mja-hero-media--video[data-mja-video-enhanced="true"] video {
    opacity: 0;
    transform: scale(1.018);
    transition:
        opacity 0.48s ease,
        transform 1.1s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.48s ease;
    will-change: opacity, transform;
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="playing"] video {
    opacity: 1;
    transform: scale(1);
    filter: saturate(1) contrast(1);
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="playing"] .mja-hero-video-poster {
    opacity: 0;
    transform: scale(1.03);
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="playing"]::before {
    opacity: 0.14;
    filter: saturate(0.92) contrast(1.02);
    transform: scale(1.03);
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="loading"]::before,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="transition"]::before,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="poster"]::before,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="blocked"]::before,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="error"]::before {
    opacity: 0.96;
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="loading"] video,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="transition"] video,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="poster"] video,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="blocked"] video,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="error"] video {
    opacity: 0;
    transform: scale(1.024);
    filter: saturate(0.88) contrast(0.98);
}

.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="loading"] .mja-hero-video-poster,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="transition"] .mja-hero-video-poster,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="poster"] .mja-hero-video-poster,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="blocked"] .mja-hero-video-poster,
.mja-hero-media--video[data-mja-video-enhanced="true"][data-mja-video-state="error"] .mja-hero-video-poster {
    opacity: 1;
    transform: scale(1);
}

.mja-hero-video-control {
    position: absolute;
    left: 50%;
    bottom: clamp(1rem, 2.5vw, 1.75rem);
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.72rem;
    min-width: min(280px, calc(100% - 2rem));
    padding: 0.85rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(7, 11, 16, 0.78);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
    color: rgba(248, 247, 242, 0.96);
    font: inherit;
    font-weight: 600;
    letter-spacing: 0.01em;
    backdrop-filter: blur(14px);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 12px);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.mja-hero-video-control.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.mja-hero-video-control:hover,
.mja-hero-video-control:focus-visible {
    background: rgba(10, 16, 23, 0.9);
    border-color: rgba(255, 255, 255, 0.28);
    outline: none;
}

.mja-hero-video-control__icon {
    position: relative;
    flex: 0 0 auto;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.08);
}

.mja-hero-video-control__icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    border-style: solid;
    border-width: 0.28rem 0 0.28rem 0.42rem;
    border-color: transparent transparent transparent currentColor;
}

.mja-hero-media:hover img {
    transform: scale(1.02);
}

.mja-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 30%, transparent 40%, rgba(0,225,255,0.08) 100%);
    opacity: 0.5;
    pointer-events: none;
}

.mja-inline-figure {
    position: relative;
    width: 100%;
    max-width: 480px;
    margin: 2rem auto;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
}

.mja-inline-figure img {
    width: 100%;
    height: auto;
    min-height: 240px;
    object-fit: contain;
    display: block;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
    transition: transform 0.5s ease;
}

.mja-inline-figure:hover img {
    transform: scale(1.01);
}

.mja-inline-figure figcaption {
    padding: 1rem 1.25rem;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
    color: var(--mja-text-soft);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

.mja-split-media {
    display: grid;
    gap: 2rem;
    align-items: center;
}

.mja-split-media .mja-media-card {
    min-height: 320px;
}

.mja-split-media .mja-copy-stack {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .mja-split-media {
        grid-template-columns: 1.2fr 0.8fr;
    }

    .mja-split-media.reverse {
        grid-template-columns: 0.8fr 1.2fr;
    }
}

.mja-floating-side {
    position: relative;
    width: 100%;
    max-width: 360px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.25);
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
    transition: transform 0.4s ease;
}

.mja-floating-side:hover {
    transform: translateY(-4px);
}

.mja-floating-side img {
    width: 100%;
    height: auto;
    min-height: 200px;
    object-fit: contain;
    display: block;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
}

.mja-image-card {
    position: relative;
    height: 100%;
    min-height: 280px;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: transform 0.4s ease, border-color 0.3s ease;
}

.mja-image-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 255, 255, 0.15);
}

.mja-image-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
    transition: transform 0.5s ease;
}

.mja-image-card:hover img {
    transform: scale(1.01);
}

.mja-image-card .mja-card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.5rem;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.7) 100%);
    color: #fff;
}

.mja-image-card .mja-card-overlay h3 {
    margin-bottom: 0.5rem;
    color: #fff;
}

.mja-image-card .mja-card-overlay p {
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 0;
}

.mja-featured-work {
    position: relative;
    width: 100%;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.02) 100%);
}

.mja-featured-work img {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: contain;
    display: block;
    background: linear-gradient(180deg, rgba(6, 9, 13, 0.96) 0%, rgba(4, 6, 10, 0.94) 100%);
    transition: transform 0.6s ease;
}

.mja-featured-work:hover img {
    transform: scale(1.01);
}

.mja-featured-work .mja-work-meta {
    padding: 1.5rem 1.75rem;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(10px);
    color: #fff;
}

.mja-featured-work .mja-work-meta h3 {
    margin-bottom: 0.75rem;
    color: #fff;
}

.mja-featured-work .mja-work-meta p {
    color: var(--mja-text-soft);
    line-height: 1.7;
    margin-bottom: 0;
}

.mja-caption {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--mja-text-soft);
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: center;
}

.mja-caption strong {
    color: #fff;
}

.mja-lazy {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mja-lazy.loaded {
    opacity: 1;
}

.mja-parallax {
    transform-style: preserve-3d;
}

.mja-parallax img {
    transform: translateZ(0);
    will-change: transform;
}

@media (max-width: 767.98px) {
    .mja-hero-media--video {
        height: clamp(280px, 54vh, 500px);
    }

    .mja-hero-media--video[data-mja-video-enhanced="true"] {
        aspect-ratio: 4 / 5;
        padding: 0.75rem;
    }

    .mja-hero-media--video[data-mja-video-enhanced="true"]::before,
    .mja-hero-video-poster,
    .mja-hero-media--video[data-mja-video-enhanced="true"] video {
        border-radius: 16px;
    }

    .mja-hero-media--video[data-mja-video-enhanced="true"] video {
        object-fit: cover;
        object-position: center 36%;
    }

    .mja-hero-media--video.mja-video-portrait[data-mja-video-enhanced="true"] video {
        object-fit: contain;
        object-position: center center;
    }

    .mja-hero-video-control {
        width: calc(100% - 1.5rem);
        min-width: 0;
        padding: 0.9rem 1rem;
        bottom: 0.85rem;
    }

    .mja-inline-figure {
        margin: 1.5rem auto;
        max-width: 100%;
    }

    .mja-floating-side {
        max-width: 100%;
    }

    .mja-split-media {
        gap: 1.5rem;
    }

    .mja-split-media .mja-media-card {
        min-height: 260px;
    }
}


/* Pass 20 - inner-page scene systems */
.mja-scene-shell {
    --mja-scene-accent: rgba(0, 225, 255, 0.22);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.38);
    --mja-scene-secondary: rgba(121, 104, 255, 0.18);
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: clamp(1.6rem, 3vw, 2.2rem);
    background:
        radial-gradient(circle at 0% 0%, var(--mja-scene-accent), transparent 34%),
        radial-gradient(circle at 100% 0%, var(--mja-scene-secondary), transparent 32%),
        linear-gradient(180deg, rgba(10, 13, 19, 0.97) 0%, rgba(6, 8, 12, 0.97) 100%);
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
    isolation: isolate;
}

.mja-scene-shell::before,
.mja-scene-shell::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.mja-scene-shell::before {
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.0) 24%, transparent 50%, rgba(255,255,255,0.03) 100%),
        repeating-linear-gradient(180deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 8px);
    opacity: 0.28;
    mix-blend-mode: screen;
}

.mja-scene-shell::after {
    width: 26rem;
    height: 26rem;
    right: -8rem;
    bottom: -10rem;
    border-radius: 50%;
    background: radial-gradient(circle, var(--mja-scene-accent-strong) 0%, transparent 68%);
    filter: blur(10px);
    opacity: 0.9;
}

.mja-scene-shell[data-scene-tone="biography"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.18);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.28);
    --mja-scene-secondary: rgba(121, 104, 255, 0.16);
}

.mja-scene-shell[data-scene-tone="writings"],
.mja-scene-shell[data-scene-tone="research"] {
    --mja-scene-accent: rgba(0, 225, 255, 0.18);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.28);
    --mja-scene-secondary: rgba(121, 104, 255, 0.2);
}

.mja-scene-shell[data-scene-tone="gallery"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.2);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.3);
    --mja-scene-secondary: rgba(0, 225, 255, 0.12);
}

.mja-scene-shell[data-scene-tone="legacy"] {
    --mja-scene-accent: rgba(0, 225, 255, 0.16);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.26);
    --mja-scene-secondary: rgba(121, 104, 255, 0.22);
}

.mja-scene-shell[data-scene-tone="contact"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.16);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.24);
    --mja-scene-secondary: rgba(0, 225, 255, 0.16);
}

.mja-scene-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.mja-scene-code {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.04);
    color: rgba(255,255,255,0.72);
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.mja-scene-grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .mja-scene-grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
        align-items: stretch;
    }
}

.mja-scene-intro {
    position: relative;
    z-index: 1;
}

.mja-scene-intro .mja-title {
    max-width: 15ch;
    margin-bottom: 1rem;
}

.mja-scene-intro .mja-lead {
    max-width: 62ch;
    margin-bottom: 1.3rem;
}

.mja-scene-rail {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.mja-scene-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 42px;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
    transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
}

.mja-scene-chip:hover {
    color: #fff;
    transform: translateY(-2px);
    border-color: rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.07);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.mja-scene-card-grid {
    display: grid;
    gap: 1rem;
}

.mja-scene-card {
    position: relative;
    min-height: 100%;
    border-radius: 22px;
    padding: 1.2rem 1.2rem 1.25rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.03) 100%);
    border: 1px solid rgba(255,255,255,0.09);
    box-shadow: 0 18px 34px rgba(0,0,0,0.24);
    backdrop-filter: blur(12px);
    transition: transform 0.35s cubic-bezier(.22,1,.36,1), border-color 0.35s ease, box-shadow 0.35s ease;
    transform-style: preserve-3d;
    will-change: transform;
}

.mja-scene-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 35%, rgba(255,255,255,0.02) 100%);
    opacity: 0.45;
    pointer-events: none;
}

.mja-scene-card::after {
    content: "";
    position: absolute;
    inset: auto -15% -25% auto;
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
    background: radial-gradient(circle, var(--mja-scene-accent-strong) 0%, transparent 72%);
    opacity: 0.65;
    pointer-events: none;
    filter: blur(8px);
}

.mja-scene-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 26px 48px rgba(0,0,0,0.34);
}

.mja-scene-kicker {
    display: inline-block;
    margin-bottom: 0.6rem;
    color: var(--mja-accent);
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.mja-scene-card h3 {
    margin-bottom: 0.7rem;
    font-size: 1.18rem;
}

.mja-scene-card p {
    margin-bottom: 0;
    color: var(--mja-text-soft);
    line-height: 1.7;
}

body[data-mja-page="biography"] .mja-panel:not(.mja-page-intro),
body[data-mja-page="biography"] .mja-card:not(.mja-scene-card) {
    border-color: rgba(255, 194, 102, 0.12);
}

body[data-mja-page="writings"] .mja-link-card,
body[data-mja-page="research-projects"] .mja-link-card,
body[data-mja-page="web-legacy"] .mja-link-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.03) 100%),
        radial-gradient(circle at 100% 0%, rgba(0,225,255,0.09), transparent 34%);
}

body[data-mja-page="gallery"] .gallery-item {
    position: relative;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
    box-shadow: 0 18px 34px rgba(0,0,0,0.26);
}

body[data-mja-page="gallery"] .gallery-item .gallery-item-media,
body[data-mja-page="downloads"] .gallery-item .gallery-item-media {
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.08), transparent 46%),
        linear-gradient(180deg, rgba(10, 14, 20, 0.98) 0%, rgba(6, 8, 12, 0.96) 100%);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.05);
}

body[data-mja-page="gallery"] .gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(3,4,6,0.36) 100%);
    pointer-events: none;
}

body[data-mja-page="gallery"] .gallery-item:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 194, 102, 0.22);
}

body[data-mja-page="contact"] .mja-form-card,
body[data-mja-page="contact"] #contact-guidance {
    border-color: rgba(255, 194, 102, 0.12);
    box-shadow: 0 28px 60px rgba(0, 0, 0, 0.4);
}

body[data-mja-page="web-legacy"] .mja-panel,
body[data-mja-page="writings"] .mja-panel,
body[data-mja-page="research-projects"] .mja-panel {
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}

@media (max-width: 991.98px) {
    .mja-scene-shell {
        padding: 1.3rem;
        border-radius: 24px;
    }

    .mja-scene-intro .mja-title {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .mja-scene-topline {
        align-items: flex-start;
    }

    .mja-scene-chip {
        width: 100%;
        justify-content: center;
    }
}


/* Pass 21 - secondary page-family chambers */
.mja-scene-shell[data-scene-tone="publications"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.18);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.3);
    --mja-scene-secondary: rgba(0, 225, 255, 0.18);
}

.mja-scene-shell[data-scene-tone="sources"],
.mja-scene-shell[data-scene-tone="timeline"] {
    --mja-scene-accent: rgba(0, 225, 255, 0.2);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.3);
    --mja-scene-secondary: rgba(121, 104, 255, 0.18);
}

.mja-scene-shell[data-scene-tone="catalog"],
.mja-scene-shell[data-scene-tone="archaeology"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.18);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.28);
    --mja-scene-secondary: rgba(121, 104, 255, 0.2);
}

.mja-scene-shell[data-scene-tone="places"] {
    --mja-scene-accent: rgba(120, 196, 255, 0.18);
    --mja-scene-accent-strong: rgba(120, 196, 255, 0.3);
    --mja-scene-secondary: rgba(255, 194, 102, 0.18);
}

.mja-scene-shell[data-scene-tone="anomaly"] {
    --mja-scene-accent: rgba(0, 225, 255, 0.2);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.32);
    --mja-scene-secondary: rgba(255, 194, 102, 0.14);
}

body[data-mja-page="publications"] .mja-link-card,
body[data-mja-page="sources"] .mja-link-card,
body[data-mja-page="art-timeline"] .mja-card,
body[data-mja-page="works-catalog"] .mja-card,
body[data-mja-page="places"] .mja-card,
body[data-mja-page="anomalous-experiences"] .mja-card,
body[data-mja-page="archaeology-restoration"] .mja-card {
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34);
}

body[data-mja-page="publications"] .mja-panel,
body[data-mja-page="works-catalog"] .mja-panel,
body[data-mja-page="archaeology-restoration"] .mja-panel {
    border-color: rgba(255, 194, 102, 0.1);
}

body[data-mja-page="sources"] .mja-panel,
body[data-mja-page="art-timeline"] .mja-panel,
body[data-mja-page="places"] .mja-panel,
body[data-mja-page="anomalous-experiences"] .mja-panel {
    border-color: rgba(0, 225, 255, 0.1);
}

body[data-mja-page="publications"] .mja-page-intro,
body[data-mja-page="works-catalog"] .mja-page-intro,
body[data-mja-page="archaeology-restoration"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 194, 102, 0.1), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(13, 16, 22, 0.95) 0%, rgba(8, 10, 14, 0.98) 100%);
}

body[data-mja-page="sources"] .mja-page-intro,
body[data-mja-page="art-timeline"] .mja-page-intro,
body[data-mja-page="places"] .mja-page-intro,
body[data-mja-page="anomalous-experiences"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(0, 225, 255, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.1), transparent 34%),
        linear-gradient(180deg, rgba(13, 16, 22, 0.95) 0%, rgba(8, 10, 14, 0.98) 100%);
}


/* Pass 22 - feature-page chambers and hidden-route obsession layer */
.mja-scene-shell[data-scene-tone="baldy"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.2);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.32);
    --mja-scene-secondary: rgba(0, 225, 255, 0.14);
}

.mja-scene-shell[data-scene-tone="studio"] {
    --mja-scene-accent: rgba(0, 225, 255, 0.2);
    --mja-scene-accent-strong: rgba(0, 225, 255, 0.32);
    --mja-scene-secondary: rgba(121, 104, 255, 0.2);
}

.mja-scene-shell[data-scene-tone="izapa"],
.mja-scene-shell[data-scene-tone="conch"] {
    --mja-scene-accent: rgba(255, 194, 102, 0.18);
    --mja-scene-accent-strong: rgba(255, 194, 102, 0.3);
    --mja-scene-secondary: rgba(0, 225, 255, 0.16);
}

.mja-scene-shell[data-scene-tone="saenz"],
.mja-scene-shell[data-scene-tone="limoux"],
.mja-scene-shell[data-scene-tone="plantard"] {
    --mja-scene-accent: rgba(121, 104, 255, 0.22);
    --mja-scene-accent-strong: rgba(121, 104, 255, 0.34);
    --mja-scene-secondary: rgba(255, 194, 102, 0.16);
}

.mja-obsession-shell {
    position: relative;
    padding: clamp(1.4rem, 2vw, 2rem);
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.09);
    background:
        radial-gradient(circle at 0% 0%, rgba(121, 104, 255, 0.18), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(0, 225, 255, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(13, 15, 22, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
    box-shadow: 0 34px 84px rgba(0,0,0,0.42);
    overflow: hidden;
    isolation: isolate;
}

.mja-obsession-shell::before,
.mja-obsession-shell::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.mja-obsession-shell::before {
    inset: 0;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.0) 24%, transparent 50%, rgba(255,255,255,0.03) 100%),
        repeating-linear-gradient(180deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 9px);
    opacity: 0.26;
    mix-blend-mode: screen;
}

.mja-obsession-shell::after {
    right: -6rem;
    top: -7rem;
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 194, 102, 0.24) 0%, transparent 68%);
    filter: blur(10px);
    opacity: 0.85;
}

.mja-obsession-shell--research {
    background:
        radial-gradient(circle at 0% 0%, rgba(0, 225, 255, 0.16), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.18), transparent 30%),
        linear-gradient(180deg, rgba(13, 15, 22, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
}

.mja-obsession-grid {
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 992px) {
    .mja-obsession-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 1.2fr);
        align-items: start;
    }
}

.mja-obsession-intro .mja-title {
    max-width: 14ch;
    margin-bottom: 1rem;
}

.mja-obsession-intro .mja-lead {
    max-width: 58ch;
    margin-bottom: 1.3rem;
}

.mja-whisper-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .mja-whisper-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.mja-whisper-card {
    position: relative;
    display: block;
    min-height: 100%;
    padding: 1.2rem 1.2rem 1.15rem;
    border-radius: 22px;
    text-decoration: none;
    color: #fff;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.03) 100%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.12), transparent 36%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 18px 34px rgba(0,0,0,0.26);
    backdrop-filter: blur(12px);
    transition: transform 0.35s cubic-bezier(.22,1,.36,1), border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
    transform-style: preserve-3d;
    will-change: transform;
    overflow: hidden;
}

.mja-whisper-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 38%, rgba(255,255,255,0.02) 100%);
    opacity: 0.4;
    pointer-events: none;
}

.mja-whisper-card::after {
    content: "";
    position: absolute;
    inset: auto -12% -24% auto;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(121, 104, 255, 0.34) 0%, transparent 72%);
    opacity: 0.72;
    pointer-events: none;
    filter: blur(8px);
}

.mja-whisper-card:hover,
.mja-whisper-card:focus-visible {
    color: #fff;
    transform: translateY(-6px);
    border-color: rgba(255,255,255,0.18);
    box-shadow: 0 26px 48px rgba(0,0,0,0.34);
}

.mja-whisper-kicker {
    display: inline-block;
    margin-bottom: 0.6rem;
    color: var(--mja-accent);
    font-size: 0.76rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.mja-whisper-card h3 {
    margin-bottom: 0.7rem;
    font-size: 1.16rem;
}

.mja-whisper-card p {
    margin-bottom: 0.8rem;
    color: var(--mja-text-soft);
    line-height: 1.7;
}

.mja-whisper-meta {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.74);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 194, 102, 0.15), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.16), transparent 30%),
        linear-gradient(180deg, rgba(12, 14, 20, 0.97) 0%, rgba(7, 8, 12, 0.99) 100%);
}

.mja-route-sigil-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1rem 0 1.2rem;
}

.mja-route-sigil {
    --mja-sigil-delay: 0s;
    display: inline-flex;
    align-items: center;
    gap: 0.52rem;
    min-height: 34px;
    padding: 0.5rem 0.78rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.84);
    font-size: 0.73rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 22px rgba(0,0,0,0.18);
    animation: mjaSigilPulse 8s ease-in-out infinite;
    animation-delay: var(--mja-sigil-delay);
}

.mja-route-sigil::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 225, 255, 0.96) 0%, rgba(0, 225, 255, 0.12) 68%);
    box-shadow: 0 0 18px rgba(0, 225, 255, 0.34);
    flex: 0 0 auto;
}

.mja-collector-note {
    margin: 1rem 0 0;
    color: rgba(255,255,255,0.72);
    line-height: 1.8;
    max-width: 54ch;
}

@keyframes mjaSigilPulse {
    0%, 100% {
        transform: translateY(0);
        border-color: rgba(255,255,255,0.1);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 22px rgba(0,0,0,0.18);
    }
    50% {
        transform: translateY(-2px);
        border-color: rgba(0,225,255,0.22);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 10px 28px rgba(0,0,0,0.22), 0 0 24px rgba(0,225,255,0.08);
    }
}

body[data-mja-page="mt-baldy-happening"] .mja-obsession-shell--feature-route,
body[data-mja-page="izapa-restoration"] .mja-obsession-shell--feature-route,
body[data-mja-page="plumed-conch"] .mja-obsession-shell--feature-route,
body[data-mja-page="archaeology-restoration"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 194, 102, 0.16), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(0, 225, 255, 0.13), transparent 30%),
        linear-gradient(180deg, rgba(14, 15, 20, 0.97) 0%, rgba(7, 8, 11, 0.99) 100%);
}

body[data-mja-page="tucson-mja-studio"] .mja-obsession-shell--feature-route,
body[data-mja-page="anomalous-experiences"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 0% 0%, rgba(0, 225, 255, 0.15), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(12, 16, 20, 0.97) 0%, rgba(7, 9, 12, 0.99) 100%);
}

body[data-mja-page="saenz-de-castillon-diary"] .mja-obsession-shell--feature-route,
body[data-mja-page="jan-brueghel-limoux"] .mja-obsession-shell--feature-route,
body[data-mja-page="plantard-tarot"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 0% 0%, rgba(121, 104, 255, 0.18), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.13), transparent 30%),
        linear-gradient(180deg, rgba(13, 14, 20, 0.97) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body.mja-low-motion .mja-route-sigil {
    animation: none;
}

body[data-mja-page="home"] .mja-obsession-shell,
body[data-mja-page="research-projects"] .mja-obsession-shell {
    box-shadow: 0 38px 90px rgba(0, 0, 0, 0.46);
}

body[data-mja-page="mt-baldy-happening"] .mja-page-intro,
body[data-mja-page="izapa-restoration"] .mja-page-intro,
body[data-mja-page="plumed-conch"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 194, 102, 0.11), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(0, 225, 255, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(13, 16, 22, 0.95) 0%, rgba(8, 10, 14, 0.98) 100%);
}

body[data-mja-page="tucson-mja-studio"] .mja-page-intro,
body[data-mja-page="saenz-de-castillon-diary"] .mja-page-intro,
body[data-mja-page="jan-brueghel-limoux"] .mja-page-intro,
body[data-mja-page="plantard-tarot"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(121, 104, 255, 0.12), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(0, 225, 255, 0.08), transparent 34%),
        linear-gradient(180deg, rgba(13, 16, 22, 0.95) 0%, rgba(8, 10, 14, 0.98) 100%);
}

body[data-mja-page="mt-baldy-happening"] .mja-panel,
body[data-mja-page="izapa-restoration"] .mja-panel,
body[data-mja-page="plumed-conch"] .mja-panel {
    border-color: rgba(255, 194, 102, 0.12);
}

body[data-mja-page="tucson-mja-studio"] .mja-panel,
body[data-mja-page="saenz-de-castillon-diary"] .mja-panel,
body[data-mja-page="jan-brueghel-limoux"] .mja-panel,
body[data-mja-page="plantard-tarot"] .mja-panel {
    border-color: rgba(121, 104, 255, 0.14);
}

body[data-mja-page="mt-baldy-happening"] .mja-card,
body[data-mja-page="izapa-restoration"] .mja-card,
body[data-mja-page="plumed-conch"] .mja-card,
body[data-mja-page="tucson-mja-studio"] .mja-card,
body[data-mja-page="saenz-de-castillon-diary"] .mja-card,
body[data-mja-page="jan-brueghel-limoux"] .mja-card,
body[data-mja-page="plantard-tarot"] .mja-card {
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.34);
}

@media (max-width: 991.98px) {
    .mja-obsession-shell {
        padding: 1.3rem;
        border-radius: 24px;
    }

    .mja-obsession-intro .mja-title {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .mja-whisper-grid {
        grid-template-columns: 1fr;
    }
}


/* Pass 24 - dossier lane and sitewide collector cues */
.mja-scene-shell[data-scene-tone="dospilas"] {
    --mja-scene-accent: rgba(88, 227, 255, 0.2);
    --mja-scene-accent-strong: rgba(88, 227, 255, 0.32);
    --mja-scene-secondary: rgba(255, 194, 102, 0.18);
}

body[data-mja-page="dos-pilas-dancing-king"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(88, 227, 255, 0.09), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(10, 14, 18, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="dos-pilas-dancing-king"] .mja-card,
body[data-mja-page="dos-pilas-dancing-king"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.36);
}

body[data-mja-page="dos-pilas-dancing-king"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 0% 0%, rgba(88, 227, 255, 0.15), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(10, 14, 18, 0.97) 0%, rgba(7, 8, 11, 0.99) 100%);
}

body[data-mja-page="biography"] .mja-obsession-shell {
    background:
        radial-gradient(circle at 0% 0%, rgba(121, 104, 255, 0.18), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(0, 225, 255, 0.12), transparent 30%),
        linear-gradient(180deg, rgba(13, 15, 22, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
}

body[data-mja-page="publications"] .mja-obsession-shell {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 194, 102, 0.16), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(14, 15, 20, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
}

body[data-mja-page="places"] .mja-obsession-shell {
    background:
        radial-gradient(circle at 0% 0%, rgba(0, 225, 255, 0.14), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(255, 194, 102, 0.13), transparent 30%),
        linear-gradient(180deg, rgba(12, 15, 20, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
}

body[data-mja-page="sources"] .mja-obsession-shell {
    background:
        radial-gradient(circle at 0% 0%, rgba(0, 225, 255, 0.16), transparent 34%),
        radial-gradient(circle at 100% 0%, rgba(121, 104, 255, 0.16), transparent 30%),
        linear-gradient(180deg, rgba(12, 15, 21, 0.96) 0%, rgba(7, 8, 12, 0.98) 100%);
}


/* Pass 25 - Bugarach threshold chamber */
.mja-scene-shell[data-scene-tone="bugarach"] {
    background:
        radial-gradient(circle at 22% 18%, rgba(140, 210, 255, 0.22), transparent 45%),
        radial-gradient(circle at 78% 24%, rgba(251, 193, 89, 0.18), transparent 36%),
        linear-gradient(145deg, rgba(5, 10, 18, 0.98), rgba(18, 18, 30, 0.94));
    border-color: rgba(146, 195, 255, 0.24);
    box-shadow: 0 32px 82px rgba(2, 6, 18, 0.6), inset 0 0 0 1px rgba(255, 244, 214, 0.06);
}

body[data-mja-page="bugarach-southern-cross"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(255, 212, 143, 0.18), transparent 40%),
        radial-gradient(circle at 80% 12%, rgba(113, 182, 255, 0.18), transparent 34%),
        linear-gradient(150deg, rgba(8, 12, 20, 0.96), rgba(24, 18, 23, 0.94));
    border-color: rgba(255, 220, 166, 0.22);
}


/* Pass 26 - Chocolate Warrior chamber */
.mja-scene-shell[data-scene-tone="chocolate"] {
    background:
        radial-gradient(circle at 18% 18%, rgba(110, 228, 255, 0.18), transparent 42%),
        radial-gradient(circle at 78% 24%, rgba(255, 183, 82, 0.22), transparent 36%),
        linear-gradient(150deg, rgba(18, 9, 8, 0.98), rgba(16, 18, 28, 0.94));
    border-color: rgba(255, 190, 106, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 6, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="chocolate-warrior"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(99, 225, 255, 0.09), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(255, 181, 89, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(14, 10, 12, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="chocolate-warrior"] .mja-card,
body[data-mja-page="chocolate-warrior"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.36);
}

body[data-mja-page="chocolate-warrior"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(255, 190, 106, 0.18), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(112, 220, 255, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(14, 10, 12, 0.96), rgba(17, 18, 28, 0.94));
    border-color: rgba(255, 203, 137, 0.22);
}


/* Pass 27 - Crop-circle territory chamber */
.mja-scene-shell[data-scene-tone="cropcircle"] {
    background:
        radial-gradient(circle at 16% 18%, rgba(163, 245, 132, 0.18), transparent 42%),
        radial-gradient(circle at 82% 20%, rgba(98, 230, 255, 0.18), transparent 34%),
        radial-gradient(circle at 56% 72%, rgba(255, 210, 118, 0.12), transparent 32%),
        linear-gradient(150deg, rgba(6, 10, 8, 0.98), rgba(10, 18, 20, 0.94));
    border-color: rgba(171, 233, 142, 0.24);
    box-shadow: 0 32px 82px rgba(3, 7, 5, 0.62), inset 0 0 0 1px rgba(236, 255, 221, 0.06);
}

body[data-mja-page="crop-circle-territory"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(150, 245, 132, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(110, 222, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(9, 13, 10, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="crop-circle-territory"] .mja-card,
body[data-mja-page="crop-circle-territory"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.38);
}

body[data-mja-page="crop-circle-territory"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(170, 241, 140, 0.16), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(110, 220, 255, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(9, 13, 10, 0.96), rgba(11, 18, 22, 0.94));
    border-color: rgba(191, 255, 165, 0.22);
}


/* Pass 28 - King Tut / Amarna chamber */
.mja-scene-shell[data-scene-tone="kingtut"] {
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 220, 125, 0.18), transparent 42%),
        radial-gradient(circle at 78% 24%, rgba(132, 204, 255, 0.16), transparent 36%),
        linear-gradient(150deg, rgba(18, 12, 8, 0.98), rgba(12, 16, 24, 0.94));
    border-color: rgba(255, 213, 122, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 6, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="king-tut-amarna"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 214, 107, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(95, 182, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 12, 10, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}


/* Pass 29 - Crista / Constantine chamber */
.mja-scene-shell[data-scene-tone="crista"] {
    background:
        radial-gradient(circle at 18% 18%, rgba(183, 141, 255, 0.18), transparent 42%),
        radial-gradient(circle at 78% 24%, rgba(255, 199, 107, 0.16), transparent 36%),
        linear-gradient(150deg, rgba(13, 10, 18, 0.98), rgba(17, 16, 24, 0.94));
    border-color: rgba(196, 164, 255, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 10, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="crista-constantine"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(183, 141, 255, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(255, 199, 107, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(15, 10, 18, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="crista-constantine"] .mja-card,
body[data-mja-page="crista-constantine"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.38);
}

body[data-mja-page="crista-constantine"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(192, 159, 255, 0.16), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(255, 208, 127, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(13, 10, 18, 0.96), rgba(16, 18, 25, 0.94));
    border-color: rgba(210, 182, 255, 0.22);
}


/* Pass 30 - Poussin / Arcadia chamber */
.mja-scene-shell[data-scene-tone="poussin"] {
    background:
        radial-gradient(circle at 16% 18%, rgba(221, 179, 103, 0.16), transparent 42%),
        radial-gradient(circle at 80% 22%, rgba(129, 179, 255, 0.10), transparent 34%),
        linear-gradient(150deg, rgba(18, 12, 10, 0.97), rgba(11, 14, 22, 0.95));
    border-color: rgba(219, 182, 123, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 10, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="poussin-arcadia"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(221, 179, 103, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(129, 179, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 12, 10, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}


/* Pass 31 - Leonardo / Adoration chamber */
.mja-scene-shell[data-scene-tone="leonardo"] {
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 214, 143, 0.18), transparent 42%),
        radial-gradient(circle at 80% 22%, rgba(121, 182, 255, 0.12), transparent 34%),
        linear-gradient(150deg, rgba(20, 13, 9, 0.97), rgba(12, 15, 24, 0.95));
    border-color: rgba(236, 198, 138, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 10, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="leonardo-adoration"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 214, 143, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(121, 182, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(20, 13, 9, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="leonardo-adoration"] .mja-card,
body[data-mja-page="leonardo-adoration"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.38);
}

body[data-mja-page="leonardo-adoration"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(250, 209, 140, 0.16), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(121, 182, 255, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(19, 13, 10, 0.96), rgba(16, 18, 25, 0.94));
    border-color: rgba(236, 198, 138, 0.22);
}


/* Pass 32 - Illustrated Iron Cross chamber */
.mja-scene-shell[data-scene-tone="ironcross"] {
    background:
        radial-gradient(circle at 16% 18%, rgba(246, 207, 132, 0.17), transparent 42%),
        radial-gradient(circle at 80% 22%, rgba(121, 182, 255, 0.12), transparent 34%),
        radial-gradient(circle at 58% 72%, rgba(189, 235, 255, 0.08), transparent 30%),
        linear-gradient(150deg, rgba(18, 14, 10, 0.97), rgba(11, 14, 22, 0.95));
    border-color: rgba(220, 186, 128, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 10, 0.62), inset 0 0 0 1px rgba(255, 241, 208, 0.06);
}

body[data-mja-page="illustrated-iron-cross"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(246, 207, 132, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(121, 182, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(20, 14, 10, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="illustrated-iron-cross"] .mja-card,
body[data-mja-page="illustrated-iron-cross"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.38);
}

body[data-mja-page="illustrated-iron-cross"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(244, 205, 138, 0.16), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(121, 182, 255, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(18, 13, 10, 0.96), rgba(16, 18, 25, 0.94));
    border-color: rgba(222, 188, 132, 0.22);
}


/* Pass 33 - Patrice / Portal chamber */
.mja-scene-shell[data-scene-tone="portalchaplin"] {
    background:
        radial-gradient(circle at 14% 18%, rgba(177, 120, 255, 0.16), transparent 40%),
        radial-gradient(circle at 78% 20%, rgba(112, 187, 255, 0.14), transparent 34%),
        radial-gradient(circle at 54% 74%, rgba(208, 229, 255, 0.08), transparent 28%),
        linear-gradient(150deg, rgba(17, 10, 30, 0.97), rgba(9, 14, 24, 0.95));
    border-color: rgba(174, 132, 241, 0.24);
    box-shadow: 0 32px 82px rgba(7, 4, 10, 0.62), inset 0 0 0 1px rgba(234, 223, 255, 0.06);
}

body[data-mja-page="patrice-portal"] .mja-page-intro {
    background:
        radial-gradient(circle at 0% 0%, rgba(177, 120, 255, 0.08), transparent 36%),
        radial-gradient(circle at 100% 0%, rgba(112, 187, 255, 0.08), transparent 30%),
        linear-gradient(180deg, rgba(18, 11, 30, 0.96) 0%, rgba(7, 8, 12, 0.99) 100%);
}

body[data-mja-page="patrice-portal"] .mja-card,
body[data-mja-page="patrice-portal"] .mja-link-card {
    box-shadow: 0 26px 58px rgba(0,0,0,0.38);
}

body[data-mja-page="patrice-portal"] .mja-obsession-shell--feature-route {
    background:
        radial-gradient(circle at 18% 22%, rgba(177, 120, 255, 0.15), transparent 40%),
        radial-gradient(circle at 82% 12%, rgba(112, 187, 255, 0.16), transparent 34%),
        linear-gradient(150deg, rgba(18, 11, 30, 0.96), rgba(16, 18, 25, 0.94));
    border-color: rgba(174, 132, 241, 0.22);
}


/* Pass 40 polish */

.mja-actions,
.mja-scene-rail,
.mja-route-sigil-cloud {
    align-items: flex-start;
}

.mja-btn-primary,
.mja-btn-secondary,
.mja-scene-chip,
.mja-scene-code,
.mja-route-sigil,
.mja-whisper-meta {
    line-height: 1.35;
    white-space: normal;
    text-wrap: balance;
}

.mja-btn-primary,
.mja-btn-secondary,
.mja-scene-chip {
    max-width: 100%;
}

.mja-scene-code,
.mja-route-sigil,
.mja-whisper-meta {
    justify-content: center;
}

.mja-footer-links {
    gap: 0.35rem;
}

.mja-footer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0.12rem 0;
    line-height: 1.45;
}

@media (max-width: 991.98px) {
    .mja-scene-code {
        letter-spacing: 0.12em;
    }
}

@media (max-width: 767.98px) {
    .mja-scene-rail .mja-scene-chip,
    .mja-route-sigil-cloud .mja-route-sigil {
        width: 100%;
        justify-content: center;
    }

    .mja-footer-links a {
        min-height: 38px;
    }
}
