:root {
    --pa-obsidian: #0F172A;
    --pa-midnight: #111827;
    --pa-gold: #C9A227;
    --pa-gold-soft: rgba(201, 162, 39, .16);
    --pa-ivory: #F8F7F3;
    --pa-mist: #E5E7EB;
    --pa-moon: #6B7280;
    --pa-white: #FFFFFF;

    --pa-radius-sm: 16px;
    --pa-radius-md: 22px;
    --pa-radius-lg: 28px;
    --pa-radius-pill: 999px;

    --pa-shadow-soft: 0 20px 60px rgba(15, 23, 42, .08);
    --pa-shadow-card: 0 30px 90px rgba(15, 23, 42, .12);

    --pa-space-1: 8px;
    --pa-space-2: 16px;
    --pa-space-3: 24px;
    --pa-space-4: 32px;
    --pa-space-5: 40px;
    --pa-space-6: 48px;
    --pa-space-8: 64px;
}

* {
    box-sizing: border-box;
}

body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pa-stage {
    display: none;
    min-height: 100vh;
    align-items: center;
    padding: 48px 0;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 0%, rgba(201, 162, 39, .18), transparent 34%),
        linear-gradient(180deg, #FFFFFF 0%, #F8F9FC 100%);
}

.pa-stage.active {
    display: flex;
    animation: paFade .45s ease both;
}

.pa-orb {
    position: absolute;
    width: 460px;
    height: 460px;
    border-radius: 999px;
    background: rgba(201, 162, 39, .10);
    filter: blur(70px);
    top: -180px;
    left: 50%;
    transform: translateX(-50%);
}

.pa-shell,
.pa-panel,
.pa-result {
    position: relative;
    max-width: 820px;
    padding: 24px;
}

.pa-panel,
.pa-result {
    background: rgba(255, 255, 255, .86);
    border: 1px solid var(--pa-border);
    border-radius: 32px;
    box-shadow: 0 30px 90px rgba(17, 24, 39, .10);
}

.pa-logo {
    width: 82px;
    height: 82px;
    margin: 0 auto 24px;
    display: grid;
    place-items: center;
    border-radius: 28px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(201, 162, 39, .35);
    box-shadow: 0 24px 80px rgba(17, 24, 39, .08);
}

.pa-logo svg {
    width: 48px;
    height: 48px;
}

.pa-logo path {
    fill: none;
    stroke: var(--pa-gold);
    stroke-width: 8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pa-kicker {
    margin-bottom: 12px;
    color: var(--pa-gold);
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: .78rem;
}

.pa-title,
.pa-heading {
    font-family: "Cormorant Garamond", serif;
}

.pa-title,
.pa-heading {
    margin: 0 auto 20px;
    font-weight: 900;
    letter-spacing: -.07em;
    color: var(--pa-midnight);
}

.pa-title {
    max-width: 780px;
    font-size: clamp(2.8rem, 7vw, 6rem);
    line-height: .95;
}

.pa-heading {
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1;
}

.pa-subtitle {
    max-width: 620px;
    margin: 0 auto 34px;
    color: var(--pa-text);
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
}

.pa-question-box {
    max-width: 680px;
    margin: 0 auto;
    padding: 12px;
    background: rgba(255, 255, 255, .86);
    border: 1px solid var(--pa-border);
    border-radius: 28px;
    box-shadow: 0 30px 90px rgba(17, 24, 39, .10);
}

.pa-input {
    width: 100%;
    border: 0;
    outline: 0;
    resize: none;
    padding: 20px;
    border-radius: 20px;
    background: transparent;
    color: var(--pa-midnight);
    font-size: 1.08rem;
    line-height: 1.6;
}
.pa-input{

    background:

        linear-gradient(

        180deg,

        #ffffff,

        #fcfcfc

        );

    box-shadow:

        inset 0 3px 12px rgba(0,0,0,.04);

}
.pa-btn {
    width: 100%;
    min-height: 56px;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.pa-btn{

    transition:

        all .25s ease;

}

.pa-btn:hover{

    transform:

        translateY(-3px);

}

.pa-btn-primary {
    background: var(--pa-midnight);
    color: var(--pa-white);
    box-shadow: 0 18px 40px rgba(17, 24, 39, .18);
}

.pa-btn-secondary {
    background: var(--pa-gold);
    color: var(--pa-midnight);
}

.pa-back {
    border: 0;
    background: transparent;
    color: var(--pa-text);
    font-weight: 700;
    margin-bottom: 24px;
}

.pa-question-preview {
    padding: 18px;
    margin: 24px 0;
    border-radius: 22px;
    background: var(--pa-gray);
    color: var(--pa-text);
    line-height: 1.6;
}

.pa-spread-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.pa-spread-card {
    border: 1px solid var(--pa-border);
    background: var(--pa-white);
    border-radius: 24px;
    padding: 24px;
    text-align: left;
    transition: .2s ease;
}

.pa-spread-card span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--pa-midnight);
    color: var(--pa-white);
    font-weight: 900;
    margin-bottom: 16px;
}

.pa-spread-card strong {
    display: block;
    font-size: 1.25rem;
}

.pa-spread-card small {
    color: var(--pa-text);
}

.pa-spread-card.active {
    border-color: rgba(201, 162, 39, .8);
    box-shadow: 0 18px 50px rgba(201, 162, 39, .18);
}

.pa-deck {
    height: 260px;
    margin: 48px auto 16px;
    position: relative;
    max-width: 340px;
}

.pa-deck-card {
    width: 150px;
    height: 220px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(201,162,39,.25), transparent),
        var(--pa-midnight);
    border: 2px solid rgba(201, 162, 39, .55);
    position: absolute;
    left: 50%;
    top: 0;
    transform-origin: center bottom;
    box-shadow: 0 30px 80px rgba(17,24,39,.22);
    animation: paShuffle 1.4s ease-in-out infinite;
}

.c1 { transform: translateX(-50%) rotate(-18deg); animation-delay: 0s; }
.c2 { transform: translateX(-50%) rotate(-9deg); animation-delay: .1s; }
.c3 { transform: translateX(-50%) rotate(0deg); animation-delay: .2s; }
.c4 { transform: translateX(-50%) rotate(9deg); animation-delay: .3s; }
.c5 { transform: translateX(-50%) rotate(18deg); animation-delay: .4s; }

.pa-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 32px;
}

.pa-tarot-card {
    min-height: 360px;
    padding: 22px;
    border-radius: 28px;
    background: var(--pa-white);
    border: 1px solid rgba(201, 162, 39, .35);
    box-shadow: 0 24px 70px rgba(17,24,39,.10);
    animation: paRise .5s ease both;
}

.pa-tarot-symbol {
    height: 130px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle, rgba(201,162,39,.18), transparent 60%),
        var(--pa-gray);
    color: var(--pa-gold);
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 18px;
}

.pa-tarot-card h3 {
    font-weight: 900;
    letter-spacing: -.04em;
}

.pa-position {
    color: var(--pa-gold);
    font-weight: 800;
    font-size: .82rem;
    text-transform: uppercase;
}

.pa-tarot-card p {
    color: var(--pa-text);
    line-height: 1.6;
}

.pa-disclaimer {
    max-width: 620px;
    margin: 28px auto 0;
    color: #6B7280;
    font-size: .92rem;
    line-height: 1.6;
}

@keyframes paFade {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes paRise {
    from { opacity: 0; transform: translateY(18px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes paShuffle {
    0%, 100% { margin-top: 0; }
    50% { margin-top: 14px; }
}

@media (max-width: 768px) {
    .pa-spread-grid,
    .pa-cards-grid {
        grid-template-columns: 1fr;
    }

    .pa-panel,
    .pa-result {
        margin: 0 12px;
    }
}
.pa-card-compact {
    display: flex;
    flex-direction: column;
}

.pa-card-summary {
    flex: 1;
}

.pa-orientation {
    color: #6B7280;
    font-weight: 700;
    font-size: .92rem;
}

.pa-read-more {
    margin-top: auto;
    border: 0;
    border-radius: 999px;
    background: #111827;
    color: #FFFFFF;
    font-weight: 800;
    padding: 12px 18px;
}

.pa-integrated-reading {
    grid-column: 1 / -1;
    margin-top: 24px;
    padding: 28px;
    border-radius: 28px;
    background: #111827;
    color: #FFFFFF;
}

.pa-integrated-reading h3 {
    font-weight: 900;
    letter-spacing: -.04em;
}

.pa-integrated-reading p {
    color: rgba(255,255,255,.78);
    line-height: 1.7;
}

.pa-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(17,24,39,.72);
    display: grid;
    place-items: center;
    padding: 24px;
}

.pa-modal-card {
    position: relative;
    width: min(720px, 100%);
    max-height: 88vh;
    overflow-y: auto;
    background: #FFFFFF;
    border-radius: 32px;
    padding: 32px;
    box-shadow: 0 40px 120px rgba(0,0,0,.28);
}

.pa-modal-card h2 {
    font-weight: 900;
    letter-spacing: -.05em;
}

.pa-modal-card h4 {
    margin-top: 24px;
    font-weight: 900;
}

.pa-modal-card p {
    color: #4B5563;
    line-height: 1.75;
}

.pa-modal-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: #F3F4F6;
    font-size: 1.6rem;
    line-height: 1;
}
.pa-reading-meta {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin: 8px 0 28px;
    border: 1px solid rgba(201, 162, 39, .28);
    border-radius: 22px;
    background: rgba(255, 255, 255, .72);
    overflow: hidden;
}

.pa-reading-meta div {
    padding: 18px 22px;
    color: #111827;
    font-size: .98rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-reading-meta div + div {
    border-left: 1px solid rgba(201, 162, 39, .28);
}

.pa-reading-meta span {
    color: #C9A227;
    font-size: 1.2rem;
}

.pa-cards-grid {
    align-items: stretch;
}

.pa-card-compact {
    min-height: 420px;
}

.pa-card-compact .pa-tarot-symbol {
    height: 140px;
}

.pa-card-compact h3 {
    min-height: 56px;
}

.pa-integrated-reading {
    margin-top: 36px;
}

@media (max-width: 768px) {
    .pa-reading-meta {
        grid-template-columns: 1fr;
    }

    .pa-reading-meta div + div {
        border-left: 0;
        border-top: 1px solid rgba(201, 162, 39, .28);
    }

    .pa-card-compact {
        min-height: auto;
    }
}
.pa-reading-insights {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin-top: 28px;
    border: 1px solid rgba(201, 162, 39, .24);
    border-radius: 28px;
    background: rgba(255, 255, 255, .78);
    overflow: hidden;
}

.pa-reading-insights article {
    padding: 26px 22px;
    text-align: center;
}

.pa-reading-insights article + article {
    border-left: 1px solid rgba(201, 162, 39, .22);
}

.pa-insight-icon {
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201, 162, 39, .14);
    font-size: 1.5rem;
}

.pa-reading-insights small {
    display: block;
    margin-bottom: 8px;
    color: #111827;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pa-reading-insights strong {
    display: block;
    margin-bottom: 10px;
    color: #C9A227;
    font-size: 1.08rem;
}

.pa-reading-insights p {
    margin: 0;
    color: #4B5563;
    line-height: 1.55;
}

@media (max-width: 992px) {
    .pa-reading-insights {
        grid-template-columns: repeat(2, 1fr);
    }

    .pa-reading-insights article:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(201, 162, 39, .22);
    }

    .pa-reading-insights article:nth-child(4) {
        border-top: 1px solid rgba(201, 162, 39, .22);
    }
}

@media (max-width: 576px) {
    .pa-reading-insights {
        grid-template-columns: 1fr;
    }

    .pa-reading-insights article + article {
        border-left: 0;
        border-top: 1px solid rgba(201, 162, 39, .22);
    }
}

.pa-thinking{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:24px;

    padding:60px 20px;

}

.pa-thinking-text{

    font-size:1.15rem;

    font-weight:700;

    color:#ffffff;

    letter-spacing:.02em;

}

.pa-spinner{

    width:70px;

    height:70px;

    border-radius:50%;

    border:4px solid rgba(255,255,255,.18);

    border-top-color:#C9A227;

    animation:orionSpin 1s linear infinite;

}

@keyframes orionSpin{

    to{

        transform:rotate(360deg);

    }

}
.pa-arcane-card {
    animation: paRise .5s ease both;
}

.pa-arcane-frame {
    min-height: 470px;
    height: 100%;
    padding: 22px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.16), transparent 42%),
        linear-gradient(180deg, #FFFFFF 0%, #F8F7F3 100%);
    border: 1px solid rgba(201, 162, 39, .34);
    box-shadow: 0 30px 90px rgba(15,23,42,.10);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.pa-arcane-frame::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(201, 162, 39, .25);
    border-radius: 24px;
    pointer-events: none;
}

.pa-arcane-top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #C9A227;
    font-weight: 900;
}

.pa-arcane-top span {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.45rem;
}

.pa-arcane-top small {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201, 162, 39, .14);
    color: #111827;
    font-size: 1rem;
}

.pa-arcane-symbol {
    position: relative;
    z-index: 1;
    width: 132px;
    height: 132px;
    margin: 18px auto;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(201,162,39,.22), transparent 65%),
        #FFFFFF;
    border: 1px solid rgba(201, 162, 39, .28);
    color: #C9A227;
    font-family: "Cormorant Garamond", serif;
    font-size: 4rem;
    font-weight: 700;
    box-shadow: inset 0 0 30px rgba(201,162,39,.08);
}

.pa-arcane-frame .pa-position,
.pa-arcane-frame h3,
.pa-arcane-frame .pa-orientation,
.pa-arcane-frame .pa-card-summary,
.pa-arcane-frame .pa-read-more {
    position: relative;
    z-index: 1;
}

.pa-arcane-frame h3 {
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    line-height: 1;
    min-height: 64px;
    margin: 10px 0 12px;
}

.pa-arcane-frame .pa-card-summary {
    flex: 1;
}

.pa-arcane-frame:hover {
    animation: paGlow 2.4s ease infinite;
}

@media (max-width: 768px) {
    .pa-arcane-frame {
        min-height: auto;
    }
}

.pa-orion-signature {
    grid-column: 1 / -1;
    margin-top: 32px;
    padding: 42px 28px;
    text-align: center;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.18), transparent 48%),
        #FFFFFF;
    border: 1px solid rgba(201, 162, 39, .28);
    box-shadow: 0 24px 70px rgba(15,23,42,.08);
}

.pa-orion-mark {
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201, 162, 39, .14);
    color: #C9A227;
    font-size: 2rem;
    font-weight: 900;
}

.pa-orion-signature h3 {
    margin-bottom: 12px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    letter-spacing: -.04em;
}

.pa-orion-signature p:last-child {
    max-width: 640px;
    margin: 0 auto;
    color: #4B5563;
    line-height: 1.75;
    font-size: 1.05rem;
}

#stage-result {
    background:
        radial-gradient(circle at 50% 8%, rgba(201,162,39,.24), transparent 32%),
        radial-gradient(circle at 20% 35%, rgba(201,162,39,.10), transparent 28%),
        linear-gradient(180deg, #0F172A 0%, #111827 48%, #F8F7F3 100%);
}

#stage-result .pa-result {
    max-width: 1180px;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pa-reading-stage {
    position: relative;
    grid-column: 1 / -1;
    padding: 32px;
    border-radius: 42px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.25), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    border: 1px solid rgba(201,162,39,.30);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 40px 120px rgba(0,0,0,.28);
    overflow: hidden;
}

.pa-reading-stage::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 32px;
    border: 1px solid rgba(201,162,39,.18);
    pointer-events: none;
}

.pa-reading-stage::after {
    content: "Рюд";
    position: absolute;
    top: 22px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(201,162,39,.75);
    font-size: 1.2rem;
}

.pa-tarot-table {
    position: relative;
    z-index: 1;
}

.pa-table-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: stretch;
}

.pa-table-cards .pa-arcane-card {
    perspective: 1200px;
}

.pa-table-cards .pa-arcane-frame {
    transform-style: preserve-3d;
    animation: paCardReveal .75s ease both;
}

.pa-table-cards .pa-arcane-card:nth-child(1) .pa-arcane-frame {
    animation-delay: .10s;
}

.pa-table-cards .pa-arcane-card:nth-child(2) .pa-arcane-frame {
    animation-delay: .35s;
}

.pa-table-cards .pa-arcane-card:nth-child(3) .pa-arcane-frame {
    animation-delay: .60s;
}

@keyframes paCardReveal {
    from {
        opacity: 0;
        transform: translateY(28px) rotateY(70deg) scale(.96);
    }

    to {
        opacity: 1;
        transform: translateY(0) rotateY(0deg) scale(1);
    }
}

#stage-result .pa-reading-meta {
    background: rgba(255,255,255,.92);
}

#stage-result .pa-integrated-reading {
    box-shadow: 0 34px 90px rgba(0,0,0,.18);
}

@media (max-width: 992px) {
    .pa-table-cards {
        grid-template-columns: 1fr;
    }

    .pa-reading-stage {
        padding: 20px;
        border-radius: 32px;
    }
}

.pa-card-orion-quote {
    margin-top: 12px;
    padding: 14px 16px;
    border-left: 3px solid #C9A227;
    border-radius: 14px;
    background: rgba(201, 162, 39, .10);
    color: #374151;
    font-size: .92rem;
    line-height: 1.55;
    font-style: italic;
}

/* ORION Search */
.orion-search {
    position: relative;
    min-width: min(420px, 100%);
}

.orion-search-form {
    display: flex;
    align-items: center;
}

.orion-search-input {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 999px;
    padding: 10px 16px;
    font-size: .92rem;
    background: rgba(255, 255, 255, .92);
    outline: none;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.orion-search-input:focus {
    border-color: rgba(201, 162, 39, .75);
    box-shadow: 0 0 0 4px rgba(201, 162, 39, .14);
}

.orion-search-panel {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    z-index: 1080;
    max-height: 520px;
    overflow-y: auto;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
    padding: 14px;
}

.orion-search-panel.is-open {
    display: block;
}

.orion-search-heading,
.orion-search-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #6b7280;
    font-size: .82rem;
    padding: 8px 10px;
}

.orion-search-heading a {
    color: #8a6a10;
    font-weight: 700;
    text-decoration: none;
}

.orion-search-group {
    padding: 6px 0;
}

.orion-search-group-title {
    color: #9ca3af;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 8px 10px 5px;
}

.orion-search-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px;
    border-radius: 14px;
    text-decoration: none;
    color: #111827;
}

.orion-search-item:hover,
.orion-search-item.is-active {
    background: rgba(201, 162, 39, .10);
}

.orion-search-item strong {
    display: block;
    font-size: .94rem;
}

.orion-search-item small {
    display: block;
    color: #6b7280;
    line-height: 1.35;
}

.orion-search-icon {
    width: 24px;
    flex: 0 0 24px;
}

.orion-search-empty {
    display: grid;
    gap: 4px;
    color: #6b7280;
    padding: 16px;
}

.orion-search-empty strong {
    color: #111827;
}

@media (max-width: 991px) {
    .orion-search {
        width: 100%;
        margin: 12px 0;
    }

    .orion-search-panel {
        position: static;
        margin-top: 10px;
        max-height: 360px;
    }
}


.pa-home-premium {
    min-height: calc(100vh - 76px);
    padding: 70px 0 56px;
    background:
        radial-gradient(circle at 50% 8%, rgba(201, 162, 39, .18), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.pa-home-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 42px;
    align-items: center;
}

.pa-home-main {
    max-width: 760px;
}

.pa-question-box-premium {
    position: relative;
    border: 1px solid rgba(15, 23, 42, .06);
}

.pa-suggestion-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.pa-suggestion-chips button {
    border: 1px solid rgba(201, 162, 39, .22);
    border-radius: 999px;
    background: rgba(201, 162, 39, .08);
    color: #6b4f05;
    padding: 7px 12px;
    font-size: .82rem;
    font-weight: 700;
}

.pa-home-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.pa-home-hub {
    display: grid;
    gap: 14px;
}

.pa-hub-card,
.pa-hub-links {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 24px 60px rgba(15, 23, 42, .08);
    padding: 22px;
}

.pa-hub-card{

    transition:

        transform .25s ease,

        box-shadow .25s ease,

        border-color .25s ease;

}
.pa-hub-card:hover{

    transform:

        translateY(-8px);

    border-color:

        rgba(201,162,39,.55);

    box-shadow:

        0 34px 90px rgba(15,23,42,.16);

}
.pa-hub-card span {
    display: block;
    font-size: 1.5rem;
    margin-bottom: 8px;
}

.pa-hub-card strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
    color: #111827;
}

.pa-hub-card small {
    color: #6b7280;
    font-weight: 700;
}

.pa-hub-links {
    display: grid;
    gap: 10px;
}

.pa-hub-links a {
    color: #111827;
    font-weight: 800;
    text-decoration: none;
}

.pa-hub-links a:hover {
    color: #8a6a10;
}

@media (max-width: 991px) {
    .pa-home-grid {
        grid-template-columns: 1fr;
    }

    .pa-home-hub {
        max-width: 560px;
        width: 100%;
        margin: 0 auto;
    }
}



body{
    position:relative;
    overflow-x:hidden;
    background:#fbfbfc;
}

body::before{

    content:"";

    position:fixed;

    inset:0;

    pointer-events:none;

    z-index:-2;

    background:

    radial-gradient(circle at 50% 0%,
        rgba(201,162,39,.18),
        transparent 28%),

    radial-gradient(circle at 12% 40%,
        rgba(201,162,39,.06),
        transparent 24%),

    radial-gradient(circle at 90% 70%,
        rgba(17,24,39,.05),
        transparent 26%);

}

body::after{

    content:"";

    position:fixed;

    inset:0;

    pointer-events:none;

    opacity:.035;

    z-index:-1;

    background-image:

        linear-gradient(
            rgba(17,24,39,.04) 1px,
            transparent 1px),

        linear-gradient(
            90deg,
            rgba(17,24,39,.04) 1px,
            transparent 1px);

    background-size:42px 42px;

}

@keyframes orionGlow{

    0%{

        transform:scale(1);

        box-shadow:0 18px 50px rgba(201,162,39,.10);

    }

    50%{

        transform:scale(1.04);

        box-shadow:0 26px 70px rgba(201,162,39,.20);

    }

    100%{

        transform:scale(1);

        box-shadow:0 18px 50px rgba(201,162,39,.10);

    }

}

.pa-logo{

    animation:orionGlow 7s ease infinite;

}

.pa-feature-list{

display:flex;

justify-content:center;

gap:12px;

flex-wrap:wrap;

margin-bottom:26px;

}

.pa-feature{

padding:8px 14px;

border-radius:999px;

background:#fff;

border:1px solid rgba(201,162,39,.22);

font-size:.82rem;

font-weight:700;

color:#6B7280;

}

/* ==========================================================
   ATLAS PREMIUM CARDS
========================================================== */

#atlas-cards .studio-panel,
.pa-result .studio-panel {
    border-radius: 26px;
    border-color: rgba(15, 23, 42, .08);
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.08), transparent 42%),
        rgba(255,255,255,.92);
    box-shadow: 0 22px 70px rgba(15,23,42,.07);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

#atlas-cards .studio-panel:hover,
.pa-result .studio-panel:hover {
    transform: translateY(-6px);
    border-color: rgba(201,162,39,.42);
    box-shadow: 0 34px 90px rgba(15,23,42,.13);
}

.pa-result {
    border-radius: 34px;
}

.pa-result .card-body {
    padding: 28px !important;
}

.pa-result h2.h3,
.pa-result h3.h5 {
    letter-spacing: -.04em;
}

.pa-result .text-muted {
    line-height: 1.65;
}

.pa-result .pa-card-orion-quote {
    margin-top: 18px;
    min-height: 88px;
}
/* ==========================================================
   ORION EXPEDIENTE COMPONENTS
========================================================== */

.orion-section {
    overflow: hidden;
}

.orion-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.orion-section-title span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201,162,39,.12);
    color: #C9A227;
    font-size: 1.1rem;
}

.orion-section-title h2 {
    margin: 0;
    font-weight: 900;
    letter-spacing: -.04em;
}

.orion-action-box {
    border-color: rgba(201,162,39,.35);
    background:
        radial-gradient(circle at 0% 0%, rgba(201,162,39,.10), transparent 36%),
        rgba(255,255,255,.94);
}

.orion-action-box ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.orion-action-box li {
    padding-left: 30px;
    position: relative;
    color: #374151;
    line-height: 1.6;
}

.orion-action-box li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #C9A227;
    font-weight: 900;
}

/* ==========================================================
   ORION FAQ ACCORDION
========================================================== */

.orion-faq-section {
    border-color: rgba(201,162,39,.28);
}

.orion-faq .accordion-item {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

.orion-faq .accordion-item + .accordion-item {
    margin-top: 10px;
}

.orion-faq .accordion-button {
    font-weight: 900;
    color: #111827;
    background: #fff;
    box-shadow: none;
}

.orion-faq .accordion-button:not(.collapsed) {
    color: #8a6a10;
    background: rgba(201,162,39,.09);
}

.orion-faq .accordion-button:focus {
    box-shadow: 0 0 0 4px rgba(201,162,39,.14);
}

.orion-faq .accordion-body {
    color: #4B5563;
    line-height: 1.75;
}

/* ==========================================================
   ORION KNOWLEDGE GRAPH
========================================================== */

.orion-graph-section {
    border-color: rgba(201,162,39,.32);
}

.orion-graph {
    display: grid;
    gap: 24px;
    justify-items: center;
    padding: 12px 0 4px;
}

.orion-graph-center {
    width: min(280px, 100%);
    min-height: 110px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.20), transparent 60%),
        #111827;
    color: #fff;
    box-shadow: 0 24px 70px rgba(15,23,42,.20);
}

.orion-graph-center small,
.orion-graph-node small {
    display: block;
    color: #C9A227;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.orion-graph-center strong {
    display: block;
    max-width: 220px;
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    line-height: 1;
}

.orion-graph-nodes {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    position: relative;
}

.orion-graph-node {
    position: relative;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(201,162,39,.22);
    background: rgba(255,255,255,.92);
    color: #111827;
    text-decoration: none;
    box-shadow: 0 18px 50px rgba(15,23,42,.06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.orion-graph-node::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    width: 1px;
    height: 18px;
    background: rgba(201,162,39,.35);
}

.orion-graph-node:hover {
    transform: translateY(-5px);
    border-color: rgba(201,162,39,.55);
    box-shadow: 0 28px 70px rgba(15,23,42,.12);
}

.orion-graph-node strong {
    display: block;
    margin-top: 4px;
    font-weight: 900;
}

@media (max-width: 768px) {
    .orion-graph-nodes {
        grid-template-columns: 1fr;
    }

    .orion-graph-node::before {
        display: none;
    }
}

/* ==========================================================
   ORION CONTINUE EXPLORING
========================================================== */

.orion-continue-section {
    border-color: rgba(201,162,39,.30);
}

.orion-continue-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.orion-continue-item {
    padding: 18px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(201,162,39,.12), transparent 42%),
        rgba(255,255,255,.94);
    border: 1px solid rgba(15,23,42,.08);
    color: #111827;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.orion-continue-item:hover {
    transform: translateY(-5px);
    border-color: rgba(201,162,39,.48);
    box-shadow: 0 24px 70px rgba(15,23,42,.10);
}

.orion-continue-item small {
    display: block;
    margin-bottom: 4px;
    color: #C9A227;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .10em;
}

.orion-continue-item strong {
    font-weight: 900;
  

  margin-top: .42rem;
  color: #fffaf0 !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.3;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .22);
    
    
    
    
}

@media (max-width: 576px) {
    .orion-continue-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   ORION SYMBOLIC MAP
========================================================== */

.orion-symbolic-map {
    border-color: rgba(201,162,39,.30);
}

.orion-symbolic-map h2 {
    margin-bottom: 18px;
    font-weight: 900;
    letter-spacing: -.04em;
}

.orion-symbolic-heading {
    margin: 0 0 10px;
    color: #C9A227;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.orion-symbolic-group {
    display: grid;
    gap: 10px;
}

.orion-symbolic-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 100% 0%, rgba(201,162,39,.10), transparent 42%),
        rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.07);
    color: #111827;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.orion-symbolic-row:hover {
    transform: translateY(-3px);
    border-color: rgba(201,162,39,.45);
    box-shadow: 0 18px 48px rgba(15,23,42,.10);
}

.orion-symbolic-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(201,162,39,.12);
}

.orion-symbolic-row small {
    display: block;
    color: #6B7280;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.orion-symbolic-row strong {
    display: block;
    margin-top: 2px;
    font-weight: 900;
    line-height: 1.2;
}

/* ==========================================================
   HOME PREMIUM 3.0
========================================================== */

.pa-home-discovery {
    margin-top: 72px;
    display: grid;
    gap: 34px;
}

.pa-home-section {
    padding: 34px;
    border-radius: 34px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 28px 90px rgba(15,23,42,.08);
}

.pa-home-section h2 {
    margin-bottom: 22px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 900;
    letter-spacing: -.06em;
    color: #111827;
}

.pa-discovery-grid,
.pa-start-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.pa-discovery-card,
.pa-start-card {
    min-height: 150px;
    padding: 22px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0%, rgba(201,162,39,.12), transparent 44%),
        #fff;
    border: 1px solid rgba(15,23,42,.08);
    color: #111827;
    text-decoration: none;
    box-shadow: 0 18px 55px rgba(15,23,42,.06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.pa-discovery-card:hover,
.pa-start-card:hover {
    transform: translateY(-6px);
    border-color: rgba(201,162,39,.50);
    box-shadow: 0 30px 85px rgba(15,23,42,.13);
}

.pa-discovery-card span,
.pa-start-card span {
    display: block;
    font-size: 1.7rem;
    margin-bottom: 14px;
}

.pa-discovery-card strong,
.pa-start-card strong {
    display: block;
    font-size: 1.15rem;
    font-weight: 900;
}

.pa-discovery-card small,
.pa-start-card small {
    display: block;
    margin-top: 6px;
    color: #6B7280;
    line-height: 1.45;
}

.pa-knowledge-preview {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 34px;
    align-items: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(201,162,39,.18), transparent 36%),
        #111827;
    color: #fff;
}

.pa-knowledge-preview h2 {
    color: #fff;
}

.pa-knowledge-preview p {
    color: rgba(255,255,255,.76);
    line-height: 1.7;
}

.pa-mini-graph {
    display: grid;
    gap: 12px;
    justify-items: center;
}

.pa-mini-graph span,
.pa-mini-graph i {
    width: 100%;
    padding: 14px 18px;
    border-radius: 999px;
    text-align: center;
    font-style: normal;
    font-weight: 900;
}

.pa-mini-graph span {
    background: #fff;
    color: #111827;
}

.pa-mini-graph i {
    background: rgba(255,255,255,.10);
    color: #C9A227;
    border: 1px solid rgba(201,162,39,.30);
}

@media (max-width: 991px) {
    .pa-discovery-grid,
    .pa-start-grid,
    .pa-knowledge-preview {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   HOME PREMIUM 3.1
========================================================== */

.pa-home-wide {
    max-width: 880px;
}

.pa-home-dashboard {
    margin-top: 76px;
    display: grid;
    gap: 34px;
}

.pa-home-stats-bar {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    overflow: hidden;
    border-radius: 30px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(15,23,42,.08);
    box-shadow: 0 28px 90px rgba(15,23,42,.08);
}

.pa-home-stats-bar article {
    padding: 26px 18px;
    text-align: center;
}

.pa-home-stats-bar article + article {
    border-left: 1px solid rgba(15,23,42,.07);
}

.pa-home-stats-bar strong {
    display: block;
    color: #111827;
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
}

.pa-home-stats-bar span {
    display: block;
    margin-top: 8px;
    color: #6B7280;
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pa-featured-expedition {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 28px;
    align-items: center;
}

.pa-featured-expedition p {
    color: #4B5563;
    line-height: 1.75;
}

.pa-featured-expedition blockquote {
    margin: 22px 0;
    padding: 18px 20px;
    border-left: 4px solid #C9A227;
    border-radius: 18px;
    background: rgba(201,162,39,.09);
    color: #374151;
    font-style: italic;
}

.pa-featured-expedition aside {
    min-height: 260px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 32px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.22), transparent 56%),
        #111827;
    color: #fff;
    padding: 24px;
}

.pa-featured-expedition aside span {
    color: #C9A227;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.pa-featured-expedition aside strong {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    line-height: 1;
}

.pa-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.pa-process-grid article {
    padding: 22px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.08);
}

.pa-process-grid span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(201,162,39,.14);
    color: #C9A227;
    font-weight: 900;
}

.pa-process-grid strong {
    display: block;
    font-weight: 900;
}

.pa-process-grid small {
    display: block;
    margin-top: 6px;
    color: #6B7280;
    line-height: 1.5;
}

.pa-home-final-cta {
    padding: 54px 34px;
    text-align: center;
    border-radius: 38px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.20), transparent 44%),
        #111827;
    color: #fff;
    box-shadow: 0 34px 100px rgba(15,23,42,.18);
}

.pa-home-final-cta h2 {
    margin-bottom: 24px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.3rem, 5vw, 4.4rem);
    font-weight: 900;
    letter-spacing: -.06em;
}

@media (max-width: 991px) {
    .pa-home-stats-bar,
    .pa-featured-expedition,
    .pa-process-grid {
        grid-template-columns: 1fr;
    }

    .pa-home-stats-bar article + article {
        border-left: 0;
        border-top: 1px solid rgba(15,23,42,.07);
    }
}
/* HOME 3.1 refinements */
.pa-home-premium {
    padding-top: 48px;
}

.pa-home-dashboard {
    margin-top: 52px;
}

.pa-home-stats-bar a {
    display: block;
    padding: 26px 18px;
    text-align: center;
    color: #111827;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.pa-home-stats-bar a + a {
    border-left: 1px solid rgba(15,23,42,.07);
}

.pa-home-stats-bar a:hover {
    background: rgba(201,162,39,.08);
    transform: translateY(-2px);
}

.pa-home-stats-bar article {
    padding: 0;
}

.pa-final-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    max-width: 760px;
    margin: 0 auto;
}

.pa-final-actions .pa-btn {
    width: 100%;
}

@media (max-width: 991px) {
    .pa-home-premium {
        padding-top: 38px;
    }

    .pa-home-stats-bar a + a {
        border-left: 0;
        border-top: 1px solid rgba(15,23,42,.07);
    }

    .pa-final-actions {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================
   PORTAL ARCANO 4.0 · PREMIUM MOTION LAYER
========================================================== */

/* Entrada suave de bloques principales */
.pa-home-dashboard > *,
.pa-home-section,
.pa-home-stats-bar,
.pa-featured-expedition,
.pa-knowledge-preview,
.pa-home-final-cta,
.pa-result,
.studio-panel {
    animation: paPremiumRise .65s ease both;
}

.pa-home-dashboard > *:nth-child(1) { animation-delay: .05s; }
.pa-home-dashboard > *:nth-child(2) { animation-delay: .10s; }
.pa-home-dashboard > *:nth-child(3) { animation-delay: .15s; }
.pa-home-dashboard > *:nth-child(4) { animation-delay: .20s; }
.pa-home-dashboard > *:nth-child(5) { animation-delay: .25s; }

@keyframes paPremiumRise {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Glass premium */
.pa-home-section,
.pa-home-stats-bar,
.pa-question-box,
.pa-panel,
.pa-result,
.studio-panel,
.pa-discovery-card,
.pa-start-card,
.pa-process-grid article {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Brillo sutil en cards */
.pa-discovery-card,
.pa-start-card,
.pa-process-grid article,
.orion-symbolic-row,
.orion-continue-item,
.orion-graph-node {
    position: relative;
    overflow: hidden;
}

.pa-discovery-card::after,
.pa-start-card::after,
.pa-process-grid article::after,
.orion-symbolic-row::after,
.orion-continue-item::after,
.orion-graph-node::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,.45) 45%,
        transparent 70%
    );
    transform: translateX(-120%);
    transition: transform .65s ease;
    pointer-events: none;
}

.pa-discovery-card:hover::after,
.pa-start-card:hover::after,
.pa-process-grid article:hover::after,
.orion-symbolic-row:hover::after,
.orion-continue-item:hover::after,
.orion-graph-node:hover::after {
    transform: translateX(120%);
}

/* Botones más premium */
.pa-btn {
    position: relative;
    overflow: hidden;
}

.pa-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.24),
        transparent
    );
    transform: translateX(-120%);
    transition: transform .55s ease;
}

.pa-btn:hover::after {
    transform: translateX(120%);
}

/* Navbar más refinada */
.navbar {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    background: rgba(255,255,255,.86) !important;
}

/* Hero más compacto y sofisticado */
.pa-home-premium {
    padding-top: 42px;
}

.pa-title {
    text-wrap: balance;
}

.pa-subtitle {
    text-wrap: pretty;
}

/* ORION Search más elegante */
.orion-search-input {
    box-shadow: inset 0 2px 8px rgba(15,23,42,.035);
}

.orion-search-panel {
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Respeto a usuarios con reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* POST READING ATLAS CONNECTION */
.pa-card-expedition-link {
    display: block;
    text-align: center;
    text-decoration: none;
    margin-top: 10px;
    background: #C9A227;
    color: #111827;
}

.pa-post-reading-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.pa-post-reading-actions a,
.pa-post-reading-actions button {
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    background: #111827;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
}

.pa-post-reading-actions a:first-child {
    background: #C9A227;
    color: #111827;
}


/* ATLAS TAROT CARDS */
.pa-atlas-tarot-card {
    position: relative;
    min-height: 520px;
    padding: 22px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.18), transparent 44%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    border: 2px solid rgba(201,162,39,.34);
    box-shadow: 0 30px 90px rgba(15,23,42,.10);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.pa-atlas-tarot-card::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 2px solid rgba(201,162,39,.25);
    border-radius: 26px;
    pointer-events: none;
}

.pa-atlas-tarot-card:hover {
    transform: translateY(-8px) rotate(-.4deg);
    border-color: rgba(201,162,39,.60);
    box-shadow: 0 40px 110px rgba(15,23,42,.16);
}

.pa-atlas-tarot-top {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    color: #C9A227;
    font-weight: 900;
}

.pa-atlas-tarot-top span {
    font-family: "Cormorant Garamond", serif;
    font-size: 1.45rem;
}

.pa-atlas-tarot-top small {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .68rem;
}

.pa-atlas-tarot-symbol {
    position: relative;
    z-index: 1;
    width: 118px;
    height: 118px;
    margin: 18px auto 22px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(201,162,39,.20), transparent 66%),
        #ffffff;
    border: 1px solid rgba(201,162,39,.28);
    color: #C9A227;
    font-family: "Cormorant Garamond", serif;
    font-size: 3.4rem;
    font-weight: 800;
}

.pa-atlas-tarot-body {
    position: relative;
    z-index: 1;
}

.pa-atlas-tarot-body h2 {
    margin-bottom: 10px;
    font-family: "Cormorant Garamond", serif;
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
    color: #111827;
}

.pa-atlas-links {
    font-weight: 800;
    font-size: .92rem;
}

.pa-atlas-links span {
    color: #9CA3AF;
}

.pa-atlas-description {
    min-height: 72px;
    color: #4B5563;
    line-height: 1.65;
}

.pa-atlas-tarot-card .pa-card-orion-quote {
    min-height: 92px;
}

@media (max-width: 768px) {
    .pa-atlas-tarot-card {
        min-height: auto;
    }
}
/* ORION editorial text formatting */
.pa-interpretation-text {
    white-space: pre-line;
    line-height: 1.9;
    font-size: 1.06rem;
    color: #374151;
}

/* ------------------------------------------------------------
   Monetización Fase 1: CTA de validación sin pasarela activa
   ------------------------------------------------------------ */
.pa-monetization-panel {
    max-width: 980px;
    margin: 2rem auto 0;
    padding: 1.5rem;
    border: 1px solid rgba(201, 162, 39, 0.28);
    border-radius: 24px;
    background: rgba(12, 10, 24, 0.72);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
}

.pa-monetization-panel h3 {
    margin: 0 0 0.5rem;
}

.pa-monetization-panel p:last-child {
    margin-bottom: 0;
}

.pa-monetization-actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 220px;
}

.pa-monetization-actions button,
.pa-monetization-actions a {
    border: 1px solid rgba(201, 162, 39, 0.38);
    border-radius: 999px;
    padding: 0.85rem 1rem;
    background: linear-gradient(135deg, rgba(201, 162, 39, 0.95), rgba(255, 221, 113, 0.9));
    color: #16111f;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.pa-monetization-actions a {
    background: transparent;
    color: #f5e7b2;
}

@media (max-width: 768px) {
    .pa-monetization-panel {
        grid-template-columns: 1fr;
    }

    .pa-monetization-actions {
        width: 100%;
    }
}


/* ==========================================================
   PORTAL ARCANO · HOME ESOTÉRICO FACEBOOK ALIGNMENT
   Objetivo: alinear el primer impacto del Home con la línea gráfica usada en Facebook,
   sin agregar dependencias, rutas ni imágenes pesadas.
========================================================== */
body {
    background: #050914;
}

.navbar {
    background: rgba(5, 9, 20, .88) !important;
    border-bottom: 1px solid rgba(211, 170, 57, .26) !important;
}

.navbar .navbar-brand,
.navbar .nav-link {
    color: rgba(255, 255, 255, .88) !important;
}

.navbar .nav-link.active,
.navbar .nav-link:hover {
    color: #F2C75C !important;
}

.navbar-toggler {
    border-color: rgba(242, 199, 92, .35);
    filter: invert(1);
}

.pa-stage.pa-home-premium {
    align-items: flex-start;
    padding-top: 44px;
    background:
        radial-gradient(circle at 12% 10%, rgba(242, 199, 92, .18), transparent 28%),
        radial-gradient(circle at 88% 4%, rgba(87, 68, 32, .35), transparent 32%),
        radial-gradient(circle at 50% 0%, rgba(255, 214, 102, .10), transparent 38%),
        linear-gradient(180deg, #050914 0%, #07101F 46%, #F8F7F3 100%);
}

.pa-stage.pa-home-premium::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .40;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.72) 0 1px, transparent 1.5px),
        linear-gradient(90deg, rgba(242,199,92,.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(242,199,92,.07) 1px, transparent 1px);
    background-size: 120px 120px, 80px 80px, 80px 80px;
    mask-image: linear-gradient(180deg, #000 0%, transparent 70%);
}

.pa-stage.pa-home-premium::after {
    content: "☥ 𓂀 𓃭 𓆣 𓋹 𓊹 𓇳 𓂀";
    position: absolute;
    top: 26px;
    left: 24px;
    right: 24px;
    color: rgba(242, 199, 92, .22);
    font-size: clamp(1rem, 2vw, 1.7rem);
    letter-spacing: .42em;
    text-align: center;
    pointer-events: none;
    white-space: nowrap;
    overflow: hidden;
}

.pa-home-main.pa-esoteric-hero {
    position: relative;
    max-width: 1180px;
    color: #fff;
}

.pa-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
    gap: clamp(24px, 5vw, 68px);
    align-items: center;
    margin-bottom: 24px;
}

.pa-brand-sigil {
    width: 94px;
    height: 94px;
    margin: 0 auto 22px;
    display: grid;
    place-items: center;
    position: relative;
    border: 2px solid rgba(242, 199, 92, .86);
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(242,199,92,.22), rgba(255,255,255,.03)),
        #07101F;
    box-shadow: 0 0 0 8px rgba(242,199,92,.08), 0 24px 80px rgba(0,0,0,.42);
}

.pa-brand-sigil::before,
.pa-brand-sigil::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(242, 199, 92, .42);
    border-radius: 18px;
}

.pa-brand-eye {
    color: #F2C75C;
    font-size: 2.2rem;
    line-height: 1;
    text-shadow: 0 0 28px rgba(242,199,92,.75);
}

.pa-brand-lines {
    position: absolute;
    bottom: 13px;
    color: rgba(255,255,255,.72);
    font-size: 1.1rem;
}

.pa-kicker-ritual {
    color: #F2C75C;
    text-shadow: 0 0 24px rgba(242,199,92,.24);
}

.pa-hero-title {
    max-width: 760px;
    color: #fff;
    text-shadow: 0 18px 70px rgba(0,0,0,.50);
}

.pa-hero-title::first-letter {
    color: #F2C75C;
}

.pa-hero-subtitle {
    color: rgba(255,255,255,.82);
}

.pa-hero-pill-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: -12px 0 8px;
}

.pa-hero-pill-row span {
    border: 1px solid rgba(242,199,92,.35);
    border-radius: 999px;
    padding: 10px 14px;
    background: rgba(255,255,255,.06);
    color: #F8E6AE;
    font-weight: 800;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.pa-hero-oracle {
    min-height: 440px;
    position: relative;
    display: grid;
    place-items: center;
    isolation: isolate;
}

.pa-hero-oracle::before {
    content: "";
    position: absolute;
    width: 74%;
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(242,199,92,.22), transparent 66%);
    filter: blur(8px);
    z-index: -1;
}

.pa-oracle-card {
    width: min(280px, 70vw);
    aspect-ratio: 2 / 3;
    border: 2px solid rgba(242,199,92,.85);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 18%, rgba(242,199,92,.22), transparent 19%),
        linear-gradient(160deg, rgba(255,255,255,.10), transparent 34%),
        #081323;
    box-shadow: 0 36px 110px rgba(0,0,0,.56), inset 0 0 0 10px rgba(242,199,92,.08);
}

.pa-oracle-card-main {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    transform: rotate(5deg);
}

.pa-oracle-card-main::before {
    content: "𓂀" !important;
    position: absolute;
    top: 36px;
    left: 0;
    right: 0;
    text-align: center;
    color: #F2C75C;
    font-size: 5rem;
    text-shadow: 0 0 38px rgba(242,199,92,.45);
}

.pa-oracle-card-main span,
.pa-oracle-card-main em {
    color: #F2C75C;
    font-size: .82rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.pa-oracle-card-main strong {
    margin: 10px 0;
    color: #fff;
    font-family: "Cormorant Garamond", serif;
    font-size: 2.25rem;
    line-height: 1;
}

.pa-oracle-card-back {
    position: absolute;
    transform: translateX(-86px) rotate(-13deg) scale(.82);
    opacity: .78;
}

.pa-oracle-moon {
    position: absolute;
    top: 34px;
    right: 64px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    box-shadow: -16px 8px 0 #F2C75C;
    filter: drop-shadow(0 0 22px rgba(242,199,92,.55));
}

.pa-ritual-box {
    border-color: rgba(242,199,92,.46);
    background: rgba(5, 9, 20, .82);
    box-shadow: 0 28px 90px rgba(0,0,0,.40), 0 0 0 1px rgba(255,255,255,.05) inset;
}

.pa-ritual-box .pa-input {
    color: #fff;
    background: rgba(255,255,255,.06);
}

.pa-ritual-box .pa-input::placeholder {
    color: rgba(255,255,255,.56);
}

.pa-ritual-box .pa-suggestion-chips button {
    border-color: rgba(242,199,92,.50);
    background: rgba(242,199,92,.12);
    color: #F8E6AE;
}

.pa-btn-ritual {
    background: linear-gradient(180deg, #F2C75C, #C9A227) !important;
    color: #07101F !important;
    box-shadow: 0 18px 52px rgba(242,199,92,.25);
}

.pa-ritual-actions .pa-btn-ghost {
    color: #F8E6AE;
    border-color: rgba(242,199,92,.36);
}

.pa-ritual-disclaimer {
    color: rgba(255,255,255,.68);
}

.pa-home-dashboard {
    position: relative;
    z-index: 1;
}

.pa-home-dashboard .pa-home-stats-bar,
.pa-home-dashboard .pa-home-section {
    border: 1px solid rgba(242,199,92,.16);
}

@media (min-width: 992px) {
    .pa-hero-copy .pa-brand-sigil {
        margin-left: 0;
    }

    .pa-hero-pill-row {
        justify-content: flex-start;
    }
}

@media (max-width: 991px) {
    .pa-hero-grid {
        grid-template-columns: 1fr;
    }

    .pa-hero-oracle {
        min-height: 320px;
        order: -1;
    }

    .pa-oracle-card {
        width: min(220px, 64vw);
    }

    .pa-oracle-card-main strong {
        font-size: 1.7rem;
    }

    .pa-stage.pa-home-premium::after {
        letter-spacing: .22em;
    }
}

@media (max-width: 575px) {
    .pa-stage.pa-home-premium {
        padding-top: 26px;
    }

    .pa-hero-oracle {
        min-height: 260px;
    }

    .pa-oracle-card-back {
        transform: translateX(-54px) rotate(-13deg) scale(.78);
    }

    .pa-oracle-moon {
        right: 36px;
    }

    .pa-hero-title {
        font-size: clamp(2.65rem, 15vw, 4rem);
    }
}


/* Iconos dorados Portal Arcano */
.icon-gold,
.emoji-dorado{
    filter: invert(76%) sepia(44%) saturate(1167%) hue-rotate(359deg)
            brightness(95%) contrast(92%);
    transition: all .25s ease;
}

/* Hover */
.icon-gold:hover,
.emoji-dorado:hover{
    filter: invert(82%) sepia(58%) saturate(1400%) hue-rotate(358deg)
            brightness(104%) contrast(98%);
    transform: scale(1.08);
}

/* ==========================================================
   Portal Arcano 4.0 - Sprint 1: Entrada al Portal
   Ajustes visuales compatibles con la estructura pública actual.
   ========================================================== */
:root {
    --pa-night: #070B1D;
    --pa-deep-blue: #0B1028;
    --pa-cosmic: #11183A;
    --pa-gold-bright: #E7C76F;
    --pa-gold-dark: #8A6A18;
    --pa-cream: #FFF7DD;
    --pa-glass: rgba(11, 16, 40, .78);
    --pa-glass-soft: rgba(255, 255, 255, .08);
    --pa-border-gold: rgba(231, 199, 111, .28);
    --pa-text-soft: rgba(255, 247, 221, .78);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at 15% 8%, rgba(231, 199, 111, .16), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(104, 77, 255, .16), transparent 26%),
        linear-gradient(180deg, var(--pa-night), var(--pa-deep-blue) 48%, #060817);
    color: var(--pa-cream);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.62) 0 1px, transparent 1.5px),
        radial-gradient(circle, rgba(231,199,111,.42) 0 1px, transparent 1.5px);
    background-size: 120px 120px, 180px 180px;
    background-position: 12px 20px, 70px 95px;
    opacity: .18;
}

.pa-public-navbar {
    background: rgba(7, 11, 29, .86);
    border-bottom: 1px solid var(--pa-border-gold);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .28);
}

.pa-navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    color: var(--pa-cream) !important;
    font-family: "Cormorant Garamond", serif;
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.pa-navbar-logo,
.pa-footer-logo {
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 999px;
    filter: drop-shadow(0 0 16px rgba(231, 199, 111, .26));
}

.pa-public-navbar .nav-link {
    color: rgba(255, 247, 221, .72);
    font-weight: 700;
    border-radius: 999px;
    padding: .55rem .9rem;
}

.pa-public-navbar .nav-link:hover,
.pa-public-navbar .nav-link.active {
    color: var(--pa-gold-bright);
    background: rgba(231, 199, 111, .10);
}

.pa-navbar-toggler {
    border-color: var(--pa-border-gold);
    background: rgba(255, 255, 255, .06);
}

.pa-public-navbar .navbar-toggler-icon {
    filter: invert(94%) sepia(25%) saturate(922%) hue-rotate(349deg) brightness(103%) contrast(98%);
}

.pa-public-navbar .orion-search-input {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(231, 199, 111, .22);
    color: var(--pa-cream);
}

.pa-public-navbar .orion-search-input::placeholder {
    color: rgba(255, 247, 221, .55);
}

.pa-navbar-cta {
    min-height: 46px;
    padding-inline: 1.2rem;
    width: auto;
}

.pa-stage {
    background:
        radial-gradient(circle at 50% 0%, rgba(231, 199, 111, .18), transparent 34%),
        radial-gradient(circle at 20% 25%, rgba(54, 66, 150, .22), transparent 36%),
        linear-gradient(180deg, rgba(7,11,29,.94), rgba(12,17,43,.96));
}

.pa-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 49.8%, rgba(231,199,111,.08) 50%, transparent 50.2%),
        linear-gradient(0deg, transparent 49.8%, rgba(231,199,111,.05) 50%, transparent 50.2%);
    background-size: 84px 84px;
    opacity: .16;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.pa-home-main,
.pa-panel,
.pa-result,
.studio-panel,
.pa-question-box {
    background: linear-gradient(180deg, rgba(16, 23, 55, .84), rgba(7, 11, 29, .88));
    border: 1px solid var(--pa-border-gold);
    color: var(--pa-cream);
    box-shadow: 0 30px 100px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(14px);
}

.pa-title,
.pa-heading,
.pa-home-main h1,
.pa-home-main h2,
.pa-panel h2,
.pa-result h2,
.pa-result h3,
.studio-panel h2,
.studio-panel h3 {
    color: var(--pa-cream);
    text-shadow: 0 0 28px rgba(231, 199, 111, .14);
}

.pa-kicker,
.metric-label {
    color: var(--pa-gold-bright) !important;
}

.pa-subtitle,
.pa-disclaimer,
.pa-question-preview,
.pa-card-summary,
.pa-integrated-reading p,
.pa-reading-insights p,
.text-muted {
    color: var(--pa-text-soft) !important;
}

.pa-brand-sigil {
    max-width: 148px;
    margin: 0 auto 1.5rem;
    padding: .75rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(231,199,111,.16), rgba(255,255,255,.04));
    border: 1px solid var(--pa-border-gold);
    box-shadow: 0 0 60px rgba(231, 199, 111, .18);
}

.pa-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
}

.pa-home-wide {
    max-width: 1180px;
    padding: clamp(1.5rem, 4vw, 4rem);
    border-radius: 38px;
}

.pa-hero-title {
    max-width: 720px;
    margin-left: 0;
    font-size: clamp(3.2rem, 7.5vw, 6.4rem);
}

.pa-hero-subtitle {
    max-width: 620px;
    margin-left: 0;
}

.pa-hero-pill-row,
.pa-suggestion-chips,
.pa-home-actions,
.pa-post-reading-actions,
.pa-monetization-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.pa-hero-pill-row span,
.pa-suggestion-chips button,
.pa-post-reading-actions a,
.pa-post-reading-actions button,
.pa-monetization-actions a,
.pa-monetization-actions button {
    border: 1px solid rgba(231, 199, 111, .28);
    background: rgba(231, 199, 111, .08);
    color: var(--pa-cream);
    border-radius: 999px;
    padding: .65rem 1rem;
    font-weight: 800;
    text-decoration: none;
}

.pa-suggestion-chips button:hover,
.pa-post-reading-actions a:hover,
.pa-post-reading-actions button:hover,
.pa-monetization-actions a:hover,
.pa-monetization-actions button:hover {
    background: rgba(231, 199, 111, .16);
    color: var(--pa-gold-bright);
}

.pa-input {
    background: rgba(255, 255, 255, .08) !important;
    color: var(--pa-cream);
    border: 1px solid rgba(231, 199, 111, .16);
    box-shadow: inset 0 8px 24px rgba(0,0,0,.16);
}

.pa-input::placeholder {
    color: rgba(255, 247, 221, .52);
}

.pa-btn-primary,
.pa-btn-gold,
.pa-btn-secondary {
    background: linear-gradient(135deg, var(--pa-gold-bright), var(--pa-gold), var(--pa-gold-dark));
    color: #111827 !important;
    box-shadow: 0 20px 44px rgba(201, 162, 39, .22);
}

.pa-btn-ghost {
    border: 1px solid var(--pa-border-gold) !important;
    background: rgba(255, 255, 255, .06) !important;
    color: var(--pa-cream) !important;
}

.pa-hero-oracle {
    position: relative;
    min-height: 430px;
    display: grid;
    place-items: center;
}

.pa-oracle-card {
    position: absolute;
    width: min(260px, 72vw);
    min-height: 370px;
    border-radius: 28px;
    border: 1px solid rgba(231, 199, 111, .42);
    background:
        linear-gradient(180deg, rgba(231,199,111,.12), rgba(255,255,255,.02)),
        radial-gradient(circle at 50% 25%, rgba(231,199,111,.22), transparent 32%),
        #0B1028;
    box-shadow: 0 32px 100px rgba(0,0,0,.55), inset 0 0 0 8px rgba(231,199,111,.06);
}

.pa-oracle-card::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(231, 199, 111, .28);
    border-radius: 22px;
}

.pa-oracle-card-back {
    transform: rotate(-10deg) translate(-54px, 22px);
    opacity: .58;
}

.pa-oracle-card-main {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 44px 28px;
    text-align: center;
    z-index: 2;
}

.pa-oracle-card-main span,
.pa-oracle-card-main em {
    color: var(--pa-gold-bright);
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-size: .72rem;
    font-style: normal;
}

.pa-oracle-card-main strong {
    font-family: "Cormorant Garamond", serif;
    color: var(--pa-cream);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: .92;
}

.pa-oracle-moon {
    position: absolute;
    width: 112px;
    height: 112px;
    right: 10%;
    top: 10%;
    border-radius: 999px;
    background: radial-gradient(circle at 32% 28%, #fff, #F5E9B0 38%, #C9A227 62%, transparent 65%);
    filter: blur(.1px) drop-shadow(0 0 42px rgba(231,199,111,.36));
    opacity: .9;
}

.pa-spread-card,
.pa-reading-insights article,
.pa-integrated-reading,
.pa-monetization-panel,
.pa-orion-signature,
.pa-arcane-card .pa-arcane-frame,
.pa-modal-card {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
    border: 1px solid rgba(231, 199, 111, .24);
    color: var(--pa-cream);
}

.pa-spread-card:hover,
.pa-spread-card.active {
    border-color: rgba(231, 199, 111, .72);
    box-shadow: 0 24px 60px rgba(201, 162, 39, .14);
    transform: translateY(-4px);
}

.pa-spread-card span,
.pa-insight-icon,
.pa-orion-mark,
.pa-tarot-symbol,
.pa-arcane-symbol {
    color: var(--pa-gold-bright) !important;
}

.pa-deck-card,
.pa-arcane-frame {
    background:
        radial-gradient(circle at 50% 20%, rgba(231,199,111,.20), transparent 32%),
        linear-gradient(180deg, #121A3E, #070B1D) !important;
    border-color: rgba(231, 199, 111, .42) !important;
}

.pa-public-footer {
    background: linear-gradient(180deg, rgba(7,11,29,.96), #040611);
    border-top: 1px solid var(--pa-border-gold);
    color: var(--pa-text-soft);
}

.pa-public-footer h2,
.pa-public-footer h3 {
    color: var(--pa-cream);
}

.pa-public-footer a {
    color: var(--pa-gold-bright);
    text-decoration: none;
}

.pa-public-footer a:hover {
    text-decoration: underline;
}

@media (max-width: 991.98px) {
    .pa-hero-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .pa-hero-title,
    .pa-hero-subtitle {
        margin-left: auto;
    }

    .pa-hero-pill-row,
    .pa-home-actions,
    .pa-suggestion-chips {
        justify-content: center;
    }

    .pa-hero-oracle {
        min-height: 360px;
    }
}

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

    .pa-home-wide {
        padding: 1.25rem;
    }

    .pa-oracle-card {
        width: min(230px, 80vw);
        min-height: 320px;
    }
}

/* Sprint 2.4 - Pulido de lectura, legibilidad y ritual ORION */
.pa-reading-meta div {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.pa-reading-meta div span {
    margin-bottom: 4px;
}

.pa-reading-meta div strong {
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #6B7280;
}

.pa-reading-meta div small {
    font-size: 1.04rem;
    color: #111827;
    font-weight: 900;
}

.pa-read-more {
    cursor: pointer;
}

.pa-card-expedition-link {
    margin-top: 10px;
    background: transparent;
    color: #8A6A10;
    border: 1px solid rgba(201, 162, 39, .45);
}

.pa-thinking {
    min-height: 260px;
}

.pa-orion-pulse {
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(201,162,39,.34), rgba(201,162,39,.10) 54%, transparent 70%);
    border: 1px solid rgba(201,162,39,.48);
    color: #F7D774;
    font-size: 2.4rem;
    box-shadow: 0 0 52px rgba(201,162,39,.28);
    animation: paOrionPulse 1.8s ease-in-out infinite;
}

@keyframes paOrionPulse {
    0%, 100% {
        transform: scale(1);
        opacity: .82;
    }
    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

.pa-spinner {
    display: none;
}

.pa-thinking-text {
    max-width: 520px;
    text-align: center;
    color: #FFF7DD;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.6rem, 4vw, 2.6rem);
    font-weight: 700;
    line-height: 1.15;
}

.pa-integrated-reading {
    background:
        radial-gradient(circle at 10% 0%, rgba(201,162,39,.22), transparent 36%),
        linear-gradient(180deg, #111827 0%, #0B1020 100%);
    border: 1px solid rgba(201,162,39,.28);
}

.pa-integrated-reading h3 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1;
}

.pa-integrated-reading .pa-interpretation-text p,
.pa-integrated-reading .pa-interpretation-text li {
    color: rgba(255,247,221,.88);
    font-size: 1.04rem;
}

.pa-monetization-panel h3,
.pa-orion-signature h3 {
    text-wrap: balance;
}

.pa-post-reading-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.pa-post-reading-actions a,
.pa-post-reading-actions button {
    border: 1px solid rgba(201,162,39,.38);
    border-radius: 999px;
    padding: 12px 18px;
    background: #111827;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.pa-post-reading-actions a:hover,
.pa-post-reading-actions button:hover {
    background: #C9A227;
    color: #111827;
}

.pa-modal-overlay {
    background: rgba(4, 7, 18, .96) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.pa-modal-card {
    background:
        radial-gradient(circle at 50% 0%, rgba(201,162,39,.18), transparent 34%),
        linear-gradient(180deg, #111827 0%, #090E1D 100%) !important;
    color: #FFF7DD;
    border: 1px solid rgba(201,162,39,.38);
    box-shadow: 0 50px 140px rgba(0,0,0,.62);
}

.pa-modal-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(201,162,39,.18);
    border-radius: 24px;
    pointer-events: none;
}

.pa-modal-card h2,
.pa-modal-card h4 {
    color: #FFF7DD;
}

.pa-modal-card h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    line-height: 1;
}

.pa-modal-card h4 {
    padding-top: 18px;
    border-top: 1px solid rgba(201,162,39,.24);
    color: #F7D774;
}

.pa-modal-card p,
.pa-modal-card li,
.pa-modal-card .pa-interpretation-text p,
.pa-modal-card .pa-interpretation-text li {
    color: rgba(255,247,221,.86) !important;
    font-size: 1.02rem;
    line-height: 1.85;
}

.pa-modal-card .pa-position,
.pa-modal-card .pa-orientation {
    color: #F7D774 !important;
}

.pa-modal-card .pa-tarot-symbol {
    background:
        radial-gradient(circle, rgba(201,162,39,.22), transparent 62%),
        rgba(255,255,255,.06);
    color: #F7D774;
    border: 1px solid rgba(201,162,39,.30);
}

.pa-modal-close {
    background: rgba(255,255,255,.10) !important;
    color: #FFF7DD;
    border: 1px solid rgba(201,162,39,.24);
    z-index: 2;
}

@media (max-width: 576px) {
    .pa-modal-card {
        padding: 26px 20px;
        border-radius: 24px;
    }

    .pa-post-reading-actions {
        flex-direction: column;
    }
}

/* ==========================================================
   SPRINT 2.5 - MODAL PREMIUM Y MICROTEXTOS DE LECTURA
   Ajuste regresivo: solo mejora presentación, legibilidad y UX.
========================================================== */

body.pa-modal-open {
    overflow: hidden;
}

.pa-card-expedition-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: rgba(201, 162, 39, .12);
    color: #7A5B0D;
    border: 1px solid rgba(201, 162, 39, .28);
}

.pa-card-expedition-link:hover,
.pa-card-expedition-link:focus {
    color: #4A3606;
    background: rgba(201, 162, 39, .2);
}

.pa-modal-overlay {
    background:
        radial-gradient(circle at 50% 0%, rgba(201, 162, 39, .22), transparent 36%),
        rgba(3, 7, 18, .96) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.pa-modal-card {
    width: min(880px, 100%) !important;
    background:
        linear-gradient(145deg, rgba(11, 16, 40, .98), rgba(5, 8, 22, .99)) !important;
    color: #FFF7DD !important;
    border: 1px solid rgba(201, 162, 39, .38) !important;
    box-shadow:
        0 46px 130px rgba(0, 0, 0, .70),
        inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

.pa-modal-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: 32px;
    background:
        radial-gradient(circle at 18% 0%, rgba(201, 162, 39, .16), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 24%);
}

.pa-modal-card h2,
.pa-modal-card h4,
.pa-modal-card strong {
    color: #FFF7DD !important;
}

.pa-modal-card h2 {
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: .98;
    margin: 0 0 8px;
}

.pa-modal-card h4 {
    color: #F4D47C !important;
    letter-spacing: .02em;
}

.pa-modal-card p,
.pa-modal-card li,
.pa-modal-card .pa-interpretation-text p {
    color: rgba(255, 247, 221, .86) !important;
    font-size: 1rem;
}

.pa-modal-card .pa-interpretation-text ul {
    margin: 14px 0 0;
    padding-left: 1.2rem;
}

.pa-modal-card .pa-interpretation-text li + li {
    margin-top: 8px;
}

.pa-modal-close {
    background: rgba(255, 255, 255, .10) !important;
    color: #FFF7DD !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    z-index: 2;
}

.pa-modal-close:hover,
.pa-modal-close:focus {
    background: rgba(201, 162, 39, .24) !important;
    outline: 2px solid rgba(244, 212, 124, .45);
}

.pa-modal-hero {
    position: relative;
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 22px;
    align-items: center;
    margin-bottom: 20px;
    z-index: 1;
}

.pa-modal-hero .pa-tarot-symbol {
    width: 96px;
    height: 126px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    color: #F4D47C;
    font-family: var(--pa-serif);
    font-size: 3rem;
    border: 1px solid rgba(201, 162, 39, .42);
    background:
        radial-gradient(circle at 50% 0%, rgba(201, 162, 39, .28), transparent 58%),
        rgba(255, 255, 255, .05);
}

.pa-modal-hero .pa-position {
    margin: 0 0 8px;
    color: #F4D47C !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
}

.pa-modal-hero .pa-orientation {
    color: rgba(255, 247, 221, .68) !important;
    margin-bottom: 0;
}

.pa-modal-intro {
    position: relative;
    z-index: 1;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .10);
}

.pa-modal-section {
    position: relative;
    z-index: 1;
    padding-top: 10px;
}

.pa-modal-section + .pa-modal-section {
    margin-top: 20px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.pa-modal-advice {
    padding: 20px;
    border: 1px solid rgba(201, 162, 39, .22) !important;
    border-radius: 22px;
    background: rgba(201, 162, 39, .08);
}

.pa-keyword-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.pa-keyword-chips span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    color: rgba(255, 247, 221, .88);
    font-size: .86rem;
    font-weight: 700;
}

.pa-symbolic-file blockquote {
    margin: 18px 0 0;
    padding: 18px 20px;
    border-left: 3px solid #C9A227;
    color: #FFF7DD;
    background: rgba(255, 255, 255, .06);
    border-radius: 0 18px 18px 0;
    font-family: var(--pa-serif);
    font-size: 1.12rem;
    line-height: 1.7;
}

.pa-modal-actions {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.pa-modal-actions a,
.pa-modal-actions button {
    border: 0;
    border-radius: 999px;
    padding: 12px 18px;
    font-weight: 900;
    text-decoration: none;
}

.pa-modal-actions a {
    color: #111827;
    background: linear-gradient(135deg, #F4D47C, #C9A227);
}

.pa-modal-actions button {
    color: #FFF7DD;
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .14);
}

@media (max-width: 640px) {
    .pa-modal-card {
        padding: 24px !important;
        border-radius: 24px !important;
    }

    .pa-modal-card::before {
        border-radius: 24px;
    }

    .pa-modal-hero {
        grid-template-columns: 1fr;
    }

    .pa-modal-hero .pa-tarot-symbol {
        width: 78px;
        height: 104px;
        font-size: 2.35rem;
    }
}

/* ==========================================================
   SPRINT 2.6 - LEGIBILIDAD DEFINITIVA Y COPY UX
   Ajuste regresivo: no cambia rutas ni contratos JS/API.
   Refuerza el modal para que no se vea contenido de fondo.
========================================================== */

.pa-modal-overlay {
    background: #030712 !important;
    background-image:
        radial-gradient(circle at 50% -10%, rgba(201, 162, 39, .20), transparent 34%),
        linear-gradient(180deg, #030712 0%, #020617 100%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 99999 !important;
}

.pa-modal-card {
    background: #080D1F !important;
    background-image:
        radial-gradient(circle at 18% 0%, rgba(201, 162, 39, .15), transparent 28%),
        linear-gradient(180deg, #101735 0%, #070B1A 100%) !important;
    color: #FFF8E1 !important;
    opacity: 1 !important;
    border-color: rgba(244, 212, 124, .48) !important;
    box-shadow: 0 42px 140px rgba(0, 0, 0, .88) !important;
}

.pa-modal-card p,
.pa-modal-card li,
.pa-modal-card .pa-interpretation-text p,
.pa-modal-card .pa-interpretation-text li {
    color: rgba(255, 248, 225, .94) !important;
    line-height: 1.9 !important;
}

.pa-modal-intro,
.pa-modal-section,
.pa-modal-actions,
.pa-keyword-chips,
.pa-symbolic-file blockquote {
    position: relative;
    z-index: 2;
}

.pa-modal-intro {
    background: rgba(255, 248, 225, .08) !important;
    border-color: rgba(244, 212, 124, .18) !important;
    color: rgba(255, 248, 225, .96) !important;
}

.pa-modal-advice {
    background: rgba(201, 162, 39, .12) !important;
    border-color: rgba(244, 212, 124, .30) !important;
}

.pa-modal-close {
    box-shadow: 0 10px 30px rgba(0, 0, 0, .42) !important;
}

.pa-read-more,
.pa-card-expedition-link,
.pa-post-reading-actions a,
.pa-post-reading-actions button,
.pa-monetization-actions button,
.pa-monetization-actions a {
    letter-spacing: .01em;
}

/* ==========================================================
   ATLAS v1.0 · EXPEDIENTE MAESTRO ORION
   Plantilla editorial para /carta/{slug}.
   Selectores encapsulados para no afectar otras páginas.
========================================================== */
.pa-dossier-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(86, 100, 171, .13), transparent 28%),
        radial-gradient(circle at 88% 16%, rgba(59, 99, 155, .10), transparent 31%),
        linear-gradient(180deg, #09152c 0%, #071021 48%, #050a16 100%);
}

.pa-dossier {
    --pa-arcano-rgb: 217, 230, 255;
    --pa-arcano-color: #d9e6ff;
    color: #f8f2df;
}

.pa-dossier a {
    text-underline-offset: .2em;
}

.pa-dossier-cover {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: min(790px, calc(100vh - 72px));
    display: grid;
    align-items: center;
    padding: clamp(56px, 8vw, 108px) 0;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.pa-dossier-cover::before,
.pa-dossier-cover::after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;
}

.pa-dossier-cover::before {
    width: min(760px, 78vw);
    aspect-ratio: 1;
    right: -10%;
    top: 2%;
    background:
        radial-gradient(
            circle,
            rgba(var(--pa-arcano-rgb), .21),
            rgba(var(--pa-arcano-rgb), .055) 44%,
            transparent 70%
        );
    filter: blur(22px);
    animation: pa-dossier-aura 8s ease-in-out infinite;
}

.pa-dossier-cover::after {
    width: 520px;
    aspect-ratio: 1;
    left: -270px;
    bottom: -270px;
    border: 1px solid rgba(226, 194, 105, .08);
    box-shadow:
        0 0 0 70px rgba(226, 194, 105, .025),
        0 0 0 140px rgba(226, 194, 105, .015);
}

.pa-dossier-cover-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
    align-items: center;
    gap: clamp(42px, 7vw, 92px);
}

.pa-dossier-kicker,
.pa-dossier-chapter-number {
    margin: 0 0 12px;
    color: #e2c269;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pa-dossier-cover h1 {
    margin: 0;
    color: #fff9e9;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(4.2rem, 9vw, 8rem);
    font-weight: 700;
    line-height: .86;
    letter-spacing: -.045em;
    text-transform: uppercase;
}

.pa-dossier-meta {
    margin: 22px 0 0;
    color: rgba(248, 242, 223, .67);
    font-size: .96rem;
    letter-spacing: .055em;
}

.pa-dossier-quote {
    max-width: 680px;
    margin: 38px 0 0;
    padding: 24px 0 24px 28px;
    border-left: 1px solid rgba(226, 194, 105, .72);
    color: rgba(255, 250, 235, .91);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.35rem, 2.7vw, 2rem);
    font-weight: 600;
    line-height: 1.42;
}

.pa-dossier-status {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.pa-dossier-status span {
    padding: 7px 12px;
    border: 1px solid rgba(226, 194, 105, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .025);
    color: rgba(248, 242, 223, .68);
    font-size: .8rem;
}

.pa-dossier-card-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 590px;
}

.pa-dossier-orbit {
    position: absolute;
    width: 108%;
    aspect-ratio: 1;
    border: 1px solid rgba(var(--pa-arcano-rgb), .22);
    border-radius: 50%;
    transform: rotate(-9deg);
}

.pa-dossier-orbit::before,
.pa-dossier-orbit::after {
    content: "";
    position: absolute;
    inset: 13%;
    border: 1px solid rgba(226, 194, 105, .08);
    transform: rotate(45deg);
}

.pa-dossier-orbit::after {
    inset: 29%;
    border-radius: 50%;
    transform: none;
}

.pa-dossier-card-image,
.pa-dossier-card-fallback {
    position: relative;
    z-index: 1;
    width: min(410px, 86vw);
    filter: drop-shadow(0 34px 52px rgba(0, 0, 0, .48));
    animation: pa-dossier-float 6.5s ease-in-out infinite;
}

.pa-dossier-card-image {
    display: block;
    height: auto;
}

.pa-dossier-card-fallback {
    aspect-ratio: .62;
    display: grid;
    place-content: center;
    gap: 15px;
    padding: 38px;
    border: 1px solid rgba(226, 194, 105, .45);
    border-radius: 25px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 28%, rgba(var(--pa-arcano-rgb), .18), transparent 34%),
        linear-gradient(155deg, rgba(25, 38, 73, .98), rgba(7, 14, 30, .98));
    box-shadow:
        inset 0 0 0 9px rgba(226, 194, 105, .035),
        inset 0 0 0 10px rgba(226, 194, 105, .12);
}

.pa-dossier-card-fallback span {
    color: var(--pa-arcano-color);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 4.6rem;
    line-height: 1;
}

.pa-dossier-card-fallback strong {
    color: #fff9e9;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
    text-transform: uppercase;
}

.pa-dossier-card-fallback small {
    color: rgba(248, 242, 223, .62);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pa-dossier-index {
    position: sticky;
    top: 0;
    z-index: 1020;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    background: rgba(5, 10, 22, .89);
    backdrop-filter: blur(14px) saturate(1.08);
    -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

.pa-dossier-index-inner {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-block: 11px;
    scrollbar-width: none;
}

.pa-dossier-index-inner::-webkit-scrollbar {
    display: none;
}

.pa-dossier-index a {
    flex: 0 0 auto;
    padding: 8px 13px;
    border-radius: 999px;
    color: rgba(248, 242, 223, .60);
    font-size: .86rem;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.pa-dossier-index a:hover,
.pa-dossier-index a:focus-visible,
.pa-dossier-index a.is-active {
    color: #f3dda0;
    background: rgba(226, 194, 105, .09);
    outline: none;
}

.pa-dossier-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: clamp(36px, 5vw, 70px);
    padding-top: clamp(58px, 8vw, 92px);
    padding-bottom: 100px;
}

.pa-dossier-document {
    min-width: 0;
}

.pa-dossier-chapter {
    scroll-margin-top: 86px;
    padding-bottom: clamp(54px, 7vw, 84px);
    margin-bottom: clamp(54px, 7vw, 84px);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.pa-dossier-chapter h2,
.pa-dossier-final-cta h2 {
    max-width: 830px;
    margin: 8px 0 20px;
    color: #fff8e7;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.1rem, 4.5vw, 3.7rem);
    font-weight: 700;
    line-height: 1.04;
}

.pa-dossier-intro,
.pa-dossier-lead {
    max-width: 830px;
    color: rgba(248, 242, 223, .75);
    font-size: 1.04rem;
    line-height: 1.78;
}

.pa-editorial-copy p,
.pa-editorial-copy li {
    color: rgba(248, 242, 223, .78);
    line-height: 1.82;
}

.pa-editorial-copy p:last-child,
.pa-editorial-copy ul:last-child {
    margin-bottom: 0;
}

.pa-editorial-copy ul {
    padding-left: 1.25rem;
}

.pa-dossier-orion-note {
    position: relative;
    overflow: hidden;
    margin-top: 34px;
    padding: clamp(25px, 4vw, 38px);
    border: 1px solid rgba(226, 194, 105, .20);
    border-radius: 26px;
    background:
        radial-gradient(circle at 90% 10%, rgba(226, 194, 105, .09), transparent 30%),
        linear-gradient(145deg, rgba(18, 31, 62, .94), rgba(8, 15, 33, .94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.pa-dossier-orion-note > span {
    display: block;
    margin-bottom: 13px;
    color: #e2c269;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pa-dossier-action-grid,
.pa-correspondence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}

.pa-dossier-action-grid article {
    min-height: 165px;
    padding: 23px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 20px;
    background: rgba(255, 255, 255, .026);
}

.pa-dossier-action-grid strong {
    display: block;
    margin-bottom: 8px;
    color: #fff8e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.35rem;
}

.pa-dossier-action-grid span {
    color: rgba(248, 242, 223, .66);
    line-height: 1.65;
}

.pa-correspondence-card {
    display: grid;
    justify-items: center;
    min-height: 172px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 20px;
    background: rgba(255, 255, 255, .026);
    text-align: center;
    text-decoration: none;
    transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.pa-correspondence-card:hover,
.pa-correspondence-card:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(226, 194, 105, .28);
    background: rgba(226, 194, 105, .055);
    outline: none;
}

.pa-correspondence-glyph {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 13px;
    border: 1px solid rgba(226, 194, 105, .25);
    border-radius: 50%;
    color: #eed88d;
    background: rgba(226, 194, 105, .05);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.3rem;
}

.pa-correspondence-card small {
    color: rgba(248, 242, 223, .52);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pa-correspondence-card strong {
    margin-top: 5px;
    color: #fff8e7;
    font-size: 1rem;
}

.pa-dossier-accordion {
    display: grid;
    gap: 11px;
    margin-top: 28px;
}

.pa-dossier-accordion .accordion-item,
.pa-dossier .orion-faq .accordion-item {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 17px;
    background: rgba(255, 255, 255, .025);
}

.pa-dossier-accordion .accordion-button,
.pa-dossier .orion-faq .accordion-button {
    padding: 20px 22px;
    color: #fff8e7;
    background: transparent;
    font-weight: 800;
    box-shadow: none;
}

.pa-dossier-accordion .accordion-button:not(.collapsed),
.pa-dossier .orion-faq .accordion-button:not(.collapsed) {
    color: #f0d98f;
    background: rgba(226, 194, 105, .05);
}

.pa-dossier-accordion .accordion-button::after,
.pa-dossier .orion-faq .accordion-button::after {
    filter: invert(88%) sepia(27%) saturate(665%);
}

.pa-dossier-accordion .accordion-body,
.pa-dossier .orion-faq .accordion-body {
    padding: 6px 22px 24px;
    color: rgba(248, 242, 223, .72);
}

.pa-knowledge-map {
    position: relative;
    min-height: 430px;
    margin-top: 30px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .075);
    border-radius: 27px;
    background:
        radial-gradient(circle at center, rgba(var(--pa-arcano-rgb), .11), transparent 42%),
        rgba(255, 255, 255, .018);
}

.pa-knowledge-line {
    position: absolute;
    pointer-events: none;
}

.pa-knowledge-line-h {
    left: 18%;
    right: 18%;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(226, 194, 105, .44), transparent);
}

.pa-knowledge-line-v {
    top: 18%;
    bottom: 18%;
    left: 50%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(226, 194, 105, .44), transparent);
}

.pa-knowledge-node {
    position: absolute;
    z-index: 1;
    display: grid;
    place-items: center;
    min-width: 112px;
    min-height: 56px;
    padding: 10px 14px;
    border: 1px solid rgba(226, 194, 105, .22);
    border-radius: 999px;
    background: rgba(7, 14, 31, .95);
    color: rgba(248, 242, 223, .78);
    text-align: center;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.pa-knowledge-node:hover,
.pa-knowledge-node:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(226, 194, 105, .50);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
    outline: none;
}

.pa-knowledge-node small {
    color: rgba(248, 242, 223, .45);
    font-size: .65rem;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.pa-knowledge-node-center {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    min-width: 150px;
    min-height: 78px;
    color: #0b1327;
    background: linear-gradient(105deg, #f0dc98, #cda73b);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.25rem;
}

.pa-knowledge-node-center small {
    color: rgba(11, 19, 39, .63);
}

.pa-knowledge-node-top { left: 50%; top: 10%; transform: translateX(-50%); }
.pa-knowledge-node-left { left: 7%; top: 50%; transform: translateY(-50%); }
.pa-knowledge-node-right { right: 7%; top: 50%; transform: translateY(-50%); }
.pa-knowledge-node-bottom { left: 50%; bottom: 10%; transform: translateX(-50%); }

.pa-dossier-explore .orion-continue-section {
    margin-top: 24px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pa-dossier-explore .orion-continue-section > .card-body {
    padding: 0 !important;
}

.pa-dossier-explore .orion-section-title {
    display: none;
}

.pa-dossier-explore .orion-continue-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pa-dossier-explore .orion-continue-item {
    min-height: 100px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .027);
}

.pa-dossier .orion-faq-section {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pa-dossier .orion-faq-section > .card-body {
    padding: 0 !important;
}

.pa-dossier .orion-faq-section .orion-section-title {
    display: none;
}

.pa-dossier-final-cta {
    padding: clamp(30px, 5vw, 54px);
    border: 1px solid rgba(226, 194, 105, .20);
    border-radius: 28px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(226, 194, 105, .11), transparent 38%),
        linear-gradient(180deg, rgba(18, 28, 58, .96), rgba(7, 14, 31, .96));
}

.pa-dossier-final-cta h2 {
    margin-inline: auto;
}

.pa-dossier-final-cta > p:not(.pa-dossier-kicker) {
    max-width: 680px;
    margin: 0 auto 24px;
    color: rgba(248, 242, 223, .69);
}

.pa-dossier-pagination {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.pa-dossier-pagination > div:last-child {
    text-align: right;
}

.pa-dossier-pagination small {
    display: block;
    color: rgba(248, 242, 223, .43);
    font-size: .69rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pa-dossier-pagination a {
    color: #f1d98d;
    font-weight: 800;
    text-decoration: none;
}

.pa-dossier-sidebar {
    position: sticky;
    top: 88px;
    align-self: start;
}

.pa-dossier-sidebar-card {
    overflow: hidden;
    border: 1px solid rgba(226, 194, 105, .21);
    border-radius: 25px;
    background: linear-gradient(155deg, rgba(18, 31, 62, .95), rgba(7, 14, 31, .95));
    box-shadow: 0 30px 74px rgba(0, 0, 0, .26);
}

.pa-dossier-sidebar-card > img {
    display: block;
    width: 100%;
    height: auto;
    background: rgba(255, 255, 255, .018);
}

.pa-dossier-sidebar-symbol {
    display: grid;
    place-items: center;
    min-height: 240px;
    color: var(--pa-arcano-color);
    background:
        radial-gradient(circle, rgba(var(--pa-arcano-rgb), .16), transparent 56%),
        rgba(255, 255, 255, .018);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 5rem;
}

.pa-dossier-sidebar-body {
    padding: 24px;
}

.pa-dossier-sidebar-body h2 {
    margin: 0;
    color: #fff8e7;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 2rem;
}

.pa-dossier-sidebar-body > p:not(.pa-dossier-kicker) {
    color: rgba(248, 242, 223, .58);
    font-size: .88rem;
}

.pa-dossier-sidebar-body dl {
    display: grid;
    gap: 9px;
    margin: 22px 0;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
    border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.pa-dossier-sidebar-body dl > div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.pa-dossier-sidebar-body dt {
    color: rgba(248, 242, 223, .50);
    font-weight: 500;
}

.pa-dossier-sidebar-body dd {
    margin: 0;
    color: #fff8e7;
    font-weight: 800;
    text-align: right;
}

.pa-dossier-concepts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 20px;
}

.pa-dossier-concepts a {
    padding: 6px 9px;
    border: 1px solid rgba(226, 194, 105, .16);
    border-radius: 999px;
    color: rgba(248, 242, 223, .66);
    background: rgba(226, 194, 105, .045);
    font-size: .76rem;
    text-decoration: none;
}

@keyframes pa-dossier-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}

@keyframes pa-dossier-aura {
    0%, 100% { transform: scale(1); opacity: .72; }
    50% { transform: scale(1.045); opacity: 1; }
}

@media (max-width: 991.98px) {
    .pa-dossier-cover-grid,
    .pa-dossier-layout {
        grid-template-columns: 1fr;
    }

    .pa-dossier-cover-copy {
        text-align: center;
    }

    .pa-dossier-quote {
        margin-inline: auto;
        text-align: left;
    }

    .pa-dossier-status {
        justify-content: center;
    }

    .pa-dossier-card-stage {
        min-height: 520px;
    }

    .pa-dossier-sidebar {
        position: static;
        order: -1;
        width: min(430px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 575.98px) {
    .pa-dossier-cover {
        min-height: auto;
        padding-block: 48px;
    }

    .pa-dossier-cover h1 {
        font-size: clamp(3.4rem, 18vw, 5.2rem);
    }

    .pa-dossier-card-stage {
        min-height: 440px;
    }

    .pa-dossier-action-grid,
    .pa-correspondence-grid,
    .pa-dossier-explore .orion-continue-grid,
    .pa-dossier-pagination {
        grid-template-columns: 1fr;
    }

    .pa-dossier-action-grid article {
        min-height: 0;
    }

    .pa-dossier-pagination > div:last-child {
        text-align: left;
    }

    .pa-knowledge-map {
        min-height: 540px;
    }

    .pa-knowledge-line-h {
        display: none;
    }

    .pa-knowledge-node-left {
        left: 50%;
        top: 34%;
        transform: translate(-50%, -50%);
    }

    .pa-knowledge-node-right {
        right: auto;
        left: 50%;
        top: 66%;
        transform: translate(-50%, -50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-dossier-cover::before,
    .pa-dossier-card-image,
    .pa-dossier-card-fallback {
        animation: none !important;
    }

    .pa-dossier-index a,
    .pa-correspondence-card,
    .pa-knowledge-node {
        transition: none !important;
    }
}


/* ==========================================================
   ATLAS v1.1 · INTERPRETACIONES POR ÁREA
   - Reutiliza card_meanings y categories existentes.
   - Navegación accesible mediante pestañas y teclado.
========================================================== */
.pa-meaning-tabs {
    margin-top: 2rem;
}

.pa-meaning-tablist {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .65rem;
    padding: .7rem;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, .025);
}

.pa-meaning-tab {
    display: grid;
    place-items: center;
    gap: .35rem;
    min-height: 72px;
    padding: .65rem .5rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    color: rgba(247, 241, 222, .62);
    background: transparent;
    font: inherit;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.pa-meaning-tab > span {
    color: var(--pa-arcano-color);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.25rem;
    line-height: 1;
}

.pa-meaning-tab strong {
    font-size: .79rem;
    letter-spacing: .035em;
}

.pa-meaning-tab:hover,
.pa-meaning-tab:focus-visible,
.pa-meaning-tab.is-active {
    color: #fff9e8;
    border-color: rgba(var(--pa-arcano-rgb), .28);
    background: rgba(var(--pa-arcano-rgb), .085);
    outline: none;
}

.pa-meaning-tab:focus-visible {
    box-shadow: 0 0 0 3px rgba(var(--pa-arcano-rgb), .13);
}

.pa-meaning-tab.is-active {
    transform: translateY(-2px);
}

.pa-meaning-panels {
    margin-top: 1rem;
}

.pa-meaning-panel {
    padding: clamp(1.35rem, 3vw, 2.4rem);
    border: 1px solid rgba(var(--pa-arcano-rgb), .18);
    border-radius: 1.6rem;
    background:
        radial-gradient(circle at 92% 8%, rgba(var(--pa-arcano-rgb), .10), transparent 28%),
        linear-gradient(145deg, rgba(18, 30, 61, .94), rgba(8, 15, 32, .94));
    box-shadow: 0 26px 65px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .035);
    animation: pa-meaning-panel-in .32s ease-out both;
}

.pa-meaning-panel-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.2rem;
}

.pa-meaning-panel-heading p {
    margin: 0 0 .15rem;
    color: var(--pa-arcano-color);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.pa-meaning-panel-heading h3 {
    margin: 0;
    color: #fff9e8;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.1;
}

.pa-meaning-symbol {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(var(--pa-arcano-rgb), .34);
    border-radius: 50%;
    color: var(--pa-arcano-color);
    background: rgba(var(--pa-arcano-rgb), .07);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 1.55rem;
}

.pa-meaning-context {
    margin: 0 0 1.4rem;
    padding: .85rem 1rem;
    border-left: 2px solid rgba(var(--pa-arcano-rgb), .52);
    color: rgba(247, 241, 222, .66);
    background: rgba(255, 255, 255, .022);
}

.pa-meaning-copy {
    max-height: 560px;
    overflow: auto;
    padding-right: .65rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--pa-arcano-rgb), .35) transparent;
}

.pa-meaning-advice {
    margin-top: 1.65rem;
    padding: 1.35rem;
    border: 1px solid rgba(226, 194, 105, .16);
    border-radius: 1.15rem;
    background: rgba(226, 194, 105, .045);
}

.pa-meaning-advice > span {
    display: block;
    margin-bottom: .65rem;
    color: #e2c269;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pa-meaning-disclaimer {
    margin: 1.2rem 0 0;
    color: rgba(247, 241, 222, .52);
    font-size: .82rem;
}

@keyframes pa-meaning-panel-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991.98px) {
    .pa-meaning-tablist {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .pa-meaning-tablist {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .pa-meaning-tablist::-webkit-scrollbar {
        display: none;
    }

    .pa-meaning-tab {
        flex: 0 0 112px;
        scroll-snap-align: start;
    }

    .pa-meaning-panel-heading {
        align-items: flex-start;
    }

    .pa-meaning-symbol {
        width: 48px;
        height: 48px;
    }

    .pa-meaning-copy {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-meaning-panel {
        animation: none !important;
    }

    .pa-meaning-tab {
        transition: none !important;
    }
}

/* ==========================================================
   ATLAS v1.2 · EXPEDIENTE VIVO
   - Apertura cinematográfica y atmósfera por Arcano.
   - Índice con progreso de lectura.
   - Hallazgo de ORION y cierre inteligente de sidebar.
   - Búsquedas relacionadas para navegación semántica.
========================================================== */

.pa-dossier-cover-copy,
.pa-dossier-card-stage {
    animation: pa-dossier-opening .72s cubic-bezier(.22, 1, .36, 1) both;
}

.pa-dossier-card-stage {
    animation-delay: .12s;
}

.pa-dossier-card-image,
.pa-dossier-card-fallback {
    animation: pa-dossier-card-float 6.8s ease-in-out .8s infinite;
}

.pa-dossier-index a {
    position: relative;
    padding-left: 28px;
}

.pa-dossier-index a::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    width: 6px;
    height: 6px;
    border: 1px solid rgba(226, 194, 105, .42);
    border-radius: 50%;
    transform: translateY(-50%);
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.pa-dossier-index a.is-complete::before {
    border-color: rgba(112, 181, 177, .72);
    background: rgba(112, 181, 177, .72);
}

.pa-dossier-index a.is-active::before {
    border-color: var(--pa-arcano-color);
    background: var(--pa-arcano-color);
    box-shadow: 0 0 12px rgba(var(--pa-arcano-rgb), .7);
}

.pa-dossier-finding {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-top: 20px;
    padding: 24px;
    border: 1px solid rgba(var(--pa-arcano-rgb), .24);
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 18%, rgba(var(--pa-arcano-rgb), .11), transparent 30%),
        linear-gradient(145deg, rgba(17, 29, 58, .86), rgba(8, 15, 32, .92));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.pa-dossier-finding-mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(var(--pa-arcano-rgb), .34);
    border-radius: 50%;
    color: var(--pa-arcano-color);
    background: rgba(var(--pa-arcano-rgb), .08);
    box-shadow: 0 0 24px rgba(var(--pa-arcano-rgb), .10);
}

.pa-dossier-finding span,
.pa-dossier-complete span {
    display: block;
    margin-bottom: 7px;
    color: var(--pa-arcano-color);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.pa-dossier-finding p {
    margin: 0;
    color: rgba(248, 242, 223, .82);
    line-height: 1.75;
}

.pa-related-searches {
    margin-top: 30px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 24px;
    background: rgba(255,255,255,.025);
}

.pa-related-searches h3 {
    margin: 0 0 18px;
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

.pa-related-searches-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.pa-related-searches-grid a {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 15px;
    color: rgba(248, 242, 223, .76);
    background: rgba(255,255,255,.025);
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.pa-related-searches-grid a::before {
    content: "?";
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-right: 10px;
    border: 1px solid rgba(var(--pa-arcano-rgb), .22);
    border-radius: 50%;
    color: var(--pa-arcano-color);
    font-size: .78rem;
    font-weight: 900;
}

.pa-related-searches-grid a:hover,
.pa-related-searches-grid a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(var(--pa-arcano-rgb), .30);
    color: #fff9e9;
    background: rgba(var(--pa-arcano-rgb), .06);
    outline: none;
}

.pa-dossier-complete {
    display: none;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(112, 181, 177, .22);
    border-radius: 17px;
    background: rgba(112, 181, 177, .055);
}

.pa-dossier-complete.is-visible {
    display: block;
    animation: pa-dossier-complete-in .42s cubic-bezier(.22, 1, .36, 1) both;
}

.pa-dossier-complete strong {
    display: block;
    color: #f8f2df;
    margin-bottom: 5px;
}

.pa-dossier-complete p {
    margin: 0 0 10px;
    color: rgba(248,242,223,.65);
    font-size: .88rem;
    line-height: 1.55;
}

.pa-dossier-complete a {
    color: #a8d6c9;
    font-size: .88rem;
    font-weight: 800;
    text-decoration: none;
}

.pa-dossier-sidebar-card.is-complete {
    border-color: rgba(112, 181, 177, .36);
    box-shadow:
        0 28px 70px rgba(0,0,0,.25),
        0 0 34px rgba(112,181,177,.08);
}

.pa-knowledge-map {
    transition: border-color .25s ease, box-shadow .25s ease;
}

.pa-knowledge-map:hover {
    border-color: rgba(var(--pa-arcano-rgb), .25);
    box-shadow: 0 0 50px rgba(var(--pa-arcano-rgb), .06);
}

.pa-knowledge-line {
    transition: opacity .25s ease, filter .25s ease;
}

.pa-knowledge-map:hover .pa-knowledge-line {
    opacity: 1;
    filter: drop-shadow(0 0 5px rgba(var(--pa-arcano-rgb), .62));
}

.pa-knowledge-node:not(.pa-knowledge-node-center) {
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.pa-knowledge-node:not(.pa-knowledge-node-center):hover,
.pa-knowledge-node:not(.pa-knowledge-node-center):focus-visible {
    border-color: rgba(var(--pa-arcano-rgb), .42);
    background: rgba(var(--pa-arcano-rgb), .09);
    box-shadow: 0 0 24px rgba(var(--pa-arcano-rgb), .10);
    outline: none;
}

@keyframes pa-dossier-opening {
    from {
        opacity: 0;
        transform: translate3d(0, 24px, 0);
        filter: blur(4px);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

@keyframes pa-dossier-card-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes pa-dossier-complete-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767.98px) {
    .pa-related-searches-grid {
        grid-template-columns: 1fr;
    }

    .pa-dossier-finding {
        grid-template-columns: 1fr;
    }

    .pa-dossier-finding-mark {
        width: 42px;
        height: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-dossier-cover-copy,
    .pa-dossier-card-stage,
    .pa-dossier-card-image,
    .pa-dossier-card-fallback,
    .pa-dossier-complete.is-visible {
        animation: none !important;
    }

    .pa-related-searches-grid a,
    .pa-knowledge-map,
    .pa-knowledge-line,
    .pa-knowledge-node {
        transition: none !important;
    }
}


/* ==========================================================
   ATLAS v1.3 · RELACIONES INVERSAS Y NAVEGACIÓN SEMÁNTICA
========================================================== */
.pa-topic-page {
    --pa-topic-gold: #e2c269;
    --pa-topic-border: rgba(226, 194, 105, .20);
    --pa-topic-muted: rgba(248, 242, 223, .67);
}

.pa-topic-shell {
    max-width: 1180px;
}

.pa-topic-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(24px, 5vw, 64px);
    overflow: hidden;
    padding: clamp(30px, 6vw, 62px);
    border: 1px solid var(--pa-topic-border);
    border-radius: 32px;
    background:
        radial-gradient(circle at 88% 18%, rgba(226, 194, 105, .13), transparent 31%),
        radial-gradient(circle at 12% 82%, rgba(93, 77, 170, .10), transparent 34%),
        linear-gradient(145deg, rgba(18, 29, 59, .98), rgba(7, 14, 31, .98));
    box-shadow:
        0 32px 90px rgba(3, 7, 18, .30),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.pa-topic-hero h1 {
    max-width: 820px;
    margin: 0 0 18px;
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 6vw, 5rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.pa-topic-hero > div > p:last-child {
    max-width: 760px;
    margin: 0;
    color: var(--pa-topic-muted);
    font-size: 1.05rem;
    line-height: 1.78;
}

.pa-topic-seal {
    display: grid;
    place-items: center;
    width: clamp(126px, 17vw, 190px);
    aspect-ratio: 1;
    border: 1px solid rgba(226,194,105,.38);
    border-radius: 50%;
    color: #efd985;
    background:
        radial-gradient(circle, rgba(226,194,105,.13), rgba(255,255,255,.015) 63%);
    box-shadow:
        0 0 48px rgba(226,194,105,.10),
        inset 0 0 0 9px rgba(226,194,105,.025);
}

.pa-topic-seal span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 6vw, 4.4rem);
    line-height: 1;
}

.pa-topic-seal small {
    margin-top: -12px;
    color: rgba(248,242,223,.60);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.pa-topic-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 22px 0 0;
}

.pa-topic-observation,
.pa-topic-section,
.pa-topic-cta {
    margin-top: 28px;
    padding: clamp(26px, 5vw, 46px);
    border: 1px solid rgba(255,255,255,.072);
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.042), rgba(255,255,255,.016));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.pa-topic-observation {
    border-color: var(--pa-topic-border);
    background:
        radial-gradient(circle at 90% 10%, rgba(226,194,105,.09), transparent 28%),
        linear-gradient(145deg, rgba(20,31,62,.94), rgba(8,15,33,.94));
}

.pa-topic-observation h2,
.pa-topic-section-heading h2,
.pa-topic-cta h2 {
    margin: 0 0 12px;
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.5vw, 2.65rem);
    line-height: 1.12;
}

.pa-topic-observation > p:last-child,
.pa-topic-section-heading > p,
.pa-topic-cta p {
    margin-bottom: 0;
    color: var(--pa-topic-muted);
    line-height: 1.75;
}

.pa-topic-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 420px);
    align-items: end;
    gap: 24px;
    margin-bottom: 26px;
}

.pa-topic-connections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.pa-topic-connection {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    min-height: 92px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;
    color: inherit;
    background: rgba(255,255,255,.024);
    text-decoration: none;
    transition:
        transform .24s cubic-bezier(.22, 1, .36, 1),
        border-color .24s ease,
        background .24s ease,
        box-shadow .24s ease;
}

.pa-topic-connection:hover,
.pa-topic-connection:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(226,194,105,.30);
    background: rgba(226,194,105,.055);
    box-shadow: 0 18px 42px rgba(3,7,18,.18);
    outline: none;
}

.pa-topic-connection-glyph {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(226,194,105,.25);
    border-radius: 50%;
    color: #efd985;
    background: rgba(226,194,105,.055);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
}

.pa-topic-connection small,
.pa-topic-connection strong,
.pa-topic-connection em {
    display: block;
}

.pa-topic-connection small {
    margin-bottom: 3px;
    color: rgba(226,194,105,.75);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.pa-topic-connection strong {
    overflow: hidden;
    color: #fff8e8;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pa-topic-connection em {
    margin-top: 4px;
    color: rgba(248,242,223,.54);
    font-size: .76rem;
    font-style: normal;
}

.pa-topic-section .pa-atlas-tarot-body h3 {
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
}

.pa-topic-empty {
    padding: 28px;
    border: 1px dashed rgba(255,255,255,.11);
    border-radius: 18px;
    color: var(--pa-topic-muted);
    text-align: center;
}

.pa-topic-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    border-color: var(--pa-topic-border);
    background:
        radial-gradient(circle at 88% 20%, rgba(226,194,105,.12), transparent 31%),
        linear-gradient(145deg, rgba(20,31,62,.96), rgba(8,15,33,.96));
}

@media (max-width: 991.98px) {
    .pa-topic-connections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pa-topic-section-heading,
    .pa-topic-cta {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 767.98px) {
    .pa-topic-hero {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .pa-topic-seal {
        order: -1;
        width: 128px;
        margin: 0 auto;
    }

    .pa-topic-actions {
        flex-direction: column;
    }

    .pa-topic-actions .btn,
    .pa-topic-cta .btn {
        width: 100%;
    }

    .pa-topic-connections {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-topic-connection {
        transition: none !important;
    }
}

/* ==========================================================
   ATLAS v1.6 · POLISH EDITION
   - Contraste reforzado en expedientes y páginas temáticas.
   - Mejor jerarquía tipográfica, bordes y estados interactivos.
   - Selectores encapsulados para no afectar otras vistas.
========================================================== */

/* Tarjetas de correspondencias del expediente. */
.pa-dossier .pa-correspondence-card {
    border-color: rgba(226, 194, 105, .13);
    background:
        linear-gradient(
            180deg,
            rgba(17, 27, 49, .98),
            rgba(10, 18, 34, .98)
        );
    box-shadow:
        0 14px 34px rgba(2, 6, 16, .16),
        inset 0 1px 0 rgba(255, 255, 255, .035);
}

.pa-dossier .pa-correspondence-card small {
    color: #e5bd32 !important;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.pa-dossier .pa-correspondence-card strong {
    display: block;
    margin-top: .42rem;
    color: #fffaf0 !important;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.3;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .22);
}

.pa-dossier .pa-correspondence-glyph {
    border-color: rgba(226, 194, 105, .34);
    color: #f3dc8e;
    background:
        radial-gradient(
            circle,
            rgba(226, 194, 105, .12),
            rgba(226, 194, 105, .035) 66%
        );
    box-shadow:
        0 0 24px rgba(226, 194, 105, .06),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}

.pa-dossier .pa-correspondence-card:hover,
.pa-dossier .pa-correspondence-card:focus-visible {
    border-color: rgba(226, 194, 105, .38);
    background:
        linear-gradient(
            180deg,
            rgba(24, 34, 57, .99),
            rgba(13, 21, 39, .99)
        );
    box-shadow:
        0 20px 44px rgba(2, 6, 16, .23),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}

/* Bloques de aplicación e interpretación. */
.pa-dossier .pa-dossier-action-grid article,
.pa-dossier .pa-meaning-panel,
.pa-dossier .pa-dossier-accordion .accordion-item,
.pa-dossier .orion-faq .accordion-item {
    border-color: rgba(226, 194, 105, .11);
    background:
        linear-gradient(
            180deg,
            rgba(17, 27, 49, .97),
            rgba(10, 18, 34, .97)
        );
    box-shadow:
        0 13px 32px rgba(2, 6, 16, .14),
        inset 0 1px 0 rgba(255, 255, 255, .03);
}

.pa-dossier .pa-dossier-action-grid strong,
.pa-dossier .pa-editorial-copy h3,
.pa-dossier .pa-meaning-panel h3 {
    color: #fffaf0 !important;
}

.pa-dossier .pa-dossier-action-grid span,
.pa-dossier .pa-editorial-copy p,
.pa-dossier .pa-editorial-copy li,
.pa-dossier .pa-meaning-panel p,
.pa-dossier .pa-meaning-panel li {
    color: rgba(248, 242, 223, .82) !important;
}

/* Sidebar del expediente. */
.pa-dossier .pa-dossier-sidebar-card {
    border-color: rgba(226, 194, 105, .28);
    background:
        radial-gradient(
            circle at 84% 4%,
            rgba(var(--pa-arcano-rgb), .10),
            transparent 30%
        ),
        linear-gradient(
            155deg,
            rgba(17, 29, 58, .985),
            rgba(7, 14, 30, .985)
        );
    box-shadow:
        0 34px 82px rgba(0, 0, 0, .32),
        inset 0 1px 0 rgba(255, 255, 255, .045);
}

.pa-dossier .pa-dossier-sidebar-body h2 {
    color: #fffaf0 !important;
}

.pa-dossier .pa-dossier-sidebar-body > p:not(.pa-dossier-kicker) {
    color: rgba(248, 242, 223, .68) !important;
}

.pa-dossier .pa-dossier-sidebar-body dt {
    color: rgba(248, 242, 223, .66) !important;
}

.pa-dossier .pa-dossier-sidebar-body dd {
    color: #fffaf0 !important;
    font-weight: 900;
}

.pa-dossier .pa-dossier-concepts a {
    border-color: rgba(226, 194, 105, .22);
    color: #15130e !important;
    background: #fffaf0;
    font-weight: 800;
}

.pa-dossier .pa-dossier-concepts a:hover,
.pa-dossier .pa-dossier-concepts a:focus-visible {
    border-color: rgba(226, 194, 105, .58);
    color: #0b1020 !important;
    background: #f0d477;
    outline: none;
}

/* Knowledge Graph: legibilidad y profundidad. */
.pa-dossier .pa-knowledge-node {
    border-color: rgba(226, 194, 105, .30);
    color: #fff8e7 !important;
    background: rgba(7, 14, 31, .985);
    box-shadow:
        0 12px 30px rgba(0, 0, 0, .20),
        inset 0 1px 0 rgba(255, 255, 255, .035);
}

.pa-dossier .pa-knowledge-node small {
    color: rgba(240, 216, 143, .76) !important;
}

.pa-dossier .pa-knowledge-node-center {
    color: #0a1123 !important;
    box-shadow:
        0 18px 38px rgba(201, 162, 39, .20),
        inset 0 1px 0 rgba(255, 255, 255, .35);
}

.pa-dossier .pa-knowledge-node-center small {
    color: rgba(10, 17, 35, .68) !important;
}

/* Páginas temáticas y relaciones inversas. */
.pa-topic-page .pa-topic-connection {
    border-color: rgba(226, 194, 105, .12);
    color: #fffaf0 !important;
    background:
        linear-gradient(
            180deg,
            rgba(17, 27, 49, .98),
            rgba(10, 18, 34, .98)
        );
    box-shadow:
        0 14px 34px rgba(2, 6, 16, .14),
        inset 0 1px 0 rgba(255, 255, 255, .03);
}

.pa-topic-page .pa-topic-connection small {
    color: #e5bd32 !important;
}

.pa-topic-page .pa-topic-connection strong {
    color: #fffaf0 !important;
    font-size: 1rem;
    font-weight: 850;
}

.pa-topic-page .pa-topic-connection em {
    color: rgba(248, 242, 223, .68) !important;
}

.pa-topic-page .pa-topic-connection:hover,
.pa-topic-page .pa-topic-connection:focus-visible {
    border-color: rgba(226, 194, 105, .36);
    background:
        linear-gradient(
            180deg,
            rgba(24, 34, 57, .99),
            rgba(13, 21, 39, .99)
        );
    box-shadow:
        0 20px 44px rgba(2, 6, 16, .22),
        inset 0 1px 0 rgba(255, 255, 255, .045);
}

/* Navegación y botones: estados claros. */
.pa-dossier .btn,
.pa-topic-page .btn {
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        filter .22s ease,
        border-color .22s ease;
}

.pa-dossier .btn:hover,
.pa-dossier .btn:focus-visible,
.pa-topic-page .btn:hover,
.pa-topic-page .btn:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.04);
}

/* Ajustes móviles para conservar jerarquía y respiración. */
@media (max-width: 575.98px) {
    .pa-dossier .pa-correspondence-card {
        min-height: 145px;
        padding: 20px;
    }

    .pa-dossier .pa-correspondence-card strong {
        font-size: 1.08rem;
    }

    .pa-dossier .pa-dossier-sidebar-body {
        padding: 22px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-dossier .btn,
    .pa-topic-page .btn,
    .pa-dossier .pa-correspondence-card,
    .pa-topic-page .pa-topic-connection {
        transition: none !important;
    }
}


/* ==========================================================
   ATLAS v2.0 · EXPEDIENTES TEMÁTICOS
   Planetas, elementos, ángeles, chakras, signos y catálogos.
========================================================== */
.pa-entity-dossier {
    --pa-entity-gold: #e5bd32;
    color: #f8f2df;
    background:
        radial-gradient(circle at 12% 5%, rgba(75, 95, 165, .12), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(229, 189, 50, .08), transparent 30%),
        #071020;
}

.pa-entity-cover {
    position: relative;
    overflow: hidden;
    padding: clamp(64px, 8vw, 118px) 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
    background:
        radial-gradient(circle at 78% 40%, rgba(229, 189, 50, .11), transparent 30%),
        linear-gradient(135deg, rgba(17, 31, 63, .98), rgba(7, 15, 32, .98));
}

.pa-entity-cover::after {
    content: "";
    position: absolute;
    inset: auto -8% -70% auto;
    width: min(680px, 60vw);
    aspect-ratio: 1;
    border: 1px solid rgba(229,189,50,.08);
    border-radius: 50%;
}

.pa-entity-cover-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
    align-items: center;
    gap: clamp(42px, 7vw, 92px);
}

.pa-entity-cover h1 {
    margin: 0;
    color: #fff9e9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.4rem, 8vw, 7rem);
    line-height: .92;
    letter-spacing: -.045em;
}

.pa-entity-type {
    margin: 18px 0 0;
    color: rgba(248,242,223,.66);
    font-size: 1rem;
    letter-spacing: .04em;
}

.pa-entity-cover blockquote {
    max-width: 690px;
    margin: 34px 0 0;
    padding-left: 24px;
    border-left: 1px solid var(--pa-entity-gold);
    color: rgba(255,250,235,.88);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2.2vw, 1.65rem);
    line-height: 1.55;
}

.pa-entity-cover-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.pa-entity-cover-meta span {
    padding: 7px 12px;
    border: 1px solid rgba(229,189,50,.20);
    border-radius: 999px;
    color: rgba(248,242,223,.72);
    background: rgba(255,255,255,.025);
    font-size: .82rem;
}

.pa-entity-seal {
    display: grid;
    place-items: center;
    min-height: 340px;
    padding: 34px;
    border: 1px solid rgba(229,189,50,.28);
    border-radius: 50%;
    text-align: center;
    background:
        radial-gradient(circle, rgba(229,189,50,.13), rgba(255,255,255,.018) 58%, transparent 72%);
    box-shadow: 0 0 70px rgba(229,189,50,.08);
}

.pa-entity-seal > span {
    color: #f0d374;
    font-family: Georgia, serif;
    font-size: clamp(4rem, 8vw, 7rem);
    line-height: 1;
}

.pa-entity-seal small {
    margin-top: 12px;
    color: var(--pa-entity-gold);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pa-entity-seal strong {
    color: #fff9e9;
    font-family: Georgia, serif;
    font-size: 1.45rem;
}

.pa-entity-index {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid rgba(255,255,255,.07);
    background: rgba(5, 11, 24, .90);
    backdrop-filter: blur(14px);
}

.pa-entity-index .container {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    scrollbar-width: none;
}

.pa-entity-index a {
    flex: 0 0 auto;
    padding: 8px 13px;
    border-radius: 999px;
    color: rgba(248,242,223,.65);
    text-decoration: none;
    font-size: .88rem;
}

.pa-entity-index a:hover,
.pa-entity-index a:focus-visible {
    color: #fff9e9;
    background: rgba(229,189,50,.10);
}

.pa-entity-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(36px, 6vw, 72px);
    padding-top: clamp(54px, 8vw, 90px);
    padding-bottom: 110px;
}

.pa-entity-chapter {
    padding-bottom: 68px;
    margin-bottom: 68px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    scroll-margin-top: 92px;
}

.pa-entity-chapter:last-child { border-bottom: 0; }
.pa-entity-chapter-number {
    margin: 0;
    color: var(--pa-entity-gold);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pa-entity-chapter h2 {
    margin: 10px 0 20px;
    color: #fff9e9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08;
}

.pa-entity-lead {
    max-width: 820px;
    color: rgba(248,242,223,.78);
    font-size: 1.06rem;
    line-height: 1.8;
}

.pa-entity-orion-note {
    margin-top: 30px;
    padding: 28px;
    border: 1px solid rgba(229,189,50,.20);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(20,32,61,.92), rgba(10,18,35,.92));
}

.pa-entity-orion-note p:last-child {
    margin-bottom: 0;
    color: rgba(248,242,223,.80);
}

.pa-entity-connections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px;
    margin-top: 28px;
}

.pa-entity-connection {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 18px;
    color: inherit;
    text-decoration: none;
    background: linear-gradient(180deg, rgba(17,27,49,.98), rgba(10,18,34,.98));
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.pa-entity-connection:hover,
.pa-entity-connection:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(229,189,50,.34);
    background: linear-gradient(180deg, rgba(25,36,61,.99), rgba(13,22,41,.99));
}

.pa-entity-connection-glyph {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(229,189,50,.25);
    border-radius: 50%;
    color: #efd67d;
}

.pa-entity-connection small,
.pa-entity-connection strong,
.pa-entity-connection em { display: block; }
.pa-entity-connection small { color: var(--pa-entity-gold); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.pa-entity-connection strong { color: #fffaf0; }
.pa-entity-connection em { color: rgba(248,242,223,.60); font-size: .82rem; font-style: normal; }

.pa-entity-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 18px;
    margin-top: 30px;
}

.pa-entity-arcano {
    display: grid;
    grid-template-columns: 74px minmax(0,1fr);
    gap: 18px;
    padding: 24px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(18,29,54,.97), rgba(9,17,33,.97));
}

.pa-entity-arcano-number {
    display: grid;
    place-items: center;
    width: 70px;
    height: 92px;
    border: 1px solid rgba(229,189,50,.28);
    border-radius: 16px;
    color: #efd67d;
    font-family: Georgia, serif;
    font-size: 1.8rem;
    background: rgba(229,189,50,.045);
}

.pa-entity-arcano p:first-child {
    margin: 0 0 4px;
    color: var(--pa-entity-gold);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pa-entity-arcano h3 {
    margin: 0 0 10px;
    color: #fff9e9;
    font-family: Georgia, serif;
    font-size: 1.45rem;
}

.pa-entity-arcano-description { color: rgba(248,242,223,.67); font-size: .92rem; }
.pa-entity-arcano-links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pa-entity-arcano-links a { color: #efd67d; font-size: .84rem; }

.pa-entity-sidebar { position: sticky; top: 92px; align-self: start; }
.pa-entity-sidebar-card {
    overflow: hidden;
    padding: 28px;
    border: 1px solid rgba(229,189,50,.24);
    border-radius: 26px;
    background: linear-gradient(155deg, rgba(18,31,62,.98), rgba(8,15,32,.98));
    box-shadow: 0 30px 74px rgba(0,0,0,.28);
}

.pa-entity-sidebar-glyph {
    display: grid;
    place-items: center;
    min-height: 190px;
    margin: -28px -28px 26px;
    color: #efd67d;
    font-family: Georgia, serif;
    font-size: 5rem;
    background: radial-gradient(circle, rgba(229,189,50,.12), rgba(255,255,255,.015) 65%);
}

.pa-entity-sidebar h2 { margin: 0; color: #fff9e9; font-family: Georgia, serif; font-size: 2rem; }
.pa-entity-sidebar > .pa-entity-sidebar-card > p:not(.pa-kicker) { color: rgba(248,242,223,.62); }
.pa-entity-sidebar dl { margin: 24px 0; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.07); border-bottom: 1px solid rgba(255,255,255,.07); }
.pa-entity-sidebar dl div { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0; }
.pa-entity-sidebar dt { color: rgba(248,242,223,.58); font-weight: 500; }
.pa-entity-sidebar dd { margin: 0; color: #fff9e9; font-weight: 800; text-align: right; }

.pa-entity-faq .accordion-item {
    margin-bottom: 10px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 16px !important;
    overflow: hidden;
    background: rgba(255,255,255,.025);
}
.pa-entity-faq .accordion-button,
.pa-entity-faq .accordion-body { color: #f8f2df; background: rgba(12,21,40,.98); }
.pa-entity-faq .accordion-button:not(.collapsed) { color: #fff9e9; box-shadow: none; }
.pa-entity-empty { padding: 24px; border: 1px dashed rgba(229,189,50,.24); border-radius: 18px; color: rgba(248,242,223,.65); }

@media (max-width: 991.98px) {
    .pa-entity-cover-grid,
    .pa-entity-layout { grid-template-columns: 1fr; }
    .pa-entity-seal { max-width: 360px; width: 100%; margin: 0 auto; }
    .pa-entity-sidebar { position: static; order: -1; max-width: 430px; width: 100%; margin: 0 auto; }
}

@media (max-width: 767.98px) {
    .pa-entity-cover-copy { text-align: center; }
    .pa-entity-cover blockquote { margin-left: auto; margin-right: auto; text-align: left; }
    .pa-entity-cover-meta { justify-content: center; }
    .pa-entity-connections,
    .pa-entity-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .pa-entity-arcano { grid-template-columns: 1fr; }
    .pa-entity-arcano-number { width: 100%; height: 74px; }
}

@media (prefers-reduced-motion: reduce) {
    .pa-entity-connection { transition: none !important; }
}

/* ==========================================================
   ORION ATLAS HOME · CONTRASTE Y LEGIBILIDAD
   Corrige tarjetas claras con textos heredados del tema oscuro.
========================================================== */

body .pa-result .studio-panel {
    background:
        radial-gradient(
            circle at 20% 0%,
            rgba(231, 199, 111, .10),
            transparent 42%
        ),
        linear-gradient(
            180deg,
            rgba(19, 27, 58, .98) 0%,
            rgba(9, 14, 34, .98) 100%
        );

    border: 1px solid rgba(231, 199, 111, .28);
    color: #f8f1dc;

    box-shadow:
        0 24px 70px rgba(0, 0, 0, .30),
        inset 0 1px 0 rgba(255, 255, 255, .05);
}

body .pa-result .studio-panel:hover {
    border-color: rgba(231, 199, 111, .58);

    box-shadow:
        0 34px 90px rgba(0, 0, 0, .42),
        0 0 36px rgba(201, 162, 39, .10),
        inset 0 1px 0 rgba(255, 255, 255, .07);
}

/* Etiquetas superiores */
body .pa-result .studio-panel .metric-label {
    color: #e7c76f !important;
    font-weight: 800;
}

/* Valores principales */
body .pa-result .studio-panel .metric-value {
    color: #fff8df !important;
    font-weight: 900;
}

/* Títulos de módulos */
body .pa-result .studio-panel h2,
body .pa-result .studio-panel h3 {
    color: #fff8df !important;
    text-shadow: none;
}

/* Descripciones */
body .pa-result .studio-panel p,
body .pa-result .studio-panel .text-muted {
    color: rgba(240, 235, 220, .78) !important;
}

/* Tarjetas deshabilitadas */
body .pa-result .studio-panel.opacity-75 {
    opacity: 1 !important;
    background:
        linear-gradient(
            180deg,
            rgba(28, 34, 54, .88),
            rgba(14, 19, 38, .92)
        );
}

body .pa-result .studio-panel.opacity-75 h2,
body .pa-result .studio-panel.opacity-75 h3 {
    color: rgba(255, 248, 223, .72) !important;
}

body .pa-result .studio-panel.opacity-75 p,
body .pa-result .studio-panel.opacity-75 .text-muted {
    color: rgba(226, 221, 207, .56) !important;
}

/* Botones deshabilitados */
body .pa-result .studio-panel .pa-btn-ghost:disabled {
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(231, 199, 111, .18);
    color: rgba(240, 229, 197, .52);
    opacity: 1;
}

/* Panel final de lectura */
body .pa-result .pa-integrated-reading {
    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(201, 162, 39, .12),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            rgba(24, 31, 51, .98),
            rgba(8, 13, 31, .98)
        );

    border: 1px solid rgba(231, 199, 111, .26);
}

body .pa-result .pa-integrated-reading h2,
body .pa-result .pa-integrated-reading h3 {
    color: #fff8df !important;
}

body .pa-result .pa-integrated-reading p {
    color: rgba(240, 235, 220, .78) !important;
}

/* Accesibilidad de foco */
body .pa-result .studio-panel a:focus-visible,
body .pa-result .studio-panel button:focus-visible {
    outline: 3px solid rgba(231, 199, 111, .70);
    outline-offset: 3px;
}

/* Ajustes móviles */
@media (max-width: 767.98px) {
    body .pa-result .studio-panel {
        border-radius: 22px;
    }

    body .pa-result .studio-panel .card-body {
        padding: 22px !important;
    }
}
/* =========================================================
   Cartas relacionadas del Expediente ORION
   ========================================================= */
.pa-related-arcanes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}

.pa-related-arcane-card {
    overflow: hidden;
    border: 1px solid rgba(var(--pa-arcano-rgb, 212, 175, 55), .32);
    border-radius: 1.15rem;
    background: linear-gradient(155deg, rgba(15, 25, 43, .96), rgba(7, 14, 27, .98));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.pa-related-arcane-visual {
    display: grid;
    min-height: 230px;
    place-items: center;
    overflow: hidden;
    color: var(--pa-arcano-color, #d4af37);
    background: radial-gradient(circle at 50% 35%, rgba(var(--pa-arcano-rgb, 212, 175, 55), .18), transparent 58%);
    font-family: var(--pa-font-display, Georgia, serif);
    font-size: 4rem;
    text-decoration: none;
}

.pa-related-arcane-visual img {
    display: block;
    width: 100%;
    height: 230px;
    object-fit: cover;
    object-position: center;
    transition: transform .3s ease;
}

.pa-related-arcane-card:hover .pa-related-arcane-visual img,
.pa-related-arcane-card:focus-within .pa-related-arcane-visual img {
    transform: scale(1.035);
}

.pa-related-arcane-body {
    padding: 1.15rem;
}

.pa-related-arcane-body > p:first-child {
    margin-bottom: .25rem;
    color: var(--pa-arcano-color, #d4af37);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pa-related-arcane-body h3 {
    margin-bottom: .25rem;
    font-family: var(--pa-font-display, Georgia, serif);
    font-size: 1.45rem;
}

.pa-related-arcane-body h3 a,
.pa-related-arcane-link {
    color: #fff5d8;
    text-decoration: none;
}

.pa-related-arcane-body h3 a:hover,
.pa-related-arcane-body h3 a:focus-visible,
.pa-related-arcane-link:hover,
.pa-related-arcane-link:focus-visible {
    color: var(--pa-arcano-color, #d4af37);
}

.pa-related-arcane-body small {
    display: block;
    margin-bottom: .8rem;
    color: rgba(238, 241, 247, .62);
}

.pa-related-arcane-body > p:not(:first-child) {
    color: rgba(246, 243, 235, .78);
    font-size: .92rem;
    line-height: 1.55;
}

.pa-related-arcane-link {
    display: inline-flex;
    margin-top: .25rem;
    font-weight: 750;
}

@media (max-width: 991.98px) {
    .pa-related-arcanes-grid {
        grid-template-columns: 1fr;
    }

    .pa-related-arcane-card {
        display: grid;
        grid-template-columns: minmax(130px, 34%) 1fr;
    }

    .pa-related-arcane-visual,
    .pa-related-arcane-visual img {
        min-height: 100%;
        height: 100%;
    }
}

@media (max-width: 575.98px) {
    .pa-related-arcane-card {
        grid-template-columns: 1fr;
    }

    .pa-related-arcane-visual,
    .pa-related-arcane-visual img {
        min-height: 320px;
        height: 320px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-related-arcane-visual img {
        transition: none;
    }
}

/* =========================================================
   Portal Arcano 4.0 · Identidad pública
   ========================================================= */
.pa-auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 8%, rgba(201, 162, 39, .14), transparent 32rem),
        linear-gradient(180deg, #08101f 0%, #101a31 45%, #f5f1e8 45%, #f5f1e8 100%);
}

.pa-auth-main { min-height: calc(100vh - 220px); }

.pa-auth-intro,
.pa-auth-card {
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(8, 16, 31, .18);
}

.pa-auth-intro {
    padding: clamp(2rem, 5vw, 4rem);
    color: #f8f2df;
    background: linear-gradient(145deg, rgba(12, 23, 44, .96), rgba(23, 38, 68, .94));
    border: 1px solid rgba(212, 175, 55, .32);
    overflow: hidden;
    position: relative;
}

.pa-auth-intro h1 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    line-height: .98;
    margin: 1rem 0 1.5rem;
}

.pa-auth-intro p { color: rgba(248, 242, 223, .82); font-size: 1.05rem; }
.pa-auth-eyebrow { color: #e4c35c; font-weight: 800; letter-spacing: .18em; font-size: .78rem; }
.pa-auth-symbol { font-size: 5rem; color: rgba(228, 195, 92, .32); margin: 2rem 0; }

.pa-auth-card {
    background: rgba(255, 255, 255, .98);
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid rgba(114, 92, 31, .16);
}

.pa-auth-card .form-label { color: #182237; font-weight: 700; }
.pa-auth-card .form-control {
    min-height: 50px;
    border-radius: 14px;
    border-color: #d7d0c0;
}
.pa-auth-card .form-control:focus {
    border-color: #b58c20;
    box-shadow: 0 0 0 .25rem rgba(201, 162, 39, .17);
}
.pa-auth-card a { color: #7e5d0f; font-weight: 700; }
.pa-navbar-logout {
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 700;
    padding: .55rem .7rem;
}

@media (max-width: 991.98px) {
    .pa-auth-page { background: linear-gradient(180deg, #08101f 0%, #101a31 30%, #f5f1e8 30%); }
    .pa-auth-intro { min-height: auto; }
}

/* ==========================================================
   RESULTADO DE LECTURA · RECUPERACIÓN VISUAL 2026-07
   - Imagen de carta con prioridad WebP → PNG → número.
   - Contraste definitivo en textos del resultado.
   - Corrige el panel Círculo Arcano para ocupar el ancho disponible.
   Selectores encapsulados en #stage-result para evitar regresiones.
========================================================== */

#stage-result .pa-cards-grid,
#stage-result #cards-result {
    width: 100%;
}

#stage-result .pa-arcane-frame {
    min-width: 0;
    color: #fff8e1;
}

#stage-result .pa-arcane-visual {
    position: relative;
    z-index: 1;
    width: min(100%, 190px);
    aspect-ratio: 600 / 1050;
    margin: 14px auto 18px;
    overflow: hidden;
    border: 1px solid rgba(244, 212, 124, .38);
    border-radius: 16px;
    background:
        radial-gradient(circle at 50% 28%, rgba(231, 199, 111, .18), transparent 55%),
        #080d1f;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, .38),
        0 0 24px rgba(201, 162, 39, .08);
}

#stage-result .pa-arcane-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#stage-result .pa-arcane-symbol-fallback {
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(circle, rgba(201, 162, 39, .18), transparent 58%),
        linear-gradient(180deg, #111a3a, #070b1d);
}

#stage-result .pa-arcane-symbol-fallback[hidden] {
    display: none !important;
}

#stage-result .pa-arcane-top small,
#stage-result .pa-arcane-frame h3,
#stage-result .pa-arcane-frame .pa-orientation,
#stage-result .pa-arcane-frame .pa-card-summary,
#stage-result .pa-card-orion-quote {
    color: #fff8e1 !important;
}

#stage-result .pa-position,
#stage-result .pa-arcane-top,
#stage-result .pa-arcane-frame .pa-orientation {
    color: #f4d47c !important;
}

#stage-result .pa-arcane-frame .pa-card-summary {
    opacity: .94;
    line-height: 1.62;
}

#stage-result .pa-card-orion-quote {
    background: rgba(255, 248, 225, .065);
    border-color: rgba(244, 212, 124, .24);
    opacity: .9;
}

#stage-result .pa-card-expedition-link {
    color: #f7d774 !important;
    background: rgba(201, 162, 39, .10);
    border-color: rgba(244, 212, 124, .30);
}

#stage-result .pa-card-expedition-link:hover,
#stage-result .pa-card-expedition-link:focus-visible {
    color: #07101f !important;
    background: #f0cb60;
}

#stage-result .pa-reading-insights small {
    color: #182033 !important;
}

#stage-result .pa-reading-insights strong {
    color: #8a6505 !important;
}

#stage-result .pa-reading-insights p {
    color: #485266 !important;
}

#stage-result .pa-monetization-panel {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 2rem 0 0;
    padding: clamp(1.4rem, 3vw, 2rem);
    grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
}

#stage-result .pa-monetization-panel > div:first-child {
    min-width: 0;
}

#stage-result .pa-monetization-panel h3 {
    color: #fff8e1 !important;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    line-height: 1.06;
}

#stage-result .pa-monetization-panel p {
    color: rgba(255, 248, 225, .86) !important;
    line-height: 1.75;
}

#stage-result .pa-monetization-actions {
    min-width: 0;
}

#stage-result .pa-orion-signature p,
#stage-result .pa-orion-signature h3 {
    color: #fff8e1 !important;
}

@media (max-width: 992px) {
    #stage-result .pa-arcane-visual {
        width: min(100%, 220px);
    }
}

@media (max-width: 768px) {
    #stage-result .pa-monetization-panel {
        grid-template-columns: 1fr;
    }

    #stage-result .pa-monetization-actions {
        width: 100%;
    }
}


/* PWA: invitación de instalación discreta y accesible. */
.pa-pwa-install {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(18px, calc(env(safe-area-inset-bottom) + 12px));
    z-index: 1080;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    max-width: calc(100vw - 32px);
    padding: .8rem 1.05rem;
    border: 1px solid rgba(255, 224, 137, .6);
    border-radius: 999px;
    background: linear-gradient(135deg, #d5ad3e, #f2d780);
    color: #0b1028;
    font: inherit;
    font-weight: 800;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .38);
    cursor: pointer;
}
.pa-pwa-install:hover { transform: translateY(-1px); }
.pa-pwa-install:focus-visible { outline: 3px solid #fff7dd; outline-offset: 3px; }
.pa-pwa-install:disabled { opacity: .7; cursor: wait; }
@media (prefers-reduced-motion: no-preference) {
    .pa-pwa-install { animation: pa-pwa-enter .35s ease-out both; transition: transform .2s ease; }
    @keyframes pa-pwa-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
}

/* ==========================================================
   Navegación inferior móvil PWA
   Mejora progresiva: solo visible en pantallas pequeñas.
========================================================== */
.pa-bottom-nav {
    display: none;
}

@media (max-width: 767.98px) {
    body {
        padding-bottom: calc(78px + env(safe-area-inset-bottom));
    }

    .pa-public-footer {
        margin-bottom: 0 !important;
    }

    .pa-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1070;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        min-height: calc(66px + env(safe-area-inset-bottom));
        padding: 6px max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));
        border-top: 1px solid rgba(244, 212, 124, .18);
        background: rgba(7, 11, 29, .94);
        box-shadow: 0 -12px 32px rgba(0, 0, 0, .26);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .pa-bottom-nav__item {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 54px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 3px;
        border-radius: 14px;
        color: rgba(255, 248, 225, .68);
        font-size: .68rem;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .pa-bottom-nav__item svg {
        width: 22px;
        height: 22px;
        fill: currentColor;
    }

    .pa-bottom-nav__item.active,
    .pa-bottom-nav__item:hover,
    .pa-bottom-nav__item:focus-visible {
        color: #f4d47c;
        background: rgba(244, 212, 124, .08);
    }

    .pa-bottom-nav__item.active::before {
        content: "";
        position: absolute;
        top: 2px;
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background: #f4d47c;
        box-shadow: 0 0 10px rgba(244, 212, 124, .55);
    }

    .pa-bottom-nav__item:focus-visible {
        outline: 2px solid #f4d47c;
        outline-offset: -2px;
    }

    .pa-pwa-install {
        bottom: calc(82px + env(safe-area-inset-bottom));
    }
}

@media (display-mode: standalone) and (max-width: 767.98px) {
    .pa-bottom-nav {
        background: rgba(7, 11, 29, .97);
    }
}

/* ==========================================================
   PWA · INVITACIÓN CONTEXTUAL DE INSTALACIÓN
   - Se muestra después de varias visitas.
   - Incluye instrucciones específicas para Safari en iPhone.
   - Respeta la navegación inferior y el área segura del sistema.
========================================================== */
.pa-pwa-invite {
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 1085;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    width: min(430px, calc(100vw - 32px));
    padding: 18px;
    color: #f8f3e8;
    background: rgba(17, 15, 31, .96);
    border: 1px solid rgba(242, 199, 92, .28);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .42);
    backdrop-filter: blur(18px);
    opacity: 0;
    transform: translateY(18px) scale(.985);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
}

.pa-pwa-invite.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.pa-pwa-invite__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #2a2140;
    background: linear-gradient(145deg, #f5d982, #c9a227);
    border-radius: 15px;
    font-size: 1.35rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48);
}

.pa-pwa-invite__content h2 {
    margin: 2px 30px 6px 0;
    font-size: 1.08rem;
    line-height: 1.25;
}

.pa-pwa-invite__content p {
    margin: 0;
    color: rgba(248, 243, 232, .76);
    font-size: .91rem;
    line-height: 1.5;
}

.pa-pwa-invite__eyebrow {
    color: #e7c75f !important;
    font-size: .72rem !important;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.pa-pwa-invite__close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 34px;
    height: 34px;
    padding: 0;
    color: rgba(248, 243, 232, .68);
    background: transparent;
    border: 0;
    border-radius: 50%;
    font-size: 1.45rem;
    line-height: 1;
}

.pa-pwa-invite__close:hover,
.pa-pwa-invite__close:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.pa-pwa-invite__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
}

.pa-pwa-invite__primary,
.pa-pwa-invite__secondary {
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 12px;
    font-weight: 700;
}

.pa-pwa-invite__primary {
    color: #231b35;
    background: linear-gradient(145deg, #f5d982, #c9a227);
    border: 1px solid rgba(255, 255, 255, .2);
}

.pa-pwa-invite__secondary {
    color: rgba(248, 243, 232, .8);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .11);
}

.pa-pwa-invite button:focus-visible {
    outline: 3px solid rgba(255, 247, 221, .9);
    outline-offset: 3px;
}

.pa-pwa-invite button:disabled {
    opacity: .65;
    cursor: wait;
}

@media (max-width: 767.98px) {
    .pa-pwa-invite {
        right: 12px;
        bottom: calc(86px + env(safe-area-inset-bottom));
        width: calc(100vw - 24px);
        padding: 16px;
        border-radius: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-pwa-invite {
        transition: none;
    }
}

/* ==========================================================
   PWA · ESTADO DE CONEXIÓN
   Mensaje no invasivo para confirmar modo offline y reconexión.
========================================================== */
.pa-network-status {
    position: fixed;
    top: max(12px, env(safe-area-inset-top));
    left: 50%;
    z-index: 1095;
    width: min(560px, calc(100vw - 24px));
    padding: 11px 16px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 14px;
    color: #fff8e5;
    background: rgba(14, 17, 38, .96);
    box-shadow: 0 14px 38px rgba(0, 0, 0, .34);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    opacity: 0;
    transform: translate(-50%, -14px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    backdrop-filter: blur(14px);
}

.pa-network-status.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.pa-network-status.is-offline {
    border-color: rgba(240, 197, 89, .38);
}

.pa-network-status.is-online {
    border-color: rgba(128, 214, 160, .42);
}

@media (prefers-reduced-motion: reduce) {
    .pa-network-status { transition: none; }
}

/* ==========================================================
   PWA · ACTUALIZACIÓN CONTROLADA
   Mantiene coherencia entre HTML, CSS, JavaScript y caché.
========================================================== */
.pa-pwa-update {
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom));
    z-index: 1090;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    width: min(430px, calc(100vw - 32px));
    padding: 17px 18px;
    color: #f8f3e8;
    background: rgba(17, 15, 31, .97);
    border: 1px solid rgba(242, 199, 92, .3);
    border-radius: 19px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .42);
    opacity: 0;
    transform: translateY(18px);
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    backdrop-filter: blur(18px);
}

.pa-pwa-update.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.pa-pwa-update__eyebrow { margin: 0 32px 3px 0; color: #e7c75f; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pa-pwa-update strong { display: block; margin-right: 30px; font-size: 1rem; }
.pa-pwa-update p:not(.pa-pwa-update__eyebrow) { margin: 4px 0 0; color: rgba(248, 243, 232, .74); font-size: .86rem; line-height: 1.45; }
.pa-pwa-update__action { align-self: center; min-height: 42px; padding: 9px 15px; color: #231b35; background: linear-gradient(145deg, #f5d982, #c9a227); border: 0; border-radius: 12px; font-weight: 800; }
.pa-pwa-update__close { position: absolute; top: 7px; right: 9px; width: 34px; height: 34px; padding: 0; color: rgba(248,243,232,.68); background: transparent; border: 0; border-radius: 50%; font-size: 1.45rem; }
.pa-pwa-update button:focus-visible { outline: 3px solid rgba(255,247,221,.9); outline-offset: 3px; }
.pa-pwa-update button:disabled { opacity: .65; cursor: wait; }

@media (max-width: 767.98px) {
    .pa-pwa-update { right: 12px; bottom: calc(86px + env(safe-area-inset-bottom)); width: calc(100vw - 24px); }
}

@media (prefers-reduced-motion: reduce) { .pa-pwa-update { transition: none; } }


/* ==========================================================
   PWA · DIAGNÓSTICO LOCAL
========================================================== */
.pa-pwa-status { max-width: 900px; }
.pa-pwa-status__header { max-width: 720px; margin-bottom: 28px; }
.pa-pwa-status__header h1 { margin-bottom: 12px; font-family: var(--pa-font-display, "Cormorant Garamond", serif); font-size: clamp(2.25rem, 6vw, 4rem); }
.pa-pwa-status__header > p:last-child { color: var(--pa-text-muted, #6f7283); }
.pa-pwa-status__summary { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; padding: 22px; border: 1px solid rgba(201,162,39,.24); border-radius: 22px; background: rgba(255,255,255,.72); box-shadow: 0 18px 45px rgba(8,13,45,.08); }
.pa-pwa-status__score { display: grid; place-items: center; flex: 0 0 82px; width: 82px; height: 82px; border-radius: 50%; color: #fff8e5; background: #080d2d; font-size: 1.25rem; font-weight: 900; }
.pa-pwa-status__summary p { margin: 4px 0 0; color: var(--pa-text-muted, #6f7283); }
.pa-pwa-checks { display: grid; gap: 12px; }
.pa-pwa-check { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 17px 18px; border: 1px solid rgba(8,13,45,.1); border-radius: 18px; background: rgba(255,255,255,.78); }
.pa-pwa-check__icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(8,13,45,.08); font-weight: 900; }
.pa-pwa-check p { margin: 3px 0 0; color: var(--pa-text-muted, #6f7283); font-size: .9rem; }
.pa-pwa-check__state { padding: 6px 10px; border-radius: 999px; background: rgba(8,13,45,.07); font-size: .76rem; font-weight: 800; white-space: nowrap; }
.pa-pwa-check.is-ok .pa-pwa-check__icon, .pa-pwa-check.is-ok .pa-pwa-check__state { color: #17643b; background: #e6f6ed; }
.pa-pwa-check.is-warning .pa-pwa-check__icon, .pa-pwa-check.is-warning .pa-pwa-check__state { color: #7a5700; background: #fff2c7; }
.pa-pwa-check.is-error .pa-pwa-check__icon, .pa-pwa-check.is-error .pa-pwa-check__state { color: #8a2832; background: #fde7ea; }
.pa-pwa-status__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.pa-pwa-status__message { min-height: 24px; margin-top: 14px; font-weight: 700; }
@media (max-width: 575.98px) {
    .pa-pwa-status__summary { align-items: flex-start; padding: 18px; }
    .pa-pwa-status__score { flex-basis: 68px; width: 68px; height: 68px; font-size: 1rem; }
    .pa-pwa-check { grid-template-columns: 38px minmax(0,1fr); }
    .pa-pwa-check__state { grid-column: 2; justify-self: start; }
    .pa-pwa-status__actions .btn { width: 100%; }
}

/* ==========================================================
   PWA móvil v8 · accesibilidad táctil y teclado virtual
========================================================== */
@media (max-width: 767.98px) {
    .pa-bottom-nav__item {
        min-height: 56px;
        touch-action: manipulation;
    }

    .pa-bottom-nav__item::after {
        content: "";
        position: absolute;
        inset: 0;
        min-width: 44px;
        min-height: 44px;
        border-radius: inherit;
    }

    .pa-virtual-keyboard-open body {
        padding-bottom: 0;
    }

    .pa-virtual-keyboard-open .pa-bottom-nav,
    .pa-virtual-keyboard-open .pa-pwa-invite,
    .pa-virtual-keyboard-open .pa-pwa-update {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
}

@media (pointer: coarse) {
    .pa-pwa-invite__primary,
    .pa-pwa-invite__secondary,
    .pa-pwa-update__action,
    .pa-pwa-invite__close,
    .pa-pwa-update__close,
    .pa-pwa-status__actions .btn {
        min-height: 44px;
    }

    .pa-pwa-invite__close,
    .pa-pwa-update__close {
        min-width: 44px;
    }
}


/* ==========================================================
   PWA móvil v9 · resiliencia de consultas en red móvil
========================================================== */
.pa-request-status {
    min-height: 1.5rem;
    margin: .75rem 0 0;
    color: var(--pa-text-muted, #6f7283);
    font-size: .9rem;
    font-weight: 700;
    text-align: center;
}

button[aria-busy="true"],
button:disabled {
    cursor: wait;
}

.pa-spread-card:disabled,
#start-draw:disabled {
    opacity: .68;
    pointer-events: none;
}

/* Accesibilidad de formularios públicos */
.pa-field-error {
    min-height: 1.5rem;
    margin: .35rem 0 0;
    color: #ffd0d0;
    font-size: .9rem;
    font-weight: 600;
}

.form-control[aria-invalid="true"],
.form-select[aria-invalid="true"],
.pa-input[aria-invalid="true"] {
    border-color: #ff9b9b !important;
    box-shadow: 0 0 0 .2rem rgba(255, 155, 155, .18) !important;
}

[data-form-error-summary]:focus {
    outline: 3px solid rgba(201, 162, 39, .55);
    outline-offset: 3px;
}

/* ==========================================================
   PWA móvil v13 · Legibilidad, zoom y orientación horizontal
   - Mantiene zoom del navegador y evita desbordamientos.
   - Refuerza contraste de texto secundario y foco visible.
   - Adapta navegación y paneles a pantallas bajas/apaisadas.
========================================================== */
html {
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    overflow-wrap: anywhere;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

p,
li,
.form-text,
.pa-subtitle,
.pa-result {
    line-height: 1.6;
}

.text-muted,
.pa-muted,
.pa-pwa-status__header > p:last-child,
.pa-pwa-status__summary p,
.pa-pwa-check p {
    color: #525a6b !important;
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
    outline: 3px solid #b98b12;
    outline-offset: 3px;
}

.pa-panel,
.pa-result,
.pa-auth-card,
.pa-pwa-status__summary,
.pa-pwa-check {
    min-width: 0;
}

.pa-result,
.pa-auth-card,
.pa-pwa-status,
.pa-panel {
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    body {
        font-size: 1rem;
    }

    .pa-stage {
        min-height: 100svh;
        padding-top: 24px;
        padding-bottom: calc(96px + env(safe-area-inset-bottom));
        overflow-x: clip;
        overflow-y: auto;
    }

    .pa-shell,
    .pa-panel,
    .pa-result {
        width: 100%;
        padding-right: 16px;
        padding-left: 16px;
    }

    .pa-title {
        font-size: clamp(2.35rem, 13vw, 4rem);
        line-height: 1;
        letter-spacing: -.045em;
    }

    .pa-heading {
        font-size: clamp(2rem, 10vw, 3rem);
        letter-spacing: -.035em;
    }

    .pa-subtitle,
    .pa-input,
    .form-control,
    .form-select {
        font-size: max(1rem, 16px);
    }

    .pa-pwa-check {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .pa-pwa-check__state {
        grid-column: 2;
        justify-self: start;
        white-space: normal;
    }
}

@media (max-height: 520px) and (orientation: landscape) {
    body {
        padding-bottom: calc(58px + env(safe-area-inset-bottom));
    }

    .pa-stage {
        min-height: auto;
        align-items: flex-start;
        padding-top: 16px;
        padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }

    .pa-logo {
        width: 58px;
        height: 58px;
        margin-bottom: 12px;
        border-radius: 18px;
    }

    .pa-logo svg {
        width: 34px;
        height: 34px;
    }

    .pa-title,
    .pa-heading {
        margin-bottom: 12px;
        font-size: clamp(2rem, 8vw, 3rem);
    }

    .pa-subtitle {
        margin-bottom: 18px;
    }

    .pa-bottom-nav {
        min-height: calc(52px + env(safe-area-inset-bottom));
        padding-top: 2px;
    }

    .pa-bottom-nav__item {
        min-height: 46px;
        flex-direction: row;
        gap: 7px;
        font-size: .74rem;
    }

    .pa-bottom-nav__item svg {
        width: 19px;
        height: 19px;
    }

    .pa-bottom-nav__item.active::before {
        display: none;
    }

    .pa-pwa-invite,
    .pa-pwa-update,
    .pa-network-status {
        max-height: calc(100svh - 72px);
        overflow-y: auto;
    }
}


/* ==========================================================
   ARCANO UX QUALITY BASELINE · v1
   Auditoría multidispositivo previa a Renacimiento v11
   ========================================================== */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #f2c75c;
    outline-offset: 3px;
}

:where(button, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: 44px;
}

:where(.btn, .pa-btn, .pa-bottom-nav__item, .pa-pwa-update__action, .pa-pwa-update__close,
       .pa-pwa-invite button, .pa-network-status button) {
    min-height: 44px;
}

.pa-pwa-update__close {
    width: 44px;
    height: 44px;
    top: 2px;
    right: 4px;
}

:where(a, button, input, select, textarea, summary) {
    touch-action: manipulation;
}

:where(.orion-chip[href], button.orion-chip, .pa-chip[href], button.pa-chip) {
    min-height: 44px;
}

:where(main, section, article, aside, nav, header, footer, form, fieldset,
       .container, .container-fluid, .row, [class*="col-"],
       .card, .pa-card, .pa-surface, .pa-auth-card, .pa-timeline__item) {
    min-width: 0;
}

:where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, label, legend, summary,
       .pa-card, .pa-surface, .pa-auth-card, .pa-timeline__item) {
    overflow-wrap: anywhere;
    word-break: normal;
    writing-mode: horizontal-tb;
}

:where(img, svg, video, canvas) {
    max-width: 100%;
}

:where([id]) {
    scroll-margin-top: calc(88px + env(safe-area-inset-top));
}

@media (max-width: 1024px) {
    :where(.pa-container, .container) {
        --bs-gutter-x: 1.5rem;
    }
}

@media (max-width: 767.98px) {
    :where(.btn, .pa-btn, button[type="submit"], input[type="submit"]) {
        min-height: 46px;
    }

    :where(.pa-actions, .pa-auth-actions, .pa-reading-actions) {
        gap: 10px;
    }
}

@media (max-width: 430px) {
    :where(.pa-container, .container, .container-fluid) {
        --bs-gutter-x: 1.25rem;
    }

    :where(h1, .pa-title) {
        text-wrap: balance;
    }
}

@media (max-width: 360px) {
    :where(.pa-container, .container, .container-fluid) {
        --bs-gutter-x: 1rem;
    }

    :where(.btn, .pa-btn) {
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 320px) {
    :where(.pa-container, .container, .container-fluid) {
        --bs-gutter-x: .875rem;
    }

    body {
        font-size: 1rem;
    }
}

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

    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ACP-01 · Reconocimiento y continuidad del Home */
.pa-home-final-cta__intro {
    max-width: 720px;
    margin: 0 auto 1.25rem;
    line-height: 1.7;
}

.pa-public-navbar .pa-navbar-login-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-inline: .75rem;
}

@media (max-width: 575.98px) {
    .pa-final-actions .pa-btn,
    .pa-home-actions .pa-btn {
        width: 100%;
        justify-content: center;
    }
}


/* ==========================================================
   ACP-004 · prevención de errores en la consulta
========================================================== */
.pa-question-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
}

.pa-question-label {
    color: var(--pa-text, #fff7dd);
    font-weight: 800;
}

.pa-question-counter {
    color: var(--pa-text-muted, #b8b9c7);
    font-size: .85rem;
    font-variant-numeric: tabular-nums;
}

.pa-question-counter.is-near-limit {
    color: #f2cf72;
}

.pa-question-counter.is-at-limit {
    color: #ffb4b4;
}

.pa-question-feedback {
    min-height: 1.4rem;
    margin: .35rem 0 0;
    color: var(--pa-text-muted, #b8b9c7);
    font-size: .9rem;
    font-weight: 600;
}

.pa-question-feedback.is-valid {
    color: #bfe6c8;
}

#question-submit:disabled {
    cursor: not-allowed;
    opacity: .58;
    filter: saturate(.65);
}

#question-submit:not(:disabled) {
    transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    #question-submit:not(:disabled) {
        transition: none;
    }
}

/* ==========================================================
   ACP-005 · LECTURA ESCANEABLE Y CONTINUIDAD CLARA
   - Hace visible el orden de lectura.
   - Reduce acciones repetidas al cierre.
   - No altera datos, interpretaciones ni rutas.
========================================================== */
#stage-result .pa-reading-jump a {
    gap: .55rem;
}

#stage-result .pa-reading-jump a > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 1.65rem;
    width: 1.65rem;
    height: 1.65rem;
    border: 1px solid rgba(220, 186, 91, .32);
    border-radius: 50%;
    color: #efd477;
    font-size: .78rem;
    line-height: 1;
    background: rgba(220, 186, 91, .07);
}

#stage-result .pa-reading-reveal-status {
    max-width: 760px;
    margin: 14px auto 0;
    color: rgba(249, 243, 228, .7);
    font-size: .92rem;
    text-align: center;
}

#stage-result .pa-reading-insights__header {
    grid-column: 1 / -1;
    margin-bottom: 2px;
    text-align: left;
}

#stage-result .pa-reading-insights__header .pa-kicker {
    margin: 0 0 6px;
    color: #e2c66d;
}

#stage-result .pa-reading-insights__header h3 {
    max-width: 760px;
    margin: 0;
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.5vw, 1.95rem);
    line-height: 1.2;
}

#stage-result .pa-arcane-card .pa-read-more:first-of-type {
    font-weight: 800;
}

#stage-result .pa-post-reading-actions {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 575.98px) {
    #stage-result .pa-reading-jump a {
        justify-content: flex-start;
        text-align: left;
    }

    #stage-result .pa-reading-reveal-status {
        text-align: left;
    }
}


/* Atlas · continuidad de exploración */
.pa-entity-discovery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.pa-entity-discovery-card {
    position: relative;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(18,29,54,.98), rgba(9,17,33,.98));
}

.pa-entity-discovery-card--daily {
    border-color: rgba(229,189,50,.22);
    background: linear-gradient(145deg, rgba(31,35,55,.98), rgba(14,21,38,.98));
}

.pa-entity-discovery-glyph {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
    border: 1px solid rgba(229,189,50,.28);
    border-radius: 50%;
    color: #efd67d;
    font-size: 1.2rem;
}

.pa-entity-discovery-card h3 {
    margin: 8px 0 12px;
    color: #fff9e9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.pa-entity-discovery-card > p:not(.pa-kicker) {
    min-height: 3.2em;
    color: rgba(248,242,223,.70);
}

@media (max-width: 767.98px) {
    .pa-entity-discovery-grid { grid-template-columns: 1fr; }
    .pa-entity-discovery-card > p:not(.pa-kicker) { min-height: 0; }
}

/* Atlas · pausa de reflexión y curiosidad documentada */
.pa-entity-reflection-question {
    margin: 24px 0 14px;
    padding: 24px 26px;
    border-left: 3px solid var(--pa-entity-gold);
    border-radius: 0 18px 18px 0;
    color: #fff9e9;
    background: linear-gradient(135deg, rgba(229,189,50,.10), rgba(17,30,53,.74));
    font-family: Georgia, serif;
    font-size: clamp(1.2rem, 2.4vw, 1.7rem);
    line-height: 1.55;
}
.pa-entity-reflection-guidance {
    max-width: 760px;
    color: rgba(248,242,223,.68);
}
.pa-entity-curiosity {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    margin-top: 28px;
    padding: 22px;
    border: 1px solid rgba(229,189,50,.20);
    border-radius: 18px;
    background: rgba(10,19,35,.72);
}
.pa-entity-curiosity-glyph {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(229,189,50,.30);
    border-radius: 50%;
    color: var(--pa-entity-gold);
    font-size: 1.45rem;
}
.pa-entity-curiosity p:last-of-type {
    margin-bottom: 10px;
    color: rgba(248,242,223,.78);
}
.pa-entity-curiosity a {
    color: #efd67d;
    font-weight: 800;
    text-decoration: none;
}
.pa-entity-curiosity a:hover,
.pa-entity-curiosity a:focus-visible { text-decoration: underline; }
@media (max-width: 575.98px) {
    .pa-entity-curiosity { grid-template-columns: 1fr; }
    .pa-entity-reflection-question { padding: 20px; }
}

/* Atlas · mapa simbólico interactivo */
.pa-symbolic-network {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    margin-top: 34px;
    padding: 34px;
    border: 1px solid rgba(229,189,50,.16);
    border-radius: 28px;
    background: radial-gradient(circle at center, rgba(229,189,50,.09), transparent 30%), rgba(8,16,32,.72);
}
.pa-symbolic-network::before,
.pa-symbolic-network::after {
    content: "";
    position: absolute;
    top: 50%;
    width: calc(50% - 122px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(229,189,50,.42));
}
.pa-symbolic-network::before { left: 34px; }
.pa-symbolic-network::after { right: 34px; transform: rotate(180deg); }
.pa-symbolic-network__branch { position: relative; z-index: 1; }
.pa-symbolic-network__branch > p {
    margin: 0 0 12px;
    color: var(--pa-entity-gold);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.pa-symbolic-network__nodes { display: grid; gap: 10px; }
.pa-symbolic-node {
    display: block;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 16px;
    color: inherit;
    text-decoration: none;
    background: linear-gradient(145deg, rgba(20,31,55,.98), rgba(10,18,34,.98));
    transition: transform .2s ease, border-color .2s ease;
}
.pa-symbolic-node:hover,
.pa-symbolic-node:focus-visible { transform: translateY(-2px); border-color: rgba(229,189,50,.45); }
.pa-symbolic-node small,
.pa-symbolic-node strong,
.pa-symbolic-node span { display: block; }
.pa-symbolic-node small { color: rgba(248,242,223,.55); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.pa-symbolic-node strong { margin-top: 2px; color: #fff9e9; }
.pa-symbolic-node span { margin-top: 3px; color: rgba(248,242,223,.58); font-size: .78rem; }
.pa-symbolic-network__center {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    min-height: 190px;
    padding: 24px;
    border: 1px solid rgba(229,189,50,.44);
    border-radius: 50%;
    text-align: center;
    background: radial-gradient(circle, rgba(229,189,50,.16), rgba(12,22,42,.98) 68%);
    box-shadow: 0 0 42px rgba(229,189,50,.08);
}
.pa-symbolic-network__center > span { color: #efd67d; font-size: 2rem; }
.pa-symbolic-network__center small { color: rgba(248,242,223,.58); font-size: .67rem; text-transform: uppercase; letter-spacing: .1em; }
.pa-symbolic-network__center strong { color: #fff9e9; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.15; }
.pa-symbolic-network__cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin-top: 14px;
}
.pa-symbolic-network__cards a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    color: #fff9e9;
    text-decoration: none;
    background: rgba(13,22,40,.88);
}
.pa-symbolic-network__cards a:hover,
.pa-symbolic-network__cards a:focus-visible { border-color: rgba(229,189,50,.38); }
.pa-symbolic-network__cards span { color: #efd67d; font-family: Georgia, serif; font-size: 1.15rem; }
.pa-symbolic-network__cards strong { font-size: .86rem; }
@media (max-width: 991.98px) {
    .pa-symbolic-network { grid-template-columns: 1fr; }
    .pa-symbolic-network::before,
    .pa-symbolic-network::after { display: none; }
    .pa-symbolic-network__center { order: -1; width: 190px; margin: 0 auto; }
    .pa-symbolic-network__cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
    .pa-symbolic-network { padding: 22px; }
    .pa-symbolic-network__cards { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .pa-symbolic-node { transition: none; }
}

/* Atlas: progreso local de exploración */
.pa-atlas-progress {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 28px 0 52px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(229,189,50,.18);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(229,189,50,.065), rgba(255,255,255,.025));
}

.pa-atlas-progress h2 { margin-bottom: 8px; }
.pa-atlas-progress p { margin-bottom: 0; color: rgba(248,242,223,.72); }
.pa-atlas-progress__actions { display: grid; justify-items: end; gap: 12px; text-align: right; }
.pa-atlas-progress__actions strong { color: #f0d374; font-size: 1rem; }

@media (max-width: 767.98px) {
    .pa-atlas-progress { align-items: stretch; flex-direction: column; }
    .pa-atlas-progress__actions { justify-items: start; text-align: left; }
}

/* Atlas: compartir un concepto sin datos personales */
.pa-atlas-share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 28px 0 52px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(229,189,50,.22);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(229,189,50,.08), rgba(12,22,42,.82));
}
.pa-atlas-share h2 { margin-bottom: 8px; }
.pa-atlas-share__copy p:last-child { margin-bottom: 0; color: rgba(248,242,223,.72); }
.pa-atlas-share__actions { min-width: min(100%, 220px); text-align: center; }
.pa-atlas-share__status { min-height: 1.4em; margin: 10px 0 0; color: rgba(248,242,223,.72); font-size: .84rem; }
@media (max-width: 767.98px) {
    .pa-atlas-share { align-items: stretch; flex-direction: column; }
    .pa-atlas-share__actions { min-width: 0; text-align: left; }
    .pa-atlas-share__actions .btn { width: 100%; }
}

/* Atlas: continuidad privada desde la portada */
.pa-atlas-resume {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid rgba(229,189,50,.22);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(229,189,50,.08), rgba(12,22,42,.76));
}
.pa-atlas-resume[hidden] { display: none !important; }
.pa-atlas-resume__copy { max-width: 620px; }
.pa-atlas-resume__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
@media (max-width: 767.98px) {
    .pa-atlas-resume { align-items: stretch; flex-direction: column; }
    .pa-atlas-resume__links { justify-content: flex-start; }
    .pa-atlas-resume__links .btn { width: 100%; }
}


/* ==========================================================
   UX-002 · Claridad del primer visitante en Home y navegación
========================================================== */
.pa-public-navbar .container {
    max-width: 1440px;
}

.pa-public-navbar .navbar-nav {
    flex-shrink: 0;
}

.pa-public-navbar .nav-link {
    white-space: nowrap;
    padding-inline: .7rem;
}

.pa-public-navbar .orion-search {
    flex: 1 1 230px;
    min-width: 190px;
    max-width: 310px;
}

.pa-public-navbar .orion-search-input {
    width: 100%;
}

.pa-public-navbar .pa-navbar-login-link,
.pa-public-navbar .pa-navbar-cta,
.pa-public-navbar .pa-btn {
    white-space: nowrap;
}

.pa-question-examples {
    margin-bottom: .9rem;
}

.pa-question-examples + .pa-input {
    margin-top: 0;
}

@media (max-width: 1199.98px) {
    .pa-public-navbar .orion-search {
        max-width: none;
        width: 100%;
        margin-block: 1rem;
    }

    .pa-public-navbar .navbar-nav {
        align-items: stretch !important;
    }

    .pa-public-navbar .nav-link {
        white-space: normal;
    }
}

/* ==========================================================
   UX-003 · Pulido de legibilidad, foco y continuidad en Home
========================================================== */

/* El título principal de ORION debe conservar contraste suficiente
   sobre el panel oscuro, independientemente de reglas heredadas. */
.pa-orion-intro #pa-orion-intro-title {
    color: #fff7dd;
    text-shadow: 0 0 28px rgba(231, 199, 111, .16);
}

.pa-orion-intro > :first-child > p:not(.pa-kicker):not(.pa-orion-intro__lead) {
    color: rgba(246, 231, 184, .82);
    line-height: 1.75;
}

/* Acciones y enlaces importantes muestran un foco inequívoco sin
   depender únicamente del color. */
.pa-home-premium :where(a, button, textarea, input):focus-visible,
.pa-public-navbar :where(a, button, input):focus-visible {
    outline: 3px solid #f2c75c;
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(242, 199, 92, .16);
}

.pa-public-navbar .nav-link,
.pa-public-navbar .pa-navbar-login-link,
.pa-public-navbar .pa-btn,
.pa-home-premium .pa-btn,
.pa-home-premium .pa-suggestion-chips button {
    min-height: 44px;
}

.pa-home-premium .pa-suggestion-chips button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Las métricas son enlaces de aprendizaje, no cifras decorativas. */
.pa-home-stats-bar a {
    min-height: 92px;
    display: grid;
    align-content: center;
    padding: 1.1rem .75rem;
    text-decoration: none;
}

.pa-home-stats-bar a:focus-visible {
    outline-offset: -4px;
}

/* Refuerza la secuencia de cuatro pasos sin añadir JavaScript. */
@media (min-width: 992px) {
    .pa-process-grid {
        position: relative;
    }

    .pa-process-grid::before {
        content: "";
        position: absolute;
        top: 41px;
        left: 11%;
        right: 11%;
        height: 2px;
        background: linear-gradient(90deg, transparent, rgba(201, 162, 39, .34) 12%, rgba(201, 162, 39, .34) 88%, transparent);
        pointer-events: none;
    }

    .pa-process-grid article {
        position: relative;
        z-index: 1;
    }
}

/* En pantallas pequeñas las acciones conservan área táctil y texto
   completo, evitando botones comprimidos. */
@media (max-width: 575.98px) {
    .pa-question-box .pa-suggestion-chips {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pa-question-box .pa-suggestion-chips button {
        width: 100%;
    }

    .pa-home-stats-bar a {
        min-width: 112px;
    }
}


/* ==========================================================
   IDENTIDAD PÚBLICA · CLARIDAD Y ACCESIBILIDAD UX-004
========================================================== */
.pa-auth-benefits {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
    display: grid;
    gap: .85rem;
}
.pa-auth-benefits li {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: rgba(248, 242, 223, .94);
    font-weight: 700;
}
.pa-auth-benefits li span {
    display: inline-grid;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 1.65rem;
    border-radius: 50%;
    color: #111827;
    background: #e4c35c;
}
.pa-auth-privacy {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(228, 195, 92, .22);
    color: rgba(248, 242, 223, .78) !important;
    font-size: .94rem !important;
}
.pa-auth-form-intro {
    margin: 0 0 1.35rem;
    padding: .85rem 1rem;
    border-radius: 14px;
    color: #364158;
    background: #f6f2e8;
    border: 1px solid #e7dfcc;
}
.pa-auth-card .form-text {
    color: #5d6678;
}
.pa-auth-card .input-group .btn {
    min-width: 88px;
    border-color: #c9bfa9;
    color: #4d3a08;
    font-weight: 700;
}
.pa-auth-card .input-group .btn:hover,
.pa-auth-card .input-group .btn:focus-visible {
    background: #f3ead0;
    border-color: #b58c20;
    color: #2a210c;
}
.pa-auth-card .form-check-input:focus,
.pa-auth-card a:focus-visible,
.pa-auth-card button:focus-visible {
    outline: 3px solid rgba(181, 140, 32, .48);
    outline-offset: 3px;
}
.pa-auth-card .form-check-label {
    color: #30394b;
}
@media (max-width: 991.98px) {
    .pa-auth-main { padding-top: 2rem !important; }
    .pa-auth-intro h1 { font-size: clamp(2.25rem, 11vw, 3.6rem); }
    .pa-auth-benefits { margin: 1.5rem 0; }
}


/* ==========================================================
   CIERRE FASE 1 · FOOTER Y RECUPERACIÓN PÚBLICA UX-005
========================================================== */
.pa-public-footer .pa-footer-links {
    display: grid;
    gap: .58rem;
}
.pa-public-footer .pa-footer-links a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    color: rgba(248, 242, 223, .84);
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
}
.pa-public-footer .pa-footer-links a:hover,
.pa-public-footer .pa-footer-links a:focus-visible {
    color: #f2c75c;
}
.pa-public-footer .pa-footer-links a:focus-visible {
    outline: 3px solid rgba(242, 199, 92, .52);
    outline-offset: 4px;
    border-radius: 4px;
}
.pa-footer-trust,
.pa-footer-responsible {
    color: rgba(248, 242, 223, .7);
    line-height: 1.65;
}
.pa-footer-bottom {
    color: rgba(248, 242, 223, .68);
}
.pa-public-not-found {
    min-height: 68vh;
    display: grid;
    align-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(201, 162, 39, .13), transparent 34%),
        #080d21;
}
.pa-not-found-card {
    width: min(100%, 840px);
    padding: clamp(2rem, 6vw, 4.25rem);
    border: 1px solid rgba(226, 190, 83, .32);
    border-radius: 28px;
    text-align: center;
    color: #fff7dd;
    background: linear-gradient(145deg, rgba(18, 25, 58, .97), rgba(7, 12, 34, .98));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
}
.pa-not-found-card h1 {
    margin: .5rem 0 1rem;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(2.7rem, 8vw, 5rem);
    line-height: .98;
}
.pa-not-found-seal {
    width: 92px;
    height: 92px;
    margin: 0 auto 1.5rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(242, 199, 92, .46);
    border-radius: 50%;
    color: #f2c75c;
    background: rgba(242, 199, 92, .06);
}
.pa-not-found-seal span {
    font-size: 1.2rem;
    line-height: 1;
}
.pa-not-found-seal strong {
    font-size: 1.55rem;
    line-height: 1;
}
.pa-not-found-lead {
    max-width: 58ch;
    margin: 0 auto .65rem;
    color: rgba(248, 242, 223, .88);
    font-size: 1.08rem;
    line-height: 1.7;
}
.pa-not-found-help {
    color: rgba(248, 242, 223, .66);
}
.pa-not-found-actions {
    margin: 1.75rem 0 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
}
.pa-not-found-search {
    max-width: 590px;
    margin: 0 auto;
    text-align: left;
}
.pa-not-found-search label {
    display: block;
    margin-bottom: .55rem;
    font-weight: 700;
}
.pa-not-found-search .form-control {
    min-height: 48px;
    border-color: rgba(242, 199, 92, .28);
    color: #162036;
    background: #fffdf7;
}
.pa-not-found-search :where(input, button):focus-visible {
    outline: 3px solid #f2c75c;
    outline-offset: 3px;
}
@media (max-width: 575.98px) {
    .pa-not-found-actions .pa-btn {
        width: 100%;
    }
    .pa-not-found-search .input-group {
        display: grid;
        gap: .65rem;
    }
    .pa-not-found-search .input-group > * {
        width: 100%;
        border-radius: 999px !important;
    }
}

/* Fase 2 · Mi Camino: buscador privado de lecturas y reflexiones */
.pa-path-search {
    margin: clamp(1.5rem, 4vw, 3rem) 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(191, 157, 84, .28);
    border-radius: 1.25rem;
    background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 245, 238, .94));
    box-shadow: 0 18px 44px rgba(25, 20, 38, .08);
}
.pa-path-search__header h2 { margin-bottom: .45rem; }
.pa-path-search__header p { margin: 0; max-width: 65ch; color: var(--pa-text-muted, #675f72); }
.pa-path-search__controls { margin-top: 1.15rem; }
.pa-path-search__field { position: relative; display: flex; align-items: center; }
.pa-path-search__field > span { position: absolute; left: 1rem; z-index: 2; color: #71657c; font-size: 1.1rem; }
.pa-path-search__field .form-control { min-height: 3.25rem; padding-left: 2.75rem; padding-right: 5rem; border-radius: .9rem; }
.pa-path-search__field .btn-link { position: absolute; right: .35rem; z-index: 2; min-height: 2.5rem; text-decoration: none; }
.pa-path-search__filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }
.pa-path-search__filters button { min-height: 2.5rem; padding: .45rem .85rem; border: 1px solid rgba(81, 62, 96, .22); border-radius: 999px; background: #fff; color: #4b3f55; font-weight: 650; }
.pa-path-search__filters button:hover,
.pa-path-search__filters button:focus-visible,
.pa-path-search__filters button.is-active { border-color: #8f6f2e; background: #fff7df; color: #5d4517; }

.pa-path-organize {
    display: grid;
    gap: .9rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(81, 62, 96, .12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .68);
}
.pa-path-organize > div:first-child { display: grid; gap: .15rem; }
.pa-path-organize > div:first-child span { color: #73697a; font-size: .92rem; }
.pa-path-organize__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.pa-path-organize__fields label { display: grid; gap: .35rem; margin: 0; }
.pa-path-organize__fields label > span { color: #55495f; font-size: .86rem; font-weight: 700; }
.pa-path-organize__fields .form-select { min-height: 2.85rem; border-radius: .8rem; }
.pa-path-organize__reset { justify-self: start; min-height: 2.5rem; padding-inline: 0; text-decoration: none; }
[data-path-item][hidden] { display: none !important; }

.pa-path-search__status { margin: .9rem 0 0; color: #675f72; font-size: .94rem; }
.pa-path-search__results { margin-top: .85rem; }
.pa-path-search__list { display: grid; gap: .6rem; }
.pa-path-search__list a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: .8rem; padding: .85rem 1rem; border: 1px solid rgba(81, 62, 96, .14); border-radius: .9rem; background: rgba(255,255,255,.88); color: inherit; text-decoration: none; }
.pa-path-search__list a:hover,
.pa-path-search__list a:focus-visible { border-color: rgba(143, 111, 46, .55); box-shadow: 0 10px 24px rgba(36, 27, 46, .08); transform: translateY(-1px); }
.pa-path-search__list small { display: block; color: #776c7f; }
.pa-path-search__list strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-path-search__icon { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: #f2ead7; color: #6f531d; }
.pa-path-search__important { color: #97711f; }
.pa-path-search__arrow { color: #765b25; }
.pa-path-search__empty { display: grid; gap: .2rem; padding: 1rem; border-radius: .9rem; background: rgba(255,255,255,.72); }
.pa-path-item--located { animation: pa-path-located 1.8s ease; }
@keyframes pa-path-located { 0%, 100% { box-shadow: inherit; } 25%, 70% { box-shadow: 0 0 0 4px rgba(190, 147, 52, .28), 0 18px 42px rgba(38, 27, 48, .12); } }
@media (max-width: 575.98px) {
    .pa-path-search { padding: 1rem; border-radius: 1rem; }
    .pa-path-search__filters { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .pa-path-search__filters button { width: 100%; }
    .pa-path-organize__fields { grid-template-columns: 1fr; }
    .pa-path-search__list a { grid-template-columns: auto minmax(0,1fr) auto; }
    .pa-path-search__important { display: none; }
    .pa-path-search__arrow { grid-column: 3; }
}
@media (prefers-reduced-motion: reduce) {
    .pa-path-item--located { animation: none; outline: 3px solid rgba(190,147,52,.45); outline-offset: 3px; }
}

/* MC-003 · Continuidad visible dentro de Mi Camino */
.pa-continue-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin: 1.25rem 0;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(143, 111, 46, .28);
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(255, 250, 235, .96), rgba(255, 255, 255, .94));
    box-shadow: 0 12px 30px rgba(44, 31, 53, .07);
}
.pa-continue-card__icon {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f1e4bd;
    color: #674c17;
    font-size: 1.25rem;
}
.pa-continue-card__content h3 { margin: .2rem 0 .35rem; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.pa-continue-card__content p { margin: 0; color: var(--pa-text-muted, #675f72); }
.pa-continue-card__actions { display: flex; flex-direction: column; align-items: stretch; gap: .55rem; min-width: 12rem; text-align: center; }
.pa-continue-card__actions > a:not(.btn) { font-weight: 650; font-size: .92rem; }
.pa-continue-card--empty { border-style: dashed; }
@media (max-width: 767.98px) {
    .pa-continue-card { grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
    .pa-continue-card__actions { grid-column: 1 / -1; min-width: 0; }
    .pa-continue-card__actions .btn { width: 100%; }
}

/* MC-004 · Mi Camino como experiencia personal, no como panel administrativo */
.pa-dashboard__welcome {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(143, 111, 46, .18);
    border-radius: 1.35rem;
    background: linear-gradient(135deg, rgba(255, 253, 248, .98), rgba(255, 247, 229, .92));
}
.pa-dashboard__welcome::after {
    content: "◇";
    position: absolute;
    right: 1.2rem;
    bottom: -.8rem;
    color: rgba(143, 111, 46, .09);
    font-size: 6rem;
    line-height: 1;
    pointer-events: none;
}
.pa-dashboard__welcome > * { position: relative; z-index: 1; }
.pa-path-numbers { margin-top: 1.35rem; }
.pa-path-numbers > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .6rem; row-gap: .05rem; }
.pa-path-numbers > div > span[aria-hidden] { grid-row: 1 / 3; width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; background: rgba(241, 228, 189, .78); color: #674c17; }
.pa-path-numbers strong { align-self: end; }
.pa-path-numbers > div > span:last-child { align-self: start; }
.pa-timeline__more { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 1rem; background: rgba(255,255,255,.66); }
.pa-timeline__more p { margin: 0; color: #675f72; }
.pa-timeline__more > div { display: flex; flex-wrap: wrap; gap: .8rem; }
.pa-timeline__more a { font-weight: 700; }
#mis-datos { margin-top: 3rem; padding: 1.2rem; border: 1px solid rgba(81,62,96,.12); border-radius: 1.15rem; background: rgba(255,255,255,.64); }
#mis-datos .pa-space-section__heading { margin-bottom: 1rem; }
.pa-path-closing { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; align-items: start; margin-top: 2.5rem; padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid rgba(143,111,46,.22); border-radius: 1.25rem; background: linear-gradient(135deg, rgba(255,250,235,.94), rgba(255,255,255,.92)); text-align: left; }
.pa-path-closing > span { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: #f1e4bd; color: #674c17; font-size: 1.25rem; }
.pa-path-closing h2 { margin: .2rem 0 .45rem; font-size: clamp(1.3rem, 2.5vw, 1.75rem); }
.pa-path-closing p { margin: 0; color: #675f72; }
@media (max-width: 767.98px) {
    .pa-dashboard__welcome { align-items: stretch; }
    .pa-dashboard__welcome .pa-dashboard__primary { width: 100%; }
    .pa-path-numbers > div { min-height: 4.6rem; }
    .pa-timeline__more { align-items: flex-start; flex-direction: column; }
    .pa-path-closing { grid-template-columns: 1fr; }
}

/* MC-005 · Capítulo mensual de Mi Camino */
.pa-path-chapter{margin:1.5rem 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(115,86,40,.18);border-radius:1.35rem;background:linear-gradient(145deg,rgba(255,252,244,.98),rgba(250,244,229,.9));box-shadow:0 18px 44px rgba(55,38,17,.06)}
.pa-path-chapter__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.pa-path-chapter__heading h2{margin:.25rem 0 .35rem}.pa-path-chapter__heading p{margin:0;max-width:44rem;color:var(--pa-muted,#6f675d)}
.pa-path-chapter__mark{display:grid;place-items:center;flex:0 0 3rem;width:3rem;height:3rem;border-radius:50%;background:rgba(164,121,42,.1);font-size:1.45rem}
.pa-path-chapter__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.35rem}.pa-path-chapter__metrics div{padding:1rem;border:1px solid rgba(115,86,40,.12);border-radius:1rem;background:rgba(255,255,255,.7);text-align:center}.pa-path-chapter__metrics strong{display:block;font-family:var(--pa-font-display,serif);font-size:clamp(1.65rem,4vw,2.25rem);line-height:1}.pa-path-chapter__metrics span{display:block;margin-top:.35rem;color:var(--pa-muted,#6f675d)}
.pa-path-chapter__themes{margin-top:1.25rem}.pa-path-chapter__themes>span{font-weight:700}.pa-path-chapter__themes ul{display:flex;flex-wrap:wrap;gap:.55rem;margin:.65rem 0 0;padding:0;list-style:none}.pa-path-chapter__themes li{padding:.45rem .75rem;border-radius:999px;background:rgba(164,121,42,.1);font-size:.92rem}
.pa-path-chapter__note{margin:1rem 0 0;font-size:.9rem;color:var(--pa-muted,#6f675d)}.pa-path-chapter__empty{margin-top:1.25rem}.pa-path-chapter__empty p{margin-bottom:1rem}.pa-path-chapter__empty>div{display:flex;flex-wrap:wrap;gap:.75rem}
@media(max-width:575.98px){.pa-path-chapter__metrics{grid-template-columns:1fr}.pa-path-chapter__mark{display:none}.pa-path-chapter__empty>div .btn{width:100%}}

/* MC-006/007 — capítulos históricos y memoria anual */
.pa-path-archive{margin:clamp(1.5rem,3vw,2.5rem) 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(129,94,34,.18);border-radius:1.5rem;background:linear-gradient(180deg,rgba(255,253,247,.98),rgba(250,245,234,.96));box-shadow:0 1rem 2.5rem rgba(78,54,20,.06)}
.pa-path-archive__heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.pa-path-archive__heading h2{margin:.2rem 0 .4rem}.pa-path-archive__heading p{margin:0;max-width:48rem;color:var(--pa-muted,#6f665a)}
.pa-path-archive__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.pa-path-archive__card{padding:1.1rem;border:1px solid rgba(129,94,34,.15);border-radius:1rem;background:rgba(255,255,255,.72)}
.pa-path-archive__month{display:block;font-weight:700;color:var(--pa-accent,#7b5314);letter-spacing:.02em;margin-bottom:.35rem}.pa-path-archive__card>strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;margin-bottom:.9rem}
.pa-path-archive__card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0}.pa-path-archive__card dl div{padding:.65rem .5rem;border-radius:.75rem;background:rgba(244,237,221,.72);text-align:center}.pa-path-archive__card dt{font-size:.74rem;color:var(--pa-muted,#6f665a);font-weight:600}.pa-path-archive__card dd{margin:.2rem 0 0;font-weight:800;font-size:1.05rem}
.pa-path-memory{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;margin-top:1rem;padding:1rem 1.1rem;border-radius:1rem;background:rgba(64,43,72,.96);color:#fff}.pa-path-memory__icon{font-size:1.7rem;color:#f1d99b}.pa-path-memory h3{color:#fff;margin:.15rem 0 .35rem}.pa-path-memory p{margin:0;color:rgba(255,255,255,.82)}.pa-path-memory .pa-eyebrow{color:#f1d99b}.pa-path-archive__note{margin:1rem 0 0;font-size:.88rem;color:var(--pa-muted,#6f665a)}
@media (max-width:767.98px){.pa-path-archive__grid{grid-template-columns:1fr}.pa-path-memory{grid-template-columns:auto 1fr}.pa-path-memory .btn{grid-column:1/-1;width:100%}.pa-path-archive__card dl{grid-template-columns:1fr}.pa-path-archive__card dl div{display:flex;justify-content:space-between;align-items:center;text-align:left}.pa-path-archive__card dd{margin:0}}

/* MC-008: exploración rápida y listas progresivas de Mi Camino */
.pa-path-search__suggestions{display:flex;align-items:flex-start;gap:.8rem;flex-wrap:wrap;padding:.2rem 0 .35rem}
.pa-path-search__suggestions>span{font-size:.82rem;font-weight:700;color:var(--pa-muted,#6f665a);padding-top:.45rem}
.pa-path-search__suggestions>div{display:flex;gap:.5rem;flex-wrap:wrap}
.pa-path-search__suggestions button{border:1px solid rgba(129,94,34,.2);border-radius:999px;background:rgba(255,255,255,.78);color:var(--pa-accent,#7b5314);font-weight:700;padding:.42rem .72rem;min-height:2.25rem}
.pa-path-search__suggestions button:hover,.pa-path-search__suggestions button:focus-visible{background:rgba(244,237,221,.9);border-color:rgba(129,94,34,.42)}
.pa-path-item--collapsed{display:none!important}
.pa-path-list-toggle{display:block;margin:1rem auto 0;min-width:min(100%,18rem)}
@media(max-width:575.98px){.pa-path-search__suggestions{display:block}.pa-path-search__suggestions>span{display:block;margin-bottom:.55rem}.pa-path-search__suggestions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pa-path-search__suggestions button{width:100%}}

/* MC-009 — acciones rápidas, colección y observación descriptiva */
.pa-path-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 1.35rem}
.pa-path-quick-actions a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center;padding:.85rem 1rem;border:1px solid rgba(129,94,34,.16);border-radius:1rem;background:rgba(255,255,255,.78);color:inherit;text-decoration:none;box-shadow:0 .45rem 1.2rem rgba(67,46,22,.035);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.pa-path-quick-actions a:hover,.pa-path-quick-actions a:focus-visible{transform:translateY(-2px);border-color:rgba(129,94,34,.38);box-shadow:0 .75rem 1.6rem rgba(67,46,22,.08)}
.pa-path-quick-actions a>span:first-child{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:rgba(164,121,42,.11);color:var(--pa-accent,#7b5314);font-size:1.05rem}
.pa-path-quick-actions strong,.pa-path-quick-actions small{display:block}.pa-path-quick-actions strong{font-size:.94rem}.pa-path-quick-actions small{margin-top:.08rem;color:var(--pa-muted,#6f665a);font-size:.75rem;line-height:1.25}
@media(max-width:991.98px){.pa-path-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.pa-path-quick-actions{grid-template-columns:1fr}.pa-path-quick-actions a{min-height:4rem}}

/* MC-010/011/012 · Colección enfocada + Bitácora del Camino */
.pa-path-chapter__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.pa-path-archive__card{display:flex;flex-direction:column}
.pa-path-archive__explore{margin-top:1rem;padding:.7rem 0 0;border:0;border-top:1px solid rgba(129,94,34,.12);background:transparent;color:var(--pa-accent,#7b5314);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.pa-path-archive__explore:hover{text-decoration:underline}
.pa-path-archive__explore:focus-visible,.pa-space-insight li button:focus-visible,.pa-important__filters button:focus-visible{outline:3px solid rgba(123,83,20,.28);outline-offset:3px}
.pa-space-insight li button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .2rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:.5rem}
.pa-space-insight li button:hover{background:rgba(123,83,20,.07)}
.pa-space-insight li button span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color .18s ease}
.pa-space-insight li button:hover span{text-decoration-color:currentColor}
.pa-important__filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.pa-important__filters button{min-height:2.65rem;padding:.55rem .9rem;border:1px solid rgba(89,63,96,.18);border-radius:999px;background:rgba(255,255,255,.72);color:#594460;font:inherit;font-weight:700;cursor:pointer}
.pa-important__filters button:hover,.pa-important__filters button.is-active{background:#594460;color:#fff;border-color:#594460}
.pa-important__filter-status{min-height:1.35rem;margin:.65rem 0 0;color:var(--pa-muted,#6f665a);font-size:.88rem}
.pa-important__item[hidden]{display:none!important}
@media (max-width:575.98px){.pa-path-chapter__actions .btn{width:100%}.pa-important__filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pa-important__filters button{padding-inline:.5rem}}
@media (prefers-reduced-motion:reduce){.pa-space-insight li button span{transition:none}}

/* Fase 3 — Memoria Inteligente */
.pa-memory {
    margin-top: 2rem;
    padding: clamp(1.25rem, 2vw, 2rem);
    border: 1px solid rgba(133, 105, 40, .18);
    border-radius: 1.5rem;
    background: linear-gradient(180deg, rgba(255, 252, 244, .96), rgba(249, 246, 237, .9));
}
.pa-memory__header { max-width: 54rem; margin-bottom: 1.25rem; }
.pa-memory__header h2 { margin-bottom: .5rem; }
.pa-memory__header p { margin-bottom: 0; color: var(--pa-text-muted, #5f6170); }
.pa-memory__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pa-memory-card {
    min-width: 0;
    padding: 1.15rem;
    border: 1px solid rgba(33, 36, 61, .1);
    border-radius: 1.15rem;
    background: rgba(255,255,255,.78);
    box-shadow: 0 12px 30px rgba(23, 28, 53, .05);
}
.pa-memory-card--wide { grid-column: 1 / -1; }
.pa-memory-card__icon { display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-bottom: .6rem; border-radius: 50%; background: rgba(201,162,39,.12); color: #8a6e14; }
.pa-memory-card h3 { margin-bottom: .45rem; font-size: 1.15rem; }
.pa-memory-card p { color: var(--pa-text-muted, #5f6170); }
.pa-memory-list { display: grid; gap: .45rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.pa-memory-list button,
.pa-memory-years button {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .7rem .8rem;
    border: 1px solid rgba(33,36,61,.1);
    border-radius: .8rem;
    background: #fff;
    color: inherit;
    text-align: left;
}
.pa-memory-list button:hover,
.pa-memory-years button:hover { border-color: rgba(201,162,39,.55); transform: translateY(-1px); }
.pa-memory-list button:focus-visible,
.pa-memory-years button:focus-visible { outline: 3px solid rgba(201,162,39,.35); outline-offset: 2px; }
.pa-memory-list strong { white-space: nowrap; font-size: .82rem; color: #7c671e; }
.pa-memory-years { display: grid; gap: .55rem; margin-top: .8rem; }
.pa-memory-years button { align-items: flex-start; flex-direction: column; }
.pa-memory-years button strong { font-size: 1.05rem; }
.pa-memory-years button span { font-size: .88rem; color: var(--pa-text-muted, #5f6170); }
.pa-memory-card blockquote { margin: 1rem 0; padding: .9rem 1rem; border-left: 3px solid rgba(201,162,39,.55); background: rgba(201,162,39,.06); border-radius: 0 .8rem .8rem 0; }
.pa-memory-card__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: .9rem 0 .65rem; }
.pa-memory-card small { color: var(--pa-text-muted, #5f6170); }
.pa-memory__privacy { display: flex; gap: .55rem; align-items: flex-start; margin: 1rem 0 0; font-size: .88rem; color: var(--pa-text-muted, #5f6170); }
@media (max-width: 767.98px) {
    .pa-memory__grid { grid-template-columns: 1fr; }
    .pa-memory-card--wide { grid-column: auto; }
    .pa-memory-card__actions .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .pa-memory-list button,
    .pa-memory-years button { transition: none !important; transform: none !important; }
}


/* ============================================================
   AST-001 · Atlas Astrológico
   ============================================================ */
.pa-astro{background:linear-gradient(180deg,#fbf8f1 0,#fff 34rem);min-height:70vh}
.pa-astro-hero,.pa-astro-section-head,.pa-astro-detail-head{padding:clamp(3.5rem,7vw,6.5rem) 0;background:radial-gradient(circle at 85% 20%,rgba(188,153,73,.16),transparent 34%),linear-gradient(135deg,#101b35,#17284a);color:#fff}
.pa-astro-hero h1,.pa-astro-section-head h1,.pa-astro-detail-head h1{max-width:850px;font-size:clamp(2.25rem,5vw,4.6rem);line-height:1.02;margin:.45rem 0 1.25rem}
.pa-astro-lead{max-width:800px;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.75;opacity:.9}
.pa-astro-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.pa-astro-note{font-size:.92rem;opacity:.78}
.pa-astro-family{height:100%;display:grid;grid-template-columns:auto 1fr auto;gap:1.15rem;align-items:center;padding:1.4rem;border:1px solid rgba(25,42,73,.12);border-radius:1.15rem;background:#fff;color:inherit;text-decoration:none;box-shadow:0 12px 35px rgba(24,39,69,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pa-astro-family:hover,.pa-astro-family:focus-visible{transform:translateY(-2px);box-shadow:0 16px 40px rgba(24,39,69,.11);border-color:rgba(188,153,73,.45)}
.pa-astro-family strong{display:block;font-size:1.2rem}.pa-astro-family small{display:block;color:#657087;line-height:1.55;margin-top:.25rem}
.pa-astro-glyph,.pa-astro-card-glyph{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#f5eddb;color:#8b6822;font-size:1.55rem}
.pa-astro-principle{max-width:920px;padding:clamp(1.6rem,4vw,3rem);border-radius:1.35rem;background:#f6f1e6;border:1px solid rgba(139,104,34,.18)}
.pa-astro-principle h2{font-size:clamp(1.6rem,3vw,2.35rem)}
.pa-astro-back{display:inline-block;color:#e8d6a5;text-decoration:none;margin-bottom:1rem}
.pa-astro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pa-astro-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.2rem;border-radius:1rem;border:1px solid rgba(25,42,73,.12);background:#fff;color:inherit;text-decoration:none;min-height:116px}
.pa-astro-card:hover,.pa-astro-card:focus-visible{border-color:rgba(188,153,73,.55);box-shadow:0 10px 28px rgba(24,39,69,.08)}
.pa-astro-card-copy strong,.pa-astro-card-copy small{display:block}.pa-astro-card-copy small{color:#697388;line-height:1.45;margin-top:.2rem}
.pa-astro-card-arrow{font-size:1.2rem;color:#8b6822}
.pa-astro-detail-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.pa-astro-detail-symbol{width:clamp(7rem,16vw,12rem);aspect-ratio:1;border:1px solid rgba(232,214,165,.35);border-radius:50%;display:grid;place-items:center;font-size:clamp(3.4rem,8vw,6.5rem);color:#e8d6a5}
.pa-astro-reading{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:2rem;align-items:start;max-width:1050px}
.pa-astro-reading section,.pa-astro-reading aside{padding:clamp(1.4rem,3vw,2.25rem);border-radius:1.15rem;background:#fff;border:1px solid rgba(25,42,73,.12)}
.pa-astro-reading section p{font-size:1.08rem;line-height:1.8}.pa-astro-reading aside p{color:#626d82;line-height:1.7}
.pa-astro-keywords{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.pa-astro-keywords span{padding:.45rem .75rem;border-radius:999px;background:#f5eddb;color:#6e5420;font-size:.9rem}
@media(max-width:991.98px){.pa-astro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-astro-reading{grid-template-columns:1fr}}
@media(max-width:575.98px){.pa-astro-grid{grid-template-columns:1fr}.pa-astro-detail-grid{grid-template-columns:1fr}.pa-astro-detail-symbol{width:7rem}.pa-astro-family{grid-template-columns:auto 1fr}.pa-astro-family>span:last-child{display:none}}

/* ============================================================
   AST-002-T02 · Posición de los planetas hoy
   ============================================================ */
.pa-astro-now-page{--pa-astro-border:rgba(25,42,73,.12)}
.pa-astro-now-hero{padding-bottom:clamp(3rem,6vw,5rem)}
.pa-astro-now-loading,.pa-astro-now-status{padding:1rem 1.15rem;border-radius:1rem;background:#fff;border:1px solid var(--pa-astro-border);box-shadow:0 8px 28px rgba(24,39,69,.06)}
.pa-astro-now-status[data-kind="error"]{border-color:rgba(148,54,45,.25);background:#fff8f6}
.pa-astro-now-overview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.65fr);gap:1.25rem;align-items:stretch}
.pa-astro-now-wheel-card,.pa-astro-now-moon,.pa-astro-now-section,.pa-astro-now-explain>div{background:#fff;border:1px solid var(--pa-astro-border);border-radius:1.25rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 10px 32px rgba(24,39,69,.055)}
.pa-astro-now-wheel-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(300px,1fr);gap:1.25rem;align-items:center}
#pa-astro-now-wheel{width:100%;max-width:470px;margin:auto;overflow:visible}
.pa-wheel-ring{fill:#fbf8f1;stroke:#b9984c;stroke-width:1.4}.pa-wheel-ring-inner{fill:#fff;stroke-opacity:.55}
.pa-wheel-line{stroke:#cfc5ac;stroke-width:1}.pa-wheel-sign{font-size:22px;text-anchor:middle;dominant-baseline:middle;fill:#805f1f}
.pa-wheel-planet{fill:#17284a;stroke:#e7c869;stroke-width:1.4}.pa-wheel-planet-label{font-size:16px;text-anchor:middle;dominant-baseline:middle;fill:#fff}
.pa-astro-now-moon{text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}
.pa-astro-now-moon-glyph{font-size:4.8rem;color:#9c792d;line-height:1;margin:.5rem 0}
.pa-astro-now-moon a{margin-top:.5rem}
.pa-astro-now-section{margin-top:1.25rem}
.pa-astro-now-section h2,.pa-astro-now-explain h2{font-size:clamp(1.5rem,3vw,2.25rem)}
.pa-astro-now-table-wrap{margin-top:1rem}.pa-astro-now-table{margin-bottom:0}.pa-astro-now-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#667187}.pa-astro-now-table td{vertical-align:middle;padding:.9rem .65rem}.pa-astro-now-table a{text-decoration:none;font-weight:700}.pa-astro-now-planet span{display:inline-block;min-width:1.5rem;font-size:1.2rem;color:#8b6822}
.pa-astro-now-aspects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.pa-astro-now-aspect{display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:1rem;border:1px solid var(--pa-astro-border);border-radius:1rem;background:#fcfaf5}.pa-astro-now-aspect-glyph{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:#17284a;color:#f4d36c}.pa-astro-now-aspect strong,.pa-astro-now-aspect a,.pa-astro-now-aspect small{display:block}.pa-astro-now-aspect a{margin:.12rem 0;text-decoration:none}.pa-astro-now-aspect small{color:#697388}
.pa-astro-now-explain{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.25rem}.pa-muted{color:#697388}
@media(max-width:991.98px){.pa-astro-now-overview{grid-template-columns:1fr}.pa-astro-now-wheel-card{grid-template-columns:1fr}.pa-astro-now-moon{min-height:280px}}
@media(max-width:767.98px){.pa-astro-now-aspects,.pa-astro-now-explain{grid-template-columns:1fr}.pa-astro-now-wheel-card,.pa-astro-now-moon,.pa-astro-now-section,.pa-astro-now-explain>div{border-radius:1rem;padding:1.15rem}.pa-astro-now-table td{padding:.75rem .45rem;font-size:.92rem}}
@media(prefers-reduced-motion:reduce){#pa-astro-now-wheel *{transition:none!important;animation:none!important}}

/* AST-002-T02.1 · Ajuste de contraste tras validación visual en producción */
.pa-astro-now-page .pa-astro-now-wheel-card,
.pa-astro-now-page .pa-astro-now-moon,
.pa-astro-now-page .pa-astro-now-section,
.pa-astro-now-page .pa-astro-now-explain>div{color:#26344d}
.pa-astro-now-page .pa-astro-now-wheel-card h2,
.pa-astro-now-page .pa-astro-now-moon h2,
.pa-astro-now-page .pa-astro-now-section h2,
.pa-astro-now-page .pa-astro-now-explain h2{color:#17284a}
.pa-astro-now-page .pa-astro-now-section>p:not(.pa-kicker),
.pa-astro-now-page .pa-astro-now-explain p:not(.pa-kicker){color:#536078}
.pa-astro-now-page .pa-kicker{color:#a47b19}
.pa-astro-now-page .pa-astro-now-table{color:#26344d}
.pa-astro-now-page .pa-astro-now-table thead th{color:#526078;background:#fbfaf7}
.pa-astro-now-page .pa-astro-now-table tbody td{color:#26344d}
.pa-astro-now-page .pa-astro-now-table a,
.pa-astro-now-page .pa-astro-now-moon a,
.pa-astro-now-page .pa-astro-now-aspect a{color:#075fcf}
.pa-astro-now-page .pa-astro-now-aspect strong{color:#26344d}
.pa-astro-now-page .pa-astro-now-aspect small,
.pa-astro-now-page .pa-muted{color:#657188}
@media (prefers-contrast:more){
 .pa-astro-now-page .pa-astro-now-section>p:not(.pa-kicker),.pa-astro-now-page .pa-astro-now-explain p:not(.pa-kicker),.pa-astro-now-page .pa-muted{color:#344157}
}

/* AST-002-T03 · Horizonte local con geolocalización voluntaria */
.pa-astro-local-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}
.pa-astro-local-intro>div{max-width:760px}.pa-astro-local-intro .btn{flex:0 0 auto;min-width:190px}
.pa-astro-local-privacy,.pa-astro-local-pwa-note,.pa-astro-local-help{margin:.85rem 0 0;color:#536078;font-size:.92rem;line-height:1.55}
.pa-astro-local-privacy{display:flex;gap:.5rem;align-items:flex-start}.pa-astro-local-privacy span{color:#8b6822;font-weight:800}
.pa-astro-local-pwa-note{padding:.75rem .9rem;border-radius:.85rem;background:#f6f1e6;border:1px solid rgba(139,104,34,.16);color:#4b5870}
.pa-astro-local-status{margin-top:1rem;padding:.9rem 1rem;border-radius:.9rem;background:#f7f9fc;border:1px solid rgba(25,42,73,.12);color:#344157}
.pa-astro-local-status[data-kind="error"]{background:#fff8f6;border-color:rgba(148,54,45,.25);color:#7c2f29}
.pa-astro-local-status[data-kind="success"]{background:#f4faf6;border-color:rgba(41,112,73,.22);color:#285d43}
.pa-astro-local-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.15rem;padding:.9rem 1rem;border-radius:.9rem;background:#17284a;color:#fff}
.pa-astro-local-summary strong{font-family:var(--pa-font-display,serif);font-size:1.15rem}.pa-astro-local-summary span{color:#e7edf7;font-size:.9rem;text-align:right}
.pa-astro-local-table .pa-astro-local-visible{font-weight:700;color:#285d43}.pa-astro-local-table .pa-astro-local-below{font-weight:700;color:#6a7180}
.pa-astro-local-table td:nth-child(2),.pa-astro-local-table td:nth-child(3){font-variant-numeric:tabular-nums}
@media(max-width:767.98px){.pa-astro-local-intro{align-items:stretch;flex-direction:column}.pa-astro-local-intro .btn{width:100%;min-width:0}.pa-astro-local-summary{align-items:flex-start;flex-direction:column}.pa-astro-local-summary span{text-align:left}.pa-astro-local-table{min-width:620px}}


/* AST-002-T03.1 · corrección responsive cielo local */
.pa-astro-local-intro>div{flex:1 1 auto;min-width:0}
.pa-astro-local-intro .pa-btn{width:auto;max-width:100%}
@media(max-width:767.98px){.pa-astro-local-intro .pa-btn{width:100%}}

/* AST-002-T04 · cielo local integrado en mapa, Luna y listado principal */
.pa-astro-location-bar{background:#fff;border:1px solid rgba(25,42,73,.12);border-radius:1.25rem;padding:clamp(1.15rem,2.5vw,1.65rem);box-shadow:0 10px 32px rgba(24,39,69,.055);margin-bottom:1.25rem}
.pa-astro-location-bar .pa-astro-local-intro{align-items:center}
.pa-astro-location-bar h2{margin-bottom:.35rem;color:#17284a;font-size:clamp(1.25rem,2.5vw,1.7rem)}
.pa-astro-location-bar p{margin-bottom:0}
.pa-astro-moon-local{display:flex;flex-direction:column;gap:.15rem;margin:.35rem 0 .15rem;padding:.65rem .85rem;border-radius:.85rem;background:#f6f1e6;color:#344157;font-size:.9rem;line-height:1.45}
.pa-astro-moon-local strong{color:#17284a}.pa-astro-moon-local span{color:#536078}
.pa-astro-local-inline{display:block;margin-top:.18rem;font-size:.78rem;line-height:1.3;font-weight:700}
.pa-astro-local-inline.is-visible{color:#285d43}.pa-astro-local-inline.is-below{color:#7a7f8c}
.pa-wheel-body{transition:opacity .2s ease,filter .2s ease}.pa-wheel-body.is-visible .pa-wheel-planet{stroke:#3f7d5b;stroke-width:2}.pa-wheel-body.is-below{opacity:.38}.pa-wheel-body.is-below .pa-wheel-planet{stroke:#7a7f8c;stroke-width:1.5}
.pa-wheel-local-legend text{font-size:11px;fill:#667187}.pa-wheel-dot-visible{fill:#3f7d5b}.pa-wheel-dot-below{fill:#a6a9b0}
@media(max-width:767.98px){.pa-astro-location-bar{border-radius:1rem;padding:1.05rem}.pa-astro-location-bar .pa-astro-local-intro{align-items:stretch}.pa-astro-local-inline{font-size:.74rem}.pa-wheel-local-legend text{font-size:10px}}

/* AST-002-T04.1 · cierre de accesibilidad */
.pa-astro-now-page #pa-astro-local-use-location:focus-visible,
.pa-astro-now-page a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.pa-astro-now-page .pa-astro-local-inline{display:block;margin-top:.2rem;font-size:.78rem;line-height:1.35}
.pa-astro-now-page .pa-astro-local-inline.is-visible{font-weight:700}
.pa-astro-now-page .pa-astro-local-inline.is-below{color:#596579}
