.iub-rh {
  --iub-rh-bg: #061018;
  --iub-rh-line: rgba(96, 197, 224, .17);
  --iub-rh-text: #f3f8fa;
  --iub-rh-muted: #afc0ca;
  --iub-rh-cyan: #19d9f4;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--iub-rh-text);
  background: linear-gradient(var(--iub-rh-line) 1px, transparent 1px), linear-gradient(90deg, var(--iub-rh-line) 1px, transparent 1px), #061018;
  background-size: 48px 48px;
  font-family: inherit;
}
.iub-rh *, .iub-rh *::before, .iub-rh *::after { box-sizing: border-box; }
.iub-rh__inner { width: min(1220px, calc(100% - 48px)); display: grid; grid-template-columns: minmax(220px, .77fr) minmax(0, 1.75fr); gap: clamp(40px, 7vw, 112px); align-items: center; margin: 0 auto; padding: clamp(72px, 10vw, 132px) 0; }
.iub-rh__intro { max-width: 390px; }
.iub-rh__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--iub-rh-cyan); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.iub-rh__eyebrow span { width: 30px; height: 2px; background: currentColor; }
.iub-rh h2, .iub-rh h3 { margin: 0; color: var(--iub-rh-text); font-family: inherit; font-weight: 800; letter-spacing: -.055em; line-height: .92; }
.iub-rh h2 { font-size: clamp(42px, 5vw, 78px); }
.iub-rh h3 { font-size: clamp(34px, 4vw, 58px); }
.iub-rh__description { margin: 30px 0 0; color: var(--iub-rh-muted); font-size: 17px; line-height: 1.6; }
.iub-rh__hint { margin: 23px 0 0; color: var(--iub-rh-cyan); font-size: 13px; font-weight: 700; }

.iub-rh__network { position: relative; width: min(100%, 720px); min-height: clamp(430px, 50vw, 650px); aspect-ratio: 1.08; margin-inline: auto; isolation: isolate; touch-action: pan-y; user-select: none; }
.iub-rh__network::before, .iub-rh__network::after, .iub-rh__orbit { position: absolute; content: ''; pointer-events: none; }
.iub-rh__network::before { inset: 7% 2%; border: 1px solid rgba(25, 217, 244, .25); border-radius: 50%; box-shadow: 0 0 0 42px rgba(25, 217, 244, .035), 0 0 0 88px rgba(25, 217, 244, .022); transform: rotate(-10deg); }
.iub-rh__network::after { z-index: 1; inset: 32%; border-radius: 50%; background: radial-gradient(circle, #02080d 0 32%, rgba(2, 8, 13, .82) 47%, rgba(5, 31, 42, .16) 69%, transparent 70%); box-shadow: 0 0 45px 18px rgba(10, 130, 167, .17), inset 0 0 28px rgba(0, 0, 0, .9); }
.iub-rh__orbit { z-index: 1; inset: 14% 11%; border: 1px dashed rgba(63, 219, 241, .24); border-radius: 50%; transform: rotate(23deg); animation: iub-rh-orbit 24s linear infinite; }
.iub-rh__hub { position: absolute; z-index: 5; top: 50%; left: 50%; display: grid; width: clamp(104px, 14.2vw, 150px); aspect-ratio: 1; place-content: center; border: 1px solid rgba(25, 217, 244, .9); border-radius: 50%; color: #f4fcfe; background: rgba(3, 18, 27, .94); box-shadow: 0 0 0 16px rgba(25, 217, 244, .06), 0 0 38px rgba(25, 217, 244, .25), inset 0 0 32px rgba(25, 217, 244, .08); text-align: center; transform: translate(-50%, -50%); pointer-events: none; }
.iub-rh__hub small { color: var(--iub-rh-cyan); font-size: 8px; font-weight: 800; letter-spacing: .11em; }
.iub-rh__hub strong { margin-top: 6px; font-size: clamp(15px, 2vw, 21px); line-height: 1.05; }
.iub-rh__stage { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px 11px; padding: 40px 16px; align-items: center; justify-items: center; }
.iub-rh__stage--ready { position: absolute; inset: 0; display: block; padding: 0; }
.iub-rh__card { display: block; width: min(100%, 105px); padding: 0; border: 0; border-radius: 50%; color: inherit; background: transparent; box-shadow: none; cursor: pointer; }
.iub-rh__stage--ready .iub-rh__card { position: absolute; top: var(--iub-rh-y); left: var(--iub-rh-x); z-index: 2; width: clamp(48px, var(--iub-rh-size), 112px); margin: 0; transform: translate(-50%, -50%) scale(var(--iub-rh-scale)); transition: left .34s cubic-bezier(.2,.8,.2,1), top .34s cubic-bezier(.2,.8,.2,1), transform .25s ease, filter .25s ease, opacity .25s ease; animation: iub-rh-float 5.9s ease-in-out var(--iub-rh-delay) infinite; }
.iub-rh__image-wrap { display: grid; aspect-ratio: 1; place-items: center; overflow: hidden; border: 2px solid var(--iub-rh-cyan); border-radius: 50%; background: #07131b; box-shadow: 0 0 0 4px rgba(7, 19, 27, .94), 0 0 23px rgba(25, 217, 244, .3); }
.iub-rh__card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease, filter .35s ease; }
.iub-rh__card-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.iub-rh__card:hover, .iub-rh__card:focus-visible { z-index: 10 !important; filter: brightness(1.13); outline: none; }
.iub-rh__card:hover .iub-rh__image-wrap, .iub-rh__card:focus-visible .iub-rh__image-wrap { border-color: #78efff; box-shadow: 0 0 0 5px rgba(7, 19, 27, .94), 0 0 32px rgba(25, 217, 244, .65); }
.iub-rh__card:hover img, .iub-rh__card:focus-visible img { transform: scale(1.06); }
.iub-rh__status { position: absolute; z-index: 6; right: 2%; bottom: 0; left: 2%; margin: 0; color: rgba(207, 241, 247, .74); font-size: 10px; font-weight: 700; letter-spacing: .04em; text-align: center; }
.iub-rh__network.iub-rh--turn-next .iub-rh__card, .iub-rh__network.iub-rh--turn-previous .iub-rh__card { filter: brightness(1.1); }

.iub-rh__dialog { position: fixed; z-index: 2147483647; inset: 0; display: grid; place-items: center; padding: 24px; overflow-y: auto; background: rgba(0, 8, 13, .83); backdrop-filter: blur(9px); }
.iub-rh__dialog[hidden] { display: none; }
.iub-rh__dialog-panel { --iub-rh-photo-ratio: .75; position: relative; width: min(780px, 100%); display: flex; flex-direction: column; max-height: calc(100dvh - 32px); overflow: hidden; border: 1px solid rgba(74, 216, 245, .38); border-radius: 20px; background: #091924; box-shadow: 0 28px 80px rgba(0, 0, 0, .58); }
.iub-rh__dialog-image-wrap { position: relative; display: grid; flex: 0 0 auto; min-height: 0; place-items: center; overflow: hidden; isolation: isolate; background: #02080d; }
.iub-rh__dialog-image-wrap::before { position: absolute; z-index: -1; inset: -35%; content: ''; background: radial-gradient(circle at 20% 22%, rgba(25, 217, 244, .34), transparent 31%), radial-gradient(circle at 82% 72%, rgba(96, 73, 218, .32), transparent 37%), radial-gradient(circle at 58% 38%, rgba(17, 111, 142, .42), transparent 44%); animation: iub-rh-aurora 9s ease-in-out infinite alternate; }
.iub-rh__dialog-image { display: block; width: auto; height: auto; max-width: 100%; max-height: min(47dvh, 430px); object-fit: contain; box-shadow: 0 16px 42px rgba(0, 0, 0, .45); }
.iub-rh__dialog-content { position: relative; z-index: 1; display: flex; flex-direction: column; padding: clamp(18px, 2vw, 28px); background: #09202d; }
.iub-rh__dialog-content .iub-rh__eyebrow { margin-bottom: 10px; }
.iub-rh__dialog-content h3 { font-size: clamp(28px, 2.6vw, 42px); }
.iub-rh__dialog-count { margin: 8px 0 0; color: var(--iub-rh-cyan); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.iub-rh__dialog-course { margin: 10px 0 0; color: var(--iub-rh-cyan); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.iub-rh__dialog-achievement { margin: 9px 0 0; color: var(--iub-rh-muted); font-size: 14px; line-height: 1.42; }
.iub-rh__dialog-cta { align-self: center; display: inline-flex !important; align-items: center; justify-content: center; gap: 12px; width: min(100%, 320px); min-height: 54px; margin-top: 18px; padding: 13px 22px; border: 0 !important; border-radius: 999px; color: #00131b !important; background: #19d9f4 !important; box-shadow: 0 10px 28px rgba(25, 217, 244, .32); font-size: 13px; font-weight: 900; line-height: 1.2; text-align: center; text-decoration: none !important; }
.iub-rh__dialog-cta:hover, .iub-rh__dialog-cta:focus-visible { color: #00131b !important; background: #54e6f8 !important; transform: translateY(-2px); outline: none; }
.iub-rh__close { position: absolute; z-index: 2; top: 13px; right: 13px; display: grid; width: 44px !important; min-width: 44px !important; height: 44px !important; place-items: center; padding: 0 !important; border: 1px solid rgba(255, 255, 255, .52) !important; border-radius: 50% !important; color: #fff !important; background: rgba(1, 13, 19, .78) !important; font-size: 29px; line-height: 1; cursor: pointer; }
.iub-rh__close:hover, .iub-rh__close:focus-visible { border-color: var(--iub-rh-cyan); color: var(--iub-rh-cyan); outline: none; }
.iub-rh__nav { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
.iub-rh__nav button { min-width: 128px; min-height: 42px; padding: 0 14px; border: 1px solid rgba(153, 198, 213, .35); border-radius: 999px; color: #e8f7fa; background: transparent; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.iub-rh__nav button:hover, .iub-rh__nav button:focus-visible { border-color: var(--iub-rh-cyan); color: var(--iub-rh-cyan); outline: none; }
.iub-rh__exit { align-self: center; margin-top: 7px; padding: 4px 8px; border: 0; color: var(--iub-rh-cyan); background: transparent; font: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.iub-rh__exit:hover, .iub-rh__exit:focus-visible { color: #fff; outline: none; }
body.iub-rh-no-scroll { overflow: hidden; }

@keyframes iub-rh-float { 0%, 100% { margin-top: 0; } 50% { margin-top: -10px; } }
@keyframes iub-rh-orbit { to { transform: rotate(383deg); } }
@keyframes iub-rh-aurora { 0% { transform: translate3d(-4%, -3%, 0) scale(1); } 100% { transform: translate3d(5%, 4%, 0) scale(1.12); } }

@media (max-width: 980px) { .iub-rh__inner { grid-template-columns: 1fr; gap: 48px; } .iub-rh__intro { max-width: 650px; } .iub-rh__network { width: min(100%, 680px); } }
@media (max-width: 720px) {
  .iub-rh { background-size: 38px 38px; }
  .iub-rh__inner { width: min(100% - 32px, 560px); padding: 70px 0; }
  .iub-rh__network { min-height: min(132vw, 540px); }
  .iub-rh__network::before { inset: 8% 0; box-shadow: 0 0 0 22px rgba(25, 217, 244, .035), 0 0 0 45px rgba(25, 217, 244, .02); }
  .iub-rh__network::after { inset: 33%; }
  .iub-rh__hub { width: 108px; }
  .iub-rh__status { bottom: -2px; font-size: 9px; }
  .iub-rh__dialog { padding: 8px; align-items: center; overflow: hidden; }
  .iub-rh__dialog-panel { width: min(100%, 430px); max-height: calc(100dvh - 16px); }
  .iub-rh__dialog-image { max-height: 36dvh; }
  .iub-rh__dialog-content { padding: 16px 20px; }
  .iub-rh__dialog-content .iub-rh__eyebrow { margin-bottom: 8px; font-size: 9px; }
  .iub-rh__dialog-content h3 { font-size: clamp(27px, 8vw, 36px); }
  .iub-rh__dialog-count { margin-top: 7px; font-size: 9px; }
  .iub-rh__dialog-course { margin-top: 10px; font-size: 11px; line-height: 1.25; }
  .iub-rh__dialog-achievement { margin-top: 9px; font-size: 13px; line-height: 1.38; }
  .iub-rh__dialog-cta { width: min(100%, 280px); min-height: 50px; margin-top: 13px; padding: 10px 16px; font-size: 12px; }
  .iub-rh__nav { margin-top: 10px; }
  .iub-rh__nav button { min-width: 0; min-height: 40px; flex: 1; }
  .iub-rh__exit { margin-top: 5px; font-size: 11px; }
  .iub-rh__close { top: 9px; right: 9px; width: 38px !important; min-width: 38px !important; height: 38px !important; font-size: 26px; }
}
@media (max-width: 400px) { .iub-rh__network { min-height: 112vw; } .iub-rh__hub { width: 92px; } .iub-rh__hub strong { font-size: 14px; } .iub-rh__nav { gap: 8px; } .iub-rh__nav button { padding: 0 10px; } }
@media (prefers-reduced-motion: reduce) {
  .iub-rh *, .iub-rh *::before, .iub-rh *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Versão 1.9 — visualização em destaque e toque responsivo */
.iub-rh__spotlight { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 48px); width: min(940px, 100%); margin: 4px auto 0; padding: clamp(18px, 3vw, 32px); border: 1px solid rgba(83, 219, 244, .34); border-radius: 22px; background: linear-gradient(135deg, rgba(6, 28, 40, .98), rgba(5, 17, 27, .98)); box-shadow: 0 18px 52px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .04); scroll-margin-top: 24px; }
.iub-rh__spotlight[hidden] { display: none; }
.iub-rh__spotlight-image-wrap { display: grid; min-height: 320px; place-items: center; overflow: hidden; border: 1px solid rgba(25, 217, 244, .4); border-radius: 16px; background: radial-gradient(circle at 28% 22%, rgba(25, 217, 244, .22), transparent 34%), #020a10; }
.iub-rh__spotlight-image { display: block; width: 100%; height: 100%; min-height: 320px; max-height: 560px; object-fit: contain; }
.iub-rh__spotlight-content { display: flex; min-width: 0; flex-direction: column; justify-content: center; }
.iub-rh__spotlight-eyebrow { margin: 0 0 10px; color: var(--iub-rh-cyan); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.iub-rh__spotlight-title { font-size: clamp(30px, 4vw, 48px) !important; }
.iub-rh__spotlight-count { margin: 10px 0 0; color: var(--iub-rh-cyan); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.iub-rh__spotlight-course { margin: 20px 0 0; color: #eaf9fd; font-size: 15px; font-weight: 800; line-height: 1.35; }
.iub-rh__spotlight-achievement { margin: 10px 0 0; color: var(--iub-rh-muted); font-size: 15px; line-height: 1.55; }
.iub-rh__spotlight-actions { display: flex; gap: 10px; margin-top: 24px; }
.iub-rh__spotlight-actions button, .iub-rh__spotlight-open { min-height: 46px; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.iub-rh__spotlight-actions button { flex: 1; padding: 0 15px; border: 1px solid rgba(153, 218, 232, .36); color: #eaf9fd; background: transparent; }
.iub-rh__spotlight-open { width: 100%; margin-top: 12px; padding: 0 18px; border: 0; color: #00131b; background: var(--iub-rh-cyan); box-shadow: 0 10px 24px rgba(25, 217, 244, .22); }
.iub-rh__spotlight-actions button:hover, .iub-rh__spotlight-actions button:focus-visible { border-color: var(--iub-rh-cyan); color: var(--iub-rh-cyan); outline: none; }
.iub-rh__spotlight-open:hover, .iub-rh__spotlight-open:focus-visible { color: #00131b; background: #63eafb; outline: none; transform: translateY(-1px); }

@media (max-width: 720px) {
  .iub-rh__network { width: 100%; min-height: 0; height: min(120vw, 500px); aspect-ratio: auto; }
  .iub-rh__network::before { inset: 9% 4%; }
  .iub-rh__network::after { inset: 35%; }
  .iub-rh__hub { width: 94px; }
  .iub-rh__stage--ready .iub-rh__card { width: clamp(46px, var(--iub-rh-size), 78px); }
  .iub-rh__status { right: 4%; bottom: 5px; left: 4%; line-height: 1.35; }
  .iub-rh__spotlight { grid-template-columns: 1fr; gap: 20px; margin-top: 0; padding: 16px; border-radius: 18px; }
  .iub-rh__spotlight-image-wrap { min-height: 285px; max-height: 58dvh; }
  .iub-rh__spotlight-image { min-height: 285px; max-height: 58dvh; }
  .iub-rh__spotlight-title { font-size: clamp(30px, 9vw, 40px) !important; }
  .iub-rh__spotlight-course { margin-top: 15px; font-size: 14px; }
  .iub-rh__spotlight-achievement { font-size: 14px; }
}

@media (max-width: 480px) {
  .iub-rh__inner { width: min(100% - 28px, 520px); }
  .iub-rh__network { height: min(118vw, 455px); }
  .iub-rh__network::before { inset: 10% 5%; box-shadow: 0 0 0 16px rgba(25, 217, 244, .035), 0 0 0 30px rgba(25, 217, 244, .02); }
  .iub-rh__network::after { inset: 36%; }
  .iub-rh__hub { width: 86px; }
  .iub-rh__hub strong { font-size: 13px; }
  .iub-rh__stage--ready .iub-rh__card { width: clamp(44px, var(--iub-rh-size), 66px); }
  .iub-rh__hint { font-size: 12px; line-height: 1.45; }
  .iub-rh__spotlight-image-wrap, .iub-rh__spotlight-image { min-height: 255px; }
  .iub-rh__spotlight-actions { gap: 8px; }
  .iub-rh__spotlight-actions button { padding: 0 10px; font-size: 11px; }
}


/* Fotos identificadas de modo discreto e abertura grande no celular */
.iub-rh__card-label { position: absolute; z-index: 12; top: calc(100% + 4px); left: 50%; display: block; width: auto; height: auto; padding: 2px 5px; overflow: visible; clip: auto; border: 1px solid rgba(25, 217, 244, .28); border-radius: 999px; color: #dffaff; background: rgba(2, 14, 21, .86); font-size: 8px; font-weight: 800; line-height: 1.1; letter-spacing: .03em; white-space: nowrap; pointer-events: none; transform: translateX(-50%); }
@media (max-width: 720px) {
  .iub-rh__dialog { padding: 0; place-items: stretch; }
  .iub-rh__dialog-panel { width: 100%; max-width: none; max-height: none; height: 100dvh; border-radius: 0; }
  .iub-rh__dialog-image-wrap { flex: 1 1 auto; min-height: 0; }
  .iub-rh__dialog-image { max-height: min(64dvh, 640px); }
  .iub-rh__dialog-content { padding: 18px 22px 20px; }
  .iub-rh__card-label { top: calc(100% + 3px); padding: 1px 4px; font-size: 7px; }
}


/* Versão 2.1 — foco total no popup da foto */
.iub-rh__spotlight, .iub-rh__card-label { display: none !important; }
@media (min-width: 721px) {
  .iub-rh__dialog { padding: 24px; }
  .iub-rh__dialog-panel { width: min(660px, calc(100% - 48px)); max-height: calc(100dvh - 48px); border-radius: 18px; }
  .iub-rh__dialog-image { max-height: min(42dvh, 360px); }
  .iub-rh__dialog-content { padding: 20px 26px 22px; }
  .iub-rh__dialog-content h3 { font-size: clamp(25px, 2.5vw, 36px); letter-spacing: -.035em; }
  .iub-rh__dialog-course { margin-top: 8px; }
  .iub-rh__dialog-achievement { margin-top: 7px; }
  .iub-rh__dialog-cta { min-height: 48px; margin-top: 13px; }
  .iub-rh__nav { margin-top: 10px; }
}
