From 56fcb27fbf905610b8f69f064f6a7a48843bb0fc Mon Sep 17 00:00:00 2001
From: Naomi Carrigan
Date: Mon, 2 Feb 2026 14:03:17 -0800
Subject: [PATCH] feat: socials
---
site/index.html | 182 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 182 insertions(+)
diff --git a/site/index.html b/site/index.html
index 515e3d7..abd9699 100644
--- a/site/index.html
+++ b/site/index.html
@@ -447,6 +447,133 @@
font-style: normal;
}
+ /* ============================================
+ SOCIAL LINKS
+ ============================================ */
+ .social-links-section {
+ margin: 3rem 0;
+ text-align: center;
+ }
+
+ .social-links-container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 2rem;
+ padding: 2rem 1rem;
+ background: linear-gradient(135deg, var(--witch-lavender) 0%, var(--witch-moon) 100%);
+ border-radius: 20px;
+ box-shadow: 0 4px 20px rgba(168, 87, 126, 0.1);
+ flex-wrap: wrap;
+ }
+
+ .social-link {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 0.5rem;
+ padding: 1rem;
+ text-decoration: none;
+ color: var(--witch-purple);
+ transition: all 0.3s ease;
+ position: relative;
+ }
+
+ .social-link i {
+ font-size: 2.5rem;
+ transition: transform 0.3s ease, color 0.3s ease;
+ }
+
+ .social-name {
+ font-size: 0.9rem;
+ font-weight: 600;
+ opacity: 0.8;
+ transition: opacity 0.3s ease;
+ }
+
+ .social-link::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 0;
+ height: 0;
+ background: radial-gradient(circle, var(--witch-mauve) 0%, transparent 70%);
+ border-radius: 50%;
+ opacity: 0;
+ transition: all 0.3s ease;
+ z-index: -1;
+ }
+
+ .social-link:hover::before {
+ width: 80px;
+ height: 80px;
+ opacity: 0.2;
+ }
+
+ .social-link:hover i {
+ transform: translateY(-5px) scale(1.1);
+ color: var(--witch-rose);
+ }
+
+ .social-link:hover .social-name {
+ opacity: 1;
+ color: var(--witch-rose);
+ }
+
+ .social-link:focus {
+ outline: 2px solid var(--witch-plum);
+ outline-offset: 4px;
+ border-radius: 8px;
+ }
+
+ /* Screen reader only text */
+ .sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border-width: 0;
+ }
+
+ @media (max-width: 768px) {
+ .social-links-container {
+ gap: 1.5rem;
+ padding: 1.5rem 1rem;
+ }
+
+ .social-link {
+ padding: 0.75rem;
+ }
+
+ .social-link i {
+ font-size: 2rem;
+ }
+
+ .social-name {
+ font-size: 0.8rem;
+ }
+ }
+
+ @media (max-width: 480px) {
+ .social-links-container {
+ gap: 1rem;
+ }
+
+ .social-link {
+ padding: 0.5rem;
+ }
+
+ .social-link i {
+ font-size: 1.75rem;
+ }
+ }
+
/* ============================================
ANIMATIONS
============================================ */
@@ -461,10 +588,36 @@
}
}
+ @keyframes socialBounce {
+ 0%, 100% {
+ transform: translateY(0);
+ }
+ 50% {
+ transform: translateY(-10px);
+ }
+ }
+
.fade-in {
animation: fadeIn 0.6s ease-out;
}
+ /* Stagger animation for social links */
+ .social-link {
+ opacity: 0;
+ animation: fadeIn 0.6s ease-out forwards;
+ }
+
+ .social-link:nth-child(1) { animation-delay: 0.1s; }
+ .social-link:nth-child(2) { animation-delay: 0.2s; }
+ .social-link:nth-child(3) { animation-delay: 0.3s; }
+ .social-link:nth-child(4) { animation-delay: 0.4s; }
+ .social-link:nth-child(5) { animation-delay: 0.5s; }
+
+ /* Fun bounce on hover */
+ .social-link:hover i {
+ animation: socialBounce 0.5s ease-out;
+ }
+
/* ============================================
DARK MODE
============================================ */
@@ -720,6 +873,35 @@
+
+
+ Connect on Social Media
+
+
+