:root{--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-2xl: 2.5rem;--primary-color: #374151;--secondary-color: #6b7280;--accent-color: #f3f4f6;--text-color: #1f2937;--muted-color: #6b7280;--background-color: #ffffff;--card-background: #ffffff;--card-border: #e5e7eb;--success-color: #059669;--pink-color: #bb5d7e;--border-radius: 8px;--max-width: 900px}*{box-sizing:border-box}body{background:var(--background-color);line-height:1.6;color:var(--text-color);margin:0;padding:0;display:flex;flex-direction:column;min-height:100vh}main{flex:1}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}nav{background:var(--background-color);border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000001a}nav .container{display:flex;justify-content:space-between;align-items:center}nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2rem;justify-content:center}nav a{text-decoration:none;color:var(--text-color);font-weight:500;transition:color .2s ease}nav a:hover{color:var(--secondary-color)}nav strong{font-size:1.5rem;color:var(--primary-color);font-weight:600}.hero{padding:0;text-align:center;position:relative}.hero-image{width:100%;height:auto}.hero-content{padding:2rem 0 3rem;background:var(--background-color)}.hero h1{margin-bottom:1rem;color:var(--primary-color);letter-spacing:1px}.hero p{color:var(--muted-color);max-width:500px;margin:0 auto}.product-section{padding:3rem 0;background:var(--accent-color)}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{color:var(--primary-color);margin-bottom:1rem;letter-spacing:.5px}.charitable-message{font-size:1.1rem;color:var(--muted-color);font-style:italic;max-width:600px;margin:0 auto;line-height:1.6}.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.coming-soon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:2rem 0}.product-card{background:var(--card-background);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:1.8rem;text-align:center;transition:all .3s ease;box-shadow:0 4px 6px #0000000d}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:var(--secondary-color)}.product-card h3{color:var(--primary-color);margin-bottom:1rem}.product-card .description{margin-bottom:2rem;color:var(--muted-color);line-height:1.7}.product-card .price{color:var(--primary-color);margin:1.5rem 0;min-height:3rem;display:flex;align-items:center;justify-content:center}.purchase-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.option-button{width:100%;padding:.75rem;font-size:.9rem;margin:0}.donation-row{margin:2rem 0}.donation-card{border:2px solid var(--pink-color);background:linear-gradient(135deg,var(--background-color) 0%,#fef7f7 100%);padding:1.5rem}.donation-content{display:flex;align-items:center;gap:2rem}.donation-icon{flex-shrink:0}.donation-text{flex-grow:1}.donation-text h3{color:var(--pink-color);margin:0 0 .5rem;font-size:1.5rem}.donation-text p{margin:0;color:var(--text-color)}.donation-content .purchase-options{display:flex;gap:1rem;margin:0;flex-shrink:0}.donation-content .option-button{padding:.75rem 1.5rem;font-size:.9rem;white-space:nowrap}.price.loading{color:var(--muted-color);font-style:italic}.cta-button{background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;width:100%;text-transform:uppercase;letter-spacing:.5px}.cta-button:hover{background:var(--secondary-color);transform:translateY(-2px)}.cta-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.page-section{padding:3rem 0;text-align:center;background:var(--background-color)}.page-section h2{color:var(--primary-color);margin-bottom:2rem}.page-section p{margin:0 auto 2rem;line-height:1.7}.about-content{margin:0;text-align:left;padding:0 2rem}.quote{font-family:Georgia,Times New Roman,Times,serif;font-size:1.4rem;font-style:italic;color:var(--pink-color);text-align:center;padding:2rem;border-left:4px solid var(--secondary-color);background:var(--accent-color);border-radius:var(--border-radius);position:relative}.quote cite{display:block;font-size:1rem;color:var(--muted-color);font-style:normal;margin-top:1rem;font-weight:500}.school-info{margin:3rem 0}.school-info h3{color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.school-info p{margin-bottom:1.5rem;line-height:1.8;color:var(--text-color)}.attribution{text-align:center;font-style:italic;color:var(--muted-color);margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--card-border)}.contact-info{background:var(--accent-color);padding:2rem;border-radius:var(--border-radius);margin-top:2rem;text-align:center}.contact-info p{margin-bottom:1rem;color:var(--text-color)}.contact-info a{color:var(--primary-color);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-bottom-color .2s ease}.contact-info a:hover{border-bottom-color:var(--primary-color)}.about-content ul{margin-bottom:1.5rem}.about-content li{margin-bottom:.5rem;color:var(--text-color)}.albums-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0}.album-detail-layout{max-width:1000px;margin:0 auto;padding:2rem 0}.album-info-section{display:grid;grid-template-columns:300px 1fr;gap:3rem;margin-bottom:4rem;align-items:start}.album-art img{width:100%;height:200px;object-fit:cover;border-radius:var(--border-radius);box-shadow:0 8px 24px #00000026}.tracklist{padding-left:1rem}.artist-section{color:var(--pink-color);font-size:1.2rem;font-weight:700;margin:2rem 0 1rem;font-family:Georgia,Times New Roman,Times,serif}.artist-section:first-child{margin-top:0}.track-list{list-style:none;padding:0;margin:0 0 1.5rem}.track-item{margin-bottom:.5rem;color:var(--text-color);line-height:1.3}.track-number{font-weight:600;color:var(--primary-color);margin-right:.5rem}.memorial-note{font-style:italic;color:var(--muted-color);margin-top:1rem}.future-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:4rem 0}.future-album-card{background:var(--card-background);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.future-album-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.future-album-card h3{color:var(--primary-color);margin-bottom:.5rem;font-weight:600}.future-album-card p{margin-bottom:1rem;color:var(--muted-color);font-size:.9rem}.acknowledgements{background:var(--accent-color);padding:2rem;border-radius:var(--border-radius);margin-top:3rem;text-align:left}.acknowledgements h3{color:var(--primary-color);font-size:1.1rem;font-weight:700;margin:0 0 1rem;font-family:Georgia,Times New Roman,Times,serif}.acknowledgements p{color:var(--text-color);margin:0 0 .5rem;line-height:1.5;max-width:auto}.acknowledgements h3:not(:first-child){margin-top:2rem}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:3rem 0}.photo-item{border-radius:var(--border-radius);overflow:hidden;box-shadow:0 4px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.photo-item:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.photo-item img{width:100%;height:200px;object-fit:cover;display:block}.photo-item{cursor:pointer}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{position:relative;margin:auto;padding:0;width:90%;max-width:800px;top:50%;transform:translateY(-50%);text-align:center}.modal-content img{width:100%;height:auto;max-height:80vh;object-fit:contain;border-radius:var(--border-radius)}.close{position:absolute;top:-40px;right:0;color:#fff;font-size:2rem;font-weight:700;cursor:pointer;z-index:1001;background:#00000080;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.close:hover{background:#000c}.modal-caption{color:#fff;padding:1rem;font-size:1.1rem;background:#000000b3;border-radius:0 0 var(--border-radius) var(--border-radius);margin-top:-4px}.album-card{background:var(--card-background);border:1px solid var(--card-border);border-radius:var(--border-radius);padding:1.5rem;text-align:center;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.album-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.album-card img{width:100%;border-radius:6px;margin-bottom:1rem}.album-card h4{color:var(--primary-color);margin-bottom:.5rem;font-weight:600}footer{background:var(--primary-color);color:#fff;padding:3rem 0 2rem;margin-top:4rem;text-align:center}footer p{margin-bottom:1rem;opacity:.9;color:#fff!important}.stripe-badge{opacity:.8;font-size:.9rem}#checkout-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.checkout-modal{background:#fff;border-radius:var(--border-radius);width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px #0000004d}.checkout-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border);background:var(--accent-color)}.checkout-header h3{margin:0;color:var(--primary-color);font-weight:600}.close-btn{background:none;border:none;cursor:pointer;color:var(--muted-color);padding:.5rem;line-height:1;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:var(--accent-color);color:var(--primary-color)}#checkout-container{padding:1.5rem;max-height:calc(90vh - 100px);overflow-y:auto;-webkit-overflow-scrolling:touch}.error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:var(--border-radius);margin:1rem 0;text-align:center;border:1px solid #fecaca}.success{background:#dcfce7;color:#16a34a;padding:1rem;border-radius:var(--border-radius);margin:1rem 0;text-align:center;border:1px solid #bbf7d0}.artist-info{text-align:center;margin:2rem 0 3rem;line-height:1.4}.artist-name{font-family:Georgia,Times New Roman,Times,serif;font-size:1.8rem;font-weight:400;color:var(--pink-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;line-height:1.2}.artist-description{font-family:Georgia,Times New Roman,Times,serif;font-size:1.1rem;font-style:italic;color:#2d3748;text-transform:capitalize;line-height:1.3;font-weight:400}@media (max-width: 768px){.container{padding:0 1rem}nav .container{padding:.75rem .5rem}nav ul{gap:.5rem}nav ul li{font-size:.875rem}nav strong{font-size:1.1rem}.product-card{padding:2rem 1.5rem}.checkout-modal{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#checkout-overlay{padding:0;align-items:stretch}.checkout-header{padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top))}#checkout-container{padding:1rem;max-height:calc(100vh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.close-btn{min-width:48px;min-height:48px}.about-content{padding:1rem}.album-info-section{grid-template-columns:1fr;gap:2rem;text-align:center}.tracklist{padding-left:0}.future-albums{grid-template-columns:1fr;gap:1rem}.future-album-card{padding:1.5rem}.coming-soon-grid{grid-template-columns:1fr;gap:1rem}.purchase-options{grid-template-columns:1fr;gap:.75rem}.donation-content{flex-direction:column;text-align:center;gap:1rem}.donation-content .purchase-options{flex-direction:column;width:100%}.donation-content .option-button{width:100%}.photo-gallery{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.photo-item img{height:150px}.album-art img{height:180px}.modal-content{width:95%;max-width:none}.close{top:-30px;right:10px;font-size:1.5rem;width:30px;height:30px}.modal-caption{font-size:1rem;padding:.75rem}}.album-art-placeholder{height:150px;background:repeating-linear-gradient(135deg,#e0e0e0,#e0e0e0 20px,#f5f5f5 20px,#f5f5f5 40px);display:flex;align-items:center;justify-content:center;color:#aaa;font-size:1.1rem;border-radius:var(--border-radius);border:1px solid #ccc}.album-art-placeholder.bigger{height:200px}.container>h1{text-align:center;margin-bottom:var(--pico-spacing)}.album-section{padding-bottom:var(--pico-spacing);margin-bottom:var(--pico-spacing);border-bottom:1px solid var(--muted-border-color)}.album-section:last-of-type{border-bottom:none}.album-header{display:flex;gap:2rem;align-items:flex-start;margin-bottom:var(--pico-spacing)}.album-header .album-art{flex-shrink:0;width:150px}.album-header .album-art img{width:100%;height:150px;object-fit:cover;border-radius:var(--border-radius)}.album-title-info h2{margin-bottom:.5rem;text-align:left}.album-title-info p{color:var(--muted-color);margin:0}.tracklist{text-align:left}.tracklist h3{color:var(--pink-color);margin-top:var(--pico-spacing)}.tracklist h3:first-child{margin-top:0}.tracklist ol{text-align:left}.tracklist ol li span{color:var(--muted-color)}.tracklist .note{color:var(--muted-color);font-style:italic;margin-top:var(--pico-spacing)}@media (max-width: 768px){.album-header{flex-direction:column;align-items:center;text-align:center}.album-header .album-art{width:120px}.album-header .album-art img{height:120px}}.coming-soon-message{text-align:left;padding:0}.coming-soon-message p{font-size:1.1rem;color:var(--muted-color);margin-bottom:1rem}.coming-soon-message p:first-child{font-size:1.5rem;color:var(--text-color);font-weight:500}
