.hero{padding-top:calc(var(--header-height) + 60px);padding-bottom:80px;text-align:center;background-color:var(--bg-white)}.hero-logo{font-size:4rem;margin-bottom:24px}.hero-title{font-size:3rem;font-weight:700;margin-bottom:36px;line-height:1.6}.hero-description{font-size:1.375rem;color:var(--text-dark);margin-bottom:24px;line-height:1.8;font-weight:500}.hero-sub-description{font-size:.875rem;color:var(--text-gray);line-height:2;max-width:560px;margin:0 auto;text-align:left;background-color:var(--bg-light);padding:20px 24px;border-radius:var(--radius-lg);border-left:4px solid var(--primary-color)}.hero-buttons-wrapper{margin-top:48px}.hero-buttons{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.hero-guideline-link{margin-top:20px;font-size:.8125rem;color:var(--text-gray)}.hero-guideline-link a{color:var(--primary-text);text-decoration:underline}.hero-guideline-link a:hover{opacity:.7}.how-it-works{padding:60px 0;background-color:var(--bg-light);text-align:center}.steps-wrapper{max-width:600px;margin:0 auto}.step{background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:0;text-align:left;position:relative;transition:all .3s ease}.step:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.step-number{display:inline-block;font-size:.75rem;font-weight:700;color:var(--cream-text);background-color:var(--bg-cream);padding:4px 12px;border-radius:var(--radius-2xl);margin-bottom:12px}.step-title{font-size:1rem;font-weight:700;margin-bottom:10px;color:var(--text-dark)}.step-description{font-size:.8125rem;color:var(--text-gray);line-height:1.8}.step-arrow{font-size:1.25rem;color:var(--primary-text);margin:16px 0;text-align:center}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.feature-card{background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 24px;text-align:left;transition:all .3s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.about{padding:60px 0;background-color:var(--bg-white)}.section-title{font-size:1.125rem;font-weight:700;text-align:center;margin-bottom:30px}.about-description{font-size:.875rem;color:var(--text-gray);line-height:2;text-align:center;max-width:600px;margin-inline:auto;margin-bottom:16px}.about-link{text-align:center;margin-top:24px}.about-link a{font-size:.875rem;color:var(--primary-text);font-weight:500;transition:opacity .2s ease}.about-link a:hover{opacity:.7}.genres{padding:60px 0;background-color:var(--bg-cream)}.genre-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.genre-card{background-color:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-base);padding:20px;transition:all .3s ease}.genre-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.genre-title{font-size:.875rem;font-weight:700;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid var(--primary-color)}.genre-description{font-size:.75rem;color:var(--text-gray);line-height:1.7}.genre-group-title{font-size:.8125rem;font-weight:600;color:var(--cream-text);margin-bottom:12px;margin-top:24px;padding-inline-start:4px;letter-spacing:.05em}.genre-group-title:first-of-type{margin-top:0}.cta-buttons{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin-top:40px;padding-top:20px;flex-wrap:wrap}.footer{padding:60px 0 40px;background-color:var(--bg-cream);text-align:center;border-top:1px solid var(--border-color)}.footer-logo{font-size:2.25rem;margin-bottom:16px}.footer-tagline{font-size:.875rem;color:var(--text-gray);margin-bottom:30px}.footer-nav{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;margin-bottom:30px}.footer-nav a{font-size:.8125rem;color:var(--text-dark);transition:color .2s ease}.footer-nav a:hover{color:var(--primary-text);opacity:1}.footer-bottom{font-size:.75rem;color:var(--text-gray)}.copyright{margin-bottom:4px}.credit{font-size:.75rem}