html{scroll-behavior:smooth}
body.rpj-site{
  margin:0;
  background:var(--rpj-bg);
  color:var(--rpj-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:var(--rpj-body-d);
  line-height:var(--rpj-line)
}
.rpj-site *{box-sizing:border-box}
.rpj-site a{color:inherit}
.rpj-main{background:transparent}
.rpj-container{width:min(calc(100% - (var(--rpj-side)*2)),var(--rpj-content));margin:0 auto}
.rpj-container-wide{width:min(calc(100% - (var(--rpj-side)*2)),var(--rpj-wide));margin:0 auto}
.rpj-container-full{width:100%;padding-left:var(--rpj-side);padding-right:var(--rpj-side)}

.rpj-top{background:var(--rpj-top);color:#dce7f4;font-size:13px}
.rpj-top-inner{min-height:var(--rpj-top-h);display:flex;justify-content:space-between;align-items:center;gap:16px}
.rpj-header{position:relative;z-index:20}
.rpj-nav-wrap{background:var(--rpj-header-bg);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 10px 28px rgba(2,11,24,.12)}
.rpj-nav{min-height:var(--rpj-header-h);display:flex;align-items:center;justify-content:space-between;gap:30px}
.rpj-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff;min-width:0}
.rpj-brand-copy{display:flex;flex-direction:column}
.rpj-brand strong{font-size:24px;letter-spacing:-.02em}
.rpj-brand small{font-size:11px;color:#c8d6e8;letter-spacing:.04em}
.rpj-brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--rpj-accent),#f3d38e);color:var(--rpj-navy);font-weight:800;font-size:24px;flex:none}
.rpj-logo{display:block;width:auto;height:auto;max-width:var(--rpj-logo-w);max-height:var(--rpj-logo-h);object-fit:contain}
.rpj-menu{display:flex;align-items:center;gap:4px;font-size:var(--rpj-menu-d);font-weight:650}
.rpj-menu a{text-decoration:none;color:#ecf3fb;padding:11px 10px;border-radius:10px;transition:.2s}
.rpj-menu a:hover{background:rgba(255,255,255,.08)}
.rpj-menu .rpj-menu-cta{background:var(--rpj-accent);color:var(--rpj-navy);padding-inline:16px}
.rpj-menu-toggle{display:none}

.rpj-hero{
  min-height:var(--rpj-hero-min);
  padding:var(--rpj-hero-py) 0;
  background:
    radial-gradient(circle at 82% 24%,rgba(255,255,255,.08),transparent 31%),
    radial-gradient(circle at 18% 80%,rgba(209,163,81,.16),transparent 34%),
    linear-gradient(135deg,var(--rpj-hero1),var(--rpj-hero2));
  background-size:cover;
  background-position:center;
  color:#fff;
  display:flex;
  align-items:center
}
.rpj-hero-inner{max-width:920px}
.rpj-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;color:var(--rpj-accent);margin-bottom:12px}
.rpj-hero h1{font-size:var(--rpj-hero-d);line-height:1.03;letter-spacing:-.045em;max-width:980px;margin:0 0 22px}
.rpj-hero p{font-size:21px;line-height:1.55;color:#e8eff7;max-width:840px;margin:0}
.rpj-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.rpj-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--rpj-accent);color:var(--rpj-btn-text)!important;font-weight:800;padding:var(--rpj-button-py) var(--rpj-button-px);border-radius:var(--rpj-button-radius);border:1px solid transparent;transition:transform .18s,box-shadow .18s}
.rpj-button:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.rpj-button-outline,.rpj-button-ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.45)}
.rpj-button-small{font-size:14px;padding:9px 14px}

.rpj-page-title{background:linear-gradient(135deg,var(--rpj-page1),var(--rpj-page2));color:#fff;padding:66px 0 52px}
.rpj-page-title h1{font-size:48px;letter-spacing:-.035em;margin:0}

.rpj-section{padding:var(--rpj-gap) 0}
.rpj-bg-default{background:var(--rpj-section);color:var(--rpj-text)}
.rpj-bg-white{background:var(--rpj-white);color:var(--rpj-text)}
.rpj-bg-soft{background:var(--rpj-soft);color:var(--rpj-text)}
.rpj-bg-navy{background:linear-gradient(135deg,var(--rpj-navy),var(--rpj-blue));color:#fff}
.rpj-bg-accent{background:var(--rpj-accent-soft);color:var(--rpj-text)}

.rpj-module-title{font-size:var(--rpj-mod-title,var(--rpj-h2-d));line-height:1.1;letter-spacing:-.03em;margin:0 0 18px}
.rpj-module-text{font-size:var(--rpj-mod-text,var(--rpj-body-d));max-width:var(--rpj-mod-text-width,100%)}
.rpj-prose p{margin:0 0 1em}
.rpj-prose p:last-child{margin-bottom:0}

.rpj-cards{display:grid;gap:18px;margin-top:28px}
.rpj-cols-1{grid-template-columns:1fr}
.rpj-cols-2{grid-template-columns:repeat(2,1fr)}
.rpj-cols-3{grid-template-columns:repeat(3,1fr)}
.rpj-cols-4{grid-template-columns:repeat(4,1fr)}
.rpj-cols-5{grid-template-columns:repeat(5,1fr)}
.rpj-cols-6{grid-template-columns:repeat(6,1fr)}
.rpj-card{background:var(--rpj-card);border:1px solid var(--rpj-border);padding:var(--rpj-card-pad);border-radius:var(--rpj-card-radius);box-shadow:0 16px 40px rgba(9,34,67,.055);text-decoration:none;display:block}
.rpj-bg-navy .rpj-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff}
.rpj-card h3{font-size:var(--rpj-h3-d);line-height:1.15;margin:0 0 10px;letter-spacing:-.02em}
.rpj-card p{margin:0;color:var(--rpj-muted)}
.rpj-bg-navy .rpj-card p{color:#d8e3ef}
.rpj-card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--rpj-accent);margin-bottom:8px}
.rpj-cards-stats .rpj-card h3{font-size:34px;font-weight:850;color:var(--rpj-blue);letter-spacing:-.035em}
.rpj-cards-stats .rpj-card p{font-size:15px;color:var(--rpj-muted)}
.rpj-cards-timeline .rpj-card{position:relative}
.rpj-cards-timeline .rpj-card:before{content:"";position:absolute;top:0;left:var(--rpj-card-pad);width:52px;height:4px;background:var(--rpj-accent);border-radius:4px}

.rpj-cta-box{background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);padding:44px;border-radius:30px}
.rpj-split{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
.rpj-image-left .rpj-split-copy{order:2}
.rpj-image-left .rpj-split-media{order:1}
.rpj-image-top{grid-template-columns:1fr}
.rpj-image-top .rpj-split-media{order:-1}
.rpj-split-media img,.rpj-event-img,.rpj-person-photo{width:100%;border-radius:22px;display:block}
.rpj-split-media img{aspect-ratio:4/3;object-fit:cover}
.rpj-card-logo{display:block;object-fit:contain;object-position:center}
.rpj-member-logo-wrap{height:var(--rpj-member-logo-item-h,var(--rpj-member-logo-h));display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.rpj-member-card .rpj-card-logo{width:auto;height:auto;max-width:min(100%,var(--rpj-member-logo-item-w,var(--rpj-member-logo-w)));max-height:var(--rpj-member-logo-item-h,var(--rpj-member-logo-h));margin:0 auto}
.rpj-member-card .rpj-card-kicker,.rpj-member-card h3,.rpj-member-card .rpj-member-representative{text-align:center}
.rpj-member-card .rpj-member-representative{margin-left:auto;margin-right:auto}
.rpj-member-card .rpj-member-site-link{display:block;width:max-content;max-width:100%;margin-left:0;margin-right:auto;text-align:left}
.rpj-person-photo{aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.rpj-event-img{aspect-ratio:16/9;object-fit:cover;margin-bottom:18px}
.rpj-text-link{display:inline-block;margin-top:14px;color:var(--rpj-blue)!important;font-weight:750;text-decoration:none}
.rpj-bg-navy .rpj-text-link{color:#fff!important}

.rpj-doc-list{display:grid;gap:12px;margin-top:26px}
.rpj-doc{background:var(--rpj-white);border:1px solid var(--rpj-border);border-radius:18px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.rpj-doc h3{margin:0;font-size:20px}
.rpj-empty{padding:24px;border:1px dashed rgba(255,255,255,.35);border-radius:16px;color:#dce7f4;background:rgba(255,255,255,.06)}

.rpj-footer{background:var(--rpj-footer-bg);color:#e7eef7;padding:58px 0 0}
.rpj-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.rpj-footer h2,.rpj-footer h3{margin-top:0;color:#fff}
.rpj-footer p{color:#cbd7e5}
.rpj-footer a{text-decoration:none;color:#fff}
.rpj-muted-light{font-size:14px}
.rpj-footer-bottom{margin-top:40px;border-top:1px solid rgba(255,255,255,.12);padding:18px 0 26px;color:#aebed0;font-size:13px}

@media(max-width:1100px){
  body.rpj-site{font-size:var(--rpj-body-t)}
  .rpj-menu-toggle{display:inline-flex;background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;padding:10px 13px;border-radius:10px}
  .rpj-menu{display:none;position:absolute;left:var(--rpj-side);right:var(--rpj-side);top:calc(100% - 6px);background:var(--rpj-header-bg);padding:14px;border-radius:16px;box-shadow:0 22px 50px rgba(0,0,0,.25);flex-direction:column;align-items:stretch}
  .rpj-menu.is-open{display:flex}
  .rpj-hero h1{font-size:var(--rpj-hero-t)}
  .rpj-module-title{font-size:var(--rpj-h2-t)}
  .rpj-card h3{font-size:var(--rpj-h3-t)}
  .rpj-cols-4,.rpj-cols-5,.rpj-cols-6{grid-template-columns:repeat(2,1fr)}
  .rpj-top-contact{display:none}
}
@media(max-width:720px){
  body.rpj-site{font-size:var(--rpj-body-m)}
  .rpj-container,.rpj-container-wide{width:min(calc(100% - 36px),var(--rpj-content))}
  .rpj-container-full{padding-left:18px;padding-right:18px}
  .rpj-top-inner{justify-content:center;text-align:center}
  .rpj-nav{min-height:72px}
  .rpj-logo{max-width:var(--rpj-logo-m);max-height:54px}
  .rpj-brand strong{font-size:21px}
  .rpj-brand small{display:none}
  .rpj-hero{min-height:auto;padding:58px 0}
  .rpj-hero h1{font-size:var(--rpj-hero-m)}
  .rpj-hero p{font-size:18px}
  .rpj-page-title{padding:46px 0 38px}
  .rpj-page-title h1{font-size:36px}
  .rpj-module-title{font-size:var(--rpj-h2-m)}
  .rpj-card h3{font-size:var(--rpj-h3-m)}
  .rpj-module-text{font-size:var(--rpj-body-m)}
  .rpj-cols-2,.rpj-cols-3,.rpj-cols-4,.rpj-cols-5,.rpj-cols-6,.rpj-split,.rpj-footer-grid{grid-template-columns:1fr}
  .rpj-image-left .rpj-split-copy,.rpj-image-left .rpj-split-media{order:initial}
  .rpj-cta-box{padding:28px}
  .rpj-doc{align-items:flex-start;flex-direction:column}
  .rpj-actions .rpj-button{width:100%}
}


/* Proceso institucional RedPsiJu 2027 */
.rpj-process{position:relative;overflow:hidden}
.rpj-process-status{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--rpj-border);border-radius:999px;background:rgba(255,255,255,.72);font-size:12px;font-weight:800;letter-spacing:.035em;color:var(--rpj-blue);margin-bottom:18px}
.rpj-process-dot{width:8px;height:8px;border-radius:50%;background:var(--rpj-accent);box-shadow:0 0 0 5px rgba(209,163,81,.16)}
.rpj-process-badge{display:inline-flex;margin-top:22px;padding:10px 14px;border-radius:10px;background:var(--rpj-navy);color:#fff;font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.rpj-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.rpj-process-step{background:var(--rpj-card);border:1px solid var(--rpj-border);border-radius:var(--rpj-card-radius);padding:22px;box-shadow:0 14px 34px rgba(9,34,67,.05)}
.rpj-process-date{font-size:12px;font-weight:850;letter-spacing:.09em;color:var(--rpj-accent);margin-bottom:9px}
.rpj-process-step h3{margin:0 0 9px;font-size:20px;line-height:1.15;color:var(--rpj-text)}
.rpj-process-step p{margin:0;font-size:15px;color:var(--rpj-muted)}
.rpj-process-stage-electo .rpj-process-dot{background:#3b82f6;box-shadow:0 0 0 5px rgba(59,130,246,.14)}
.rpj-process-stage-formalizado .rpj-process-dot{background:#22a06b;box-shadow:0 0 0 5px rgba(34,160,107,.14)}
.rpj-bg-navy .rpj-process-status{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.rpj-bg-navy .rpj-process-badge{background:var(--rpj-accent);color:var(--rpj-navy)}
.rpj-bg-navy .rpj-process-step{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.rpj-bg-navy .rpj-process-step h3{color:#fff}.rpj-bg-navy .rpj-process-step p{color:#d8e3ef}
.rpj-process-is-compact .rpj-module-title{max-width:820px}.rpj-process-is-compact .rpj-module-text{max-width:920px}
.rpj-person-card .rpj-card-kicker,.rpj-person-card h3,.rpj-person-card .rpj-person-inst{text-align:center}
.rpj-person-inst{font-weight:700}.rpj-person-profile{margin-top:10px!important;font-size:14px;line-height:1.5}
@media(max-width:1100px){.rpj-process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.rpj-process-grid{grid-template-columns:1fr}.rpj-process-badge{display:flex;width:100%;justify-content:center;text-align:center}}
