/* White Paper Journey: topographic trail map. System fonts only, no external requests. */

:root {
  color-scheme: light;
  --paper: #FDFDFB;
  --paper-2: #F4F6EF;
  --paper-3: #EAEFE3;
  --contour: #D5DDD0;
  --contour-d: #B4C1AB;
  --trail: #B83A17;
  --trail-d: #962C0D;
  --trail-art: #E4572E;
  --ink: #1C2B22;
  --ink-2: #3F5045;
  --sky: #DCE9F2;
  --sky-soft: #E9F1F7;
  --sky-2: #BCD5E6;
  --moss: #5D7A4E;
  --moss-d: #46603A;
  --moss-l: #E4ECDD;
  --sand: #F3E6BE;

  --t-claim: #FBE3D9;
  --t-assumption: #DCE9F2;
  --t-definition: #DDEACF;
  --t-evidence: #F3E6BE;
  --t-question: #EFE2EC;

  --f-head: "Gill Sans", "Gill Sans MT", Candara, "Trebuchet MS", "Segoe UI", sans-serif;
  --f-body: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --f-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;

  --s-1: .25rem;
  --s-2: .5rem;
  --s-3: .75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4.5rem;
  --s-9: 6.5rem;

  --gutter: clamp(1rem, 4.5vw, 2.25rem);
  --maxw: 1180px;
  --header-h: 4.25rem;
  --radius: 18px;
  --tile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800' width='1200' height='800'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.1' d='M850 121Q833 124 824 129Q815 133 808 140Q800 146 790 156Q781 167 776 183Q772 200 786 207Q800 213 817 210Q833 207 840 204Q846 200 857 192Q867 184 875 175Q884 167 889 150Q895 133 881 126Q867 118 850 121ZM850 521Q833 524 824 529Q815 533 808 540Q800 546 790 556Q781 567 776 583Q772 600 786 607Q800 613 817 610Q833 607 840 604Q846 600 857 592Q867 584 875 575Q884 567 889 550Q895 533 881 526Q867 518 850 521ZM850 83Q833 87 821 94Q808 100 804 102Q800 105 783 117Q767 130 765 132Q763 133 748 150Q734 167 733 167Q733 167 725 184Q717 200 717 217Q718 233 726 240Q733 247 750 252Q767 257 783 255Q800 254 817 249Q833 243 843 238Q852 233 859 229Q867 224 882 212Q898 200 899 199Q900 198 914 182Q928 167 931 162Q933 158 940 145Q948 133 948 117Q949 100 941 93Q933 87 917 81Q900 76 883 77Q867 78 850 83ZM117 230Q100 228 97 231Q94 233 85 250Q77 267 88 268Q100 270 102 268Q104 267 119 250Q133 234 134 234Q134 233 134 233Q133 232 117 230ZM850 483Q833 487 821 494Q808 500 804 502Q800 505 783 517Q767 530 765 532Q763 533 748 550Q734 567 733 567Q733 567 725 584Q717 600 717 617Q718 633 726 640Q733 647 750 652Q767 657 783 655Q800 654 817 649Q833 643 843 638Q852 633 859 629Q867 624 882 612Q898 600 899 599Q900 598 914 582Q928 567 931 562Q933 558 940 545Q948 533 948 517Q949 500 941 493Q933 487 917 481Q900 476 883 477Q867 478 850 483ZM117 630Q100 628 97 631Q94 633 85 650Q77 667 88 668Q100 670 102 668Q104 667 119 650Q133 634 134 634Q134 633 134 633Q133 632 117 630ZM883 61Q867 62 859 64Q851 67 842 69Q833 72 817 81Q800 89 792 94Q784 100 775 107Q767 113 755 123Q744 133 739 139Q733 146 724 156Q715 167 707 179Q700 191 697 196Q694 200 691 217Q687 233 694 244Q700 254 708 260Q716 267 725 269Q733 272 750 273Q767 275 783 272Q800 270 805 268Q810 267 822 262Q833 258 850 249Q867 240 871 237Q876 233 888 224Q900 214 908 207Q915 200 924 190Q933 181 940 174Q946 167 956 151Q967 136 968 135Q969 133 973 117Q978 100 972 91Q967 81 957 74Q948 67 941 65Q933 62 917 61Q900 59 883 61ZM117 179Q100 185 88 192Q77 200 72 204Q67 208 57 221Q47 233 40 244Q33 255 31 261Q28 267 23 283Q18 300 19 317Q19 333 26 339Q33 344 50 340Q67 336 68 335Q70 333 85 323Q100 313 108 306Q115 300 124 292Q133 284 143 275Q153 267 160 259Q167 252 177 243Q188 233 194 225Q200 216 210 208Q219 200 210 184Q200 168 183 168Q167 167 150 170Q133 173 117 179ZM883 461Q867 462 859 464Q851 467 842 469Q833 472 817 481Q800 489 792 494Q784 500 775 507Q767 513 755 523Q744 533 739 539Q733 546 724 556Q715 567 707 579Q700 591 697 596Q694 600 691 617Q687 633 694 644Q700 654 708 660Q716 667 725 669Q733 672 750 673Q767 675 783 672Q800 670 805 668Q810 667 822 662Q833 658 850 649Q867 640 871 637Q876 633 888 624Q900 614 908 607Q915 600 924 590Q933 581 940 574Q946 567 956 551Q967 536 968 535Q969 533 973 517Q978 500 972 491Q967 481 957 474Q948 467 941 465Q933 462 917 461Q900 459 883 461ZM117 579Q100 585 88 592Q77 600 72 604Q67 608 57 621Q47 633 40 644Q33 655 31 661Q28 667 23 683Q18 700 19 717Q19 733 26 739Q33 744 50 740Q67 736 68 735Q70 733 85 723Q100 713 108 706Q115 700 124 692Q133 684 143 675Q153 667 160 659Q167 652 177 643Q188 633 194 625Q200 616 210 608Q219 600 210 584Q200 568 183 568Q167 567 150 570Q133 573 117 579ZM0 273Q3 267 12 250Q21 233 27 223Q33 212 38 206Q43 200 55 188Q67 175 73 171Q79 167 90 161Q100 155 117 151Q133 146 150 143Q167 140 183 138Q200 135 203 134Q206 133 220 131Q233 128 250 123Q267 118 282 109Q297 100 299 99Q300 99 317 89Q333 79 342 73Q351 67 359 61Q367 56 383 46Q400 36 404 34Q408 33 420 29Q433 25 442 29Q451 33 455 50Q458 67 453 83Q448 100 441 114Q433 127 431 130Q429 133 414 146Q400 158 393 162Q386 167 376 171Q367 175 350 180Q333 185 317 190Q300 196 296 198Q292 200 279 204Q267 209 250 219Q233 229 231 231Q228 233 214 243Q200 253 193 260Q185 267 176 274Q167 282 157 291Q147 300 140 306Q133 312 121 323Q109 333 105 338Q100 342 84 354Q69 367 68 368Q67 369 50 378Q33 387 0 394M1200 273Q1189 300 1184 317Q1179 333 1176 350Q1173 367 1200 394M0 673Q3 667 12 650Q21 633 27 623Q33 612 38 606Q43 600 55 588Q67 575 73 571Q79 567 90 561Q100 555 117 551Q133 546 150 543Q167 540 183 538Q200 535 203 534Q206 533 220 531Q233 528 250 523Q267 518 282 509Q297 500 299 499Q300 499 317 489Q333 479 342 473Q351 467 359 461Q367 456 383 446Q400 436 404 434Q408 433 420 429Q433 425 442 429Q451 433 455 450Q458 467 453 483Q448 500 441 514Q433 527 431 530Q429 533 414 546Q400 558 393 562Q386 567 376 571Q367 575 350 580Q333 585 317 590Q300 596 296 598Q292 600 279 604Q267 609 250 619Q233 629 231 631Q228 633 214 643Q200 653 193 660Q185 667 176 674Q167 682 157 691Q147 700 140 706Q133 712 121 723Q109 733 105 738Q100 742 84 754Q69 767 68 768Q67 769 50 778Q33 787 0 794M1200 673Q1189 700 1184 717Q1179 733 1176 750Q1173 767 1200 794M850 53Q833 57 824 62Q815 67 807 70Q800 74 783 86Q767 97 765 98Q763 100 748 113Q733 126 729 130Q725 133 713 148Q700 162 698 164Q695 167 684 183Q672 200 669 208Q667 215 662 224Q658 233 662 250Q665 267 666 267Q667 268 683 276Q700 284 717 287Q733 290 750 290Q767 290 783 288Q800 285 817 279Q833 273 839 270Q845 267 856 261Q867 254 881 244Q895 233 898 231Q900 229 916 215Q933 200 933 200Q933 199 948 183Q963 167 965 164Q967 162 978 148Q989 133 994 121Q1000 108 1003 104Q1005 100 1003 85Q1000 71 999 69Q999 67 983 59Q967 52 950 49Q933 45 917 45Q900 44 883 46Q867 48 850 53ZM850 453Q833 457 824 462Q815 467 807 470Q800 474 783 486Q767 497 765 498Q763 500 748 513Q733 526 729 530Q725 533 713 548Q700 562 698 564Q695 567 684 583Q672 600 669 608Q667 615 662 624Q658 633 662 650Q665 667 666 667Q667 668 683 676Q700 684 717 687Q733 690 750 690Q767 690 783 688Q800 685 817 679Q833 673 839 670Q845 667 856 661Q867 654 881 644Q895 633 898 631Q900 629 916 615Q933 600 933 600Q933 599 948 583Q963 567 965 564Q967 562 978 548Q989 533 994 521Q1000 508 1003 504Q1005 500 1003 485Q1000 471 999 469Q999 467 983 459Q967 452 950 449Q933 445 917 445Q900 444 883 446Q867 448 850 453ZM101 0Q100 2 87 17Q75 33 71 42Q67 51 57 59Q47 67 57 81Q67 96 83 96Q100 95 117 95Q133 96 150 95Q167 95 183 93Q200 91 217 87Q233 83 250 76Q267 70 269 68Q272 67 286 59Q300 51 313 42Q326 33 330 30Q333 28 350 14Q367 1 368 0M543 0Q533 22 531 28Q529 33 523 50Q517 67 512 83Q507 100 503 109Q500 119 497 126Q494 133 486 150Q478 167 473 176Q467 185 459 193Q451 200 442 207Q433 213 417 219Q400 224 383 227Q367 230 358 232Q349 233 341 235Q333 236 317 240Q300 244 283 250Q267 257 258 262Q248 267 241 271Q233 275 217 286Q200 298 199 299Q198 300 182 314Q167 327 163 330Q160 333 147 348Q133 362 131 364Q128 367 115 383Q101 400 100 401Q100 402 87 417Q75 433 71 442Q67 451 57 459Q47 467 57 481Q67 496 83 496Q100 495 117 495Q133 496 150 495Q167 495 183 493Q200 491 217 487Q233 483 250 476Q267 470 269 468Q272 467 286 459Q300 451 313 442Q326 433 330 430Q333 428 350 414Q367 401 367 400Q368 400 384 386Q400 371 403 369Q406 367 420 353Q433 340 438 336Q442 333 454 321Q467 309 474 305Q482 300 491 293Q500 286 517 277Q533 269 535 268Q536 267 551 257Q567 248 574 241Q580 233 590 226Q600 219 608 210Q616 200 625 193Q633 186 642 177Q651 167 659 160Q667 153 677 143Q686 133 693 127Q700 121 712 111Q724 100 728 96Q733 91 749 79Q765 67 766 66Q767 65 783 53Q800 42 810 38Q819 33 826 30Q833 26 850 21Q867 17 883 15Q900 14 917 14Q933 14 950 14Q967 15 983 16Q1000 16 1017 15Q1033 14 1050 9Q1067 3 1070 0M0 81Q33 82 47 91Q61 100 47 109Q33 117 30 125Q27 133 19 150Q10 167 0 186M1200 81Q1167 79 1150 79Q1133 79 1117 82Q1100 85 1088 93Q1077 100 1072 102Q1067 105 1050 119Q1034 133 1033 133Q1033 133 1017 150Q1000 166 1000 166Q999 167 983 183Q967 198 966 199Q965 200 949 215Q933 230 931 232Q930 233 915 246Q900 259 895 263Q890 267 878 276Q867 285 853 293Q840 300 837 302Q833 304 817 311Q800 318 783 320Q767 323 750 324Q733 325 717 325Q700 325 683 325Q667 325 650 326Q633 327 621 330Q608 333 604 335Q600 336 583 348Q567 360 564 363Q562 367 552 383Q543 400 538 411Q533 422 531 428Q529 433 523 450Q517 467 512 483Q507 500 503 509Q500 519 497 526Q494 533 486 550Q478 567 473 576Q467 585 459 593Q451 600 442 607Q433 613 417 619Q400 624 383 627Q367 630 358 632Q349 633 341 635Q333 636 317 640Q300 644 283 650Q267 657 258 662Q248 667 241 671Q233 675 217 686Q200 698 199 699Q198 700 182 714Q167 727 163 730Q160 733 147 748Q133 762 131 764Q128 767 101 800M1200 186Q1194 200 1187 217Q1180 233 1173 247Q1167 261 1165 264Q1164 267 1156 283Q1148 300 1141 314Q1133 327 1131 330Q1130 333 1118 350Q1107 367 1103 372Q1100 377 1085 388Q1070 400 1068 401Q1067 403 1050 409Q1033 414 1017 415Q1000 416 983 416Q967 415 950 414Q933 414 917 414Q900 414 883 415Q867 417 850 421Q833 426 826 430Q819 433 810 438Q800 442 783 453Q767 465 766 466Q765 467 749 479Q733 491 728 496Q724 500 712 511Q700 521 693 527Q686 533 677 543Q667 553 659 560Q651 567 642 577Q633 586 625 593Q616 600 608 610Q600 619 590 626Q580 633 574 641Q567 648 551 657Q536 667 535 668Q533 669 517 677Q500 686 491 693Q482 700 474 705Q467 709 454 721Q442 733 438 736Q433 740 420 753Q406 767 403 769Q400 771 368 800M0 481Q33 482 47 491Q61 500 47 509Q33 517 30 525Q27 533 19 550Q10 567 0 586M1200 481Q1167 479 1150 479Q1133 479 1117 482Q1100 485 1088 493Q1077 500 1072 502Q1067 505 1050 519Q1034 533 1033 533Q1033 533 1017 550Q1000 566 1000 566Q999 567 983 583Q967 598 966 599Q965 600 949 615Q933 630 931 632Q930 633 915 646Q900 659 895 663Q890 667 878 676Q867 685 853 693Q840 700 837 702Q833 704 817 711Q800 718 783 720Q767 723 750 724Q733 725 717 725Q700 725 683 725Q667 725 650 726Q633 727 621 730Q608 733 604 735Q600 736 583 748Q567 760 564 763Q562 767 543 800M1200 586Q1194 600 1187 617Q1180 633 1173 647Q1167 661 1165 664Q1164 667 1156 683Q1148 700 1141 714Q1133 727 1131 730Q1130 733 1118 750Q1107 767 1103 772Q1100 777 1070 800M130 0Q118 33 126 47Q133 61 139 64Q145 67 156 69Q167 70 183 70Q200 69 206 68Q213 67 223 64Q233 62 250 55Q267 49 280 41Q294 33 297 31Q300 29 317 17Q333 4 338 0M575 0Q567 12 561 23Q555 33 549 50Q542 67 538 81Q533 96 533 98Q532 100 528 117Q525 133 523 150Q522 167 528 181Q533 195 550 195Q567 196 583 188Q600 181 609 174Q619 167 626 162Q633 158 648 146Q664 133 665 132Q667 131 683 117Q700 102 701 101Q703 100 718 87Q733 73 737 70Q741 67 754 56Q767 45 776 39Q785 33 792 27Q800 20 817 13Q833 6 866 0M130 800Q133 796 144 781Q154 767 160 760Q167 753 176 743Q185 733 193 727Q200 720 213 710Q226 700 230 698Q233 695 250 686Q267 678 282 672Q297 667 299 666Q300 666 317 663Q333 660 350 660Q367 660 383 663Q400 666 402 666Q403 667 409 683Q414 700 407 713Q400 727 399 730Q398 733 385 750Q372 767 369 769Q367 771 338 800M575 800Q600 773 605 770Q610 767 622 761Q633 755 650 751Q667 747 683 746Q700 745 717 744Q733 744 750 744Q767 743 783 740Q800 737 804 735Q807 733 820 729Q833 725 850 714Q867 703 868 702Q870 700 885 688Q900 677 905 672Q910 667 922 657Q933 647 940 640Q947 633 957 624Q967 615 975 608Q983 600 992 592Q1000 584 1011 575Q1021 567 1027 561Q1033 555 1050 544Q1066 533 1066 533Q1067 533 1083 525Q1100 518 1117 516Q1133 515 1150 520Q1167 525 1171 529Q1176 533 1178 550Q1180 567 1176 583Q1172 600 1169 607Q1167 615 1164 624Q1160 633 1153 650Q1146 667 1140 680Q1133 693 1131 696Q1129 700 1119 717Q1108 733 1104 739Q1100 744 1088 755Q1077 767 1072 771Q1067 775 1050 783Q1033 791 1017 794Q1000 797 983 798Q967 798 950 798Q933 798 917 798Q900 797 883 799Q867 800 866 800M1083 125Q1067 133 1066 133Q1066 133 1050 144Q1033 155 1027 161Q1021 167 1011 175Q1000 184 992 192Q983 200 975 208Q967 215 957 224Q947 233 940 240Q933 247 922 257Q910 267 905 272Q900 277 885 288Q870 300 868 302Q867 303 850 314Q833 325 820 329Q807 333 804 335Q800 337 783 340Q767 343 750 344Q733 344 717 344Q700 345 683 346Q667 347 650 351Q633 355 622 361Q610 367 605 370Q600 373 587 387Q575 400 571 406Q567 412 561 423Q555 433 549 450Q542 467 538 481Q533 496 533 498Q532 500 528 517Q525 533 523 550Q522 567 528 581Q533 595 550 595Q567 596 583 588Q600 581 609 574Q619 567 626 562Q633 558 648 546Q664 533 665 532Q667 531 683 517Q700 502 701 501Q703 500 718 487Q733 473 737 470Q741 467 754 456Q767 445 776 439Q785 433 792 427Q800 420 817 413Q833 406 850 403Q866 400 866 400Q867 400 883 399Q900 397 917 398Q933 398 950 398Q967 398 983 398Q1000 397 1017 394Q1033 391 1050 383Q1067 375 1072 371Q1077 367 1088 355Q1100 344 1104 339Q1108 333 1119 317Q1129 300 1131 296Q1133 293 1140 280Q1146 267 1153 250Q1160 233 1164 224Q1167 215 1169 207Q1172 200 1176 183Q1180 167 1178 150Q1176 133 1171 129Q1167 125 1150 120Q1133 115 1117 116Q1100 118 1083 125ZM317 263Q300 266 299 266Q297 267 282 272Q267 278 250 286Q233 295 230 298Q226 300 213 310Q200 320 193 327Q185 333 176 343Q167 353 160 360Q154 367 144 381Q133 396 132 398Q130 400 124 417Q118 433 126 447Q133 461 139 464Q145 467 156 469Q167 470 183 470Q200 469 206 468Q213 467 223 464Q233 462 250 455Q267 449 280 441Q294 433 297 431Q300 429 317 417Q333 404 336 402Q338 400 352 386Q367 371 369 369Q372 367 385 350Q398 333 399 330Q400 327 407 313Q414 300 409 283Q403 267 402 266Q400 266 383 263Q367 260 350 260Q333 260 317 263ZM162 0Q165 33 166 34Q167 34 183 39Q200 43 217 41Q233 39 242 36Q250 33 258 30Q267 26 283 15Q300 5 307 0M609 0Q600 10 592 21Q583 33 576 50Q568 67 567 70Q567 74 564 87Q562 100 563 117Q565 133 566 135Q567 136 583 140Q600 144 613 139Q626 133 630 132Q633 131 650 119Q667 108 671 104Q676 100 688 90Q700 80 708 73Q715 67 724 58Q733 49 743 41Q752 33 759 24Q767 14 786 0M162 800Q167 792 174 779Q181 767 191 757Q200 746 207 740Q213 733 223 726Q233 719 249 709Q265 700 266 700Q267 699 283 695Q300 691 317 691Q333 691 344 695Q355 700 357 717Q359 733 350 750Q340 767 337 770Q333 773 307 800M609 800Q633 783 650 777Q667 770 678 769Q690 767 695 766Q700 765 717 765Q733 765 744 766Q754 767 760 768Q767 770 786 800M1083 152Q1067 157 1059 162Q1051 167 1042 172Q1033 176 1018 188Q1003 200 1001 201Q1000 202 983 217Q967 232 966 232Q965 233 949 248Q933 263 931 265Q930 267 915 282Q900 297 898 298Q895 300 881 316Q867 331 865 332Q863 333 854 350Q845 367 856 368Q867 370 883 373Q900 376 917 377Q933 379 950 380Q967 381 983 380Q1000 379 1017 374Q1033 370 1037 368Q1040 367 1053 359Q1067 351 1076 342Q1085 333 1092 324Q1100 315 1105 308Q1110 300 1119 283Q1128 267 1131 260Q1133 253 1137 243Q1141 233 1144 217Q1148 200 1146 183Q1144 167 1139 160Q1133 154 1117 151Q1100 147 1083 152ZM283 295Q267 299 266 300Q265 300 249 309Q233 319 223 326Q213 333 207 340Q200 346 191 357Q181 367 174 379Q167 392 164 396Q162 400 163 417Q165 433 166 434Q167 434 183 439Q200 443 217 441Q233 439 242 436Q250 433 258 430Q267 426 283 415Q300 405 303 403Q307 400 320 387Q333 373 337 370Q340 367 350 350Q359 333 357 317Q355 300 344 295Q333 291 317 291Q300 291 283 295ZM717 365Q700 365 695 366Q690 367 678 369Q667 370 650 377Q633 383 621 391Q609 400 605 405Q600 410 592 421Q583 433 576 450Q568 467 567 470Q567 474 564 487Q562 500 563 517Q565 533 566 535Q567 536 583 540Q600 544 613 539Q626 533 630 532Q633 531 650 519Q667 508 671 504Q676 500 688 490Q700 480 708 473Q715 467 724 458Q733 449 743 441Q752 433 759 424Q767 414 776 407Q786 400 776 385Q767 370 760 368Q754 367 744 366Q733 365 717 365ZM1083 552Q1067 557 1059 562Q1051 567 1042 572Q1033 576 1018 588Q1003 600 1001 601Q1000 602 983 617Q967 632 966 632Q965 633 949 648Q933 663 931 665Q930 667 915 682Q900 697 898 698Q895 700 881 716Q867 731 865 732Q863 733 854 750Q845 767 856 768Q867 770 883 773Q900 776 917 777Q933 779 950 780Q967 781 983 780Q1000 779 1017 774Q1033 770 1037 768Q1040 767 1053 759Q1067 751 1076 742Q1085 733 1092 724Q1100 715 1105 708Q1110 700 1119 683Q1128 667 1131 660Q1133 653 1137 643Q1141 633 1144 617Q1148 600 1146 583Q1144 567 1139 560Q1133 554 1117 551Q1100 547 1083 552ZM1050 218Q1033 222 1025 228Q1017 233 1008 240Q1000 246 989 256Q977 267 972 274Q967 281 960 291Q953 300 956 317Q960 333 963 335Q967 336 983 336Q1000 337 1006 335Q1012 333 1022 329Q1033 324 1048 312Q1063 300 1065 298Q1067 295 1074 281Q1082 267 1085 250Q1088 233 1077 223Q1067 214 1050 218ZM1050 618Q1033 622 1025 628Q1017 633 1008 640Q1000 646 989 656Q977 667 972 674Q967 681 960 691Q953 700 956 717Q960 733 963 735Q967 736 983 736Q1000 737 1006 735Q1012 733 1022 729Q1033 724 1048 712Q1063 700 1065 698Q1067 695 1074 681Q1082 667 1085 650Q1088 633 1077 623Q1067 614 1050 618Z'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' d='M883 95Q867 94 855 97Q843 100 838 102Q833 103 817 113Q800 122 793 128Q785 133 776 143Q767 153 761 160Q755 167 748 183Q741 200 750 217Q759 233 763 235Q767 236 783 237Q800 237 807 235Q815 233 824 230Q833 227 850 217Q867 208 872 204Q876 200 888 188Q900 176 904 171Q909 167 917 150Q925 133 917 117Q910 100 905 98Q900 96 883 95ZM883 495Q867 494 855 497Q843 500 838 502Q833 503 817 513Q800 522 793 528Q785 533 776 543Q767 553 761 560Q755 567 748 583Q741 600 750 617Q759 633 763 635Q767 636 783 637Q800 637 807 635Q815 633 824 630Q833 627 850 617Q867 608 872 604Q876 600 888 588Q900 576 904 571Q909 567 917 550Q925 533 917 517Q910 500 905 498Q900 496 883 495ZM67 0Q67 0 50 12Q33 25 21 29Q8 33 0 37M405 0Q400 3 383 15Q367 27 363 30Q359 33 346 42Q333 52 322 59Q310 67 305 70Q300 73 283 82Q267 91 254 96Q242 100 238 102Q233 104 217 108Q200 112 183 115Q167 117 150 119Q133 121 117 124Q100 128 93 131Q87 133 77 138Q67 143 54 155Q41 167 37 171Q33 175 25 187Q18 200 0 231M505 0Q501 33 500 35Q500 36 496 51Q491 67 486 83Q480 100 473 114Q467 129 465 131Q464 133 451 150Q438 167 436 169Q433 171 417 182Q400 192 389 196Q379 200 373 202Q367 204 350 208Q333 212 317 217Q300 222 286 228Q273 233 270 235Q267 236 250 244Q233 253 224 260Q215 267 208 272Q200 277 186 289Q173 300 170 303Q167 305 152 319Q136 333 135 335Q133 337 118 352Q102 367 101 368Q100 369 83 385Q67 400 67 400Q67 400 50 412Q33 425 21 429Q8 433 0 437M1122 0Q1131 33 1132 34Q1133 34 1150 36Q1167 39 1200 37M1200 231Q1199 233 1191 250Q1183 267 1175 283Q1167 300 1167 301Q1167 301 1160 317Q1153 333 1145 350Q1137 367 1135 372Q1133 377 1128 389Q1122 400 1127 417Q1131 433 1132 434Q1133 434 1150 436Q1167 439 1200 437M0 631Q18 600 25 587Q33 575 37 571Q41 567 54 555Q67 543 77 538Q87 533 93 531Q100 528 117 524Q133 521 150 519Q167 517 183 515Q200 512 217 508Q233 504 238 502Q242 500 254 496Q267 491 283 482Q300 473 305 470Q310 467 322 459Q333 452 346 442Q359 433 363 430Q367 427 383 415Q400 403 402 401Q405 400 419 390Q433 381 449 374Q464 367 465 366Q467 365 478 366Q490 367 495 368Q500 370 503 385Q505 400 503 417Q501 433 500 435Q500 436 496 451Q491 467 486 483Q480 500 473 514Q467 529 465 531Q464 533 451 550Q438 567 436 569Q433 571 417 582Q400 592 389 596Q379 600 373 602Q367 604 350 608Q333 612 317 617Q300 622 286 628Q273 633 270 635Q267 636 250 644Q233 653 224 660Q215 667 208 672Q200 677 186 689Q173 700 170 703Q167 705 152 719Q136 733 135 735Q133 737 118 752Q102 767 101 768Q100 769 67 800M1200 631Q1199 633 1191 650Q1183 667 1175 683Q1167 700 1167 701Q1167 701 1160 717Q1153 733 1145 750Q1137 767 1135 772Q1133 777 1122 800M405 800Q433 781 449 774Q464 767 465 766Q467 765 478 766Q490 767 495 768Q500 770 505 800M917 29Q900 29 883 31Q867 33 867 33Q867 33 850 38Q833 43 817 50Q800 58 794 63Q788 67 777 74Q767 81 755 91Q744 100 738 105Q733 109 720 121Q707 133 703 137Q700 141 687 154Q675 167 671 172Q667 178 657 189Q647 200 640 212Q633 224 630 229Q626 233 621 250Q615 267 624 277Q633 288 646 294Q659 300 663 301Q667 301 683 304Q700 306 717 307Q733 308 750 307Q767 306 783 303Q799 300 800 300Q800 300 817 294Q833 288 850 279Q867 269 868 268Q870 267 885 256Q900 244 906 239Q913 233 923 224Q933 215 941 207Q949 200 958 190Q967 181 974 174Q981 167 991 155Q1000 143 1005 138Q1010 133 1022 117Q1033 101 1034 101Q1035 100 1044 83Q1053 67 1043 58Q1033 49 1017 43Q1000 37 991 35Q982 33 974 32Q967 32 950 30Q933 29 917 29ZM917 429Q900 429 883 431Q867 433 867 433Q867 433 850 438Q833 443 817 450Q800 458 794 463Q788 467 777 474Q767 481 755 491Q744 500 738 505Q733 509 720 521Q707 533 703 537Q700 541 687 554Q675 567 671 572Q667 578 657 589Q647 600 640 612Q633 624 630 629Q626 633 621 650Q615 667 624 677Q633 688 646 694Q659 700 663 701Q667 701 683 704Q700 706 717 707Q733 708 750 707Q767 706 783 703Q799 700 800 700Q800 700 817 694Q833 688 850 679Q867 669 868 668Q870 667 885 656Q900 644 906 639Q913 633 923 624Q933 615 941 607Q949 600 958 590Q967 581 974 574Q981 567 991 555Q1000 543 1005 538Q1010 533 1022 517Q1033 501 1034 501Q1035 500 1044 483Q1053 467 1043 458Q1033 449 1017 443Q1000 437 991 435Q982 433 974 432Q967 432 950 430Q933 429 917 429ZM664 0Q633 19 626 26Q619 33 611 50Q603 67 618 81Q633 95 650 86Q667 77 673 72Q680 67 690 56Q700 46 706 40Q713 33 711 0M211 800Q218 767 226 759Q233 752 246 743Q259 733 263 732Q267 730 283 729Q300 729 303 731Q307 733 304 750Q302 767 301 767Q300 768 283 782Q267 796 259 800M664 800Q667 799 683 798Q700 797 711 800M1050 189Q1033 197 1031 198Q1029 200 1015 211Q1000 222 993 228Q987 233 977 243Q967 252 959 259Q951 267 942 278Q933 288 928 294Q922 300 914 317Q906 333 919 344Q933 355 950 359Q967 362 983 361Q1000 359 1017 354Q1033 349 1045 341Q1057 333 1062 330Q1067 326 1078 313Q1088 300 1094 291Q1100 282 1104 274Q1108 267 1113 250Q1118 233 1118 217Q1118 200 1109 190Q1100 181 1083 181Q1067 182 1050 189ZM283 329Q267 330 263 332Q259 333 246 343Q233 352 226 359Q218 367 214 383Q211 400 222 403Q233 407 246 403Q259 400 263 398Q267 396 283 382Q300 368 301 367Q302 367 304 350Q307 333 303 331Q300 329 283 329ZM683 398Q667 399 665 399Q664 400 649 409Q633 419 626 426Q619 433 611 450Q603 467 618 481Q633 495 650 486Q667 477 673 472Q680 467 690 456Q700 446 706 440Q713 433 712 417Q711 400 706 398Q700 397 683 398ZM1050 589Q1033 597 1031 598Q1029 600 1015 611Q1000 622 993 628Q987 633 977 643Q967 652 959 659Q951 667 942 678Q933 688 928 694Q922 700 914 717Q906 733 919 744Q933 755 950 759Q967 762 983 761Q1000 759 1017 754Q1033 749 1045 741Q1057 733 1062 730Q1067 726 1078 713Q1088 700 1094 691Q1100 682 1104 674Q1108 667 1113 650Q1118 633 1118 617Q1118 600 1109 590Q1100 581 1083 581Q1067 582 1050 589Z'/%3E%3C/svg%3E");
  --shadow-card: 0 2px 0 rgba(28, 43, 34, .92), 0 16px 30px -16px rgba(28, 43, 34, .38);
  --shadow-soft: 0 1px 0 rgba(28, 43, 34, .2), 0 10px 24px -14px rgba(28, 43, 34, .35);
  --focus: var(--ink);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: calc(var(--header-h) + 1.25rem);
}

html:has(body[data-page="home"]) { scroll-padding-top: calc(var(--header-h) + 6.5rem); }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: clamp(1.02rem, .98rem + .22vw, 1.15rem);
  line-height: 1.7;
  min-width: 320px;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; }
p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

h1, h2, h3 {
  font-family: var(--f-head);
  color: var(--ink);
  margin: 0 0 .5em;
  line-height: 1.12;
  letter-spacing: -.012em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.45rem, 1.2rem + 5.2vw, 5.1rem); font-weight: 700; line-height: 1.02; letter-spacing: -.025em; }
h2 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem, 1.05rem + .7vw, 1.55rem); font-weight: 700; }

a { color: var(--trail); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--trail-d); text-decoration-thickness: .14em; }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 4px;
}

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: fixed;
  left: 1rem; top: -4rem;
  z-index: 200;
  background: var(--ink); color: var(--paper);
  padding: .8rem 1.1rem;
  border-radius: 10px;
  font-family: var(--f-head); font-weight: 700;
  text-decoration: none;
  transition: top .15s;
}
.skip-link:focus { top: 1rem; outline-color: var(--trail-art); }

.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }

/* contour texture: recolourable through mask */
.topo, .hero, .trail-sec, .pack-sec, .rules-sec, .anat-hero, .sheet-sec, .lab-hero, .lab-guide, .q-hero, .c-hero { position: relative; isolation: isolate; }
:is(.topo, .hero, .trail-sec, .pack-sec, .rules-sec, .anat-hero, .sheet-sec, .lab-hero, .lab-guide, .q-hero, .c-hero)::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: var(--topo-color, #D5DDD0);
  -webkit-mask: var(--tile) var(--topo-pos, 0 0) / var(--topo-size, 1200px) auto repeat;
  mask: var(--tile) var(--topo-pos, 0 0) / var(--topo-size, 1200px) auto repeat;
  pointer-events: none;
}

.eyebrow {
  display: inline-flex; align-items: center; gap: .6rem;
  margin: 0 0 1rem;
  font-family: var(--f-mono);
  font-size: .78rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--trail);
  line-height: 1.3;
}
.eyebrow::before {
  content: ""; flex: none;
  width: 1.9rem; height: .8rem;
  border: 2px solid currentColor; border-radius: 50%;
  box-shadow: 0 0 0 3px transparent, inset 0 0 0 2px transparent;
  background: radial-gradient(ellipse at center, currentColor 0 18%, transparent 20%);
}

.lede { font-size: clamp(1.1rem, 1.02rem + .5vw, 1.35rem); line-height: 1.6; max-width: 40rem; color: var(--ink-2); }
.fine { font-size: .92rem; color: var(--ink-2); }
.hint { font-size: .92rem; color: var(--ink-2); line-height: 1.5; margin: .4rem 0 0; }
.opt { font-weight: 400; color: var(--ink-2); font-size: .88em; }
.empty { color: var(--ink-2); font-style: italic; }

/* ---------- Buttons ---------- */
.btn-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 1.5rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 46px; padding: .6rem 1.25rem;
  border: 2px solid var(--ink); border-radius: 999px;
  background: var(--paper); color: var(--ink);
  font-family: var(--f-head); font-size: 1.02rem; font-weight: 700; letter-spacing: .01em; line-height: 1.15;
  text-decoration: none; text-align: center;
  cursor: pointer;
  box-shadow: 0 3px 0 var(--ink), 0 12px 20px -12px rgba(28, 43, 34, .5);
  transition: transform .15s ease, box-shadow .15s ease;
}
.btn:hover { background: var(--sky); color: var(--ink); transform: translateY(-2px); box-shadow: 0 5px 0 var(--ink), 0 16px 22px -12px rgba(28, 43, 34, .5); }
.btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--ink); }
.btn-primary { background: var(--trail); color: var(--paper); }
.btn-primary:hover { background: var(--trail-d); color: var(--paper); }
.btn-quiet { background: transparent; border-color: var(--moss-d); box-shadow: none; }
.btn-quiet:hover { background: var(--moss-l); box-shadow: none; transform: none; }
.btn-sm { min-height: 42px; padding: .4rem .95rem; font-size: .93rem; }
.btn[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.btn[aria-disabled="true"] { cursor: not-allowed; }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--paper);
  border-bottom: 2px solid var(--ink);
  box-shadow: 0 10px 30px -22px rgba(28, 43, 34, .6);
}
.header-in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: var(--header-h); flex-wrap: wrap; }
.brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--ink); min-height: 44px; }
.brand:hover { color: var(--ink); }
.brand-mark { width: 40px; height: 40px; flex: none; transition: transform .25s ease; }
.brand:hover .brand-mark { transform: rotate(-6deg) scale(1.05); }
.brand-name { font-family: var(--f-head); font-size: 1.2rem; font-weight: 600; letter-spacing: -.01em; line-height: 1; }
.brand-name b { color: var(--trail); font-weight: 700; }

.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.site-nav a {
  display: inline-flex; align-items: center; min-height: 44px; padding: .4rem .95rem;
  border-radius: 999px; text-decoration: none;
  font-family: var(--f-head); font-weight: 600; font-size: 1rem; color: var(--ink);
  position: relative;
}
.site-nav a:hover { background: var(--sky); color: var(--ink); }
.site-nav a[aria-current="page"] { background: var(--ink); color: var(--paper); }
.site-nav a[aria-current="page"]::before {
  content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--trail-art); margin-right: .5rem;
}
.nav-toggle {
  display: none;
  align-items: center; gap: .6rem; min-height: 44px; padding: .4rem 1rem;
  border: 2px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink);
  font-family: var(--f-head); font-weight: 700; font-size: 1rem; cursor: pointer;
}
.nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after {
  display: block; width: 18px; height: 2px; background: var(--ink); border-radius: 2px; position: relative; transition: transform .2s ease, top .2s ease;
}
.nav-toggle-bars::before, .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle-bars::before { top: -6px; }
.nav-toggle-bars::after { top: 6px; }
.nav-open .nav-toggle-bars { background: transparent; }
.nav-open .nav-toggle-bars::before { top: 0; transform: rotate(45deg); }
.nav-open .nav-toggle-bars::after { top: 0; transform: rotate(-45deg); }

@media (max-width: 899px) {
  .js .nav-toggle { display: inline-flex; }
  .js .site-nav { display: none; flex-basis: 100%; padding: .25rem 0 1rem; }
  .js .nav-open .site-nav { display: block; }
  .site-nav ul { flex-direction: column; gap: .15rem; }
  .site-nav a { width: 100%; min-height: 48px; border-radius: 12px; padding-inline: 1rem; }
  .brand-name { font-size: 1.08rem; }
}

/* ---------- Hero (home) ---------- */
.hero {
  --topo-color: #D5DDD0; --topo-size: 1500px; --topo-pos: -200px -80px;
  padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(3.5rem, 7vw, 6.5rem);
  overflow: hidden;
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.hero-copy .lede { margin-bottom: 0; }
.h1-accent { color: var(--trail); box-shadow: inset 0 -.22em 0 var(--sky); padding-inline: .06em; }
.hero-facts { list-style: none; margin: 2.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 0; }
.hero-facts li { padding: .3rem 1.2rem; border-left: 2px dashed var(--moss); font-family: var(--f-head); color: var(--ink-2); font-size: .98rem; line-height: 1.2; }
.hero-facts li:first-child { padding-left: 0; border-left: 0; }
.hero-facts b { display: block; font-family: var(--f-mono); font-size: 1.9rem; color: var(--ink); font-weight: 700; }
.hero-art { position: relative; }
.hero-svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 28px rgba(28, 43, 34, .22)); }
.hero-caption { margin: 1rem 0 0; font-size: .92rem; color: var(--ink-2); text-align: center; font-style: italic; }
.hero-trail-line { stroke-dasharray: 1000; animation: draw-line 2.6s .3s cubic-bezier(.45, .1, .3, 1) both; }
.hero-trail-dots { animation: fade-in .7s 2.5s ease both; }
.hero-flag { transform-origin: 372px 76px; animation: flag-up .7s 2.6s cubic-bezier(.3, 1.4, .5, 1) both; }
@keyframes draw-line { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes flag-up { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }

@media (max-width: 899px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-art { max-width: 520px; width: 100%; margin-inline: auto; }
  .hero-facts { grid-template-columns: repeat(2, auto); row-gap: 1rem; }
  .hero-facts li:nth-child(3) { padding-left: 0; border-left: 0; }
}

/* ---------- Section headings ---------- */
.sec-head { max-width: 46rem; margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.sec-head p:not(.eyebrow) { color: var(--ink-2); font-size: 1.08rem; }

/* ---------- The trail ---------- */
.trail-sec { --topo-color: #DDE4D8; --topo-size: 1500px; padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); background: var(--paper-2); border-block: 2px solid var(--ink); }
.hike { border: 0; margin: 0 0 1rem; padding: 0; min-width: 0; }
.hike legend { font-family: var(--f-mono); font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); padding: 0; margin-bottom: .75rem; }
.hike-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.hike-opt { position: relative; display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1rem; min-height: 64px; background: var(--paper); border: 2px solid var(--moss-d); border-radius: 14px; cursor: pointer; transition: box-shadow .15s, transform .15s; }
.hike-opt:hover { background: var(--sky-soft); }
.hike-opt input { width: 22px; height: 22px; margin: .15rem 0 0; flex: none; accent-color: var(--trail); }
.hike-body { display: grid; gap: .15rem; font-size: .96rem; line-height: 1.4; color: var(--ink-2); }
.hike-body b { font-family: var(--f-head); font-size: 1.12rem; color: var(--ink); }
.hike-opt:has(input:checked) { background: var(--sky); border-color: var(--ink); box-shadow: 0 3px 0 var(--ink); }
.hike-opt:has(input:focus-visible) { outline: 3px solid var(--ink); outline-offset: 3px; }
@media (max-width: 760px) { .hike-opts { grid-template-columns: 1fr; } }

.trail-hud { position: sticky; top: calc(var(--header-h) - 2px); z-index: 60; background: var(--paper); border-block: 2px solid var(--ink); padding: .6rem 0; margin-top: 1.5rem; box-shadow: 0 14px 24px -20px rgba(28, 43, 34, .6); }
.hud-in { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
.hud-now { margin: 0; font-family: var(--f-head); font-size: 1.05rem; line-height: 1.2; }
.hud-label { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); margin-right: .35rem; }
.hud-bar { flex: 1 1 160px; height: 14px; border-radius: 99px; border: 2px solid var(--ink); background: var(--paper-3); overflow: hidden; min-width: 120px; }
.hud-bar span { display: block; height: 100%; width: 0; background: var(--trail-art); border-right: 2px solid var(--ink); }
.hud-walked { margin: 0; font-family: var(--f-head); font-size: .98rem; color: var(--ink-2); white-space: nowrap; }
.hud-walked b, .hud-walked span { color: var(--ink); font-weight: 700; }
.hud-btns { display: flex; gap: .5rem; flex-wrap: wrap; }
.hud-hint { margin: .5rem auto 0; font-size: .85rem; color: var(--ink-2); line-height: 1.4; }
@media (max-width: 760px) {
  .hud-walked, #wp-all { display: none; }
  .hud-hint { display: none; }
  .hud-now { flex: 1 1 100%; font-size: .98rem; }
  .hud-bar { order: 3; flex-basis: 100%; }
  .hud-btns { flex: 1 1 100%; }
  .hud-btns .btn { flex: 1; }
  .trail-hud { padding: .5rem 0; }
}

.trail-wrap { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.trail { position: relative; max-width: 1080px; margin-inline: auto; }
.trail-svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 0; }
.trail-rings path { fill: none; stroke: #B4C1AB; stroke-width: 1.5; }
.trail-rings path:nth-child(3n) { stroke: #9DB092; stroke-width: 2; }
.trail-base { fill: none; stroke: var(--moss-d); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 0.5 11; }
.trail-walked { fill: none; stroke: var(--trail-art); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.marker-pin { fill: var(--trail-art); stroke: var(--ink); stroke-width: 2.5; stroke-linejoin: round; }
.marker-eye { fill: var(--paper); stroke: var(--ink); stroke-width: 2; }
.marker-pulse { fill: rgba(228, 87, 46, .28); transform-box: fill-box; transform-origin: center; animation: pulse 2.4s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { transform: scale(.7); opacity: .9; } 60% { transform: scale(1.5); opacity: 0; } }

.waypoints { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1; }
.wp { display: grid; grid-template-columns: minmax(0, 1fr) 200px minmax(0, 1fr); align-items: start; padding-block: clamp(1.1rem, 2.5vw, 1.75rem); }
.wp-card { grid-row: 1; }
.wp-zone { grid-row: 1; grid-column: 2; position: relative; min-height: 64px; }
.wp-icon { grid-row: 1; }
.wp:nth-child(odd) .wp-card { grid-column: 1; }
.wp:nth-child(odd) .wp-icon { grid-column: 3; justify-self: start; margin-left: 1rem; }
.wp:nth-child(even) .wp-card { grid-column: 3; }
.wp:nth-child(even) .wp-icon { grid-column: 1; justify-self: end; margin-right: 1rem; }
.wp-icon { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding-top: .9rem; color: var(--ink); }
.wp-icon svg { width: 84px; height: 84px; fill: none; stroke: var(--ink); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; background: var(--paper); border: 2px solid var(--ink); border-radius: 50%; padding: 14px; box-shadow: 0 6px 0 -2px var(--contour-d); }
.wp-icon .acc { fill: var(--trail-art); stroke: var(--ink); stroke-width: 2; }
.wp-icon span { font-family: var(--f-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }

.wp-dot {
  position: absolute; top: 1.2rem; left: calc(50% + 44px); margin-left: -25px;
  width: 50px; height: 50px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--paper); color: var(--ink);
  border: 3px solid var(--moss-d);
  box-shadow: 0 0 0 6px var(--paper-2), 0 8px 14px -4px rgba(28, 43, 34, .45);
  font-family: var(--f-head); font-weight: 700; font-size: 1.2rem; line-height: 1;
  cursor: pointer;
  transition: transform .25s ease;
}
.wp:nth-child(even) .wp-dot { left: calc(50% - 44px); }
.wp.open .wp-dot { border-color: var(--trail); transform: scale(1.12); }
.wp.walked .wp-dot { background: var(--moss-d); border-color: var(--moss-d); color: var(--paper); }
.wp.walked .wp-dot::after {
  content: ""; position: absolute; right: -8px; top: -8px; width: 22px; height: 22px; border-radius: 50%;
  background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M5.5 11.5l4 4 7-8.5' fill='none' stroke='%231C2B22' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
  border: 2px solid var(--ink);
}
.wp.is-here .wp-dot { box-shadow: 0 0 0 6px var(--paper-2), 0 0 0 9px var(--trail-art), 0 8px 14px -4px rgba(28, 43, 34, .45); }

.wp-card {
  position: relative;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 20px 20px 20px 6px;
  box-shadow: var(--shadow-card);
  background-image: linear-gradient(90deg, transparent calc(50% - 1px), rgba(28, 43, 34, .07) 50%, transparent calc(50% + 1px));
  transition: box-shadow .2s ease, transform .2s ease;
}
.wp.open .wp-card { box-shadow: 0 2px 0 var(--ink), 0 0 0 5px var(--sky), 0 22px 34px -18px rgba(28, 43, 34, .5); }
.wp.wp-off .wp-card { border-style: dashed; background-color: var(--paper-2); }
.wp-h { margin: 0; font-size: 1rem; }
.wp-btn {
  display: grid; gap: .3rem; width: 100%; text-align: left;
  padding: 1.1rem 3.4rem 1.1rem 1.35rem; min-height: 56px;
  background: none; border: 0; border-radius: inherit; cursor: pointer; color: inherit; font: inherit;
}
.wp-btn:hover .wp-name { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .15em; }
.wp-btn:focus-visible { outline-offset: -5px; border-radius: 16px; }
.wp-kicker { font-family: var(--f-mono); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--trail); line-height: 1.3; }
.wp-name { font-family: var(--f-head); font-size: clamp(1.3rem, 1.1rem + .9vw, 1.75rem); font-weight: 700; line-height: 1.12; color: var(--ink); letter-spacing: -.01em; }
.wp-teaser { font-family: var(--f-body); font-size: 1rem; line-height: 1.5; color: var(--ink-2); font-weight: 400; }
.wp-flags { display: flex; flex-wrap: wrap; gap: .4rem; }
.wp-flags:empty { display: none; }
.wp-flags span { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: .15rem .55rem; border-radius: 999px; line-height: 1.5; }
.flag-walked { background: var(--moss-l); color: var(--moss-d); border: 1.5px solid var(--moss-d); font-weight: 700; }
.flag-walked::before { content: "\2713\00a0"; }
.flag-off { border: 1.5px dashed var(--ink-2); color: var(--ink-2); }
.wp-chev { position: absolute; right: 1rem; top: 1.15rem; width: 32px; height: 32px; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); transition: transform .3s ease; }
.wp-chev::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-right: 2.5px solid var(--ink); border-bottom: 2.5px solid var(--ink); transform: translate(-50%, -70%) rotate(45deg); }
.wp.open .wp-chev { transform: rotate(180deg); background: var(--sky); }

.js .wp-panel { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .4s ease, visibility 0s .4s; }
.js .wp.open .wp-panel { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .4s ease, visibility 0s; }
.wp-panel-in { overflow: hidden; min-height: 0; padding-inline: 1.35rem; }
.js .wp-panel-in { padding-bottom: 0; }
.wp-panel-in::before { content: ""; display: block; border-top: 2px dashed var(--contour-d); margin-bottom: 1rem; }
.wp-panel-in > :last-child { margin-bottom: 1.35rem; }
.wp-dl { margin: 0; display: grid; gap: .9rem; }
.wp-dl dt { font-family: var(--f-mono); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--moss-d); }
.wp-dl dd { margin: .15rem 0 0; font-size: 1rem; line-height: 1.62; }
.wp-time { display: inline-block; margin: 1.1rem 0 .4rem; padding: .3rem .8rem; border-radius: 999px; background: var(--sky); border: 1.5px solid var(--ink); font-family: var(--f-mono); font-size: .76rem; letter-spacing: .04em; color: var(--ink); }
.wp-walk { display: flex; align-items: center; gap: .7rem; min-height: 44px; cursor: pointer; font-family: var(--f-head); font-weight: 600; font-size: 1.02rem; }
.wp-walk input { width: 24px; height: 24px; flex: none; accent-color: var(--moss-d); }

@media (max-width: 899px) {
  .wp { grid-template-columns: 76px minmax(0, 1fr); }
  .wp:nth-child(odd) .wp-card, .wp:nth-child(even) .wp-card { grid-column: 2; }
  .wp-zone, .wp:nth-child(odd) .wp-zone, .wp:nth-child(even) .wp-zone { grid-column: 1; }
  .wp-icon { display: none; }
  .wp-dot { width: 42px; height: 42px; margin-left: -21px; left: 24px; top: 1.1rem; font-size: 1.05rem; }
  .wp:nth-child(even) .wp-dot { left: 50px; }
  .wp-btn { padding: 1rem 3rem 1rem 1.05rem; }
  .wp-chev { right: .7rem; top: 1rem; width: 30px; height: 30px; }
  .wp-panel-in { padding-inline: 1.05rem; }
}

/* ---------- Pack ---------- */
.pack-sec { background: var(--sky); padding: clamp(3.5rem, 7vw, 6rem) 0; --topo-color: #F4F9FC; --topo-size: 1400px; --topo-pos: 100px 0; border-bottom: 2px solid var(--ink); }
.pack-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.75rem); }
.pack-card { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 1.1rem 1.35rem 1.5rem; box-shadow: var(--shadow-card); display: flex; flex-direction: column; transition: transform .2s ease; }
.pack-card:hover { transform: translateY(-4px); }
.pack-art { width: 100%; height: 150px; background: var(--paper-3); border: 2px solid var(--ink); border-radius: 12px; margin-bottom: 1.1rem; padding: 6px; }
.pack-card h3 { margin-bottom: .4rem; }
.pack-card h3 a { color: var(--ink); text-decoration: none; }
.pack-card h3 a:hover { color: var(--trail); text-decoration: underline; }
.pack-card p { font-size: 1rem; color: var(--ink-2); }
.pack-go { margin-top: auto !important; padding-top: .6rem; font-family: var(--f-head); font-weight: 700; }
.pack-go a::after { content: "\00a0\2192"; }
@media (max-width: 899px) { .pack-grid { grid-template-columns: 1fr; } .pack-art { height: 130px; } }

/* ---------- Rules ---------- */
.rules-sec { padding: clamp(3.5rem, 7vw, 6rem) 0; --topo-color: #E1E8DB; --topo-size: 1300px; --topo-pos: -300px -100px; }
.rules-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.rules { list-style: none; counter-reset: rule; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.rules li { counter-increment: rule; background: var(--paper); border: 2px solid var(--ink); border-radius: 16px; padding: 1.2rem 1.25rem 1.3rem; box-shadow: var(--shadow-soft); }
.rules li::before { content: "0" counter(rule); display: block; font-family: var(--f-mono); font-size: 2.5rem; font-weight: 700; line-height: 1; color: var(--moss); margin-bottom: .6rem; }
.rules h3 { font-size: 1.25rem; }
.rules p { font-size: 1rem; color: var(--ink-2); margin: 0; }
@media (max-width: 899px) { .rules-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .rules { grid-template-columns: 1fr; } }

/* ---------- CTA ---------- */
.cta-sec { padding: 0 0 clamp(5rem, 9vw, 8rem); }
.cta-in { position: relative; isolation: isolate; overflow: hidden; background: var(--moss-l); border: 2px solid var(--ink); border-radius: 30px; box-shadow: var(--shadow-card); padding: clamp(2rem, 5vw, 4rem); max-width: 60rem; --topo-color: #C9D8BE; --topo-size: 900px; }
.cta-in::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #C9D8BE; -webkit-mask: var(--tile) 0 0 / 900px auto repeat; mask: var(--tile) 0 0 / 900px auto repeat; }
.cta-in h2 { max-width: 28rem; }
.cta-in p { max-width: 38rem; color: var(--ink); }
.cta-in .fine { color: var(--ink-2); margin-top: 1.5rem; }

/* ---------- Footer ---------- */
.site-footer { position: relative; background: var(--ink); color: var(--paper); margin-top: 0; padding: clamp(2.5rem, 5vw, 4rem) 0 2.5rem; --focus: var(--sky); }
.site-footer::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: clamp(34px, 5vw, 70px);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 70V44l70-14 60 20 80-34 70 38 90-30 60 18 100-44 90 40 70-22 80 26 60-20 100-36 90 36 80-22 70 28V70Z' fill='%231C2B22'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
  pointer-events: none;
}
.site-footer a { color: var(--sky); }
.site-footer a:hover { color: var(--paper); }
.foot-grid { display: grid; grid-template-columns: 1.1fr 1fr 1.2fr; gap: 2rem 3rem; align-items: start; }
.foot-brand { font-family: var(--f-head); font-size: 1.5rem; font-weight: 700; margin-bottom: .4rem; color: var(--paper); }
.foot-id p:last-child { color: #D5DDD0; font-size: 1rem; }
.foot-nav { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, auto); justify-content: start; gap: 0 2rem; }
.foot-nav a { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--f-head); font-weight: 600; text-decoration: none; }
.foot-nav a:hover { text-decoration: underline; }
.foot-mail p { margin-bottom: .6rem; }
.foot-mail a { font-family: var(--f-head); font-weight: 700; font-size: 1.1rem; display: inline-block; padding-block: .4rem; word-break: break-word; }
.foot-note { color: #D5DDD0; font-size: .95rem; line-height: 1.5; }
@media (max-width: 899px) { .foot-grid { grid-template-columns: 1fr; } }

/* ---------- Page heroes ---------- */
.page-hero { padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem); border-bottom: 2px solid var(--ink); overflow: hidden; }
.page-hero h1 { margin-bottom: .35em; }
.page-hero .lede { margin-bottom: 0; }

/* Anatomy hero */
.anat-hero { background: var(--sky); --topo-color: #F2F8FC; --topo-size: 1400px; --topo-pos: 0 -150px; }
.anat-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.stamp-note { margin-top: 1.4rem; font-size: .98rem; color: var(--ink); display: flex; gap: .9rem; align-items: center; }
.stamp { flex: none; display: inline-block; font-family: var(--f-mono); font-weight: 700; font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; color: var(--trail-d); border: 3px double var(--trail-d); border-radius: 8px; padding: .35rem .7rem; transform: rotate(-6deg); background: var(--paper); }
.walker { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 1.35rem 1.4rem 1.4rem; box-shadow: var(--shadow-card); }
.walker h2 { font-size: 1.45rem; margin-bottom: .6rem; }
.walker-step { font-size: 1rem; color: var(--ink-2); min-height: 4.6em; margin-bottom: 0; }
.walker-step b { color: var(--ink); }
.walker .btn-row { margin-top: 1rem; }
.walker-opts { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; margin-top: 1rem; padding-top: 1rem; border-top: 2px dashed var(--contour-d); }
.check { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; cursor: pointer; font-family: var(--f-head); font-weight: 600; font-size: 1rem; }
.check input { width: 22px; height: 22px; flex: none; accent-color: var(--trail); margin: 0; }
@media (max-width: 899px) { .anat-hero-grid { grid-template-columns: 1fr; } }

/* Sheet */
.sheet-sec { background: var(--paper-3); padding: clamp(2rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem); --topo-color: #D9E1D2; --topo-size: 1500px; border-bottom: 2px solid var(--ink); }
.sheet-key { max-width: 44rem; margin: 0 0 1.5rem; font-size: .98rem; color: var(--ink-2); }
.sheet { --gap: 2.75rem; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.srow { display: contents; }
.sheet-tape { display: none; }

.spaper {
  position: relative; z-index: 1;
  background: var(--paper);
  border: 2px solid var(--ink); border-bottom-width: 0;
  padding: 1.25rem clamp(1rem, 3vw, 2rem);
  font-family: var(--f-body); font-size: 1rem; line-height: 1.62;
  
}
.srow:first-child .spaper { border-radius: 8px 8px 0 0; }
.srow:nth-last-child(1) .spaper { border-bottom-width: 2px; border-radius: 0 0 8px 8px; }
.srow.is-open .spaper { background: var(--sky-soft); }
.srow.is-current .spaper { box-shadow: inset 6px 0 0 var(--trail-art); }
.spaper p { margin-bottom: .8em; }
.spaper p:last-child { margin-bottom: 0; }
.s-run { font-family: var(--f-mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-align: center; color: var(--ink-2); }
.s-title-text { font-family: var(--f-head); font-weight: 700; font-size: clamp(1.45rem, 1.05rem + 1.8vw, 2.2rem); line-height: 1.15; text-align: center; margin: .3rem 0 0 !important; }
.s-byline { text-align: center; }
.s-authors { font-family: var(--f-head); font-weight: 600; font-size: 1.1rem; }
.s-affil { font-style: italic; color: var(--ink-2); font-size: .95rem; }
.s-h { font-family: var(--f-head); font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 .6rem !important; color: var(--ink); }
.s-h span { display: inline-block; min-width: 1.4em; color: var(--moss-d); }
.s-abstract p:not(.s-h) { font-size: .98rem; font-style: normal; padding-left: 1rem; border-left: 4px solid var(--contour-d); }
.cite { font-family: var(--f-mono); font-size: .86em; color: var(--trail-d); }
.s-steps { margin: .4rem 0 .8rem; padding-left: 1.4rem; }
.s-fig { margin: 1rem 0; padding: .8rem; border: 1.5px solid var(--ink); border-radius: 8px; background: var(--paper); }
.s-fig svg { display: block; width: 100%; max-width: 420px; height: auto; margin-inline: auto; }
.s-fig figcaption { font-size: .9rem; color: var(--ink-2); margin-top: .5rem; }
.s-table { width: 100%; border-collapse: collapse; font-size: .95rem; margin-top: 1rem; }
.s-table caption { text-align: left; font-size: .9rem; color: var(--ink-2); padding-bottom: .4rem; }
.s-table th, .s-table td { border: 1.5px solid var(--ink); padding: .45rem .65rem; text-align: left; }
.s-table thead th { background: var(--paper-3); font-family: var(--f-head); }
.s-table tbody th { font-weight: 600; background: var(--paper); }
.s-reflist { list-style: none; margin: 0; padding: 0; font-size: .95rem; }
.s-reflist li { margin-bottom: .45rem; }

.snote { position: relative; z-index: 1; padding: .75rem 0 1rem; }
.snote-h { margin: 0; font-size: 1rem; }
.snote-btn {
  position: relative;
  display: grid; grid-template-columns: auto 1fr auto; column-gap: .75rem; align-items: center;
  width: 100%; text-align: left; min-height: 56px;
  padding: .7rem .85rem .7rem .85rem;
  background: var(--paper); color: var(--ink);
  border: 2px solid var(--ink); border-radius: 14px;
  cursor: pointer; font: inherit;
  box-shadow: 0 3px 0 var(--ink);
  transition: transform .15s, box-shadow .15s;
}
.snote-btn:hover { background: var(--sky); transform: translateY(-1px); box-shadow: 0 4px 0 var(--ink); }
.snote-btn[aria-expanded="true"] { background: var(--sky); }
.snote-name { grid-column: 2; font-family: var(--f-head); font-weight: 700; font-size: 1.1rem; line-height: 1.2; }
.snote-sum { grid-column: 2; font-size: .93rem; line-height: 1.4; color: var(--ink-2); }
.snote-btn .chev { grid-column: 3; grid-row: 1 / span 2; width: 28px; height: 28px; border: 2px solid var(--ink); border-radius: 50%; position: relative; background: var(--paper); transition: transform .3s; }
.snote-btn .chev::before { content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; border-right: 2.5px solid var(--ink); border-bottom: 2.5px solid var(--ink); transform: translate(-50%, -70%) rotate(45deg); }
.snote-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
.snote-btn .ord { display: none; grid-column: 1; grid-row: 1 / span 2; width: 34px; height: 34px; border-radius: 50%; place-items: center; background: var(--trail); color: var(--paper); font-family: var(--f-mono); font-weight: 700; font-size: .92rem; border: 2px solid var(--ink); }
.show-order .snote-btn .ord { display: grid; }
.show-order .snote-btn .snote-name, .show-order .snote-btn .snote-sum { grid-column: 2; }
body:not(.show-order) .snote-btn { grid-template-columns: 1fr auto; }
body:not(.show-order) .snote-name, body:not(.show-order) .snote-sum { grid-column: 1; }
body:not(.show-order) .snote-btn .chev { grid-column: 2; }

.js .snote-body { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .35s ease, visibility 0s .35s; }
.js .srow.is-open .snote-body { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .35s ease, visibility 0s; }
.snote-in { overflow: hidden; min-height: 0; }
.snote-in dl { margin: 0; padding: 1rem .35rem .4rem; display: grid; gap: .8rem; }
.snote-in dt { font-family: var(--f-mono); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--moss-d); }
.snote-in dd { margin: .1rem 0 0; font-size: .98rem; line-height: 1.58; }
.snote-in > dl > div:nth-child(3) dt { color: var(--trail-d); }
.snote-in > dl > div:nth-child(3) dt::before { content: "\2691\00a0"; }

@media (min-width: 900px) {
  .sheet { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); column-gap: var(--gap); }
  .sheet .spaper { border-width: 0; border-bottom: 1.5px dashed var(--contour-d); }
  .sheet .srow:nth-last-child(1) .spaper { border-bottom: 0; }
  .sheet::before {
    content: ""; position: absolute; z-index: 0; left: 0; top: 0; bottom: 0;
    width: calc((100% - var(--gap)) * 1.45 / 2.45);
    background: var(--paper); border: 2px solid var(--ink); border-radius: 8px;
    box-shadow: 0 2px 0 var(--ink), 14px 18px 0 -4px var(--contour-d), 0 30px 44px -20px rgba(28, 43, 34, .5);
  }
  .srow.is-open .spaper { background: var(--sky-soft); }
  .srow:first-child .spaper, .srow:nth-last-child(1) .spaper { border-radius: 0; }
  .snote::before { content: ""; position: absolute; left: calc(var(--gap) * -1); top: 1.6rem; width: var(--gap); border-top: 2px dashed var(--ink-2); }
  .snote::after { content: ""; position: absolute; left: calc(var(--gap) * -1 - 4px); top: calc(1.6rem - 5px); width: 10px; height: 10px; border-radius: 50%; background: var(--trail-art); border: 2px solid var(--ink); }
  .snote { padding-top: 1rem; }
  .sheet-tape { display: block; position: absolute; z-index: 3; left: 2.5rem; top: -14px; width: 110px; height: 30px; background: rgba(188, 213, 230, .85); border: 1.5px solid var(--ink); transform: rotate(-3deg); }
}
@media (max-width: 899px) {
  .spaper { border-bottom-width: 0; }
  .srow .spaper { border-radius: 0; }
  .snote { margin-bottom: 1.25rem; background: var(--paper-3); border: 2px solid var(--ink); border-top: 0; padding: .75rem; border-radius: 0 0 8px 8px; }
  .srow .spaper { border-bottom-width: 2px; border-bottom-style: dashed; border-radius: 8px 8px 0 0; }
}

.how-sec { padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem); }
.how-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.prose { max-width: 40rem; }
.prose p { margin-bottom: 1.15em; }
@media (max-width: 899px) { .how-grid { grid-template-columns: 1fr; } }

/* ---------- Reading lab ---------- */
.lab-hero { background: var(--ink); color: var(--paper); --topo-color: #2E4537; --topo-size: 1300px; --topo-pos: -100px -200px; border-bottom: 2px solid var(--ink); }
.lab-hero h1 { color: var(--paper); }
.lab-hero .lede { color: #D5DDD0; }
.lab-hero .eyebrow { color: #FFB59B; }
.lab-hero a { color: var(--sky); }
.lab-hero :focus-visible { outline-color: var(--sky); }
.lab-steps { list-style: none; display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 0; padding: 0; }
.lab-steps a { display: inline-flex; align-items: center; gap: .6rem; min-height: 46px; padding: .4rem 1.1rem .4rem .5rem; border: 2px solid var(--sky); border-radius: 999px; color: var(--paper); text-decoration: none; font-family: var(--f-head); font-weight: 600;  }
.lab-steps a:hover { background: var(--paper); color: var(--ink); }
.lab-steps b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--paper); color: var(--ink); font-family: var(--f-mono); }

.lab-panel { padding: clamp(2.25rem, 5vw, 4rem) 0; border-bottom: 2px solid var(--ink); }
.lab-panel > .wrap > h2 { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.25rem; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); }
.step-n { display: grid; place-items: center; flex: none; width: 2.1em; height: 2.1em; border-radius: 50%; background: var(--ink); color: var(--paper); font-family: var(--f-mono); font-size: .65em; }
.lab-work { background: var(--sky-soft); }
.lab-sum { background: var(--paper-2); }

.field { margin-bottom: 1.25rem; }
.field label, .tagdock-note label, .notes-filter label, .anno-edit label, fieldset legend { display: block; font-family: var(--f-head); font-weight: 700; font-size: 1rem; margin-bottom: .35rem; }
input[type="text"], input[type="search"], textarea, select {
  width: 100%; max-width: 100%;
  font: inherit; font-family: var(--f-body); font-size: 1.02rem; line-height: 1.5; color: var(--ink);
  background: var(--paper); border: 2px solid var(--moss-d); border-radius: 12px;
  padding: .7rem .9rem; min-height: 46px;
}
textarea { resize: vertical; min-height: 7rem; }
input::placeholder, textarea::placeholder { color: var(--ink-2); opacity: 1; }
input[type="text"]:focus-visible, input[type="search"]:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; border-color: var(--ink); }
select { appearance: none; -webkit-appearance: none; padding-right: 2.6rem; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size: 6px 6px; background-repeat: no-repeat; cursor: pointer; }
.field-error { margin: .5rem 0 0; padding: .6rem .85rem; border: 2px solid var(--trail-d); border-radius: 10px; background: var(--t-claim); color: var(--ink); font-weight: 600; font-size: .98rem; display: flex; gap: .6rem; }
.field-error::before { content: "!"; flex: none; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--trail-d); color: var(--paper); font-family: var(--f-head); font-weight: 700; }
.paste-form { max-width: 52rem; }

.lab-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.tagdock { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: .9rem 1rem 1rem; margin-bottom: 1rem; box-shadow: var(--shadow-soft); }
.tagdock-sel { font-size: .98rem; margin: 0 0 .75rem; color: var(--ink-2); min-height: 3em; }
.tagdock-sel b { color: var(--ink); }
.tagdock-sel q { font-style: italic; color: var(--ink); }
.tagbar { display: flex; flex-wrap: wrap; gap: .5rem; }
.tag-btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 46px; padding: .35rem .75rem .35rem .45rem; border: 2px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); font-family: var(--f-head); font-weight: 700; font-size: .98rem; cursor: pointer; box-shadow: 0 3px 0 var(--ink); transition: transform .12s, box-shadow .12s; }
.tag-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 0 var(--ink); }
.tag-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--ink); }
.tag-btn[data-tag="claim"] { background: var(--t-claim); }
.tag-btn[data-tag="assumption"] { background: var(--t-assumption); }
.tag-btn[data-tag="definition"] { background: var(--t-definition); }
.tag-btn[data-tag="evidence"] { background: var(--t-evidence); }
.tag-btn[data-tag="question"] { background: var(--t-question); }
.tag-btn[aria-disabled="true"] { box-shadow: 0 3px 0 var(--ink-2); border-style: dashed; cursor: not-allowed; }
.tag-btn[aria-disabled="true"]:hover { transform: none; }
.tag-letter { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--paper); font-family: var(--f-mono); font-size: .85rem; font-weight: 700; flex: none; }
.tag-count { min-width: 1.5rem; padding: 0 .4rem; border-radius: 99px; background: var(--paper); border: 1.5px solid var(--ink); font-family: var(--f-mono); font-size: .8rem; text-align: center; line-height: 1.5; }
.tagdock-note { margin-top: .9rem; }
.tagdock-note input { font-size: .98rem; min-height: 44px; }

.reader-wrap { position: relative; }
.reader {
  background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius);
  padding: clamp(1rem, 3vw, 1.9rem);
  font-family: var(--f-body); font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.95;
  min-height: 12rem; max-height: min(75vh, 46rem); overflow: auto;
  box-shadow: var(--shadow-card);
  overflow-wrap: anywhere;
  background-image: repeating-linear-gradient(transparent 0, transparent calc(1.95em - 1px), rgba(180, 193, 171, .35) calc(1.95em - 1px), rgba(180, 193, 171, .35) 1.95em);
  background-origin: content-box;
}
.reader p { margin: 0 0 1.1em; }
.reader:empty { display: none; }
.reader-empty { text-align: center; padding: 2.5rem 1.5rem; border: 2px dashed var(--moss-d); border-radius: var(--radius); background: var(--paper); }
.reader-empty svg { width: 120px; height: 80px; margin: 0 auto 1rem; display: block; }
.reader-empty p { max-width: 30rem; margin-inline: auto; color: var(--ink-2); }
.reader:not(:empty) + .reader-empty { display: none; }
::selection { background: #FFD3A8; color: var(--ink); }

mark.seg { color: var(--ink); background: transparent; border-radius: 3px; padding: .08em 0; -webkit-box-decoration-break: clone; box-decoration-break: clone; cursor: pointer; text-decoration-line: underline; text-decoration-thickness: 2.5px; text-underline-offset: .2em; }
mark.seg[data-tag="claim"] { background: var(--t-claim); text-decoration-style: solid; text-decoration-color: var(--trail); }
mark.seg[data-tag="assumption"] { background: var(--t-assumption); text-decoration-style: dashed; text-decoration-color: var(--ink); }
mark.seg[data-tag="definition"] { background: var(--t-definition); text-decoration-style: double; text-decoration-color: var(--moss-d); }
mark.seg[data-tag="evidence"] { background: var(--t-evidence); text-decoration-style: dotted; text-decoration-color: var(--ink); }
mark.seg[data-tag="question"] { background: var(--t-question); text-decoration-style: wavy; text-decoration-color: var(--trail-d); }
mark.seg[data-label]::before { content: attr(data-label); display: inline-block; vertical-align: .35em; margin-right: .3em; padding: .15em .4em; border-radius: 4px; background: var(--ink); color: var(--paper); font-family: var(--f-head); font-weight: 700; font-size: .6rem; line-height: 1; letter-spacing: .04em; text-decoration: none; }
mark.seg.is-active { outline: 3px solid var(--ink); outline-offset: 2px; }
.seg.cur { background: var(--ink) !important; color: var(--paper) !important; text-decoration-color: var(--paper) !important; border-radius: 3px; }
.seg.cur::before { background: var(--paper) !important; color: var(--ink) !important; }
.seg.flash { animation: flash 1.4s ease-out; }
@keyframes flash { 0% { box-shadow: 0 0 0 0 var(--trail-art), 0 0 0 0 var(--trail-art); outline: 4px solid var(--trail-art); } 100% { outline: 4px solid transparent; } }

.notes-col { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 1.1rem 1.1rem 1.25rem; box-shadow: var(--shadow-card); }
.notes-col h3 { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; font-size: 1.3rem; }
.notes-total { display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; padding: 0 .5rem; border-radius: 99px; background: var(--ink); color: var(--paper); font-family: var(--f-mono); font-size: .9rem; }
.gaps { margin-bottom: 1rem; display: grid; gap: .5rem; }
.gaps p { margin: 0; padding: .6rem .8rem; border-radius: 10px; border: 2px solid var(--ink); background: var(--sand); font-size: .95rem; line-height: 1.45; }
.gaps p::before { content: "Trail tip: "; font-weight: 700; font-family: var(--f-head); }
.notes-filter { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.notes-filter label { margin: 0; flex: none; }
.notes-filter select { max-width: 14rem; }
.anno-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.anno { border: 2px solid var(--ink); border-left-width: 10px; border-radius: 12px; padding: .75rem .85rem .9rem; background: var(--paper); }
.anno[data-tag="claim"] { background: var(--t-claim); }
.anno[data-tag="assumption"] { background: var(--t-assumption); }
.anno[data-tag="definition"] { background: var(--t-definition); }
.anno[data-tag="evidence"] { background: var(--t-evidence); }
.anno[data-tag="question"] { background: var(--t-question); }
.anno.is-active { box-shadow: 0 0 0 4px var(--paper), 0 0 0 7px var(--ink); }
.anno-head { display: flex; align-items: center; gap: .55rem; font-family: var(--f-head); font-weight: 700; margin-bottom: .4rem; }
.anno-quote { margin: 0 0 .6rem; font-size: .98rem; line-height: 1.5; font-style: italic; overflow-wrap: anywhere; border-left: 3px solid var(--ink); padding-left: .7rem; }
.anno-edit input { min-height: 42px; font-size: .96rem; background: var(--paper); }
.anno-edit label { font-size: .88rem; margin-bottom: .2rem; }
.anno-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; margin-top: .65rem; }
.anno-actions .btn { min-height: 42px; }
.anno-actions .retag { flex: 1 1 8rem; }
.anno-actions .retag label { font-size: .85rem; margin-bottom: .15rem; font-family: var(--f-head); font-weight: 700; display: block; }
.anno-actions select { min-height: 42px; padding-block: .4rem; font-size: .95rem; }

.sum-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
fieldset.sum-opts { border: 2px solid var(--ink); border-radius: 14px; padding: .6rem 1rem 1rem; margin: 0; background: var(--paper); min-width: 0; }
.sum-opts legend { padding: 0 .4rem; }
.sum-opts .check { display: flex; }
.check-sep { margin-top: .5rem; padding-top: .5rem; border-top: 2px dashed var(--contour-d); }
.sum-out h3 { font-size: 1.3rem; }
.sum-paper { background: var(--paper); border: 2px solid var(--ink); border-radius: 8px; padding: clamp(1.1rem, 3vw, 2rem); box-shadow: 10px 12px 0 -3px var(--contour-d), var(--shadow-card); max-height: 36rem; overflow: auto; font-size: 1rem; line-height: 1.6; }
.sum-paper h4 { font-family: var(--f-head); margin: 1.2rem 0 .4rem; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .06em; }
.sum-paper h4:first-child { margin-top: 0; }
.sum-paper .sp-title { font-size: 1.55rem; text-transform: none; letter-spacing: -.01em; }
.sum-paper ul { margin: 0; padding-left: 1.25rem; }
.sum-paper li { margin-bottom: .45rem; }
.sum-paper .sp-none { color: var(--ink-2); font-style: italic; }
.sum-paper .sp-note { display: block; color: var(--ink-2); font-size: .95rem; }
.export-row { margin-top: 1.25rem; }

.lab-guide { padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem); --topo-color: #E3E9DD; --topo-size: 1400px; }
.guide-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); }
.guide-cols h3 { font-size: 1.3rem; padding-bottom: .5rem; border-bottom: 3px solid var(--ink); display: inline-block; }
.tag-dl { margin: 0; display: grid; gap: .9rem; }
.tag-dl dt { font-family: var(--f-head); font-weight: 700; display: flex; align-items: center; gap: .6rem; }
.tag-dl dd { margin: .2rem 0 0 2.4rem; font-size: .98rem; color: var(--ink-2); line-height: 1.55; }
.plain-list { margin: 0; padding-left: 1.2rem; display: grid; gap: .75rem; font-size: 1rem; line-height: 1.6; }
.plain-list li::marker { color: var(--moss-d); }
@media (max-width: 999px) {
  .lab-grid { grid-template-columns: 1fr; }
  .guide-cols { grid-template-columns: 1fr; }
  .sum-grid { grid-template-columns: 1fr; }
}
@media (min-width: 1000px) {
  .tagdock { position: sticky; top: calc(var(--header-h) + .75rem); z-index: 20; }
  .notes-col { position: sticky; top: calc(var(--header-h) + .75rem); max-height: calc(100vh - var(--header-h) - 2rem); overflow: auto; }
}

/* ---------- Questions ---------- */
.q-hero { background: var(--moss-l); --topo-color: #CBD9C0; --topo-size: 1300px; --topo-pos: -400px -60px; }
.q-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.q-compass svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 14px 18px rgba(28, 43, 34, .25)); }
.q-compass { margin: 0; }
@media (max-width: 760px) { .q-hero-grid { grid-template-columns: 1fr; } .q-compass { display: none; } }
.q-sec { padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 6vw, 5rem); }
.q-tools { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 1.1rem 1.25rem 1.3rem; box-shadow: var(--shadow-card); margin-bottom: 2.5rem; display: grid; gap: 1rem; }
.q-search label { display: block; font-family: var(--f-head); font-weight: 700; margin-bottom: .35rem; }
.q-search input { max-width: 30rem; }
.q-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { min-height: 44px; padding: .4rem 1rem; border: 2px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); font-family: var(--f-head); font-weight: 700; font-size: .96rem; cursor: pointer; transition: transform .15s; }
.chip:hover { background: var(--sky); }
.chip[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.chip[aria-pressed="true"]::before { content: "\2713\00a0"; }
.chip-saved #saved-count { display: inline-block; min-width: 1.4em; padding: 0 .35em; margin-left: .25em; border-radius: 99px; background: var(--trail); color: var(--paper); font-family: var(--f-mono); font-size: .82rem; text-align: center; }
.q-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; border-top: 2px dashed var(--contour-d); padding-top: 1rem; }
.q-count { margin: 0; font-family: var(--f-head); font-weight: 600; }
.q-actions .btn-row { margin: 0; }
.q-actions .hint { flex: 1 1 100%; margin: 0; min-height: 1.4em; }

.q-groups { display: grid; gap: clamp(2.5rem, 5vw, 4rem); counter-reset: grp; }
.q-group { counter-increment: grp; }
.q-group-head { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: baseline; margin-bottom: 1.25rem; padding-bottom: .9rem; border-bottom: 3px solid var(--ink); }
.q-group-head::before { content: counter(grp, upper-roman); grid-row: 1 / span 2; font-family: var(--f-mono); font-weight: 700; font-size: 1.1rem; display: grid; place-items: center; min-width: 3rem; height: 3rem; padding-inline: .4rem; border: 2px solid var(--ink); border-radius: 50%; background: var(--sky); }
.q-group-head h2 { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); }
.q-group-head p { margin: 0; color: var(--ink-2); font-size: 1.02rem; grid-column: 2; }
.q-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.q { position: relative; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) auto; gap: 1rem; align-items: start; background: var(--paper); border: 2px solid var(--ink); border-radius: 16px; padding: 1.1rem 1.2rem 1.2rem 1rem; box-shadow: var(--shadow-soft); transition: transform .2s ease, box-shadow .2s ease; }
.q:hover { transform: translateY(-2px); box-shadow: var(--shadow-card); }
.q-num { font-family: var(--f-mono); font-weight: 700; font-size: 2.2rem; line-height: 1; color: var(--moss); text-align: center; padding-top: .1rem; }
.q-text { font-family: var(--f-head); font-weight: 700; font-size: clamp(1.15rem, 1.02rem + .7vw, 1.5rem); line-height: 1.25; margin: 0 0 .45rem; color: var(--ink); }
.q-why { font-size: .98rem; color: var(--ink-2); line-height: 1.55; margin: 0; }
.q-why b { font-family: var(--f-mono); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--moss-d); margin-right: .35rem; }
.q-save { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .35rem .95rem; border: 2px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); font-family: var(--f-head); font-weight: 700; font-size: .95rem; cursor: pointer;  }
.q-save:hover { background: var(--sky); }
.q-save-ico { width: 18px; height: 18px; background: var(--ink); clip-path: polygon(50% 0, 62% 35%, 98% 35%, 69% 57%, 80% 92%, 50% 71%, 20% 92%, 31% 57%, 2% 35%, 38% 35%); opacity: .4; }
.q-save[aria-pressed="true"] { background: var(--ink); color: var(--paper); }
.q-save[aria-pressed="true"] .q-save-ico { background: var(--trail-art); opacity: 1; }
.q.is-saved { border-left-width: 10px; padding-left: calc(1rem - 8px); }
.q.is-picked { box-shadow: 0 0 0 5px var(--sky), 0 0 0 8px var(--ink); animation: picked .8s ease-out; }
@keyframes picked { from { transform: scale(1.03); } to { transform: scale(1); } }
.q-empty { text-align: center; padding: 2.5rem 1rem; border: 2px dashed var(--moss-d); border-radius: var(--radius); }
@media (max-width: 700px) {
  .q { grid-template-columns: 2.6rem minmax(0, 1fr); }
  .q-num { font-size: 1.7rem; }
  .q-save { grid-column: 2; justify-self: start; }
}

/* ---------- Contact ---------- */
.c-hero { background: var(--sky); --topo-color: #F2F8FC; --topo-size: 1200px; --topo-pos: -200px 0; }
.c-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 260px); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.c-art { width: 100%; height: auto; filter: drop-shadow(0 16px 20px rgba(28, 43, 34, .22)); transform: rotate(4deg); }
@media (max-width: 760px) { .c-hero-grid { grid-template-columns: 1fr; } .c-art { max-width: 240px; } }
.c-sec { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(4rem, 8vw, 7rem); }
.c-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.postcard { position: relative; background: var(--paper); border: 2px solid var(--ink); border-radius: 12px; padding: clamp(1.5rem, 4vw, 2.5rem); padding-top: calc(clamp(1.5rem, 4vw, 2.5rem) + 14px); box-shadow: var(--shadow-card); overflow: hidden; }
.postcard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px; background: repeating-linear-gradient(135deg, var(--trail-art) 0 18px, var(--paper) 18px 30px, var(--sky-2) 30px 48px, var(--paper) 48px 60px); border-bottom: 2px solid var(--ink); }
.postcard h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); }
.c-result { margin-top: 2rem; padding-top: 1.5rem; border-top: 2px dashed var(--ink-2); }
.c-preview { white-space: pre-wrap; overflow-wrap: anywhere; font-family: var(--f-mono); font-size: .9rem; line-height: 1.55; background: var(--paper-3); border: 2px solid var(--ink); border-radius: 10px; padding: 1rem; max-height: 18rem; overflow: auto; margin: 1rem 0 0; }
.c-side { display: grid; gap: 1.5rem; }
.c-card { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 1.4rem 1.5rem 1.5rem; box-shadow: var(--shadow-soft); }
.c-card h2 { font-size: 1.45rem; }
.faq details { border-top: 2px solid var(--contour-d); }
.faq details:last-child { border-bottom: 2px solid var(--contour-d); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 52px; padding: .6rem .2rem; font-family: var(--f-head); font-weight: 700; font-size: 1.04rem; line-height: 1.3; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--ink); border-radius: 50%; font-family: var(--f-mono); font-size: 1.1rem; line-height: 1; }
.faq details[open] summary::after { content: "\2212"; background: var(--sky); }
.faq details p { padding: 0 .2rem 1rem; font-size: 1rem; color: var(--ink-2); margin: 0; }
@media (max-width: 899px) { .c-grid { grid-template-columns: 1fr; } }

/* ---------- Print ---------- */
@media print {
  :root { --paper: #fff; }
  body { background: #fff; font-size: 11pt; overflow: visible; }
  .site-header, .site-footer, .skip-link, .nav-toggle, .trail-hud, .hike, .btn-row, .q-tools, .q-save, .how-sec, .cta-sec, .hero-art { display: none !important; }
  .topo::before, .cta-in::before { display: none; }
  .page-hero, .hero { padding: 0 0 1rem; background: none !important; border: 0; }
  .q, .anno, .sum-paper, .wp-card { box-shadow: none !important; break-inside: avoid; }
  .q { transform: none !important; }
  body[data-page="lab"] .lab-hero, body[data-page="lab"] #step-paste, body[data-page="lab"] #step-annotate, body[data-page="lab"] .lab-guide, body[data-page="lab"] .sum-form { display: none !important; }
  body[data-page="lab"] .sum-grid { display: block; }
  body[data-page="lab"] .sum-paper { max-height: none; overflow: visible; border: 0; padding: 0; }
  body[data-page="lab"] .lab-panel { border: 0; padding: 0; }
  body[data-page="lab"] .lab-panel > .wrap > h2, body[data-page="lab"] .sum-out h3 { display: none; }
  .js .wp-panel { grid-template-rows: 1fr !important; visibility: visible !important; }
  .trail-svg, .wp-icon, .wp-zone { display: none !important; }
  .wp { display: block; }
  a { color: #000; }
}

/* ---------- No animation clock available ---------- */
.no-anim *, .no-anim *::before, .no-anim *::after { animation: none !important; transition: none !important; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .btn:hover, .btn:active, .pack-card:hover, .q:hover, .snote-btn:hover, .tag-btn:hover, .tag-btn:active, .brand:hover .brand-mark { transform: none; }
  .marker-pulse { opacity: 0; }
}
