/* style.css — landing do Agenda Agora. Mesma estrutura do site do Nota Fácil,
   paleta trocada (sage/lima -> gelo/azul). Prefixo site-. */
/* Mesma landing do Nota Fácil, paleta trocada: sage/lima viram gelo/azul. */
  :root {
    --tinta: #0b1424;
    --tinta-funda: #070e1a;
    --superficie-esc: #172238;
    --azul: #2f7ff0;
    --azul-vivo: #8cc6ff;
    --azul-medio: #1f62c9;
    --azul-fundo: #17499a;
    --gelo: #e6edf7;
    --gelo-claro: #f2f6fc;
    --branco: #f9fbff;
    --borda: #c6d3e6;
    --tinta-rgb: 11, 20, 36;
    --tinta-funda-rgb: 7, 14, 26;
    --azul-rgb: 47, 127, 240;
    --azul-vivo-rgb: 140, 198, 255;
    --branco-rgb: 249, 251, 255;
    --display: 'M PLUS 1', -apple-system, BlinkMacSystemFont, sans-serif;
    --texto: 'Red Hat Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --raio: 14px;
  }
  /* A landing é sempre escura no topo e clara embaixo, nos dois temas. */
  * { box-sizing: border-box; }
  body { margin: 0; font-family: var(--texto); color: var(--tinta); background: var(--tinta); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
  img { max-width: 100%; display: block; }
  ::selection { background: var(--azul); color: var(--branco); }
  a { color: inherit; }
  .container { width: 100%; max-width: 1140px; margin: 0 auto; padding-inline: 16px; }
  @media (min-width: 768px) { .container { padding-inline: 24px; } }

  /* ---------- Cabeçalho de vidro ---------- */
  .site-header { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; z-index: 30; background: transparent; border-bottom: 1px solid transparent; transition: background-color .35s, border-color .35s, box-shadow .35s, transform .4s ease; }
  .site-header.is-escondido { transform: translateY(-110%); }
  .site-header.is-rolado { background: rgba(var(--branco-rgb), .84); -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%); border-bottom-color: var(--borda); box-shadow: 0 4px 24px rgba(var(--tinta-rgb), .06); }
  .site-nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 16px; }
  .site-marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--display); font-weight: 700; font-size: 21px; letter-spacing: -0.02em; color: var(--branco); }
  .site-marca__icone { width: 34px; height: 34px; border-radius: 9px; background: var(--azul); display: grid; place-items: center; }
  .site-marca__icone svg { width: 18px; height: 18px; color: #fff; }
  .site-header.is-rolado .site-marca { color: var(--tinta); }
  .site-menu { display: none; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
  @media (min-width: 768px) { .site-menu { display: flex; } }
  .site-link { color: rgba(var(--branco-rgb), .9); text-decoration: none; font-weight: 500; }
  .site-link:hover { color: var(--azul-vivo); }
  .site-header.is-rolado .site-link { color: var(--azul-fundo); }
  .site-header.is-rolado .site-link:hover { color: var(--tinta); }

  /* ---------- Botões (iguais ao Nota Fácil) ---------- */
  .site-btn { display: inline-flex; align-items: stretch; background: linear-gradient(225deg, var(--azul-medio) 8%, var(--azul) 92%); color: var(--branco); border: 0; border-radius: 10px; padding: 0; font-family: var(--display); font-size: 15px; font-weight: 500; text-decoration: none; cursor: pointer; overflow: hidden; box-shadow: 0 7px 40px rgba(var(--azul-rgb), .34); transition: transform .18s, box-shadow .3s, filter .25s; }
  .site-btn:hover { color: var(--branco); filter: brightness(1.06); box-shadow: 0 9px 52px rgba(var(--azul-rgb), .5); }
  .site-btn:active { transform: translateY(1px); }
  .site-btn__icone, .site-btn__seta { display: grid; place-items: center; flex: 0 0 auto; padding: 0 .95rem; }
  .site-btn__rotulo { padding: .6rem .55rem; white-space: nowrap; align-self: center; }
  .site-btn__seta { border-left: 2px solid rgba(255,255,255,.25); transition: transform .28s; }
  .site-btn:hover .site-btn__seta { transform: translateX(3px); }
  .site-btn svg { width: 17px; height: 17px; display: block; }
  .site-btn--simples { padding: .6rem 1.5rem; }
  .site-btn--simples .site-btn__rotulo { padding: 0; }
  .site-header .site-btn--simples { padding: .55rem 1.1rem; font-size: 14px; }
  .site-btn--vazado { background: transparent; border: 1px solid rgba(var(--branco-rgb), .22); color: var(--branco); box-shadow: none; }
  .site-btn--vazado:hover { background: rgba(var(--branco-rgb), .06); border-color: rgba(var(--azul-rgb), .6); filter: none; box-shadow: none; }
  .site-btn--grande { font-size: 16px; }
  .site-btn--grande .site-btn__rotulo { padding: .58rem .6rem; }
  .site-btn--grande.site-btn--simples { padding: .58rem 1.8rem; }
  .site-btn--grande.site-btn--simples .site-btn__rotulo { padding: 0; }

  /* ---------- Blocos ---------- */
  .site-escuro { position: relative; background: var(--tinta); color: var(--branco); overflow: hidden; }
  .site-escuro h1, .site-escuro h2, .site-escuro h3 { color: var(--branco); }
  .site-brilho { position: absolute; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--azul-rgb), .22), transparent 68%); pointer-events: none; filter: blur(30px); }
  .site-bolhas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
  .site-hero .site-bolhas { mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 85%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 22%, #000 85%, transparent 100%); }
  .site-secao { padding: 6rem 0; position: relative; overflow-x: clip; }
  .site-claro { background: var(--gelo); color: var(--tinta); }
  .site-claro--pallida { background: var(--gelo-claro); }
  .site-olho { display: flex; align-items: center; gap: .9rem; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--azul-vivo); margin-bottom: 1.25rem; }
  .site-olho::after { content: ''; width: 58px; height: 1px; background: currentColor; opacity: .55; }
  .site-claro .site-olho { color: var(--azul-fundo); }
  .site-titulo { font-family: var(--display); font-weight: 300; font-size: clamp(2.4rem, 6.2vw, 5rem); line-height: 1.04; letter-spacing: -.03em; margin: 0 0 1.25rem; text-wrap: balance; }
  .site-titulo em { font-style: normal; color: var(--azul-vivo); }
  .site-claro .site-titulo em { color: var(--azul-medio); }
  .site-titulo--secao { font-size: clamp(2rem, 4.6vw, 3.5rem); }
  .site-linha { font-size: clamp(1rem, 1.6vw, 1.1rem); color: rgba(var(--branco-rgb), .66); max-width: 46ch; margin: 0 0 2.25rem; }
  .site-claro .site-linha { color: var(--azul-fundo); }
  .site-bolha { display: inline-grid; place-items: center; width: .92em; height: .92em; border-radius: 50%; vertical-align: -.08em; margin: 0 .06em; background: var(--azul); color: #fff; }
  .site-bolha svg { width: 52%; height: 52%; }
  .site-corta-mobile { display: none; } @media (min-width: 576px) { .site-corta-mobile { display: inline; } }

  /* ---------- Hero ---------- */
  .site-hero { padding: 8.5rem 0 6rem; }
  .site-hero__grid { display: grid; gap: 48px; align-items: center; position: relative; }
  @media (min-width: 992px) { .site-hero__grid { grid-template-columns: 1fr 1fr; } }
  .site-ctas { display: flex; flex-direction: column; gap: 12px; }
  @media (min-width: 576px) { .site-ctas { flex-direction: row; } }
  .site-hero__apoio { display: flex; align-items: center; gap: .85rem; color: rgba(var(--branco-rgb), .6); font-size: 14px; margin-top: 2rem; }
  .site-hero__pulso { width: 9px; height: 9px; border-radius: 50%; background: var(--azul-vivo); flex: 0 0 auto; animation: site-pulsar 2.4s ease-out infinite; }
  @keyframes site-pulsar { 0% { box-shadow: 0 0 0 0 rgba(var(--azul-vivo-rgb), .5); } 70% { box-shadow: 0 0 0 12px rgba(var(--azul-vivo-rgb), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--azul-vivo-rgb), 0); } }

  /* Palco: a página pública em miniatura, com dois chips flutuando */
  .site-palco { position: relative; max-width: 420px; margin: 0 auto; padding: 24px 0 36px; }
  .site-agenda { background: var(--branco); color: var(--tinta); border-radius: 18px; padding: 18px 18px 16px; box-shadow: 0 30px 80px rgba(var(--tinta-funda-rgb), .6); }
  .site-agenda__topo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
  .site-agenda__logo { width: 42px; height: 42px; border-radius: 12px; background: var(--azul); color: #fff; display: grid; place-items: center; font-family: var(--display); font-weight: 700; }
  .site-agenda__nome { font-family: var(--display); font-weight: 700; font-size: 17px; line-height: 1.1; }
  .site-agenda__sub { font-size: 13px; color: var(--azul-fundo); }
  .site-agenda__rotulo { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b7a90; margin: 12px 0 6px; }
  .site-agenda__servico { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; font-size: 14px; }
  .site-agenda__servico--on { border-color: var(--azul); background: #e8f1ff; }
  .site-agenda__servico b { font-family: var(--display); }
  .site-agenda__dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
  .site-agenda__dia { text-align: center; padding: 7px 0; border-radius: 8px; border: 1px solid var(--borda); font-size: 12px; line-height: 1.15; }
  .site-agenda__dia b { display: block; font-family: var(--display); font-size: 15px; }
  .site-agenda__dia--on { background: var(--azul); border-color: var(--azul); color: #fff; }
  .site-agenda__slots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .site-agenda__slot { text-align: center; padding: 8px 0; border-radius: 8px; border: 1px solid var(--borda); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .site-agenda__slot--on { background: var(--azul); border-color: var(--azul); color: #fff; }
  .site-agenda__slot--x { color: #98a6ba; text-decoration: line-through; border-style: dashed; }
  .site-flutuante { position: absolute; display: flex; align-items: center; gap: 10px; background: rgba(var(--tinta-funda-rgb), .88); backdrop-filter: blur(8px); border: 1px solid rgba(var(--azul-rgb), .35); border-radius: 12px; padding: 10px 14px; box-shadow: 0 16px 40px rgba(var(--tinta-funda-rgb), .5); }
  .site-flutuante__icone { width: 32px; height: 32px; border-radius: 8px; background: var(--azul); color: #fff; display: grid; place-items: center; flex: none; }
  .site-flutuante__icone svg { width: 16px; height: 16px; }
  .site-flutuante__titulo { font-family: var(--display); font-weight: 700; font-size: 14px; line-height: 1.2; }
  .site-flutuante__sub { font-size: 12px; color: rgba(var(--branco-rgb), .6); }
  .site-flutuante--a { top: -16px; right: -28px; }
  .site-flutuante--b { bottom: 0; left: -8px; }
  @media (max-width: 480px) { .site-flutuante--a { right: 0; } .site-flutuante--b { left: 0; } }

  /* ---------- Passos ---------- */
  .site-grid3 { display: grid; gap: 20px; }
  @media (min-width: 768px) { .site-grid3 { grid-template-columns: repeat(3, 1fr); } }
  .site-passo { position: relative; height: 100%; background: var(--branco); border: 1px solid var(--borda); border-radius: var(--raio); padding: 2rem 1.75rem; transition: transform .3s, box-shadow .3s, border-color .3s; }
  .site-passo:hover { transform: translateY(-6px); border-color: var(--azul); box-shadow: 0 18px 40px rgba(var(--tinta-rgb), .1); }
  .site-passo__num { font-family: var(--display); font-size: 15px; font-weight: 700; color: #fff; background: var(--azul); width: 38px; height: 32px; transform: skewX(-14deg); display: grid; place-items: center; border-radius: 5px; margin-bottom: 1.35rem; }
  .site-passo__num span { transform: skewX(14deg); }
  .site-passo h3 { font-family: var(--display); font-size: 1.2rem; font-weight: 500; margin: 0 0 .55rem; letter-spacing: -.015em; }
  .site-passo p { margin: 0; color: var(--azul-fundo); font-size: .95rem; }
  .site-passo code { font-family: ui-monospace, Menlo, monospace; font-size: .9em; background: var(--gelo); padding: 1px 6px; border-radius: 5px; color: var(--tinta); }

  /* ---------- Para quem é ---------- */
  .site-duas { display: grid; gap: 48px; align-items: center; }
  @media (min-width: 992px) { .site-duas { grid-template-columns: 1fr 1fr; } }
  .site-oficios { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
  .site-oficios li { border: 1px solid var(--borda); background: var(--branco); border-radius: 999px; padding: .42rem .95rem; font-size: .88rem; font-weight: 500; color: var(--azul-fundo); }
  /* Perfil de rede social com o link na bio: o produto explicado numa imagem que não precisa de foto */
  .site-perfil { max-width: 380px; margin: 0 auto; background: var(--branco); border: 1px solid var(--borda); border-radius: 22px; padding: 22px; box-shadow: 0 24px 60px rgba(var(--tinta-rgb), .12); }
  .site-perfil__topo { display: flex; align-items: center; gap: 16px; }
  .site-perfil__avatar { width: 68px; height: 68px; border-radius: 50%; background: conic-gradient(from 200deg, var(--azul), var(--azul-vivo), var(--azul)); padding: 3px; }
  .site-perfil__avatar div { width: 100%; height: 100%; border-radius: 50%; background: var(--tinta); color: #fff; display: grid; place-items: center; font-family: var(--display); font-weight: 700; font-size: 20px; }
  .site-perfil__stats { display: flex; gap: 18px; font-size: 13px; color: var(--azul-fundo); }
  .site-perfil__stats b { display: block; font-family: var(--display); font-size: 16px; color: var(--tinta); }
  .site-perfil__nome { font-family: var(--display); font-weight: 700; margin: 14px 0 2px; }
  .site-perfil__bio { font-size: 14px; color: var(--azul-fundo); margin: 0; }
  .site-perfil__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-weight: 700; color: var(--azul-medio); text-decoration: none; background: #e8f1ff; padding: 6px 12px; border-radius: 8px; font-size: 14px; }
  .site-perfil__link svg { width: 15px; height: 15px; }
  .site-perfil__botao { margin-top: 16px; background: var(--tinta); color: #fff; text-align: center; border-radius: 10px; padding: 10px; font-weight: 600; font-size: 14px; }

  /* ---------- No bolso ---------- */
  .site-recursos { display: grid; gap: 22px; }
  .site-recurso { display: flex; gap: 16px; }
  .site-recurso__icone { width: 44px; height: 44px; flex: none; border-radius: 12px; background: var(--branco); border: 1px solid var(--borda); color: var(--azul-medio); display: grid; place-items: center; }
  .site-recurso__icone svg { width: 20px; height: 20px; }
  .site-recurso h3 { font-family: var(--display); font-weight: 500; font-size: 1.15rem; margin: 0 0 .3rem; }
  .site-recurso p { margin: 0; color: var(--azul-fundo); font-size: .95rem; }
  /* Celular: a casca é o mockup do NotaFácil (webp embutido), a tela fica
     atrás dela na área transparente, com as mesmas porcentagens do original. */
  .site-celular { position: relative; width: min(330px, 88%); margin: 0 auto; aspect-ratio: 405 / 836; filter: drop-shadow(0 26px 44px rgba(var(--tinta-rgb), .26)); }
  .site-celular__casca { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
  .site-tela { position: absolute; left: 4.198%; top: 1.675%; width: 91.852%; height: 96.651%; z-index: 1; border-radius: 11.5% / 5.4%; background: var(--gelo-claro); color: var(--tinta); padding: 9% 5% 4%; overflow: hidden; display: flex; flex-direction: column; }
  .site-tela__hora { text-align: center; font-size: 10px; font-weight: 700; color: var(--azul-fundo); margin-bottom: 10px; }
  .site-tela__titulo { font-family: var(--display); font-weight: 700; font-size: 1rem; letter-spacing: -.02em; margin: 0; }
  .site-tela__sub { font-size: 10.5px; color: var(--azul-fundo); margin: 0 0 10px; }
  .site-tela__item { background: var(--branco); border: 1px solid var(--borda); border-radius: 9px; padding: 7px 8px; display: grid; grid-template-columns: 36px 1fr auto; gap: 6px; align-items: center; margin-bottom: 6px; font-size: 10.5px; }
  .site-tela__item b { font-family: var(--display); font-size: 12px; font-variant-numeric: tabular-nums; }
  .site-tela__item > div { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .site-tela__item span { display: block; color: var(--azul-fundo); font-size: 9.5px; }
  .site-tela__tag { font-size: 8.5px; font-weight: 700; padding: 2px 6px; border-radius: 999px; white-space: nowrap; }
  .site-tela__tag--ok { background: #e2f5ea; color: #1f7a4d; }
  .site-tela__tag--pend { background: #fff2dc; color: #a8611a; }
  .site-tela__nav { margin-top: auto; display: grid; grid-template-columns: repeat(4, 1fr); font-size: 8px; text-align: center; color: var(--azul-fundo); padding-top: 8px; }
  .site-tela__nav i { display: block; width: 14px; height: 14px; border-radius: 4px; background: var(--borda); margin: 0 auto 3px; }
  .site-tela__nav .on { color: var(--azul-medio); font-weight: 700; }
  .site-tela__nav .on i { background: var(--azul); }

  /* Avisos chegando na tela do celular. Mesmo desenho da caixinha do topo:
     fundo escuro, borda azul, icone quadrado. Comecam visiveis no CSS — quem
     esconde pra animar e o JS, so quando o GSAP existe. */
  .site-avisos { position: absolute; left: 5%; right: 5%; top: 6.5%; z-index: 3; display: flex; flex-direction: column; gap: 6px; pointer-events: none; }
  .site-aviso { display: flex; gap: 8px; align-items: center; background: rgba(var(--tinta-funda-rgb), .93); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(var(--azul-rgb), .38); border-radius: 10px; padding: 7px 9px; box-shadow: 0 10px 26px rgba(var(--tinta-funda-rgb), .5); }
  .site-aviso__icone { width: 24px; height: 24px; border-radius: 7px; background: var(--azul); color: #fff; display: grid; place-items: center; flex: none; }
  .site-aviso__icone svg { width: 13px; height: 13px; }
  .site-aviso__texto { min-width: 0; }
  .site-aviso__titulo { font-family: var(--display); font-weight: 700; font-size: 11px; color: var(--branco); line-height: 1.25; }
  .site-aviso__sub { font-size: 10px; color: rgba(var(--branco-rgb), .62); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  /* ---------- O link ---------- */
  .site-link-grande { font-family: var(--display); font-weight: 300; font-size: clamp(2.1rem, 9vw, 7rem); letter-spacing: -.045em; line-height: 0.98; margin: 0 0 1.75rem; overflow-wrap: anywhere; }
  /* O slug numa linha só: quebrar "lava-/jato-do-beto" no meio do nome
     estraga justamente o que a seção quer mostrar. */
  .site-link-grande em { display: block; font-style: normal; color: var(--azul-vivo); font-weight: 600; }
  .site-lugares { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
  .site-lugares li { border: 1px solid rgba(var(--branco-rgb), .18); border-radius: 999px; padding: .42rem .95rem; font-size: .88rem; color: rgba(var(--branco-rgb), .8); }

  /* ---------- FAQ ---------- */
  .site-faq { border-top: 1px solid var(--borda); max-width: 760px; }
  .site-faq details { border-bottom: 1px solid var(--borda); }
  .site-faq summary { padding: 1.35rem 0; cursor: pointer; font-family: var(--display); font-weight: 500; font-size: 1.15rem; letter-spacing: -.01em; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
  .site-faq summary::-webkit-details-marker { display: none; }
  .site-faq summary:hover { color: var(--azul-medio); }
  .site-faq summary::after { content: ''; width: 11px; height: 11px; border-right: 2px solid var(--azul-medio); border-bottom: 2px solid var(--azul-medio); transform: rotate(45deg); transition: transform .25s; flex: none; margin-bottom: 4px; }
  .site-faq details[open] summary::after { transform: rotate(-135deg); margin-bottom: -2px; }
  .site-faq__corpo { padding: 0 0 1.5rem; color: var(--azul-fundo); max-width: 68ch; margin: 0; }

  /* ---------- CTA e rodapé ---------- */
  .site-cta { text-align: center; }
  .site-cta .site-linha { margin-inline: auto; }
  .site-footer { background: var(--gelo); color: var(--azul-fundo); padding: 3.5rem 0 2rem; font-size: 14px; border-top: 1px solid var(--borda); }
  .site-footer__chamada { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; padding-bottom: 2.25rem; border-bottom: 1px solid var(--borda); }
  .site-footer .site-marca { color: var(--tinta); }
  .site-footer__frase { font-family: var(--display); font-size: clamp(1.05rem, 2.4vw, 1.35rem); color: var(--tinta); margin: 0; max-width: 26ch; }
  .site-footer__fim { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-top: 1.5rem; }

  /* ---------- Cadastro ---------- */
  .site-cadastro { min-height: 100vh; position: relative; overflow: hidden; background: var(--tinta); color: var(--branco); padding: 1.25rem 0 4rem; }
  .site-cadastro__brilho { width: 760px; height: 760px; top: -300px; right: -230px; }
  .site-cadastro__header { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .site-cadastro__entrar { color: rgba(var(--branco-rgb), .78); text-decoration: none; font-size: 14px; font-weight: 700; }
  .site-cadastro__entrar:hover { color: var(--azul-vivo); }
  .site-cadastro__conteudo { position: relative; z-index: 1; display: grid; gap: 38px; align-items: center; padding-top: clamp(3.5rem, 9vw, 7.5rem); }
  .site-cadastro__apresentacao { max-width: 500px; }
  .site-cadastro__apresentacao .site-linha { margin-bottom: 1.75rem; }
  .site-cadastro__beneficios { margin: 0; padding: 0; list-style: none; display: grid; gap: .7rem; color: rgba(var(--branco-rgb), .78); font-size: .95rem; }
  .site-cadastro__beneficios span { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 8px; border-radius: 50%; background: rgba(var(--azul-rgb), .22); color: var(--azul-vivo); font-weight: 900; }
  /* O formulário flutua sobre o fundo escuro como uma lâmina de vidro: o
     azul do cenário aparece de leve, mas os campos continuam contrastados. */
  .site-cadastro__card { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(223,237,255,.84)); color: var(--tinta); border: 1px solid rgba(255,255,255,.62); border-radius: 24px; padding: clamp(1.35rem, 4vw, 2.25rem); box-shadow: 0 30px 80px rgba(var(--tinta-funda-rgb), .42), inset 0 1px 0 rgba(255,255,255,.9); -webkit-backdrop-filter: blur(24px) saturate(150%); backdrop-filter: blur(24px) saturate(150%); }
  .site-cadastro__card::before { position: absolute; z-index: 0; top: -42%; right: -22%; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.82), rgba(255,255,255,0) 69%); content: ''; pointer-events: none; }
  .site-cadastro__card::after { position: absolute; z-index: 0; right: -15%; bottom: -34%; width: 310px; height: 220px; border-radius: 50%; background: rgba(var(--azul-rgb), .14); filter: blur(36px); content: ''; pointer-events: none; }
  .site-cadastro__card > * { position: relative; z-index: 1; }
  .site-cadastro__cabecalho-form { margin-bottom: 1.7rem; }
  .site-cadastro__cabecalho-form h2, .site-cadastro__sucesso h2 { font-family: var(--display); font-size: 1.7rem; font-weight: 600; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 .38rem; }
  .site-cadastro__cabecalho-form p { color: #35517e; font-family: var(--texto); font-size: .92rem; font-weight: 500; margin: 0; }
  .site-cadastro__grupo { margin: 0; padding: 0; border: 0; }
  .site-cadastro__grupo + .site-cadastro__grupo { margin-top: 1.55rem; }
  .site-cadastro__grupo legend { width: 100%; padding: 0 0 .75rem; margin-bottom: .95rem; border-bottom: 1px solid rgba(85,122,173,.23); color: var(--azul-fundo); font-family: var(--display); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  .site-cadastro__campos { display: grid; gap: 1rem; }
  .site-cadastro__linha-endereco { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 1rem; }
  .site-cadastro__campo { display: block; min-width: 0; }
  .site-cadastro__campo > span { display: flex; justify-content: space-between; gap: 8px; color: #17294a; font-family: var(--display); font-size: .82rem; font-weight: 600; letter-spacing: -.01em; margin-bottom: .42rem; }
  .site-cadastro__campo em { color: #687e9d; font-family: var(--texto); font-size: .72rem; font-style: normal; font-weight: 500; }
  .site-cadastro__campo input, .site-cadastro__campo select { width: 100%; min-height: 45px; background: rgba(255,255,255,.68); color: var(--tinta); border: 1px solid rgba(104,139,185,.28); border-radius: 11px; outline: none; padding: .65rem .8rem; font-family: var(--texto); font-size: .92rem; font-weight: 500; transition: border-color .2s, box-shadow .2s, background-color .2s, transform .2s; }
  .site-cadastro__campo input::placeholder { color: #8491a4; }
  .site-cadastro__campo select:disabled { cursor: not-allowed; opacity: .65; }
  .site-cadastro__campo input:focus, .site-cadastro__campo select:focus { background: rgba(255,255,255,.96); border-color: var(--azul); box-shadow: 0 0 0 3px rgba(var(--azul-rgb), .15); transform: translateY(-1px); }

  /* Select com busca: o select nativo fica no formulário; o campo visual é
     sincronizado pelo AASelect em assets/js/select.js. */
  .site-cadastro .aa-select { position: relative; }
  .site-cadastro .aa-select__nativo { position: absolute; width: 1px; min-height: 0; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
  .site-cadastro .aa-select__campo { display: block; width: 100%; min-height: 45px; padding: .65rem 2.6rem .65rem .8rem; background: rgba(255,255,255,.68); color: var(--tinta); border: 1px solid rgba(104,139,185,.28); border-radius: 11px; font: 500 .92rem var(--texto); text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s, background-color .2s; }
  .site-cadastro .aa-select__campo:focus-visible, .site-cadastro .aa-select.is-aberto .aa-select__campo { outline: none; background: rgba(255,255,255,.96); border-color: var(--azul); box-shadow: 0 0 0 3px rgba(var(--azul-rgb), .15); }
  .site-cadastro .aa-select__texto { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .site-cadastro .aa-select__texto--placeholder { color: #8491a4; }
  .site-cadastro .aa-select__seta { position: absolute; top: 50%; right: .85rem; color: #687e9d; font-size: 1.25rem; line-height: 1; pointer-events: none; transform: translateY(-58%); transition: transform .2s; }
  .site-cadastro .aa-select.is-aberto .aa-select__seta { transform: translateY(-42%) rotate(180deg); }
  .site-cadastro .aa-select.is-disabled .aa-select__campo { cursor: not-allowed; background: #e7edf4; border-color: #d4dee9; color: #8491a4; opacity: 1; }
  .site-cadastro .aa-select.is-disabled .aa-select__seta { color: #8491a4; }
  .aa-select__painel { position: fixed; z-index: 1100; display: none; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid rgba(104,139,185,.28); border-radius: 11px; box-shadow: 0 14px 32px rgba(12,38,79,.18); }
  .aa-select__painel.is-aberto { display: flex; }
  .aa-select__busca { box-sizing: border-box; width: calc(100% - 1rem); height: 40px; margin: .5rem; padding: 0 .7rem; color: var(--tinta); background: #f4f7fb; border: 1px solid rgba(104,139,185,.28); border-radius: 8px; font: 500 1rem var(--texto); }
  .aa-select__busca:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px rgba(var(--azul-rgb), .15); }
  .aa-select__lista { flex: 1; min-height: 0; max-height: 232px; padding: .35rem; overflow-y: auto; }
  .aa-select__item { display: block; width: 100%; min-height: 42px; padding: .55rem .7rem; color: var(--tinta); background: transparent; border: 0; border-radius: 8px; font: 500 .92rem var(--texto); text-align: left; cursor: pointer; }
  .aa-select__item:hover, .aa-select__item[aria-selected="true"] { color: var(--azul-escuro); background: rgba(var(--azul-rgb), .09); }
  .aa-select__vazio { margin: 0; padding: 1rem; color: #687e9d; font: .85rem var(--texto); text-align: center; }

  @media (max-width: 719.98px) {
    .aa-select__painel.is-aberto { top: auto !important; right: 0; bottom: 0; left: 0 !important; width: auto !important; max-height: 65dvh; border-radius: 16px 16px 0 0; }
    .aa-select__lista { max-height: calc(65dvh - 56px); }
  }
  .site-cadastro__campo input:invalid:not(:placeholder-shown) { border-color: #d45050; }
  .site-cadastro__campo small { display: block; margin-top: .32rem; color: #708097; font-size: .75rem; line-height: 1.35; }
  .site-cadastro__retorno { margin-top: 1.2rem; padding: .75rem .9rem; border: 1px solid #d45050; border-radius: 9px; background: #fff1f1; color: #a62d2d; font-size: .88rem; font-weight: 700; }
  .site-cadastro__enviar { width: 100%; justify-content: space-between; margin-top: 1.5rem; }
  .site-cadastro__enviar .site-btn__rotulo { padding-left: 1.4rem; }
  .site-cadastro__enviar .site-btn__seta { padding-right: 1.4rem; border-left: 0; }
  .site-cadastro__enviar:disabled { cursor: wait; opacity: .72; filter: grayscale(.2); }
  .site-cadastro__rodape-form { color: #607895; font-family: var(--texto); font-size: .74rem; line-height: 1.45; text-align: center; margin: 1rem 0 0; }
  .site-cadastro__sucesso { text-align: center; padding: 1.5rem .25rem .6rem; }
  .site-cadastro__sucesso > p { max-width: 34ch; margin: 0 auto 1.4rem; color: var(--azul-fundo); }
  .site-cadastro__sucesso-icone { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 1rem; border-radius: 50%; background: #e4f7eb; color: #25834f; font-size: 28px; font-weight: 900; }
  .site-cadastro__link-criado { margin: 0 auto 1.5rem; padding: .9rem 1rem; max-width: 360px; border: 1px solid var(--borda); border-radius: 10px; background: var(--gelo-claro); color: var(--azul-fundo); font-size: .84rem; }
  .site-cadastro__link-criado strong { display: block; margin-top: .15rem; color: var(--azul-medio); font-size: 1rem; overflow-wrap: anywhere; }
  @media (min-width: 720px) { .site-cadastro__campos { grid-template-columns: 1fr 1fr; } .site-cadastro__campo--inteiro { grid-column: 1 / -1; } }
  @media (min-width: 960px) { .site-cadastro__conteudo { grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); gap: clamp(48px, 8vw, 100px); } }
  @media (max-width: 420px) { .site-cadastro__header { align-items: flex-start; } .site-cadastro__entrar { text-align: right; max-width: 105px; } .site-cadastro__card { margin-inline: -2px; border-radius: 18px; } }

  @media (prefers-reduced-motion: reduce) { * { animation-duration: .001ms !important; transition-duration: .001ms !important; } }
