/* Novo Normal × 21st: agency hero and questionnaire patterns, adapted to static HTML. */
.nn-icon { display:inline-block; width:18px; height:18px; flex:none; vertical-align:middle; transition:transform .25s ease; }
.choice-icon .nn-icon { width:20px; height:20px; }
.choice-icon .uploaded-meta { display:block; width:23px; height:23px; object-fit:contain; }
.uploaded-whatsapp { display:block; width:28px; height:28px; object-fit:contain; border-radius:6px; }
.lead-back { display:inline-flex; align-items:center; gap:7px; }
.lead-back .nn-icon { width:15px; height:15px; }
.lead-next:hover>.nn-icon { transform:translateX(3px); }
.review-check .nn-icon { width:26px; height:26px; }
.marquee-control { display:flex; align-items:center; justify-content:center; gap:7px; }
.marquee-control .nn-icon { width:12px; height:12px; }
.lead-card { color-scheme: light; background:#faf9ff; color:#18142c; border:1px solid #e8e3f4; border-radius:28px; padding:32px; box-shadow:0 30px 90px #0004; scroll-margin-top:100px; min-width:0; }
.lead-heading { padding-bottom:23px; border-bottom:1px solid #e3dfee; margin-bottom:22px; }
.lead-label { display:flex; align-items:center; gap:8px; font-size:10px; font-weight:800; letter-spacing:1.5px; color:#6542a1; }
.lead-label>span { width:7px; height:7px; border-radius:50%; background:#7a38ec; box-shadow:0 0 0 4px #7a38ec16; }
.lead-heading h2 { font-size:25px; line-height:1.22; letter-spacing:-1px; margin:13px 0 9px; color:#18142c; }
.lead-heading p,.lead-review>p { margin:0; color:#6b647b; font-size:13px; line-height:1.65; }
.lead-progress>div { display:flex; justify-content:space-between; color:#6b647b; font-size:11px; font-weight:600; }
.lead-progress progress { display:block; width:100%; height:4px; border:0; border-radius:8px; overflow:hidden; margin:10px 0 25px; background:#e8e2f2; accent-color:#7635e8; }
.lead-progress progress::-webkit-progress-bar { background:#e8e2f2; }
.lead-progress progress::-webkit-progress-value { background:linear-gradient(90deg,#4634ff,#9839e8); transition:width .3s; }
.lead-progress progress::-moz-progress-bar { background:#7635e8; }
.lead-card fieldset { margin:0; padding:0; border:0; min-width:0; }
.lead-card fieldset+fieldset { margin-top:24px; }
.lead-card .is-enhanced fieldset { margin-top:0; }
.lead-card form:not(.is-enhanced) fieldset,.lead-card form:not(.is-enhanced) .lead-privacy,.is-enhanced .lead-fallback { display:none; }
.lead-fallback { font-size:14px; line-height:1.7; }
.lead-fallback a { color:#6b3bb0; text-decoration:underline; }
.lead-card legend { float:none; width:100%; font-family:"Plus Jakarta Sans",Inter,sans-serif; font-size:20px; font-weight:750; line-height:1.4; letter-spacing:-.5px; padding:0; color:#221936; }
.lead-card legend:focus,.lead-review h3:focus { outline:none; }
.lead-hint { margin:9px 0 18px; color:#766c88; font-size:12px; line-height:1.6; }
.lead-choice { display:flex; align-items:center; position:relative; gap:12px; padding:14px 16px; margin:0 0 9px; border:1px solid #dfd9ea; background:white; border-radius:12px; font-size:13px; font-weight:650; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; min-height:60px; }
.lead-choice:hover { background:#f1edfa; border-color:#b69adf; }
.lead-choice:has(input:checked) { background:#eee6ff; border-color:#8952db; color:#5420a4; }
.lead-choice:has(input:focus-visible) { outline:3px solid #9a6be5; outline-offset:3px; }
.lead-choice input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; margin:0; }
.lead-choice small { display:block; margin-top:3px; font-weight:400; font-size:11px; line-height:1.4; color:#706680; }
.choice-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#f1edf8; color:#7142ba; font-size:20px; flex:none; }
.choice-mark { width:17px; height:17px; border:1.5px solid #cbc1d9; border-radius:50%; margin-left:auto; flex:none; }
.lead-choice:has(input[type=checkbox]) .choice-mark { border-radius:5px; }
.lead-choice:has(input:checked) .choice-mark { border-color:#7b36d9; background:#7b36d9; box-shadow:inset 0 0 0 3px #eee6ff; }
.lead-field { display:block; color:#453a57; font-weight:600; font-size:12px; margin:16px 0; }
.lead-field input { display:block; width:100%; min-width:0; min-height:48px; margin-top:7px; padding:12px 14px; border-radius:10px; border:1px solid #dcd4e8; background:white; color:#211732; font:inherit; font-size:14px; }
.lead-field input::placeholder { color:#887d96; }
.lead-field input[aria-invalid=true] { border-color:#b42338; }
.lead-actions { display:flex; align-items:center; gap:14px; margin-top:20px; }
.lead-next { display:flex; justify-content:center; align-items:center; gap:20px; width:100%; min-height:50px; background:linear-gradient(105deg,#5230e8,#8832d8); color:white; border:0; border-radius:11px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; box-shadow:0 6px 16px #733de52b; transition:filter .2s,transform .2s; }
.lead-next:hover { filter:brightness(1.1); transform:translateY(-1px); }
.lead-next>span { font-size:20px; }
.lead-back { flex:none; background:none; border:0; color:#695580; padding:12px 0; font:inherit; font-size:12px; cursor:pointer; min-height:44px; }
.lead-error { color:#a61c35; font-size:12px; line-height:1.5; margin:12px 0 0; }
.lead-error:empty { display:none; }
.lead-privacy { font-size:10px; line-height:1.65; text-align:center; color:#7a7089; margin:17px 0 0; }
.lead-privacy a { color:#6b3bb0; text-decoration:underline; }
.lead-review h3 { font-size:25px; margin:15px 0 10px; letter-spacing:-1px; }
.review-check { width:42px; height:42px; display:grid; place-items:center; background:#e7dcfb; color:#722acb; font-size:24px; border-radius:50%; }
.lead-review dl { background:#f0ecf7; padding:18px; border-radius:12px; margin:20px 0; overflow-wrap:anywhere; }
.lead-review dt { font-size:10px; color:#746384; margin-top:12px; }
.lead-review dt:first-child { margin-top:0; }
.lead-review dd { margin:4px 0 0; font-size:12px; line-height:1.5; font-weight:600; }
.page-contato .contact-layout { align-items:start; }
.page-contato .lead-card { position:relative; }
/* Shared institutional refinements retain original photography and blue/purple identity. */
.site-header { border-bottom:1px solid #b08bff18; }
.main-nav .nav-diagnostic { display:none; }
.button { transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.service-card { transition:border-color .25s,transform .25s,background .25s; }
.service-card:hover { border-color:#9464e8; transform:translateY(-4px); background:linear-gradient(145deg,#171037,#080c20); }
.service-card>a::after { content:" ↗"; }
.page-home .hero-section { padding-top:54px; padding-bottom:65px; }
.page-home .hero-layout { align-items:center; }
.page-home .hero-section h1 { font-size:clamp(42px,4.8vw,66px); line-height:1.08; letter-spacing:-3px; max-width:670px; }
.hero-gradient { font-weight:800; background:linear-gradient(100deg,#b7a0ff,#c67bff 75%); background-clip:text; -webkit-text-fill-color:transparent; }
.page-home .hero-text { max-width:570px; font-size:16px; line-height:1.8; }
.page-home .hero-visual { transform:none; }
.page-home .hero-photo-card { border:1px solid #b59cf62b; border-radius:28px; }
.page-home .hero-photo-card>img { height:520px; aspect-ratio:auto; }
.page-home .hero-trust { border-top:1px solid #b59cf629; padding-top:24px; }
.page-home .section-head h2 { text-wrap:balance; }
.diagnostic-banner { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:35px 40px; background:linear-gradient(115deg,#251551,#151c50); border:1px solid #b68bff44; border-radius:24px; margin-top:36px; }
.diagnostic-banner h3 { margin:0 0 8px; font-size:24px; letter-spacing:-.8px; }
.diagnostic-banner p { margin:0; color:#bab2d6; font-size:14px; line-height:1.6; }
.diagnostic-banner .button { flex:none; }
@media (max-width:980px) {
  .main-nav .nav-diagnostic { display:block; color:#d3b2ff; font-weight:700; border-top:1px solid #ad7eeb30; padding-top:15px; }
  .page-contato .contact-layout>.lead-card { order:-1; }
}
@media (max-width:720px) {
  .lead-card { padding:24px 20px; border-radius:22px; }
  .lead-heading h2 { font-size:23px; }
  .lead-card legend { font-size:19px; }
  .lead-choice { padding:13px 12px; font-size:13px; }
  .diagnostic-banner { flex-direction:column; align-items:start; padding:27px; }
  .page-home .hero-section h1 { letter-spacing:-2px; }
  .page-home .hero-section { padding-top:40px; }
  .page-home .hero-photo-card>img { height:360px; }
}
