1+ /* ── Background Grid & Interactive Spotlights ── */
2+ .bg-grid {
3+ position : fixed;
4+ inset : 0 ;
5+ z-index : 0 ;
6+ pointer-events : none;
7+ /* Premium Checker Design: One Fade (0.02), One Normal (0.1) */
8+ background-image :
9+ conic-gradient (rgba (142 , 182 , 155 , 0.1 ) 0deg 90deg ,
10+ rgba (142 , 182 , 155 , 0.02 ) 90deg 180deg ,
11+ rgba (142 , 182 , 155 , 0.1 ) 180deg 270deg ,
12+ rgba (142 , 182 , 155 , 0.02 ) 270deg );
13+ background-size : 100px 100px ;
14+ background-position : 0 0 ;
15+ /* Mask image creates the mouse-following spotlight effect */
16+ -webkit-mask-image : radial-gradient (circle 500px at var (--mouseX , 50vw ) var (--mouseY , 50vh ), black 0% , transparent 100% );
17+ mask-image : radial-gradient (circle 500px at var (--mouseX , 50vw ) var (--mouseY , 50vh ), black 0% , transparent 100% );
18+ transition : opacity var (--trans );
19+ }
20+
21+ /* ── Decrypt Mode Background Variation ── */
22+ body .decrypt-mode .bg-grid {
23+ background-image :
24+ conic-gradient (rgba (232 , 220 , 196 , 0.08 ) 0deg 90deg ,
25+ rgba (232 , 220 , 196 , 0.02 ) 90deg 180deg ,
26+ rgba (232 , 220 , 196 , 0.08 ) 180deg 270deg ,
27+ rgba (232 , 220 , 196 , 0.02 ) 270deg );
28+ }
29+
30+ /* ── Why Section Title Hover Effect ── */
31+ .why-title-wrapper {
32+ position : relative;
33+ display : inline-block;
34+ cursor : default;
35+ --mouse-x : -999px ;
36+ --mouse-y : -999px ;
37+ }
38+
39+ .why-title {
40+ font-size : 58px ;
41+ margin-bottom : 24px ;
42+ letter-spacing : -1.5px ;
43+ font-weight : 800 ;
44+ margin : 0 ;
45+ white-space : nowrap;
46+ }
47+
48+ /* Static text layer */
49+ .main-layer {
50+ position : relative;
51+ z-index : 1 ;
52+ }
53+
54+ /* Hover reveal layer (flashlight effect) */
55+ .hover-layer {
56+ position : absolute;
57+ top : 0 ;
58+ left : 0 ;
59+ width : 100% ;
60+ height : 100% ;
61+ z-index : 2 ;
62+ pointer-events : none;
63+ /* Flashlight Mask Effect - 80px Soft Feathered Circle */
64+ -webkit-mask-image : radial-gradient (circle at var (--mouse-x ) var (--mouse-y ), black 0% , black 40px , transparent 80px );
65+ mask-image : radial-gradient (circle at var (--mouse-x ) var (--mouse-y ), black 0% , black 40px , transparent 80px );
66+ transition : none;
67+ }
68+
69+ /* ── Typography Colors ── */
70+ .why-accent {
71+ color : var (--accent );
72+ }
73+
74+ .why-white {
75+ color : # fff ;
76+ }
77+
78+ /* ── Decrypt Mode Color Overrides for Why Section ── */
79+ body .decrypt-mode .why-accent {
80+ color : # E8DCC4 ;
81+ /* Base 'Why' and 'Krypt' turn beige */
82+ }
83+
84+ body .decrypt-mode .hover-layer .why-accent {
85+ color : # E8DCC4 ;
86+ /* 'File' turns beige when hovered */
87+ }
88+
89+ body .decrypt-mode .hover-layer .why-white {
90+ color : # fff ;
91+ /* 'Why' and 'Krypt' turn white when hovered */
92+ }
93+
94+ /* ── Mobile & Tablet Responsiveness ── */
95+ @media (max-width : 1024px ) {
96+ .bg-grid {
97+ animation : none !important ;
98+ }
99+
100+ .water-ripple {
101+ display : none !important ;
102+ }
103+
104+ /* Disable interactive background effects on mobile for stability */
105+ .bg-grid {
106+ -webkit-mask-image : none !important ;
107+ mask-image : none !important ;
108+ opacity : 0.08 !important ;
109+ /* Static, subtle grid */
110+ }
111+
112+ .hover-layer {
113+ display : none !important ;
114+ }
115+
116+ .bg-grid ::after {
117+ display : none !important ;
118+ }
119+ }
0 commit comments