
:root {
  --bg:           #FAFAF8;   
  --bg-raised:    #F4F2EE;   
  --bg-panel:     #FFFFFF;   
  --bg-hover:     #F0EEE9;   
  --bg-invertido: #14171A;   
  
  --line:         #E4E2DC;   
  --line-strong:  #D6D3CC;   
  
  --text:         #15181B;   
  --text-muted:   #585F66;   
  --text-dim:     #666D74;   
  --text-ghost:   #C2C7CC;   
  --text-invertido: #F7F8F8; 
  
  --accent:       #15181B;   
  --accent-hover: #2A2F35;
  --accent-press: #000000;
  --accent-ink:   #FAFAF8;   
  --accent-text:  #15181B;   
  --accent-soft:  rgb(21 24 27 / .06);
  --accent-line:  rgb(21 24 27 / .20);
  
  --bg-destaque:  #F6F0B2;
  --realce:       #F2E45C;
  --realce-soft:  rgb(242 228 92 / .55);
  --realce-borda: rgb(203 188 52 / .55);
  --realce-text:  #585F66;
  
  --tinta-azul:    #C6DCF2;  --tinta-azul-borda:    #A9C6E4;  --tinta-azul-forte:    #15181B;
  --tinta-lima:    #CFE4C4;  --tinta-lima-borda:    #B0CDA1;  --tinta-lima-forte:    #15181B;
  --tinta-laranja: #F6D9C3;  --tinta-laranja-borda: #E5BC9C;  --tinta-laranja-forte: #15181B;
  
  
  --ok:    #15803D;
  --warn:  #9A4507;
  --error: #C0362C;
  
  --banda-ok:   #CFEAD9;   
  --banda-erro: #F7D4D0;   
  
  --font-display: 'Inter', 'Inter Fallback', -apple-system, system-ui, sans-serif;
  --font-body:    'Inter', 'Inter Fallback', -apple-system, system-ui, sans-serif;
  --font-mono:    'Geist Mono', ui-monospace, 'SF Mono', monospace;
  --font-accent:  'Instrument Serif', Georgia, 'Times New Roman', serif;
  
  --t-display: clamp(2.25rem, 4.2vw, 3.5rem);    
  --t-h2:      clamp(1.75rem, 3vw, 2.5rem);      
  --t-h3:      clamp(1.25rem, 1.6vw, 1.5rem);    
  --t-lead:    clamp(1.0625rem, 1.15vw, 1.125rem); 
  --t-body:    1rem;                             
  --t-small:   .875rem;                          
  --t-micro:   .75rem;                           
  
  --w-display: 700;
  --w-strong:  800;
  --w-heading: 640;
  --w-body:    400;
  --w-link:    500;
  
  --ls-display: -.02em;
  --ls-strong:  -.028em;
  --ls-h2:      -.020em;
  --ls-h3:      -.015em;
  --ls-lead:    -.005em;
  --ls-mono:     .10em;
  
  --lh-display: 1.10;
  --lh-h2:     1.15;
  --lh-h3:     1.2;
  --lh-lead:   1.5;
  --lh-body:   1.65;
  
  --s1:  4px;   --s2:  8px;   --s3: 12px;  --s4: 16px;
  --s5: 24px;   --s6: 32px;   --s7: 48px;  --s8: 64px;
  --s9: 96px;   --s10:128px;  --s11:176px;
  --container: 1240px;
  --gutter: clamp(20px, 5vw, 48px);
  --medida: 62ch;
  
  --folha-calha:  52px;   
  --folha-cab:    28px;   
  --folha-cel-l: 132px;
  --folha-cel-a:  38px;
  
  --r-sm: 4px;
  --r-md: 6px;
  --r-full: 999px;
  --r-btn: 6px;
  --shadow-sm:    0 1px 2px rgb(21 24 27 / .04);
  --shadow-modal: 0 24px 64px rgb(21 24 27 / .16), 0 2px 8px rgb(21 24 27 / .06);
  
  --ease-out:   cubic-bezier(.22, 1, .36, 1);
  --ease-inout: cubic-bezier(.4, 0, .2, 1);
  --dur-fast: 160ms;
  --dur-mid:  300ms;
  --dur-slow: 560ms;
  
  --z-deco:    0;
  --z-conteudo:1;
  --z-nav:    50;
  --z-modal: 100;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/inter-variable.woff2') format('woff2-variations');
}
@font-face {
  font-family: 'Inter Fallback';
  src: local('Helvetica Neue'), local('Helvetica'), local('Arial');
  size-adjust: 109.38%;
  ascent-override: 88.57%;
  descent-override: 22.05%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/geist-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/instrument-serif-italic.woff2') format('woff2');
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 96px;    
  overflow-x: clip;
}
body {
  min-height: 100svh;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--t-body);
  line-height: var(--lh-body);
  font-weight: var(--w-body);
  font-optical-sizing: auto;   
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  position: relative;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4 { overflow-wrap: break-word; }
button { background: none; border: 0; cursor: pointer; }
ul, ol { list-style: none; padding: 0; }
a {
  color: inherit;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
main a:not([class]) {
  color: var(--text);
  font-weight: var(--w-link);
}
main :is(h1, h2, h3, h4) a:not([class]) {
  color: inherit;
  font-weight: inherit;
}
main a:not([class]):hover,
main a:not([class]):focus-visible {
  text-decoration: underline;
  text-decoration-thickness: .06em;
  text-underline-offset: .14em;
  text-decoration-skip-ink: auto;
}
[hidden] { display: none !important; }
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px;
}
::selection { background: var(--accent); color: var(--accent-ink); }
.invertido {
  background: var(--bg-invertido);
  color: var(--text-invertido);
  --text: var(--text-invertido);
  --text-muted: #9BA1A6;
  --text-dim: #7A8186;
  --line: #262A2E;
  --line-strong: #343A40;
  --bg-panel: #1B1F23;
  --bg-hover: #23282D;
  --bg-raised: #1B1F23;
  --accent-text: var(--accent);
}
:root, .invertido { --tinta-em-claro: #15181B; }
h1 {
  font-family: var(--font-display);
  font-size: var(--t-display);
  font-weight: var(--w-display);
  letter-spacing: var(--ls-display);
  line-height: var(--lh-display);
  text-wrap: balance;
}
h2 {
  font-family: var(--font-display);
  font-size: var(--t-h2);
  font-weight: var(--w-heading);
  letter-spacing: var(--ls-h2);
  line-height: var(--lh-h2);
  text-wrap: balance;
}
h3 {
  font-size: var(--t-h3);
  font-weight: var(--w-heading);
  letter-spacing: var(--ls-h3);
  line-height: var(--lh-h3);
}
.lead {
  font-size: var(--t-lead);
  line-height: var(--lh-lead);
  letter-spacing: var(--ls-lead);
  color: var(--text-muted);
  max-width: 54ch;
}
.corpo { max-width: var(--medida); color: var(--text-muted); }
.corpo > p + p { margin-top: var(--s5); }
h1 + p, h1 + .lead { margin-top: var(--s6); }
h2 + p, h2 + .lead,
h3 + p, h3 + .lead { margin-top: var(--s5); }
.pequeno { font-size: var(--t-small); }
.mono {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  line-height: 1.4;
}
.w {
  font-style: normal;
  font-weight: var(--w-strong);
  letter-spacing: var(--ls-strong);
}
.dim { color: var(--text-muted); }
.serif {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.01em;
}
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.seccao { padding-block: var(--s10); }
@media (max-width: 720px) {
  .seccao { padding-block: var(--s8); }
  :root { --folha-calha: 34px; --folha-cab: 24px; --folha-cel-l: 88px; --folha-cel-a: 34px; }
}
.saltar {
  position: absolute;
  left: -9999px;
  top: var(--s4);
  background: var(--accent);
  color: var(--accent-ink);
  padding: var(--s3) var(--s5);
  border-radius: var(--r-sm);
  font-weight: var(--w-heading);
  z-index: var(--z-modal);
}
.saltar:focus { left: var(--s4); }
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: multiply;
  opacity: .016;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
:has(> .aurora) { position: relative; overflow: hidden; }
.hero, .hero-servico, .cta-final { position: relative; overflow: hidden; }
.aurora {
  position: absolute;
  inset: -20%;
  z-index: var(--z-deco);
  pointer-events: none;
  filter: blur(90px);
  opacity: .5;
  background:
    radial-gradient(38% 44% at 16% 20%, rgb(255 255 255 / .85) 0%, transparent 70%),
    radial-gradient(42% 38% at 80% 14%, rgb(255 253 248 / .70) 0%, transparent 70%),
    radial-gradient(50% 50% at 62% 82%, rgb(236 233 226 / .55) 0%, transparent 70%);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .aurora { animation: none !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .aurora { animation: deriva 40s var(--ease-inout) infinite alternate; }
  html { scroll-behavior: smooth; }
}
:target, [id] { scroll-margin-top: 92px; }
@keyframes deriva {
  to { transform: translate3d(-3%, 2%, 0) scale(1.06); }
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--s2);
  min-height: 48px;                 
  padding: 0 var(--s6);
  border-radius: var(--r-btn);
  font-weight: var(--w-heading);
  font-size: var(--t-body);
  letter-spacing: -.01em;
  
  line-height: 1.2;
  white-space: normal;
  text-align: center;
  text-wrap: balance;
  max-width: 100%;
  padding-block: var(--s3);
  transition: background var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.btn-primario {
  background: var(--accent);
  color: var(--accent-ink);
}
.btn-primario:hover { background: var(--accent-hover); transform: translateY(-1px); }
.btn-primario:active { background: var(--accent-press); transform: translateY(0); }
.btn-secundario {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line-strong);
}
.btn-secundario:hover { background: var(--bg-hover); border-color: var(--text-dim); }
.btn-fantasma {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  color: var(--text-muted);
  font-weight: var(--w-body);
}
.btn-fantasma:hover { color: var(--text); }
.seta {
  display: inline-block;
  width: .62em;
  height: .62em;
  position: relative;
  vertical-align: -.04em;
}
.seta::before,
.projeto a:not(:has(.capa)) .projeto__titulo::after {
  content: "";
  width: .34em;
  height: .34em;
  border-top: .09em solid currentColor;
  border-right: .09em solid currentColor;
  transform: rotate(45deg);
}
.seta::before {
  position: absolute;
  inset: 0;
  margin: auto;
}
.seta--tras::before { transform: rotate(225deg); }
.seta--fora::before { transform: none; }
.seta--fora::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: .46em;
  height: .09em;
  background: currentColor;
  transform: rotate(-45deg);
}
a:has(> .seta--fora) { white-space: nowrap; }
.btn-fantasma:hover .seta--fora,
a:hover > .seta--fora { transform: translate(2px, -2px); }
.seta--fora { transition: transform var(--dur-fast) var(--ease-out); }
.btn-fantasma .seta { transition: transform var(--dur-fast) var(--ease-out); }
.btn-fantasma:hover .seta { transform: translateX(4px); }
.btn[disabled] { opacity: .45; cursor: not-allowed; transform: none; }
.pastilha {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  padding: 6px var(--s3);
  border-radius: var(--r-btn);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
}
.pastilha-acento {
  background: var(--accent-soft);
  border-color: var(--accent-line);
  color: var(--accent-text);   
}
.pastilha-realce {
  background: var(--realce-soft);
  border-color: var(--realce-borda);
  color: var(--realce-text);
}
.ponto {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--realce-text);
  flex: none;
}
@media (prefers-reduced-motion: no-preference) {
  .ponto { animation: pulsar 2.4s var(--ease-inout) infinite; }
}
@keyframes pulsar { 50% { opacity: .35; } }
.campo { display: flex; flex-direction: column; gap: var(--s2); }
.campo > label {
  font-size: var(--t-small);
  color: var(--text-muted);
}
.campo input,
.campo select,
.campo textarea {
  width: 100%;
  min-height: 52px;
  padding: 0 var(--s4);
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-sm);
  color: var(--text);
  font-size: var(--t-body);
  transition: border-color var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out);
}
.campo textarea { padding-block: var(--s3); min-height: 120px; resize: vertical; line-height: 1.5; }
.campo input::placeholder,
.campo textarea::placeholder { color: var(--text-dim); }
.campo input:focus,
.campo select:focus,
.campo textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.campo input[aria-invalid='true'],
.campo textarea[aria-invalid='true'] { border-color: var(--error); }
.campo .erro { font-size: var(--t-small); color: var(--error); }
.campo .ajuda { font-size: var(--t-small); color: var(--text-dim); }
.campo select {
  appearance: none;
  cursor: pointer;
  padding-right: var(--s8);
  background-image: linear-gradient(45deg, transparent 50%, var(--text-dim) 50%),
                    linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);
  background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.reforco { font-size: var(--t-small); color: var(--text-dim); }
.fita {
  position: relative;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,
    transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg,
    transparent, #000 8%, #000 92%, transparent);
}
.fita__pista {
  display: flex;
  width: max-content;
  animation: fitaAnda 64s linear infinite;
}
@keyframes fitaAnda {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.fita:hover .fita__pista { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .fita__pista { animation: none; }
}
.fita__lista {
  display: flex;
  align-items: center;
  gap: var(--s9);
  padding-inline: var(--s5);
  margin: 0;
  list-style: none;
  flex: none;
}
.fita__lista > li {
  flex: none;
  display: grid;
  place-items: center;
}
.fita__lista img {
  height: calc(40px * var(--k, 1));
  width: min(calc(136px * var(--k, 1)), calc(40px * var(--k, 1) * var(--r, 1)));
  object-fit: contain;
}
.fita__texto {
  color: var(--text-muted);
  font-weight: var(--w-heading);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .fita__lista { gap: var(--s7); }
  .fita__lista img { max-height: calc(32px * var(--k, 1)); max-width: calc(112px * var(--k, 1)); }
  .fita__pista { animation-duration: 44s; }
}
.muro-cel img {
  max-width: min(128px, 100%);
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: .82;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.muro-cel:hover img { opacity: 1; }
.testemunho blockquote {
  font-size: var(--t-h3);
  font-weight: var(--w-body);
  line-height: 1.45;
  letter-spacing: var(--ls-h3);
  max-width: 34ch;
}
.testemunho mark,
.caso-citacao mark {
  background: var(--realce-soft);   
  color: var(--text);
  padding: 2px 5px;
  margin-inline: -3px;
  border-radius: 3px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
[data-preenche] > span,
.puxada mark[data-partido] > span {
  background-image: linear-gradient(var(--realce), var(--realce));
  background-repeat: no-repeat;
  background-size: var(--marcado, 0%) .92em;
  background-position: 0 calc(100% - .19em);
  border-radius: .06em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.testemunho figcaption {
  display: flex;
  align-items: center;
  gap: var(--s3);
  margin-top: var(--s5);
}
.testemunho figcaption img { width: 40px; height: 40px; border-radius: 50%; }
.testemunho .nome { font-weight: var(--w-heading); }
.testemunho .empresa { color: var(--text-dim); font-size: var(--t-small); }
.painel { border: 1px solid; border-radius: var(--r-md); padding: var(--s7); }
.painel-azul    { background: var(--tinta-azul);    border-color: var(--tinta-azul-borda); }
.painel-lima    { background: var(--tinta-lima);    border-color: var(--tinta-lima-borda); }
.painel-laranja { background: var(--tinta-laranja); border-color: var(--tinta-laranja-borda); }
.painel-azul    .rotulo { color: var(--tinta-azul-forte); }
.painel-lima    .rotulo { color: var(--tinta-lima-forte); }
.painel-laranja .rotulo { color: var(--tinta-laranja-forte); }
.painel .rotulo {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
}
.tripla { display: grid; gap: var(--s7); }
@media (min-width: 900px) { .tripla { grid-template-columns: repeat(3, 1fr); } }
.tripla p { color: var(--text-muted); }
.tripla b { color: var(--text); font-weight: var(--w-heading); }
.cabecalho {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  transition: background var(--dur-mid) var(--ease-out),
              border-color var(--dur-mid) var(--ease-out);
  border-bottom: 1px solid transparent;
}
[data-scrolled] .cabecalho {
  background: var(--bg);
  border-bottom-color: var(--line);
}
.cabecalho-int {
  display: flex;
  align-items: center;
  gap: var(--s6);
  min-height: 68px;
}
.marca { flex: none; display: block; }
.marca img { width: 76px; height: auto; }
.cabecalho-int > nav { margin-inline-start: auto; }
.nav-principal { display: flex; align-items: center; gap: var(--s2); }
.nav-principal > li { position: relative; }
.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--s2) var(--s3);
  border-radius: var(--r-sm);
  font-size: var(--t-small);
  color: var(--text-muted);
}
.nav-link:hover { color: var(--text); background: var(--bg-hover); }
.nav-link[aria-current='page'] { color: var(--text); }
.nav-link .chevron { transition: transform var(--dur-fast) var(--ease-out); }
.nav-link[aria-expanded='true'] .chevron { transform: rotate(180deg); }
.acoes-cabecalho { display: flex; align-items: center; gap: var(--s3); flex: none; }
.acoes-cabecalho .btn { min-height: 42px; padding: 0 var(--s5); font-size: var(--t-small); }
.painel-servicos {
  position: absolute;
  top: calc(100% + var(--s2));
  left: 0;
  width: 460px;
  padding: var(--s3);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-modal);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out),
              visibility var(--dur-fast);
}
.painel-servicos[data-aberto] { opacity: 1; visibility: visible; transform: none; }
.painel-servicos a {
  display: block;
  padding: var(--s4);
  border-radius: var(--r-sm);
}
.painel-servicos a:hover { background: var(--bg-hover); }
.painel-servicos .titulo { font-weight: var(--w-heading); display: block; }
.painel-servicos .desc { color: var(--text-muted); font-size: var(--t-small); display: block; margin-top: 2px; }
.painel-servicos .prova {
  display: inline-block;
  margin-top: var(--s3);
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--realce-text);
}
.btn-menu { display: none; width: 42px; height: 42px; place-items: center; border-radius: var(--r-sm); flex: none; }
.btn-menu:hover { background: var(--bg-hover); }
.menu-mobile:focus, .menu-mobile:focus-visible { outline: none; }
.menu-mobile {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  background: var(--bg);
  padding: var(--s5) var(--gutter) var(--s8);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.menu-topo { display: flex; align-items: center; justify-content: space-between; min-height: 68px; margin-bottom: var(--s6); }
.menu-topo .marca { display: flex; align-items: center; min-height: 44px; }
.menu-links { display: grid; gap: var(--s2); }
.menu-links a {
  font-size: var(--t-h3);
  font-weight: var(--w-heading);
  letter-spacing: var(--ls-h3);
  padding-block: var(--s3);
}
.menu-links .sub { display: block; font-size: var(--t-small); font-weight: var(--w-body); letter-spacing: 0; color: var(--text-muted); }
.menu-links--paginas {
  margin-top: var(--s5);
  padding-top: var(--s5);
  border-top: 1px solid var(--line);
}
.menu-links--paginas a {
  font-size: var(--t-lead);
  font-weight: var(--w-link);
  letter-spacing: 0;
  color: var(--text-muted);
}
.menu-rodape { margin-top: auto; padding-top: var(--s8); display: grid; gap: var(--s4); }
.menu-rodape .btn { width: 100%; }
.menu-telefone {
  font-size: var(--t-lead);
  font-weight: var(--w-heading);
  color: var(--text);
  padding-block: var(--s3);
}
.menu-contactos { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--s4); font-size: var(--t-small); color: var(--text-muted); }
.menu-contactos a + a::before { content: '·'; margin-inline-end: var(--s4); color: var(--text-ghost); }
.menu-contactos a { padding-block: var(--s3); }
.menu-contactos span { flex-basis: 100%; }
.menu-contactos a:hover { color: var(--text); }
.rodape {
  background: var(--bg-raised);
  border-top: 1px solid var(--line);
}
.rodape-topo {
  display: grid;
  gap: var(--s8);
  padding-block: var(--s8) var(--s7);
}
@media (min-width: 900px) {
  .rodape-topo { grid-template-columns: 1fr 1.6fr; gap: var(--s8); }
}
.rodape-marca > img { display: block; margin-bottom: var(--s5); }
.rodape-marca > p {
  color: var(--text-muted);
  font-size: var(--t-small);
  max-width: 34ch;
  margin-bottom: var(--s5);
}
.rodape-cartao {
  padding: var(--s2);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  max-width: 34ch;
}
.rodape-cartao__miolo {
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.rodape-cartao__rotulo {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: var(--s4);
}
.rodape-tel {
  display: block;
  position: relative;
  width: fit-content;
  font-size: var(--t-h3);
  font-weight: var(--w-heading);
  color: var(--text);
  line-height: 1.35;
  letter-spacing: -.01em;
}
.rodape-tel::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -2px;
  height: 1px;
  background: var(--text);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .32s cubic-bezier(.32, .72, 0, 1);
}
.rodape-tel:hover::after { transform: scaleX(1); }
.rodape-cartao__resto {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2) var(--s4);
  margin-top: var(--s4);
  padding-top: var(--s4);
  border-top: 1px solid var(--line);
  font-size: var(--t-small);
}
.rodape-cartao__resto a { color: var(--text-muted); }
.rodape-cartao__resto a:hover { color: var(--text); }
.rodape-morada {
  display: block;
  margin-top: var(--s4);
  font-size: var(--t-small);
  line-height: 1.5;
  color: var(--text-dim);
}
.rodape-morada:hover { color: var(--text-muted); }
.rodape-links { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s7) var(--s5); }
@media (min-width: 560px) {
  .rodape-links { grid-template-columns: repeat(3, 1fr); gap: var(--s6); }
}
.rodape h3 {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  font-weight: 400;
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: var(--s5);
}
.rodape-links ul { display: grid; gap: var(--s4); }
.rodape-links a {
  display: inline-block;
  font-size: var(--t-small);
  color: var(--text-muted);
  transition: color .2s ease, transform .32s cubic-bezier(.32, .72, 0, 1);
}
.rodape-links a:hover { color: var(--text); transform: translateX(3px); }
.barra-ia {
  display: grid;
  gap: var(--s5);
  padding-block: var(--s7);
  border-top: 1px solid var(--line);
}
@media (min-width: 760px) {
  .barra-ia { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s8); }
}
.barra-ia__texto {
  font-size: var(--t-small);
  color: var(--text-muted);
  max-width: 56ch;
}
.barra-ia__texto b { color: var(--text); font-weight: var(--w-heading); }
.barra-ia ul { display: flex; gap: var(--s3); flex-wrap: wrap; }
.barra-ia a {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  padding: 9px var(--s4);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-btn);
  font-size: var(--t-small);
  color: var(--text-muted);
  background: var(--bg-panel);
  transition: transform .32s cubic-bezier(.32, .72, 0, 1),
              border-color .2s ease, color .2s ease;
}
.barra-ia a:hover {
  color: var(--text);
  border-color: var(--text-dim);
  transform: translateY(-1px);
}
.barra-ia a:active { transform: translateY(0) scale(.98); }
.rodape-legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2) var(--s5);
  align-items: center;
  padding-block: var(--s5) var(--s7);
  border-top: 1px solid var(--line);
  font-size: var(--t-small);
  color: var(--text-dim);
}
.rodape-legal a:hover { color: var(--text); }
.rodape-legal .redes { margin-left: auto; display: flex; gap: var(--s4); }
.rodape[data-anima] .entra {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s cubic-bezier(.32, .72, 0, 1),
              transform .7s cubic-bezier(.32, .72, 0, 1);
  transition-delay: calc(var(--ordem, 0) * 70ms);
}
.rodape[data-anima][data-visivel] .entra {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .rodape .entra {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
@media (max-width: 900px) {
  .cabecalho-int > nav { display: none; }
  .btn-menu { display: grid; }
  .acoes-cabecalho { gap: var(--s2); margin-inline-start: auto; }
  .rodape-marca { grid-column: 1 / -1; }
  .rodape-legal .redes { margin-left: 0; width: 100%; }
}
@media (min-width: 901px) { .menu-mobile { display: none !important; } }
@media (max-height: 460px) {
  .cabecalho { position: static; }
  .cabecalho-int { min-height: 52px; }
}
.hero {
  position: relative;
  overflow: hidden;
  overflow-x: clip;
  overflow-y: visible;
  padding-block: var(--s7) var(--s9);
  background: var(--bg-destaque);
}
.hero--dobra {
  min-height: min(calc(100svh - var(--topo, 68px)), 48rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: var(--s10);
}
@media (max-width: 999px) {
}
@media (prefers-reduced-motion: no-preference) {
}
@media (max-width: 640px) {
  
  .hero--dobra { padding-top: var(--s4); padding-bottom: var(--s7); }
  .hero.hero--dobra h1 { margin-block: var(--s2) var(--s5); }
  .hero.hero--dobra .lead { margin-bottom: var(--s4); }
  .hero--dobra .hero-baixo { gap: var(--s4); }
  .hero--dobra .hero-acoes { margin-top: var(--s4); gap: var(--s3) var(--s5); }
  
}
.hero-grelha {
  position: relative;
  z-index: var(--z-conteudo);
  display: grid;
  gap: var(--s8);
  align-items: center;
}
@media (min-width: 1000px) {
  .hero-grelha { grid-template-columns: 1.15fr .85fr; gap: var(--s9); }
}
.hero-solo { position: relative; z-index: var(--z-conteudo); }
.hero-fio { display: none; }
@media (min-width: 1000px) {
  .hero-fio {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: var(--z-deco);
    pointer-events: none;
    fill: none;
    stroke-linecap: round;
  }
  .hero-fio__trilho {
    stroke: rgb(0 0 0 / .07);
    stroke-width: 1.5;
  }
  
  @media (prefers-reduced-motion: no-preference) {
    .hero-fio__luz {
      stroke: rgb(0 0 0 / .26);
      stroke-width: 2;
      stroke-dasharray: 22 100;
      animation: hero-fio-passa 15s cubic-bezier(.4, 0, .5, 1) infinite;
    }
  }
}
@keyframes hero-fio-passa {
  0%   { stroke-dashoffset: 22; }
  58%  { stroke-dashoffset: -100; }
  100% { stroke-dashoffset: -100; }
}
@media (min-width: 1000px) {
  .hero-solo {
    display: grid;
    
    
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--s8);
  }
  .hero-solo > .hero-titulo {
    grid-column: 1 / -1;
    max-width: 22ch;
  }
  .hero-solo > .hero-texto { align-self: start; }
  .hero-solo { row-gap: var(--s5); }
}
.hero h1 {
  font-size: var(--t-display);
  max-width: 24ch;
  
  margin-block: var(--s3) var(--s6);
  text-wrap: balance;
}
.hero .lead { max-width: 56ch; }
.hero .lead { margin-bottom: var(--s6); }
.atualizado {
  margin-top: var(--s5);
  font-size: var(--t-small);
  color: var(--text-dim);
}
.hero-servico .lead + .atualizado { margin-top: var(--s4); }
.hero-fantasma { display: inline-flex; align-items: center; gap: 6px; }
.hero-acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s4) var(--s6);
  margin-top: var(--s6);
}
.hero-baixo { display: grid; gap: var(--s6); align-items: start; }
.hero-baixo > .lead { margin-bottom: 0; }
.hero-baixo .hero-acoes { margin-top: 0; }
.hero-compromissos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--s4);
  max-width: 45ch;
  font-size: var(--t-small);
  color: var(--text-muted);
  line-height: 1.55;
}
.hero-compromissos b { color: var(--text); font-weight: var(--w-heading); }
.hero-compromissos li { position: relative; padding-left: 1.7em; }
.hero-compromissos li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--text);
  font-weight: var(--w-heading);
}
@media (max-width: 900px) {
  .hero-compromissos { max-width: none; gap: var(--s3); }
}
@media (max-width: 480px) {
  .hero-compromissos { gap: var(--s2); }
  .hero-compromissos li { padding-left: 1.45em; }
}
.form-lead {
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  padding: var(--s5);
  display: grid;
  gap: var(--s4);
  box-shadow: 0 1px 2px rgb(21 24 27 / .04), 0 12px 32px rgb(21 24 27 / .05);
}
.form-lead .btn { width: 100%; margin-top: var(--s1); }
.form-lead__titulo { font-weight: var(--w-heading); font-size: var(--t-h3); letter-spacing: var(--ls-h3); }
.escolhas { display: grid; gap: var(--s2); }
@media (min-width: 520px) { .escolhas { grid-template-columns: 1fr 1fr; } }
.escolhas .escolha:last-child { grid-column: 1 / -1; }
.escolha {
  display: flex;
  align-items: center;
  gap: var(--s3);
  padding: var(--s3);
  min-height: 48px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  background: var(--bg);
  text-align: left;
  font-size: var(--t-small);
  transition: border-color var(--dur-fast) var(--ease-out),
              background var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}
.escolha:hover {
  background: var(--bg-hover);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgb(21 24 27 / .07);
}
.escolha:active {
  transform: translateY(0) scale(.985);
  box-shadow: none;
}
.escolha .marca-radio {
  width: 16px; height: 16px; flex: none;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  display: grid; place-items: center;
}
.escolha .marca-radio::after {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent); transform: scale(0);
  transition: transform 220ms cubic-bezier(.34, 1.56, .64, 1);
}
.escolha[aria-pressed='true'] {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: inset 0 0 0 1px var(--accent);
}
.escolha[aria-pressed='true']:hover {
  box-shadow: inset 0 0 0 1px var(--accent), 0 2px 6px rgb(21 24 27 / .07);
}
.escolha[aria-pressed='true'] .marca-radio { border-color: var(--accent); }
.escolha[aria-pressed='true'] .marca-radio::after { transform: scale(1); }
.form-lead .erro-geral {
  font-size: var(--t-small);
  color: var(--error);
  background: rgb(192 54 44 / .07);
  border: 1px solid rgb(192 54 44 / .2);
  border-radius: var(--r-sm);
  padding: var(--s3) var(--s4);
}
.form-sucesso { display: grid; gap: var(--s3); text-align: left; }
.form-sucesso .visto {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--realce); color: var(--text);
  display: grid; place-items: center; font-size: 20px;
}
.btn[data-a-enviar] { pointer-events: none; opacity: .7; }
.vagas__cabeca {
  font-size: var(--t-h3);
  letter-spacing: var(--ls-h3);
  color: var(--text-muted);
  font-weight: var(--w-heading);
}
.vagas { display: grid; gap: var(--s5); margin-top: var(--s5); }
.vaga {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  transition: border-color var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}
.vaga:hover,
.vaga:focus-visible {
  border-color: var(--text-dim);
  box-shadow: 0 1px 2px rgb(21 24 27 / .04), 0 14px 34px rgb(21 24 27 / .07);
  transform: translateY(-2px);
}
.vaga__titulo {
  grid-area: titulo;
  font-weight: var(--w-heading);
  line-height: 1.05;
  color: var(--text);
}
.vaga__regime {
  grid-area: regime;
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
}
.vaga__linha {
  grid-area: linha;
  max-width: 56ch;
  color: var(--text-muted);
}
.vaga__seta {
  grid-area: seta;
  justify-self: end;
  color: var(--text-dim);
  transition: transform var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}
.vaga:hover .vaga__seta,
.vaga:focus-visible .vaga__seta { transform: translateX(6px); color: var(--text); }
.vaga {
  grid-template-areas:
    "titulo seta"
    "regime regime"
    "linha  linha";
  column-gap: var(--s4);
  row-gap: var(--s3);
  padding: var(--s5);
}
.vaga__titulo { font-size: var(--t-h3); letter-spacing: var(--ls-h3); }
.vaga__regime { justify-self: start; text-align: left; }
.vaga__seta { align-self: center; font-size: 1.15rem; }
@media (min-width: 720px) {
  
  .vaga {
    grid-template-columns: auto minmax(0, 1fr) max-content;
    grid-template-areas:
      "titulo regime seta"
      "linha  linha  seta";
    column-gap: var(--s4);
    row-gap: var(--s3);
    padding: var(--s6) var(--s7);
    align-items: baseline;
  }
  .vaga__titulo { font-size: var(--t-h2); letter-spacing: var(--ls-h2); }
  .vaga__linha { max-width: 72ch; }
  .vaga__seta { align-self: center; font-size: 2rem; }
}
.vaga--porta {
  background: transparent;
  margin-top: var(--s5);
}
.vaga--porta:hover,
.vaga--porta:focus-visible { background: var(--bg-panel); }
.form-candidatura { padding: var(--s6); }
.campo-cv input[type="file"] {
  font-size: var(--t-small);
  color: var(--text-muted);
  padding: var(--s3);
  cursor: pointer;
}
.campo-cv input[type="file"]::file-selector-button {
  font: inherit;
  font-weight: var(--w-heading);
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  padding: 11px var(--s4);
  margin-right: var(--s3);
  cursor: pointer;
}
.campo-cv input[type="file"]:hover::file-selector-button { border-color: var(--text-dim); }
.caminho-bloco {
  display: grid; gap: var(--s7); align-items: center;
  padding-block: var(--s8);
}
.caminho-media { position: relative; }
.caminho-media > .anim {
  border: 1px solid;
  border-radius: var(--r-md);
  padding: clamp(12px, 2.2vw, 28px);
}
.caminho-bloco:nth-of-type(1) .caminho-media > .anim {
  background: var(--tinta-azul);    border-color: var(--tinta-azul-borda);
}
.caminho-bloco:nth-of-type(2) .caminho-media > .anim {
  background: var(--tinta-lima);    border-color: var(--tinta-lima-borda);
}
.caminho-bloco:nth-of-type(3) .caminho-media > .anim {
  background: var(--tinta-laranja); border-color: var(--tinta-laranja-borda);
}
.caminho-media > .capa {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--r-md);
  background: var(--bg-raised);
}
@media (min-width: 900px) {
  .caminho-bloco { grid-template-columns: 1fr 1fr; gap: var(--s9); }
  .caminho-bloco:nth-child(even) .caminho-texto { order: 2; }
}
.caminho-bloco + .caminho-bloco { border-top: 1px solid var(--line); }
.caminho-prova {
  display: flex; gap: var(--s3); align-items: baseline;
  margin-top: var(--s5); padding-top: var(--s5);
  border-top: 1px solid var(--line);
}
.caminho-prova .rotulo {
  font-family: var(--font-mono); font-size: var(--t-micro);
  letter-spacing: var(--ls-mono); text-transform: uppercase;
  color: var(--text-dim); flex: none;
}
.capa {
  display: block; width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-radius: var(--r-md);
  background: var(--bg-raised);
}
.projeto a:hover .capa { opacity: .92; }
.projetos { display: grid; gap: var(--s7); }
.projeto a { display: grid; grid-template-rows: auto auto 1fr auto; height: 100%; }
.projeto--sem-link { display: grid; grid-template-rows: auto auto 1fr auto; height: 100%; }
.projeto .capa { margin-bottom: var(--s4); }
.projeto .projeto__titulo { font-size: var(--t-h3); letter-spacing: var(--ls-h3); margin-bottom: var(--s2); }
.projeto .resultado { color: var(--text-muted); }
.projeto a:not(:has(.capa)) .projeto__titulo {
  display: flex;
  align-items: baseline;
  gap: .4em;
}
.projeto a:not(:has(.capa)) .projeto__titulo::after {
  content: "";
  flex: none;
  align-self: center;
  transition: transform var(--dur-fast) var(--ease-out);
}
.projeto a:not(:has(.capa)):hover .projeto__titulo::after {
  transform: rotate(45deg) translate(2px, -2px);
}
.projeto .disciplinas {
  font-family: var(--font-mono); font-size: var(--t-micro);
  letter-spacing: var(--ls-mono); text-transform: uppercase;
  color: var(--text-dim); margin-top: var(--s4); display: block;
}
.projeto__paraquem {
  display: block;
  margin-top: var(--s4);
  color: var(--text-dim);
  font-size: var(--t-small);
}
.processo { display: grid; gap: var(--s7); }
@media (min-width: 900px) { .processo { grid-template-columns: 260px 1fr; gap: var(--s9); } }
.processo-nav { display: none; }
@media (min-width: 900px) { .processo-nav { display: grid; align-content: start; } }
@media (min-width: 900px) {
  .processo-nav { position: sticky; top: 100px; align-self: start; }
}
.processo-nav ul {
  position: relative;
  border-left: 2px solid var(--line);
}
.processo-nav li a {
  display: block;
  position: relative;
  padding: var(--s3) 0 var(--s3) var(--s5);
  color: var(--text-dim);
  transition: color var(--dur-fast) var(--ease-out);
}
.processo-nav li a::before {
  content: '';
  position: absolute;
  left: -7px;
  top: 1.15em;
  width: 10px; height: 10px;
  background: var(--bg-raised);
  border: 2px solid var(--line);
  transform: rotate(45deg);
  transition: background var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.processo-nav li a:hover { color: var(--text-muted); }
.processo-nav li a:hover::before { border-color: var(--line-strong); }
.processo-nav li a[data-ativo] { color: var(--text); }
.processo-nav li a[data-ativo]::before {
  background: var(--accent);
  border-color: var(--accent);
}
.processo-nav .quando {
  display: block; font-family: var(--font-mono); font-size: var(--t-micro);
  letter-spacing: var(--ls-mono); text-transform: uppercase; margin-bottom: 2px;
}
.processo-nav li a[data-ativo] .quando { color: var(--accent-text); }
.processo-passos { display: grid; gap: var(--s8); }
.processo-passo { scroll-margin-top: 100px; }
@media (min-width: 900px) {
  .processo-passos { gap: 0; }
  .processo-passo { min-height: 38vh; display: grid; align-content: center; }
}
.processo-passo h3 { margin-bottom: var(--s3); }
.processo-passo p { color: var(--text-muted); max-width: var(--medida); }
.pf { display: none; }
@media (min-width: 1100px) {
  .processo {
    grid-template-columns: 200px minmax(0, 1fr) minmax(0, .85fr);
    gap: var(--s7);
  }
  .pf {
    display: block;
    position: sticky;
    top: 100px;
    align-self: start;
    container-type: inline-size;
  }
}
@supports not selector(:has(*)) {
  .pf { display: none !important; }
}
.pf__painel {
  display: grid;
  position: relative;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
  overflow: hidden;
}
.pf__cena {
  grid-area: 1 / 1;
  padding: 7cqw;
  display: grid;
  align-content: start;
  gap: 4cqw;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s var(--ease-out), visibility 0s linear .25s;
}
.pf__cena > * {
  opacity: 0;
  transform: translateY(2cqw);
  transition: opacity .3s var(--ease-out), transform .45s var(--ease-out);
}
.processo:has([data-passo="1"][data-ativo]) .pf__cena[data-cena="1"],
.processo:has([data-passo="2"][data-ativo]) .pf__cena[data-cena="2"],
.processo:has([data-passo="3"][data-ativo]) .pf__cena[data-cena="3"],
.processo:has([data-passo="4"][data-ativo]) .pf__cena[data-cena="4"] {
  opacity: 1;
  visibility: visible;
  transition: opacity .3s var(--ease-out) .2s, visibility 0s;
}
.processo:has([data-passo="1"][data-ativo]) .pf__cena[data-cena="1"] > *,
.processo:has([data-passo="2"][data-ativo]) .pf__cena[data-cena="2"] > *,
.processo:has([data-passo="3"][data-ativo]) .pf__cena[data-cena="3"] > *,
.processo:has([data-passo="4"][data-ativo]) .pf__cena[data-cena="4"] > * {
  opacity: 1;
  transform: none;
  transition-delay: calc(.25s + var(--i, 0) * 70ms);
}
@media (prefers-reduced-motion: reduce) {
  .pf__cena, .pf__cena > * { transition: none !important; }
  .pf__onda i { animation: none !important; }
}
.pf__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 3.2cqw);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.pf__nota {
  font-family: var(--font-display);
  font-size: max(11px, 4.4cqw);
  color: var(--text-muted);
}
.pf__nota b { color: var(--text); font-weight: var(--w-heading); }
.pf__linha {
  display: block;
  width: var(--w, 70%);
  height: 2.4cqw;
  min-height: 7px;
  border-radius: 99px;
  background: var(--line);
}
.pf__chamada {
  display: flex;
  align-items: center;
  gap: 4cqw;
  padding: 4cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--bg-raised);
}
.pf__tempo {
  font-family: var(--font-display);
  font-size: max(12px, 6cqw);
  font-weight: var(--w-heading);
  letter-spacing: -.02em;
  color: var(--text);
  white-space: nowrap;
}
.pf__onda {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 12cqw;
}
.pf__onda i {
  flex: none;
  width: max(3px, 1.1cqw);
  height: calc(var(--h) * 100%);
  border-radius: 99px;
  background: var(--text-dim);
  transform-origin: center;
  animation: pfOnda 1.1s ease-in-out infinite alternate;
  animation-delay: calc(var(--h) * -2.2s);
}
@keyframes pfOnda {
  from { transform: scaleY(.3); }
  to   { transform: scaleY(1); }
}
.pf__doc { display: grid; border-top: 1px solid var(--line); }
.pf__campo {
  display: grid;
  grid-template-columns: 20cqw minmax(0, 1fr) auto;
  align-items: center;
  gap: 3cqw;
  padding-block: 3.6cqw;
  border-bottom: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: max(11px, 4cqw);
  color: var(--text);
}
.pf__campo b {
  font-family: var(--font-mono);
  font-size: max(10px, 3cqw);
  font-weight: 500;
  letter-spacing: .04em;
  padding: .8cqw 2cqw;
  border-radius: 99px;
  background: var(--realce);
  color: var(--text);
}
.pf__ecra {
  display: grid;
  gap: 2.6cqw;
  padding-bottom: 3.4cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.pf__barra {
  display: flex;
  gap: 1.2cqw;
  padding: 2.2cqw 3cqw;
  border-bottom: 1px solid var(--line);
  background: var(--bg-raised);
}
.pf__barra i {
  width: 1.8cqw;
  min-width: 5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--line-strong);
}
.pf__bloco {
  display: block;
  margin-inline: 3.4cqw;
  height: 8cqw;
  border-radius: var(--r-sm);
}
.pf__bloco:nth-of-type(1) { height: 15cqw; }
.pf__bloco--feito { background: var(--line); }
.pf__bloco--a-fazer { border: 1.5px dashed var(--line-strong); }
.pf__repo {
  display: grid;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  overflow: hidden;
}
.pf__ficheiro {
  font-family: var(--font-mono);
  font-size: max(10px, 3.8cqw);
  color: var(--text);
  padding: 3.2cqw 4cqw;
  border-bottom: 1px solid var(--line);
}
.pf__ficheiro:last-child { border-bottom: 0; }
.pf__ficheiro:first-child { background: var(--bg-raised); }
.garantias { display: grid; gap: var(--s6); }
@media (min-width: 820px) { .garantias { grid-template-columns: 1fr 1fr; gap: var(--s7) var(--s9); } }
.garantia { max-width: 46ch; }
.garantia b { color: var(--text); font-weight: var(--w-heading); }
.garantia p { color: var(--text-muted); }
.numeros { display: grid; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 820px) {
  .numeros { grid-template-columns: repeat(4, 1fr); }
  .numeros:has(.numero:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .numeros:has(.numero:nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
}
.numeros:has(.numero:only-child) {
  grid-template-columns: auto;
  justify-content: center;
}
.numero:only-child { text-align: center; padding-inline: var(--s6); }
.numero { padding: var(--s6) var(--s5); border-left: 1px solid var(--line); }
.numero:first-child { border-left: 0; }
@media (max-width: 819px) {
  .numero:nth-child(odd) { border-left: 0; }
  .numero:nth-child(n+3) { border-top: 1px solid var(--line); }
}
.numero .valor {
  font-family: var(--font-display); font-size: var(--t-h2);
  font-weight: var(--w-display); letter-spacing: var(--ls-h2);
  line-height: 1; display: block; margin-bottom: var(--s3);
}
.numero .legenda { color: var(--text-muted); font-size: var(--t-small); }
.caso-marco {
  display: grid;
  
  gap: var(--s5);
  max-width: min(100%, 50ch);
  font-size: var(--t-lead);
  line-height: var(--lh-lead);
  color: var(--text);
}
.caso-marco__linha {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 .3em;
  font-weight: 400;
  color: var(--text-muted);
}
.caso-marco b {
  font-family: var(--font-display);
  font-size: clamp(3rem, 6.5vw, 5rem);
  font-weight: var(--w-display);
  letter-spacing: -.04em;
  line-height: .9;
  color: var(--text);
}
.testemunhos { display: grid; gap: var(--s8); }
@media (min-width: 900px) { .testemunhos { grid-template-columns: repeat(2, 1fr); gap: var(--s7) var(--s8); } }
.testemunho { display: flex; flex-direction: column; height: 100%; }
.testemunho > figcaption { margin-top: auto; padding-top: var(--s5); }
.objecoes { display: grid; max-width: 900px; }
.objecao { border-top: 1px solid var(--line); }
.objecao:last-child { border-bottom: 1px solid var(--line); }
.objecao > summary {
  display: flex; align-items: baseline; gap: var(--s4);
  padding: var(--s6) 0; cursor: pointer; list-style: none;
  font-size: var(--t-h3); font-weight: var(--w-heading); letter-spacing: var(--ls-h3);
}
.objecao > summary::-webkit-details-marker { display: none; }
.objecao > summary::after {
  content: '+'; margin-left: auto; flex: none;
  font-family: var(--font-mono); font-size: 20px; color: var(--text-dim);
  transition: transform var(--dur-fast) var(--ease-out);
}
.objecao[open] > summary::after { content: '\2212'; }
.objecao > summary:hover { color: var(--accent-text); }
.objecao .resposta { padding-bottom: var(--s6); color: var(--text-muted); }
.objecao .resposta > :is(p, ol, ul, h3, h4, .corpo) { max-width: var(--medida); }
.objecao .resposta > * + * { margin-top: var(--s4); }
.cta-final { position: relative; overflow: hidden; background: var(--bg-destaque); }
.cta-final .aurora { display: none; }
.cta-final .grelha { display: grid; gap: var(--s8); align-items: center; position: relative; z-index: var(--z-conteudo); }
@media (min-width: 1000px) { .cta-final .grelha { grid-template-columns: 1.1fr .9fr; gap: var(--s9); } }
.contactos-diretos { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); margin-top: var(--s6); color: var(--text-muted); }
.contactos-diretos a {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-underline-offset: 4px;
}
.contactos-diretos a:hover { text-decoration-color: var(--accent); }
.sintomas { display: grid; margin-top: var(--s7); }
.sintoma {
  padding-block: var(--s7);
  border-top: 1px solid var(--line-strong);
  max-width: 68ch;
}
.sintoma:last-child { border-bottom: 1px solid var(--line-strong); }
.sintoma h3 {
  font-size: clamp(1.75rem, 3vw, 2.75rem);   
  line-height: 1.18;
  letter-spacing: var(--ls-h2);
  margin-bottom: var(--s4);
  max-width: 24ch;
  text-wrap: balance;
}
.sintoma p { color: var(--text-muted); max-width: var(--medida); }
.sintoma .btn-fantasma { margin-top: var(--s4); }
.marcacao__lead { max-width: 54ch; margin-top: var(--s4); margin-bottom: var(--s7); }
.marcacao__grelha { display: grid; gap: var(--s8); align-items: start; }
@media (min-width: 900px) {
  .marcacao__grelha { grid-template-columns: 1.4fr 1fr; gap: var(--s9); }
}
.marcar__rotulo {
  font-weight: var(--w-heading);
  margin-bottom: var(--s3);
}
.marcar__opcoes { display: flex; flex-wrap: wrap; gap: var(--s2); }
.opcao {
  min-height: 44px;
  padding: 0 var(--s4);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-btn);
  background: var(--bg-panel);
  color: var(--text);
  font-size: var(--t-small);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  transition: background var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.opcao:hover { border-color: var(--accent); }
.opcao[aria-pressed='true'] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
  font-weight: var(--w-heading);
}
.cal { margin-bottom: var(--s6); max-width: 360px; }
.cal__topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3);
  margin-bottom: var(--s3);
}
.cal__mes {
  font-weight: var(--w-heading);
  font-size: var(--t-small);
}
.cal__mes::first-letter { text-transform: uppercase; }
.cal__seta {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-btn);
  background: var(--bg);
  color: var(--text);
  font-size: 18px;
  line-height: 1;
  transition: border-color var(--dur-fast) var(--ease-out);
}
.cal__seta:hover:not([disabled]) { border-color: var(--accent); }
.cal__seta[disabled] { opacity: .3; cursor: not-allowed; }
.cal__semana,
.cal__grelha {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.cal__semana {
  margin-bottom: 4px;
  text-align: center;
  font-size: max(10px, .68rem);
  color: var(--text-dim);
}
.cal__dia {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: var(--r-btn);
  background: var(--bg);
  color: var(--text);
  font-variant-numeric: tabular-nums;
  font-size: var(--t-small);
  transition: background var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out);
}
.cal__dia:hover:not([disabled]) { border-color: var(--accent); }
.cal__dia[disabled] {
  background: none;
  color: var(--text-dim);
  cursor: not-allowed;
}
.cal__dia[aria-pressed='true'] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
  font-weight: var(--w-heading);
}
.cal__vazia { aspect-ratio: 1; }
@media (max-width: 560px) {
  .cal { max-width: none; }
  .cal__dia,
  .cal__vazia { aspect-ratio: auto; min-height: 44px; }
  .cal__seta { width: 44px; height: 44px; }
}
.marcar__horas { display: grid; gap: var(--s4); margin-bottom: var(--s6); }
.marcar__metade { display: grid; gap: var(--s2); }
.marcar__metade-rotulo {
  font-size: var(--t-small);
  color: var(--text-dim);
}
.marcar__escolhido {
  margin: 0;
  font-weight: var(--w-heading);
  color: var(--text);
}
.marcar__accao {
  margin-top: var(--s5);
  font-size: var(--t-h3);
  letter-spacing: var(--ls-h3);
}
.marcar__ajuda {
  margin-top: var(--s4);
  max-width: 46ch;
  color: var(--text-dim);
  font-size: var(--t-small);
}
.marcar__form {
  margin-top: var(--s6);
  display: grid;
  gap: var(--s4);
  animation: marcarEntra var(--dur-med, 240ms) var(--ease-out) both;
}
@keyframes marcarEntra {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .marcar__form { animation: none; }
}
@container (min-width: 560px) {
  .marcar__form { grid-template-columns: 1fr 1fr; }
  .marcar__form .btn,
  .marcar__form .marcar__escolhido,
  .marcar__form .marcar__recado { grid-column: 1 / -1; }
}
.marcar {
  container-type: inline-size;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: clamp(20px, 3.5vw, 40px);
  box-shadow: 0 2px 18px rgb(21 24 27 / .06);
}
.marcar__recado {
  margin: 0;
  font-size: var(--t-small);
  color: var(--text-muted);
}
.marcar__recado--mau { color: var(--error); }
.marcar__sucesso { display: grid; gap: var(--s3); max-width: 46ch; }
.marcar__sucesso-titulo {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--t-h2);
  letter-spacing: var(--ls-h2);
}
.marcar__sucesso-quando {
  margin: 0;
  font-weight: var(--w-heading);
  color: var(--text);
}
.marcar__sucesso p { color: var(--text-muted); }
.marcacao__telefone {
  display: inline-block;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);   
  font-weight: var(--w-display);
  letter-spacing: var(--ls-h2);
  line-height: 1.1;
  margin-bottom: var(--s4);
  font-variant-numeric: tabular-nums;
}
.marcacao__telefone:hover { text-decoration: underline; text-underline-offset: .12em; }
.marcacao__outra .pequeno { color: var(--text-dim); max-width: 40ch; }
.marcacao__outra .pequeno + .pequeno { margin-top: var(--s3); }
.marcacao__outra .pequeno a { text-decoration: underline; text-underline-offset: .12em; }
.lista-numerada { list-style: decimal; padding-left: 1.5em; max-width: var(--medida); }
.lista-numerada li { margin-bottom: var(--s3); padding-left: var(--s2); }
.lista-numerada li::marker { color: var(--accent-text); font-variant-numeric: tabular-nums; }
.seccao-alt { background: var(--bg-raised); }
.seccao-alt + .seccao-alt { background: var(--bg); }
.seccao-alt + .seccao-alt + .seccao-alt { background: var(--bg-raised); }
.seccao.hero-servico { background: var(--bg-panel); }
.seccao.hero-servico + .seccao-alt { background: var(--bg); }
.hero-servico h1 { margin-bottom: var(--s5); }
.hero-servico .lead + p { margin-top: var(--s4); }
.hero-servico__acoes {
  display: flex; flex-wrap: wrap; gap: var(--s4);
  margin-top: var(--s7);
}
.sentido { display: grid; gap: var(--s7); align-items: start; position: relative; }
@media (min-width: 900px) {
  .sentido { grid-template-columns: 1fr 1fr; gap: var(--s8); }
  .sentido::before {
    content: '';
    position: absolute;
    left: 50%; top: 0; bottom: 0;
    width: 1px;
    background: var(--line);
  }
}
.sentido__col { padding-top: var(--s5); border-top: 2px solid var(--accent-line); }
.sentido__col--nao { border-top-color: var(--line-strong); }
.sentido__col :is(h3, h4) { font-size: var(--t-h3); letter-spacing: var(--ls-h3); margin-bottom: var(--s5); }
.sentido__col ul { display: grid; gap: var(--s4); }
.sentido__col li {
  color: var(--text-muted);
  padding-left: var(--s5);
  position: relative;
  max-width: 46ch;
}
.sentido__col li::before {
  content: '';
  position: absolute; left: 0; top: .65em;
  width: 10px; height: 2px; background: var(--accent);
}
.sentido__col--nao li::before { background: var(--text-dim); }
.integracoes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr));
  gap: 0 var(--s6);
  max-width: 46rem;
  margin-top: var(--s7);
  padding: 0;
  list-style: none;
  border: 0;
  background: none;
}
.integracoes li {
  display: block;
  min-height: 0;
  padding: var(--s4) 0;
  border: 0;
  border-top: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: var(--t-lead);
  font-weight: 400;
  letter-spacing: -.01em;
  line-height: 1.3;
  color: var(--text);
  text-align: left;
}
.depoimento { margin-top: var(--s7); }
.depoimento__ficha {
  padding: var(--s6);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.depoimento__quem {
  display: flex; align-items: center; gap: var(--s4);
  padding-bottom: var(--s5);
  border-bottom: 1px solid var(--line);
}
.depoimento__logo {
  flex: none;
  width: 44px; height: 44px;
  object-fit: contain;
}
.depoimento__nome { font-weight: var(--w-heading); font-size: var(--t-h3); letter-spacing: var(--ls-h3); }
.depoimento__cargo { color: var(--text-muted); }
.depoimento__numeros {
  display: grid; gap: var(--s5);
  padding-top: var(--s5);
}
@media (min-width: 700px) {
  .depoimento__numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s6); }
}
.depoimento__numeros > div { display: flex; flex-direction: column-reverse; gap: var(--s1); }
.depoimento__numeros dt { color: var(--text-muted); font-size: var(--t-small); }
.depoimento__numeros dd {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--t-h2);
  font-weight: var(--w-heading);
  letter-spacing: -.025em;
  line-height: 1.05;
  color: var(--text);
}
.depoimento__ligado {
  margin-top: var(--s5); padding-top: var(--s5);
  border-top: 1px solid var(--line);
  font-size: var(--t-small);
  color: var(--text);
  line-height: 1.9;
}
.depoimento__ligado span {
  margin-inline: .6em;
  color: var(--text-dim);
}
.depoimento__ligado b { font-weight: inherit; white-space: nowrap; }
.pendente {
  margin-block: var(--s6);
  padding: var(--s5);
  border: 2px dashed var(--warn);
  border-radius: var(--r-md);
  background: color-mix(in srgb, var(--warn) 8%, transparent);
  max-width: 68ch;
}
.pendente__etiqueta {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--warn);
  margin-bottom: var(--s3);
}
.pendente__o-que { font-weight: var(--w-heading); color: var(--text); }
.pendente__porque { color: var(--text-muted); font-size: var(--t-small); margin-top: var(--s2); }
.pendente__porque:empty { display: none; }
.container-estreito { max-width: 720px; }
.progresso { margin-bottom: var(--s8); }
.progresso__rotulo {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: var(--s3);
}
.progresso__calha {
  height: 4px;
  border-radius: var(--r-full);
  background: var(--line);
  overflow: hidden;
}
.progresso__barra {
  display: block; height: 100%;
  background: var(--accent);
  border-radius: var(--r-full);
  transition: width var(--dur-mid) var(--ease-out);
}
@media (prefers-reduced-motion: reduce) {
  .progresso__barra { transition: none; }
}
.progresso__barra--indeterminada {
  width: 30%;
  transition: none;
  animation: progressoAnda 1.1s ease-in-out infinite;
}
@keyframes progressoAnda {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(333%); }
}
@media (prefers-reduced-motion: reduce) {
  .progresso__barra--indeterminada { width: 100%; animation: none; opacity: .45; }
}
.form-candidatura .progresso { margin-bottom: 0; }
.form-candidatura .progresso__rotulo { margin-bottom: var(--s2); }
.escolhas--linha { display: flex; flex-wrap: wrap; gap: var(--s3); }
.escolhas--linha .escolha { flex: 0 1 auto; }
.passo-acoes {
  display: flex; gap: var(--s4); align-items: center;
  margin-top: var(--s8);
}
.passo-acoes .btn-primario { margin-left: auto; }
@media (max-width: 520px) {
  .passo-acoes { flex-direction: column-reverse; align-items: stretch; }
  .passo-acoes .btn-primario { margin-left: 0; }
}
.texto-longo h2 { margin-bottom: var(--s5); }
.texto-longo h3 { margin-bottom: var(--s4); }
.texto-longo h2:not(:first-child) { margin-top: var(--s9); }
.texto-longo h3:not(:first-child) { margin-top: var(--s7); }
.fundador { --retrato: 96px; }
.fundador__retrato {
  width: var(--retrato);
  aspect-ratio: 1;
  min-height: 0;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  overflow: hidden;
}
.fundador__retrato img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.fundadores { display: grid; gap: var(--s7); }
@media (min-width: 720px) { .fundadores { grid-template-columns: 1fr 1fr; gap: var(--s8); } }
.fundador__cabeca { display: flex; align-items: center; gap: var(--s4); }
.fundador__id { min-width: 0; }
.fundador h3 { margin-top: 0; }
.fundador__cabeca + p { margin-top: var(--s5); }
.fundador__cargo {
  font-family: var(--font-mono);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: var(--s4);
}
.fundador p { color: var(--text-muted); max-width: 42ch; }
.fundador a { color: var(--accent-text); }
.antes-depois { display: grid; gap: var(--s6); margin-top: var(--s7); align-items: start; }
@media (min-width: 820px) { .antes-depois { grid-template-columns: 1fr 1fr; gap: var(--s8); } }
.antes-depois__col { padding-top: var(--s5); border-top: 2px solid var(--line-strong); }
.antes-depois__col--depois { border-top-color: var(--accent); }
.antes-depois__col h3 {
  font-family: var(--font-mono); font-size: var(--t-micro);
  letter-spacing: var(--ls-mono); text-transform: uppercase;
  color: var(--text-dim); margin-bottom: var(--s4);
}
.antes-depois__col--depois h3 { color: var(--accent-text); }
.antes-depois__col p { color: var(--text-muted); max-width: 44ch; }
.antes-depois__col p + p { margin-top: var(--s4); }
.carril-capas {
  --carril-lado: max(var(--gutter), calc(50% - var(--container) / 2 + var(--gutter)));
}
.projetos--indice {
  display: flex;
  gap: var(--s7);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding-inline: var(--carril-lado);
  scroll-padding-inline-start: var(--carril-lado);
  padding-block-end: var(--s3);
}
.projetos--indice > .projeto {
  flex: 0 0 auto;
  width: min(86%, 640px);
  scroll-snap-align: start;
}
@media (min-width: 820px) {
  .projetos--indice > .projeto { width: 640px; }
}
.projetos--indice {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.projetos--indice::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) {
  .projetos--indice { scroll-snap-type: none; }
}
.hero-caso { display: grid; gap: var(--s6); }
@media (min-width: 1000px) {
  .hero-caso {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    column-gap: var(--s9);
    row-gap: var(--s7);
    align-items: start;
  }
  .hero-caso > h1 { grid-column: 1 / -1; }
}
.capa-caso {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  object-position: center;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--bg-raised);
  box-shadow: 0 8px 32px rgb(21 24 27 / .07);
}
.capa--desenho {
  border-radius: var(--r-md);
  overflow: hidden;
  aspect-ratio: 16 / 10;
  margin-bottom: var(--s4);
}
.projetos--duas { gap: var(--s7); }
@media (min-width: 820px) {
  .projetos--duas { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); }
  .projetos--duas:has(.projeto:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
}
.caso-bloco { display: grid; gap: var(--s6); align-items: center; margin-bottom: var(--s9); }
.caso-bloco:last-child { margin-bottom: 0; }
@media (min-width: 900px) {
  .caso-bloco { grid-template-columns: 1.3fr 1fr; gap: var(--s8); }
  .caso-bloco:nth-child(even) { grid-template-columns: 1fr 1.3fr; }
  .caso-bloco:nth-child(even) > :first-child { order: 2; }
}
.caso-bloco h3 { margin-bottom: var(--s3); }
.caso-bloco p { color: var(--text-muted); max-width: 44ch; }
.caso-bloco p b {
  font-weight: var(--w-heading);
  color: var(--text);
}
.caso-citacao {
  position: relative;
  max-width: 62ch;
  padding-left: 0;
}
.caso-citacao::before {
  content: '\201C' / '';
  position: absolute;
  left: 0;
  top: -.30em;
  font-family: Georgia, 'Times New Roman', 'Noto Serif', serif;
  font-size: clamp(5.5rem, 10vw, 10rem);
  font-weight: 400;
  line-height: 1;
  color: var(--realce);
  pointer-events: none;
  user-select: none;
}
@media (min-width: 700px) {
  .caso-citacao { padding-left: clamp(5rem, 8vw, 7.5rem); }
  .caso-citacao::before { top: -.24em; }
}
.caso-citacao p {
  font-size: clamp(1.25rem, 2.1vw, 1.6rem);
  line-height: 1.45;
  letter-spacing: -.01em;
  text-wrap: pretty;
}
.caso-citacao footer { margin-top: var(--s6); display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); }
.caso-citacao .nome { font-weight: var(--w-heading); }
.caso-citacao .empresa { color: var(--text-dim); }
@media (max-width: 640px) {
  .acoes-cabecalho .btn { min-height: 46px; }
  .btn-menu { width: 46px; height: 46px; }
}
.modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  padding: var(--s5);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background: rgba(16, 16, 16, .42);
  animation: modal-entra var(--dur-mid) var(--ease-out);
}
@media (min-width: 700px) {
  .modal { align-items: center; }
}
@keyframes modal-entra { from { opacity: 0; } }
.modal__caixa { animation: modal-caixa-entra var(--dur-mid) var(--ease-out); }
@keyframes modal-caixa-entra { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) {
  .modal, .modal__caixa { animation: none; }
}
.modal__caixa {
  width: 100%;
  max-width: 880px;
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-modal);
  overflow: hidden;
}
.modal__topo {
  padding: var(--s4) var(--s6);
  border-bottom: 1px solid var(--line);
  display: flex; align-items: center;
}
.modal__miolo { padding: var(--s6); }
.modal__titulo { font-size: var(--t-h3); letter-spacing: var(--ls-h3); margin-bottom: var(--s4); }
.modal__texto { color: var(--text-muted); max-width: 62ch; }
.modal__pequeno { font-size: var(--t-small); color: var(--text-dim); margin-top: var(--s5); }
.modal__pequeno a { text-decoration: underline; text-underline-offset: 3px; }
.modal__categorias {
  display: grid; gap: var(--s5);
  margin-top: var(--s6); padding-top: var(--s5);
  border-top: 1px solid var(--line);
}
@media (min-width: 620px) {
  .modal__categorias { grid-template-columns: 1fr 1fr; gap: 0; }
  .modal__categoria + .modal__categoria { border-left: 1px solid var(--line); padding-left: var(--s6); }
  .modal__categoria { padding-right: var(--s6); }
}
.modal__categoria { display: grid; grid-template-columns: 1fr auto; gap: var(--s2) var(--s4); align-items: center; }
.modal__cat-nome { font-weight: var(--w-heading); }
.modal__cat-estado { font-size: var(--t-small); color: var(--text-dim); }
.modal__cat-nota { grid-column: 1 / -1; font-size: var(--t-small); color: var(--text-muted); }
.modal__interruptor { width: 44px; height: 26px; accent-color: var(--accent); cursor: pointer; }
.modal__form { margin-top: var(--s5); }
.modal__rotulo {
  display: block;
  margin-bottom: var(--s2);
  font-size: var(--t-small);
  font-weight: var(--w-heading);
}
.modal__campo {
  width: 100%;
  min-height: 52px;
  padding: 0 var(--s4);
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-sm);
  color: var(--text);
  font-size: var(--t-body);
  transition: border-color var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out);
}
.modal__campo::placeholder { color: var(--text-dim); }
.modal__campo:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--realce);
}
.modal__form .erro {
  display: block;
  margin-top: var(--s2);
  font-size: var(--t-small);
  color: var(--error);
}
.modal__acoes {
  display: grid; gap: var(--s3);
  padding: var(--s5) var(--s6) var(--s6);
  border-top: 1px solid var(--line);
}
@media (min-width: 620px) {
  .modal__acoes { grid-auto-flow: column; grid-auto-columns: 1fr; }
}
.modal__acoes .btn { width: 100%; }
.sublinhado {
  text-decoration: underline;
  text-decoration-thickness: .07em;
  text-underline-offset: .12em;
  text-decoration-skip-ink: auto;
}
p .sublinhado { text-decoration-thickness: .09em; text-underline-offset: .16em; }
.quando-inline { color: var(--text-dim); font-weight: var(--w-body); }
.respiro { text-align: left; }
.respiro__par { display: grid; gap: var(--s8); align-items: center; }
@media (min-width: 900px) {
  .respiro__par {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: var(--s8);
  }
}
.respiro__miolo { margin-inline: 0; }
.respiro h2 {
  
  font-size: clamp(2rem, 3.6vw, 3rem);
  max-width: 18ch;
  margin-inline: 0;
  margin-bottom: var(--s6);
  text-wrap: balance;
}
.respiro p {
  max-width: 54ch;
  margin-inline: 0;
  font-size: var(--t-lead);
  color: var(--text-muted);
  text-wrap: pretty;
}
.hero-img {
  display: block;
  width: 100%;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.hero-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1000px) {
  .hero-img {
    
    width: calc(100% + max(0px, (100vw - var(--container)) / 2) + var(--gutter));
    
    max-width: min(760px, max(560px, calc((100svh - var(--topo, 68px) - 290px) * 1.75)));
  }
}
.dor__tit { margin-block: 0 var(--s7); max-width: 20ch; }
@media (min-width: 900px) {
  .dor__grelha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: var(--s8);
    align-items: start;
  }
  .dor__tit    { grid-column: 1; grid-row: 1; }
  .sintomas    { grid-column: 1; grid-row: 2; }
  .dor__lado   { grid-column: 2; grid-row: 1 / 3; height: 100%; }
  .dor__lado .fp {
    position: sticky;
    top: calc(var(--topo, 68px) + var(--s9));
  }
}
@media (max-width: 899px) {
  .dor__lado { margin-block: var(--s7) var(--s8); }
}
@property --resp-e { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --resp-p { syntax: '<number>'; inherits: true; initial-value: 1; }
.respiro { position: relative; isolation: isolate; }
.respiro > *:not(.respiro__grelha) { position: relative; z-index: 1; }
.respiro__grelha {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size: var(--folha-cel-l) var(--folha-cel-a);
  opacity: calc(var(--resp-e) * (1 - var(--resp-p)));
  
  -webkit-mask-image:
    linear-gradient(to bottom, #000 0,
      transparent calc(50% - var(--fura-y)), transparent calc(50% + var(--fura-y)),
      #000 100%),
    linear-gradient(to right, #000 0,
      transparent calc(50% - var(--fura-x)), transparent calc(50% + var(--fura-x)),
      #000 100%);
  -webkit-mask-composite: source-over;
          mask-image:
    linear-gradient(to bottom, #000 0,
      transparent calc(50% - var(--fura-y)), transparent calc(50% + var(--fura-y)),
      #000 100%),
    linear-gradient(to right, #000 0,
      transparent calc(50% - var(--fura-x)), transparent calc(50% + var(--fura-x)),
      #000 100%);
          mask-composite: add;
}
.respiro__grelha {
  
  --fura-x: calc(max(600px, 34vw) + var(--resp-p) * 1400px);
  --fura-y: calc(210px + var(--resp-p) * 900px);
}
.respiro { padding-block: calc(var(--s9) + var(--s7)); }
@media (prefers-reduced-motion: reduce) {
  .respiro__grelha { display: none; }
}
.prova-fita {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s2);
  margin-bottom: var(--s6);
  text-align: center;
}
.prova-fita__nota {
  display: flex;
  align-items: baseline;
  gap: var(--s3);
  flex-wrap: wrap;
  justify-content: center;
}
.prova-fita__nota .nota {
  font-size: var(--t-h3);
  font-weight: var(--w-heading);
  letter-spacing: -.02em;
  color: var(--text);
}
.prova-fita__nota .estrelas {
  color: var(--text);
  letter-spacing: .08em;
}
.prova-fita__det { color: var(--text-muted); font-size: var(--t-small); }
.prova-fita__linha { color: var(--text-muted); }
.texto-puxado { display: grid; gap: var(--s7); }
@media (min-width: 900px) {
  .texto-puxado {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--s9);
    align-items: start;
  }
}
.puxada { display: none; }
@media (min-width: 900px) { .puxada { display: block; } }
.puxada {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 4.6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--text-muted);
  max-width: 14ch;
}
.puxada mark {
  background: var(--realce);
  color: var(--text);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: .04em .12em;
}
.puxada mark[data-partido] {
  background: none;
  padding: 0;
  color: inherit;
}
@media (min-width: 900px) {
  .texto-puxado > .puxada {
    position: sticky;
    top: calc(var(--topo, 68px) + var(--s9));
    margin-top: var(--s8);
  }
}
.modelo-par { display: grid; gap: var(--s7); }
@media (min-width: 1100px) {
  .modelo-par {
    grid-template-columns: minmax(0, 1fr) 34rem;
    gap: var(--s9);
    align-items: center;
  }
}
.modelo-par__desenho > .mod { width: 100%; margin-inline: auto; }
.frase-fundador {
  margin: var(--s9) 0 0;
  padding: 0;
  position: relative;
}
.frase-fundador:first-child { margin-top: 0; }
.frase-fundador blockquote {
  margin: 0;
  max-width: 38ch;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.025em;
  color: var(--text);
}
@media (min-width: 760px) {
  .container-estreito .frase-fundador blockquote {
    font-size: clamp(1.6rem, 2.9vw, 2.4rem);
  }
  .container-estreito .frase-fundador::before {
    font-size: clamp(3rem, 5.7vw, 4.8rem);
  }
}
.frase-fundador::before {
  content: '\201C' / '';
  position: absolute;
  left: -.62em;
  top: -.34em;
  font-family: Georgia, 'Times New Roman', 'Noto Serif', serif;
  font-size: clamp(4.5rem, 9vw, 8rem);
  line-height: 1;
  color: var(--realce);
  pointer-events: none;
}
@media (max-width: 720px) {
  .frase-fundador::before { position: static; display: block; margin-bottom: -.28em; }
}
.frase-fundador figcaption {
  margin-top: var(--s5);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.frase-fundador__nome { color: var(--text); font-weight: var(--w-heading); }
.frase-fundador__papel { color: var(--text-dim); font-size: var(--t-small); }
.anim-servico > .anim {
  border: 1px solid;
  border-radius: var(--r-md);
  padding: clamp(12px, 2.2vw, 28px);
}
section:has(.anim-servico) { overflow-x: clip; }
.anim-servico--lima > .anim    { background: var(--tinta-lima);    border-color: var(--tinta-lima-borda); }
.anim-servico--laranja > .anim { background: var(--tinta-laranja); border-color: var(--tinta-laranja-borda); }
.faixa-accao { background: var(--bg-destaque); }
.faixa-accao .aurora { display: none; }
@media (min-width: 1000px) {
  .hero-img { position: relative; z-index: var(--z-conteudo); }
}
@media (min-width: 1000px) and (min-height: 900px) {
  .hero-img {
    transform: translateY(96px);
  }
}
@media (min-width: 1000px) {
  .hero.hero--dobra { padding-bottom: var(--s5); }
}
@media (min-width: 1000px) {
  .hero.hero--dobra { padding-top: var(--s6); }
  .hero.hero--dobra .hero-titulo { margin-bottom: var(--s5); }
  .hero.hero--dobra .hero-solo { row-gap: var(--s4); }
  .hero.hero--dobra .hero-baixo { gap: var(--s5); }
}
.caminhos { overflow-x: clip; position: relative; }
.fio {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}
.caminhos > .container { position: relative; z-index: 1; }
.fio-envolve { position: relative; }
.caso-fio { position: relative; overflow-x: clip; }
.caso-fio > .container { position: relative; z-index: 1; }
.fio-envolve > .fio { z-index: 1; }
[data-fio-linha] {
  stroke: url(#fioGrad);
  stroke-width: 3;
  stroke-dasharray: 14 18;
  stroke-linecap: round;
  opacity: .9;
}
.fio__cor--azul    { stop-color: var(--tinta-azul-borda); }
.fio__cor--lima    { stop-color: var(--tinta-lima-borda); }
.fio__cor--laranja { stop-color: var(--tinta-laranja-borda); }
.dois-lados {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s6);
  margin-top: var(--s7);
}
.dois-lados__lado > p { color: var(--text-muted); max-width: 44ch; }
.dois-lados__lado > .integracoes { margin-top: var(--s6); }
.dois-lados__liga {
  position: relative;
  justify-self: center;
  width: 100%;
  height: 1px;
  background: var(--line-strong);
}
.dois-lados__liga::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: 9px; height: 9px;
  margin: -5px 0 0 -5px;
  background: var(--bg);
  border: 1px solid var(--line-strong);
  transform: rotate(45deg);
}
@media (min-width: 900px) {
  .dois-lados__liga { display: none; }
  .dois-lados {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--s7);
    align-items: start;
  }
}
.integracoes__regra {
  margin-top: var(--s6);
  max-width: 52ch;
  color: var(--text-muted);
}
.hero-servico__par { display: grid; gap: var(--s7); }
@media (min-width: 1000px) {
  .hero-servico__par {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: var(--s9);
    align-items: center;
  }
}
@media (max-width: 900px) {
  .btn-fantasma { min-height: 44px; }
  
  .contactos-diretos a,
  .rodape-cartao__resto a,
  .rodape-legal a,
  .marcacao__telefone,
  .rodape-tel,
  .rodape-morada {
    position: relative;
  }
  .contactos-diretos a::before,
  .rodape-cartao__resto a::before,
  .rodape-legal a::before,
  .marcacao__telefone::before,
  .rodape-tel::before,
  .rodape-morada::before,
  .marca::before {
    content: '';
    position: absolute;
    inset-inline: 0;
    top: 50%;
    translate: 0 -50%;
    height: 44px;
  }
  
  .rodape-legal { row-gap: var(--s5); }
  
  .modal__cat-nome { min-height: 44px; display: flex; align-items: center; }
  .modal__interruptor { align-self: center; }
  .contactos-diretos { gap: var(--s5) var(--s5); }
  .rodape-cartao__resto { gap: var(--s5) var(--s4); }
  .rodape-cartao__miolo .rodape-tel + .rodape-tel { margin-top: var(--s4); }
  
  .marca { position: relative; }
}
.comparativo {
  margin-top: var(--s7);
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.comparativo table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  font-size: var(--t-small);
}
.comparativo caption {
  padding: var(--s5) var(--s5) 0;
  text-align: left;
  color: var(--text-muted);
  font-size: var(--t-small);
}
.comparativo th,
.comparativo td {
  padding: var(--s4) var(--s5);
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.comparativo tbody tr:last-child th,
.comparativo tbody tr:last-child td { border-bottom: 0; }
.comparativo thead th {
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
}
.comparativo tbody th {
  font-weight: 600;
  color: var(--text);
  width: 11rem;
}
.comparativo td { color: var(--text-muted); }
:root {
  --anim-dur: 6.5s;
  
  --anim-entrada: 2.8s;
}
.anim {
  container-type: inline-size;
  width: 100%;
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--bg);
  
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}
.anim__palco {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  font-family: var(--font-display);
}
.anim *,
.anim *::after,
.anim *::before { animation-play-state: paused; }
.anim[data-a-tocar] *,
.anim[data-a-tocar] *::after,
.anim[data-a-tocar] *::before { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) {
  .anim *,
  .anim *::after,
  .anim *::before {
    animation-duration: var(--anim-dur) !important;
    animation-iteration-count: 1 !important;
    animation-delay: var(--anim-parada, calc(var(--anim-dur) * -.85)) !important;
    animation-play-state: paused !important;
  }
}
@keyframes umaAlvo {
  0%, 20% { fill: var(--tinta-lima); }
  23.5%, 84% { fill: var(--tinta-lima-borda); }
  91%, 100% { fill: var(--tinta-lima); }
}
@keyframes umaFreg0 {
  0%, 26% { opacity: 0; }
  29.5%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg1 {
  0%, 26.941% { opacity: 0; }
  30.441%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg2 {
  0%, 27.882% { opacity: 0; }
  31.382%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg3 {
  0%, 28.824% { opacity: 0; }
  32.324%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg4 {
  0%, 29.765% { opacity: 0; }
  33.265%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg5 {
  0%, 30.706% { opacity: 0; }
  34.206%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg6 {
  0%, 31.647% { opacity: 0; }
  35.147%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg7 {
  0%, 32.588% { opacity: 0; }
  36.088%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg8 {
  0%, 33.529% { opacity: 0; }
  37.029%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFregAlvo {
  0%, 34.471% { opacity: 0; fill: rgb(0 0 0 / 0); stroke-width: .9; }
  37.971%, 53% { opacity: .85; fill: rgb(0 0 0 / 0); stroke-width: .9; }
  56.5%, 84% { opacity: 1; fill: color-mix(in srgb, var(--tinta-lima-borda) 62%, var(--tinta-lima-forte)); stroke-width: 1.6; }
  91%, 100% { opacity: 0; fill: rgb(0 0 0 / 0); stroke-width: .9; }
}
@keyframes umaFreg10 {
  0%, 35.412% { opacity: 0; }
  38.912%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg11 {
  0%, 36.353% { opacity: 0; }
  39.853%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg12 {
  0%, 37.294% { opacity: 0; }
  40.794%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg13 {
  0%, 38.235% { opacity: 0; }
  41.735%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg14 {
  0%, 39.176% { opacity: 0; }
  42.676%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg15 {
  0%, 40.118% { opacity: 0; }
  43.618%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg16 {
  0%, 41.059% { opacity: 0; }
  44.559%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaFreg17 {
  0%, 42% { opacity: 0; }
  45.5%, 84% { opacity: .85; }
  91%, 100% { opacity: 0; }
}
@keyframes umaCursor {
  0% { opacity: 0; left: 92%; top: 114%; }
  8% { opacity: 0; left: 92%; top: 114%; }
  11.5% { opacity: 1; }
  18%, 19.5% { left: 58.0%; top: 62.7%; }
  20%, 22% { left: 58.9%; top: 63.9%; }
  24%, 44% { left: 58.0%; top: 62.7%; }
  51%, 52.5% { left: 66.1%; top: 49.9%; }
  53%, 55% { left: 67.0%; top: 51.1%; }
  57%, 78% { opacity: 1; left: 66.1%; top: 49.9%; }
  86%, 100% { opacity: 0; left: 92%; top: 114%; }
}
.uip {
  container-type: inline-size;
  width: 100%;
  position: relative;
  font-family: var(--font-display);
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.uip__janela {
  display: flex;
  align-items: center;
  gap: 2cqw;
  padding: 1.6cqw 2.2cqw;
  background: var(--bg-raised);
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: var(--r-md) var(--r-md) 0 0;
}
.uip__pontos { display: flex; gap: .9cqw; flex: none; }
.uip__pontos i {
  width: 1.1cqw; height: 1.1cqw;
  border-radius: 50%;
  background: var(--line-strong);
}
.uip__morada {
  flex: 1;
  height: 2.4cqw;
  border-radius: var(--r-full);
  background: var(--bg-panel);
  border: 1px solid var(--line);
}
.uip__pagina {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: 0 0 var(--r-md) var(--r-md);
  padding: 4cqw;
  display: grid;
  gap: 2.6cqw;
  box-shadow: 0 .4cqw 2cqw rgb(21 24 27 / .07);
}
.uip__titulo {
  font-size: max(10px, 3.4cqw);
  font-weight: var(--w-heading);
  letter-spacing: -.02em;
  color: var(--text);
  margin: 0;
}
.uip__campo { display: grid; gap: .9cqw; }
.uip__rot {
  font-size: max(10px, 2cqw);
  color: var(--text-dim);
}
.uip__valor {
  font-size: max(10px, 2.4cqw);
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  padding: 1.6cqw 2cqw;
}
.uip__botao {
  justify-self: start;
  font-size: max(10px, 2.4cqw);
  font-weight: var(--w-heading);
  color: var(--accent-ink);
  background: var(--accent);
  border-radius: var(--r-btn);
  padding: 1.6cqw 3.2cqw;
}
.uip__aviso {
  position: absolute;
  right: -3cqw;
  bottom: 2.4cqw;
  display: flex;
  align-items: center;
  gap: 2cqw;
  padding: 2.2cqw 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 1.2cqw 3.2cqw rgb(21 24 27 / .12),
              0 .3cqw .8cqw rgb(21 24 27 / .06);
}
.uip__aviso b {
  display: block;
  font-size: max(10px, 2.4cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uip__aviso i {
  display: block;
  font-style: normal;
  font-size: max(10px, 2cqw);
  color: var(--text-dim);
}
.uip__ok {
  flex: none;
  position: relative;
  width: 5cqw; height: 5cqw;
  border-radius: 50%;
  background: var(--banda-ok);
}
.uip__ok::after {
  content: '';
  position: absolute;
  left: 34%; top: 26%;
  width: 26%; height: 46%;
  border: .5cqw solid var(--text);
  border-top: 0; border-left: 0;
  transform: rotate(42deg);
}
.uip-campo {
  padding: clamp(16px, 3vw, 40px);
  border: 1px solid;
  border-radius: var(--r-md);
  background: var(--tinta-azul);
  border-color: var(--tinta-azul-borda);
}
@container (max-width: 420px) {
  .uip__aviso { right: 0; bottom: 3cqw; }
}
.uif { display: grid; }
.uif__painel {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 4cqw;
  display: grid;
  gap: 2.4cqw;
  box-shadow: 0 .4cqw 2cqw rgb(21 24 27 / .07);
}
.uif__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5cqw; }
.uif__lista li {
  display: flex; align-items: center; gap: 2cqw;
  font-size: max(10px, 2.4cqw);
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 1.7cqw 2.2cqw;
}
.uif__n {
  flex: none;
  width: 2.2cqw; height: .3cqw;
  background: var(--line-strong);
  border-radius: .2cqw;
  box-shadow: 0 .9cqw 0 var(--line-strong), 0 -.9cqw 0 var(--line-strong);
}
.uif__nova { border-color: var(--accent) !important; box-shadow: 0 0 0 .4cqw var(--accent-soft); }
.uif__cursor {
  width: .3cqw; height: 3cqw; margin-left: .4cqw;
  background: var(--accent); border-radius: .2cqw;
}
.uif__juntar {
  display: flex; align-items: center; gap: 1.4cqw;
  font-size: max(10px, 2.2cqw); color: var(--text-dim);
}
.uif__juntar i {
  position: relative; width: 2cqw; height: .3cqw;
  background: currentColor; border-radius: .2cqw;
}
.uif__juntar i::after {
  content: ""; position: absolute; inset: 0;
  background: currentColor; border-radius: .2cqw; transform: rotate(90deg);
}
.uif__regra {
  justify-self: end;
  width: 76%;
  margin: -6cqw -4cqw 0 0;
  display: grid;
  justify-items: stretch;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 2.6cqw;
  box-shadow: 0 1.2cqw 3.2cqw rgb(21 24 27 / .12),
              0 .3cqw .8cqw rgb(21 24 27 / .06);
}
.uif__passo {
  display: grid; gap: .6cqw;
  font-size: max(10px, 2.1cqw);
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 1.6cqw 2cqw;
}
.uif__tipo {
  font-family: var(--font-mono);
  font-size: max(10px, 1.6cqw);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.uif__fio {
  position: relative;
  justify-self: center;
  width: 1px; height: 3.4cqw;
  background: var(--line-strong);
}
.uif__fio::after {
  content: "";
  position: absolute; left: 50%; top: 50%;
  width: 1.6cqw; height: 1.6cqw;
  margin: -.8cqw 0 0 -.8cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  transform: rotate(45deg);
}
.uif__passo--faz { border-color: var(--accent-line); }
.uim { display: grid; }
.uim__mosaicos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2cqw; }
.uim__caixa {
  display: grid; gap: .4cqw;
  font-size: max(10px, 1.9cqw);
  color: var(--text-dim);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 2.6cqw 2.2cqw;
  box-shadow: 0 .3cqw 1.4cqw rgb(21 24 27 / .05);
}
.uim__caixa b {
  font-size: max(10px, 5.4cqw);
  font-weight: var(--w-heading);
  letter-spacing: -.03em;
  line-height: 1;
  color: var(--text);
}
.uim__caixa--ok { background: var(--banda-ok); border-color: transparent; color: var(--text-muted); }
.uim__campo {
  margin-top: 3cqw;
  display: grid; gap: 2cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 3.4cqw;
  box-shadow: 0 1cqw 2.8cqw rgb(21 24 27 / .10);
}
.uim__cab { margin: 0; font-size: max(10px, 2.2cqw); color: var(--text-dim); }
.uim__cab b { color: var(--text); font-weight: var(--w-heading); }
.uim__linhaf { display: grid; grid-template-columns: 34% 1fr; align-items: center; gap: 2cqw; }
.uim__rot { font-size: max(10px, 2cqw); color: var(--text-dim); }
.uim__cx {
  position: relative;
  display: flex; align-items: center;
  font-size: max(10px, 2.2cqw); color: var(--text);
  background: var(--bg);
  border: 1px solid var(--accent);
  border-radius: var(--r-sm);
  padding: 1.4cqw 1.8cqw;
  box-shadow: 0 0 0 .4cqw var(--accent-soft);
}
.uim__cx i {
  width: .3cqw; height: 2.6cqw; margin-left: .5cqw;
  background: var(--accent); border-radius: .2cqw;
}
.uim__cx--sel { border-color: var(--line-strong); box-shadow: none; justify-content: space-between; }
.uim__seta {
  width: 0; height: 0;
  border-left: .8cqw solid transparent;
  border-right: .8cqw solid transparent;
  border-top: .9cqw solid var(--text-dim);
}
.uim__int {
  position: relative;
  width: 6cqw; height: 3.2cqw;
  border-radius: var(--r-full);
  background: var(--accent);
}
.uim__int i {
  position: absolute;
  right: .5cqw; top: 50%;
  width: 2.2cqw; height: 2.2cqw;
  margin-top: -1.1cqw;
  border-radius: 50%;
  background: var(--bg-panel);
}
.uip-campo--crm      { background: var(--tinta-lima);    border-color: var(--tinta-lima-borda); }
.uip-campo--software { background: var(--tinta-laranja); border-color: var(--tinta-laranja-borda); }
.ups { display: grid; gap: 2.6cqw; }
.ups__busca {
  display: flex; align-items: center; gap: 2cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-full);
  padding: 2.2cqw 3cqw;
  box-shadow: 0 .4cqw 1.6cqw rgb(21 24 27 / .06);
}
.ups__lupa {
  flex: none; position: relative;
  width: 2.6cqw; height: 2.6cqw;
  border: .4cqw solid var(--text-dim);
  border-radius: 50%;
}
.ups__lupa::after {
  content: "";
  position: absolute; right: -.9cqw; bottom: -.4cqw;
  width: 1.3cqw; height: .4cqw;
  background: var(--text-dim);
  border-radius: .2cqw;
  transform: rotate(45deg);
}
.ups__q {
  display: inline-flex; align-items: center;
  font-size: max(10px, 2.4cqw); color: var(--text);
  clip-path: inset(0 var(--ups-esc, 0%) 0 0);
  animation: upsEscreve var(--anim-dur) steps(18, end) infinite;
}
.ups__cursor {
  width: .3cqw; height: 2.6cqw; margin-left: .4cqw;
  background: var(--accent); border-radius: .2cqw;
}
.ups__janela {
  height: 52cqw;
  overflow: hidden;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.ups__pista {
  padding: 3.4cqw;
  display: grid; gap: 3cqw;
  animation: upsDesce var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.ups__res {
  display: grid; gap: 1cqw;
  opacity: 0;
  animation: var(--ups-entra, upsEntra0) var(--anim-dur) linear infinite;
}
.ups__t { height: 2.2cqw; width: 62%; border-radius: .3cqw; background: var(--line-strong); }
.ups__u { height: 1.4cqw; width: 38%; border-radius: .3cqw; background: var(--line); }
.ups__d { height: 1.4cqw; width: 92%; border-radius: .3cqw; background: var(--line); }
.ups__d--curta { width: 70%; }
.ups__dobra {
  position: relative;
  height: 1px;
  background: var(--line-strong);
  margin: 1cqw 0 2cqw;
  opacity: 0;
  animation: var(--ups-entra, upsEntraDobra) var(--anim-dur) linear infinite;
}
.ups__dobra span {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: var(--bg-panel);
  padding: 0 2cqw;
  font-family: var(--font-mono);
  font-size: max(10px, 1.8cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
  white-space: nowrap;
}
.ups__t--tu {
  height: auto; width: auto;
  background: var(--realce);
  border-radius: .3cqw;
  padding: .4cqw 1.2cqw;
  font-size: max(10px, 2.2cqw);
  font-weight: var(--w-heading);
  color: var(--text);
  justify-self: start;
}
@keyframes upsEscreve {
  0%   { clip-path: inset(0 100% 0 0); }
  14%, 100% { clip-path: inset(0 0 0 0); }
}
@keyframes upsEntra0 {
  0%, 12%  { opacity: 0; transform: translateY(1.4cqw); }
  20%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsEntra1 {
  0%, 15%  { opacity: 0; transform: translateY(1.4cqw); }
  23%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsEntra2 {
  0%, 18%  { opacity: 0; transform: translateY(1.4cqw); }
  26%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsEntra3 {
  0%, 21%  { opacity: 0; transform: translateY(1.4cqw); }
  29%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsEntraDobra {
  0%, 24%  { opacity: 0; transform: translateY(1.4cqw); }
  32%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsEntraTeu {
  0%, 26%  { opacity: 0; transform: translateY(1.4cqw); }
  34%, 94% { opacity: 1; transform: none; }
  100%     { opacity: 0; transform: translateY(1.4cqw); }
}
@keyframes upsDesce {
  0%, 46%   { transform: translateY(0); }
  76%, 94%  { transform: translateY(-34cqw); }
  100%      { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .ups__q { animation: none; clip-path: none; }
  .ups__cursor { display: none; }
  .ups__res, .ups__dobra { animation: none; opacity: 1; transform: none; }
  .ups__pista { animation: none; transform: translateY(-34cqw); }
}
.uvs__caixa {
  display: grid;
  gap: 2.2cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 3.4cqw;
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uvs__msg {
  display: grid;
  gap: 1.4cqw;
  padding-bottom: 2.2cqw;
  border-bottom: 1px solid var(--line);
  opacity: 0;
  animation: var(--uvs-anim) var(--anim-dur) linear infinite;
}
.uvs__msg:nth-child(1) { --uvs-anim: uvsChega0; }
.uvs__msg:nth-child(2) { --uvs-anim: uvsChega1; }
.uvs__msg:nth-child(3) { --uvs-anim: uvsChega2; }
.uvs__msg:nth-child(4) { --uvs-anim: uvsChega3; }
.uvs__msg:last-child { border-bottom: 0; padding-bottom: 0; }
.uvs__de {
  height: 1.6cqw; width: 34%;
  border-radius: .3cqw;
  background: var(--line-strong);
}
.uvs__anexo {
  display: flex; align-items: center; gap: 1.6cqw;
  font-family: var(--font-mono);
  font-size: max(10px, 2.1cqw);
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 1.4cqw 1.8cqw;
  justify-self: start;
}
.uvs__ic {
  flex: none; position: relative;
  width: 2.2cqw; height: 2.8cqw;
  border: 1px solid var(--text-dim);
  border-radius: .2cqw;
}
.uvs__ic::after {
  content: "";
  position: absolute; right: -1px; top: -1px;
  border-left: .9cqw solid transparent;
  border-top: .9cqw solid var(--bg);
  border-right: 1px solid var(--text-dim);
}
.uvs__texto {
  justify-self: start;
  font-size: max(10px, 2.6cqw);
  font-weight: var(--w-heading);
  color: var(--text);
  background: var(--realce);
  border-radius: .3cqw;
  padding: .5cqw 1.4cqw;
}
@keyframes uvsChega0 {
  0%, 8% { opacity: 0; transform: translateY(1.6cqw); }
  16%, 92% { opacity: 1; transform: none; }
  100%    { opacity: 0; transform: translateY(1.6cqw); }
}
@keyframes uvsChega1 {
  0%, 22% { opacity: 0; transform: translateY(1.6cqw); }
  30%, 92% { opacity: 1; transform: none; }
  100%    { opacity: 0; transform: translateY(1.6cqw); }
}
@keyframes uvsChega2 {
  0%, 36% { opacity: 0; transform: translateY(1.6cqw); }
  44%, 92% { opacity: 1; transform: none; }
  100%    { opacity: 0; transform: translateY(1.6cqw); }
}
@keyframes uvsChega3 {
  0%, 50% { opacity: 0; transform: translateY(1.6cqw); }
  58%, 92% { opacity: 1; transform: none; }
  100%    { opacity: 0; transform: translateY(1.6cqw); }
}
@media (prefers-reduced-motion: reduce) {
  .uvs__msg { animation: none; opacity: 1; transform: none; }
}
.uvl__painel {
  display: grid;
  gap: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 3.6cqw;
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uvl__ficheiro { display: flex; align-items: center; gap: 2.2cqw; }
.uvl__ficheiro b {
  display: block;
  font-family: var(--font-mono);
  font-size: max(10px, 2.2cqw);
  color: var(--text);
}
.uvl__ficheiro i {
  display: block; font-style: normal;
  font-size: max(10px, 1.9cqw);
  color: var(--text-dim);
}
.uvl__ic {
  flex: none; position: relative;
  width: 3.4cqw; height: 4.2cqw;
  border: 1px solid var(--text-dim);
  border-radius: .3cqw;
}
.uvl__ic::after {
  content: "";
  position: absolute; right: -1px; top: -1px;
  border-left: 1.4cqw solid transparent;
  border-top: 1.4cqw solid var(--bg-panel);
  border-right: 1px solid var(--text-dim);
}
.uvl__barra {
  height: 1.2cqw;
  border-radius: var(--r-full);
  background: var(--bg-hover);
  overflow: hidden;
}
.uvl__barra span {
  display: block; height: 100%;
  border-radius: var(--r-full);
  background: var(--accent);
  animation: uvlEnche var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.uvl__passos { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.8cqw; }
.uvl__passos li {
  position: relative;
  padding-left: 5cqw;
  font-size: max(10px, 2.2cqw);
  color: var(--text-dim);
  animation: uvlFeito var(--anim-dur) linear infinite;
}
.uvl__passos li::before {
  content: "";
  position: absolute; left: 0; top: .1em;
  width: 3.2cqw; height: 3.2cqw;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background: var(--bg-panel);
}
.uvl__passos li::after {
  content: "";
  position: absolute; left: 1.1cqw; top: .85cqw;
  width: .9cqw; height: 1.7cqw;
  border: .35cqw solid var(--text);
  border-top: 0; border-left: 0;
  transform: rotate(42deg);
  opacity: 0;
  animation: uvlMarca var(--anim-dur) linear infinite;
}
.uvl__passos li:nth-child(1)::after { animation-name: uvlMarca0; }
.uvl__passos li:nth-child(2)::after { animation-name: uvlMarca1; }
.uvl__passos li:nth-child(3)::after { animation-name: uvlMarca2; }
.uvl__passos li:nth-child(1) { animation-name: uvlFeito0; }
.uvl__passos li:nth-child(2) { animation-name: uvlFeito1; }
.uvl__passos li:nth-child(3) { animation-name: uvlFeito2; }
.uvl__nota { margin: 0; font-size: max(10px, 2cqw); color: var(--text-dim); }
.uvl__nota b { color: var(--text); font-weight: var(--w-heading); }
@keyframes uvlEnche {
  0%   { width: 4%; }
  74%  { width: 100%; }
  94%  { width: 100%; }
  100% { width: 4%; }
}
@keyframes uvlFeito0 {
  0%, 16% { color: var(--text-dim); }
  24%, 94% { color: var(--text); }
  100%    { color: var(--text-dim); }
}
@keyframes uvlMarca0 {
  0%, 16% { opacity: 0; }
  24%, 94% { opacity: 1; }
  100%    { opacity: 0; }
}
@keyframes uvlFeito1 {
  0%, 34% { color: var(--text-dim); }
  42%, 94% { color: var(--text); }
  100%    { color: var(--text-dim); }
}
@keyframes uvlMarca1 {
  0%, 34% { opacity: 0; }
  42%, 94% { opacity: 1; }
  100%    { opacity: 0; }
}
@keyframes uvlFeito2 {
  0%, 52% { color: var(--text-dim); }
  60%, 94% { color: var(--text); }
  100%    { color: var(--text-dim); }
}
@keyframes uvlMarca2 {
  0%, 52% { opacity: 0; }
  60%, 94% { opacity: 1; }
  100%    { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .uvl__barra span { animation: none; width: 100%; }
  .uvl__passos li { animation: none; color: var(--text); }
  .uvl__passos li::after { animation: none; opacity: 1; }
}
.ulm__painel {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
  overflow: hidden;
}
.ulm__topo {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2cqw;
  padding: 2.8cqw 3.6cqw;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.ulm__titulo {
  font-size: max(10px, 2.3cqw);
  font-weight: var(--w-heading);
  color: var(--text);
  letter-spacing: -.01em;
}
.ulm__quando {
  font-family: var(--font-mono);
  font-size: max(10px, 1.8cqw);
  color: var(--text-dim);
}
.ulm__seccao { position: relative; }
.ulm__seccao::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--realce);
  opacity: 0;
  z-index: 0;
}
.ulm__seccao > * { position: relative; z-index: 1; }
.ulm__grupo {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2cqw;
  margin: 0;
  padding: 2.2cqw 3.6cqw 1.2cqw;
  font-size: max(10px, 1.9cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.ulm__grupo span {
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: max(10px, 1.6cqw);
  color: var(--text-dim);
}
.ulm__lista { list-style: none; margin: 0; padding: 0 0 1.6cqw; }
.ulm__lista li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: baseline;
  gap: 2.4cqw;
  padding: 1.1cqw 3.6cqw;
}
.ulm__seccao + .ulm__seccao { border-top: 1px solid var(--line); }
.ulm__que {
  font-size: max(10px, 2.1cqw);
  color: var(--text-muted);
}
.ulm__sigla {
  font-family: var(--font-mono);
  font-size: max(10px, 1.7cqw);
  letter-spacing: .06em;
  color: var(--text-muted);
  min-width: 7cqw;
  text-align: right;
}
.ulm__lim {
  font-family: var(--font-mono);
  font-size: max(10px, 2.1cqw);
  font-weight: var(--w-heading);
  color: var(--text);
  min-width: 15cqw;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ulm__fonte {
  margin: 0;
  padding: 2.4cqw 3.6cqw;
  border-top: 1px solid var(--line);
  background: var(--bg);
  font-size: max(10px, 1.8cqw);
  color: var(--text-dim);
}
.ulm__seccao::before {
  animation: var(--anim-dur) linear infinite;
  animation-name: var(--ulm-scan, none);
}
@keyframes ulmScan0 { 0%,2% { opacity: 0 } 6%,20% { opacity: .7 } 24%,100% { opacity: 0 } }
@keyframes ulmScan1 { 0%,26% { opacity: 0 } 30%,44% { opacity: .7 } 48%,100% { opacity: 0 } }
@keyframes ulmScan2 { 0%,50% { opacity: 0 } 54%,68% { opacity: .7 } 72%,100% { opacity: 0 } }
@keyframes ulmScan3 { 0%,74% { opacity: 0 } 78%,92% { opacity: .7 } 96%,100% { opacity: 0 } }
@media (prefers-reduced-motion: reduce) {
  .ulm__seccao::before { animation: none; }
}
.ued {
  container-type: inline-size;
  width: 100%;
  position: relative;
  font-family: var(--font-display);
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.ued__folha {
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 5.4cqw 4cqw 6cqw;
  width: 82%;
  box-shadow: 0 .3cqw 1.4cqw rgb(21 24 27 / .05);
}
.ued__h {
  margin: 0 0 2.6cqw;
  font-size: clamp(15px, 2.4cqw, 28px);
  font-weight: var(--w-heading);
  color: var(--text);
  line-height: 1.2;
  display: inline-block;
  outline: 1px dashed var(--tinta-azul-borda);
  outline-offset: .8cqw;
  border-radius: 2px;
}
.ued__b {
  display: block;
  width: var(--w, 80%);
  height: clamp(5px, 1cqw, 11px);
  border-radius: var(--r-full);
  background: var(--line);
}
.ued__b + .ued__b { margin-top: 1.4cqw; }
.ued__editor {
  position: absolute;
  right: 0;
  
  top: 2.6cqw;
  width: 31cqw;
  display: grid;
  gap: 1.2cqw;
  background: var(--bg-raised);
  border: 1px solid var(--line-strong);
  border-radius: var(--r-md);
  padding: 2.4cqw;
  box-shadow: 0 1.2cqw 3.4cqw rgb(21 24 27 / .13);
}
.ued__rot {
  font-family: var(--font-mono);
  font-size: clamp(11px, 1.7cqw, 19px);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
}
.ued__campo {
  display: flex;
  align-items: center;
  min-height: 5cqw;
  padding: 1.2cqw 1.5cqw;
  font-size: clamp(13px, 1.75cqw, 20px);
  line-height: 1.35;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--tinta-azul-borda);
  border-radius: var(--r-sm);
}
.ued__caret {
  flex: none;
  width: clamp(2px, .3cqw, 3px);
  height: clamp(15px, 2.4cqw, 27px);
  margin-left: .4cqw;
  background: var(--accent);
  border-radius: .2cqw;
  animation: uedPisca 1.1s steps(1, end) infinite;
}
@keyframes uedPisca { 0%, 55% { opacity: 1 } 56%, 100% { opacity: 0 } }
.ued__guardar {
  justify-self: start;
  font-size: clamp(12px, 1.6cqw, 18px);
  font-weight: var(--w-heading);
  color: var(--bg);
  background: var(--text);
  border-radius: var(--r-sm);
  padding: 1.1cqw 2.2cqw;
}
@container (max-width: 700px) {
  .ued__folha { width: 100%; padding: 5cqw 4.4cqw; }
  .ued__editor {
    position: static;
    width: 100%;
    margin-top: 3.4cqw;
    padding: 4cqw;
    gap: 2.4cqw;
  }
  .ued__h { margin-bottom: 4cqw; }
  .ued__b + .ued__b { margin-top: 2.6cqw; }
  .ued__campo { min-height: 9cqw; padding: 2.4cqw 2.8cqw; }
  .ued__guardar { padding: 2.4cqw 4cqw; }
}
@media (prefers-reduced-motion: reduce) {
  .ued__caret { animation: none; }
}
.ucr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 3.4%, 20px) clamp(16px, 5%, 30px);
  align-items: center;
  padding: clamp(20px, 6%, 34px) clamp(22px, 6.5%, 38px);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  font-family: var(--font-display);
  --anim-parada: calc(var(--anim-dur) * -.88);
}
.ucr__rot,
.ucr__l {
  animation: ucrDesce var(--anim-entrada) linear 1 both;
}
@keyframes ucrDesce {
  0%, 6%   { opacity: 0; transform: translateY(.6cqw); }
  22%, 100% { opacity: 1; transform: none; }
}
.ucr__l {
  animation-name: ucrEntra;
  animation-delay: calc(var(--anim-dur) * var(--i, 0) * .035);
}
@keyframes ucrEntra {
  0%, 8% { clip-path: inset(0 100% 0 0); opacity: .55; }
  30%    { clip-path: inset(0 0 0 0);    opacity: .55; }
  100%   { clip-path: inset(0 0 0 0);    opacity: .55; }
}
.ucr__l--so {
  animation-name: ucrSozinha;
  animation-delay: 0s;
}
@keyframes ucrSozinha {
  0%, 8%   { clip-path: inset(0 100% 0 0); background: var(--line-strong); opacity: .55; }
  26%      { clip-path: inset(0 0 0 0);    background: var(--line-strong); opacity: .55; }
  54%      { clip-path: inset(0 0 0 0);    background: var(--line-strong); opacity: .55; }
  64%, 100% { clip-path: inset(0 0 0 0);   background: var(--text);        opacity: 1; }
}
.ucr__falta { animation: ucrFalta var(--anim-entrada) linear 1 both; }
@keyframes ucrFalta {
  0%, 62% { opacity: 0; transform: scaleX(.4); }
  74%     { opacity: 1; transform: scaleX(1); }
  100%    { opacity: 1; transform: scaleX(1); }
}
.ucr__rot {
  margin: 0 0 1cqw;
  font-family: var(--font-mono);
  font-size: clamp(10px, 2.2cqw, 15px);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
}
.ucr__l {
  height: clamp(9px, 2.6cqw, 15px);
  width: var(--w, 80%);
  border-radius: var(--r-full);
  background: var(--line-strong);
  opacity: .55;
}
.ucr__l--so {
  background: var(--text);
  opacity: 1;
}
.ucr__falta {
  height: clamp(9px, 2.6cqw, 15px);
  width: 73%;
  border-radius: var(--r-full);
  border: 1px dashed var(--text-dim);
  background: transparent;
}
@media (max-width: 900px) {
  .ucr { gap: clamp(10px, 3%, 16px) clamp(14px, 4%, 24px); }
}
.uob {
  padding: clamp(20px, 6%, 34px) clamp(22px, 6.5%, 38px);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  font-family: var(--font-display);
  --anim-parada: calc(var(--anim-dur) * -.88);
}
.uob__raiz {
  margin: 0 0 3cqw;
  font-size: clamp(12px, 2.6cqw, 18px);
  font-weight: var(--w-heading);
  color: var(--text);
  animation: uobRaiz var(--anim-entrada) linear 1 both;
}
@keyframes uobRaiz {
  0%, 4% { opacity: 0; transform: translateY(.5cqw); }
  12%, 100% { opacity: 1; transform: none; }
}
.uob__ramo { position: relative; padding-left: 5cqw; }
.uob__linha {
  position: absolute;
  left: 1.4cqw; top: 0; bottom: 1.6cqw;
  width: 1px;
  background: var(--line-strong);
  transform-origin: top;
  animation: uobDesce var(--anim-entrada) linear 1 both;
}
@keyframes uobDesce {
  0%, 10% { transform: scaleY(0); }
  46%     { transform: scaleY(1); }
  100%    { transform: scaleY(1); }
}
.uob__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 2.4cqw; }
.uob__lista li {
  display: flex; align-items: center; gap: 2cqw;
  animation: uobPasta var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i, 0) * .052);
}
@keyframes uobPasta {
  0%, 12% { opacity: 0; transform: translateX(-1.6cqw); }
  26%, 100% { opacity: 1; transform: none; }
}
.uob__n {
  flex: none;
  width: clamp(9px, 2.4cqw, 16px);
  height: clamp(8px, 2cqw, 13px);
  border: 1px solid var(--line-strong);
  border-radius: 2px 2px 2px 2px;
  border-top-width: clamp(2px, .6cqw, 4px);
}
.uob__b {
  width: var(--w, 60%);
  height: clamp(8px, 2.2cqw, 13px);
  border-radius: var(--r-full);
  background: var(--line-strong);
  opacity: .5;
}
.uob__mapas { display: grid; grid-template-columns: 1fr 1fr; gap: 3cqw; margin-top: 4cqw; }
.uob__mapa {
  height: clamp(26px, 7cqw, 48px);
  border-radius: var(--r-sm);
  border: 1px solid var(--tinta-lima-borda);
  background: var(--tinta-lima);
  transform-origin: left;
  animation: uobMapa var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i, 0) * .06);
}
@keyframes uobMapa {
  0%, 58% { opacity: 0; transform: scaleX(.25); }
  72%, 100% { opacity: 1; transform: scaleX(1); }
}
.urp {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  gap: clamp(12px, 3.5%, 22px);
  padding: clamp(20px, 6%, 34px) clamp(22px, 6.5%, 38px);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  font-family: var(--font-display);
  --anim-parada: calc(var(--anim-dur) * -.95);
}
.urp__fonte, .urp__saidas { display: grid; gap: 1.8cqw; }
.urp__rot {
  min-height: clamp(14px, 3cqw, 20px);
  font-family: var(--font-mono);
  font-size: clamp(10px, 2cqw, 14px);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: .6cqw;
}
.urp__b {
  width: var(--w, 80%);
  height: clamp(8px, 2.2cqw, 13px);
  border-radius: var(--r-full);
  background: var(--line-strong);
  opacity: .5;
  transform-origin: left;
  animation: urpEnche var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i, 0) * .022);
}
@keyframes urpEnche {
  0%, 6% { transform: scaleX(0); }
  22%    { transform: scaleX(1); }
  100%   { transform: scaleX(1); }
}
.urp__ponte {
  width: clamp(28px, 9cqw, 64px);
  height: 0;
  border-top: 2px dashed var(--tinta-laranja-forte);
  animation: urpPonte var(--anim-entrada) linear 1 both;
  transform-origin: left;
}
@keyframes urpPonte {
  0%, 26% { opacity: 0; transform: scaleX(0); }
  40%, 100% { opacity: 1; transform: scaleX(1); }
}
.urp__f {
  height: clamp(12px, 3.2cqw, 22px);
  border-radius: var(--r-sm);
  border: 1px solid var(--tinta-laranja-borda);
  background: var(--tinta-laranja);
  animation: urpSai var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i, 0) * .045);
}
@keyframes urpSai {
  0%, 42% { opacity: 0; transform: translateX(-2.4cqw) scale(.9); }
  56%, 100% { opacity: 1; transform: none; }
}
.urp__vao { display: block; }
.urp__soma {
  height: clamp(8px, 2.2cqw, 13px);
  width: 46%;
  justify-self: start;
  border-radius: var(--r-full);
  background: var(--text);
  margin-top: 1.4cqw;
  animation: urpSoma var(--anim-entrada) linear 1 both;
}
@keyframes urpSoma {
  0%, 78% { opacity: 0; }
  88%, 100% { opacity: 1; }
}
@media (max-width: 900px) {
  .urp { grid-template-columns: 1fr; gap: clamp(10px, 3%, 18px); }
  .urp__ponte {
    justify-self: center;
    transform: rotate(90deg);
    width: clamp(20px, 10cqw, 40px);
  }
  .urp__vao { display: none; }
}
.ulr {
  display: grid;
  gap: clamp(10px, 2.6cqw, 18px);
  align-content: center;
  padding: clamp(18px, 5%, 30px) clamp(18px, 5.5%, 32px);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  font-family: var(--font-display);
  --anim-parada: calc(var(--anim-dur) * -0.88);
}
.ulr__topo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(6px, 1.8cqw, 12px);
  font-family: var(--font-mono);
  font-size: max(10px, 2.4cqw);
  letter-spacing: var(--ls-mono);
  text-transform: uppercase;
  line-height: 1.35;
  color: var(--text-muted);
}
.ulr__rot {
  min-width: 0;
  opacity: 0;
  animation: ulrRotulo var(--anim-entrada) var(--ease-out) 1 both;
}
.ulr__rot--fraco {
  color: var(--text-dim);
  animation-delay: calc(var(--anim-dur) * .30);
}
@keyframes ulrRotulo {
  0%, 6%    { opacity: 0; }
  14%, 100% { opacity: 1; }
}
.ulr__faixa {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(6px, 1.8cqw, 12px);
  height: clamp(84px, 25cqw, 160px);
}
@container (max-width: 26rem) {
  .ulr__faixa { grid-template-columns: repeat(4, 1fr); }
  .ulr__c:nth-child(5),
  .ulr__c:nth-child(8) { display: none; }
}
.ulr__c {
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background:
    linear-gradient(var(--line-strong), var(--line-strong)) 14% 16% / 44% 5px no-repeat,
    linear-gradient(var(--line), var(--line)) 14% 78% / 62% 4px no-repeat,
    linear-gradient(var(--line), var(--line)) 14% 90% / 38% 4px no-repeat,
    var(--bg);
  opacity: 0;
  animation: ulrEntra var(--anim-entrada) var(--ease-out) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i, 0) * .018);
}
@keyframes ulrEntra {
  0%, 2%    { opacity: 0; transform: translateY(8%); }
  12%, 100% { opacity: 1; transform: none; }
}
.ulr__c::after {
  content: '';
  position: absolute;
  left: 14%; right: 14%;
  top: var(--a, 50%);
  height: clamp(5px, 1.4cqw, 7px);
  transform: translateY(-50%);
  border-radius: var(--r-full);
  background: var(--text);
}
.ulr__c--fora::after {
  animation: ulrPerde var(--anim-entrada) var(--ease-out) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.14 + (var(--i) + .5) * .1));
}
@keyframes ulrPerde {
  0%       { opacity: 1; }
  8%, 100% { opacity: .28; }
}
.ulr__v {
  position: absolute;
  top: clamp(7px, 2cqw, 11px); right: clamp(7px, 2cqw, 11px);
  width: clamp(6px, 1.6cqw, 8px); height: clamp(6px, 1.6cqw, 8px);
  border-radius: 50%;
  background: var(--ok);
  transform: scale(0);
  animation: ulrPonto var(--anim-entrada) cubic-bezier(.34, 1.56, .64, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.14 + (var(--i) + .5) * .1));
}
@keyframes ulrPonto {
  0%       { transform: scale(0); }
  7%, 100% { transform: scale(1); }
}
.ulr__lente {
  position: absolute;
  top: 50%; left: 0;
  width: clamp(14px, 3.6cqw, 22px);
  height: clamp(14px, 3.6cqw, 22px);
  margin: calc(clamp(14px, 3.6cqw, 22px) / -2) 0 0 calc(clamp(14px, 3.6cqw, 22px) / -2);
  border: 2px solid var(--text);
  border-radius: 50%;
  background: var(--bg-panel);
  opacity: 0;
  animation: ulrLente var(--anim-dur) linear infinite;
}
@keyframes ulrLente {
  0%, 12%   { opacity: 0; transform: translateX(0); }
  14%       { opacity: 1; transform: translateX(0); }
  74%       { opacity: 1; transform: translateX(calc(100cqw - 100%)); }
  84%, 100% { opacity: 0; transform: translateX(calc(100cqw - 100%)); }
}
.ulr__linha {
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 0;
  border-top: 2px solid var(--text);
  transform-origin: left center;
  animation: ulrRisca var(--anim-entrada) linear 1 both;
}
@keyframes ulrRisca {
  0%, 14%   { transform: scaleX(0); }
  44%, 100% { transform: scaleX(.5); }
}
.ulr__tracejada {
  position: absolute;
  left: 50%; right: 0; top: 50%;
  height: 0;
  border-top: 2px dashed var(--text-dim);
  transform-origin: left center;
  animation: ulrTraceja var(--anim-entrada) linear 1 both;
}
@keyframes ulrTraceja {
  0%, 44%   { transform: scaleX(0); }
  74%, 100% { transform: scaleX(1); }
}
.uct, .uiv, .utr {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.uct__rot, .uiv__rot, .utr__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 1.9cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.uct__painel {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3.4cqw;
  padding: 3.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uct__lado {
  display: grid;
  align-content: space-between;
  gap: 3cqw;
  min-width: max(88px, 24cqw);
}
.uct__grupo { display: grid; align-content: start; gap: 1.6cqw; }
.uct__col {
  height: 2cqw;
  min-height: 5px;
  width: var(--w, 96%);
  border-radius: .3cqw;
  background: var(--line-strong);
  opacity: 0;
  animation: uctEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .022);
}
.uct__nova {
  justify-self: start;
  padding: .6cqw 1.6cqw;
  border-radius: var(--r-full);
  border: 1px solid var(--tinta-azul-borda);
  background: var(--tinta-azul);
  font-size: max(10px, 1.9cqw);
  color: var(--text);
  white-space: nowrap;
  opacity: 0;
  animation: uctNova var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
}
.uct__vars {
  display: flex;
  gap: 1cqw;
  opacity: 0;
  animation: uctEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * .066);
}
.uct__vars i {
  width: 6cqw;
  min-width: 18px;
  height: 2.8cqw;
  min-height: 9px;
  border-radius: var(--r-full);
  border: 1px solid var(--line-strong);
  background: var(--bg);
}
.uct__grelha {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2cqw;
  align-content: start;
}
.uct__cartao {
  display: grid;
  gap: .9cqw;
  padding: 1.4cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--bg);
  opacity: 0;
  animation: uctEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .022);
}
.uct__cartao--nova {
  border-color: var(--tinta-azul-borda);
  background: var(--tinta-azul);
  animation-name: uctCresce;
  animation-delay: calc(var(--anim-dur) * var(--k, 0) * .03);
}
.uct__foto {
  aspect-ratio: 4 / 3;
  border-radius: .3cqw;
  background: var(--line-strong);
}
.uct__foto--a { background: var(--line-strong); }
.uct__foto--b { background: var(--text-ghost); }
.uct__foto--c { background: var(--line); }
.uct__nome, .uct__preco {
  height: 1.4cqw;
  min-height: 4px;
  width: var(--w, 84%);
  border-radius: .3cqw;
  background: var(--line);
}
.uct__preco { background: var(--line-strong); }
.uct__cartao--nova .uct__nome { background: var(--bg-panel); }
.uct__cartao--nova .uct__preco { background: var(--bg-panel); }
@keyframes uctEntra {
  0%, 8%    { opacity: 0; transform: translateY(2cqw); }
  20%, 100% { opacity: 1; transform: none; }
}
@keyframes uctNova {
  0%, 26%   { opacity: 0; transform: translateX(-2.2cqw); }
  36%, 100% { opacity: 1; transform: none; }
}
@keyframes uctCresce {
  0%, 40%   { opacity: 0; transform: translateY(2cqw) scale(.94); }
  54%, 100% { opacity: 1; transform: none; }
}
@container (max-width: 400px) {
  .uct__painel { grid-template-columns: 1fr; gap: 2.6cqw; }
  .uct__lado { grid-template-columns: 1fr 1fr; gap: 2.4cqw; }
}
.uiv__painel {
  display: grid;
  gap: 2.4cqw;
  padding: 3.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uiv__topo { display: grid; gap: 2cqw; }
.uiv__ficha {
  display: grid;
  grid-template-columns: 18% 1fr;
  gap: 3cqw;
  align-items: start;
}
.uiv__lado { display: grid; gap: 1.8cqw; align-content: start; }
.uiv__foto, .uiv__tit, .uiv__preco, .uiv__disp, .uiv__botao, .uiv__tag {
  opacity: 0;
  animation: uivEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .04);
}
.uiv__foto {
  aspect-ratio: 1 / 1;
  border-radius: .4cqw;
  background: var(--line-strong);
}
.uiv__tit {
  height: 2.6cqw; min-height: 8px; width: 76%;
  border-radius: .3cqw;
  background: var(--line-strong);
}
.uiv__preco {
  height: 1.8cqw; min-height: 5px; width: 30%;
  border-radius: .3cqw;
  background: var(--line-strong);
}
.uiv__disp {
  height: 1.4cqw; min-height: 4px; width: 22%;
  border-radius: .3cqw;
  background: var(--line);
}
.uiv__botao {
  justify-self: start;
  padding: 1.4cqw 2.8cqw;
  border-radius: var(--r-full);
  background: var(--accent);
  color: var(--text-invertido);
  font-size: max(10px, 1.9cqw);
  font-weight: var(--w-heading);
  white-space: nowrap;
}
.uiv__costura {
  position: relative;
  height: 0;
  border-top: 2px dashed var(--line-strong);
  margin: 1.2cqw 0 3cqw;
}
.uiv__costura span {
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  padding-right: 2cqw;
  background: var(--bg-panel);
  font-family: var(--font-mono);
  font-size: max(10px, 1.9cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
  white-space: nowrap;
}
.uiv__tags { display: grid; gap: 1.8cqw; }
.uiv__tag {
  display: grid;
  grid-template-columns: 38% 1fr;
  gap: 2cqw;
  align-items: center;
}
.uiv__tag b {
  font-family: var(--font-mono);
  font-size: max(10px, 2cqw);
  font-weight: 400;
  color: var(--text);
  white-space: nowrap;
}
.uiv__tag i {
  height: 1.6cqw; min-height: 5px;
  width: var(--w, 80%);
  border-radius: .3cqw;
  background: var(--line);
}
@keyframes uivEntra {
  0%, 4%    { opacity: 0; transform: translateY(1.4cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
@container (max-width: 400px) {
  .uiv__ficha { grid-template-columns: 30% 1fr; gap: 2.4cqw; }
  .uiv__tag { grid-template-columns: 1fr; gap: .8cqw; }
}
.utr__painel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.4cqw;
  padding: 3.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.utr__gestao, .utr__loja {
  position: relative;
  display: grid;
  align-content: start;
  gap: 1.8cqw;
}
.utr__campo, .utr__cartao {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg);
}
.utr__campo {
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
}
.utr__cartao {
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  box-shadow: 0 .3cqw 1.2cqw rgb(21 24 27 / .06);
}
.utr__velha, .utr__nova,
.utr__vitrine-velha, .utr__vitrine-nova {
  position: absolute;
  inset: 0;
}
.utr__velha, .utr__vitrine-velha { background: var(--text-ghost); }
.utr__nova, .utr__vitrine-nova { background: var(--line-strong); }
.utr__velha {
  animation: utrSai var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.utr__nova {
  animation: utrChega var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.utr__vitrine-velha {
  animation: utrVitrineSai var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.utr__vitrine-nova {
  animation: utrVitrineChega var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes utrSai {
  0%, 26%   { transform: translateY(0); }
  44%, 100% { transform: translateY(-100%); }
}
@keyframes utrChega {
  0%, 26%   { transform: translateY(100%); }
  44%, 100% { transform: translateY(0); }
}
@keyframes utrVitrineSai {
  0%, 74%   { transform: translateY(0); }
  84%, 100% { transform: translateY(-100%); }
}
@keyframes utrVitrineChega {
  0%, 74%   { transform: translateY(100%); }
  84%, 100% { transform: translateY(0); }
}
.utr__linha { display: block; }
.utr__linha i {
  display: block;
  height: 1.6cqw; min-height: 5px;
  width: var(--w, 100%);
  border-radius: .3cqw;
  background: var(--line);
}
.utr__linha--preco i { background: var(--line-strong); }
.utr__campanha, .utr__pastilha {
  justify-self: start;
  --utr-quando: utrCampanha;
  padding: .5cqw 1.6cqw;
  border-radius: var(--r-full);
  border: 1px solid var(--tinta-azul-borda);
  background: var(--tinta-azul);
  font-size: max(10px, 1.8cqw);
  color: var(--text);
  white-space: nowrap;
  opacity: 0;
  animation: var(--utr-quando) var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
.utr__pastilha {
  position: absolute;
  left: 1.6cqw; top: 1.6cqw;
  --utr-quando: utrPastilha;
}
@keyframes utrCampanha {
  0%, 48%   { opacity: 0; transform: scale(.86); }
  56%, 100% { opacity: 1; transform: none; }
}
@keyframes utrPastilha {
  0%, 78%   { opacity: 0; transform: scale(.86); }
  86%, 100% { opacity: 1; transform: none; }
}
.utr__acao { position: relative; justify-self: start; margin-top: .6cqw; }
.utr__publicar {
  display: inline-block;
  padding: 1.2cqw 2.6cqw;
  border-radius: var(--r-btn);
  background: var(--accent);
  color: var(--text-invertido);
  font-size: max(10px, 1.9cqw);
  font-weight: var(--w-heading);
  white-space: nowrap;
  animation: utrCarrega var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes utrCarrega {
  0%, 68%   { transform: none; }
  72%       { transform: scale(.94); }
  78%, 100% { transform: none; }
}
.utr__cursor {
  position: absolute;
  left: calc(100% - 1.4cqw);
  top: calc(100% - 2cqw);
  width: 3.6cqw; min-width: 11px;
  height: 3.6cqw; min-height: 11px;
  background: var(--text-muted);
  clip-path: polygon(0 0, 0 78%, 22% 60%, 38% 96%, 56% 88%, 40% 53%, 68% 50%);
  filter: drop-shadow(0 .3cqw .5cqw rgb(21 24 27 / .3));
  opacity: 0;
  animation: utrCursor var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes utrCursor {
  0%, 56%   { opacity: 0; transform: translate(4cqw, 5cqw); }
  68%, 94%  { opacity: 1; transform: none; }
  100%      { opacity: 0; transform: translate(4cqw, 5cqw); }
}
@container (max-width: 420px) {
  .utr__painel { gap: 2.4cqw; padding: 2.8cqw; }
  .utr__gestao, .utr__loja { gap: 1.4cqw; }
  .utr__campanha, .utr__pastilha { padding: .5cqw 1.2cqw; }
  .utr__publicar { padding: 1.2cqw 1.8cqw; }
}
@container (max-width: 240px) {
  .utr__painel { grid-template-columns: 1fr; }
}
.uag, .ure, .upf, .uin {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.ure__rot, .upf__nome, .uin__chip, .uin__centro {
  font-family: var(--font-display);
}
.uag__app {
  display: grid;
  grid-template-columns: auto 1fr;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uag__lado {
  display: grid;
  align-content: space-between;
  gap: 2cqw;
  padding: 2.2cqw 2cqw;
  min-width: max(74px, 19cqw);
}
.uag__nav { display: grid; align-content: start; gap: .5cqw; }
.uag__marca {
  width: 3.8cqw; min-width: 12px;
  height: 3.8cqw; min-height: 12px;
  border-radius: var(--r-sm);
  background: var(--tinta-lima);
  margin-bottom: 1.2cqw;
}
.uag__item {
  font-size: max(10px, 1.9cqw);
  color: var(--text-muted);
  padding: .7cqw 1.2cqw;
  border-radius: var(--r-sm);
  white-space: nowrap;
}
.uag__item--activo {
  background: var(--tinta-lima);
  color: var(--tinta-lima-forte);
}
.uag__quem {
  display: flex;
  align-items: center;
  gap: 1.2cqw;
  padding-top: 1.6cqw;
  border-top: 1px solid var(--line);
}
.uag__avatar {
  flex: none;
  width: 3.4cqw; min-width: 11px;
  height: 3.4cqw; min-height: 11px;
  border-radius: 50%;
  background: var(--line-strong);
}
.uag__quem-barras { display: grid; gap: .7cqw; flex: 1; min-width: 0; }
.uag__quem-barras i {
  display: block;
  height: 1.2cqw; min-height: 4px;
  width: var(--w, 70%);
  border-radius: .3cqw;
  background: var(--text-dim);
}
.uag__ecra { padding: 2.6cqw; display: grid; gap: 1.8cqw; }
.uag__dias {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.2cqw;
}
.uag__dias span {
  font-family: var(--font-mono);
  font-size: max(10px, 1.7cqw);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-dim);
  text-align: center;
}
.uag__grelha {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.2cqw;
  height: 46cqw;
  min-height: 140px;
}
.uag__faixa {
  position: absolute;
  left: 0; right: 0;
  top: calc(var(--t) * 1%);
  height: 0;
  border-top: 1px solid var(--line);
}
.uag__col { position: relative; }
.uag__b {
  position: absolute;
  left: 0; right: 0;
  top: calc(var(--t) * 1%);
  height: calc(var(--h) * 1%);
  border-radius: var(--r-sm);
  background: var(--tinta-lima);
  border: 1px solid var(--tinta-lima-borda);
  opacity: 0;
  animation: uagEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .022);
}
@keyframes uagEntra {
  0%, 6%    { opacity: 0; transform: scale(.9); }
  16%, 100% { opacity: 1; transform: none; }
}
.uag__vazio {
  position: absolute;
  left: 0; right: 0;
  top: calc(var(--t) * 1%);
  height: calc(var(--h) * 1%);
  border-radius: var(--r-sm);
  border: 1px dashed var(--line-strong);
  opacity: 0;
  animation: uagVazio var(--anim-entrada) linear 1 both;
}
@keyframes uagVazio {
  0%, 46%   { opacity: 0; }
  58%, 100% { opacity: 1; }
}
.uag__b--muda {
  z-index: 2;
  animation-name: uagMuda;
  animation-delay: 0s;
}
@keyframes uagMuda {
  0%, 12%   { opacity: 0; transform: translate(0, 0) scale(.9); }
  22%, 44%  { opacity: 1; transform: translate(0, 0) scale(1); }
  50%       { opacity: 1; transform: translate(0, -4%) scale(1.04); }
  64%, 100% { opacity: 1; transform: translate(calc(100% + 1.2cqw), 220%) scale(1); }
}
@container (max-width: 420px) {
  .uag__app { grid-template-columns: 1fr; }
  .uag__lado {
    align-content: center;
    padding: 1.8cqw 2cqw;
  }
  .uag__nav {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    align-items: center;
    justify-content: start;
    overflow: hidden;
    gap: 1cqw;
  }
  .uag__marca { margin-bottom: 0; }
  .uag__quem { display: none; }
  .uag__ecra { padding: 2cqw; }
  .uag__grelha { height: 54cqw; }
}
.ure__painel {
  display: grid;
  gap: 2cqw;
  padding: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.ure__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 1.9cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.ure__regra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2cqw;
  padding: 1.8cqw 2cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--bg);
  opacity: 0;
  animation: ureEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .02);
}
@keyframes ureEntra {
  0%, 2%    { opacity: 0; transform: translateY(1.4cqw); }
  12%, 100% { opacity: 1; transform: none; }
}
.ure__lig {
  font-size: max(10px, 1.9cqw);
  color: var(--text-dim);
}
.ure__cond, .ure__acao {
  padding: .7cqw 1.6cqw;
  border-radius: var(--r-full);
  font-size: max(10px, 1.9cqw);
  color: var(--text);
}
.ure__cond {
  background: var(--bg-hover);
  border: 1px solid var(--line-strong);
}
.ure__acao {
  background: var(--tinta-lima);
  border: 1px solid var(--tinta-lima-borda);
}
.ure__regra--nova {
  border-color: var(--tinta-lima-borda);
  animation-name: ureMoldura;
  animation-delay: 0s;
}
@keyframes ureMoldura {
  0%, 26%   { opacity: 0; transform: translateY(1.4cqw); }
  36%, 100% { opacity: 1; transform: none; }
}
.ure__cond--entra, .ure__acao--entra {
  animation: ureEncaixa var(--anim-entrada) cubic-bezier(.34, 1.4, .5, 1) 1 both;
}
.ure__acao--entra { animation-name: ureEncaixaDepois; }
@keyframes ureEncaixa {
  0%, 28%   { opacity: 0; transform: translateY(1.6cqw) scale(.86); }
  40%, 100% { opacity: 1; transform: none; }
}
@keyframes ureEncaixaDepois {
  0%, 44%   { opacity: 0; transform: translateY(1.6cqw) scale(.86); }
  56%, 100% { opacity: 1; transform: none; }
}
.upf__painel {
  display: grid;
  gap: 2.6cqw;
  padding: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.upf__perfis {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: .6cqw;
  border-radius: var(--r-full);
  background: var(--bg-hover);
}
.upf__perfil {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: .9cqw .4cqw;
  font-size: max(10px, 1.9cqw);
  color: var(--text);
  white-space: nowrap;
}
.upf__seletor {
  position: absolute;
  left: .6cqw; top: .6cqw; bottom: .6cqw;
  width: calc((100% - 1.2cqw) / 3);
  border-radius: var(--r-full);
  background: var(--bg-panel);
  box-shadow: 0 .2cqw .9cqw rgb(21 24 27 / .14);
  animation: upfDesliza var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes upfDesliza {
  0%, 30%   { transform: translateX(0); }
  40%, 62%  { transform: translateX(100%); }
  72%, 100% { transform: translateX(200%); }
}
.upf__linhas { display: grid; }
.upf__linha {
  display: grid;
  grid-template-columns: 34% 1fr;
  gap: 2cqw;
  align-items: center;
  padding: 1.4cqw 0;
  border-top: 1px solid var(--line);
}
.upf__linha:first-child { border-top: 0; }
.upf__nome {
  font-size: max(10px, 1.9cqw);
  color: var(--text);
}
.upf__valor, .upf__tapa { grid-column: 2; grid-row: 1; }
.upf__valor { display: grid; gap: .8cqw; }
.upf__valor i {
  display: block;
  height: 1.4cqw; min-height: 4px;
  width: var(--w, 80%);
  border-radius: .3cqw;
  background: var(--line);
}
.upf__tapa {
  align-self: stretch;
  border-radius: .3cqw;
  background: repeating-linear-gradient(-45deg,
    var(--line-strong) 0 .5cqw,
    var(--bg-hover) .5cqw 1.4cqw);
  opacity: 0;
}
.upf__linha--a .upf__tapa { animation: upfTapaA var(--anim-dur) linear infinite; }
.upf__linha--b .upf__tapa { animation: upfTapaB var(--anim-dur) linear infinite; }
@keyframes upfTapaA {
  0%, 34%   { opacity: 0; }
  44%, 60%  { opacity: 1; }
  70%, 100% { opacity: 0; }
}
@keyframes upfTapaB {
  0%, 34%   { opacity: 0; }
  44%, 100% { opacity: 1; }
}
@container (max-width: 420px) {
  .upf__linha { grid-template-columns: 42% 1fr; gap: 1.4cqw; }
  .upf__perfil { padding: .9cqw .2cqw; }
}
.uin__painel {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: center;
  align-items: center;
  padding: 4cqw 1cqw;
}
.uin__lado { display: grid; row-gap: 7cqw; }
.uin__par { display: flex; align-items: center; }
.uin__lado--esq .uin__par { justify-content: flex-end; }
.uin__chip {
  padding: 1.4cqw 2.4cqw;
  border-radius: var(--r-full);
  border: 1px solid var(--line-strong);
  background: var(--bg-panel);
  font-size: max(10px, 2.4cqw);
  color: var(--text);
  white-space: nowrap;
  min-width: 21cqw;
  text-align: center;
}
.uin__centro {
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: 3.4cqw 4cqw;
  border-radius: var(--r-md);
  background: var(--bg-invertido);
  font-size: max(11px, 2.8cqw);
  font-weight: var(--w-heading);
  color: var(--text-invertido);
  white-space: nowrap;
  text-align: center;
  box-shadow: 0 .8cqw 2.6cqw rgb(21 24 27 / .18);
}
.uin__fio {
  width: 15cqw; min-width: 34px;
  height: 2px;
  background: repeating-linear-gradient(to right,
    var(--text-dim) 0 6px, rgb(0 0 0 / 0) 6px 12px);
  animation: uinFioDir var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .04);
}
.uin__lado--esq .uin__fio { animation-name: uinFioEsq; }
@keyframes uinFioDir {
  0%, 14%   { clip-path: inset(0 100% 0 0); }
  28%, 100% { clip-path: inset(0 0 0 0); }
}
@keyframes uinFioEsq {
  0%, 14%   { clip-path: inset(0 0 0 100%); }
  28%, 100% { clip-path: inset(0 0 0 0); }
}
.uin__chip {
  opacity: 0;
  animation: uinLiga var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .04);
}
@keyframes uinLiga {
  0%, 18%   { opacity: 0; transform: scale(.86); }
  30%, 100% { opacity: 1; transform: none; }
}
@container (max-width: 460px) {
  .uin__painel { padding: 3cqw 0; }
  .uin__lado { row-gap: 5cqw; }
  .uin__fio { width: 8cqw; min-width: 18px; }
  .uin__chip { padding: 1.2cqw 1.6cqw; }
  .uin__centro { padding: 2.4cqw 2cqw; }
}
.uma, .uen, .ufo {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.uen__painel {
  display: grid;
  gap: 2cqw;
  padding: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uen__titulo {
  font-family: var(--font-display);
  font-size: max(11px, 2.4cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uen__campo {
  display: grid;
  gap: .8cqw;
  opacity: 0;
  animation: uenEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .028);
}
@keyframes uenEntra {
  0%, 4%    { opacity: 0; transform: translateY(1.2cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
.uen__rot {
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  color: var(--text-dim);
  font-style: normal;
}
.uen__val {
  display: block;
  height: 4cqw; min-height: 13px;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-strong);
  background: var(--bg);
  position: relative;
}
.uen__val::after {
  content: '';
  position: absolute;
  left: 1.4cqw; top: 50%;
  width: var(--w, 60%);
  height: 1.4cqw; min-height: 4px;
  margin-top: calc(-.7cqw - 1px);
  border-radius: .3cqw;
  background: var(--line-strong);
}
.uen__campo--lista { position: relative; }
.uen__seleto {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1cqw;
  padding: 1cqw 1.4cqw;
  min-height: 4cqw;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-strong);
  background: var(--bg);
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  color: var(--text);
  white-space: nowrap;
}
.uen__seta {
  flex: none;
  width: 1.6cqw; min-width: 5px;
  height: 1.6cqw; min-height: 5px;
  border-right: 1.5px solid var(--text-dim);
  border-bottom: 1.5px solid var(--text-dim);
  transform: rotate(45deg);
  margin-bottom: .6cqw;
  animation: uenSeta var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes uenSeta {
  0%, 30%   { transform: rotate(45deg); }
  38%, 62%  { transform: rotate(-135deg); }
  70%, 100% { transform: rotate(45deg); }
}
.uen__painel { overflow: visible; }
.uen__lista {
  position: absolute;
  left: 0; right: 0;
  bottom: 100%;
  z-index: 3;
  margin-bottom: .6cqw;
  padding: .8cqw;
  display: grid;
  gap: .2cqw;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-strong);
  background: var(--bg-panel);
  box-shadow: 0 1cqw 3cqw rgb(21 24 27 / .16);
  transform-origin: bottom center;
  opacity: 0;
  animation: uenAbre var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes uenAbre {
  0%, 32%   { opacity: 0; transform: translateY(1cqw) scale(.98); }
  40%, 60%  { opacity: 1; transform: none; }
  68%, 100% { opacity: 0; transform: translateY(1cqw) scale(.98); }
}
.uen__lista i {
  display: block;
  padding: .8cqw 1.2cqw;
  border-radius: .4cqw;
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  font-style: normal;
  color: var(--text-muted);
  white-space: nowrap;
}
.uen__opcao--esc {
  color: var(--text);
  animation: uenEscolhe var(--anim-entrada) linear 1 both;
}
@keyframes uenEscolhe {
  0%, 48%   { background: rgb(0 0 0 / 0); }
  54%, 100% { background: var(--tinta-laranja); }
}
.uen__campo--qtd { grid-template-columns: 1fr auto; align-items: center; }
.uen__qtd {
  grid-column: 2;
  min-width: 7cqw;
  padding: .8cqw 1.6cqw;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-strong);
  background: var(--bg);
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  color: var(--text);
  text-align: center;
}
.uen__campo--qtd .uen__rot { grid-column: 1; grid-row: 1; }
.uen__acao { position: relative; justify-self: start; margin-top: .8cqw; }
.uen__botao {
  display: inline-block;
  padding: 1.2cqw 2.6cqw;
  border-radius: var(--r-btn);
  background: var(--accent);
  color: var(--text-invertido);
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  font-weight: var(--w-heading);
  white-space: nowrap;
  animation: uenCarrega var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes uenCarrega {
  0%, 80%   { transform: none; }
  85%       { transform: scale(.94); }
  91%, 100% { transform: none; }
}
.uen__cursor {
  position: absolute;
  left: calc(100% - 1.4cqw);
  top: calc(100% - 2cqw);
  width: 3.6cqw; min-width: 11px;
  height: 3.6cqw; min-height: 11px;
  background: var(--text-muted);
  clip-path: polygon(0 0, 0 78%, 22% 60%, 38% 96%, 56% 88%, 40% 53%, 68% 50%);
  filter: drop-shadow(0 .3cqw .5cqw rgb(21 24 27 / .3));
  opacity: 0;
  animation: uenCursor var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes uenCursor {
  0%, 70%   { opacity: 0; transform: translate(4cqw, 5cqw); }
  80%, 94%  { opacity: 1; transform: none; }
  100%      { opacity: 0; transform: translate(4cqw, 5cqw); }
}
.uma__painel {
  position: relative;
  padding: 2.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.uma__palco { position: relative; }
.uma__mapa { display: block; width: 100%; height: auto; }
.uma__mapa path { vector-effect: non-scaling-stroke; }
.uma__vizinhos path {
  fill: var(--bg);
  stroke: var(--line-strong);
  stroke-width: 1;
  stroke-linejoin: round;
}
.uma__c {
  fill: var(--tinta-lima);
  stroke: var(--tinta-lima-forte);
  stroke-width: 1.6;
  stroke-linejoin: round;
}
.uma__alvo {
  animation: umaAlvo var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
.uma__f {
  fill: rgb(0 0 0 / 0);
  stroke: var(--tinta-lima-forte);
  stroke-width: .9;
  stroke-linejoin: round;
  opacity: 0;
  animation: var(--uma-freg, none) var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
.uma__cursor {
  position: absolute;
  width: 3.6cqw; min-width: 11px;
  height: 3.6cqw; min-height: 11px;
  background: var(--text-muted);
  clip-path: polygon(0 0, 0 78%, 22% 60%, 38% 96%, 56% 88%, 40% 53%, 68% 50%);
  filter: drop-shadow(0 .3cqw .5cqw rgb(21 24 27 / .3))
          drop-shadow(0 0 .35cqw rgb(250 250 248 / .9));
  opacity: 0;
  animation: umaCursor var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
.ufo__painel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 3cqw 2cqw;
}
.ufo__fonte {
  display: grid;
  gap: .8cqw;
  align-content: start;
  padding: 2cqw;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: var(--bg-panel);
  box-shadow: 0 .4cqw 1.6cqw rgb(21 24 27 / .06);
}
.ufo__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 1.7cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: .4cqw;
}
.ufo__linha {
  font-family: var(--font-display);
  font-size: max(10px, 1.9cqw);
  color: var(--text);
  padding: .5cqw .8cqw;
  border-radius: .4cqw;
  white-space: nowrap;
  opacity: 0;
  animation: ufoLinha var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .026);
}
@keyframes ufoLinha {
  0%, 4%    { opacity: 0; transform: translateY(.8cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
.ufo__linha--nova {
  background: var(--tinta-laranja);
  border: 1px solid var(--tinta-laranja-borda);
  animation-name: ufoNova;
  animation-delay: 0s;
}
@keyframes ufoNova {
  0%, 40%   { opacity: 0; transform: translateY(1.4cqw); }
  52%, 100% { opacity: 1; transform: none; }
}
.ufo__ponte {
  flex: none;
  width: 8cqw; min-width: 22px;
  height: 2px;
  background: repeating-linear-gradient(to right,
    var(--text-dim) 0 5px, rgb(0 0 0 / 0) 5px 11px);
  animation: ufoPonte var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--atraso, 0));
}
@keyframes ufoPonte {
  0%, 20%   { clip-path: inset(0 100% 0 0); }
  32%, 100% { clip-path: inset(0 0 0 0); }
}
.ufo__leem { display: grid; gap: 2.4cqw; }
.ufo__par { display: flex; align-items: center; }
.ufo__par .ufo__caixa { flex: 1; min-width: 0; }
.ufo__caixa {
  display: grid;
  gap: .8cqw;
  padding: 1.6cqw;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: var(--bg-panel);
  box-shadow: 0 .4cqw 1.6cqw rgb(21 24 27 / .06);
}
.ufo__forma { display: flex; gap: .8cqw; }
.ufo__forma i {
  flex: 1;
  height: 5cqw; min-height: 16px;
  border-radius: .4cqw;
  border: 1px solid var(--line-strong);
  background: var(--bg);
}
.ufo__campo { display: grid; gap: .6cqw; }
.ufo__campo i {
  height: 2.2cqw; min-height: 7px;
  border-radius: .3cqw;
  border: 1px solid var(--line-strong);
  background: var(--bg);
}
.ufo__acende {
  animation: ufoAcende var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
}
@keyframes ufoAcende {
  0%, 56%   { background: var(--bg); border-color: var(--line-strong); }
  66%, 100% { background: var(--tinta-laranja); border-color: var(--tinta-laranja-borda); }
}
@container (max-width: 460px) {
  .ufo__painel { padding: 2.4cqw 1cqw; }
  .ufo__ponte { width: 5cqw; min-width: 14px; }
  .ufo__fonte { padding: 1.6cqw 1.2cqw; }
  .ufo__caixa { padding: 1.2cqw; }
}
.upl, .utp, .ues, .uvz, .upb {
  background: transparent;
  border-radius: 0;
  overflow: visible;
}
.upl__tira {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}
.upl__cor {
  display: grid;
  opacity: 0;
  animation: uplEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .035);
}
.upl__cor::before {
  content: '';
  display: block;
  height: 9cqw;
  min-height: 44px;
  background: var(--c);
}
.upl__cor i {
  font-family: var(--font-mono);
  font-size: max(10px, 1.5cqw);
  font-style: normal;
  color: var(--text-dim);
  text-align: center;
  padding: 1.4cqw .4cqw;
  border-top: 1px solid var(--line);
  background: var(--bg-panel);
}
@keyframes uplEntra {
  0%, 6%    { opacity: 0; transform: translateY(1.2cqw); }
  18%, 100% { opacity: 1; transform: none; }
}
.utp__painel {
  display: grid;
  gap: 3cqw;
  padding: 4cqw 3.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.utp__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 1.7cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.utp__linha {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2cqw;
  opacity: 0;
  animation: utpEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .04);
}
.utp__linha b {
  font-family: var(--font-display);
  font-size: max(11px, var(--t));
  font-weight: var(--p);
  color: var(--text);
  white-space: nowrap;
  min-width: 0;
}
.utp__linha i {
  flex: none;
  font-family: var(--font-mono);
  font-size: max(10px, 1.6cqw);
  font-style: normal;
  color: var(--text-dim);
  letter-spacing: normal;
}
@keyframes utpEntra {
  0%, 6%    { opacity: 0; letter-spacing: 0; }
  20%       { opacity: 1; letter-spacing: 0; }
  46%, 100% { opacity: 1; letter-spacing: var(--e); }
}
.ues__palco {
  position: relative;
  padding: 3.4cqw 0;
}
.ues__v {
  position: absolute;
  left: var(--x);
  top: 0; bottom: 0;
  width: 1px;
  background: var(--line-strong);
  transform-origin: top center;
  animation: uesRisca var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .03);
}
@keyframes uesRisca {
  0%, 4%    { transform: scaleY(0); }
  22%, 100% { transform: scaleY(1); }
}
.ues__grelha {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4cqw 0;
}
.ues__caixa { padding-right: 3cqw; }
.ues__caixa:nth-child(3n) { padding-right: 0; }
.ues__caixa {
  display: grid;
  gap: .8cqw;
  opacity: 0;
  animation: uesAssenta var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.3 + var(--k, 0) * .028));
}
@keyframes uesAssenta {
  0%, 4%    { opacity: 0; transform: translateY(1.6cqw); }
  16%, 100% { opacity: 1; transform: none; }
}
.ues__foto {
  display: block;
  background: var(--line);
  border: 1px solid var(--line-strong);
}
.ues__foto--32 { aspect-ratio: 3 / 2; }
.ues__foto--43 { aspect-ratio: 4 / 3; }
.ues__caixa b {
  justify-self: start;
  position: relative;
  z-index: 1;
  padding-right: 1.2cqw;
  background: var(--bg-raised);
  font-family: var(--font-mono);
  font-size: max(10px, 1.5cqw);
  font-weight: 400;
  color: var(--text-dim);
}
.uvz__folha {
  display: grid;
  gap: 0;
  padding: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.uvz__meio {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 2.4cqw;
}
.uvz__cota {
  position: relative;
  display: block;
  color: var(--text-dim);
  animation: uvzCota var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
.uvz__cota::before,
.uvz__cota::after {
  content: '';
  position: absolute;
  background: var(--line-strong);
}
.uvz__cota--cima,
.uvz__cota--baixo {
  height: 7cqw;
  min-height: 26px;
  border-left: 1px solid var(--line-strong);
  border-right: 1px solid var(--line-strong);
  margin: 0 auto;
  width: 36%;
}
.uvz__cota--cima::before,
.uvz__cota--baixo::before {
  left: 0; right: 0; top: 50%;
  height: 1px;
}
.uvz__cota--cima i,
.uvz__cota--baixo i {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  padding: 0 1.2cqw;
  background: var(--bg-panel);
  font-family: var(--font-mono);
  font-size: max(10px, 1.5cqw);
  font-style: normal;
  color: var(--text-dim);
  white-space: nowrap;
}
.uvz__cota--esq,
.uvz__cota--dir {
  width: 9cqw;
  min-width: 30px;
  height: 7cqw;
  min-height: 26px;
  border-left: 1px solid var(--line-strong);
  border-right: 1px solid var(--line-strong);
}
.uvz__cota--esq::before,
.uvz__cota--dir::before {
  left: 0; right: 0; top: 50%;
  height: 1px;
}
@keyframes uvzCota {
  0%, 30%   { opacity: 0; transform: scale(.7); }
  46%, 100% { opacity: 1; transform: none; }
}
.uvz__conteudo {
  display: grid;
  gap: 1.6cqw;
  justify-items: center;
  text-align: center;
  padding: 4cqw 0;
  animation: uvzEncolhe var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
@keyframes uvzEncolhe {
  0%, 10%   { transform: scale(1.14); }
  46%, 100% { transform: scale(1); }
}
.uvz__tit {
  font-family: var(--font-display);
  font-size: max(12px, 3.4cqw);
  font-weight: 300;
  letter-spacing: .18em;
  line-height: 1.35;
  color: var(--text);
  text-transform: uppercase;
}
.uvz__leg {
  font-family: var(--font-mono);
  font-size: max(10px, 1.6cqw);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.upb__janela {
  overflow: hidden;
  padding: 3cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.upb__fila {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 7.2cqw) / 4);
  gap: 2.4cqw;
  animation: upbChega var(--anim-dur) cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes upbChega {
  0%, 34%   { transform: translateX(calc(0px - (100% - 7.2cqw) / 4 - 2.4cqw)); }
  56%, 100% { transform: translateX(0); }
}
.upb__peca, .upb__nova {
  min-width: 0;
  display: grid;
  gap: .8cqw;
  align-content: start;
}
.upb__peca i, .upb__nova i {
  display: block;
  aspect-ratio: 3 / 2;
  background: var(--line);
  border: 1px solid var(--line-strong);
}
.upb__nova b {
  font-family: var(--font-mono);
  font-size: max(10px, 1.5cqw);
  font-weight: 400;
  color: var(--text-dim);
  opacity: 0;
  animation: upbCota var(--anim-dur) linear infinite;
}
@keyframes upbCota {
  0%, 50%   { opacity: 0; }
  62%, 100% { opacity: 1; }
}
@container (max-width: 460px) {
  .upl__cor i { font-size: 10px; padding: 1.2cqw .2cqw; letter-spacing: -.02em; }
  .utp__painel { padding: 3cqw 2.4cqw; gap: 2.4cqw; }
  .utp__linha { flex-direction: column; align-items: flex-start; gap: .4cqw; }
  .ues__grelha { gap: 1.6cqw; padding: 0 1.6cqw; }
  .uvz__folha { padding: 2cqw; }
  .uvz__meio { gap: 1.2cqw; }
  .uvz__cota--esq, .uvz__cota--dir { width: 5cqw; min-width: 16px; }
}
.ucu {
  --anim-parada: calc(var(--anim-dur) * -.9);
}
.ucu__painel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s6);
  align-items: end;
  padding: 4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
}
.ucu__lado {
  display: grid;
  gap: 2cqw;
  align-content: end;
}
.ucu__rot, .ucu__fim {
  font-family: var(--font-display);
  font-size: max(10px, 2.2cqw);
  line-height: 1.25;
}
.ucu__rot {
  font-weight: var(--w-heading);
  color: var(--text);
}
.ucu__fim {
  font-weight: 400;
  color: var(--text-muted);
  opacity: 0;
  animation: ucuFim var(--anim-entrada) linear 1 both;
}
.ucu__equipa {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 2.4cqw));
  justify-content: start;
  gap: .9cqw;
}
.ucu__p {
  display: block;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--tinta-lima-borda);
  opacity: 0;
  animation: ucuEntra var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k, 0) * .045);
}
.ucu__grafico {
  display: flex;
  align-items: flex-end;
  height: 32cqw;
  min-height: 110px;
  border-bottom: 1px solid var(--line-strong);
}
.ucu__barra {
  display: block;
  width: 100%;
  border-radius: var(--r-sm) var(--r-sm) 0 0;
  transform-origin: bottom;
}
.ucu__barra--sobe {
  height: 100%;
  
  background: var(--line-strong);
  animation: ucuSobe var(--anim-entrada) steps(1, end) 1 both;
}
.ucu__barra--fica {
  height: 100%;
  background: var(--tinta-lima);
  box-shadow: inset 0 0 0 1px var(--tinta-lima-borda);
  animation: ucuFica var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
}
@keyframes ucuEntra {
  0%, 4%   { opacity: 0; transform: scale(.4); }
  14%, 100% { opacity: 1; transform: none; }
}
@keyframes ucuSobe {
  0%, 14%     { transform: scaleY(.14); }
  18.5%       { transform: scaleY(.26); }
  23%         { transform: scaleY(.38); }
  27.5%       { transform: scaleY(.50); }
  32%         { transform: scaleY(.62); }
  36.5%       { transform: scaleY(.74); }
  41%         { transform: scaleY(.86); }
  45.5%, 100% { transform: scaleY(1); }
}
@keyframes ucuFica {
  0%, 4%    { transform: scaleY(0); }
  14%, 100% { transform: scaleY(.14); }
}
@keyframes ucuFim {
  0%, 50%   { opacity: 0; }
  60%, 100% { opacity: 1; }
}
@container (max-width: 30rem) {
  .ucu__painel { gap: var(--s4); }
  .ucu__equipa { grid-template-columns: repeat(4, minmax(0, 4.6cqw)); }
  .ucu__grafico { height: 38cqw; }
}
.uan, .upt { overflow: visible; }
.uan {
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
  display: grid;
  gap: var(--s5);
}
.uan__linha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2.4cqw 3cqw;
}
.uan__rot, .upt__rot {
  font-family: var(--font-display);
  font-size: max(11px, 3.4cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uan__resp, .upt__usa {
  font-family: var(--font-mono);
  font-size: max(10px, 2.6cqw);
  letter-spacing: .04em;
  padding: .8cqw 2.2cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  color: var(--text);
  white-space: nowrap;
}
.uan__resp {
  opacity: 0;
  animation: uanResp var(--anim-entrada) linear 1 both;
}
.uan__ano {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-end;
  gap: .5cqw;
  height: 9cqw;
  min-height: 26px;
}
.uan__s {
  flex: 1;
  height: 100%;
  border-radius: 1px;
  background: var(--tinta-azul-borda);
  transform: scaleY(.34);
  transform-origin: bottom;
  opacity: 0;
  animation: uanSemana var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--w) * .0105);
}
.uan__s--mexe {
  background: var(--tinta-azul-forte);
  animation-name: uanMexe;
}
.uan__eixo {
  display: flex;
  justify-content: space-between;
  margin-top: -2cqw;
  font-family: var(--font-mono);
  font-size: max(10px, 2.4cqw);
  letter-spacing: .04em;
  color: var(--text-muted);
}
@keyframes uanSemana {
  0%, 1%    { opacity: 0; }
  6%, 100%  { opacity: 1; }
}
@keyframes uanMexe {
  0%, 1%    { opacity: 0; transform: scaleY(.2); }
  7%, 100%  { opacity: 1; transform: scaleY(1); }
}
@keyframes uanResp {
  0%, 52%   { opacity: 0; }
  59%, 100% { opacity: 1; }
}
.upt {
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
  display: grid;
  gap: var(--s3);
}
.upt__estante {
  display: grid;
  gap: 2.6cqw;
  padding: 3.4cqw;
  border: 1.5px solid var(--tinta-lima-forte);
  border-radius: var(--r-md);
}
.upt__prat {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) auto;
  align-items: center;
  gap: 2cqw;
  padding-bottom: 2.6cqw;
  border-bottom: 1px solid var(--tinta-lima-borda);
}
.upt__prat:last-child { padding-bottom: 0; border-bottom: 0; }
.upt__item {
  display: block;
  aspect-ratio: 1.3;
  border-radius: var(--r-sm);
  border: 1.5px solid var(--tinta-lima-borda);
  background: transparent;
  opacity: 0;
  animation: uptChega var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--k) * .025);
}
.upt__prat--usada .upt__item {
  animation-name: uptUsa;
}
.upt__usa {
  justify-self: start;
  opacity: 0;
  animation: uptEtiqueta var(--anim-entrada) linear 1 both;
}
@keyframes uptChega {
  0%, 1%    { opacity: 0; }
  7%, 100%  { opacity: 1; }
}
@keyframes uptUsa {
  0%, 1%    { opacity: 0; background: transparent; border-color: var(--tinta-lima-borda); }
  7%, 40%   { opacity: 1; background: transparent; border-color: var(--tinta-lima-borda); }
  48%, 100% { opacity: 1; background: var(--tinta-lima); border-color: var(--tinta-lima-forte); }
}
@keyframes uptEtiqueta {
  0%, 50%   { opacity: 0; }
  58%, 100% { opacity: 1; }
}
@container (max-width: 26rem) {
  .upt__prat { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .upt__usa { grid-column: 1 / -1; }
}
.upa {
  display: grid;
  gap: var(--s3);
  padding: var(--s6) var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  position: relative;
}
.upa::before {
  content: '';
  position: absolute;
  top: var(--s7);
  bottom: var(--s7);
  left: calc(var(--s5) + 1px + 3.4cqw + max(9px, 2.6cqw) / 2 - 1px);
  width: 2px;
  background: var(--line-strong);
}
.upa__passo, .upa__caixa-ia { position: relative; }
.upa__passo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 3cqw;
  padding: 3cqw 3.4cqw;
  border-radius: var(--r-sm);
  background: var(--bg);
  border: 1px solid var(--line);
  opacity: 0;
  animation: upaChega var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i) * .1);
}
.upa__no {
  display: block;
  width: 2.6cqw;
  min-width: 9px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 2px solid var(--text);
  background: var(--bg-panel);
}
.upa__nome {
  font-family: var(--font-display);
  font-size: max(11px, 3.6cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.upa__quem {
  font-family: var(--font-mono);
  font-size: max(10px, 2.8cqw);
  letter-spacing: .04em;
  padding: .7cqw 2.2cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  color: var(--text-muted);
  white-space: nowrap;
}
.upa__passo--ia .upa__no { background: var(--text); }
.upa__passo--ia .upa__quem {
  background: var(--realce);
  border-color: var(--realce);
  color: var(--text);
}
.upa__caixa-ia {
  display: grid;
  gap: 1.6cqw;
  padding: 2cqw;
  margin-inline: -2cqw;
  border-radius: var(--r-md);
  outline: 1.5px dashed transparent;
  animation: upaContorno var(--anim-entrada) linear 1 both;
}
.upa__nota {
  justify-self: end;
  font-family: var(--font-display);
  font-size: max(10px, 2.8cqw);
  color: var(--text-muted);
  opacity: 0;
  animation: upaNota var(--anim-entrada) linear 1 both;
}
@keyframes upaChega {
  0%, 2%    { opacity: 0; transform: translateY(1.4cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
@keyframes upaContorno {
  0%, 44%   { outline-color: transparent; }
  52%, 100% { outline-color: var(--text-dim); }
}
@keyframes upaNota {
  0%, 50%   { opacity: 0; }
  58%, 100% { opacity: 1; }
}
.uft {
  background: transparent;
  border-radius: 0;
  overflow: visible;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s2);
  --anim-parada: calc(var(--anim-dur) * -.9);
}
.uft { max-width: 34rem; margin-inline: auto; }
.uft__app {
  width: 80%;
  display: grid;
  gap: 2.4cqw;
  align-content: start;
  padding: 3.4cqw;
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .07);
  opacity: 0;
  animation: uftApp var(--anim-dur) cubic-bezier(.22, 1, .36, 1) 1 both;
}
.uft__app:first-child { justify-self: start; }
.uft__app + .uft__liga + .uft__app {
  justify-self: end;
  animation-delay: calc(var(--anim-dur) * .03);
}
.uft__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 2.2cqw);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.uft__reg {
  display: grid;
  gap: 1.4cqw;
  padding: 2.4cqw;
  border-radius: var(--r-sm);
  background: var(--bg-raised);
}
.uft__nome {
  font-family: var(--font-display);
  font-size: max(11px, 3cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uft__estado { display: grid; justify-items: start; }
.uft__est {
  grid-area: 1 / 1;
  font-style: normal;
  font-family: var(--font-mono);
  font-size: max(10px, 2.2cqw);
  letter-spacing: .04em;
  padding: .5cqw 1.8cqw;
  border-radius: 99px;
  white-space: nowrap;
}
.uft__est--enviado {
  border: 1px solid var(--line-strong);
  color: var(--text-muted);
  animation: uftEnviado var(--anim-dur) linear 1 both;
}
.uft__est--aprovado {
  background: var(--realce);
  color: var(--text);
  opacity: 0;
  animation: uftAprovado var(--anim-dur) linear 1 both;
}
.uft__linha, .uft__campo i {
  display: block;
  width: var(--w, 70%);
  height: 1.8cqw;
  min-height: 6px;
  border-radius: 99px;
  background: var(--line);
}
.uft__liga {
  position: relative;
  justify-self: center;
  width: 2px;
  height: 9cqw;
  min-height: 28px;
  background: repeating-linear-gradient(180deg, var(--line-strong) 0 5px, transparent 5px 9px);
}
.uft__ponto {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1.8cqw;
  min-width: 7px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--text);
  translate: -50% -50%;
  opacity: 0;
  animation: uftPonto var(--anim-dur) cubic-bezier(.4, 0, .2, 1) 1 both;
}
.uft__doc {
  display: grid;
  gap: 1.8cqw;
  padding: 2.4cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
}
.uft__doc-tit {
  font-family: var(--font-display);
  font-size: max(11px, 3cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uft__campo {
  display: grid;
  grid-template-columns: 14cqw minmax(0, 1fr);
  align-items: center;
  gap: 1.6cqw;
  font-family: var(--font-mono);
  font-size: max(10px, 2cqw);
  color: var(--text-muted);
}
.uft__campo i {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--line);
  animation: uftCampo var(--anim-dur) linear 1 both;
  animation-delay: calc(var(--anim-dur) * var(--i) * .06);
}
.uft__selo {
  justify-self: start;
  font-family: var(--font-mono);
  font-size: max(10px, 2.2cqw);
  letter-spacing: .04em;
  padding: .5cqw 1.8cqw;
  border-radius: 99px;
  background: var(--text);
  color: var(--text-invertido);
  opacity: 0;
  animation: uftSelo var(--anim-dur) linear 1 both;
}
@keyframes uftApp {
  0%, 1%    { opacity: 0; transform: translateY(1.4cqw); }
  10%, 100% { opacity: 1; transform: none; }
}
@keyframes uftEnviado {
  0%, 20%   { opacity: 1; }
  24%, 100% { opacity: 0; }
}
@keyframes uftAprovado {
  0%, 20%   { opacity: 0; }
  24%, 100% { opacity: 1; }
}
@keyframes uftPonto {
  0%, 26%   { top: 0; opacity: 0; }
  28%       { top: 0; opacity: 1; }
  34%       { top: 100%; opacity: 1; }
  36%, 100% { top: 100%; opacity: 0; }
}
@keyframes uftCampo {
  0%, 38%   { background: transparent; }
  42%, 100% { background: var(--tinta-lima-borda); box-shadow: none; }
}
@keyframes uftSelo {
  0%, 56%   { opacity: 0; transform: scale(.9); }
  62%, 100% { opacity: 1; transform: none; }
}
.udg {
  display: grid;
  gap: var(--s4);
  max-width: 40rem;
  padding: var(--s6);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.udg__topo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 3cqw;
  padding-bottom: 2.6cqw;
  border-bottom: 1px solid var(--line);
}
.udg__rot {
  font-family: var(--font-display);
  font-size: max(14px, 4.6cqw);
  font-weight: var(--w-heading);
  letter-spacing: -.01em;
  color: var(--text);
}
.udg__prazo, .udg__sub {
  font-family: var(--font-mono);
  font-size: max(10px, 2.4cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.udg__temas { display: flex; flex-wrap: wrap; gap: 1.4cqw; }
.udg__tema {
  font-style: normal;
  font-family: var(--font-display);
  font-size: max(10px, 2.6cqw);
  padding: .9cqw 2.2cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  color: var(--text-muted);
  white-space: nowrap;
}
.udg__tema--ativo {
  background: var(--text);
  border-color: var(--text);
  color: var(--text-invertido);
}
.udg__sub { margin-top: 1.4cqw; }
.udg__lista { display: grid; }
.udg__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 3.4cqw;
  padding-block: 3cqw;
  border-top: 1px solid var(--line);
  opacity: 0;
  animation: udgItem var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.08 + var(--i) * .1));
}
.udg__n {
  font-family: var(--font-display);
  font-size: max(16px, 6cqw);
  font-weight: var(--w-display);
  line-height: 1;
  color: var(--text);
  min-width: 1.2ch;
}
.udg__texto { display: grid; gap: 1.6cqw; }
.udg__linha {
  display: block;
  width: var(--w, 70%);
  height: 1.8cqw;
  min-height: 6px;
  border-radius: 99px;
  background: var(--line);
}
.udg__linha--tit { height: 2.6cqw; min-height: 9px; background: var(--line-strong); }
.udg__valor { display: flex; gap: .9cqw; }
.udg__p {
  display: block;
  width: 1.8cqw;
  min-width: 6px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1.5px solid var(--line-strong);
}
.udg__p--cheio { background: var(--text); border-color: var(--text); }
.udg__fim {
  padding-top: 3cqw;
  border-top: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: max(12px, 3.4cqw);
  color: var(--text);
  opacity: 0;
  animation: udgFim var(--anim-entrada) linear 1 both;
}
@keyframes udgItem {
  0%, 2%    { opacity: 0; transform: translateY(1.6cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
@keyframes udgFim {
  0%, 46%   { opacity: 0; }
  56%, 100% { opacity: 1; }
}
.usq {
  display: grid;
  gap: var(--s3);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.usq__cab, .usq__corpo {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.usq__quem {
  justify-self: center;
  font-family: var(--font-display);
  font-size: max(11px, 3.2cqw);
  font-weight: var(--w-heading);
  color: var(--text);
  padding: .8cqw 2.4cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  white-space: nowrap;
}
.usq__corpo {
  grid-auto-rows: auto;
  row-gap: 3.4cqw;
  padding-block: 3cqw 1cqw;
  position: relative;
}
.usq__vida {
  justify-self: center;
  width: 0;
  border-left: 1.5px dashed var(--line-strong);
}
.usq__msg {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: .6cqw;
  padding-bottom: 1.6cqw;
  margin-inline: calc(50% / var(--span));
  opacity: 0;
  animation: usqMsg var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.06 + var(--i) * .08));
}
.usq__txt {
  font-family: var(--font-display);
  font-size: max(10px, 2.9cqw);
  color: var(--text);
  text-align: center;
  line-height: 1.25;
  padding-inline: 1cqw;
  background: var(--bg-panel);
}
.usq__nota {
  font-family: var(--font-mono);
  font-size: max(10px, 2.3cqw);
  letter-spacing: .03em;
  padding: .3cqw 1.4cqw;
  border-radius: 99px;
  background: var(--realce);
  color: var(--text);
  white-space: nowrap;
}
.usq__seta {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1.5px;
  background: var(--text);
}
.usq__seta::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 1.8cqw; min-width: 6px;
  aspect-ratio: 1;
  border-top: 1.5px solid var(--text);
  border-right: 1.5px solid var(--text);
}
.usq__msg--dir .usq__seta::after { right: 0; transform: translate(-1px, -50%) rotate(45deg); }
.usq__msg--esq .usq__seta::after { left: 0; transform: translate(1px, -50%) rotate(-135deg); }
@keyframes usqMsg {
  0%, 2%    { opacity: 0; transform: translateY(1.4cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
.ureg {
  display: grid;
  gap: var(--s4);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.ureg__tit {
  font-family: var(--font-mono);
  font-size: max(10px, 2.6cqw);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.ureg__lista {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
}
.ureg__linha {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-columns: subgrid;
  grid-template-areas: "quando empresa estado" "quando por estado";
  align-items: center;
  column-gap: 3cqw;
  row-gap: .4cqw;
  padding-block: 2.8cqw;
  border-top: 1px solid var(--line);
  opacity: 0;
  animation: uregLinha var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * (.06 + var(--i) * .12));
}
.ureg__quando {
  grid-area: quando;
  font-family: var(--font-mono);
  font-size: max(10px, 2.3cqw);
  letter-spacing: .04em;
  color: var(--text-dim);
}
.ureg__empresa {
  grid-area: empresa;
  font-family: var(--font-display);
  font-size: max(11px, 3.4cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.ureg__por {
  grid-area: por;
  font-family: var(--font-display);
  font-size: max(10px, 2.6cqw);
  color: var(--text-muted);
}
.ureg__estado {
  grid-area: estado;
  font-style: normal;
  font-family: var(--font-mono);
  font-size: max(10px, 2.4cqw);
  letter-spacing: .03em;
  padding: .6cqw 2cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  color: var(--text-muted);
  white-space: nowrap;
}
.ureg__estado--vale {
  background: var(--realce);
  border-color: var(--realce);
  color: var(--text);
}
.ureg__linha:not(:first-child) .ureg__empresa {
  text-decoration-line: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: transparent;
  animation: uregRisca var(--anim-entrada) linear 1 both;
}
.ureg__nota {
  font-family: var(--font-display);
  font-size: max(11px, 3cqw);
  color: var(--text);
  opacity: 0;
  animation: uregNota var(--anim-entrada) linear 1 both;
}
@keyframes uregLinha {
  0%, 2%    { opacity: 0; transform: translateY(1.4cqw); }
  14%, 100% { opacity: 1; transform: none; }
}
@keyframes uregRisca {
  0%, 40%   { text-decoration-color: transparent; }
  48%, 100% { text-decoration-color: var(--text-dim); }
}
@keyframes uregNota {
  0%, 48%   { opacity: 0; }
  58%, 100% { opacity: 1; }
}
.uld {
  display: grid;
  gap: var(--s3);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  --anim-parada: calc(var(--anim-dur) * -.8);
}
.uld__gravada {
  display: flex;
  align-items: center;
  gap: 2cqw;
  font-family: var(--font-mono);
  font-size: max(10px, 2.4cqw);
  letter-spacing: .02em;
  color: var(--text-muted);
  animation: uldGravada var(--anim-dur) linear infinite;
}
.uld__marca {
  width: 1.8cqw; min-width: 7px;
  aspect-ratio: 1;
  border-radius: 2px;
  background: var(--text);
}
.uld__cartao {
  position: relative;
  display: grid;
  gap: 2cqw;
  padding: 3.4cqw;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--bg);
  box-shadow: 0 .6cqw 2.4cqw rgb(21 24 27 / .08);
  animation: uldCartao var(--anim-dur) cubic-bezier(.22, 1, .36, 1) infinite;
}
.uld__topo {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 2.4cqw;
}
.uld__rot {
  font-family: var(--font-display);
  font-size: max(11px, 3.4cqw);
  font-weight: var(--w-heading);
  color: var(--text);
}
.uld__tipo {
  font-family: var(--font-mono);
  font-size: max(10px, 2.3cqw);
  letter-spacing: .04em;
  color: var(--text-dim);
}
.uld__toque {
  position: absolute;
  right: 0;
  top: 50%;
  width: 3cqw; min-width: 10px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1.5px solid var(--text-dim);
  translate: 0 -50%;
  opacity: 0;
  animation: uldToque var(--anim-dur) ease-out infinite;
}
.uld__toque--alto {
  border-width: 2.5px;
  border-color: var(--text);
  animation-name: uldToqueAlto;
}
.uld__linha {
  display: block;
  width: var(--w, 60%);
  height: 1.8cqw;
  min-height: 6px;
  border-radius: 99px;
  background: var(--line);
}
.uld__botoes { display: flex; gap: 1.6cqw; margin-top: .6cqw; }
.uld__botao {
  font-style: normal;
  font-family: var(--font-display);
  font-size: max(10px, 2.6cqw);
  font-weight: var(--w-heading);
  padding: 1cqw 3cqw;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-strong);
  color: var(--text);
}
.uld__botao--assumir {
  background: var(--text);
  border-color: var(--text);
  color: var(--text-invertido);
  animation: uldCarrega var(--anim-dur) linear infinite;
}
.uld__fim { display: grid; align-items: center; }
.uld__outra, .uld__assumida {
  grid-area: 1 / 1;
  font-family: var(--font-display);
  font-size: max(10px, 2.6cqw);
}
.uld__outra { color: var(--text-muted); animation: uldOutra var(--anim-dur) linear infinite; }
.uld__assumida {
  justify-self: start;
  font-family: var(--font-mono);
  letter-spacing: .03em;
  padding: .6cqw 2cqw;
  border-radius: 99px;
  background: var(--realce);
  color: var(--text);
  animation: uldAssumida var(--anim-dur) linear infinite;
}
@keyframes uldGravada {
  0%        { opacity: 0; }
  6%, 90%   { opacity: 1; }
  97%, 100% { opacity: 0; }
}
@keyframes uldCartao {
  0%, 8%    { opacity: 0; transform: translateY(1.6cqw); }
  14%, 90%  { opacity: 1; transform: none; }
  97%, 100% { opacity: 0; transform: none; }
}
@keyframes uldToque {
  0%, 16%   { opacity: 0; transform: scale(.6); }
  18%       { opacity: 1; transform: scale(.8); }
  28%, 100% { opacity: 0; transform: scale(2.2); }
}
@keyframes uldToqueAlto {
  0%, 38%   { opacity: 0; transform: scale(.6); }
  40%       { opacity: 1; transform: scale(.9); }
  50%, 100% { opacity: 0; transform: scale(3.2); }
}
@keyframes uldOutra {
  0%, 38%   { opacity: 0; }
  42%, 58%  { opacity: 1; }
  62%, 100% { opacity: 0; }
}
@keyframes uldCarrega {
  0%, 60%   { transform: none; filter: none; }
  62%       { transform: translateY(.3cqw) scale(.96); filter: brightness(1.6); }
  65%, 100% { transform: none; filter: none; }
}
@keyframes uldAssumida {
  0%, 64%   { opacity: 0; transform: translateY(1cqw); }
  68%, 90%  { opacity: 1; transform: none; }
  97%, 100% { opacity: 0; transform: none; }
}
.uhr {
  display: grid;
  gap: var(--s3);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.uhr__rot {
  font-family: var(--font-mono);
  font-size: max(10px, 2.6cqw);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.uhr__ano {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, 1fr);
  grid-auto-columns: minmax(0, 1fr);
  gap: .9cqw;
}
.uhr__d {
  display: block;
  aspect-ratio: 1;
  border-radius: 1px;
  background: var(--line);
  animation: uhrDia var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--w) * .011);
}
.uhr__eixo {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: max(10px, 2.3cqw);
  letter-spacing: .04em;
  color: var(--text-muted);
}
.uhr__total {
  justify-self: start;
  margin-top: 1cqw;
  font-family: var(--font-display);
  font-size: max(15px, 5.4cqw);
  font-weight: var(--w-heading);
  letter-spacing: -.02em;
  line-height: 1.1;
  color: var(--text);
  background: linear-gradient(var(--realce), var(--realce)) no-repeat 0 100% / 0% 42%;
  animation: uhrTotal var(--anim-entrada) linear 1 both;
}
@keyframes uhrDia {
  0%, 1%    { background: var(--line); }
  6%, 100%  { background: var(--text-muted); }
}
@keyframes uhrTotal {
  0%, 48%   { opacity: 0; background-size: 0% 42%; }
  52%       { opacity: 1; background-size: 0% 42%; }
  58%, 100% { opacity: 1; background-size: 100% 42%; }
}
.ucd {
  display: grid;
  gap: var(--s3);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.ucd__tit {
  font-family: var(--font-mono);
  font-size: max(10px, 2.6cqw);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.ucd__lista {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}
.ucd__msg {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-columns: subgrid;
  grid-template-areas: "de resp" "assunto resp";
  align-items: center;
  column-gap: 3cqw;
  row-gap: 1cqw;
  padding-block: 2.8cqw;
  border-top: 1px solid var(--line);
  opacity: 0;
  animation: ucdMsg var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i) * .06);
}
.ucd__de {
  grid-area: de;
  display: block;
  width: var(--w, 50%);
  height: 2cqw;
  min-height: 7px;
  border-radius: 99px;
  background: var(--line-strong);
}
.ucd__assunto {
  grid-area: assunto;
  font-family: var(--font-display);
  font-size: max(10px, 2.9cqw);
  color: var(--text);
}
.ucd__resp {
  grid-area: resp;
  justify-self: end;
  font-style: normal;
  font-family: var(--font-mono);
  font-size: max(10px, 2.3cqw);
  letter-spacing: .03em;
  padding: .6cqw 2cqw;
  border-radius: 99px;
  border: 1px solid var(--line-strong);
  color: var(--text-muted);
  white-space: nowrap;
  opacity: 0;
  animation: ucdResp var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i) * .06);
}
.ucd__nota {
  font-family: var(--font-display);
  font-size: max(11px, 3cqw);
  color: var(--text);
  opacity: 0;
  animation: ucdNota var(--anim-entrada) linear 1 both;
}
@keyframes ucdMsg {
  0%, 2%    { opacity: 0; transform: translateY(1.4cqw); }
  12%, 100% { opacity: 1; transform: none; }
}
@keyframes ucdResp {
  0%, 36%   { opacity: 0; transform: translateX(1.4cqw); }
  44%, 100% { opacity: 1; transform: none; }
}
@keyframes ucdNota {
  0%, 66%   { opacity: 0; }
  74%, 100% { opacity: 1; }
}
.ucb {
  display: grid;
  gap: var(--s4);
  padding: var(--s5);
  background: var(--bg-panel);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
}
.ucb__grelha {
  display: grid;
  grid-template-columns: auto repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 1.6cqw 2cqw;
}
.ucb__canto, .ucb__tarefa {
  font-family: var(--font-mono);
  font-size: max(10px, 2.1cqw);
  letter-spacing: .02em;
  line-height: 1.2;
  color: var(--text-dim);
  align-self: end;
  padding-bottom: 1cqw;
}
.ucb__tarefa {
  text-align: center;
  background: linear-gradient(var(--realce), var(--realce)) no-repeat 50% 100% / 0% 3px;
  animation: ucbTarefa var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--j) * .05);
}
.ucb__emp {
  font-family: var(--font-display);
  font-size: max(10px, 2.8cqw);
  color: var(--text);
  padding-right: 1cqw;
}
.ucb__c {
  display: block;
  justify-self: center;
  width: 100%;
  max-width: 9cqw;
  height: 4cqw;
  min-height: 12px;
  border-radius: var(--r-sm);
  background: var(--line-strong);
}
.ucb__grelha > .ucb__c {
  opacity: 0;
  animation: ucbLinha var(--anim-entrada) cubic-bezier(.22, 1, .36, 1) 1 both,
             ucbCelula var(--anim-entrada) linear 1 both;
  animation-delay: calc(var(--anim-entrada) * var(--i) * .05),
                   calc(var(--anim-entrada) * var(--j) * .05);
}
@keyframes ucbLinha {
  0%, 2%    { opacity: 0; transform: scaleX(.3); }
  12%, 100% { opacity: 1; transform: none; }
}
@keyframes ucbCelula {
  0%, 38%   { background: var(--line-strong); }
  44%, 100% { background: var(--text-muted); }
}
@keyframes ucbTarefa {
  0%, 38%   { background-size: 0% 3px; color: var(--text-dim); }
  44%, 100% { background-size: 100% 3px; color: var(--text); }
}
.ucb__legenda { display: flex; flex-wrap: wrap; gap: 1.6cqw 4cqw; }
.ucb__leg {
  display: flex;
  align-items: center;
  gap: 1.4cqw;
  font-family: var(--font-display);
  font-size: max(10px, 2.6cqw);
  color: var(--text-muted);
}
.ucb__leg .ucb__c { width: 4cqw; height: 2.6cqw; min-height: 9px; min-width: 14px; animation: none; }
.ucb__c--mao { background: var(--line-strong); }
.ucb__c--auto { background: var(--text-muted); }
@container (max-width: 26rem) {
  .ucb__tarefa {
    writing-mode: vertical-rl;
    rotate: 180deg;
    justify-self: center;
    text-align: start;
    padding-bottom: 0;
    padding-top: 1cqw;
    background: none;
  }
}
