/* =====================================================================
   Vitar Gestão Ambiental — styles.css
   ---------------------------------------------------------------------
   1. Tokens (cores, tipografia, raios, sombras) + tema escuro
   2. Base
   3. Utilitários (wrap, eyebrow, mono, topo, reveal)
   4. Componentes (botões, header, cards, chips, formulário)
   5. Página inicial (hero, marquee, serviços, banda, processo, blog, CTA)
   6. Páginas internas (sobre, serviços, time, blog/artigo, contato)
   7. Rodapé e botão flutuante
   8. Área do administrador
   9. Responsivo
  10. Movimento reduzido
   ===================================================================== */

/* 1. TOKENS ============================================================ */
:root{
  --bg:#f4f7f1;
  --surface:#ffffff;
  --surface-2:#eaf1e6;
  --ink:#132015;
  --muted:#55645a;
  --line:#dbe3d5;
  --forest:#0f3414;
  --forest-2:#1f4d1a;
  --leaf:#00843d;
  --leaf-ink:#006b32;
  --moss:#62bb67;
  --earth:#c4802f;          /* acento: solo / terra / fundiário */
  --mint:#e1f0dd;
  --on-dark:#eef4ec;

  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --r:18px;
  --r-sm:12px;
  --sh-1:0 1px 2px rgba(16,40,20,.06),0 2px 10px rgba(16,40,20,.05);
  --sh-2:0 18px 40px -16px rgba(16,40,20,.28);
  --ease:cubic-bezier(.2,.7,.2,1);
  --head-h:72px;

  /* Curvas de nível (máscara SVG — a cor vem de currentColor) */
  --topo:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1600 900%22%3E%3Cg fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.6%22%3E%3Cpath d=%22M144 0 L137 10 L130 21 L122 40 L119 50 L119 70 L122 80 L130 95 L140 105 L150 112 L167 120 L180 124 L200 128 L220 130 L240 130 L260 129 L280 126 L300 123 L314 120 L330 115 L347 110 L360 105 L371 100 L390 90 L400 84 L410 76 L420 68 L430 58 L440 45 L449 30 L453 20 L458 0%22/%3E%3Cpath d=%22M57 0 L50 11 L40 30 L36 40 L31 60 L29 70 L30 87 L32 100 L40 118 L48 130 L57 140 L70 150 L80 156 L90 162 L110 169 L120 172 L140 176 L160 179 L172 180 L190 181 L210 181 L224 180 L240 179 L260 177 L280 174 L300 171 L310 169 L330 165 L349 160 L360 157 L380 151 L390 147 L408 140 L420 134 L430 130 L447 120 L460 112 L470 105 L480 97 L490 88 L500 78 L510 66 L520 52 L527 40 L532 30 L538 10 L541 0%22/%3E%3Cpath d=%22M0 168 L10 176 L20 183 L32 190 L50 198 L60 202 L80 209 L90 211 L110 215 L130 218 L150 219 L170 220 L190 219 L210 219 L230 217 L250 215 L270 213 L290 210 L300 209 L320 205 L340 201 L350 199 L370 194 L387 190 L400 186 L420 180 L430 176 L447 170 L460 164 L470 160 L490 150 L500 144 L510 138 L522 130 L535 120 L547 110 L557 100 L566 90 L574 80 L582 70 L590 57 L599 40 L603 30 L609 10 L612 0%22/%3E%3Cpath d=%22M0 220 L20 229 L30 233 L50 239 L60 241 L80 246 L100 249 L111 250 L130 252 L150 252 L170 253 L190 252 L210 251 L225 250 L240 249 L260 247 L280 244 L300 242 L312 240 L330 237 L350 234 L370 230 L380 228 L400 224 L415 220 L430 216 L450 210 L460 207 L480 201 L490 197 L507 190 L520 184 L530 180 L549 170 L560 163 L570 157 L581 150 L594 140 L606 130 L616 120 L626 110 L634 100 L642 90 L650 78 L660 60 L665 50 L670 38 L676 20 L680 5%22/%3E%3Cpath d=%22M0 257 L10 260 L30 266 L45 270 L60 273 L80 276 L100 279 L112 280 L130 281 L150 282 L170 282 L190 281 L210 281 L220 280 L240 278 L260 277 L280 275 L300 272 L320 270 L330 269 L350 266 L370 263 L389 260 L400 258 L420 255 L440 251 L450 249 L470 244 L487 240 L500 237 L520 231 L530 228 L550 221 L560 217 L579 210 L590 205 L601 200 L620 190 L630 184 L640 178 L651 170 L664 160 L676 150 L686 140 L695 130 L703 120 L710 110 L720 95 L728 80 L733 70 L740 53 L744 40 L750 20 L752 10%22/%3E%3Cpath d=%22M0 288 L10 290 L30 295 L50 299 L60 301 L80 304 L100 306 L120 308 L140 309 L160 309 L180 309 L200 309 L220 308 L240 307 L260 305 L280 304 L300 302 L320 300 L330 299 L350 297 L370 295 L390 293 L410 291 L420 289 L440 287 L460 284 L480 281 L490 280 L510 277 L530 273 L549 270 L560 268 L580 264 L598 260 L610 257 L630 252 L640 249 L660 243 L670 240 L690 233 L700 229 L719 220 L730 214 L740 207 L750 200 L762 190 L772 180 L781 170 L790 157 L799 140 L804 130 L810 117 L816 100 L820 87 L825 70 L829 50 L831 40 L834 20 L836 0%22/%3E%3Cpath d=%22M1070 300 L1060 300 L1040 302 L1020 304 L1000 308 L990 310 L970 317 L960 321 L944 330 L932 340 L922 350 L915 360 L909 370 L902 390 L900 400 L898 420 L899 440 L901 450 L907 470 L911 480 L920 494 L930 507 L940 516 L950 524 L960 530 L980 540 L990 544 L1010 550 L1020 553 L1040 557 L1058 560 L1070 562 L1090 564 L1110 566 L1130 567 L1150 566 L1170 563 L1180 560 L1200 552 L1210 546 L1220 540 L1232 530 L1243 520 L1252 510 L1261 500 L1270 487 L1280 471 L1286 460 L1290 450 L1296 430 L1300 410 L1299 390 L1293 370 L1288 360 L1280 349 L1270 339 L1257 330 L1240 321 L1230 317 L1210 311 L1200 309 L1180 305 L1160 302 L1140 301 L1130 300 L1110 299 L1090 299 L1070 300%22/%3E%3Cpath d=%22M0 315 L20 320 L30 322 L50 326 L70 329 L81 330 L100 332 L120 334 L140 335 L160 336 L180 336 L200 336 L220 335 L240 335 L260 334 L280 333 L300 332 L320 330 L330 330 L350 329 L370 327 L390 326 L410 325 L430 324 L450 323 L470 322 L490 321 L510 320 L520 320 L540 319 L560 319 L580 319 L600 319 L617 320 L630 321 L650 323 L670 326 L687 330 L700 334 L713 340 L730 350 L740 358 L750 368 L759 380 L766 390 L771 400 L780 418 L786 430 L790 440 L799 460 L803 470 L810 483 L819 500 L825 510 L831 520 L840 532 L850 544 L860 555 L870 564 L880 573 L891 580 L908 590 L920 595 L933 600 L950 605 L970 610 L980 612 L1000 615 L1020 618 L1035 620 L1050 622 L1070 626 L1090 629 L1100 631 L1120 634 L1140 637 L1160 637 L1180 636 L1200 630 L1210 626 L1220 620 L1235 610 L1247 600 L1258 590 L1268 580 L1277 570 L1286 560 L1294 550 L1302 540 L1310 529 L1320 515 L1330 500 L1336 490 L1342 480 L1350 466 L1358 450 L1362 440 L1370 420 L1373 410 L1377 390 L1379 370 L1378 350 L1374 330 L1370 319 L1360 300 L1353 290 L1344 280 L1333 270 L1320 261 L1310 255 L1300 249 L1280 240 L1270 236 L1250 230 L1240 227 L1220 222 L1210 220 L1190 216 L1170 212 L1160 210 L1140 206 L1120 202 L1108 200 L1090 196 L1070 191 L1060 188 L1040 182 L1030 178 L1013 170 L1000 163 L990 155 L980 147 L970 135 L960 120 L956 110 L950 93 L947 80 L943 60 L941 40 L940 30 L938 10%22/%3E%3Cpath d=%22M0 341 L20 345 L40 349 L50 351 L70 354 L90 356 L110 358 L130 360 L140 360 L160 362 L180 362 L200 363 L220 363 L240 363 L260 362 L280 362 L300 362 L320 361 L340 361 L360 361 L380 361 L400 361 L420 361 L440 361 L460 362 L480 363 L500 365 L520 367 L539 370 L550 372 L570 376 L585 380 L600 385 L614 390 L630 397 L640 403 L652 410 L665 420 L677 430 L687 440 L696 450 L704 460 L712 470 L720 481 L730 495 L740 510 L747 520 L754 530 L761 540 L770 552 L780 564 L790 576 L800 587 L810 598 L820 607 L830 616 L840 624 L850 631 L864 640 L880 649 L890 654 L905 660 L920 665 L939 670 L950 672 L970 676 L990 679 L1000 681 L1020 684 L1040 689 L1050 692 L1070 700 L1080 704 L1090 710 L1105 720 L1117 730 L1126 740 L1133 750 L1136 770 L1130 782 L1120 794 L1110 803 L1100 812 L1090 820 L1077 830 L1065 840 L1053 850 L1042 860 L1032 870 L1023 880 L1014 890%22/%3E%3Cpath d=%22M1223 890 L1220 880 L1214 860 L1210 847 L1204 830 L1200 818 L1193 800 L1190 785 L1190 770 L1192 760 L1200 748 L1210 734 L1220 722 L1229 710 L1237 700 L1245 690 L1253 680 L1261 670 L1270 658 L1280 644 L1290 631 L1298 620 L1305 610 L1312 600 L1320 589 L1330 575 L1340 560 L1347 550 L1354 540 L1361 530 L1370 516 L1380 501 L1387 490 L1393 480 L1400 468 L1410 450 L1415 440 L1420 430 L1429 410 L1433 400 L1440 380 L1443 370 L1447 350 L1450 330 L1450 320 L1450 307 L1448 290 L1444 270 L1440 258 L1431 240 L1425 230 L1418 220 L1410 210 L1400 200 L1388 190 L1375 180 L1360 170 L1350 165 L1340 159 L1320 150 L1310 146 L1296 140 L1280 134 L1270 130 L1250 123 L1240 119 L1220 111 L1210 107 L1193 100 L1180 94 L1170 88 L1156 80 L1141 70 L1130 60 L1120 51 L1111 40 L1104 30 L1097 20 L1090 6%22/%3E%3Cpath d=%22M0 367 L18 370 L30 372 L50 375 L70 378 L81 380 L100 382 L120 385 L140 386 L160 388 L180 389 L196 390 L210 391 L230 391 L250 392 L270 392 L290 393 L310 394 L330 394 L350 395 L370 396 L390 397 L410 399 L420 400 L440 402 L460 405 L480 409 L490 411 L510 416 L522 420 L540 426 L550 430 L570 440 L580 445 L590 451 L603 460 L616 470 L628 480 L638 490 L648 500 L658 510 L666 520 L675 530 L684 540 L692 550 L700 560 L710 572 L720 584 L730 595 L740 606 L750 617 L760 628 L770 638 L780 648 L790 658 L800 667 L810 676 L820 684 L830 692 L840 700 L853 710 L867 720 L880 730 L890 738 L900 746 L910 755 L920 765 L930 780 L933 790 L935 810 L933 830 L930 844 L926 860 L920 879 L916 890%22/%3E%3Cpath d=%22M1290 890 L1287 870 L1284 850 L1283 830 L1282 810 L1282 790 L1284 770 L1288 750 L1290 740 L1296 720 L1300 710 L1308 690 L1313 680 L1320 665 L1328 650 L1334 640 L1340 629 L1350 613 L1358 600 L1364 590 L1371 580 L1380 566 L1390 551 L1398 540 L1404 530 L1411 520 L1420 507 L1430 492 L1438 480 L1445 470 L1451 460 L1460 446 L1470 430 L1476 420 L1482 410 L1490 395 L1498 380 L1503 370 L1510 357 L1518 340 L1523 330 L1530 313 L1535 300 L1540 287 L1546 270 L1550 259 L1556 240 L1560 227 L1565 210 L1570 190 L1572 180 L1576 160 L1580 140 L1581 130 L1584 110 L1587 90 L1589 70%22/%3E%3Cpath d=%22M0 392 L20 396 L40 399 L50 401 L70 404 L90 407 L110 410 L120 411 L140 413 L160 416 L180 418 L200 419 L210 420 L230 422 L250 423 L270 425 L290 426 L310 428 L330 430 L340 431 L360 433 L380 436 L400 439 L410 441 L430 445 L449 450 L460 453 L480 460 L490 464 L505 470 L520 477 L530 483 L542 490 L557 500 L570 509 L580 517 L590 526 L600 535 L610 544 L620 554 L630 564 L640 575 L650 585 L660 596 L670 607 L680 618 L690 629 L700 640 L710 650 L719 660 L728 670 L738 680 L747 690 L756 700 L766 710 L775 720 L784 730 L793 740 L801 750 L810 762 L820 776 L828 790 L833 800 L840 820 L842 830 L844 850 L843 870 L841 890%22/%3E%3Cpath d=%22M1338 890 L1335 870 L1332 850 L1330 830 L1330 820 L1330 800 L1330 789 L1332 770 L1334 750 L1339 730 L1341 720 L1348 700 L1351 690 L1360 670 L1364 660 L1370 649 L1380 630 L1385 620 L1391 610 L1400 596 L1410 580 L1417 570 L1424 560 L1431 550 L1440 537 L1450 523 L1460 510 L1467 500 L1475 490 L1482 480 L1490 470 L1500 457 L1510 444 L1520 431 L1529 420 L1538 410 L1546 400 L1555 390 L1564 380 L1574 370 L1584 360%22/%3E%3Cpath d=%22M0 419 L10 421 L30 424 L50 428 L64 430 L80 433 L100 436 L120 439 L130 441 L150 444 L170 447 L190 450 L200 451 L220 454 L240 456 L260 459 L270 460 L290 463 L310 466 L330 469 L340 471 L360 475 L380 479 L390 482 L410 487 L420 490 L440 497 L450 501 L470 510 L480 515 L490 520 L507 530 L520 538 L530 545 L540 552 L550 560 L562 570 L574 580 L585 590 L596 600 L607 610 L617 620 L627 630 L637 640 L646 650 L656 660 L665 670 L674 680 L682 690 L691 700 L700 711 L710 723 L720 736 L730 750 L737 760 L743 770 L750 781 L759 800 L764 810 L770 830 L772 840 L774 860 L773 880%22/%3E%3Cpath d=%22M1379 890 L1375 870 L1372 850 L1370 830 L1369 820 L1369 800 L1369 780 L1370 770 L1373 750 L1377 730 L1380 717 L1385 700 L1390 686 L1397 670 L1401 660 L1410 642 L1416 630 L1422 620 L1430 607 L1440 591 L1448 580 L1455 570 L1462 560 L1470 549 L1480 536 L1490 524 L1500 512 L1510 500 L1519 490 L1529 480 L1538 470 L1549 460 L1559 450 L1570 440 L1580 432 L1590 424%22/%3E%3Cpath d=%22M0 449 L10 450 L30 454 L50 458 L63 460 L80 464 L100 468 L112 470 L130 474 L150 478 L161 480 L180 484 L200 488 L211 490 L230 494 L250 498 L263 500 L280 503 L300 507 L313 510 L330 514 L350 519 L360 521 L380 527 L390 530 L410 537 L420 541 L440 549 L450 554 L463 560 L480 569 L490 575 L500 581 L514 590 L529 600 L540 608 L550 616 L560 624 L570 632 L580 641 L590 650 L600 660 L610 670 L620 680 L630 691 L640 703 L650 715 L660 728 L668 740 L675 750 L681 760 L690 776 L697 790 L701 800 L708 820 L710 830 L714 850 L714 870 L712 890%22/%3E%3Cpath d=%22M62 890 L60 887 L56 880 L50 872 L49 870 L41 860 L40 858 L33 850 L30 846 L24 840 L20 835 L15 830 L10 825 L4 820 L0 817%22/%3E%3Cpath d=%22M1418 890 L1413 870 L1410 855 L1407 840 L1405 820 L1404 800 L1405 780 L1406 760 L1409 740 L1411 730 L1417 710 L1420 699 L1427 680 L1431 670 L1440 652 L1446 640 L1452 630 L1460 616 L1470 601 L1478 590 L1485 580 L1493 570 L1501 560 L1510 549 L1520 538 L1530 528 L1540 518 L1550 508 L1560 500 L1572 490 L1585 480%22/%3E%3Cpath d=%22M0 484 L20 488 L32 490 L50 494 L70 499 L80 501 L100 507 L113 510 L130 515 L149 520 L160 523 L180 529 L190 531 L210 537 L223 540 L240 544 L260 549 L270 551 L290 555 L310 560 L320 562 L340 566 L355 570 L370 574 L390 580 L400 583 L420 589 L430 593 L447 600 L460 606 L470 610 L489 620 L500 626 L510 632 L522 640 L536 650 L549 660 L560 669 L570 677 L580 687 L590 697 L600 707 L610 719 L619 730 L626 740 L633 750 L640 762 L650 780 L654 790 L660 806 L664 820 L668 840 L670 860 L669 880%22/%3E%3Cpath d=%22M124 890 L120 881 L120 880 L115 870 L110 860 L110 860 L105 850 L100 841 L100 840 L94 830 L90 824 L88 820 L81 810 L80 809 L73 800 L70 796 L65 790 L60 785 L55 780 L50 775 L44 770 L40 766 L32 760 L30 759 L20 752 L17 750 L10 746 L1 740 L0 740%22/%3E%3Cpath d=%22M1456 890 L1450 871 L1447 860 L1443 840 L1440 820 L1439 810 L1438 790 L1439 770 L1440 760 L1443 740 L1447 720 L1450 710 L1457 690 L1461 680 L1470 661 L1476 650 L1481 640 L1490 626 L1500 611 L1508 600 L1516 590 L1525 580 L1534 570 L1544 560 L1554 550 L1566 540 L1578 530 L1590 521%22/%3E%3Cpath d=%22M0 539 L10 541 L30 545 L47 550 L60 555 L75 560 L90 566 L100 571 L120 579 L130 584 L147 590 L160 595 L180 600 L190 602 L210 606 L230 608 L250 610 L260 611 L280 612 L300 613 L320 614 L340 616 L360 618 L371 620 L390 623 L410 627 L420 630 L440 636 L452 640 L470 647 L480 652 L496 660 L510 668 L520 674 L530 681 L542 690 L554 700 L565 710 L575 720 L584 730 L592 740 L600 752 L610 767 L617 780 L621 790 L629 810 L632 820 L636 840 L637 860 L636 880%22/%3E%3Cpath d=%22M174 890 L170 878 L164 860 L160 847 L155 830 L150 813 L146 800 L140 781 L136 770 L130 755 L122 740 L116 730 L109 720 L100 710 L89 700 L74 690 L60 682 L50 677 L32 670 L20 665 L7 660%22/%3E%3Cpath d=%22M1495 890 L1490 878 L1484 860 L1480 847 L1476 830 L1474 810 L1472 790 L1473 770 L1475 750 L1479 730 L1481 720 L1488 700 L1492 690 L1500 671 L1506 660 L1512 650 L1520 638 L1530 624 L1540 612 L1550 600 L1560 590 L1570 581 L1580 573 L1590 565%22/%3E%3Cpath d=%22M215 890 L210 873 L207 860 L204 840 L202 820 L201 800 L202 780 L205 760 L210 740 L214 730 L220 719 L230 705 L240 696 L250 688 L264 680 L280 673 L290 670 L310 664 L330 661 L340 659 L360 658 L380 658 L400 659 L410 661 L430 664 L450 670 L460 673 L478 680 L490 686 L500 691 L515 700 L529 710 L540 719 L550 728 L560 739 L570 750 L577 760 L584 770 L590 781 L599 800 L603 810 L608 830 L610 845 L611 860 L610 877 L608 890%22/%3E%3Cpath d=%22M1538 890 L1532 880 L1530 876 L1527 870 L1523 860 L1520 853 L1519 850 L1516 840 L1513 830 L1511 820 L1510 813 L1509 810 L1508 800 L1508 790 L1508 780 L1508 770 L1509 760 L1510 750 L1510 750 L1512 740 L1514 730 L1517 720 L1520 710 L1520 710 L1524 700 L1528 690 L1530 687 L1533 680 L1539 670 L1540 668 L1545 660 L1550 653 L1553 650 L1560 640 L1560 640 L1569 630 L1570 629 L1579 620 L1580 619 L1590 610%22/%3E%3Cpath d=%22M247 890 L243 870 L240 850 L239 840 L240 820 L241 810 L245 790 L250 775 L257 760 L263 750 L270 740 L280 730 L291 720 L306 710 L320 703 L330 699 L350 693 L364 690 L380 688 L400 688 L420 689 L430 690 L450 695 L466 700 L480 706 L490 711 L506 720 L520 730 L530 738 L540 748 L550 759 L559 770 L565 780 L571 790 L580 810 L583 820 L587 840 L589 860 L588 880%22/%3E%3Cpath d=%22M1590 890 L1581 880 L1580 878 L1574 870 L1570 864 L1568 860 L1563 850 L1560 844 L1558 840 L1555 830 L1552 820 L1550 813 L1549 810 L1548 800 L1547 790 L1546 780 L1547 770 L1547 760 L1549 750 L1550 743 L1551 740 L1553 730 L1557 720 L1560 712 L1561 710 L1565 700 L1570 692 L1571 690 L1577 680 L1580 676 L1585 670 L1590 664%22/%3E%3Cpath d=%22M275 890 L271 870 L269 860 L269 840 L270 827 L273 810 L280 790 L285 780 L291 770 L300 758 L310 748 L320 739 L335 730 L350 723 L360 719 L380 714 L400 712 L420 712 L440 715 L460 720 L470 724 L484 730 L500 739 L510 746 L520 755 L530 765 L540 777 L549 790 L555 800 L560 812 L566 830 L569 850 L569 870 L566 890%22/%3E%3Cpath d=%22M300 890 L295 870 L294 850 L296 830 L300 813 L305 800 L310 790 L320 776 L330 766 L340 757 L351 750 L370 741 L380 738 L400 734 L420 733 L440 735 L458 740 L470 744 L481 750 L497 760 L510 770 L519 780 L527 790 L534 800 L540 812 L546 830 L550 849 L551 860 L550 871 L547 890%22/%3E%3Cpath d=%22M323 890 L320 880 L317 860 L318 840 L320 829 L327 810 L332 800 L340 790 L350 779 L362 770 L380 761 L390 758 L410 754 L430 754 L450 757 L460 761 L479 770 L490 777 L500 786 L510 797 L519 810 L524 820 L530 840 L532 850 L532 870 L530 881%22/%3E%3Cpath d=%22M346 890 L340 870 L339 860 L340 847 L344 830 L350 816 L360 802 L370 792 L380 786 L392 780 L410 775 L430 774 L450 778 L460 782 L475 790 L487 800 L496 810 L502 820 L510 838 L512 850 L512 870 L510 882%22/%3E%3Cpath d=%22M373 890 L370 885 L368 880 L365 870 L364 860 L364 850 L367 840 L370 831 L370 830 L377 820 L380 817 L387 810 L390 808 L400 802 L406 800 L410 799 L420 797 L430 797 L440 798 L446 800 L450 801 L460 806 L466 810 L470 814 L476 820 L480 825 L483 830 L488 840 L490 848 L491 850 L491 860 L491 870 L490 872 L488 880 L483 890%22/%3E%3Cpath d=%22M420 890 L410 885 L405 880 L400 873 L398 870 L397 860 L398 850 L400 845 L403 840 L410 833 L417 830 L420 829 L430 828 L440 830 L440 830 L450 836 L454 840 L460 850 L460 852 L461 860 L460 867 L459 870 L453 880 L450 883 L440 889 L437 890%22/%3E%3C/g%3E%3C/svg%3E");

  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0c150f;--surface:#132019;--surface-2:#17271d;--ink:#e6eee4;--muted:#9fb0a3;--line:#24352a;
    --forest:#09230d;--forest-2:#123a16;--leaf:#3fbf6f;--leaf-ink:#5fd08a;--moss:#62bb67;--earth:#e0a254;--mint:#183021;
    --sh-1:0 1px 2px rgba(0,0,0,.3);--sh-2:0 18px 40px -16px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0c150f;--surface:#132019;--surface-2:#17271d;--ink:#e6eee4;--muted:#9fb0a3;--line:#24352a;
  --forest:#09230d;--forest-2:#123a16;--leaf:#3fbf6f;--leaf-ink:#5fd08a;--moss:#62bb67;--earth:#e0a254;--mint:#183021;
  --sh-1:0 1px 2px rgba(0,0,0,.3);--sh-2:0 18px 40px -16px rgba(0,0,0,.6);
  color-scheme:dark;
}

/* 2. BASE ============================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 16px);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 1.0625rem/1.65 var(--f-body);
  -webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
h1,h2,h3,h4{margin:0;line-height:1.1;text-wrap:balance}
h1,h2{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}
h3{font-family:var(--f-body);font-weight:700;font-size:1.2rem;letter-spacing:-.005em}
p{margin:0}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--moss);color:#fff}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px;border-radius:6px}
svg.i{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* 3. UTILITÁRIOS ======================================================= */
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.mono{font-family:var(--f-mono);font-feature-settings:"tnum"}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font:500 .76rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--leaf-ink);margin-bottom:1rem;
}
.eyebrow::before{content:"";width:22px;height:1.5px;background:currentColor}
.lead{color:var(--muted);font-size:1.12rem;max-width:62ch}
.view{display:none}
.view.on{display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Camada de curvas de nível: aplicar .topo em um bloco position:relative */
.topo{position:relative;isolation:isolate}
.topo::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:currentColor;opacity:.13;
  -webkit-mask:var(--topo) center/cover no-repeat;mask:var(--topo) center/cover no-repeat;
}

/* Revelar ao rolar (ativado por JS; desativado com movimento reduzido) */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* 4. COMPONENTES ======================================================= */
/* Botões */
.btn{
  white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  background:var(--leaf);color:#fff;border:1.5px solid var(--leaf);
  font:600 1rem/1 var(--f-body);text-decoration:none;cursor:pointer;
  padding:.95rem 1.5rem;border-radius:999px;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,color .2s,border-color .2s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,132,61,.6)}
.btn:active{transform:translateY(0)}
.btn .i{transition:transform .2s var(--ease)}
.btn:hover .i{transform:translateX(3px)}
.btn.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(6px)}
.btn.ghost:hover{background:#fff;color:var(--forest);box-shadow:none}
.btn.soft{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.soft:hover{border-color:var(--leaf);color:var(--leaf-ink);box-shadow:none}
.btn.sm{padding:.7rem 1.15rem;font-size:.95rem}
.row{display:flex;flex-wrap:wrap;gap:.75rem}

/* Cabeçalho */
.top{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s;
  padding-top:env(safe-area-inset-top,0px);
}
.top.scrolled{border-color:var(--line);box-shadow:0 6px 20px -14px rgba(0,0,0,.25)}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:var(--head-h)}
.logo{display:block;flex:none;line-height:0}
.logo img{height:46px;width:auto}
.logo .lg-w{display:none}
.foot .logo img{height:44px}
/* Tema escuro: troca para a logo branca */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo .lg-c{display:none}
  :root:not([data-theme="light"]) .logo .lg-w{display:block}
  :root.no-logo-w:not([data-theme="light"]) .logo{background:#fff;border-radius:10px;padding:3px 8px}
}
:root[data-theme="dark"] .logo .lg-c{display:none}
:root[data-theme="dark"] .logo .lg-w{display:block}
.nav{display:flex;gap:.25rem;margin-left:auto;align-items:center}
.nav a{
  position:relative;text-decoration:none;font-weight:600;font-size:.97rem;color:var(--muted);
  padding:.5rem .85rem;border-radius:999px;transition:color .2s,background .2s;
}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav a.on{color:var(--leaf-ink)}
.nav a.on::after{content:"";position:absolute;left:50%;bottom:.15rem;width:5px;height:5px;border-radius:50%;background:var(--leaf);transform:translateX(-50%)}
.burger{
  display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);
  background:var(--surface);color:var(--ink);cursor:pointer;place-items:center;
}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s var(--ease),opacity .2s}
.burger span{position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.menu-open .burger span{background:transparent}
.menu-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}

/* Ícone em caixa */
.ico{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:var(--mint);color:var(--leaf-ink);transition:background .25s,color .25s,transform .25s var(--ease);
}
.ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Lista com checks */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.checks li{position:relative;padding-left:1.9rem;color:var(--ink)}
.checks li::before{
  content:"";position:absolute;left:0;top:.2em;width:1.25rem;height:1.25rem;border-radius:50%;
  background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300843d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/.8rem no-repeat;
}

/* Tag */
.tag{display:inline-flex;align-items:center;gap:.4rem;font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.45rem .65rem;border-radius:999px;background:var(--surface-2);color:var(--muted)}

/* Formulário */
.field{display:block;font-weight:600;font-size:.95rem;margin-bottom:1.1rem}
input,select,textarea{
  display:block;width:100%;margin-top:.45rem;padding:.85rem 1rem;
  border:1.5px solid var(--line);border-radius:var(--r-sm);
  background:var(--bg);color:var(--ink);font:inherit;font-weight:400;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--leaf);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--leaf) 18%,transparent)}
textarea{resize:vertical;min-height:120px}

/* 5. PÁGINA INICIAL ==================================================== */
/* Hero */
.hero{
  position:relative;color:#fff;overflow:hidden;isolation:isolate;
  min-height:min(calc(100svh - var(--head-h)),780px);
  display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--forest);
}
.hero-media{
  position:absolute;inset:0;z-index:-2;
  background:var(--heroimg,none) center/cover no-repeat;
  transform:scale(1.04);animation:heroZoom 18s var(--ease) both;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(6,24,9,.35) 0%,rgba(6,24,9,0) 30%),
    linear-gradient(90deg,rgba(6,26,10,.92) 0%,rgba(6,26,10,.7) 45%,rgba(6,26,10,.25) 100%),
    linear-gradient(0deg,rgba(6,24,9,.85) 0%,rgba(6,24,9,0) 45%);
}
.hero.topo{color:#fff}
.hero.topo::before{z-index:0;opacity:.14}
.hero-in{position:relative;padding-block:clamp(3.5rem,9vh,6rem) 2.5rem}
.hero .eyebrow{color:#a9e3ad}
.hero .eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 rgba(98,187,103,.7);animation:pulse 2.4s infinite}
.hero .eyebrow::before{display:none}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.6rem);max-width:19ch;font-weight:600;line-height:1.02}
.hero-text{max-width:56ch;font-size:clamp(1.05rem,1.6vw,1.22rem);margin:1.4rem 0 2.1rem;color:rgba(255,255,255,.86)}
.stats{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(255,255,255,.16);border-bottom:0;border-radius:var(--r) var(--r) 0 0;
  background:rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.stats>div{padding:1.4rem 1.6rem;border-left:1px solid rgba(255,255,255,.12)}
.stats>div:first-child{border-left:0}
.stats b{display:block;font:500 clamp(1.7rem,3vw,2.4rem)/1 var(--f-mono);letter-spacing:-.03em;color:#fff}
.stats b small{font-size:.55em;color:#a9e3ad;margin-left:.15rem}
.stats span{display:block;margin-top:.45rem;font-size:.92rem;color:rgba(255,255,255,.72)}

/* Faixa de clientes */
.clients{background:var(--surface);border-bottom:1px solid var(--line);padding-block:1.6rem;overflow:hidden}
.clients .wrap{display:flex;align-items:center;gap:2rem}
.clients-label{flex:none;font:500 .72rem/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:11ch}
.marquee{
  flex:1;overflow:hidden;display:flex;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.mgroup{display:flex;gap:2.75rem;padding-right:2.75rem;flex:none;align-items:center;animation:marquee 48s linear infinite}
.marquee:hover .mgroup{animation-play-state:paused}
.client{display:flex;align-items:center;white-space:nowrap;font:600 1.12rem var(--f-display);color:var(--muted);opacity:.85;transition:color .2s,opacity .2s}
.client:hover{color:var(--ink);opacity:1}
.client img{height:38px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .25s,opacity .25s}
.client:hover img{filter:none;opacity:1}

/* Blocos de seção */
.blk{padding-block:clamp(4rem,9vw,7rem)}
.blk.tint{background:var(--surface-2)}
.sh{margin-bottom:clamp(2rem,4vw,3rem)}
.sh h2{max-width:20ch}
.sh .lead{margin-top:1rem}
.sh.split{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap}

/* Cartões de serviço */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.svc{
  position:relative;display:flex;flex-direction:column;gap:.75rem;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem 1.4rem 1.3rem;text-decoration:none;min-height:250px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.svc:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--leaf) 45%,var(--line))}
.svc:hover .ico{background:var(--leaf);color:#fff;transform:rotate(-4deg)}
.svc .num{position:absolute;top:1.3rem;right:1.3rem;font-size:.78rem;color:var(--muted)}
.svc h3{margin-top:.6rem}
.svc p{color:var(--muted);font-size:.97rem;line-height:1.55}
.svc .go{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;color:var(--leaf-ink);font-weight:600;font-size:.95rem}
.svc .go .i{transition:transform .25s var(--ease)}
.svc:hover .go .i{transform:translateX(4px)}

/* Banda escura (proposta de valor) */
.band{background:var(--forest);color:var(--on-dark);overflow:hidden}
.band.topo::before{opacity:.1}
.band .eyebrow{color:#a9e3ad}
.band-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.band h2{color:#fff;max-width:16ch}
.band p{color:rgba(238,244,236,.8);margin:1.2rem 0 2rem;max-width:52ch;font-size:1.1rem}
.diffs{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.diffs li{
  display:flex;gap:1rem;align-items:center;padding:1.1rem 1.25rem;border-radius:var(--r-sm);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-weight:600;font-size:1.05rem;
  transition:background .25s,transform .25s var(--ease);
}
.diffs li:hover{background:rgba(255,255,255,.09);transform:translateX(4px)}
.diffs .mono{color:var(--earth);font-size:.85rem}

/* Processo */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:s;position:relative}
.steps li{position:relative;padding-top:4.2rem}
.steps li::before{
  counter-increment:s;content:counter(s,decimal-leading-zero);
  position:absolute;top:0;left:0;width:3rem;height:3rem;border-radius:50%;
  display:grid;place-items:center;font:500 .9rem var(--f-mono);
  background:var(--surface);border:1.5px solid var(--leaf);color:var(--leaf-ink);z-index:1;
}
.steps li::after{content:"";position:absolute;top:1.5rem;left:3rem;right:-1rem;border-top:1.5px dashed color-mix(in srgb,var(--leaf) 40%,var(--line))}
.steps li:last-child::after{display:none}
.steps h3{font-size:1.1rem;margin-bottom:.45rem}
.steps p{color:var(--muted);font-size:.96rem;line-height:1.55}

/* Cartões de blog */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.pcard{
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--sh-2)}
.cover{aspect-ratio:16/9;overflow:hidden;background:var(--forest-2);color:#9fdca4;position:relative}
.cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.pcard:hover .cover img{transform:scale(1.05)}
.cover.topo::before{opacity:.35;z-index:0}
.cover .mono{position:absolute;left:1.1rem;bottom:1rem;font-size:.75rem;letter-spacing:.1em;color:#cdeccf}
.pbody{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.pbody h3{font-size:1.15rem;line-height:1.3}
.pbody p{color:var(--muted);font-size:.96rem;line-height:1.55}
.pmeta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;padding-top:.6rem}

/* CTA */
.cta-wrap{padding-block:0 clamp(4rem,8vw,6rem)}
.cta{
  border-radius:calc(var(--r) + 8px);overflow:hidden;color:var(--on-dark);
  background:radial-gradient(120% 140% at 100% 0%,#1f6b2a 0%,var(--forest) 55%);
  padding:clamp(2.5rem,6vw,4.5rem);display:grid;grid-template-columns:1.4fr auto;gap:2rem;align-items:center;
}
.cta.topo::before{opacity:.14}
.cta h2{color:#fff;max-width:18ch}
.cta p{color:rgba(238,244,236,.8);margin-top:.9rem;max-width:50ch}

/* 6. PÁGINAS INTERNAS ================================================== */
.pagehead{background:var(--forest);color:var(--on-dark);padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);overflow:hidden}
.pagehead.topo::before{opacity:.12}
.pagehead .eyebrow{color:#a9e3ad}
.pagehead h1{font-size:clamp(2.4rem,5.5vw,4rem);color:#fff;max-width:18ch}
.pagehead p{max-width:60ch;color:rgba(238,244,236,.82);margin-top:1rem;font-size:1.12rem}

/* Sobre */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);font-size:1.12rem;color:var(--muted)}
.about-intro p:first-child{color:var(--ink);font-family:var(--f-display);font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.4;letter-spacing:-.01em}
.vmv{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.vmv>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.8rem}
.vmv h3{display:flex;align-items:center;gap:.8rem;font-size:1.3rem;margin-bottom:1rem}
.vmv h3 .ico{width:44px;height:44px;border-radius:12px}
.vmv h3 .ico svg{width:22px;height:22px}
.vmv p{color:var(--muted)}
.sectors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.sectors li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;transition:border-color .25s,transform .25s var(--ease)}
.sectors li:hover{border-color:var(--leaf);transform:translateY(-3px)}
.sectors b{display:block;font:600 1.15rem var(--f-display);margin-bottom:.35rem}
.sectors span{color:var(--muted);font-size:.95rem;line-height:1.5}

/* Serviços (página) */
.svc-layout{display:grid;grid-template-columns:250px 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.svc-index{position:sticky;top:calc(var(--head-h) + 1.5rem);display:grid;gap:.15rem}
.svc-index a{display:flex;gap:.75rem;align-items:baseline;text-decoration:none;color:var(--muted);font-weight:600;padding:.55rem .8rem;border-radius:10px;transition:background .2s,color .2s}
.svc-index a .mono{font-size:.75rem}
.svc-index a:hover,.svc-index a.on{background:var(--surface);color:var(--leaf-ink)}
.svc-list{display:grid;gap:1.25rem}
.svc-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.2rem);scroll-margin-top:calc(var(--head-h) + 1.5rem)}
.svc-block header{display:flex;gap:1.2rem;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.svc-block h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.svc-block header p{color:var(--muted);margin-top:.4rem}
.svc-block .num{margin-left:auto;color:var(--muted);font-size:.8rem}
.svc-block .checks{grid-template-columns:1fr 1fr;column-gap:2rem}
.svc-block footer{margin-top:1.6rem}

/* Time */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.25rem}
.member{margin:0}
.member .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--surface-2)}
.member img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.85) contrast(1.02);transition:transform .5s var(--ease),filter .4s}
.member:hover img{transform:scale(1.04);filter:none}
.member b{display:block;margin-top:.9rem;font:600 1.15rem var(--f-display)}
.member span{display:block;color:var(--muted);font-size:.95rem;margin-top:.15rem}

/* Fotos da equipe dentro da grade do time (pensado para 7 pessoas)
   Desktop (4 col.):  [P P P P] [P P | foto 1 (2 col.)] [P | foto 2 (3 col.)]
   Tablet (3 col.):   foto 1 em largura total; último card + foto 2 (2 col.)
   Celular (2 col.):  ambas em largura total */
.member.group{display:flex;flex-direction:column}
.member.group .ph{position:relative;aspect-ratio:auto;flex:1 1 0;min-height:0}
.member.group .ph img{position:absolute;inset:0}
.member.g1{grid-column:span 2}
.member.g1 .ph img{object-position:50% 22%}
.member.g2{grid-column:span 3}
.member.g2 .ph img{object-position:50% 30%}

/* Redes sociais no rodapé */
.foot .social{display:flex;gap:.6rem;margin-top:1.1rem}
.foot .social a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--mint);color:var(--leaf-ink);transition:background .2s,color .2s,transform .2s var(--ease)}
.foot .social a:hover{background:var(--leaf);color:#fff;transform:translateY(-2px)}
.foot .social svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* SITUR */
.btn.situr{background:transparent;color:var(--leaf-ink);border-color:color-mix(in srgb,var(--leaf) 45%,var(--line))}
.btn.situr:hover{background:var(--mint);box-shadow:none}
.btn.situr .i{width:1.05em;height:1.05em}
.btn.situr:hover .i{transform:none}
.bar>.btn.situr{margin-left:.25rem}
.nav a.btn.situr,.nav a.btn.situr:hover{background:transparent;color:var(--leaf-ink);border:1.5px solid color-mix(in srgb,var(--leaf) 45%,var(--line))}
.situr-card{display:flex;gap:1rem;align-items:center;margin-top:1.25rem;padding:1.2rem 1.25rem;border-radius:var(--r);text-decoration:none;
  background:var(--forest);color:var(--on-dark);transition:transform .2s var(--ease),box-shadow .2s}
.situr-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.situr-card .ico{background:rgba(255,255,255,.1);color:#a9e3ad;width:48px;height:48px}
.situr-card .ico svg{width:24px;height:24px}
.situr-card small{display:block;font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#a9e3ad}
.situr-card strong{display:block;font:600 1.3rem var(--f-display);color:#fff}
.situr-card em{display:block;font-style:normal;font-size:.93rem;color:rgba(238,244,236,.75);margin-top:.15rem}
.situr-card>.i{margin-left:auto;color:#a9e3ad}

/* ===== Diagnóstico rápido ============================================ */
.dg-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.dg-intro{position:sticky;top:calc(var(--head-h) + 2rem)}
.dg-intro .lead{margin:1rem 0 1.6rem}
.dg-points{gap:.55rem}
.dg-panel{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--sh-1);min-height:470px;display:flex;flex-direction:column}
.dg-bar{display:flex;gap:.4rem;margin-bottom:.9rem}
.dg-bar span{flex:1;height:5px;border-radius:5px;background:var(--line);transition:background .3s}
.dg-bar span.done{background:var(--leaf)}
.dg-bar span.cur{background:linear-gradient(90deg,var(--leaf) 50%,var(--line) 50%)}
.dg-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.5rem}
.dg-chips .chip{font:500 .68rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.4rem .6rem;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.dg-chips .chip.ok{background:var(--mint);color:var(--leaf-ink)}
.dg-chips .chip.ok::before{content:"✓ "}
.dg-chips .chip.cur{background:var(--forest);color:#fff}
.dg-n{font:500 .72rem var(--f-mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.dg-q{font:600 clamp(1.35rem,2.2vw,1.65rem)/1.2 var(--f-display);margin:.4rem 0 1.3rem}
.dg-opts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;animation:pop .3s var(--ease)}
.dg-opt{display:flex;gap:.8rem;align-items:flex-start;text-align:left;padding:1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .2s var(--ease),box-shadow .2s}
.dg-opt:hover{border-color:var(--leaf);transform:translateY(-2px)}
.dg-opt b{display:block;font-weight:600;line-height:1.3}
.dg-opt em{display:block;font-style:normal;font-size:.88rem;color:var(--muted);margin-top:.2rem;line-height:1.35}
.dg-opt .ico{width:40px;height:40px;border-radius:11px}
.dg-opt .ico svg{width:20px;height:20px}
.dg-opt.sel{border-color:var(--leaf);background:var(--mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--leaf) 15%,transparent)}
.dg-opt.sel .ico{background:var(--leaf);color:#fff}
.dg-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.5rem}
.dg-step{font-size:.75rem;color:var(--muted)}
.dg-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}
.dg-path{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;counter-reset:p;animation:pop .3s var(--ease)}
.dg-path li{display:flex;gap:1rem;align-items:flex-start;padding:.95rem 1.05rem;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.dg-path li::before{counter-increment:p;content:counter(p,decimal-leading-zero);flex:none;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;font:500 .78rem var(--f-mono);background:var(--forest);color:#fff}
.dg-path li>div{flex:1}
.dg-path b{display:block}
.dg-path span{display:block;color:var(--muted);font-size:.93rem;line-height:1.45;margin-top:.15rem}
.dg-path a{display:inline-block;margin-top:.35rem;font-size:.88rem;font-weight:600;color:var(--leaf-ink);text-decoration:none}
.dg-path a:hover{text-decoration:underline}
.dg-path .pri{flex:none;margin:0;align-self:center;font:500 .64rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:.35rem .55rem;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.dg-path .pri.p1{background:#fbeedd;color:#9a5a12}
.dg-disc{margin-top:1rem;display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted);padding:.8rem 1rem;border-radius:12px;background:var(--surface-2)}
.dg-disc .i{margin-top:.15rem}
.dg-wa{background:#25a244;border-color:#25a244}
@media (max-width:880px){
  .dg-wrap{grid-template-columns:1fr}
  .dg-intro{position:static}
  .dg-panel{min-height:0}
}
@media (max-width:600px){
  .dg-opts{grid-template-columns:1fr}
  .dg-path li{flex-wrap:wrap;row-gap:.5rem}
  .dg-path li>div{flex:1 1 calc(100% - 3.2rem)}
  .dg-path .pri{margin-left:3.1rem;align-self:flex-start}
  .dg-nav .dg-wa{flex:1}
}

/* Utilitários usados pelo app.js (sem estilos inline, compatível com CSP) */
.i.flip{transform:scaleX(-1)}
.eyebrow.tight{margin-bottom:.3rem}
.dg-q.dg-q-res{margin-bottom:1rem}

/* Artigo */
.article{max-width:740px;margin-inline:auto}
.back{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--muted);font-weight:600;margin-bottom:2rem}
.back:hover{color:var(--leaf-ink)}
.article h1{font-size:clamp(2.1rem,4.6vw,3.2rem)}
.article .pmeta{margin:1.2rem 0 2rem;padding:0}
.article .hero-img{border-radius:var(--r);margin-bottom:2rem;width:100%;max-height:420px;object-fit:cover}
.article .body{font-size:1.15rem;line-height:1.8;white-space:pre-line}
.aside-cta{margin-top:3rem;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1.6rem;border-radius:var(--r);background:var(--mint)}
.aside-cta b{font:600 1.2rem var(--f-display)}
.next{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.next a{text-decoration:none;font:600 1.2rem var(--f-display)}
.next a:hover{color:var(--leaf-ink)}

/* Contato */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.cinfo{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.cinfo a,.cinfo div{display:flex;gap:1rem;align-items:center;text-decoration:none;padding:1rem 1.1rem;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);transition:border-color .2s,transform .2s var(--ease)}
.cinfo a:hover{border-color:var(--leaf);transform:translateX(4px)}
.cinfo .ico{width:44px;height:44px;border-radius:12px}
.cinfo .ico svg{width:22px;height:22px}
.cinfo small{display:block;font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cinfo strong{font-weight:600;word-break:break-word}
.coverage{margin-top:1.5rem;color:var(--muted);font-size:.98rem}
.form{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r) + 4px);padding:clamp(1.5rem,4vw,2.4rem);box-shadow:var(--sh-1)}
.form h2{font-size:1.7rem;margin-bottom:.4rem}
.form>p{color:var(--muted);margin-bottom:1.6rem}
.form .btn{width:100%}

/* 7. RODAPÉ E BOTÃO FLUTUANTE ========================================= */
.foot{background:var(--surface);border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0 6rem;font-size:.97rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.3fr;gap:2.5rem}
.foot h4{font:500 .72rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.foot a{text-decoration:none;color:var(--ink)}
.foot a:hover{color:var(--leaf-ink)}
.foot .brand p{color:var(--muted);margin-top:1rem;max-width:34ch}
.foot .logo{display:inline-block}
.foot-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.88rem}

.fab{position:fixed;right:1.2rem;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}
.fab>button{width:60px;height:60px;border-radius:50%;border:0;background:#25a244;color:#fff;box-shadow:0 10px 28px -6px rgba(0,0,0,.45);cursor:pointer;display:grid;place-items:center;transition:transform .2s var(--ease)}
.fab>button:hover{transform:scale(1.06)}
.fab>button svg{width:30px;height:30px;fill:currentColor}
.fab .menu{display:none;flex-direction:column;gap:.5rem;align-items:flex-end}
.fab.open .menu{display:flex;animation:pop .2s var(--ease)}
.fab .menu a{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--sh-2);text-decoration:none;font-weight:600;padding:.65rem 1.15rem;border-radius:999px}

/* 8. ÁREA DO ADMINISTRADOR ============================================ */
#adm details{border-bottom:1px solid var(--line);padding-bottom:.4rem}
#adm summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font:600 1.25rem var(--f-display)}
#adm summary::-webkit-details-marker{display:none}
#adm summary::after{content:"+";font-size:1.6rem;color:var(--leaf);transition:transform .2s}
#adm details[open] summary::after{transform:rotate(45deg)}
#adm details>*:not(summary){margin-bottom:1rem}
#adm label{display:block;font-weight:600;margin-bottom:1rem}
.item{border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem;margin-bottom:1rem;background:var(--surface)}
.btn.rm{background:transparent;color:var(--ink);border-color:var(--line);padding:.45rem 1rem;font-size:.92rem}
.btn.rm:hover{box-shadow:none;border-color:#c0392b;color:#c0392b}
.savebar{position:sticky;bottom:calc(.8rem + env(safe-area-inset-bottom,0px));background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:.8rem;margin-top:1.2rem;display:flex;gap:1rem;align-items:center;z-index:5;box-shadow:var(--sh-2)}

/* 9. RESPONSIVO ======================================================= */
@media (max-width:1080px){
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:2.5rem}
  .steps li:nth-child(3)::after{display:none}
  .sectors{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .member.g1{grid-column:1/-1}
  .member.g1 .ph{flex:none;aspect-ratio:16/9}
  .member.g2{grid-column:span 2}
}
@media (max-width:1060px){
  :root{--head-h:64px}
  .burger{display:grid;margin-left:auto}
  .bar>.btn{display:none}
  .nav{
    position:fixed;left:0;right:0;top:calc(var(--head-h) + env(safe-area-inset-top,0px));
    flex-direction:column;align-items:stretch;gap:.25rem;margin:0;padding:1rem 1.25rem 1.5rem;
    background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--sh-2);
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .25s var(--ease),visibility .2s;
  }
  .menu-open .nav{opacity:1;visibility:visible;transform:none}
  .nav a{padding:.9rem 1rem;font-size:1.08rem;border-radius:12px}
  .nav a.on{background:var(--surface-2)}
  .nav a.on::after{left:auto;right:1rem;top:50%;bottom:auto;transform:translateY(-50%)}
  .nav .btn{display:flex;margin-top:.5rem;color:#fff}
  .logo img{height:40px}
}
@media (max-width:880px){
  .stats{grid-template-columns:1fr 1fr}
  .stats>div:nth-child(3){border-left:0}
  .stats>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .band-in,.about-intro,.contact,.cta{grid-template-columns:1fr}
  .vmv{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr 1fr}
  .svc-layout{grid-template-columns:1fr}
  .svc-index{position:static;display:flex;overflow-x:auto;gap:.4rem;scrollbar-width:none;margin-inline:-1.25rem;padding-inline:1.25rem}
  .svc-index a{white-space:nowrap;background:var(--surface);border:1px solid var(--line)}
  .clients .wrap{flex-direction:column;align-items:flex-start;gap:1rem}
  .clients-label{max-width:none}
}
@media (min-width:1061px){.nav .btn{display:none}}
@media (max-width:600px){
  .svc-grid,.post-grid{grid-template-columns:1fr}
  .svc{min-height:0}
  .steps{grid-template-columns:1fr;row-gap:0}
  .steps li{padding:0 0 2rem 4.2rem;min-height:3rem}
  .steps li::after{display:block!important;top:3rem;bottom:0;left:1.5rem;right:auto;border-top:0;border-left:1.5px dashed color-mix(in srgb,var(--leaf) 40%,var(--line))}
  .steps li:last-child::after{display:none!important}
  .sectors{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr;gap:1.25rem .9rem}
  .member b{font-size:1.02rem}
  .member span{font-size:.88rem}
  .member.g1,.member.g2{grid-column:1/-1}
  .member.g1 .ph,.member.g2 .ph{flex:none;aspect-ratio:3/2}
  .svc-block header{flex-wrap:wrap}
  .svc-block .checks{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .stats>div{padding:1.1rem 1.1rem}
  .hero .row .btn{flex:1 1 100%}
}

/* 10. MOVIMENTO ======================================================= */
@keyframes marquee{to{transform:translateX(-100%)}}
@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1.04)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(98,187,103,.7)}70%{box-shadow:0 0 0 10px rgba(98,187,103,0)}100%{box-shadow:0 0 0 0 rgba(98,187,103,0)}}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
  .marquee{overflow-x:auto}
}

/* Botão de orçamento dentro do menu mobile */
.nav a.btn,.nav a.btn:hover{background:var(--leaf);color:#fff;justify-content:center;border-radius:999px}
.nav a.btn::after{display:none}

/* Ajustes do artigo */
.article .back{display:flex;width:fit-content}
.article .eyebrow,.next .eyebrow{display:flex;margin-bottom:.8rem}
.next a{display:block;line-height:1.35}
