Skip to content

Commit 81195c9

Browse files
authored
Update index.html
1 parent d28a4fe commit 81195c9

1 file changed

Lines changed: 8 additions & 41 deletions

File tree

Mothersday/index.html

Lines changed: 8 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
overflow-x: hidden;
4747
cursor: none;
4848
}
49-
/* Enhanced grid overlay – matches main site */
5049
body::before {
5150
content: '';
5251
position: fixed;
@@ -58,7 +57,6 @@
5857
pointer-events: none;
5958
z-index: 10;
6059
}
61-
/* Scanline overlay – restored from main site */
6260
body::after {
6361
content: '';
6462
position: fixed;
@@ -74,7 +72,7 @@
7472
}
7573
@keyframes scan { 0% { transform: translateY(0); } 100% { transform: translateY(4px); } }
7674

77-
/* CURSOR – identical to main site */
75+
/* PURE-GPU CURSOR – no trail, no DOM updates, zero layout shift */
7876
.custom-cursor {
7977
width: 20px;
8078
height: 20px;
@@ -87,25 +85,14 @@
8785
transition: transform 0.1s ease, background 0.2s ease, box-shadow 0.2s ease;
8886
transform: translate(-50%, -50%);
8987
box-shadow: 0 0 15px var(--gold), 0 0 30px rgba(212,175,55,0.3);
88+
will-change: transform;
9089
}
9190
.custom-cursor.hover {
9291
transform: translate(-50%, -50%) scale(1.8);
9392
background: rgba(212,175,55,0.1);
9493
border-color: var(--rose);
9594
box-shadow: 0 0 25px var(--rose), 0 0 50px rgba(232,160,176,0.5);
9695
}
97-
.cursor-trail {
98-
position: fixed;
99-
width: 6px;
100-
height: 6px;
101-
border-radius: 50%;
102-
background: var(--gold);
103-
pointer-events: none;
104-
z-index: 9998;
105-
opacity: 0.6;
106-
box-shadow: 0 0 10px var(--gold);
107-
transition: opacity 0.3s ease;
108-
}
10996

11097
#hero-canvas {
11198
position: fixed;
@@ -114,7 +101,7 @@
114101
width: 100%;
115102
height: 100%;
116103
z-index: 0;
117-
opacity: 0.65; /* matched to main site */
104+
opacity: 0.65;
118105
pointer-events: none;
119106
}
120107

@@ -167,7 +154,6 @@
167154
margin: 32px auto;
168155
}
169156

170-
/* SCROLL INDICATOR – pure CSS heart path, no canvas, no RAF */
171157
.scroll-indicator {
172158
position: relative;
173159
z-index: 2;
@@ -234,7 +220,7 @@
234220
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
235221
gap: 32px;
236222
max-width: 900px;
237-
margin: 0 auto 80px;
223+
margin: 0 auto 40px;
238224
padding: 0 30px;
239225
}
240226
.card {
@@ -263,6 +249,7 @@
263249
.card-signature span { display: block; font-family: var(--mono); font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-top: 6px; font-style: normal; }
264250

265251
footer { position: relative; z-index: 2; text-align: center; padding: 40px 20px; font-family: var(--mono); font-size: 10px; color: var(--dim); letter-spacing: 1px; }
252+
.cosmic-thanks { font-family:var(--garamond); font-size:18px; font-style:italic; color:var(--rose); margin-bottom:8px; text-shadow:0 0 6px var(--rose); }
266253

267254
@media (max-width: 600px) {
268255
.cards { grid-template-columns: 1fr; }
@@ -275,7 +262,6 @@
275262
<canvas id="hero-canvas"></canvas>
276263

277264
<div class="custom-cursor" id="custom-cursor"></div>
278-
<div id="cursor-trail-container"></div>
279265

280266
<div class="hero">
281267
<div class="hero-eyebrow">✦ Mother's Day 2026 ✦</div>
@@ -327,9 +313,7 @@ <h1 class="hero-title"><em>Happy</em> Mother's<br>Day</h1>
327313
</div>
328314

329315
<footer>
330-
<p style="font-family:var(--garamond); font-size:18px; font-style:italic; color:var(--rose); margin-bottom:8px; text-shadow:0 0 6px var(--rose);">
331-
And to the one who birthed the stars and set the first spark of life — thank you. We come from you.
332-
</p>
316+
<p class="cosmic-thanks">And to the one who birthed the stars and set the first spark of life — thank you. We come from you.</p>
333317
Made with love · Evans Mills, New York · May 10, 2026
334318
</footer>
335319

@@ -522,29 +506,12 @@ <h1 class="hero-title"><em>Happy</em> Mother's<br>Day</h1>
522506
resizeCanvas();
523507
requestAnimationFrame(drawSymbols);
524508

525-
// ========== CUSTOM CURSOR & TRAIL ==========
509+
// ========== CUSTOM CURSOR (GPU-only, no trail, no layout shift) ==========
526510
const cursor = document.getElementById('custom-cursor');
527-
const trailContainer = document.getElementById('cursor-trail-container');
528-
let trailPositions = [];
529-
const MAX_TRAIL = 8;
530511

531512
function updateCursor(e) {
532513
const x = e.clientX, y = e.clientY;
533-
cursor.style.left = x + 'px'; cursor.style.top = y + 'px';
534-
trailPositions.push({ x, y, time: Date.now() });
535-
if (trailPositions.length > MAX_TRAIL) trailPositions.shift();
536-
trailContainer.innerHTML = '';
537-
trailPositions.forEach((pos, i) => {
538-
const dot = document.createElement('div');
539-
dot.className = 'cursor-trail';
540-
const age = (Date.now() - pos.time) / 1000;
541-
const opacity = Math.max(0, 0.6 - age * 0.8);
542-
const scale = 1 - i * 0.1;
543-
dot.style.left = pos.x + 'px'; dot.style.top = pos.y + 'px';
544-
dot.style.opacity = opacity;
545-
dot.style.transform = `translate(-50%, -50%) scale(${scale})`;
546-
trailContainer.appendChild(dot);
547-
});
514+
cursor.style.transform = `translate3d(${x - 10}px, ${y - 10}px, 0)`;
548515
}
549516

550517
document.addEventListener('mousemove', updateCursor, { passive: true });

0 commit comments

Comments
 (0)