Pages Hard
Interactive Case Study
Digital agency case study page integrating parallax depth hero cards, scroll-driven SVG workflow diagram, animated result counters, and staggered testimonial reveals.
gsapscrolltriggersvgfliplenis
Targets: JS HTML
Code
:root {
--bg: #070a12;
--text: #f0f4fb;
--panel: #121a2b;
--border: #263249;
--accent: #86e8ff;
--muted: #8a95a8;
--purple: #ae52ff;
--warm: #ffcc66;
--pink: #ff40d6;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
overflow-x: hidden;
}
/* ── Hero ── */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 5rem 2rem;
overflow: hidden;
}
/* Depth cards floating in background */
.hero-bg {
position: absolute;
inset: 0;
pointer-events: none;
}
.hero-card {
position: absolute;
padding: 1rem 1.5rem;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 8px;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--muted);
}
.hc-1 { top: 18%; left: 8%; color: var(--accent); border-color: rgba(134, 232, 255, 0.25); }
.hc-2 { top: 55%; left: 5%; color: var(--warm); border-color: rgba(255, 204, 102, 0.25); }
.hc-3 { top: 25%; right: 8%; color: var(--purple); border-color: rgba(174, 82, 255, 0.25); }
.hc-4 { top: 65%; right: 10%; color: var(--pink); border-color: rgba(255, 64, 214, 0.25); }
.hero-content {
position: relative;
z-index: 1;
max-width: 680px;
text-align: center;
}
.eyebrow {
display: inline-block;
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--accent);
border: 1px solid rgba(134, 232, 255, 0.25);
border-radius: 20px;
padding: 0.3rem 1rem;
margin-bottom: 1.5rem;
}
.hero h1 {
font-size: 3.8rem;
font-weight: 900;
line-height: 1.1;
margin-bottom: 1.5rem;
letter-spacing: -2px;
}
.hero h1 em {
font-style: normal;
color: var(--accent);
}
.hero-desc {
font-size: 1.1rem;
color: var(--muted);
margin-bottom: 2rem;
max-width: 540px;
margin-left: auto;
margin-right: auto;
line-height: 1.8;
}
.hero-tags {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
justify-content: center;
}
.hero-tags span {
font-size: 0.72rem;
font-weight: 600;
padding: 0.3rem 0.8rem;
border: 1px solid var(--border);
border-radius: 20px;
color: var(--muted);
background: rgba(18, 26, 43, 0.8);
}
/* ── Challenge ── */
.challenge-section {
padding: 7rem 2rem;
border-top: 1px solid var(--border);
}
.content { max-width: 1100px; margin: 0 auto; }
.challenge-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: start;
}
.section-tag {
display: inline-block;
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 1rem;
}
.challenge-text h2 {
font-size: 2.2rem;
font-weight: 800;
margin-bottom: 1.5rem;
letter-spacing: -0.5px;
}
.challenge-text p {
font-size: 1rem;
color: var(--muted);
margin-bottom: 1.2rem;
line-height: 1.8;
}
.quote-block {
margin-top: 2rem;
padding: 1.5rem;
border-left: 3px solid var(--accent);
background: rgba(134, 232, 255, 0.04);
border-radius: 0 8px 8px 0;
}
.quote-block blockquote {
font-size: 1rem;
color: var(--text);
font-style: italic;
margin-bottom: 0.8rem;
line-height: 1.7;
}
.quote-block cite {
font-size: 0.82rem;
color: var(--muted);
font-style: normal;
}
.challenge-stats {
display: flex;
flex-direction: column;
gap: 1rem;
}
.stat-pill {
padding: 1.5rem;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 8px;
transition: all 0.3s ease;
}
.stat-pill:hover {
border-color: var(--accent);
}
.stat-val {
display: block;
font-size: 2rem;
font-weight: 800;
color: var(--accent);
margin-bottom: 0.3rem;
font-variant-numeric: tabular-nums;
}
.stat-label {
font-size: 0.85rem;
color: var(--muted);
}
/* ── Process / SVG ── */
.process-section {
padding: 7rem 2rem;
border-top: 1px solid var(--border);
background: rgba(18, 26, 43, 0.5);
}
.section-header {
text-align: center;
max-width: 560px;
margin: 0 auto 4rem;
}
.section-header h2 {
font-size: 2.2rem;
font-weight: 800;
margin-bottom: 0.8rem;
letter-spacing: -0.5px;
}
.section-header p {
font-size: 1rem;
color: var(--muted);
line-height: 1.8;
}
.svg-wrapper {
max-width: 960px;
margin: 0 auto;
padding: 0 1rem;
}
#process-svg {
width: 100%;
height: auto;
overflow: visible;
}
#process-svg text {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.proc-line { stroke: rgba(134, 232, 255, 0.4); }
/* ── Results ── */
.results-section {
padding: 7rem 2rem;
border-top: 1px solid var(--border);
}
.results-grid {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
}
.result-card {
text-align: center;
padding: 2.5rem 1rem;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
transition: all 0.3s ease;
}
.result-card:hover {
border-color: var(--accent);
transform: translateY(-3px);
}
.result-value {
font-size: 2.8rem;
font-weight: 900;
color: var(--accent);
letter-spacing: -1px;
margin-bottom: 0.5rem;
font-variant-numeric: tabular-nums;
}
.result-label {
font-size: 0.85rem;
color: var(--text);
font-weight: 600;
margin-bottom: 0.5rem;
}
.result-delta {
font-size: 0.78rem;
color: var(--muted);
}
.trend-up { color: #4ade80; }
/* ── Testimonials ── */
.testimonials-section {
padding: 7rem 2rem;
border-top: 1px solid var(--border);
background: rgba(18, 26, 43, 0.5);
}
.testimonials-grid {
max-width: 1000px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.tl-card {
padding: 1.8rem;
background: var(--panel);
border: 1px solid var(--border);
border-radius: 10px;
transition: all 0.3s ease;
}
.tl-card:hover {
border-color: rgba(134, 232, 255, 0.3);
transform: translateY(-3px);
}
.tl-card blockquote {
font-size: 0.95rem;
color: var(--text);
font-style: italic;
line-height: 1.7;
margin-bottom: 1.5rem;
}
.tl-author {
display: flex;
align-items: center;
gap: 0.8rem;
}
.tl-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 800;
background: hsl(var(--av-hue), 60%, 15%);
border: 2px solid hsl(var(--av-hue), 60%, 30%);
color: hsl(var(--av-hue), 70%, 60%);
flex-shrink: 0;
}
.tl-author strong {
display: block;
font-size: 0.88rem;
color: var(--text);
}
.tl-author span {
font-size: 0.78rem;
color: var(--muted);
}
/* ── CTA ── */
.cta-section {
padding: 8rem 2rem;
text-align: center;
border-top: 1px solid var(--border);
background: radial-gradient(ellipse at 50% 50%, rgba(134, 232, 255, 0.06) 0%, transparent 70%);
}
.cta-section h2 {
font-size: 2.8rem;
font-weight: 900;
margin-bottom: 1rem;
letter-spacing: -1px;
}
.cta-section p {
font-size: 1.1rem;
color: var(--muted);
margin-bottom: 2rem;
}
.btn-primary {
display: inline-block;
padding: 0.9rem 2rem;
background: var(--accent);
color: var(--bg);
border-radius: 6px;
font-weight: 700;
text-decoration: none;
transition: all 0.3s ease;
}
.btn-primary:hover {
background: rgba(134, 232, 255, 0.85);
transform: translateY(-2px);
}
/* ── Responsive ── */
@media (max-width: 900px) {
.results-grid { grid-template-columns: repeat(2, 1fr); }
.testimonials-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
.hero h1 { font-size: 2.8rem; }
.challenge-grid { grid-template-columns: 1fr; gap: 2rem; }
.results-grid { grid-template-columns: repeat(2, 1fr); }
.hc-1, .hc-2, .hc-3, .hc-4 { display: none; }
}
@media (max-width: 480px) {
.hero h1 { font-size: 2.2rem; }
.results-grid { grid-template-columns: 1fr 1fr; }
.result-value { font-size: 2.2rem; }
}
html.reduced-motion * {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}Interactive Case Study
Digital agency case study page integrating parallax depth hero cards, scroll-driven SVG workflow diagram, animated result counters, and staggered testimonial reveals.
Source
- Repository:
libs-genclaude - Original demo id:
42-interactive-case-study
Notes
Digital agency case study page integrating parallax depth hero cards, scroll-driven SVG workflow diagram, animated result counters, and staggered testimonial reveals.