/* Identidad homologada con el Buscador Jurídico (polish.css, view-band.css, site-intro.css):
   marca R con nombre, menú en píldora, foco único, resaltado dorado, avisos de marca,
   cintas de encabezado por vista y entrada animada. */

/* Marca: la R junto al nombre (encabezado y pie). */
.brand-link{display:inline-flex;align-items:center;border-radius:10px;text-decoration:none;color:inherit;min-width:0}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}
.brand-mark{width:30px;height:auto;flex:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.brand-mark .bm-line,.brand-mark .bm-lens circle:last-child{fill:var(--surface)}
.brand-link:hover .brand-mark{transform:rotate(-4deg) scale(1.05)}
.brand-text{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand-name{font:700 21px/1.05 Patria,Georgia,serif;color:#2b2326;letter-spacing:-.01em;white-space:nowrap}
.brand-sub{margin-top:4px;font:700 9.5px/1 Noto,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9b2247;white-space:nowrap}
:root[data-theme=dark] .brand-mark .bm-bar,:root[data-theme=dark] .brand-mark .bm-page,:root[data-theme=dark] .brand-mark .bm-leg{fill:#e27a9c}
:root[data-theme=dark] .brand-name{color:#f3ece4}
:root[data-theme=dark] .brand-sub{color:#f2c97a}
@media (max-width:420px){.brand-mark{width:26px}.brand-name{font-size:17px}.brand-sub{font-size:8.5px;letter-spacing:.16em}}

/* Menú de escritorio: píldora en la sección activa. */
@media (min-width:900px){
  .masthead .side-nav{gap:4px}
  .masthead .nav-button{padding:7px 13px;min-height:34px;border-radius:999px;font-weight:700;letter-spacing:.06em}
  .masthead .nav-button.active{background:color-mix(in srgb,var(--guinda) 11%,transparent);color:var(--guinda)}
  .masthead .nav-button.active:after{display:none}
  .masthead .nav-button:not(.active):hover{background:color-mix(in srgb,var(--guinda) 6%,transparent)}
}

/* Tipografía y números */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2{text-wrap:balance}
p,li{text-wrap:pretty}
:is(.kpi strong,.pj-stats,.mt .c-n,.chrono-n,.pair-v,.rhythm-grid b,.sem,time){font-variant-numeric:tabular-nums}

/* Un solo anillo de foco para teclado. */
:focus-visible{outline:3px solid #9b224766!important;outline-offset:2px;border-radius:6px}
:root[data-theme=dark] :focus-visible{outline-color:#eeb0c288!important}
.hero :focus-visible,.pj-hero :focus-visible,.page-intro :focus-visible{outline-color:#f6d9a8!important}

/* Términos buscados: lavado dorado con subrayado. */
mark{background:linear-gradient(transparent 55%,#f2c97a66 55%);color:inherit;font-weight:600;border-radius:2px;padding:0 1px;box-shadow:inset 0 -1.5px 0 #c9a04a}
:root[data-theme=dark] mark{background:linear-gradient(transparent 55%,#c9a04a40 55%);box-shadow:inset 0 -1.5px 0 #f2c97a}

/* Avisos: píldora de marca con acento dorado. */
#notice:not(:empty){display:flex;align-items:center;gap:10px;background:#2b2326;color:#fbf6ef;border:1px solid #f2c97a40;border-radius:12px;box-shadow:0 14px 34px -10px #3a1a24aa;padding:11px 18px 11px 14px;animation:toast-in .2s ease-out}
#notice:not(:empty)::before{content:'';width:4px;align-self:stretch;border-radius:4px;background:linear-gradient(#f2c97a,#9b2247)}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,-6px)}}

/* Cintas de encabezado por vista: Panorama en verde, Buscar en guinda y Consultar en dorado. */
.page-intro{--vb-a:#7a1a38;--vb-b:#9b2247;--vb-c:#b8375f;position:relative;overflow:hidden;align-items:flex-end;margin:0 0 22px!important;padding:26px 28px!important;border:0!important;border-radius:20px;color:#fff;background:radial-gradient(110% 90% at 100% 0%,var(--vb-c) 0%,transparent 55%),radial-gradient(80% 90% at 0% 100%,#0000002e 0%,transparent 60%),linear-gradient(135deg,var(--vb-a) 0%,var(--vb-b) 60%,var(--vb-a) 100%);box-shadow:0 16px 36px color-mix(in srgb,var(--vb-b) 22%,transparent)}
.page-intro::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.12;background-image:radial-gradient(circle at 20% 30%,#fff 0 1.4px,transparent 2px),radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 1.5px);background-size:44px 44px,28px 28px}
.page-intro>*{position:relative;z-index:1}
.page-intro h1{color:#fff!important}
.page-intro p{color:#fff!important;opacity:.92}
.page-intro .collection-label{color:#fde8ee!important;font-weight:700}
.page-intro .cutoff{display:block;padding:8px 14px;border-radius:12px;background:#ffffff1f;border:1px solid #ffffff2e;color:#ffffffd9!important;text-align:left}
.page-intro .cutoff strong{color:#fff!important}
.view-panorama .page-intro{--vb-a:#143f37;--vb-b:#1e5b4f;--vb-c:#2f7a6a}
.view-panorama .page-intro .collection-label{color:#d7f0e8!important}
.view-consult .page-intro{--vb-a:#5e4516;--vb-b:#8c6925;--vb-c:#b08a3c}
.view-consult .page-intro .collection-label{color:#fbefd4!important}
:root[data-theme=dark] .page-intro{--vb-a:#3d0b1c;--vb-b:#5e1430;--vb-c:#7a2344;box-shadow:none}
:root[data-theme=dark] .view-panorama .page-intro{--vb-a:#0e2c26;--vb-b:#174a40;--vb-c:#236152}
:root[data-theme=dark] .view-consult .page-intro{--vb-a:#3e2d0d;--vb-b:#5e4718;--vb-c:#7a5f26}
@media (max-width:899px){.page-intro{padding:20px 18px!important;border-radius:16px;margin-bottom:18px!important}.page-intro h1{font-size:26px!important}.page-intro .cutoff{display:none}}

/* Pie con la marca y los logotipos institucionales. */
.footer-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;width:100%}
.footer-logos{display:flex;align-items:center;gap:12px}.footer-logos img{height:28px;width:auto}.footer-logos span{width:1px;height:24px;background:var(--line)}
:root[data-theme=dark] .footer-logos img{background:#fff;border-radius:4px;padding:3px}

/* Entrada animada */
html.intro-on{overflow:hidden}
#site-intro{--r:0px;--ix:50%;--iy:50%;position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(70% 60% at 50% 45%,#1f1316 0%,#0b0909 72%)}
#site-intro.is-opening{-webkit-mask-image:radial-gradient(circle at var(--ix) var(--iy),transparent var(--r),#000 calc(var(--r) + 1px));mask-image:radial-gradient(circle at var(--ix) var(--iy),transparent var(--r),#000 calc(var(--r) + 1px))}
#site-intro.is-opening .si-stage{transform:scale(1.06);opacity:0;filter:blur(6px);transition:transform .9s cubic-bezier(.65,0,.35,1),opacity .55s ease-in,filter .55s}
#site-intro.is-opening .si-skip{opacity:0;transition:opacity .2s}
#site-intro .si-aura{position:absolute;width:62vmax;height:62vmax;border-radius:50%;filter:blur(90px);opacity:0;pointer-events:none}
#site-intro .si-aura-a{background:#9b2247;left:-18vmax;top:-22vmax}
#site-intro .si-aura-b{background:#a57f2c;right:-24vmax;bottom:-28vmax}
#site-intro.is-playing .si-aura-a{animation:si-aura-in 1.6s ease-out .1s forwards,si-drift-a 9s ease-in-out infinite alternate}
#site-intro.is-playing .si-aura-b{animation:si-aura-in-b 1.6s ease-out .5s forwards,si-drift-b 11s ease-in-out infinite alternate}
#site-intro .si-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:28px;padding:0 16px;transform:scale(.94);filter:blur(4px)}
#site-intro.is-playing .si-stage{animation:si-settle 2.4s cubic-bezier(.16,1,.3,1) forwards}
#site-intro .si-mark{width:min(132px,30vw);height:auto;overflow:visible}
#site-intro .bm-line,#site-intro .bm-lens circle:last-child{fill:#140d0f}
#site-intro .bm-bar{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0)}
#site-intro .bm-page{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0);opacity:0}
#site-intro .bm-leg{transform-box:fill-box;transform-origin:0 0;transform:scale(0);opacity:0}
#site-intro .bm-line{transform-box:fill-box;transform-origin:0 50%;transform:scaleX(0)}
#site-intro .bm-lens{transform-box:fill-box;transform-origin:50% 50%;transform:scale(0) rotate(-40deg);opacity:0}
#site-intro .bm-ripple{transform-box:fill-box;transform-origin:50% 50%}
#site-intro .bm-shine{transform-box:view-box;transform:skewX(-18deg) translateX(-200px)}
#site-intro.is-playing .bm-bar{animation:si-rise .6s cubic-bezier(.2,.8,.2,1) .15s forwards}
#site-intro.is-playing .bm-page{animation:si-open .65s cubic-bezier(.2,.8,.2,1) .5s forwards}
#site-intro.is-playing .bm-leg{animation:si-open-leg .55s cubic-bezier(.2,.8,.2,1) .85s forwards}
#site-intro.is-playing .bm-line-1{animation:si-line .35s ease-out 1s forwards}
#site-intro.is-playing .bm-line-2{animation:si-line .35s ease-out 1.14s forwards}
#site-intro.is-playing .bm-lens{animation:si-lens .6s cubic-bezier(.34,1.56,.64,1) 1.3s forwards}
#site-intro.is-playing .bm-ripple{animation:si-ripple 1.1s ease-out 1.55s}
#site-intro.is-playing .bm-shine{animation:si-shine 1.1s cubic-bezier(.45,0,.2,1) 1.75s forwards}
#site-intro.is-playing .si-mark{animation:si-glow 1.6s ease-in-out 1.7s}
#site-intro .si-words{display:flex;flex-direction:column;align-items:center;text-align:center}
#site-intro .si-name{margin:0;font:700 clamp(26px,4.6vw,40px)/1.1 Patria,Georgia,serif;color:#f6efe6;letter-spacing:-.01em;white-space:nowrap}
#site-intro .si-ch{display:inline-block;opacity:0;transform:translateY(14px);filter:blur(8px)}
#site-intro .si-gap{display:inline-block;width:.28em}
#site-intro.is-playing .si-ch{animation:si-ch .7s cubic-bezier(.16,1,.3,1) calc(1.55s + var(--i,0) * 38ms) forwards}
#site-intro .si-rule{display:block;width:72px;height:1px;margin:14px 0 12px;background:linear-gradient(90deg,transparent,#d0a94e,transparent);transform:scaleX(0)}
#site-intro.is-playing .si-rule{animation:si-line .8s cubic-bezier(.16,1,.3,1) 2.15s forwards}
#site-intro .si-sub{margin:0;font:600 12px/1.3 Noto,Arial,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:#d0a94e;opacity:0}
#site-intro.is-playing .si-sub{animation:si-sub 1.1s cubic-bezier(.16,1,.3,1) 2.25s forwards}
#site-intro .si-ring{position:fixed;width:0;height:0;border:1.5px solid #d0a94e;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 24px #d0a94e66;pointer-events:none;opacity:0}
#site-intro .si-skip{position:absolute;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));padding:8px 16px;border:1px solid #ffffff33;border-radius:999px;background:#ffffff0f;color:#f6efe6;font:600 13px/1 Noto,Arial,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
#site-intro .si-skip:hover{background:#ffffff1f}
@keyframes si-settle{to{transform:none;filter:none}}
@keyframes si-aura-in{to{opacity:.22}}
@keyframes si-aura-in-b{to{opacity:.12}}
@keyframes si-drift-a{to{translate:6vmax 4vmax}}
@keyframes si-drift-b{to{translate:-5vmax -6vmax}}
@keyframes si-rise{to{transform:scaleY(1)}}
@keyframes si-open{to{transform:scaleX(1);opacity:1}}
@keyframes si-open-leg{to{transform:scale(1);opacity:1}}
@keyframes si-line{to{transform:scaleX(1)}}
@keyframes si-lens{to{transform:scale(1) rotate(0);opacity:1}}
@keyframes si-ripple{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
@keyframes si-shine{to{transform:skewX(-18deg) translateX(1100px)}}
@keyframes si-glow{50%{filter:drop-shadow(0 0 26px #9b2247aa)}}
@keyframes si-ch{to{opacity:1;transform:none;filter:none}}
@keyframes si-sub{to{opacity:1;letter-spacing:.18em}}
@media (max-width:640px){#site-intro .si-sub{font-size:10.5px;line-height:1.5}@keyframes si-sub{to{opacity:1;letter-spacing:.1em}}}
@media (prefers-reduced-motion:reduce){#site-intro *{animation:none!important}.brand-link:hover .brand-mark{transform:none}}
