/* Shared native-style closing panel for the blog index and article pages. */
.rj .rj-editorial-contact { display: grid; grid-template-columns: minmax(0,1fr) clamp(140px,15vw,220px) auto; align-items: center; gap: 28px; margin-block: 80px 88px; padding: clamp(42px,4.5vw,64px); border-radius: 28px 28px 92px 28px; color: #f8f7f1; background: var(--rj-olive); }
.rj .rj-editorial-contact h2 { color: #f8f7f1; font-family: var(--rj-serif); font-weight: 400; font-style: normal; font-size: clamp(40px,3.7vw,54px); line-height: 1.06; letter-spacing: -.025em; }
.rj .rj-editorial-contact__copy { min-width: 0; }
/* Dashed wave from the site's naming-page action panel. */
.rj .rj-editorial-contact__path { display: block; width: 100%; height: auto; overflow: visible; color: #f8f7f1; pointer-events: none; transition: transform .5s cubic-bezier(.2,.75,.2,1); }
.rj .rj-editorial-contact__path path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-dasharray: .018 .018; }
.rj .rj-editorial-contact__path .rj-editorial-contact__path-arrow { stroke-dasharray: none; }
.rj .rj-editorial-contact p { max-width: 690px; margin-top: 22px; color: #f8f7f1; font-size: 16px; line-height: 1.55; text-wrap: pretty; }
.rj .rj-editorial-contact .rj-editorial-contact__button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 14px 30px; border: 1px solid #f8f7f1; border-radius: 999px; background: #f8f7f1; color: var(--rj-olive); font-size: 14px; font-weight: 400; line-height: 1.4; text-align: center; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease, color .3s ease, background .3s ease; }
.rj .rj-editorial-contact .rj-editorial-contact__button:hover { color: #f8f7f1; background: transparent; text-decoration: none; }
.rj .rj-editorial-contact .rj-editorial-contact__button:focus-visible { outline: 2px solid #f8f7f1; outline-offset: 5px; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(30,40,22,.16); }
@media (hover:hover) and (pointer:fine) {
  .rj .rj-editorial-contact .rj-editorial-contact__button:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(30,40,22,.16); }
  .rj .rj-editorial-contact:hover .rj-editorial-contact__path,
  .rj .rj-editorial-contact:focus-within .rj-editorial-contact__path { transform: translateX(5px); }
}
@media (max-width:1100px) {
  .rj .rj-editorial-contact { grid-template-columns: minmax(0,1fr) 130px auto; gap: 20px; }
  .rj .rj-editorial-contact .rj-editorial-contact__button { justify-self: start; }
}
@media (max-width:900px) {
  .rj .rj-editorial-contact { grid-template-columns: 1fr; gap: 28px; }
  .rj .rj-editorial-contact__path { display: none; }
}
@media (max-width:700px) {
  .rj .rj-editorial-contact { gap: 26px; margin-block: 56px 60px; padding: 32px 26px 38px; border-radius: 20px 20px 60px 20px; }
  .rj .rj-editorial-contact h2 { font-size: clamp(32px,8.5vw,38px); }
  .rj .rj-editorial-contact p { margin-top: 18px; font-size: 15px; }
  .rj .rj-editorial-contact .rj-editorial-contact__button { min-height: 50px; padding: 12px 24px; }
}
@media (prefers-reduced-motion:reduce) {
  .rj .rj-editorial-contact .rj-editorial-contact__button:hover,
  .rj .rj-editorial-contact .rj-editorial-contact__button:focus-visible,
  .rj .rj-editorial-contact:hover .rj-editorial-contact__path,
  .rj .rj-editorial-contact:focus-within .rj-editorial-contact__path { transform: none; transition: none; }
}
@media (prefers-reduced-motion:no-preference) {
  /* The shared observer adds this only when motion is supported. */
  .rj .rj-editorial-contact.rj-pending,
  .rj .rj-editorial-contact .rj-pending { opacity: 0; }
}
@media print {
  .rj .rj-editorial-contact { display: none; }
}
