/* Home "Sites Incríveis" — Uni Global.
   Paleta: creme #F3EEE5 · papel #FBF8F2 · ônix-marinho #0C1324 · laranja #F26B1D (acento único).
   Tipos: Fraunces (display) · Inter Tight (texto) · DM Mono (relógio, rótulos, checklist).
   Escala: 13 / 15 / 18 / 22 / 30 / 44 / 64 / 96 / 128 · espaços: 8 / 16 / 24 / 40 / 64 / 104 / 168. */

:root { --nav-h: 100px; }
body:has(.ug2) { background: #F3EEE5; }

.ug2 {
  --ink: #0C1324;
  --cream: #F3EEE5;
  --paper: #FBF8F2;
  --soft: #5E6474;
  --accent: #F26B1D;
  --accent-ink: #B4480B;
  --line: color-mix(in srgb, currentColor 16%, transparent);
  --muted: color-mix(in srgb, currentColor 66%, transparent);
  --f-display: "Fraunces", Georgia, "Times New Roman", serif;
  --f-text: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "DM Mono", ui-monospace, Menlo, Consolas, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
  font-family: var(--f-text);
  font-size: 18px;
  line-height: 1.55;
  color: inherit;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
  overflow-x: clip;
}
.ug2 *, .ug2 *::before, .ug2 *::after { box-sizing: border-box; }
.ug2 h1, .ug2 h2, .ug2 h3, .ug2 p, .ug2 figure, .ug2 blockquote, .ug2 dl, .ug2 dd, .ug2 ol, .ug2 ul { margin: 0; }
.ug2 ol, .ug2 ul { padding: 0; list-style: none; }
.ug2 a { color: inherit; }
.ug2 img { max-width: 100%; height: auto; display: block; }
.ug2 h1, .ug2 h2, .ug2 h3 { font-family: var(--f-display); font-weight: 500; letter-spacing: -.02em; line-height: 1.04; color: inherit; }
.ug2 h2 { font-size: clamp(36px, 5.2vw, 76px); }
.ug2 h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; }
.ug2 em { font-style: italic; font-variation-settings: "SOFT" 100, "WONK" 1; }
.ug2 .mono { font-family: var(--f-mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ug2 .lede { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; color: var(--muted); max-width: 34em; }
.ug2 .wrap { width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); position: relative; }
.ug2-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Fundo que viaja: sem o motor, cada cena mantém o próprio fundo e tinta. */
.ug2 [data-fx-fundo] { position: relative; }
html:not(.fx-fundo-ativo) .ug2 .s-hero,
html:not(.fx-fundo-ativo) .ug2 .s-norms,
html:not(.fx-fundo-ativo) .ug2 .s-school,
html:not(.fx-fundo-ativo) .ug2 .s-academy,
html:not(.fx-fundo-ativo) .ug2 .s-close { background: var(--cream); color: var(--ink); }
html:not(.fx-fundo-ativo) .ug2 .s-why,
html:not(.fx-fundo-ativo) .ug2 .s-decide { background: var(--ink); color: var(--cream); }
html:not(.fx-fundo-ativo) .ug2 .s-trust { background: var(--paper); color: var(--ink); }
.fx-fundo-ativo body:has(.ug2) { background: var(--fx-fundo, #F3EEE5); color: var(--fx-tinta, #0C1324); }

/* Cenas fixas começam abaixo do menu fixo do site. */
.ug2 .fx-palco { top: var(--nav-h); height: calc(100vh - var(--nav-h)); height: calc(100dvh - var(--nav-h)); }

/* ---------- botões ---------- */
.ug2 .ctas { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
.ug2 .btn-main {
  display: inline-flex; align-items: center; gap: 14px; border: 0; cursor: pointer;
  background: var(--accent); color: var(--ink); font: 600 17px/1 var(--f-text);
  padding: 20px 28px; border-radius: 999px; text-decoration: none;
  transition: transform .5s var(--ease), background-color .3s;
}
.ug2 .btn-main .arr { display: inline-block; transition: transform .5s var(--ease); }
.ug2 .btn-main:hover { transform: translateY(-2px); background: #FF7A2B; }
.ug2 .btn-main:hover .arr { transform: translateX(6px); }
.ug2 .btn-main:focus-visible, .ug2 .btn-line:focus-visible, .ug2 .norm:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.ug2 .btn-line {
  display: inline-flex; align-items: center; gap: 10px; font: 500 16px/1 var(--f-text);
  padding: 19px 4px; text-decoration: none; color: inherit; border-bottom: 1px solid var(--line);
  transition: border-color .3s, gap .4s var(--ease);
}
.ug2 .btn-line:hover { border-color: currentColor; gap: 14px; color: inherit; }
@media (max-width: 575.98px) { .ug2 .btn-main { width: 100%; justify-content: space-between; } }

/* ============ ASSINATURA: checklist + selo ============ */
.ug2-check { position: fixed; left: 20px; bottom: 20px; z-index: 1030; font-family: var(--f-mono); color: var(--cream); }
.ug2-check-pill {
  display: flex; align-items: center; gap: 10px; border: 1px solid rgb(243 238 229 / .14); cursor: pointer;
  background: rgb(12 19 36 / .92); color: inherit; backdrop-filter: blur(10px);
  padding: 8px 14px 8px 8px; border-radius: 999px; font: 500 12px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase;
  box-shadow: 0 10px 30px -10px rgb(12 19 36 / .5);
}
.ug2-check-seal { width: 30px; height: 30px; color: var(--accent); transition: transform .6s var(--ease); }
.ug2-check.is-bump .ug2-check-seal { animation: ug2-bump .7s var(--ease); }
@keyframes ug2-bump { 0% { transform: scale(1); } 35% { transform: scale(1.35) rotate(-14deg); } 100% { transform: scale(1); } }
.ug2-check-count { color: rgb(243 238 229 / .55); font-variant-numeric: tabular-nums; }
.ug2-check-count b { color: var(--cream); font-weight: 500; }
.ug2 .ug2-check-list {
  position: absolute; left: 0; bottom: calc(100% + 12px); width: 290px; margin: 0; padding: 18px 18px 14px;
  background: rgb(12 19 36 / .97); border: 1px solid rgb(243 238 229 / .12); border-radius: 20px;
  box-shadow: 0 30px 60px -24px rgb(12 19 36 / .6); backdrop-filter: blur(12px);
  display: grid; gap: 2px; counter-reset: ug2c;
  opacity: 0; transform: translateY(10px) scale(.98); transform-origin: 0 100%; pointer-events: none;
  transition: opacity .3s, transform .45s var(--ease);
}
.ug2-check:hover .ug2-check-list, .ug2-check.is-open .ug2-check-list, .ug2-check:focus-within .ug2-check-list { opacity: 1; transform: none; pointer-events: auto; }
.ug2 .ug2-check-head { display: flex; justify-content: space-between; align-items: baseline; font: 500 11px/1 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: rgb(243 238 229 / .55); padding-bottom: 10px; }
.ug2 .ug2-check-head b { color: var(--cream); font-weight: 500; font-variant-numeric: tabular-nums; }
.ug2 .ug2-check-bar { height: 3px; border-radius: 3px; background: rgb(243 238 229 / .12); margin-bottom: 10px; overflow: hidden; }
.ug2 .ug2-check-bar i { display: block; height: 100%; background: var(--accent); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); transition: transform .8s var(--ease); }
.ug2 .ug2-check-list li[data-check-item] {
  counter-increment: ug2c; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 12px;
  padding: 9px 2px; border-top: 1px solid rgb(243 238 229 / .07);
  font: 500 14px/1.25 var(--f-text); letter-spacing: 0; color: rgb(243 238 229 / .55); transition: color .4s;
}
.ug2 .ug2-check-list li[data-check-item]::after { content: counter(ug2c, decimal-leading-zero); font: 500 11px/1 var(--f-mono); color: rgb(243 238 229 / .3); }
.ug2 .ug2-check-list li.is-done { color: var(--cream); }
.ug2 .ug2-check-list li.is-next { color: var(--cream); }
.ug2-check-list .box { width: 18px; height: 18px; border: 1.5px solid currentColor; border-radius: 50%; position: relative; flex: none; opacity: .7; transition: background-color .4s, border-color .4s; }
.ug2-check-list li.is-done .box { background: var(--accent); border-color: var(--accent); opacity: 1; }
.ug2-check-list li.is-done .box::after { content: ""; position: absolute; left: 5.5px; top: 2.5px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ug2-check-list .is-next .box { border-color: var(--accent); opacity: 1; animation: ug2-pulse 1.6s var(--ease) infinite; }
@keyframes ug2-pulse { 0% { box-shadow: 0 0 0 0 rgb(242 107 29 / .55); } 100% { box-shadow: 0 0 0 8px rgb(242 107 29 / 0); } }
.ug2 .ug2-check-list li.is-final { grid-template-columns: 1fr; padding: 12px 0 0; border-top: 0; }
.ug2 .ug2-check-list li.is-final::after, .ug2 .ug2-check-list li.is-final .box { display: none; }
.ug2-check-list .is-final a {
  display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-radius: 999px;
  background: var(--accent); color: #fff; text-decoration: none; font: 600 14px/1 var(--f-text);
  transition: background-color .3s;
}
.ug2-check-list .is-final a::after { content: "→"; transition: transform .4s var(--ease); }
.ug2-check-list .is-final a:hover { background: #FF7A2B; }
.ug2-check-list .is-final a:hover::after { transform: translateX(4px); }
.ug2-check-list li.is-final.is-done a { background: transparent; box-shadow: inset 0 0 0 1px var(--accent); color: var(--cream); }
@media (max-width: 575.98px) {
  .ug2-check { left: 12px; bottom: 16px; }
  .ug2-check-label { display: none; }
}

/* Marca do carimbo deixada em cada cena */
.ug2-spot { position: absolute; width: 132px; height: 132px; pointer-events: none; z-index: 3; }
.ug2-mark { width: 100%; height: 100%; color: var(--accent); filter: url(#ug2-ink); opacity: .92; transform: rotate(var(--rot, -12deg)); }
.ug2-spot.is-stamped .ug2-mark { animation: ug2-stamp .75s var(--ease) both; }
@keyframes ug2-stamp {
  0% { opacity: 0; transform: rotate(calc(var(--rot, -12deg) - 18deg)) scale(2.6); }
  55% { opacity: 1; transform: rotate(var(--rot, -12deg)) scale(.9); }
  75% { transform: rotate(var(--rot, -12deg)) scale(1.04); }
  100% { opacity: .92; transform: rotate(var(--rot, -12deg)) scale(1); }
}
.spot-hero { right: clamp(16px, 5vw, 80px); bottom: 24px; }
.spot-norms { right: clamp(16px, 6vw, 96px); bottom: 40px; }
.spot-decide { right: 0; bottom: -40px; }
.spot-school { right: 18px; top: 18px; width: 104px; height: 104px; }
.spot-trust { right: clamp(16px, 4vw, 56px); bottom: -24px; }
/* No celular os botões e listas ocupam a largura toda: os carimbos descem para o respiro abaixo do conteúdo */
@media (max-width: 767.98px) {
  .spot-decide { width: 96px; height: 96px; right: 4px; bottom: -160px; }
  .spot-norms { width: 96px; height: 96px; bottom: 16px; }
  .spot-trust { width: 96px; height: 96px; right: 4px; bottom: -112px; }
}

/* ============ 1 · RECEPÇÃO ============ */
.ug2 .s-hero { padding: clamp(40px, 6vh, 72px) 0 clamp(64px, 9vh, 104px); min-height: calc(100vh - var(--nav-h)); display: flex; align-items: center; }
.ug2 .hero-grid { display: grid; gap: 48px; align-items: center; }
@media (min-width: 992px) { .ug2 .hero-grid { grid-template-columns: 1.25fr .75fr; gap: 64px; } }
.ug2 .kicker { display: inline-flex; align-items: center; gap: 10px; font: 500 13px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 28px; }
.ug2 .kicker-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 rgb(242 107 29 / .5); animation: ug2-pulse 2.4s ease-out infinite; }
@keyframes ug2-pulse { 70% { box-shadow: 0 0 0 10px rgb(242 107 29 / 0); } 100% { box-shadow: 0 0 0 0 rgb(242 107 29 / 0); } }
.ug2 .hero-title { font-size: clamp(52px, 8.4vw, 128px); line-height: .94; letter-spacing: -.035em; margin-bottom: 32px; font-weight: 450; }
.ug2 .hero-title em { display: block; color: var(--accent-ink); font-weight: 400; }
.ug2 .hero-title .w { display: inline-block; animation: ug2-word 1s var(--ease) both; animation-delay: calc(.12s + var(--i) * .085s); }
@keyframes ug2-word { from { opacity: 0; transform: translateY(.45em) rotate(2deg); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
.ug2 .hero-sub { font-size: clamp(18px, 1.45vw, 21px); color: var(--muted); max-width: 33em; margin-bottom: 40px; animation: ug2-fade 1s .7s var(--ease) both; }
.ug2 .s-hero .ctas { animation: ug2-fade 1s .85s var(--ease) both; }
@keyframes ug2-fade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ug2 .hero-facts { display: flex; flex-wrap: wrap; gap: 16px 40px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); animation: ug2-fade 1s 1s var(--ease) both; }
.ug2 .hero-facts dt { font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.ug2 .hero-facts dd { font: 500 26px/1 var(--f-display); font-variant-numeric: tabular-nums; }
.ug2 .stars { color: var(--accent); font-size: 15px; letter-spacing: .1em; vertical-align: 3px; }
.ug2 .hero-arch { position: relative; max-width: 420px; width: 100%; justify-self: center; }
.ug2 .hero-arch .arch { animation: ug2-arch 1.4s .2s var(--ease) both; }
.ug2 .hero-arch figcaption { animation: ug2-cap .9s 1.1s var(--ease) both; }
@keyframes ug2-cap { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ug2-arch { from { clip-path: circle(0% at 50% 50%); } to { clip-path: circle(71% at 50% 50%); } }
/* Fotos da Fernanda em círculo, com um anel fino em volta (como o selo) */
.ug2 .arch { border-radius: 50%; overflow: hidden; aspect-ratio: 1; background: #E4DDD0; outline: 1px solid rgb(12 19 36 / .16); outline-offset: 12px; }
.ug2 .arch img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 16%; }
.ug2 .hero-arch figcaption { position: absolute; left: -28px; bottom: 6%; background: var(--paper); color: var(--ink); padding: 14px 18px; border-radius: 14px; box-shadow: 0 20px 40px -20px rgb(12 19 36 / .35); line-height: 1.3; }
.ug2 .hero-arch figcaption strong { display: block; font: 500 19px/1.2 var(--f-display); }
.ug2 .hero-arch figcaption span { font-size: 13px; color: var(--soft); }
@media (max-width: 991.98px) {
  .ug2 .hero-arch { max-width: 320px; }
  .ug2 .hero-arch figcaption { left: -12px; }
}

/* ============ 2 · POR QUE ESCOLHER A UNI GLOBAL ============ */
.ug2 .s-why { position: relative; padding: clamp(96px, 13vw, 168px) 0; }
.ug2 .why-grid { display: grid; gap: 64px; align-items: start; }
@media (min-width: 992px) { .ug2 .why-grid { grid-template-columns: 1.15fr .85fr; gap: clamp(56px, 7vw, 120px); } }
.ug2 .why-copy h2 { font-size: clamp(40px, 5.4vw, 80px); line-height: .98; letter-spacing: -.035em; font-weight: 450; margin: 14px 0 clamp(32px, 4vw, 56px); }
.ug2 .why-copy h2 em { color: var(--accent); }
.ug2 .why-copy h2:has(+ .why-lede) { margin-bottom: 22px; }
.ug2 .why-lede { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.6; color: var(--muted); max-width: 36em; margin: 0 0 clamp(32px, 4vw, 52px); }
.ug2 .why-list li { display: grid; grid-template-columns: 44px minmax(120px, .55fr) 1fr; align-items: baseline; gap: 8px 20px; padding: 22px 0; border-top: 1px solid var(--line); }
.ug2 .why-list li:last-child { border-bottom: 1px solid var(--line); }
.ug2 .why-n { font: 500 12px/1 var(--f-mono); color: var(--muted); letter-spacing: .08em; }
.ug2 .why-list strong { font: 450 clamp(28px, 2.8vw, 40px)/1 var(--f-display); letter-spacing: -.02em; color: var(--accent); }
.ug2 .why-t { font-size: clamp(16px, 1.3vw, 19px); line-height: 1.4; color: var(--muted); }
@media (max-width: 575.98px) {
  .ug2 .why-list li { grid-template-columns: 32px 1fr; }
  .ug2 .why-t { grid-column: 2; }
}
.ug2 .why-cert { position: relative; margin: 0 auto; width: 100%; max-width: 440px; }
@media (min-width: 992px) { .ug2 .why-cert { position: sticky; top: calc(var(--nav-h, 76px) + 40px); } }
.ug2 .why-cert figcaption { margin-top: 18px; text-align: center; font-size: 11px; letter-spacing: .12em; color: var(--muted); }
.ug2 .spot-why { right: -34px; bottom: 54px; width: 128px; height: 128px; }

/* Réplica do certificado (o modelo real, sem os dados da empresa) */
.ug2 .cert-doc { container-type: inline-size; position: relative; aspect-ratio: 924 / 1307; overflow: hidden; border-radius: 4px; background: linear-gradient(165deg, #FFFFFF 0%, #F1F3FB 48%, #DDE4F7 100%); color: #10162A; transform: rotate(-2.5deg); box-shadow: 0 40px 80px -30px rgb(0 0 0 / .6), 0 0 0 1px rgb(255 255 255 / .06); }
.ug2 .cd-corner { position: absolute; background: linear-gradient(135deg, #0B1640, #1B2A6B); }
.ug2 .cd-tl { left: 0; top: 0; width: 34%; height: 24%; clip-path: polygon(0 0, 100% 0, 0 100%); }
.ug2 .cd-br { right: 0; bottom: 0; width: 100%; height: 30%; clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 86%); }
.ug2 .cd-gold { position: absolute; right: 0; bottom: 0; width: 100%; height: 30%; background: linear-gradient(90deg, #B8913A, #F3DA8C 60%, #D9B55A); clip-path: polygon(100% 0, 100% 2.2%, 0 88.4%, 0 86%); }
.ug2 .cd-frame { position: absolute; inset: 3.4%; border: 1.5px solid #C9A24A; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 11cqw 7cqw 4cqw; }
.ug2 .cd-logo { position: absolute; left: 1.5cqw; top: 1.5cqw; width: 11cqw; height: 11cqw; border-radius: 50%; background: #fff; box-shadow: 0 0 0 .6cqw #fff; }
.ug2 .cd-water { position: absolute; left: 50%; top: 48%; width: 66cqw; height: auto; transform: translate(-50%, -50%); opacity: .07; filter: grayscale(1); pointer-events: none; }
.ug2 .cert-doc p { margin: 0; position: relative; }
.ug2 .cd-title { font: 800 5.5cqw/1 var(--f-text); text-transform: uppercase; letter-spacing: -.01em; white-space: nowrap; }
.ug2 .cd-small { font: 400 2.5cqw/1.3 var(--f-text); color: #2B3147; margin-top: 7cqw !important; }
.ug2 .cd-company { font: italic 500 7.4cqw/1 var(--f-display); color: var(--accent-ink); margin-top: 4cqw !important; }
.ug2 .cd-bar { width: 58%; height: 1.3cqw; border-radius: 1cqw; background: rgb(16 22 42 / .1); margin-top: 3cqw !important; }
.ug2 .cd-bar-s { width: 46%; }
.ug2 .cd-norm { font: 800 5.6cqw/1 var(--f-text); margin-top: 3.6cqw !important; }
.ug2 .cd-dates { width: 100%; display: grid; justify-items: center; gap: 0; margin-top: 4cqw; }
.ug2 .cd-dates .cd-bar { width: 44%; margin-top: 2.2cqw !important; }
.ug2 .cd-iso { width: 14cqw; height: auto; margin-top: 5cqw; position: relative; }
.ug2 .cd-frame > .cd-foot { margin-top: auto !important; }
.ug2 .cd-foot { font: 700 2cqw/1 var(--f-text); text-transform: uppercase; letter-spacing: .02em; color: #fff; margin-top: 4cqw !important; }

/* ============ 3 · ÍNDICE DAS NORMAS ============ */
.ug2 .s-norms { padding: clamp(104px, 14vh, 168px) 0 clamp(120px, 16vh, 200px); }
.ug2 .norms-head { display: grid; gap: 20px; margin-bottom: 64px; }
@media (min-width: 992px) { .ug2 .norms-head { grid-template-columns: 1fr 1fr; align-items: end; } .ug2 .norms-head .mono { grid-column: 1 / -1; } }
.ug2 .norms { border-top: 1px solid var(--line); counter-reset: n; }
.ug2 .norm {
  width: 100%; display: grid; align-items: center; gap: 4px 20px;
  grid-template-columns: 36px minmax(0, 1fr) 44px; grid-template-areas: "n t logo" "n s logo";
  background: none; border: 0; border-bottom: 1px solid var(--line); color: inherit; text-align: left; cursor: pointer;
  padding: clamp(18px, 2.4vh, 28px) 0; font: inherit; position: relative; isolation: isolate;
}
.ug2 .norm::before { content: ""; position: absolute; inset: 0 -20px; background: var(--ink); transform: scaleY(0); transform-origin: bottom; transition: transform .55s var(--ease); z-index: -1; border-radius: 4px; }
.ug2 .norm-n { grid-area: n; }
.ug2 .norm-t { grid-area: t; font: 450 clamp(30px, 4.6vw, 68px)/1 var(--f-display); letter-spacing: -.03em; transition: transform .55s var(--ease); }
.ug2 .norm-s { grid-area: s; font-size: 15px; color: var(--muted); transition: color .3s; }
.ug2 .norm-logo { grid-area: logo; width: 44px; height: 44px; object-fit: contain; }
.ug2 .norm-go { display: none; }
@media (min-width: 992px) {
  .ug2 .norm { grid-template-columns: 72px minmax(0, 1fr) minmax(0, 17em) 64px 150px; grid-template-areas: "n t s logo go"; }
  .ug2 .norm-s { text-align: right; }
  .ug2 .norm-logo { justify-self: center; opacity: .9; transition: transform .55s var(--ease); }
  .ug2 .norm-go { display: block; grid-area: go; justify-self: end; font: 500 13px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; opacity: .4; transition: opacity .3s, transform .5s var(--ease), color .3s; }
}
@media (hover: hover) and (min-width: 992px) {
  .ug2 .norm-logo { opacity: 0; transform: scale(.6) rotate(-12deg); }
  .ug2 .norm:hover::before { transform: scaleY(1); }
  .ug2 .norm:hover { color: var(--cream); }
  .ug2 .norm:hover .norm-t { transform: translateX(18px); font-style: italic; }
  .ug2 .norm:hover .norm-s { color: rgb(243 238 229 / .7); }
  .ug2 .norm:hover .norm-logo { opacity: 1; transform: none; background: var(--paper); border-radius: 12px; padding: 4px; }
  .ug2 .norm:hover .norm-go { opacity: 1; color: var(--accent); transform: translateX(-6px); }
  .ug2 .norm:hover .norm-n { color: var(--accent); }
}
.ug2 .norm-peek {
  position: fixed; left: 0; top: 0; z-index: 1020; width: 220px; pointer-events: none;
  background: var(--paper); color: var(--ink); border-radius: 16px; padding: 18px; box-shadow: 0 30px 60px -24px rgb(12 19 36 / .45);
  opacity: 0; transform: translate3d(var(--px, 0), var(--py, 0), 0) scale(.85) rotate(-4deg); transition: opacity .25s, transform .45s var(--ease);
}
.ug2 .norm-peek.is-on { opacity: 1; transform: translate3d(var(--px, 0), var(--py, 0), 0) scale(1) rotate(-2deg); }
.ug2 .norm-peek img { display: none; }
.ug2 .norm-peek p { font-size: 14px; line-height: 1.45; color: var(--soft); display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }

/* ============ 4 · A DECISÃO ============ */
.ug2 .s-decide { padding: clamp(140px, 22vh, 240px) 0; }
.ug2 .decide { text-align: center; display: grid; justify-items: center; gap: 28px; }
.ug2 .decide h2 { font-size: clamp(44px, 7.6vw, 120px); line-height: .98; letter-spacing: -.035em; max-width: 11em; font-weight: 450; }
.ug2 .decide h2 em { color: var(--accent); }
.ug2 .decide-body { max-width: 36em; display: grid; justify-items: center; gap: 24px; }
.ug2 .decide-body p { color: var(--muted); font-size: clamp(17px, 1.4vw, 20px); }
.ug2 .decide-body .decide-strong { color: inherit; font: 450 clamp(22px, 2.2vw, 30px)/1.25 var(--f-display); font-style: italic; }

/* ============ 5 · A ESCOLA (trilho) ============ */
.ug2 .s-school .fx-palco { justify-content: flex-start; }
.ug2 .rail { width: 100%; min-width: 0; flex: none; gap: clamp(16px, 2vw, 28px); padding: 0 clamp(20px, 4vw, 56px); align-items: stretch; height: min(78%, 640px); }
.ug2 .rail::after { content: ""; flex: 0 0 clamp(4px, 2vw, 28px); }
.ug2 .panel { flex: 0 0 auto; width: min(420px, 82vw); border-radius: 28px; padding: clamp(24px, 3vw, 40px); position: relative; display: flex; flex-direction: column; gap: 18px; overflow: hidden; }
.ug2 .panel-intro { width: min(620px, 88vw); padding-left: 0; justify-content: center; }
.ug2 .panel-intro h2 { font-size: clamp(42px, 6vw, 92px); line-height: .96; letter-spacing: -.035em; }
.ug2 .panel-intro h2 em { color: var(--accent-ink); }
.ug2 .panel-intro .ctas { margin-top: 12px; }
.ug2 .panel-mais { background: var(--ink); color: var(--cream); justify-content: flex-end; }
.ug2 .panel-mais .mais-logo { width: 120px; margin-bottom: auto; background: var(--paper); border-radius: 24px; padding: 10px; }
.ug2 .panel-mais p { color: rgb(243 238 229 / .72); font-size: 16px; }
.ug2 .panel-list { background: var(--paper); border: 1px solid var(--line); width: min(520px, 86vw); }
.ug2 .tlist { display: flex; flex-wrap: wrap; gap: 8px; align-content: flex-start; }
.ug2 .tlist li { border: 1px solid var(--line); border-radius: 999px; padding: 7px 13px; font-size: 14px; }
.ug2 .panel-quote { background: transparent; border: 1px solid var(--line); justify-content: space-between; width: min(380px, 80vw); }
.ug2 .panel-quote.is-low { margin-top: clamp(24px, 6vh, 64px); }
.ug2 .q-mark { font: 400 120px/.6 var(--f-display); color: var(--accent); height: 44px; }
.ug2 .panel-quote blockquote { font: 400 clamp(18px, 1.6vw, 22px)/1.4 var(--f-display); flex: 1; overflow: hidden; }
.ug2 .panel-quote figcaption strong { display: block; font-weight: 600; font-size: 16px; }
.ug2 .panel-quote figcaption span { font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ug2 .s-academy { padding: clamp(72px, 10vw, 128px) 0; }
.ug2 .s-academy .academy-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: clamp(28px, 4vw, 48px); }
.ug2 .s-academy .academy-head h2 { margin: 8px 0 10px; }
.ug2 .academy-links { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.ug2 .academy-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: clamp(16px, 2vw, 24px); }
.ug2 .panel-end { background: var(--ink); color: var(--cream); justify-content: flex-end; width: min(760px, 90vw); padding: clamp(32px, 4vw, 56px); gap: 22px; }
.ug2 .panel-end h3 { font-size: clamp(36px, 4.6vw, 68px); line-height: 1; letter-spacing: -.03em; font-weight: 450; max-width: 11em; }
.ug2 .panel-end h3 em { color: var(--accent); }
.ug2 .panel-end .academy-brand { display: inline-flex; align-items: center; gap: 12px; margin: 0; font: 600 clamp(28px, 3vw, 42px)/1.1 var(--f-display); letter-spacing: -.01em; color: var(--cream); }
.ug2 .panel-end .academy-brand i { color: var(--accent); font-size: .9em; }
.ug2 .panel-end .btn-main { align-self: flex-start; }
.ug2 .panel-end .spot-school { width: 132px; height: 132px; right: 28px; top: 28px; }
@media (max-width: 767.98px) {
  .ug2 .rail { height: 84%; }
  .ug2 .panel-quote.is-low { margin-top: 0; }
}

/* ============ 6 · QUEM CONFIA + UNIVERSO ============ */
.ug2 .s-trust { padding: clamp(104px, 14vh, 168px) 0 clamp(120px, 16vh, 200px); }
.ug2 .logos-block { display: grid; gap: 32px; }
@media (min-width: 992px) { .ug2 .logos-block { grid-template-columns: 220px 1fr; align-items: center; } }
.ug2 .logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ug2 .logos li { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: center; padding: 22px 18px; aspect-ratio: 2 / 1; }
.ug2 .logos img { max-height: 36px; width: auto; filter: brightness(0); opacity: .55; transition: opacity .3s; }
.ug2 .logos li:hover img { opacity: 1; }

.ug2 .trust-reviews { margin-top: clamp(104px, 14vh, 168px); padding: 0; background: transparent; }
.ug2 .trust-head { display: grid; gap: 16px; margin-bottom: 40px; max-width: 760px; }
.ug2 .trust-reviews .rv-carousel { margin-top: 0; }

.ug2 .prize { margin-top: clamp(120px, 16vh, 200px); display: grid; gap: 56px; align-items: center; }
@media (min-width: 992px) { .ug2 .prize { grid-template-columns: .8fr 1.2fr; gap: 80px; } }
.ug2 .prize-copy { display: grid; gap: 20px; justify-items: start; }
.ug2 .prize-copy > p:not(.lede) { color: var(--muted); }
.ug2 .prize-seal { width: 96px; }
.ug2 .prize-mosaic { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: clamp(70px, 8vw, 120px); gap: 12px; }
.ug2 .pm { overflow: hidden; border-radius: 18px; }
.ug2 .pm img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.ug2 .pm:hover img { transform: scale(1.05); }
.ug2 .pm-1 { grid-column: 1 / 5; grid-row: 1 / 4; border-radius: 999px 999px 18px 18px; }
.ug2 .pm-2 { grid-column: 5 / 7; grid-row: 1 / 3; }
.ug2 .pm-3 { grid-column: 5 / 7; grid-row: 3 / 5; }
.ug2 .pm-4 { grid-column: 1 / 3; grid-row: 4 / 6; }
.ug2 .pm-5 { grid-column: 3 / 5; grid-row: 4 / 6; }

.ug2 .universe { margin-top: clamp(120px, 16vh, 200px); }
.ug2 .universe-k { margin-bottom: 24px; }
.ug2 .uni-grid { display: grid; gap: 16px; }
@media (min-width: 992px) {
  .ug2 .uni-grid { grid-template-columns: 1.15fr .85fr; grid-template-rows: auto auto; }
  .ug2 .uni-lab { grid-row: 1 / 3; }
}
.ug2 .uni { border-radius: 28px; padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--line); }
.ug2 .uni p { color: var(--muted); font-size: 16px; }
.ug2 .uni-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 8px; }
.ug2 .uni-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.ug2 .uni-photos img:last-child { transform: translateY(24px); }
.ug2 .uni-lab h3 { margin-top: 24px; }
.ug2 .uni-list { display: grid; gap: 8px; margin: 4px 0 8px; }
.ug2 .uni-list li { display: flex; gap: 10px; align-items: baseline; font-size: 16px; }
.ug2 .uni-list li::before { content: "✓"; color: var(--accent-ink); font-weight: 700; }
.ug2 .uni-off { background: var(--ink); color: var(--cream); border-color: transparent; }
.ug2 .uni-off p { color: rgb(243 238 229 / .7); }
.ug2 .uni-off .mono { color: var(--accent); }
.ug2 .uni-unik { flex-direction: row; align-items: flex-start; gap: 20px; }
.ug2 .unik-img { width: 104px; flex: none; }
.ug2 .unik-q { font-family: var(--f-display); font-style: italic; color: inherit !important; margin-top: 8px; }
.ug2 .uni-link { margin-top: auto; align-self: flex-start; font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.ug2 .uni-off .uni-link { color: var(--accent); }
@media (max-width: 575.98px) { .ug2 .uni-unik { flex-direction: column; } }

.ug2 .news { margin-top: clamp(104px, 14vh, 168px); }
.ug2 .news-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 24px; }
.ug2 .news-list { border-top: 1px solid var(--line); }
.ug2 .news-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) 40px; gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; position: relative; }
.ug2 .news-title { font: 450 clamp(20px, 2.2vw, 32px)/1.15 var(--f-display); letter-spacing: -.015em; transition: transform .5s var(--ease); }
.ug2 .news-cover { display: none; }
.ug2 .news-go { justify-self: end; font-size: 22px; transition: transform .5s var(--ease); }
.ug2 .news-row:hover .news-title { transform: translateX(10px); }
.ug2 .news-row:hover .news-go { transform: translateX(6px); color: var(--accent-ink); }
@media (min-width: 992px) {
  .ug2 .news-row { grid-template-columns: 140px minmax(0, 1fr) 200px 40px; }
  .ug2 .news-cover { display: block; width: 200px; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #E4DDD0; opacity: 0; transform: scale(.92); transition: opacity .35s, transform .5s var(--ease); }
  .ug2 .news-cover img { width: 100%; height: 100%; object-fit: cover; }
  .ug2 .news-row:hover .news-cover { opacity: 1; transform: none; }
}
@media (max-width: 575.98px) { .ug2 .news-row { grid-template-columns: 1fr 24px; gap: 6px 12px; } .ug2 .news-date { grid-column: 1 / -1; } }

/* ============ 7 · FALE COM A PRESIDENTE ============ */
.ug2 .s-close { padding: clamp(120px, 16vh, 200px) 0 clamp(120px, 16vh, 184px); }
.ug2 .close-grid { display: grid; gap: 56px; align-items: center; }
@media (min-width: 992px) { .ug2 .close-grid { grid-template-columns: .8fr 1.2fr; gap: 96px; } }
.ug2 .close-arch { max-width: 440px; width: 100%; justify-self: center; }
.ug2 .close-copy { display: grid; gap: 24px; }
.ug2 .close-copy h2 { font-size: clamp(42px, 5.8vw, 88px); line-height: .98; letter-spacing: -.035em; font-weight: 450; }
.ug2 .close-copy h2 em { color: var(--accent-ink); }
.ug2 .close-quote { font: 400 clamp(19px, 1.7vw, 24px)/1.45 var(--f-display); font-style: italic; max-width: 30em; border-left: 2px solid var(--accent); padding-left: 24px; }
.ug2 .close-sign { font: 500 13px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-left: 26px; }
.ug2 .final { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 16px; }
.ug2 .final-item { position: relative; display: flex; align-items: center; gap: 16px; }
/* Último item da checklist: o espaço do selo espera ao lado do botão; o clique carimba */
.ug2 .final-slot { width: 64px; height: 64px; flex: none; border-radius: 50%; border: 1.5px dashed rgb(180 72 11 / .55); display: grid; place-items: center; position: relative; }
.ug2 .final-slot::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1.5px solid var(--accent); opacity: 0; animation: ug2-ring 2.4s var(--ease) infinite; }
@keyframes ug2-ring { 0% { opacity: .6; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.18); } }
.ug2 .final-seal { width: 52px; height: 52px; color: var(--accent); opacity: .22; transform: rotate(-12deg); transition: opacity .3s; }
.ug2 .final-item:hover .final-seal { opacity: .4; }
.ug2 .final-item.is-done .final-slot { border-color: transparent; }
.ug2 .final-item.is-done .final-slot::before { animation: none; }
.ug2 .final-item.is-done .final-seal { width: 72px; height: 72px; opacity: 1; filter: url(#ug2-ink); animation: ug2-stamp .75s var(--ease) both; }
.ug2 .close-facts { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.ug2 .close-facts a { text-decoration: none; color: inherit; }

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  .ug2 *, .ug2 *::before, .ug2 *::after { animation: none !important; transition: none !important; }
  .ug2 .s-school .fx-palco { top: 0; height: auto; }
  .ug2 .marquee-track { animation: none; flex-wrap: wrap; justify-content: center; }
  .ug2 .marquee-track[aria-hidden] { display: none; }
  .ug2 .rail { height: auto; padding: 64px clamp(20px, 4vw, 56px); }
  .ug2 .panel { width: min(100%, 520px); }
}
/* Sem movimento, o fundo não viaja: cada cena leva o próprio fundo (leitura garantida em qualquer ponto). */
@media (prefers-reduced-motion: reduce) {
  .ug2 .s-hero, .ug2 .s-norms, .ug2 .s-school, .ug2 .s-academy, .ug2 .s-close { background: var(--cream); color: var(--ink); }
  .ug2 .s-why, .ug2 .s-decide { background: var(--ink); color: var(--cream); }
  .ug2 .s-trust { background: var(--paper); color: var(--ink); }
}

/* Empresas que confiam: carrossel infinito (pausa ao passar o mouse) */
.ug2 .marquee { display: flex; overflow: hidden; margin-top: 28px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ug2 .marquee-track { display: flex; align-items: center; gap: clamp(40px, 5vw, 80px); padding-right: clamp(40px, 5vw, 80px); flex: none; animation: ug2-marquee 40s linear infinite; }
.ug2 .marquee:hover .marquee-track { animation-play-state: paused; }
.ug2 .marquee-track li { flex: none; }
.ug2 .marquee-track img { height: 44px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter .4s, opacity .4s; }
.ug2 .marquee-track img:hover { filter: none; opacity: 1; }
@keyframes ug2-marquee { to { transform: translateX(-100%); } }
