/*!
 * Invasão Alien — camada visual sobre o Cassiopeia (Joomla 5)
 * Cores e fontes centralizadas em variáveis; as cores verde/roxa vêm do estilo do template.
 */

/* ---------- Fontes locais (OFL) ---------- */
@font-face { font-family: "Cairo"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/cairo-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Cairo"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/cairo-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Cairo"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/cairo-latin-800-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Semi Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/barlow-semi-condensed-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Semi Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow-semi-condensed-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Semi Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-semi-condensed-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Barlow Semi Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/barlow-semi-condensed-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Orbitron"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/orbitron-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Orbitron"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/orbitron-latin-900-normal.woff2") format("woff2"); }

/* ---------- Tokens ---------- */
:root {
  --uayso-green: #00e200;
  --uayso-purple: #772bb1;
  --uayso-purple-hover: color-mix(in srgb, var(--uayso-purple) 82%, #fff);
  --uayso-green-hover: color-mix(in srgb, var(--uayso-green) 85%, #fff);
  --uayso-black: #000;
  --uayso-dark: #000600;
  --uayso-dark-2: #081700;
  --uayso-text: #fff;
  --uayso-muted: rgba(255, 255, 255, .78);
  --uayso-header-bg: rgba(0, 24, 0, .57);
  --uayso-font-body: "Barlow Semi Condensed", "Bahnschrift", "Segoe UI", Arial, sans-serif;
  --uayso-font-ui: "Cairo", "Segoe UI", Arial, sans-serif;
  --uayso-font-title: "Robotinvaders", Arial, "Helvetica Neue", sans-serif;
  --uayso-font-display: "Robotinvaders", "Orbitron", "Arial Black", sans-serif;

  /* Layout — tudo fluido entre 390px (celular) e 1440px (desktop), via viewport */
  --uayso-container: 1140px;      /* largura do conteúdo (igual ao site atual) */
  --uayso-container-wide: 1440px; /* faixas largas */
  --uayso-gutter: clamp(1rem, 0.6286rem + 1.5238vw, 2rem);
  --uayso-radius: clamp(0.75rem, 0.6107rem + 0.5714vw, 1.125rem);
  --uayso-header-h: clamp(4rem, 3.6286rem + 1.5238vw, 5rem);
  --uayso-space: clamp(3.5rem, 2.2464rem + 5.1429vw, 6.875rem);   /* respiro vertical das seções */

  /* Escala tipográfica fluida */
  --uayso-fs-xs: clamp(0.6875rem, 0.6411rem + 0.1905vw, 0.8125rem);
  --uayso-fs-sm: clamp(0.8125rem, 0.7429rem + 0.2857vw, 1rem);
  --uayso-fs-body: clamp(1rem, 0.9071rem + 0.381vw, 1.25rem);
  --uayso-fs-lead: clamp(1.0625rem, 0.9464rem + 0.4762vw, 1.375rem);
  --uayso-fs-h3: clamp(1.25rem, 1.0643rem + 0.7619vw, 1.75rem);
  --uayso-fs-h2: clamp(1.375rem, 0.9571rem + 1.7143vw, 2.5rem);
  --uayso-fs-hero-pre: clamp(1.125rem, 0.8464rem + 1.1429vw, 1.875rem);
  --uayso-fs-hero: clamp(2.375rem, 1.725rem + 2.6667vw, 4.125rem);

  /* Cassiopeia */
  --cassiopeia-color-primary: #000;
  --cassiopeia-color-link: var(--uayso-green);
  --cassiopeia-color-hover: var(--uayso-green-hover);
  --cassiopeia-font-family-body: var(--uayso-font-body);
  --cassiopeia-font-family-headings: var(--uayso-font-ui);
  --body-bg: var(--uayso-black);
  --body-color: var(--uayso-text);
  --link-color: var(--uayso-green);
  --link-hover-color: var(--uayso-green-hover);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--uayso-header-h) + 8px); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body.uayso-site {
  background: var(--uayso-black);
  color: var(--uayso-text);
  font-family: var(--uayso-font-body);
  font-size: var(--uayso-fs-body);
  line-height: 1.45;
  overflow-x: clip;
}
.uayso-site img { max-width: 100%; }

.uayso-site a { color: var(--uayso-green); }
.uayso-site a:hover { color: var(--uayso-green-hover); }
.uayso-site :focus-visible { outline: 2px solid var(--uayso-green); outline-offset: 3px; }

.uayso-container { width: 100%; max-width: calc(var(--uayso-container) + 2 * var(--uayso-gutter)); margin-inline: auto; padding-inline: var(--uayso-gutter); }
.uayso-container--wide { max-width: calc(var(--uayso-container-wide) + 2 * var(--uayso-gutter)); }
.uayso-container--narrow { max-width: calc(900px + 2 * var(--uayso-gutter)); }
.uayso-center { text-align: center; }

.uayso-skip { position: absolute; z-index: 1100; top: 8px; left: 8px; padding: 8px 12px; background: var(--uayso-green); color: #000 !important; }

/* Página única ocupa a largura toda (sem a grade/laterais do Cassiopeia) */
.uayso-onepage .site-grid, .site-grid:has(.uayso-page) { display: block; padding: 0; }
.uayso-onepage .container-component, .site-grid:has(.uayso-page) .container-component { max-width: none; padding: 0; margin: 0; }
.uayso-page { overflow-x: clip; }

/* Páginas internas (artigos comuns) em fundo escuro */
.uayso-site .container-component { color: var(--uayso-text); }
:where(.uayso-site .container-component) :where(h1, h2) { font-family: var(--uayso-font-ui); color: var(--uayso-green); }
.uayso-site .card { background: #0b130b; color: var(--uayso-text); border-color: #1d2b1d; }

/* ---------- Botões ---------- */
.uayso-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .6em 1.3em;
  border: 0; border-radius: 4px;
  font-family: var(--uayso-font-ui); font-weight: 700; font-size: clamp(0.875rem, 0.8054rem + 0.2857vw, 1.0625rem); line-height: 1.1;
  text-transform: uppercase; text-decoration: none; letter-spacing: .02em;
  cursor: pointer; transition: background-color .2s, transform .2s, box-shadow .2s;
}
.uayso-btn:hover { transform: translateY(-1px); text-decoration: none; }
.uayso-btn--purple, .uayso-site a.uayso-btn--purple { background: var(--uayso-purple); color: #fff; }
.uayso-btn--purple:hover, .uayso-site a.uayso-btn--purple:hover { background: var(--uayso-purple-hover); color: #fff; }
.uayso-btn--green, .uayso-site a.uayso-btn--green { background: var(--uayso-green); color: #000; }
.uayso-btn--green:hover, .uayso-site a.uayso-btn--green:hover { background: var(--uayso-green-hover); color: #000; box-shadow: 0 0 18px color-mix(in srgb, var(--uayso-green) 55%, transparent); }
.uayso-btn--sm { padding: .55em 1.2em; font-size: clamp(0.8125rem, 0.7661rem + 0.1905vw, 0.9375rem); }
.uayso-btn--lg { padding: .45em 1em; font-size: clamp(1.0625rem, 0.9rem + 0.6667vw, 1.5rem); border-radius: 8px; box-shadow: 0 0 22px color-mix(in srgb, var(--uayso-green) 45%, transparent); }
.uayso-btn--block { width: 100%; letter-spacing: .14em; }
.uayso-btn__icon { display: inline-flex; }

/* ---------- Cabeçalho ---------- */
.uayso-header { position: relative; z-index: 1000; background: var(--uayso-header-bg); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.uayso-header--sticky { position: sticky; top: 0; }
.uayso-onepage .uayso-header--sticky { position: fixed; inset: 0 0 auto 0; }
.uayso-header.is-scrolled { background: rgba(0, 10, 0, .92); box-shadow: 0 2px 18px rgba(0, 0, 0, .6); }
.uayso-header__inner { display: flex; align-items: center; gap: clamp(0.75rem, 0.2857rem + 1.9048vw, 2rem); min-height: var(--uayso-header-h); }
.uayso-header__brand { display: inline-flex; flex: 0 0 auto; }
.uayso-header__logo { display: block; width: auto; height: clamp(2.375rem, 2.1429rem + 0.9524vw, 3rem); max-height: none; }
.uayso-header__cta { margin-left: auto; flex: 0 0 auto; }
.uayso-header__search { flex: 0 1 220px; }

.uayso-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.uayso-nav ul,
.uayso-nav .mod-menu { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; gap: clamp(0.125rem, -0.0143rem + 0.5714vw, 0.5rem); margin: 0; padding: 0; list-style: none; }
.uayso-nav li { margin: 0; }
.uayso-nav a {
  display: block; padding: .5em .95em; border-radius: 4px; white-space: nowrap;
  font-family: var(--uayso-font-ui); font-weight: 700; font-size: clamp(0.9375rem, 0.8911rem + 0.1905vw, 1.0625rem); text-transform: uppercase;
  color: #fff !important; transition: background-color .2s;
}
.uayso-nav a:hover { background: color-mix(in srgb, var(--uayso-purple) 55%, transparent); }
.uayso-nav a, .uayso-nav a:hover, .uayso-nav a:focus, .uayso-nav .current > a { text-decoration: none !important; }
.uayso-nav .is-active > a,
.uayso-nav:not(.uayso-spy) .active > a { background: var(--uayso-purple); }
.uayso-nav__cta-mobile { display: none !important; }

.uayso-header__toggle { display: none; margin-left: auto; width: 44px; height: 44px; border: 0; background: transparent; position: relative; cursor: pointer; }
.uayso-header__toggle-bar,
.uayso-header__toggle-bar::before,
.uayso-header__toggle-bar::after { position: absolute; left: 10px; right: 10px; height: 3px; background: #fff; border-radius: 2px; content: ""; transition: transform .25s, opacity .25s; }
.uayso-header__toggle-bar { top: 50%; transform: translateY(-50%); }
.uayso-header__toggle-bar::before { left: 0; right: 0; top: -9px; }
.uayso-header__toggle-bar::after { left: 0; right: 0; top: 9px; }
.uayso-header__toggle[aria-expanded="true"] .uayso-header__toggle-bar { background: transparent; }
.uayso-header__toggle[aria-expanded="true"] .uayso-header__toggle-bar::before { transform: translateY(9px) rotate(45deg); }
.uayso-header__toggle[aria-expanded="true"] .uayso-header__toggle-bar::after { transform: translateY(-9px) rotate(-45deg); }

@media (max-width: 1023.98px) {
  .uayso-header__toggle { display: block; }
  .uayso-header__cta { display: none; }
  .uayso-nav {
    position: absolute; inset: 100% 0 auto 0; display: none; flex-direction: column; align-items: stretch;
    max-height: calc(100svh - var(--uayso-header-h)); overflow-y: auto;
    padding: 12px var(--uayso-gutter) 24px; background: rgba(0, 8, 0, .97); border-top: 1px solid #143214;
  }
  .uayso-nav.is-open { display: flex; }
  .uayso-nav ul, .uayso-nav .mod-menu { flex-direction: column; gap: 2px; }
  .uayso-nav a { padding: .8em 1em; font-size: 1.05rem; }
  .uayso-nav__cta-mobile { display: inline-flex !important; margin-top: 12px; }
}

/* ---------- Seções ---------- */
.uayso-section { position: relative; padding-block: var(--uayso-space); }
.uayso-has-bg { background-color: var(--uayso-dark); background-image: var(--uayso-bg, none); background-size: cover; background-position: center; }

.uayso-title {
  margin: 0 0 .8em;
  font-family: var(--uayso-font-title); font-weight: 700;
  font-size: var(--uayso-fs-h2); line-height: 1.15;
  letter-spacing: .12em; text-transform: uppercase; color: var(--uayso-green);
  text-wrap: balance;
}
.uayso-title--spaced { margin-top: 2em; }
.uayso-title--dark { color: #181818; font-family: var(--uayso-font-ui); letter-spacing: 0; font-size: clamp(1.125rem, 0.8464rem + 1.1429vw, 1.875rem); }

.uayso-richtext { font-size: var(--uayso-fs-body); color: #fff; }
.uayso-richtext p { margin: 0 0 .7em; }

.uayso-grid { display: grid; gap: clamp(1.125rem, 0.7071rem + 1.7143vw, 2.25rem); }
.uayso-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899.98px) { .uayso-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599.98px) { .uayso-grid--3 { grid-template-columns: minmax(0, 1fr); max-width: 420px; margin-inline: auto; } }

/* Hero */
.uayso-hero {
  display: flex; align-items: center;
  min-height: clamp(600px, 52vw, 960px);
  padding-top: calc(var(--uayso-header-h) + 24px);
  background: #000 var(--uayso-bg) center center / cover no-repeat;
}
.uayso-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 140px; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); pointer-events: none; }
.uayso-hero__inner { position: relative; z-index: 1; }
.uayso-hero__content { max-width: clamp(21.25rem, 16.1429rem + 20.9524vw, 35rem); }
.uayso-hero__heading { margin: 0 0 .15em; line-height: 1; }
.uayso-hero__pre { display: block; margin-bottom: .1em; font-family: var(--uayso-font-ui); font-weight: 700; font-size: var(--uayso-fs-hero-pre); text-transform: uppercase; color: #fff; letter-spacing: .02em; }
.uayso-hero__title { display: block; font-family: var(--uayso-font-display); font-weight: 900; font-size: var(--uayso-fs-hero); letter-spacing: .04em; line-height: 1.05; color: var(--uayso-green); text-transform: uppercase; text-shadow: 0 0 26px color-mix(in srgb, var(--uayso-green) 45%, transparent); }
.uayso-tag {
  display: inline-block; margin: .35em 0 .9em; padding: .2em .9em;
  background: linear-gradient(90deg, var(--uayso-purple) 75%, #000); color: #fff; font-family: var(--uayso-font-body); font-weight: 600;
  font-size: clamp(0.75rem, 0.6107rem + 0.5714vw, 1.125rem); letter-spacing: .45em; text-transform: uppercase;
}
.uayso-hero__text { font-size: var(--uayso-fs-lead); line-height: 1.3; margin-bottom: 1em; max-width: 30em; }
.uayso-hero__text p { margin: 0; }

/* Celular: a foto vertical ocupa o topo e o texto entra logo abaixo do alien (sem vazio) */
@media (max-width: 767.98px) {
  .uayso-hero {
    display: block; min-height: 0;
    padding-top: max(calc(var(--uayso-header-h) + 48px), 56vw); padding-bottom: 56px;
    background-image: var(--uayso-bg-mobile); background-size: 100% auto; background-position: center top;
  }
  .uayso-hero::after { display: none; }
  .uayso-hero__content { max-width: 520px; margin-inline: auto; text-align: center; }
  .uayso-hero__text { margin-inline: auto; }
}

/* Quem somos / mapa */
.uayso-sobre { padding-top: calc(var(--uayso-space) * 1.15); }
.uayso-mapa { padding-top: calc(var(--uayso-space) * .8); }
.uayso-map { max-width: 900px; margin: 8px auto 0; }
.uayso-map__svg { display: block; width: 100%; height: auto; overflow: visible; }
.uayso-map__state { fill: #e0e0e0; stroke: #0a0a0a; stroke-width: 1; transition: fill .2s; }
.uayso-map__state.is-active { fill: var(--uayso-green); }
.uayso-map__state.is-active:hover { fill: #2ca25f; }
.uayso-map__pin { cursor: pointer; outline: none; }
.uayso-map__pin-dot { fill: var(--uayso-purple); stroke: #fff; stroke-width: 1.5; }
.uayso-map__pin-pulse { fill: var(--uayso-purple); opacity: .35; transform-box: fill-box; transform-origin: center; animation: uayso-pulse 2.2s ease-out infinite; }
.uayso-map__pin:hover .uayso-map__pin-dot, .uayso-map__pin:focus .uayso-map__pin-dot { fill: #fff; stroke: var(--uayso-purple); }
@keyframes uayso-pulse { 0% { transform: scale(.6); opacity: .55; } 100% { transform: scale(2.1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .uayso-map__pin-pulse { animation: none; } }
.uayso-map__list { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Desafios */
.uayso-desafios { padding: 0; }
.uayso-desafios__head { padding-block: calc(var(--uayso-space) * 1.2) clamp(1.5rem, 0.9429rem + 2.2857vw, 3rem); background-position: center top; }
.uayso-desafios__head .uayso-title { margin: 0; }
.uayso-desafios__body { padding-block: clamp(2rem, 1.4429rem + 2.2857vw, 3.5rem) var(--uayso-space); }
.uayso-desafios .uayso-grid, .uayso-destaques .uayso-grid { max-width: 1080px; margin-inline: auto; }
.uayso-desafio { display: flex; flex-direction: column; align-items: center; gap: clamp(0.875rem, 0.6893rem + 0.7619vw, 1.375rem); }

/* Cards */
.uayso-card {
  width: 100%; overflow: hidden; border-radius: var(--uayso-radius);
  background: #000; border: 1px solid rgba(0, 226, 0, .22);
  box-shadow: 0 8px 26px rgba(0, 0, 0, .55);
  display: flex; flex-direction: column;
}
.uayso-desafio .uayso-card { flex: 1 1 auto; }
.uayso-card__media { position: relative; aspect-ratio: 654 / 548; background: #020; }
.uayso-card__media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 35%; background: linear-gradient(transparent, #000); }
.uayso-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.uayso-card__body { padding: 0 clamp(1rem, 0.8607rem + 0.5714vw, 1.375rem) clamp(1.125rem, 0.9393rem + 0.7619vw, 1.625rem); margin-top: -1.2em; position: relative; z-index: 1; }
.uayso-card__title { margin: 0; font-family: var(--uayso-font-ui); font-weight: 800; font-size: var(--uayso-fs-h3); line-height: 1.1; color: var(--uayso-green); }
.uayso-card__title--caps { text-transform: uppercase; }
.uayso-card__meta { margin: .25em 0 .8em; font-size: var(--uayso-fs-sm); color: #fff; }
.uayso-card__text { margin: 0; font-size: clamp(0.9375rem, 0.8911rem + 0.1905vw, 1.0625rem); line-height: 1.35; color: #fff; }
.uayso-card--center { text-align: center; }
.uayso-card--center .uayso-card__media { aspect-ratio: 400 / 366; }
.uayso-card--center .uayso-card__text { font-weight: 600; margin-top: .7em; }

/* Destaques (3 cards) */
.uayso-destaques { padding-block: 0 var(--uayso-space); background: var(--uayso-dark); }

/* Clientes */
.uayso-clientes { background: #fff; color: #181818; padding-block: clamp(2rem, 1.4429rem + 2.2857vw, 3.5rem); }
.uayso-carousel { position: relative; padding-inline: 40px; max-width: 1080px; margin-inline: auto; }
.uayso-carousel__track {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * clamp(1rem, 0.4429rem + 2.2857vw, 2.5rem)) / 3); gap: clamp(1rem, 0.4429rem + 2.2857vw, 2.5rem);
  margin: 0; padding: 4px 0; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth;
}
.uayso-carousel__track::-webkit-scrollbar { display: none; }
.uayso-carousel__item { scroll-snap-align: start; display: flex; align-items: center; justify-content: center; height: clamp(5.625rem, 4rem + 6.6667vw, 10rem); }
.uayso-carousel__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.uayso-carousel__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 1;
  width: 34px; height: 48px; border: 0; background: transparent; color: #bbb;
  font-size: 2.6rem; line-height: 1; cursor: pointer;
}
.uayso-carousel__nav:hover { color: #181818; }
.uayso-carousel__nav--prev { left: 0; }
.uayso-carousel__nav--next { right: 0; }
@media (max-width: 599.98px) { .uayso-carousel__track { grid-auto-columns: calc((100% - 16px) / 2); } }

/* Informações técnicas */
.uayso-infos { background: var(--uayso-dark); }
.uayso-infos__grid { max-width: 980px; margin-inline: auto; column-gap: clamp(0.875rem, -0.4714rem + 5.5238vw, 4.5rem); row-gap: clamp(0.875rem, 0.3643rem + 2.0952vw, 2.25rem); }
.uayso-info {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: clamp(9.375rem, 8.2143rem + 4.7619vw, 12.5rem); padding: clamp(0.875rem, 0.6893rem + 0.7619vw, 1.375rem) clamp(0.625rem, 0.4857rem + 0.5714vw, 1rem);
  background: var(--uayso-green); color: #000; border-radius: clamp(0.75rem, 0.6107rem + 0.5714vw, 1.125rem); text-align: center;
}
.uayso-info__icon { width: auto; height: clamp(2.5rem, 1.9893rem + 2.0952vw, 3.875rem); margin-bottom: .4em; }
.uayso-info__title { margin: 0; font-family: var(--uayso-font-ui); font-weight: 800; font-size: clamp(1.125rem, 0.8929rem + 0.9524vw, 1.75rem); line-height: 1.05; text-transform: uppercase; }
.uayso-info__highlight { margin: .15em 0 0; font-family: var(--uayso-font-body); font-size: clamp(0.9375rem, 0.775rem + 0.6667vw, 1.375rem); letter-spacing: .08em; line-height: 1.1; }
.uayso-info__detail { margin: .5em 0 0; font-family: var(--uayso-font-body); font-size: clamp(0.625rem, 0.5554rem + 0.2857vw, 0.8125rem); line-height: 1.2; text-transform: uppercase; }
@media (max-width: 599.98px) { .uayso-infos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; } }

/* Contato */
.uayso-contato { background-position: right center; padding-block: calc(var(--uayso-space) * 1.1); }
.uayso-contato__box { max-width: 520px; }
.uayso-contato__title { margin: 0 0 .3em; font-family: var(--uayso-font-ui); font-weight: 800; font-size: clamp(1.25rem, 1.0179rem + 0.9524vw, 1.875rem); line-height: 1.15; text-transform: uppercase; color: #f2f2f2; }
.uayso-contato__subtitle { margin: 0 0 1em; font-family: var(--uayso-font-ui); font-size: clamp(1rem, 0.8607rem + 0.5714vw, 1.375rem); line-height: 1.25; color: #f2f2f2; }
.uayso-form__field { margin-bottom: clamp(0.625rem, 0.5321rem + 0.381vw, 0.875rem); }
.uayso-form input[type="text"], .uayso-form input[type="email"], .uayso-form input[type="tel"] {
  width: 100%; padding: .65em .85em; border: 1px solid var(--uayso-green); border-radius: 3px;
  background: rgba(0, 0, 0, .55); color: #fff; font-family: var(--uayso-font-ui); font-size: clamp(1rem, 0.9536rem + 0.1905vw, 1.125rem);
}
.uayso-form input::placeholder { color: rgba(255, 255, 255, .8); }
.uayso-form input[aria-invalid="true"] { border-color: #ff5d5d; }
.uayso-form .uayso-btn { margin-top: 4px; padding-block: .75em; font-size: clamp(0.9375rem, 0.8446rem + 0.381vw, 1.1875rem); }
.uayso-form.is-sending .uayso-btn { opacity: .6; pointer-events: none; }
.uayso-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.uayso-form__status { min-height: 1.2em; margin: .6em 0 0; font-size: var(--uayso-fs-sm); }
.uayso-form__status.is-ok { color: var(--uayso-green); }
.uayso-form__status.is-error { color: #ff7b7b; }
.uayso-form__privacy { margin: .4em 0 0; font-size: var(--uayso-fs-xs); color: var(--uayso-muted); }
@media (max-width: 767.98px) {
  .uayso-contato { background-position: 72% center; }
  .uayso-contato::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.78) 70%, rgba(0,0,0,.45)); }
  .uayso-contato .uayso-container { position: relative; }
}

/* ---------- Modal de ingressos ---------- */
.uayso-modal { width: min(640px, calc(100% - 24px)); max-height: calc(100svh - 24px); padding: 0; border: 0; background: transparent; color: #fff; overflow: visible; }
.uayso-modal::backdrop { background: rgba(0, 0, 0, .78); backdrop-filter: blur(3px); }
.uayso-modal[open] { animation: uayso-pop .22s ease-out; }
@keyframes uayso-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
.uayso-modal__box { position: relative; max-height: calc(100svh - 24px); overflow-y: auto; padding: clamp(1.875rem, 1.6429rem + 0.9524vw, 2.5rem) clamp(1rem, 0.6286rem + 1.5238vw, 2rem) clamp(1.25rem, 0.9714rem + 1.1429vw, 2rem); background: var(--uayso-dark-2); border: 1px solid rgba(0, 226, 0, .35); border-radius: var(--uayso-radius); box-shadow: 0 20px 60px rgba(0, 0, 0, .7); }
.uayso-modal__title { text-align: center; font-size: clamp(1.25rem, 1.0179rem + 0.9524vw, 1.875rem); }
.uayso-modal__close { position: absolute; top: 6px; right: 10px; width: 44px; height: 44px; border: 0; background: transparent; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
.uayso-modal__close:hover { color: var(--uayso-green); }
.uayso-modal__empty { text-align: center; }
.uayso-cities { display: grid; gap: clamp(0.625rem, 0.5321rem + 0.381vw, 0.875rem); margin: 0; padding: 0; list-style: none; }
.uayso-city {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: clamp(0.75rem, 0.6571rem + 0.381vw, 1rem) 12px clamp(0.625rem, 0.5321rem + 0.381vw, 0.875rem); overflow: hidden; isolation: isolate;
  border: 2px solid var(--uayso-green); border-radius: 10px; text-decoration: none !important; text-align: center;
  background: linear-gradient(90deg, #000 0%, rgba(0, 25, 0, .88) 55%, rgba(0, 60, 0, .55)), var(--uayso-bg, none) right center / cover no-repeat, #021;
  transition: transform .2s, box-shadow .2s;
}
.uayso-city:hover { transform: translateY(-2px); box-shadow: 0 0 20px color-mix(in srgb, var(--uayso-green) 45%, transparent); }
.uayso-city__local { font-family: var(--uayso-font-body); font-weight: 600; font-size: clamp(0.6875rem, 0.6179rem + 0.2857vw, 0.875rem); letter-spacing: .35em; text-transform: uppercase; color: #fff; }
.uayso-city__shopping { font-family: "Orbitron", var(--uayso-font-ui); font-weight: 900; font-size: clamp(1rem, 0.8143rem + 0.7619vw, 1.5rem); text-transform: uppercase; color: var(--uayso-green); line-height: 1.1; }
.uayso-city__cta { margin-top: 4px; padding: .2em .9em; background: var(--uayso-purple); color: #fff; font-family: var(--uayso-font-body); font-weight: 600; font-size: clamp(0.6875rem, 0.6411rem + 0.1905vw, 0.8125rem); letter-spacing: .3em; text-transform: uppercase; }
.uayso-city--art { padding: 0; border: 0; background: none; }
.uayso-city--art img { display: block; width: 100%; height: auto; }
html.uayso-modal-open { overflow: hidden; }

/* ---------- Rodapé ---------- */
.uayso-footer { background: #000; border-top: 1px solid #0f240f; padding-block: clamp(1.25rem, 1.0643rem + 0.7619vw, 1.75rem); color: var(--uayso-muted); font-size: var(--uayso-fs-sm); }
.uayso-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.uayso-footer__copy { margin: 0; }
.uayso-footer ul { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; padding: 0; list-style: none; }

.uayso-backtop { background: var(--uayso-purple) !important; }

/* Celular: desafios e destaques viram faixa deslizante (um card + pedaço do próximo) */
@media (max-width: 599.98px) {
  .uayso-desafios .uayso-grid,
  .uayso-destaques .uayso-grid {
    display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 82%;
    max-width: none; margin-inline: calc(var(--uayso-gutter) * -1); padding: 4px var(--uayso-gutter) 12px;
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--uayso-gutter);
    overscroll-behavior-x: contain; scrollbar-width: none;
  }
  .uayso-desafios .uayso-grid::-webkit-scrollbar,
  .uayso-destaques .uayso-grid::-webkit-scrollbar { display: none; }
  .uayso-desafio, .uayso-destaques .uayso-card { scroll-snap-align: start; }
}
