:root {
    --pa-obsidian: #0b1020;
    --pa-midnight: #111827;
    --pa-ceremonial: #16213e;
    --pa-gold: #d4af37;
    --pa-gold-strong: #f0cf66;
    --pa-gold-soft: rgba(212, 175, 55, .16);
    --pa-ivory: #f6e7b8;
    --pa-paper: #fffdf7;
    --pa-mist: #e5e7eb;
    --pa-silver: #bfc7d5;
    --pa-moon: #6b7280;
    --pa-blue: #4da3ff;
    --pa-blue-soft: rgba(77, 163, 255, .14);
    --pa-success: #63c18b;
    --pa-warning: #d9a441;
    --pa-premium: #a78bfa;
    --pa-danger: #d97777;
    --pa-white: #ffffff;

    --pa-radius-sm: 16px;
    --pa-radius-md: 22px;
    --pa-radius-lg: 28px;
    --pa-radius-xl: 34px;
    --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-shadow-dark: 0 28px 80px rgba(0, 0, 0, .28);

    --pa-font-title: "Cormorant Garamond", serif;
    --pa-font-ui: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    --pa-transition-fast: 160ms ease;
    --pa-transition: 240ms ease;
}

/* =========================================================
   FUNDAMENTOS EDITORIALES ORION
   ========================================================= */
.pa-orion-title,
.orion-title {
    margin: 0;
    color: var(--pa-midnight);
    font-family: var(--pa-font-title);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.02;
}

.pa-orion-subtitle,
.orion-subtitle {
    max-width: 760px;
    margin: .75rem 0 0;
    color: var(--pa-moon);
    font-size: clamp(1rem, 1.6vw, 1.16rem);
    line-height: 1.75;
}

.pa-orion-kicker,
.orion-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .85rem;
    color: #8a6b11;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pa-orion-kicker::before,
.orion-kicker::before {
    width: 1.6rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: .65;
}

.pa-editorial-copy {
    color: #293345;
    font-size: 1.02rem;
    line-height: 1.82;
}

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

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

.pa-editorial-copy li + li {
    margin-top: .5rem;
}

/* =========================================================
   BOTONES
   ========================================================= */
.pa-btn {
    min-height: 56px;
    padding: 12px 24px;
    border: 0;
    border-radius: var(--pa-radius-pill);
    font-weight: 800;
    transition: transform var(--pa-transition-fast), box-shadow var(--pa-transition-fast), opacity var(--pa-transition-fast), background-color var(--pa-transition-fast);
}

.pa-btn:hover {
    transform: translateY(-2px);
}

.pa-btn:focus-visible {
    outline: 3px solid rgba(77, 163, 255, .38);
    outline-offset: 3px;
}

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

.pa-btn-primary:hover,
.pa-btn-primary:focus {
    background: #080d18;
    color: var(--pa-white);
}

.pa-btn-gold {
    background: var(--pa-gold);
    color: var(--pa-midnight);
    box-shadow: 0 16px 38px rgba(212, 175, 55, .25);
}

.pa-btn-gold:hover,
.pa-btn-gold:focus {
    background: var(--pa-gold-strong);
    color: var(--pa-midnight);
}

.pa-btn-ghost {
    border: 1px solid rgba(17, 24, 39, .14);
    background: transparent;
    color: var(--pa-midnight);
}

/* =========================================================
   SUPERFICIES Y PANELES
   ========================================================= */
.pa-surface,
.orion-card,
.orion-panel {
    border: 1px solid rgba(17, 24, 39, .10);
    border-radius: var(--pa-radius-lg);
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--pa-shadow-card);
}

.orion-panel {
    position: relative;
    overflow: hidden;
}

.orion-panel::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, var(--pa-gold), rgba(212, 175, 55, .1));
    content: "";
}

.orion-card,
.orion-panel,
.studio-panel,
.orion-section {
    transition: transform var(--pa-transition), border-color var(--pa-transition), box-shadow var(--pa-transition);
}

.orion-card:hover,
.orion-panel:hover {
    transform: translateY(-3px);
    border-color: rgba(212, 175, 55, .3);
    box-shadow: 0 34px 90px rgba(15, 23, 42, .14);
}

/* =========================================================
   BLOQUES SEMÁNTICOS ORION
   ========================================================= */
.orion-observation,
.orion-finding,
.orion-advice,
.orion-information,
.orion-warning,
.orion-premium,
.pa-dossier-orion-note {
    position: relative;
    overflow: hidden;
    padding: 1.35rem 1.45rem 1.35rem 1.65rem;
    border: 1px solid rgba(17, 24, 39, .1);
    border-left-width: 4px;
    border-radius: var(--pa-radius-md);
    background: rgba(255, 255, 255, .82);
    box-shadow: var(--pa-shadow-soft);
}

.orion-observation::after,
.orion-finding::after,
.orion-advice::after,
.orion-information::after,
.orion-warning::after,
.orion-premium::after,
.pa-dossier-orion-note::after {
    position: absolute;
    top: -80px;
    right: -65px;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle, currentColor 0%, transparent 68%);
    content: "";
    opacity: .055;
    pointer-events: none;
}

.orion-observation,
.pa-dossier-orion-note {
    border-left-color: var(--pa-blue);
    background: linear-gradient(135deg, rgba(77, 163, 255, .09), rgba(255, 255, 255, .92));
    color: #25324a;
}

.orion-finding {
    border-left-color: var(--pa-gold);
    background: linear-gradient(135deg, rgba(212, 175, 55, .12), rgba(255, 255, 255, .94));
    color: #473814;
}

.orion-advice {
    border-left-color: var(--pa-success);
    background: linear-gradient(135deg, rgba(99, 193, 139, .11), rgba(255, 255, 255, .94));
    color: #214133;
}

.orion-information {
    border-left-color: var(--pa-blue);
    background: linear-gradient(135deg, var(--pa-blue-soft), rgba(255, 255, 255, .94));
    color: #223956;
}

.orion-warning {
    border-left-color: var(--pa-warning);
    background: linear-gradient(135deg, rgba(217, 164, 65, .13), rgba(255, 255, 255, .94));
    color: #51401b;
}

.orion-premium {
    border-left-color: var(--pa-premium);
    background: linear-gradient(135deg, rgba(167, 139, 250, .12), rgba(255, 255, 255, .94));
    color: #3b315b;
}

.orion-block-label {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .5rem;
    color: inherit;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.orion-block-label::before {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    content: "✦";
    font-size: .72rem;
    opacity: .78;
}

/* =========================================================
   SECCIONES ORION EXISTENTES
   ========================================================= */
.orion-section-title {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1rem;
}

.orion-section-title > span,
.pa-dossier-orion-note > span {
    display: grid;
    flex: 0 0 auto;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border: 1px solid rgba(212, 175, 55, .4);
    border-radius: 50%;
    background: var(--pa-gold-soft);
    color: #8a6b11;
    font-family: var(--pa-font-title);
    font-size: 1rem;
    font-weight: 700;
}

.orion-section-title h2,
.orion-section-title h3 {
    margin: 0;
    color: var(--pa-midnight);
    font-family: var(--pa-font-title);
    font-weight: 700;
    letter-spacing: -.018em;
}

.orion-section p,
.orion-section li {
    line-height: 1.75;
}

/* =========================================================
   BADGES Y CHIPS
   ========================================================= */
.orion-chip,
.orion-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 34px;
    padding: .42rem .8rem;
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: var(--pa-radius-pill);
    background: rgba(255, 255, 255, .8);
    color: #344054;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}

.orion-badge-gold {
    border-color: rgba(212, 175, 55, .3);
    background: var(--pa-gold-soft);
    color: #715710;
}

.orion-badge-blue {
    border-color: rgba(77, 163, 255, .28);
    background: var(--pa-blue-soft);
    color: #245b91;
}

.orion-badge-premium {
    border-color: rgba(167, 139, 250, .32);
    background: rgba(167, 139, 250, .13);
    color: #6248a3;
}

/* =========================================================
   SEPARADORES Y CITAS
   ========================================================= */
.orion-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 2rem 0;
    color: rgba(138, 107, 17, .78);
}

.orion-divider::before,
.orion-divider::after {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, .45));
    content: "";
}

.orion-divider::after {
    background: linear-gradient(90deg, rgba(212, 175, 55, .45), transparent);
}

.orion-divider::empty::before {
    content: "";
}

.orion-divider::empty::after {
    content: "";
}

.orion-divider:not(:empty) {
    font-family: var(--pa-font-title);
    font-size: 1.15rem;
}

.orion-quote,
.orion-signature {
    position: relative;
    margin: 1.5rem 0;
    padding: 1.5rem 1.75rem;
    border: 0;
    border-radius: var(--pa-radius-md);
    background: linear-gradient(135deg, rgba(11, 16, 32, .98), rgba(22, 33, 62, .96));
    color: var(--pa-ivory);
    box-shadow: var(--pa-shadow-dark);
    font-family: var(--pa-font-title);
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
    font-style: italic;
    line-height: 1.5;
}

.orion-signature::after {
    display: block;
    margin-top: .9rem;
    color: var(--pa-gold-strong);
    content: "— ORION";
    font-family: var(--pa-font-ui);
    font-size: .72rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .16em;
}

/* =========================================================
   INPUTS
   ========================================================= */
.pa-field {
    width: 100%;
    padding: 16px 18px;
    border: 1px solid rgba(17, 24, 39, .12);
    border-radius: var(--pa-radius-md);
    outline: 0;
    background: rgba(255, 255, 255, .88);
    color: var(--pa-midnight);
    transition: border-color var(--pa-transition-fast), box-shadow var(--pa-transition-fast), background-color var(--pa-transition-fast);
}

.pa-field:focus {
    border-color: rgba(212, 175, 55, .75);
    background: var(--pa-white);
    box-shadow: 0 0 0 4px rgba(212, 175, 55, .12);
}

/* =========================================================
   ANIMACIONES OFICIALES
   ========================================================= */
.orion-reveal {
    animation: paFadeUp .42s ease both;
}

.orion-glow {
    animation: paGlow 4.5s ease-in-out infinite;
}

@keyframes paFadeUp {
    from {
        opacity: 0;
        transform: translate3d(0, 14px, 0);
    }

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

@keyframes paGlow {
    0%, 100% {
        box-shadow: 0 24px 70px rgba(17, 24, 39, .10);
    }

    50% {
        box-shadow: 0 28px 90px rgba(212, 175, 55, .22);
    }
}

/* =========================================================
   ACCESIBILIDAD Y RESPONSIVE
   ========================================================= */
@media (max-width: 767.98px) {
    .orion-observation,
    .orion-finding,
    .orion-advice,
    .orion-information,
    .orion-warning,
    .orion-premium,
    .pa-dossier-orion-note {
        padding: 1.15rem 1.1rem 1.15rem 1.25rem;
    }

    .orion-section-title {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* Enlace de acceso discreto para conservar la jerarquía del CTA principal. */
.pa-navbar-login-link {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: .45rem .4rem;
    color: rgba(246, 231, 184, .82);
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.pa-navbar-login-link:hover,
.pa-navbar-login-link:focus-visible {
    color: #f6e7b8;
    transform: translateY(-1px);
}


/* =========================================================
   LANDING PÚBLICA DE ORION
   ========================================================= */
.pa-orion-page {
    background:
        radial-gradient(circle at 15% 8%, rgba(77, 163, 255, .12), transparent 30rem),
        radial-gradient(circle at 85% 22%, rgba(212, 175, 55, .12), transparent 28rem),
        #080d1b;
    color: #eef2f8;
}

.pa-orion-hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(212, 175, 55, .16);
}

.pa-orion-hero::after {
    content: "✦";
    position: absolute;
    right: clamp(1rem, 8vw, 8rem);
    top: 10%;
    color: rgba(212, 175, 55, .08);
    font-size: clamp(10rem, 26vw, 24rem);
    line-height: 1;
    pointer-events: none;
}

.pa-orion-hero-title {
    max-width: 10ch;
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(3.4rem, 8vw, 7rem);
    font-weight: 700;
    line-height: .92;
    letter-spacing: -.045em;
    color: #f8e8b8;
}

.pa-orion-hero-lead {
    max-width: 760px;
    margin-top: 1.5rem;
    font-size: clamp(1.08rem, 2vw, 1.35rem);
    line-height: 1.75;
    color: rgba(238, 242, 248, .82);
}

.pa-orion-section-intro {
    max-width: 760px;
}

.pa-orion-process {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.pa-orion-process-card,
.pa-orion-metric {
    border: 1px solid rgba(212, 175, 55, .16);
    border-radius: 1.2rem;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.pa-orion-process-card {
    padding: 1.4rem;
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.pa-orion-process-card:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, .42);
    background: linear-gradient(145deg, rgba(212,175,55,.09), rgba(255,255,255,.025));
}

.pa-orion-step-number {
    display: inline-flex;
    margin-bottom: 1rem;
    color: #d4af37;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .18em;
}

.pa-orion-process-card h3 {
    margin-bottom: .6rem;
    font-family: "Cormorant Garamond", serif;
    font-size: 1.55rem;
    color: #f8e8b8;
}

.pa-orion-process-card p,
.pa-orion-list,
.pa-orion-knowledge .orion-subtitle,
.pa-orion-manifesto p {
    color: rgba(238, 242, 248, .76);
}

.pa-orion-knowledge {
    border-block: 1px solid rgba(212, 175, 55, .14);
    background: rgba(4, 8, 18, .52);
}

.pa-orion-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pa-orion-metric {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    justify-content: center;
    padding: 1.35rem;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, border-color .22s ease;
}

.pa-orion-metric:hover {
    transform: translateY(-3px);
    border-color: rgba(77, 163, 255, .42);
    color: inherit;
}

.pa-orion-metric strong {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    line-height: 1;
    color: #f8e8b8;
}

.pa-orion-metric span {
    margin-top: .6rem;
    color: rgba(238, 242, 248, .72);
    font-weight: 700;
}

.pa-orion-list {
    display: grid;
    gap: .8rem;
    padding-left: 1.2rem;
}

.pa-orion-list li::marker {
    color: #d4af37;
}

.pa-orion-manifesto {
    border-block: 1px solid rgba(77, 163, 255, .14);
    background: radial-gradient(circle at 50% 50%, rgba(77, 163, 255, .08), transparent 34rem);
}

.pa-orion-manifesto .orion-quote {
    max-width: 900px;
}

.pa-orion-manifesto .orion-quote footer {
    margin-top: 1rem;
    color: #d4af37;
    font-weight: 800;
    letter-spacing: .08em;
}

.pa-orion-final-cta {
    max-width: 900px;
    padding: clamp(2rem, 5vw, 4rem);
}

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

@media (max-width: 575.98px) {
    .pa-orion-process,
    .pa-orion-metrics {
        grid-template-columns: 1fr;
    }

    .pa-orion-hero-title {
        max-width: 100%;
    }
}

/* =========================================================
   ARCANO UI CORE — RENACIMIENTO V1
   Evolución compatible del sistema visual existente.
   ========================================================= */
:root {
    --pa-papyrus: #f5ecd8;
    --pa-stone: #e2d4b7;
    --pa-stone-deep: #756957;
    --pa-lapis: #183a63;
    --pa-lapis-deep: #102947;
    --pa-aged-gold: #b8923d;
    --pa-turquoise: #477f7d;
    --pa-surface: rgba(255, 253, 247, .94);
    --pa-surface-muted: rgba(245, 236, 216, .72);
    --pa-text: #273142;
    --pa-text-muted: #616979;
    --pa-border: rgba(117, 105, 87, .22);
    --pa-gray: #f3f0e8;

    --pa-space-1: .5rem;
    --pa-space-2: 1rem;
    --pa-space-3: 1.5rem;
    --pa-space-4: 2rem;
    --pa-space-5: 2.5rem;
    --pa-space-6: 3rem;
    --pa-space-8: 4rem;

    --pa-reading-width: 74ch;
    --pa-layout-width: 1180px;
    --pa-focus-ring: 0 0 0 4px rgba(184, 146, 61, .26);
}

.pa-container {
    width: min(calc(100% - 2rem), var(--pa-layout-width));
    margin-inline: auto;
}

.pa-container--reading {
    width: min(calc(100% - 2rem), var(--pa-reading-width));
    margin-inline: auto;
}

.pa-section {
    padding-block: clamp(3rem, 7vw, 6rem);
}

.pa-surface {
    color: var(--pa-text);
    border-color: var(--pa-border);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .92), rgba(245, 236, 216, .68)),
        var(--pa-surface);
}

.pa-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: .75rem;
    color: #755b1c;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.pa-eyebrow::before {
    width: 1.75rem;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: .62;
}

.pa-prose {
    max-width: var(--pa-reading-width);
    color: var(--pa-text);
    font-size: clamp(1rem, 1.25vw, 1.075rem);
    line-height: 1.82;
    overflow-wrap: anywhere;
}

.pa-prose > * + * {
    margin-top: 1.15em;
}

.pa-divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-block: 1.5rem;
    color: var(--pa-aged-gold);
}

.pa-divider::before,
.pa-divider::after {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, currentColor, transparent);
    content: "";
    opacity: .45;
}

.pa-field,
.form-control.pa-field,
.form-select.pa-field {
    min-height: 50px;
    border: 1px solid var(--pa-border);
    border-radius: var(--pa-radius-sm);
    background: rgba(255, 255, 255, .88);
    color: var(--pa-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
}

.pa-field:focus,
.form-control.pa-field:focus,
.form-select.pa-field:focus {
    border-color: var(--pa-aged-gold);
    box-shadow: var(--pa-focus-ring);
}

.pa-btn {
    min-height: 48px;
}

.pa-btn-primary {
    background: linear-gradient(180deg, var(--pa-lapis), var(--pa-lapis-deep));
    box-shadow: 0 16px 36px rgba(24, 58, 99, .22);
}

.pa-btn-gold {
    background: linear-gradient(180deg, #c7a552, var(--pa-aged-gold));
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--pa-aged-gold);
    outline-offset: 3px;
}

@media (max-width: 575.98px) {
    .pa-container,
    .pa-container--reading {
        width: min(calc(100% - 1.25rem), var(--pa-layout-width));
    }

    .pa-section {
        padding-block: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pa-btn,
    .orion-card,
    .orion-panel,
    .studio-panel,
    .orion-section {
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   RENACIMIENTO V2 — EL ATRIO
   Bienvenida cercana, prioridad móvil y hospitalidad visual.
   ========================================================= */
.pa-home-premium {
    position: relative;
    isolation: isolate;
}

.pa-home-premium::before {
    position: absolute;
    inset: 0 0 auto;
    height: min(46rem, 92vh);
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(245, 236, 216, .045), transparent 42%),
        radial-gradient(circle at 50% 0%, rgba(184, 146, 61, .09), transparent 38rem);
    content: "";
}

.pa-esoteric-hero {
    padding-top: clamp(1.25rem, 3vw, 2.5rem);
}

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

.pa-hero-subtitle {
    max-width: 64ch;
    text-wrap: pretty;
}

.pa-question-box-premium {
    position: relative;
    overflow: hidden;
}

.pa-question-box-premium::before {
    position: absolute;
    inset: 0 12% auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, .66), transparent);
    content: "";
}

.pa-question-box-premium .form-text {
    max-width: 58ch;
    margin-inline: auto;
    color: rgba(238, 242, 248, .66);
    line-height: 1.55;
}

.pa-ritual-disclaimer {
    max-width: 60ch;
    margin-inline: auto;
    line-height: 1.6;
}

.pa-home-dashboard {
    margin-top: clamp(2.25rem, 5vw, 5rem);
}

.pa-home-section > h2,
.pa-home-final-cta > h2 {
    text-wrap: balance;
}

.pa-orion-intro__lead,
.pa-home-section > p,
.pa-knowledge-preview p {
    text-wrap: pretty;
}

@media (max-width: 767.98px) {
    .pa-esoteric-hero {
        padding-top: .75rem;
    }

    .pa-hero-grid {
        gap: 1rem;
    }

    .pa-brand-sigil {
        margin-bottom: .5rem;
    }

    .pa-hero-title {
        font-size: clamp(2.15rem, 11vw, 3.25rem);
        line-height: .98;
    }

    .pa-hero-subtitle {
        font-size: 1rem;
        line-height: 1.68;
    }

    .pa-hero-pill-row {
        justify-content: center;
        gap: .5rem;
    }

    .pa-hero-pill-row span {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        padding-inline: .8rem;
    }

    .pa-question-box-premium {
        padding: 1rem;
        border-radius: 22px;
    }

    .pa-input {
        min-height: 132px;
        font-size: 1rem;
        line-height: 1.55;
    }

    .pa-suggestion-chips {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .pa-suggestion-chips button {
        min-height: 42px;
        padding: .65rem .5rem;
    }

    .pa-btn-ritual {
        width: 100%;
        min-height: 54px;
    }

    .pa-ritual-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .pa-ritual-actions .btn {
        width: 100%;
        min-height: 50px;
    }

    .pa-home-stats-bar {
        margin-inline: -.15rem;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .pa-home-stats-bar::-webkit-scrollbar {
        display: none;
    }

    .pa-home-stats-bar a {
        min-width: 112px;
        scroll-snap-align: start;
    }
}

@media (max-width: 374.98px) {
    .pa-suggestion-chips {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Renacimiento v3 — Cámara de Reflexión
   Claridad del recorrido, control y prioridad móvil.
   ========================================================= */
.pa-reading-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    width: min(100%, 680px);
    margin: 0 auto 1.5rem;
}

.pa-reading-progress span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-height: 44px;
    padding: .55rem .65rem;
    border: 1px solid rgba(203, 168, 91, .22);
    border-radius: 999px;
    color: rgba(255, 247, 221, .68);
    background: rgba(8, 13, 31, .38);
    font-size: .78rem;
    font-weight: 700;
    text-align: center;
}

.pa-reading-progress b {
    display: inline-grid;
    place-items: center;
    flex: 0 0 1.55rem;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    border: 1px solid currentColor;
    font-size: .72rem;
}

.pa-reading-progress .is-current {
    border-color: rgba(226, 193, 112, .68);
    color: #fff4cf;
    background: linear-gradient(135deg, rgba(126, 86, 27, .36), rgba(18, 35, 61, .72));
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
}

.pa-reading-progress .is-complete {
    color: rgba(221, 196, 130, .92);
}

.pa-reading-progress .is-complete b {
    background: rgba(203, 168, 91, .16);
}

.pa-step-intro {
    max-width: 46rem;
    margin: -.45rem auto 1.25rem;
}

#stage-spread .pa-question-preview {
    position: relative;
    max-width: 46rem;
    margin: 0 auto 1.25rem;
    padding: 1rem 1.1rem 1rem 2.75rem;
    border-left: 3px solid rgba(203, 168, 91, .72);
    border-radius: 0 14px 14px 0;
    background: rgba(255, 247, 221, .055);
    color: rgba(255, 247, 221, .88);
    line-height: 1.65;
    text-align: left;
}

#stage-spread .pa-question-preview::before {
    content: '“';
    position: absolute;
    top: .25rem;
    left: .85rem;
    color: rgba(203, 168, 91, .78);
    font-family: Georgia, serif;
    font-size: 2.35rem;
    line-height: 1;
}

#stage-spread .pa-spread-card {
    min-height: 164px;
    text-align: left;
}

#stage-spread .pa-spread-card small {
    display: block;
    line-height: 1.55;
}

#stage-spread #start-draw {
    width: min(100%, 420px);
    min-height: 50px;
}

#stage-shuffle .pa-panel,
#stage-result .pa-result {
    padding-top: clamp(1.25rem, 4vw, 2.5rem);
}

@media (max-width: 575.98px) {
    .pa-reading-progress {
        gap: .32rem;
        margin-bottom: 1.15rem;
    }

    .pa-reading-progress span {
        min-height: 54px;
        padding: .45rem .25rem;
        flex-direction: column;
        gap: .2rem;
        border-radius: 14px;
        font-size: .67rem;
        line-height: 1.15;
    }

    .pa-reading-progress b {
        width: 1.4rem;
        height: 1.4rem;
        flex-basis: 1.4rem;
        font-size: .65rem;
    }

    #stage-spread .pa-question-preview {
        padding: .9rem .85rem .9rem 2.25rem;
        font-size: .92rem;
    }

    #stage-spread .pa-question-preview::before {
        left: .65rem;
    }

    #stage-spread .pa-spread-grid {
        gap: .75rem;
    }

    #stage-spread .pa-spread-card {
        min-height: 132px;
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #stage-shuffle .pa-deck,
    #stage-shuffle .pa-deck-card {
        animation: none !important;
    }
}


/* ==========================================================
   RENACIMIENTO v4 · LA REVELACIÓN
   Jerarquía, navegación y lectura móvil del resultado.
   ========================================================== */
#stage-result .pa-result-context {
    max-width: 820px;
    margin: 0 auto 18px;
    padding: clamp(18px, 4vw, 28px);
    border: 1px solid rgba(218, 184, 91, .2);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    text-align: left;
}
#stage-result .pa-result-context h3 {
    margin: 4px 0 10px;
    color: #fff8e8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 4vw, 1.8rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
#stage-result .pa-result-context > p:last-child {
    margin: 0;
    color: rgba(249,243,228,.76);
    line-height: 1.7;
}
#stage-result .pa-reading-jump {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 26px;
}
#stage-result .pa-reading-jump a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid rgba(218,184,91,.24);
    border-radius: 999px;
    color: rgba(255,248,226,.9);
    background: rgba(255,255,255,.035);
    font-weight: 700;
    text-decoration: none;
}
#stage-result .pa-reading-jump a:hover,
#stage-result .pa-reading-jump a:focus-visible {
    border-color: rgba(218,184,91,.52);
    background: rgba(218,184,91,.1);
    outline: 3px solid rgba(218,184,91,.18);
    outline-offset: 2px;
}
#pa-table-cards,
#pa-integrated-reading,
#pa-reading-next { scroll-margin-top: 96px; }
#stage-result .pa-integrated-reading:focus,
#stage-result .pa-orion-signature:focus { outline: none; }
@media (max-width: 575.98px) {
    #stage-result .pa-result-context { border-radius: 16px; }
    #stage-result .pa-reading-jump {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
    #stage-result .pa-reading-jump a { width: 100%; }
    #stage-result .pa-reading-meta {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    #stage-result .pa-arcane-card { width: min(100%, 340px); }
    #stage-result .pa-read-more,
    #stage-result .pa-card-expedition-link { min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
    #stage-result .pa-reading-jump a { transition: none !important; }
    html { scroll-behavior: auto !important; }
}


/* Renacimiento v5 — La Continuidad */
.pa-reading-history {
  border-top: 1px solid rgba(201, 162, 39, .25);
  padding-top: clamp(1.5rem, 4vw, 2.5rem);
}
.pa-reading-history__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.pa-reading-history__header h2 { margin: .25rem 0 .4rem; }
.pa-reading-history__header p { margin: 0; max-width: 42rem; }
.pa-reading-history__list { display: grid; gap: 1rem; }
.pa-reading-history__item,
.pa-reading-history__empty {
  border: 1px solid rgba(201, 162, 39, .24);
  border-radius: var(--pa-radius-lg, 1.25rem);
  background: rgba(255, 248, 226, .06);
  box-shadow: 0 18px 50px rgba(4, 8, 25, .16);
}
.pa-reading-history__item { padding: clamp(1rem, 3vw, 1.4rem); }
.pa-reading-history__item h3 { font-size: clamp(1.05rem, 3vw, 1.25rem); margin: .65rem 0 1rem; line-height: 1.45; }
.pa-reading-history__meta { display: flex; flex-wrap: wrap; gap: .45rem; }
.pa-reading-history__meta span {
  border: 1px solid rgba(201, 162, 39, .24);
  border-radius: 999px;
  padding: .3rem .65rem;
  font-size: .78rem;
}
.pa-reading-history__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .65rem;
  padding: 0;
  margin: 0 0 1rem;
  list-style: none;
}
.pa-reading-history__cards li {
  display: grid;
  gap: .15rem;
  padding: .75rem;
  border-radius: .9rem;
  background: rgba(6, 12, 36, .3);
}
.pa-reading-history__cards span { font-size: .82rem; opacity: .78; }
.pa-reading-history__details { border-top: 1px solid rgba(201, 162, 39, .18); padding-top: .85rem; }
.pa-reading-history__details summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.pa-reading-history__details .pa-prose { margin-top: .85rem; max-width: 70ch; }
.pa-reading-history__empty { text-align: center; padding: clamp(1.5rem, 5vw, 2.5rem); }
.pa-reading-history__empty > span { font-size: 1.5rem; }
.pa-reading-history__empty h3 { margin: .55rem 0; }
@media (max-width: 575.98px) {
  .pa-reading-history__header { flex-direction: column; }
  .pa-reading-history__header .pa-btn { width: 100%; }
  .pa-reading-history__cards { grid-template-columns: 1fr; }
}

/* =========================================================
   Renacimiento v6 — Mi Espacio
   ========================================================= */
.pa-space-overview,
.pa-space-section,
.pa-space-privacy {
  border: 1px solid rgba(190, 151, 76, .28);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,245,236,.96));
  box-shadow: 0 18px 45px rgba(39, 31, 23, .08);
  padding: clamp(1.1rem, 3vw, 1.75rem);
}

.pa-space-overview__heading h2,
.pa-space-section__heading h2,
.pa-space-privacy h2 {
  margin: .25rem 0 .5rem;
}

.pa-space-overview__heading p,
.pa-space-section__heading p,
.pa-space-privacy p {
  margin-bottom: 0;
  color: var(--pa-text-muted, #665f56);
}

.pa-space-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  margin: 1.25rem 0;
}

.pa-space-stats > div {
  min-height: 6.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .25rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(244, 238, 225, .8);
  border: 1px solid rgba(190, 151, 76, .2);
}

.pa-space-stats strong {
  font-size: clamp(1.25rem, 4vw, 1.8rem);
  line-height: 1.1;
  color: var(--pa-lapis, #244766);
}

.pa-space-stats span {
  font-size: .9rem;
  color: var(--pa-text-muted, #665f56);
}

.pa-space-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.pa-space-section {
  margin-top: 1.25rem;
  scroll-margin-top: 6rem;
}

.pa-space-section__heading {
  margin-bottom: 1.25rem;
}

.pa-reading-history {
  scroll-margin-top: 6rem;
}

.pa-reading-history__delete {
  margin-top: 1rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(80, 68, 54, .12);
}

.pa-reading-history__delete .btn-link {
  min-height: 44px;
  padding: .5rem 0;
  color: #8a3e37;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.pa-space-privacy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
}

.pa-space-privacy__links {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  min-width: 12rem;
}

.pa-space-privacy__links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

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

  .pa-space-stats > div {
    min-height: auto;
  }

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

  .pa-space-privacy {
    grid-template-columns: 1fr;
  }

  .pa-space-privacy__links {
    min-width: 0;
  }
}


/* =========================================================
   Hotfix v6.1 — Contraste de Mi espacio
   Mantiene superficies claras con texto oscuro legible.
   ========================================================= */
.pa-auth-card,
.pa-auth-card .pa-space-overview,
.pa-auth-card .pa-space-section,
.pa-auth-card .pa-reading-history,
.pa-auth-card .pa-space-privacy,
.pa-auth-card .pa-reading-history__item,
.pa-auth-card .pa-reading-history__empty {
  color: #111827;
}

.pa-auth-card .pa-space-overview h2,
.pa-auth-card .pa-space-section h2,
.pa-auth-card .pa-reading-history h2,
.pa-auth-card .pa-reading-history h3,
.pa-auth-card .pa-space-privacy h2,
.pa-auth-card .pa-reading-history__cards strong {
  color: #111827;
}

.pa-auth-card .pa-space-overview p,
.pa-auth-card .pa-space-section p,
.pa-auth-card .pa-reading-history p,
.pa-auth-card .pa-space-privacy p,
.pa-auth-card .pa-reading-history__cards span,
.pa-auth-card .pa-space-privacy__links .text-muted,
.pa-auth-card .pa-space-section .text-muted {
  color: #4b5563 !important;
  opacity: 1;
}

.pa-auth-card .pa-eyebrow {
  color: #765a0b;
}

.pa-auth-card .pa-reading-history__item,
.pa-auth-card .pa-reading-history__empty {
  background: #fffdf8;
  border-color: rgba(157, 117, 18, .22);
  box-shadow: 0 16px 38px rgba(39, 31, 23, .08);
}

.pa-auth-card .pa-reading-history__meta span {
  color: #273142;
  background: #f8f0dc;
  border-color: rgba(157, 117, 18, .2);
}

.pa-auth-card .pa-reading-history__cards li {
  color: #111827;
  background: #faf6ec;
  border: 1px solid rgba(157, 117, 18, .14);
}

.pa-auth-card .pa-reading-history__details summary {
  color: #8a6500;
}

.pa-auth-card .pa-reading-history__details .pa-prose {
  color: #273142;
}

.pa-auth-card .pa-reading-history__delete .btn-link {
  color: #9f2f2f;
}

.pa-auth-card .pa-reading-history__delete .btn-link:hover,
.pa-auth-card .pa-reading-history__delete .btn-link:focus-visible {
  color: #7f1d1d;
}

.pa-auth-card .pa-btn-primary {
  color: #111827;
}

@media (max-width: 575.98px) {
  .pa-auth-card .pa-reading-history__header {
    gap: 1rem;
  }

  .pa-auth-card .pa-reading-history__meta {
    gap: .5rem;
  }

  .pa-auth-card .pa-reading-history__item {
    padding: 1.1rem;
  }
}

/* =========================================================
   Renacimiento v7 — Mi Cuaderno
   ========================================================= */
.pa-notebook {
  scroll-margin-top: 6rem;
  border: 1px solid rgba(190, 151, 76, .28);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #fffdf8, #faf6ec);
  box-shadow: 0 18px 45px rgba(39, 31, 23, .08);
  padding: clamp(1.1rem, 3vw, 1.75rem);
  color: #111827;
}
.pa-notebook__header h2 { margin: .25rem 0 .5rem; color: #111827; }
.pa-notebook__header p { margin: 0; color: #4b5563; max-width: 46rem; }
.pa-notebook-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(157, 117, 18, .2);
  border-radius: 1rem;
  background: #fff;
}
.pa-notebook-form__content,
.pa-notebook-form > .pa-btn { grid-column: 1 / -1; }
.pa-notebook-form > .pa-btn { justify-self: start; }
.pa-notebook .form-label { color: #273142; font-weight: 700; }
.pa-notebook .form-text,
.pa-notebook .text-muted { color: #5f6673 !important; }
.pa-notebook-list { display: grid; gap: 1rem; margin-top: 1.25rem; }
.pa-notebook-note {
  padding: clamp(1rem, 3vw, 1.35rem);
  border: 1px solid rgba(157, 117, 18, .2);
  border-radius: 1rem;
  background: #fff;
}
.pa-notebook-note__meta { display: flex; flex-wrap: wrap; gap: .5rem; }
.pa-notebook-note__meta span {
  padding: .3rem .65rem;
  border: 1px solid rgba(157, 117, 18, .18);
  border-radius: 999px;
  background: #f8f0dc;
  color: #273142;
  font-size: .78rem;
}
.pa-notebook-note h3 { margin: .8rem 0 .45rem; color: #111827; }
.pa-notebook-note__reading { margin: 0 0 .85rem; color: #765a0b; font-weight: 600; }
.pa-notebook-note .pa-prose { color: #273142; }
.pa-notebook-note__edit {
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(80, 68, 54, .12);
}
.pa-notebook-note__edit summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: #8a6500;
  font-weight: 700;
}
.pa-notebook-edit-form { margin-top: .75rem; }
.pa-notebook-note__delete { margin-top: .75rem; }
.pa-notebook-note__delete .btn-link {
  min-height: 44px;
  padding: .5rem 0;
  color: #9f2f2f;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
.pa-notebook-note__delete .btn-link:hover,
.pa-notebook-note__delete .btn-link:focus-visible { color: #7f1d1d; }
.pa-notebook-empty {
  margin: 1.25rem 0 0;
  padding: 1rem;
  border-radius: .9rem;
  background: #faf6ec;
  color: #4b5563;
}
@media (max-width: 767.98px) {
  .pa-notebook-form { grid-template-columns: 1fr; }
  .pa-notebook-form > .pa-btn { width: 100%; }
}


/* Renacimiento v8 — Línea del Tiempo */
.pa-timeline {
  scroll-margin-top: 6rem;
  margin-top: 1.5rem;
  padding: clamp(1.1rem, 3vw, 1.75rem);
  border: 1px solid rgba(190, 151, 76, .28);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #fffdf8, #faf6ec);
  box-shadow: 0 18px 45px rgba(39, 31, 23, .08);
  color: #111827;
}
.pa-timeline__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.4rem;
}
.pa-timeline__header h2 { margin: .25rem 0 .45rem; color: #111827; }
.pa-timeline__header p { margin: 0; max-width: 46rem; color: #4b5563; }
.pa-timeline__groups { display: grid; gap: 1.5rem; }
.pa-timeline__group { min-width: 0; }
.pa-timeline__day {
  margin: 0 0 .75rem;
  color: #765a0b;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pa-timeline__items {
  position: relative;
  display: grid;
  gap: 1rem;
  padding-left: 2.15rem;
}
.pa-timeline__items::before {
  content: "";
  position: absolute;
  top: .65rem;
  bottom: .65rem;
  left: .72rem;
  width: 1px;
  background: linear-gradient(180deg, rgba(157,117,18,.55), rgba(157,117,18,.12));
}
.pa-timeline__item { position: relative; min-width: 0; }
.pa-timeline__marker {
  position: absolute;
  top: 1rem;
  left: -2.15rem;
  z-index: 1;
  width: 1.5rem;
  height: 1.5rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(157,117,18,.45);
  border-radius: 50%;
  background: #fffaf0;
  color: #8a6500;
  font-size: .8rem;
  box-shadow: 0 0 0 4px #faf6ec;
}
.pa-timeline__card {
  padding: 1rem;
  border: 1px solid rgba(157,117,18,.2);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 9px 24px rgba(39,31,23,.055);
}
.pa-timeline__meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
  color: #6b7280;
  font-size: .78rem;
}
.pa-timeline__meta span { color: #765a0b; font-weight: 700; }
.pa-timeline__card h4 { margin: .55rem 0 .35rem; color: #111827; font-size: 1.05rem; }
.pa-timeline__card p { margin: 0 0 .7rem; color: #4b5563; }
.pa-timeline__card a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #765a0b;
  font-weight: 700;
  text-underline-offset: .2em;
}
.pa-timeline__empty {
  padding: 1.5rem;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
  color: #4b5563;
}
.pa-timeline__empty > span { color: #8a6500; font-size: 1.4rem; }
.pa-timeline__empty h3 { margin: .55rem 0; color: #111827; }
.pa-notebook-note[id],
.pa-reading-history__item[id] { scroll-margin-top: 6rem; }
.pa-notebook-note:target,
.pa-reading-history__item:target {
  outline: 3px solid rgba(157,117,18,.22);
  outline-offset: 3px;
}
@media (max-width: 767.98px) {
  .pa-timeline__header { flex-direction: column; }
  .pa-timeline__header .pa-btn { width: 100%; }
  .pa-timeline__items { padding-left: 1.8rem; }
  .pa-timeline__items::before { left: .57rem; }
  .pa-timeline__marker { left: -1.8rem; }
  .pa-timeline__meta { align-items: flex-start; }
}

/* Renacimiento v9 — Mi Espacio Inteligente */
.pa-space-insights {
  margin-top: 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(155, 118, 35, .22);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, rgba(255, 252, 244, .98), rgba(246, 239, 221, .96));
  box-shadow: 0 18px 46px rgba(27, 31, 42, .09);
}
.pa-space-insights__header h2 { margin: .35rem 0 .55rem; color: #1f2937; }
.pa-space-insights__header p { margin: 0; color: #4b5563; max-width: 48rem; }
.pa-space-insights__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.35rem;
}
.pa-space-insight {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(155, 118, 35, .16);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, .78);
}
.pa-space-insight__symbol { display: inline-grid; place-items: center; width: 2rem; height: 2rem; color: #8a681f; font-size: 1.15rem; }
.pa-space-insight h3 { margin: .45rem 0 .6rem; color: #273142; font-size: 1rem; }
.pa-space-insight p { margin: 0; color: #4b5563; }
.pa-space-insight strong { color: #273142; }
.pa-space-insight ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.pa-space-insight li { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .45rem; border-bottom: 1px solid rgba(31, 41, 55, .09); color: #374151; }
.pa-space-insight li:last-child { border-bottom: 0; padding-bottom: 0; }
.pa-space-insight__note { margin-top: .75rem !important; font-size: .88rem; color: #6b7280 !important; }
@media (max-width: 767.98px) {
  .pa-space-insights { padding: 1.1rem; border-radius: 1.2rem; }
  .pa-space-insights__grid { grid-template-columns: 1fr; }
  .pa-space-insight { padding: 1rem; }
}

/* =========================================================
   Hotfix v9.1 — Control y privacidad en Mi espacio
   Evita que la columna informativa colapse dentro del panel
   estrecho del perfil y produzca texto carácter por carácter.
   ========================================================= */
.pa-auth-card .pa-space-privacy {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
}

.pa-auth-card .pa-space-privacy > div,
.pa-auth-card .pa-space-privacy__links {
  width: 100%;
  min-width: 0;
}

.pa-auth-card .pa-space-privacy h2,
.pa-auth-card .pa-space-privacy p,
.pa-auth-card .pa-space-privacy__links span,
.pa-auth-card .pa-space-privacy__links a {
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}

.pa-auth-card .pa-space-privacy__links {
  align-items: flex-start;
}

/* Renacimiento v10 — Elementos importantes */
.pa-important {
  margin-top: 1.5rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid rgba(160, 122, 30, .24);
  border-radius: var(--pa-radius-lg, 1.25rem);
  background: rgba(255, 252, 243, .96);
  color: #172033;
}
.pa-important__header h2,
.pa-important__header p { color: #172033; }
.pa-important__header p { margin-bottom: 1rem; color: #4b5563; }
.pa-important__list { display: grid; gap: .65rem; }
.pa-important__item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  padding: .8rem .9rem;
  border: 1px solid rgba(160, 122, 30, .18);
  border-radius: .9rem;
  background: #fff;
  color: #172033;
  text-decoration: none;
}
.pa-important__item:hover,
.pa-important__item:focus-visible { border-color: #a47d1f; box-shadow: 0 8px 22px rgba(20, 27, 45, .08); }
.pa-important__item > span:first-child { color: #a47d1f; font-size: 1.2rem; text-align: center; }
.pa-important__item small { display: block; color: #6b7280; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.pa-important__item strong { display: block; overflow-wrap: anywhere; }
.pa-important__empty { padding: 1rem; text-align: center; border: 1px dashed rgba(160, 122, 30, .3); border-radius: .9rem; color: #4b5563; }
.pa-important__empty span { display: block; color: #a47d1f; font-size: 1.5rem; }
.pa-important-toggle { margin: .45rem 0 .75rem; }
.pa-important-toggle button {
  min-height: 44px;
  padding: .35rem .65rem;
  border: 0;
  background: transparent;
  color: #765a16;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .18em;
}
.pa-important-toggle button span { margin-right: .35rem; text-decoration: none; }
.pa-reading-history__item--important,
.pa-notebook-note--important { border-color: rgba(164, 125, 31, .6) !important; box-shadow: 0 10px 28px rgba(164, 125, 31, .11); }
@media (max-width: 575.98px) {
  .pa-important { padding: 1rem; }
  .pa-important__item { grid-template-columns: 1.65rem minmax(0, 1fr); padding: .75rem; }
  .pa-important-toggle button { width: 100%; text-align: left; }
}

/* =========================================================
   Renacimiento v11 — Mi Espacio 2.0
   Dashboard personal con jerarquía, continuidad y calma.
   ========================================================= */
.pa-dashboard {
  display: grid;
  gap: 1.35rem;
  margin-bottom: 1.5rem;
  color: #172033;
}
.pa-dashboard__welcome {
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(164, 125, 31, .24);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 95% 0%, rgba(199, 159, 58, .12), transparent 36%),
    linear-gradient(145deg, #fffdf8, #f7f1e4);
  box-shadow: 0 18px 40px rgba(20, 27, 45, .08);
}
.pa-dashboard__welcome > div { min-width: 0; }
.pa-dashboard__welcome h2 {
  margin: .35rem 0 .55rem;
  color: #172033;
  font-size: clamp(1.65rem, 4vw, 2.35rem);
  line-height: 1.12;
}
.pa-dashboard__welcome p {
  max-width: 46rem;
  margin: 0;
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.65;
}
.pa-dashboard__primary { flex: 0 0 auto; min-height: 46px; }
.pa-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.pa-dashboard-card,
.pa-dashboard-reflection {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid rgba(31, 41, 55, .1);
  border-radius: 1.1rem;
  background: #fffefb;
  box-shadow: 0 10px 28px rgba(20, 27, 45, .055);
}
.pa-dashboard-card {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
}
.pa-dashboard-card--featured {
  border-color: rgba(164, 125, 31, .3);
  background: linear-gradient(145deg, #fffefb, #fbf5e8);
}
.pa-dashboard-card__icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: rgba(164, 125, 31, .11);
  color: #765a0b;
  font-size: 1.05rem;
}
.pa-dashboard-card__label {
  display: block;
  margin-bottom: .3rem;
  color: #765a0b;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}
.pa-dashboard-card h3 {
  margin: 0 0 .45rem;
  color: #172033;
  font-size: 1.08rem;
  line-height: 1.3;
}
.pa-dashboard-card p {
  margin: 0 0 .65rem;
  color: #4b5563;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.pa-dashboard-card__title { color: #273142 !important; font-weight: 650; }
.pa-dashboard-card__meta { color: #6b7280 !important; font-size: .87rem; }
.pa-dashboard-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #765a0b;
  font-weight: 750;
  text-decoration: none;
}
.pa-dashboard-card a:hover,
.pa-dashboard-card a:focus-visible { text-decoration: underline; }
.pa-dashboard-reflection {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(145deg, #202a3c, #151d2d);
  color: #f8f2e6;
}
.pa-dashboard-reflection .pa-dashboard-card__label { color: #e1c56f; }
.pa-dashboard-reflection blockquote {
  margin: .35rem 0 0;
  color: #f8f2e6;
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.7;
}
.pa-dashboard__summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(31, 41, 55, .1);
  border-radius: 1rem;
  background: #fffefb;
}
.pa-dashboard__summary > div {
  min-width: 0;
  padding: 1rem;
  text-align: center;
  border-right: 1px solid rgba(31, 41, 55, .08);
}
.pa-dashboard__summary > div:last-child { border-right: 0; }
.pa-dashboard__summary strong {
  display: block;
  color: #172033;
  font-size: 1rem;
  overflow-wrap: anywhere;
}
.pa-dashboard__summary span {
  display: block;
  margin-top: .2rem;
  color: #6b7280;
  font-size: .82rem;
}
.pa-dashboard__quick-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.pa-dashboard__quick-actions a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  column-gap: .75rem;
  align-items: center;
  min-width: 0;
  min-height: 64px;
  padding: .8rem .9rem;
  border: 1px solid rgba(31, 41, 55, .1);
  border-radius: .95rem;
  background: #fffefb;
  color: #273142;
  text-decoration: none;
}
.pa-dashboard__quick-actions a:hover,
.pa-dashboard__quick-actions a:focus-visible {
  border-color: #a47d1f;
  box-shadow: 0 8px 20px rgba(20, 27, 45, .07);
}
.pa-dashboard__quick-actions a > span {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  color: #765a0b;
}
.pa-dashboard__quick-actions strong { min-width: 0; font-size: .95rem; }
.pa-dashboard__quick-actions small { min-width: 0; color: #6b7280; line-height: 1.25; }

@media (max-width: 900px) {
  .pa-dashboard__welcome { align-items: stretch; flex-direction: column; }
  .pa-dashboard__primary { width: 100%; }
  .pa-dashboard__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pa-dashboard__summary > div:nth-child(2) { border-right: 0; }
  .pa-dashboard__summary > div:nth-child(-n+2) { border-bottom: 1px solid rgba(31, 41, 55, .08); }
  .pa-dashboard__quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .pa-dashboard__grid,
  .pa-dashboard__quick-actions { grid-template-columns: 1fr; }
  .pa-dashboard__summary { grid-template-columns: 1fr; }
  .pa-dashboard__summary > div,
  .pa-dashboard__summary > div:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid rgba(31, 41, 55, .08);
  }
  .pa-dashboard__summary > div:last-child { border-bottom: 0; }
  .pa-dashboard-card { padding: 1rem; }
}
@media (max-width: 360px) {
  .pa-dashboard__welcome { padding: 1rem; border-radius: 1.05rem; }
  .pa-dashboard-card { grid-template-columns: 2rem minmax(0, 1fr); gap: .7rem; }
  .pa-dashboard-card__icon { width: 2rem; height: 2rem; }
  .pa-dashboard__quick-actions a { padding: .75rem; }
}

/* =========================================================
   Renacimiento v12 — Descubrimiento sereno
   ========================================================= */
.pa-dashboard-discovery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 9rem;
  gap: 1.25rem;
  align-items: center;
  margin-top: 1rem;
  padding: 1.25rem;
  border: 1px solid rgba(174, 133, 45, .24);
  border-radius: 1.2rem;
  background: linear-gradient(135deg, #fffdf7 0%, #f7f0dd 100%);
  box-shadow: 0 14px 34px rgba(31, 41, 55, .07);
  overflow: hidden;
}
.pa-dashboard-discovery__content { min-width: 0; }
.pa-dashboard-discovery h3 {
  margin: .28rem 0 .65rem;
  color: #202938;
  font-size: clamp(1.1rem, 2vw, 1.38rem);
  overflow-wrap: anywhere;
}
.pa-dashboard-discovery p {
  margin: 0 0 .62rem;
  color: #4b5563;
  line-height: 1.62;
  overflow-wrap: anywhere;
}
.pa-dashboard-discovery__name {
  color: #6f5318 !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem;
  font-weight: 700;
}
.pa-dashboard-discovery__note { font-size: .88rem; color: #68707d !important; }
.pa-dashboard-discovery a:not(.pa-dashboard-discovery__visual) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #765714;
  font-weight: 700;
  text-decoration: none;
}
.pa-dashboard-discovery a:not(.pa-dashboard-discovery__visual):hover,
.pa-dashboard-discovery a:not(.pa-dashboard-discovery__visual):focus-visible { text-decoration: underline; }
.pa-dashboard-discovery__visual {
  display: block;
  width: 100%;
  max-width: 8.5rem;
  justify-self: end;
  border-radius: .8rem;
  box-shadow: 0 12px 26px rgba(20, 24, 35, .18);
  overflow: hidden;
}
.pa-dashboard-discovery__visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}
.pa-dashboard-discovery__symbol {
  display: grid;
  place-items: center;
  justify-self: end;
  width: 6rem;
  height: 6rem;
  border: 1px solid rgba(174, 133, 45, .3);
  border-radius: 50%;
  color: #927126;
  font-size: 2.2rem;
  background: rgba(255,255,255,.52);
}
@media (max-width: 768px) {
  .pa-dashboard-discovery { grid-template-columns: minmax(0, 1fr) 7rem; }
}
@media (max-width: 430px) {
  .pa-dashboard-discovery { grid-template-columns: 1fr; padding: 1rem; }
  .pa-dashboard-discovery__visual,
  .pa-dashboard-discovery__symbol { justify-self: start; order: -1; }
  .pa-dashboard-discovery__visual { width: 5.75rem; }
  .pa-dashboard-discovery__symbol { width: 4.5rem; height: 4.5rem; }
  .pa-dashboard-discovery a:not(.pa-dashboard-discovery__visual) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pa-dashboard-discovery *,
  .pa-dashboard-discovery *::before,
  .pa-dashboard-discovery *::after { transition: none !important; animation: none !important; }
}


/* ==========================================================
   ACP-002 — Mi Espacio: reconocimiento antes que memoria
   - Navegación lateral visible en escritorio.
   - Navegación horizontal reconocible en móvil y tableta.
   - Una sola columna de contenido para evitar mezclar perfil,
     actividad y cuaderno sin una jerarquía clara.
========================================================== */
.pa-auth-card--space {
  padding: clamp(1rem, 2vw, 1.5rem);
  overflow: visible;
}

.pa-space-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 15.5rem) minmax(0, 1fr);
  gap: clamp(1rem, 2.4vw, 2rem);
  align-items: start;
}

.pa-space-content {
  min-width: 0;
  display: grid;
  gap: 1.5rem;
}

.pa-space-navigation {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(174, 133, 45, .2);
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,246,237,.92));
  box-shadow: 0 16px 38px rgba(31, 41, 55, .08);
}

.pa-space-navigation__heading {
  display: grid;
  gap: .25rem;
  padding: .25rem .25rem .85rem;
  border-bottom: 1px solid rgba(31, 41, 55, .09);
}

.pa-space-navigation__heading strong {
  color: #273142;
  font-size: 1.05rem;
  line-height: 1.25;
}

.pa-space-navigation__heading small {
  color: #68707d;
  line-height: 1.4;
}

.pa-space-navigation__links {
  display: grid;
  gap: .35rem;
}

.pa-space-navigation__links a {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: center;
  min-height: 44px;
  padding: .65rem .75rem;
  border-radius: .8rem;
  color: #303846;
  font-weight: 650;
  text-decoration: none;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.pa-space-navigation__links a > span:first-child {
  display: grid;
  place-items: center;
  color: #8a681f;
  font-size: 1rem;
}

.pa-space-navigation__links a[aria-current="location"] {
  color: #1f2937;
  background: rgba(174, 133, 45, .15);
  box-shadow: inset 3px 0 0 #ae852d;
}

.pa-space-navigation__links a[aria-current="location"] > span:first-child {
  color: #6f5218;
}

.pa-space-navigation__links a:hover,
.pa-space-navigation__links a:focus-visible {
  color: #1f2937;
  background: rgba(174, 133, 45, .11);
  transform: translateX(2px);
  outline: none;
}

.pa-space-navigation__links a:focus-visible,
.pa-space-navigation__exit:focus-visible {
  box-shadow: 0 0 0 3px rgba(174, 133, 45, .25);
}

.pa-space-navigation__exit {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem .8rem;
  border-top: 1px solid rgba(31, 41, 55, .09);
  color: #5d6470;
  font-weight: 600;
  text-decoration: none;
}

.pa-space-navigation__exit:hover,
.pa-space-navigation__exit:focus-visible {
  color: #7a2d2d;
  text-decoration: underline;
}

.pa-dashboard__quick-actions--focused {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pa-space-content > section[id] {
  scroll-margin-top: 1rem;
}

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

  .pa-space-navigation {
    position: static;
    gap: .75rem;
  }

  .pa-space-navigation__heading small {
    max-width: 38rem;
  }

  .pa-space-navigation__links {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scrollbar-width: thin;
  }

  .pa-space-navigation__links a {
    flex: 0 0 auto;
    grid-template-columns: 1.5rem auto;
    white-space: nowrap;
    background: rgba(255,255,255,.7);
    border: 1px solid rgba(31, 41, 55, .08);
  }

  .pa-space-navigation__exit {
    justify-content: flex-start;
    border-top: 0;
    padding-left: .25rem;
  }
}

@media (max-width: 575.98px) {
  .pa-auth-card--space {
    padding: .75rem;
  }

  .pa-space-navigation {
    padding: .85rem;
    border-radius: 1rem;
  }

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

@media (prefers-reduced-motion: reduce) {
  .pa-space-navigation__links a {
    transition: none;
  }
}


/* =========================================================
   ACP-003 — Consulta: reconocimiento y control del recorrido
   ========================================================= */
.pa-question-examples {
    margin: 0;
    padding: 0;
    border: 0;
}
.pa-question-examples legend {
    width: 100%;
    margin: 0 0 .6rem;
    color: rgba(255, 247, 221, .72);
    font-size: .82rem;
    font-weight: 700;
    text-align: left;
}
#stage-spread .pa-spread-card[aria-pressed="true"] {
    border-color: rgba(226, 193, 112, .82);
    box-shadow: 0 0 0 3px rgba(226, 193, 112, .12), 0 18px 40px rgba(0, 0, 0, .2);
}
#stage-spread .pa-spread-card[aria-pressed="true"]::after {
    content: "Seleccionada";
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin-top: .75rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    color: #fff4cf;
    background: rgba(203, 168, 91, .16);
    font-size: .72rem;
    font-weight: 800;
}
#pa-reading-close { scroll-margin-top: 96px; }
@media (max-width: 575.98px) {
    .pa-question-examples legend { text-align: center; }
    #stage-spread #start-draw { width: 100%; }
}
