Elie Bakouch commited on
Commit
5beecc4
·
1 Parent(s): ab7e561

bansky section

Browse files
Files changed (1) hide show
  1. index.html +554 -0
index.html CHANGED
@@ -602,6 +602,419 @@
602
  color: rgba(255, 255, 255, 0.5);
603
  }
604
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
605
  /* Focus Areas */
606
  .focus {
607
  padding: 10rem 4rem;
@@ -1479,6 +1892,147 @@
1479
  </div>
1480
  </section>
1481
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1482
  <section class="focus" id="focus">
1483
  <div class="focus-header reveal">
1484
  <span class="section-label">Focus Areas</span>
 
602
  color: rgba(255, 255, 255, 0.5);
603
  }
604
 
605
+ /* Banksy Section */
606
+ .banksy {
607
+ padding: 0;
608
+ position: relative;
609
+ background: #1a1a1a;
610
+ overflow: hidden;
611
+ min-height: 100vh;
612
+ }
613
+
614
+ .banksy-wall {
615
+ position: absolute;
616
+ inset: 0;
617
+ background:
618
+ url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),
619
+ linear-gradient(180deg, #2d2d2d 0%, #1a1a1a 50%, #0d0d0d 100%);
620
+ background-blend-mode: overlay;
621
+ opacity: 0.9;
622
+ }
623
+
624
+ .banksy-bricks {
625
+ position: absolute;
626
+ inset: 0;
627
+ background-image:
628
+ linear-gradient(to right, #333 1px, transparent 1px),
629
+ linear-gradient(to bottom, #333 1px, transparent 1px),
630
+ linear-gradient(to bottom, transparent 49%, #292929 49%, #292929 51%, transparent 51%);
631
+ background-size: 120px 40px, 120px 40px, 240px 80px;
632
+ background-position: 0 0, 0 0, 60px 0;
633
+ opacity: 0.3;
634
+ }
635
+
636
+ .banksy-content {
637
+ position: relative;
638
+ z-index: 1;
639
+ padding: 6rem 4rem;
640
+ max-width: 1400px;
641
+ margin: 0 auto;
642
+ }
643
+
644
+ .banksy-header {
645
+ margin-bottom: 4rem;
646
+ }
647
+
648
+ .banksy-title {
649
+ font-family: 'Courier New', monospace;
650
+ font-size: clamp(3rem, 10vw, 8rem);
651
+ font-weight: 900;
652
+ color: white;
653
+ text-transform: uppercase;
654
+ letter-spacing: -0.05em;
655
+ line-height: 0.9;
656
+ position: relative;
657
+ display: inline-block;
658
+ }
659
+
660
+ .banksy-title::before {
661
+ content: '';
662
+ position: absolute;
663
+ bottom: 0.1em;
664
+ left: 0;
665
+ right: 0;
666
+ height: 0.15em;
667
+ background: #ff0000;
668
+ transform: skewX(-12deg);
669
+ }
670
+
671
+ .banksy-subtitle {
672
+ font-family: 'Courier New', monospace;
673
+ font-size: 1rem;
674
+ color: #888;
675
+ text-transform: uppercase;
676
+ letter-spacing: 0.3em;
677
+ margin-top: 1rem;
678
+ }
679
+
680
+ .stencil-container {
681
+ display: grid;
682
+ grid-template-columns: 1fr 1fr;
683
+ gap: 3rem;
684
+ margin-bottom: 4rem;
685
+ }
686
+
687
+ .stencil-card {
688
+ background: transparent;
689
+ position: relative;
690
+ }
691
+
692
+ .stencil-card::before {
693
+ content: '';
694
+ position: absolute;
695
+ inset: -10px;
696
+ background: rgba(255,255,255,0.02);
697
+ border: 2px dashed rgba(255,255,255,0.1);
698
+ transform: rotate(-1deg);
699
+ }
700
+
701
+ .spray-text {
702
+ font-family: 'Arial Black', sans-serif;
703
+ font-size: 2rem;
704
+ font-weight: 900;
705
+ color: white;
706
+ text-transform: uppercase;
707
+ position: relative;
708
+ display: inline-block;
709
+ padding: 0.5rem 0;
710
+ }
711
+
712
+ .spray-text.red {
713
+ color: #ff0000;
714
+ }
715
+
716
+ .spray-text.yellow {
717
+ color: #ffcc00;
718
+ }
719
+
720
+ .spray-text::after {
721
+ content: '';
722
+ position: absolute;
723
+ bottom: -5px;
724
+ left: 0;
725
+ width: 100%;
726
+ height: 20px;
727
+ background: linear-gradient(180deg, currentColor 0%, transparent 100%);
728
+ opacity: 0.3;
729
+ filter: blur(3px);
730
+ }
731
+
732
+ .drip {
733
+ position: relative;
734
+ }
735
+
736
+ .drip::after {
737
+ content: '';
738
+ position: absolute;
739
+ bottom: -30px;
740
+ left: 20%;
741
+ width: 3px;
742
+ height: 30px;
743
+ background: linear-gradient(180deg, currentColor 0%, transparent 100%);
744
+ border-radius: 0 0 3px 3px;
745
+ }
746
+
747
+ .stencil-body {
748
+ font-family: 'Courier New', monospace;
749
+ font-size: 1rem;
750
+ color: #aaa;
751
+ line-height: 1.8;
752
+ margin-top: 1.5rem;
753
+ }
754
+
755
+ .stencil-body strong {
756
+ color: white;
757
+ font-weight: normal;
758
+ background: rgba(255,0,0,0.3);
759
+ padding: 0 0.25rem;
760
+ }
761
+
762
+ /* The rat illustration */
763
+ .banksy-rat {
764
+ position: absolute;
765
+ right: 5%;
766
+ top: 15%;
767
+ width: 200px;
768
+ height: auto;
769
+ opacity: 0.9;
770
+ filter: drop-shadow(0 0 20px rgba(0,0,0,0.5));
771
+ transform: scaleX(-1);
772
+ }
773
+
774
+ /* Graffiti equation */
775
+ .graffiti-equation {
776
+ background: rgba(0,0,0,0.5);
777
+ border-left: 4px solid #ff0000;
778
+ padding: 2rem 3rem;
779
+ margin: 3rem 0;
780
+ position: relative;
781
+ overflow: hidden;
782
+ }
783
+
784
+ .graffiti-equation::before {
785
+ content: 'THE FORMULA THEY DON\'T WANT YOU TO KNOW';
786
+ position: absolute;
787
+ top: -0.5rem;
788
+ left: 2rem;
789
+ font-family: 'Courier New', monospace;
790
+ font-size: 0.7rem;
791
+ color: #ff0000;
792
+ letter-spacing: 0.2em;
793
+ text-transform: uppercase;
794
+ background: #1a1a1a;
795
+ padding: 0 0.5rem;
796
+ }
797
+
798
+ .graffiti-equation .eq {
799
+ font-family: 'Times New Roman', serif;
800
+ font-size: 2.5rem;
801
+ color: white;
802
+ letter-spacing: 0.05em;
803
+ }
804
+
805
+ .graffiti-equation .eq .highlight {
806
+ color: #ff0000;
807
+ position: relative;
808
+ }
809
+
810
+ .graffiti-equation .eq .highlight::after {
811
+ content: '';
812
+ position: absolute;
813
+ left: -5px;
814
+ right: -5px;
815
+ bottom: 0;
816
+ height: 3px;
817
+ background: #ff0000;
818
+ }
819
+
820
+ /* Manifesto style list */
821
+ .manifesto {
822
+ margin: 4rem 0;
823
+ padding: 0;
824
+ list-style: none;
825
+ }
826
+
827
+ .manifesto li {
828
+ font-family: 'Courier New', monospace;
829
+ font-size: 1.25rem;
830
+ color: white;
831
+ padding: 1rem 0;
832
+ border-bottom: 1px solid rgba(255,255,255,0.1);
833
+ position: relative;
834
+ padding-left: 3rem;
835
+ }
836
+
837
+ .manifesto li::before {
838
+ content: '✗';
839
+ position: absolute;
840
+ left: 0;
841
+ color: #ff0000;
842
+ font-size: 1.5rem;
843
+ }
844
+
845
+ .manifesto li.yes::before {
846
+ content: '✓';
847
+ color: #00ff00;
848
+ }
849
+
850
+ .manifesto li span {
851
+ color: #666;
852
+ font-size: 0.9rem;
853
+ display: block;
854
+ margin-top: 0.25rem;
855
+ }
856
+
857
+ /* Stencil SVG */
858
+ .stencil-svg {
859
+ width: 100%;
860
+ max-width: 600px;
861
+ margin: 2rem auto;
862
+ display: block;
863
+ }
864
+
865
+ /* Spray paint splatter */
866
+ .splatter {
867
+ position: absolute;
868
+ width: 150px;
869
+ height: 150px;
870
+ background: radial-gradient(circle at center, #ff0000 0%, transparent 70%);
871
+ opacity: 0.1;
872
+ filter: blur(20px);
873
+ pointer-events: none;
874
+ }
875
+
876
+ .splatter-1 { top: 10%; left: 5%; }
877
+ .splatter-2 { top: 60%; right: 10%; transform: scale(1.5); }
878
+ .splatter-3 { bottom: 20%; left: 30%; transform: scale(0.8); }
879
+
880
+ /* Quote graffiti */
881
+ .banksy-quote {
882
+ font-family: 'Arial Black', sans-serif;
883
+ font-size: clamp(1.5rem, 4vw, 2.5rem);
884
+ color: white;
885
+ text-align: center;
886
+ margin: 4rem 0;
887
+ padding: 3rem;
888
+ position: relative;
889
+ text-transform: uppercase;
890
+ letter-spacing: 0.05em;
891
+ line-height: 1.4;
892
+ }
893
+
894
+ .banksy-quote::before,
895
+ .banksy-quote::after {
896
+ content: '';
897
+ position: absolute;
898
+ left: 50%;
899
+ transform: translateX(-50%);
900
+ width: 100px;
901
+ height: 2px;
902
+ background: #ff0000;
903
+ }
904
+
905
+ .banksy-quote::before { top: 0; }
906
+ .banksy-quote::after { bottom: 0; }
907
+
908
+ .banksy-quote .author {
909
+ display: block;
910
+ font-family: 'Courier New', monospace;
911
+ font-size: 0.875rem;
912
+ color: #666;
913
+ text-transform: none;
914
+ letter-spacing: 0.1em;
915
+ margin-top: 1.5rem;
916
+ }
917
+
918
+ /* The big comparison */
919
+ .versus {
920
+ display: grid;
921
+ grid-template-columns: 1fr auto 1fr;
922
+ gap: 2rem;
923
+ align-items: center;
924
+ margin: 4rem 0;
925
+ }
926
+
927
+ .versus-side {
928
+ text-align: center;
929
+ padding: 2rem;
930
+ }
931
+
932
+ .versus-side.old {
933
+ opacity: 0.5;
934
+ text-decoration: line-through;
935
+ text-decoration-color: #ff0000;
936
+ text-decoration-thickness: 3px;
937
+ }
938
+
939
+ .versus-side h4 {
940
+ font-family: 'Arial Black', sans-serif;
941
+ font-size: 1.5rem;
942
+ color: white;
943
+ text-transform: uppercase;
944
+ margin-bottom: 1rem;
945
+ }
946
+
947
+ .versus-side.old h4 {
948
+ color: #666;
949
+ }
950
+
951
+ .versus-side p {
952
+ font-family: 'Courier New', monospace;
953
+ font-size: 3rem;
954
+ color: #ff0000;
955
+ font-weight: bold;
956
+ }
957
+
958
+ .versus-side.new p {
959
+ color: #00ff00;
960
+ }
961
+
962
+ .versus-divider {
963
+ font-family: 'Arial Black', sans-serif;
964
+ font-size: 2rem;
965
+ color: white;
966
+ padding: 1rem;
967
+ background: #ff0000;
968
+ border-radius: 50%;
969
+ width: 60px;
970
+ height: 60px;
971
+ display: flex;
972
+ align-items: center;
973
+ justify-content: center;
974
+ }
975
+
976
+ /* Exit through the gradient */
977
+ .banksy-footer {
978
+ text-align: center;
979
+ padding: 4rem 0 2rem;
980
+ border-top: 1px solid rgba(255,255,255,0.1);
981
+ margin-top: 4rem;
982
+ }
983
+
984
+ .banksy-footer p {
985
+ font-family: 'Courier New', monospace;
986
+ font-size: 0.8rem;
987
+ color: #444;
988
+ text-transform: uppercase;
989
+ letter-spacing: 0.2em;
990
+ }
991
+
992
+ @media (max-width: 768px) {
993
+ .stencil-container {
994
+ grid-template-columns: 1fr;
995
+ }
996
+
997
+ .versus {
998
+ grid-template-columns: 1fr;
999
+ gap: 1rem;
1000
+ }
1001
+
1002
+ .versus-divider {
1003
+ transform: rotate(90deg);
1004
+ }
1005
+
1006
+ .banksy-content {
1007
+ padding: 4rem 1.5rem;
1008
+ }
1009
+
1010
+ .banksy-rat {
1011
+ width: 100px;
1012
+ top: 5%;
1013
+ right: 2%;
1014
+ opacity: 0.5;
1015
+ }
1016
+ }
1017
+
1018
  /* Focus Areas */
1019
  .focus {
1020
  padding: 10rem 4rem;
 
1892
  </div>
1893
  </section>
1894
 
1895
+ <!-- BANKSY SECTION - Breaking all the rules -->
1896
+ <section class="banksy" id="banksy">
1897
+ <div class="banksy-wall"></div>
1898
+ <div class="banksy-bricks"></div>
1899
+
1900
+ <!-- Splatter effects -->
1901
+ <div class="splatter splatter-1"></div>
1902
+ <div class="splatter splatter-2"></div>
1903
+ <div class="splatter splatter-3"></div>
1904
+
1905
+ <!-- The Rat SVG -->
1906
+ <svg class="banksy-rat" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">
1907
+ <g fill="white">
1908
+ <!-- Rat body stencil style -->
1909
+ <ellipse cx="100" cy="120" rx="60" ry="35" fill="white"/>
1910
+ <ellipse cx="55" cy="105" rx="25" ry="20" fill="white"/>
1911
+ <circle cx="45" cy="98" r="4" fill="#1a1a1a"/>
1912
+ <ellipse cx="38" cy="95" rx="8" ry="12" fill="white"/>
1913
+ <ellipse cx="52" cy="88" rx="10" ry="15" fill="white"/>
1914
+ <!-- Tail -->
1915
+ <path d="M160 120 Q180 100 175 70 Q172 50 185 40" stroke="white" stroke-width="6" fill="none" stroke-linecap="round"/>
1916
+ <!-- Legs -->
1917
+ <rect x="70" y="145" width="8" height="20" rx="2" fill="white"/>
1918
+ <rect x="95" y="148" width="8" height="22" rx="2" fill="white"/>
1919
+ <rect x="120" y="146" width="8" height="20" rx="2" fill="white"/>
1920
+ <!-- Holding spray can -->
1921
+ <rect x="20" y="115" width="25" height="40" rx="4" fill="white"/>
1922
+ <rect x="28" y="105" width="10" height="12" rx="2" fill="white"/>
1923
+ <circle cx="32" cy="102" r="4" fill="white"/>
1924
+ <!-- Spray coming out -->
1925
+ <ellipse cx="32" cy="85" rx="8" ry="5" fill="#ff0000" opacity="0.8"/>
1926
+ <ellipse cx="30" cy="70" rx="12" ry="8" fill="#ff0000" opacity="0.5"/>
1927
+ <ellipse cx="35" cy="55" rx="15" ry="10" fill="#ff0000" opacity="0.3"/>
1928
+ </g>
1929
+ </svg>
1930
+
1931
+ <div class="banksy-content">
1932
+ <div class="banksy-header">
1933
+ <h2 class="banksy-title">Destroy<br/>The Gradient</h2>
1934
+ <p class="banksy-subtitle">A street guide to second-order optimization</p>
1935
+ </div>
1936
+
1937
+ <div class="stencil-container">
1938
+ <div class="stencil-card">
1939
+ <div class="spray-text red drip">The Problem</div>
1940
+ <p class="stencil-body">
1941
+ For 50 years, <strong>SGD</strong> has ruled machine learning like a corrupt regime. It only looks at the slope. It ignores the terrain. It takes the same tiny steps whether crossing a flat plain or climbing a cliff.<br><br>
1942
+ <strong>Adam</strong> tried to fix it. Added momentum. Added adaptive rates. But it's still first-order. Still blind to curvature. Still part of the system.
1943
+ </p>
1944
+ </div>
1945
+ <div class="stencil-card">
1946
+ <div class="spray-text yellow drip">The Revolution</div>
1947
+ <p class="stencil-body">
1948
+ <strong>Shampoo</strong> sees what others don't. It reads the curvature of the loss landscape. It knows when to sprint and when to tiptoe.<br><br>
1949
+ The secret? <strong>Kronecker factorization</strong>. Instead of storing an impossible (n² × n²) matrix, it keeps two smaller ones. The establishment said it couldn't be done. They were wrong.
1950
+ </p>
1951
+ </div>
1952
+ </div>
1953
+
1954
+ <div class="graffiti-equation">
1955
+ <div class="eq">
1956
+ W<sub>t+1</sub> = W<sub>t</sub> − η · <span class="highlight">L<sup>−¼</sup></span> G <span class="highlight">R<sup>−¼</sup></span>
1957
+ </div>
1958
+ </div>
1959
+
1960
+ <div class="versus">
1961
+ <div class="versus-side old">
1962
+ <h4>First Order</h4>
1963
+ <p>2,512</p>
1964
+ <span style="color:#666;font-family:monospace;font-size:0.8rem;">steps to converge</span>
1965
+ </div>
1966
+ <div class="versus-divider">VS</div>
1967
+ <div class="versus-side new">
1968
+ <h4>Shampoo</h4>
1969
+ <p>1,729</p>
1970
+ <span style="color:#666;font-family:monospace;font-size:0.8rem;">steps to converge</span>
1971
+ </div>
1972
+ </div>
1973
+
1974
+ <ul class="manifesto">
1975
+ <li>Storing the full Hessian<span>O(n⁴) memory — impossible for real networks</span></li>
1976
+ <li>Diagonal approximations<span>Throws away all the useful structure</span></li>
1977
+ <li>Ignoring curvature entirely<span>Walking blindfolded through a maze</span></li>
1978
+ <li class="yes">Kronecker-factored preconditioners<span>O(m² + n²) memory — actually tractable</span></li>
1979
+ <li class="yes">Accumulate L = GGᵀ and R = GᵀG<span>Capture structure without explosion</span></li>
1980
+ <li class="yes">Matrix fourth roots via Schur-Newton<span>Fast, stable, no eigendecomposition needed</span></li>
1981
+ </ul>
1982
+
1983
+ <!-- Stencil illustration of the transformation -->
1984
+ <svg class="stencil-svg" viewBox="0 0 600 200" fill="none" xmlns="http://www.w3.org/2000/svg">
1985
+ <!-- Chaotic gradient on left -->
1986
+ <g transform="translate(50, 30)">
1987
+ <text x="50" y="0" text-anchor="middle" fill="#666" font-family="Courier New" font-size="10" letter-spacing="0.1em">RAW GRADIENT</text>
1988
+ <rect x="0" y="20" width="100" height="120" fill="none" stroke="#ff0000" stroke-width="2"/>
1989
+ <!-- Chaotic arrows inside -->
1990
+ <path d="M20 50 L80 90" stroke="white" stroke-width="2"/>
1991
+ <path d="M30 100 L70 40" stroke="white" stroke-width="2"/>
1992
+ <path d="M50 30 L50 130" stroke="white" stroke-width="2"/>
1993
+ <path d="M15 70 L85 70" stroke="white" stroke-width="2"/>
1994
+ <path d="M25 120 L75 50" stroke="white" stroke-width="2"/>
1995
+ <path d="M40 35 L60 125" stroke="white" stroke-width="2"/>
1996
+ <text x="50" y="160" text-anchor="middle" fill="#ff0000" font-family="Arial Black" font-size="12">CHAOS</text>
1997
+ </g>
1998
+
1999
+ <!-- Arrow with transformation -->
2000
+ <g transform="translate(180, 80)">
2001
+ <rect x="0" y="0" width="240" height="50" fill="rgba(255,255,255,0.05)" rx="4"/>
2002
+ <text x="120" y="20" text-anchor="middle" fill="#888" font-family="Courier New" font-size="9">PRECONDITION</text>
2003
+ <text x="120" y="38" text-anchor="middle" fill="white" font-family="Times New Roman" font-size="14">L<tspan baseline-shift="super" font-size="9">−¼</tspan> × G × R<tspan baseline-shift="super" font-size="9">−¼</tspan></text>
2004
+ <path d="M0 25 L-15 25 M240 25 L255 25" stroke="#ff0000" stroke-width="2"/>
2005
+ <polygon points="255,25 248,20 248,30" fill="#ff0000"/>
2006
+ </g>
2007
+
2008
+ <!-- Organized gradient on right -->
2009
+ <g transform="translate(450, 30)">
2010
+ <text x="50" y="0" text-anchor="middle" fill="#666" font-family="Courier New" font-size="10" letter-spacing="0.1em">PRECONDITIONED</text>
2011
+ <rect x="0" y="20" width="100" height="120" fill="none" stroke="#00ff00" stroke-width="2"/>
2012
+ <!-- Organized arrows - all pointing same direction -->
2013
+ <path d="M20 40 L20 120" stroke="white" stroke-width="2"/>
2014
+ <polygon points="20,120 15,110 25,110" fill="white"/>
2015
+ <path d="M40 45 L40 115" stroke="white" stroke-width="2"/>
2016
+ <polygon points="40,115 35,105 45,105" fill="white"/>
2017
+ <path d="M60 40 L60 120" stroke="white" stroke-width="2"/>
2018
+ <polygon points="60,120 55,110 65,110" fill="white"/>
2019
+ <path d="M80 45 L80 115" stroke="white" stroke-width="2"/>
2020
+ <polygon points="80,115 75,105 85,105" fill="white"/>
2021
+ <text x="50" y="160" text-anchor="middle" fill="#00ff00" font-family="Arial Black" font-size="12">ORDER</text>
2022
+ </g>
2023
+ </svg>
2024
+
2025
+ <div class="banksy-quote">
2026
+ "They told us second-order was too expensive. We told them they weren't trying hard enough."
2027
+ <span class="author">— The Shampoo Manifesto</span>
2028
+ </div>
2029
+
2030
+ <div class="banksy-footer">
2031
+ <p>Exit through the gradient shop</p>
2032
+ </div>
2033
+ </div>
2034
+ </section>
2035
+
2036
  <section class="focus" id="focus">
2037
  <div class="focus-header reveal">
2038
  <span class="section-label">Focus Areas</span>