@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,700;0,800;1,800&family=DM+Sans:wght@400;500&family=Dancing+Script:wght@700&display=swap'); :root { --forest: #2B664C; --forest-dark: #1e4a36; --forest-deep: #0d1f17; --gold: #e4ba16; --gold-dark: #c9a412; --sage: #94c8af; --sage-light: #eaf4ee; --ink: #314e41; --ink-light: #4a6b5a; --cream: #faf8f3; --cream-dark: #f0ece3; --white: #ffffff; --font-display: 'Plus Jakarta Sans', sans-serif; --font-body: 'DM Sans', sans-serif; --font-script: 'Dancing Script', cursive; --pad: clamp(4rem, 8vw, 7rem); --wrap: 1200px; --r-sm: 6px; --r-md: 12px; --r-lg: 20px; --ease: cubic-bezier(.4,0,.2,1); } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--font-body); color: var(--ink); background: var(--cream); line-height: 1.6; -webkit-font-smoothing: antialiased; } img { display: block; max-width: 100%; height: auto; } a { color: inherit; text-decoration: none; } ul { list-style: none; } button { cursor: pointer; font-family: inherit; border: none; background: none; } .wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 clamp(1.25rem, 5vw, 3rem); } .eyebrow { display: inline-block; font-family: var(--font-display); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); margin-bottom: 1rem; } .h-xl { font-family: var(--font-display); font-weight: 800; font-size: clamp(2.5rem, 5.5vw, 4.5rem); line-height: 1.08; } .btn { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font-display); font-weight: 700; font-size: .9rem; letter-spacing: .02em; padding: .75rem 1.6rem; border-radius: var(--r-sm); transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s; cursor: pointer; } .btn-gold { background: var(--gold); color: var(--forest-deep); } .btn-gold:hover { background: var(--gold-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(228,186,22,.35); } .btn-ghost { background: transparent; color: var(--cream); border: 1.5px solid rgba(250,248,243,.35); } .btn-ghost:hover { border-color: rgba(250,248,243,.7); background: rgba(250,248,243,.06); } .btn-lg { padding: 1rem 2rem; font-size: 1rem; } [data-rv] { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease), transform .6s var(--ease); } [data-rv].on { opacity: 1; transform: none; } [data-d="1"] { transition-delay: .1s; } [data-d="2"] { transition-delay: .2s; } [data-d="3"] { transition-delay: .3s; } [data-d="4"] { transition-delay: .4s; } .site-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 1rem 0; transition: background .3s var(--ease), box-shadow .3s var(--ease); } .site-nav.scrolled { background: var(--forest); box-shadow: 0 2px 20px rgba(0,0,0,.18); } .nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; } .nav-logo img { height: 36px; width: auto; } .nav-logo-text { font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; color: var(--cream); letter-spacing: -.01em; } .nav-logo-inner { display: flex; align-items: center; gap: .6rem; } .nav-links { display: flex; align-items: center; gap: 2rem; } .nav-links a { font-family: var(--font-display); font-size: .875rem; font-weight: 600; color: rgba(250,248,243,.85); transition: color .18s; } .nav-links a:hover { color: var(--gold); } .nav-cta .btn { padding: .6rem 1.25rem; font-size: .85rem; } .hero { min-height: 100dvh; display: grid; grid-template-columns: 55fr 45fr; position: relative; overflow: hidden; } .hero-content { background: var(--forest); display: flex; flex-direction: column; justify-content: center; padding: 7rem clamp(2rem,5vw,5rem) 5rem clamp(1.5rem,5vw,4rem); } .hero-eyebrow { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.75rem; } .hero-badge { background: rgba(228,186,22,.15); border: 1px solid rgba(228,186,22,.3); border-radius: 100px; padding: .35rem 1rem; font-family: var(--font-display); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); } .hero-headline { color: var(--cream); margin-bottom: 1.5rem; } .hero-sub { color: rgba(250,248,243,.8); max-width: 520px; margin-bottom: 2.5rem; font-size: clamp(1rem,1.4vw,1.15rem); line-height: 1.7; } .hero-cta-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 3rem; } .hero-countdown { display: flex; gap: 1.5rem; } .cd-unit { display: flex; flex-direction: column; align-items: center; } .cd-num { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem,3.5vw,3rem); color: var(--gold); line-height: 1; } .cd-label { font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(250,248,243,.5); margin-top: .25rem; } .cd-sep { font-family: var(--font-display); font-weight: 800; font-size: 2rem; color: rgba(228,186,22,.4); align-self: flex-start; padding-top: .15rem; } .cd-pre { font-family: var(--font-display); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(250,248,243,.45); margin-bottom: .75rem; } .hero-image { position: relative; overflow: hidden; } .hero-image-overlay { position: absolute; inset: 0; background: linear-gradient(to right, var(--forest) 0%, transparent 30%); } .hero-video-wrap { position: absolute; inset: 0; overflow: hidden; } .hero-video-wrap video { position: absolute; top: 50%; left: 50%; width: 177.78vh; height: 100vh; min-width: 100%; min-height: 56.25vw; transform: translate(-50%, -50%); pointer-events: none; object-fit: cover; } @media (max-width: 900px) { .hero { grid-template-columns: 1fr; min-height: auto; } .hero-image { height: 300px; display: none; } .hero-content { padding: 7rem 1.5rem 3rem; } .nav-links { display: none; } }
3rd Annual May 30 – Aug 29, 2026

Meadowlark Violin Studio

This Summer,
Stay With
One Song.

Choose one mystery song, spend the summer making it yours — then share it on your porch in August.

Songs revealed in

--Days
--Hrs
--Min
--Sec
// Video autoplay var heroVideo = document.querySelector('.hero-video-wrap video'); if (heroVideo) { heroVideo.muted = true; heroVideo.play().catch(function() {}); } // Countdown var cdDays=document.getElementById('cd-days'),cdHours=document.getElementById('cd-hours'),cdMins=document.getElementById('cd-mins'),cdSecs=document.getElementById('cd-secs'); var targetDate=new Date('2026-05-30T00:00:00'); function pad(n){return String(n).padStart(2,'0');} function updateCountdown(){var diff=targetDate-new Date();if(diff<=0){cdDays.textContent=cdHours.textContent=cdMins.textContent=cdSecs.textContent='00';return;}cdDays.textContent=pad(Math.floor(diff/86400000));cdHours.textContent=pad(Math.floor((diff%86400000)/3600000));cdMins.textContent=pad(Math.floor((diff%3600000)/60000));cdSecs.textContent=pad(Math.floor((diff%60000)/1000));} updateCountdown(); setInterval(updateCountdown,1000); // Sticky nav var nav=document.getElementById('site-nav'); if(nav){window.addEventListener('scroll',function(){nav.classList.toggle('scrolled',window.pageYOffset>80);},{passive:true});} // Scroll reveal var observer=new IntersectionObserver(function(entries){entries.forEach(function(e){if(e.isIntersecting){e.target.classList.add('on');observer.unobserve(e.target);}});},{threshold:0.12,rootMargin:'0px 0px -48px 0px'}); document.querySelectorAll('[data-rv]').forEach(function(el){observer.observe(el);});