:root { --primary: #0A1C3A; --secondary: #F8F1E9; --accent: #D4A017; --text: #2E2E2E; --shadow: rgba(0, 0, 0, 0.15); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Roboto', sans-serif; background: var(--secondary); color: var(--text); line-height: 1.75; } #preloader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--primary); display: flex; justify-content: center; align-items: center; z-index: 9999; transition: opacity 0.5s; } #preloader.hidden { opacity: 0; pointer-events: none; } .preloader-spinner { border: 4px solid var(--accent); border-top: 4px solid transparent; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } header { background: var(--primary); padding: 1.5rem 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 12px var(--shadow); transition: background 0.3s; overflow: visible; } header.scrolled { background: #0E2B5A; } .logo-container { max-width: 1300px; margin: 0 auto; padding: 0 2.5rem; display: flex; align-items: center; justify-content: space-between; } .logo-text { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(1.8rem, 5vw, 2.25rem); color: var(--accent); letter-spacing: -0.03em; } .g-clef { font-size: clamp(1.8rem, 5vw, 2.5rem); color: var(--accent); margin-right: 0.75rem; } .logo-link { display: flex; align-items: center; text-decoration: none; } nav { flex-grow: 1; } nav ul { list-style: none; display: flex; gap: 2.5rem; justify-content: flex-end; } nav a { font-family: 'Lora', serif; color: var(--secondary); text-decoration: none; font-weight: 600; font-size: clamp(1rem, 3vw, 1.125rem); position: relative; transition: color 0.3s, transform 0.3s; } nav a:hover { color: var(--accent); transform: scale(1.05); } nav a::after { content: ''; position: absolute; width: 0; height: 2px; bottom: -5px; left: 0; background: var(--accent); transition: width 0.3s; } nav a:hover::after { width: 100%; } .dropdown { position: relative; } .dropbtn { cursor: pointer; } .dropdown-content { display: none; position: absolute; background: var(--primary); min-width: 200px; box-shadow: 0 8px 16px var(--shadow); border-radius: 8px; padding: 0.75rem 0; top: 100%; right: 0; z-index: 1000; } .dropdown-content a { color: var(--secondary); padding: 0.75rem 1.25rem; display: block; font-size: 1rem; } .dropdown-content a:hover { background: #0E2B5A; } .dropdown:hover .dropdown-content { display: block; } .hamburger { display: none; font-size: 1.5rem; color: var(--secondary); cursor: pointer; position: relative; } .hamburger::before { content: '☰'; font-size: 1.5rem; display: inline-block; } .hamburger.fa-times::before { content: '✕'; } @media (max-width: 768px) { .hamburger { display: block; position: absolute; top: 1.5rem; right: 2.5rem; } nav ul { display: none; flex-direction: column; position: absolute; top: 100%; left: 0; width: 100%; background: var(--primary); padding: 1.25rem; border-radius: 0 0 8px 8px; box-shadow: 0 8px 16px var(--shadow); z-index: 999; } nav ul.active { display: flex; } .dropdown-content { position: static; width: 100%; box-shadow: none; background: #0E2B5A; } .logo-container { flex-direction: row; align-items: center; justify-content: space-between; padding: 0 2.5rem; } nav a { font-size: 1rem; padding: 0.5rem 0; } } .section { max-width: 1300px; margin: clamp(5rem, 10vw, 7.5rem) auto; padding: 0 2.5rem; } .section h1, .section h2 { font-family: 'Lora', serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); color: var(--accent); text-align: center; margin-bottom: 3.75rem; letter-spacing: -0.03em; text-shadow: 1px 1px 3px var(--shadow); } .section h1::after, .section h2::after { content: ''; width: 60px; height: 5px; background: var(--accent); display: block; margin: 1rem auto; } .section h3 { font-family: 'Lora', serif; font-weight: 600; font-size: clamp(1.25rem, 3vw, 1.5rem); color: var(--accent); margin-bottom: 0.9375rem; } .section p { font-size: clamp(0.9375rem, 2.5vw, 1rem); color: var(--text); margin-bottom: 1.25rem; } .creations-content { max-width: 900px; margin: 0 auto; text-align: center; } .creations-content a { color: var(--accent); text-decoration: none; transition: color 0.3s; } .creations-content a:hover { color: var(--primary); } .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 2.5rem 0; } .card { background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 12px; padding: 1.875rem; box-shadow: 0 8px 16px var(--shadow); text-align: center; transition: all 0.3s; will-change: transform; } .card:hover { transform: translateY(-8px); box-shadow: 0 12px 24px var(--shadow); } .card i { color: var(--accent); font-size: 2em; margin-bottom: 0.9375rem; } .card h3 { font-family: 'Lora', serif; font-weight: 600; font-size: clamp(1.25rem, 3vw, 1.5rem); color: var(--accent); margin-bottom: 0.9375rem; } .card p { font-size: clamp(0.9375rem, 2.5vw, 1rem); color: var(--text); margin-bottom: 1.25rem; } .card button { background: var(--accent); color: var(--primary) !important; border: 2px solid var(--accent); padding: 0.875rem 1.75rem; font-family: 'Lora', serif; font-weight: 600; font-size: clamp(0.9375rem, 2.5vw, 1rem); border-radius: 8px; cursor: pointer; transition: all 0.3s; text-transform: uppercase; pointer-events: auto; opacity: 1; } .card button:hover { background: #B78E12; color: #FFFFFF !important; border-color: #B78E12; transform: translateY(-2px); box-shadow: 0 4px 12px var(--shadow); } .featured-card { background: #FFFFFF; padding: 2.5rem; min-height: 250px; } .audio-wrapper { margin: 1.875rem 0; text-align: center; } audio { width: 100%; max-width: 400px; } .cta { background: var(--accent); color: var(--primary) !important; border: 2px solid var(--accent); padding: 1rem 2rem; font-family: 'Lora', serif; font-weight: 700; font-size: clamp(1rem, 2.5vw, 1.125rem); border-radius: 8px; cursor: pointer; transition: all 0.3s; text-transform: uppercase; display: inline-block; text-decoration: none; pointer-events: auto; opacity: 1; } .cta:hover { background: #B78E12; color: #FFFFFF !important; border-color: #B78E12; transform: translateY(-3px); box-shadow: 0 4px 12px var(--shadow); } .fade-in { opacity: 0; animation: fadeIn 1s ease-in forwards; } @keyframes fadeIn { to { opacity: 1; transform: translateY(0); } } footer { background: var(--primary); color: var(--secondary); text-align: center; padding: 3.75rem 2.5rem; font-size: clamp(0.875rem, 2vw, 0.9375rem); } .footer-links { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 1.25rem; } .footer-links a { color: var(--accent); text-decoration: none; font-size: clamp(0.875rem, 2vw, 0.9375rem); padding: 0.5rem; transition: color 0.3s; } .footer-links a:hover { color: var(--secondary); }

Custom Friendship Songs: The Perfect Way to Celebrate Your Bond

Celebrate your unbreakable bond with **custom friendship songs** from SongCreations, crafted at Studio 105 Recording in Jacksonville, Florida. Our royalty-free, personalized songs are delivered in 48 hours, capturing your shared laughter and memories in heartfelt melodies. From late-night talks to road trip adventures, our team transforms your friendship’s story into music that resonates forever. Submit your details via our contact form to make your friendship shine! ✨

Get Your Song Now

Your Friendship, Your Song

Friendships are life’s heartbeat—late-night laughs, road trips with the radio blaring, or quiet moments that mend the soul. At SongCreations, we craft personalized songs like “Best Friends Forever,” inspired by Jacksonville’s vibrant spirit. Picture your crew singing along to a melody that captures your dive bar bets, backroad mishaps, or heartfelt talks. Perfect for reunions, birthdays, or unique friendship gifts, our songs celebrate bonds that last a lifetime. Explore our custom creations to honor your forever friends!

How We Craft Your Friendship Song

Creating a personalized friendship song with SongCreations is a seamless, heartfelt process. Our team at Studio 105 Recording brings your bond to life in six easy steps:

Step 1: Share Your Friendship’s Story

Tell us about your friendship—late-night talks, road trips, or inside jokes—via our contact form. Choose a music style that fits your vibe, like pop or acoustic.

Step 2: Writing Your Song

Our songwriters craft lyrics that celebrate your shared moments, paired with a melody that’s upbeat, soulful, or tender, tailored to your vision.

Step 3: Studio Craft

Our producers record your song at Studio 105 with professional instruments or vocals, ensuring a polished, high-quality sound.

Step 4: Preview Your Song

Within 24–48 hours, you’ll receive a preview of your song. Share feedback to ensure it perfectly captures your friendship’s spirit.

Step 5: Fast Delivery

Your royalty-free song is delivered in high-quality MP3 or WAV format within 48 hours, ready to share with your friends.

Step 6: Extra Touches

Enhance your song with options like 24-hour express delivery or a voice-over narration for a memorable touch.

What Our Clients Say

Hear from friends who’ve celebrated their bonds with SongCreations:

“Our song captured our 10-year journey—every laugh and late-night talk!”

Sarah & Emma, Jacksonville

“The song is our anthem—played at every gathering, it brings back every memory!”

Taylor & Alex, Savannah

Ready to Celebrate Your Friendship?

Transform your friendship’s story—late-night laughs, road trip adventures, or heartfelt moments—into a musical masterpiece with SongCreations. Our Jacksonville-based team at Studio 105 Recording crafts personalized, royalty-free songs starting at $24.99, delivered in 48 hours. Start now and make your friendship unforgettable!

GET STARTED