@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Crimson+Pro:wght@300;400;500&family=JetBrains+Mono:wght@400;500&family=Kaushan+Script&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0f1f3d;--navy-mid:#1a3060;--burgundy:#6b1a2a;--gold:#c9974a;--gold-light:#e8c27a;--cream:#faf6ef;--cream-dark:#f0e8d8;--text-dark:#1a1208;--text-mid:#3d2e1a;--text-muted:#7a6a52;--border-gold:rgba(201,151,74,.3);--white:#fff;--success:#1d7a4a;--error:#8b1a1a}body{font-family:Crimson Pro,serif;background:var(--cream);color:var(--text-dark);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}.nav{background:hsla(38,52%,96%,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-gold);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-logo{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:600;color:var(--navy);text-decoration:none;letter-spacing:.04em}.nav-logo span{color:var(--gold)}.nav-logo .wordmark{font-family:Kaushan Script,cursive;font-size:22px;font-weight:400;letter-spacing:.01em;line-height:1}.nav-logo .wordmark span{color:var(--gold)}.nav-links{display:flex;align-items:center;gap:1.5rem;list-style:none}.nav-links a{font-size:14px;color:var(--text-mid);text-decoration:none;transition:color .2s}.nav-links a.active,.nav-links a:hover{color:var(--gold)}.nav-cta{background:var(--navy);color:var(--gold-light)!important;padding:7px 18px;border-radius:3px;font-size:12px!important;letter-spacing:.08em;text-transform:uppercase}.nav-cta:hover{background:var(--burgundy)}@media (max-width:780px){.nav-links{display:none}}.btn-primary{background:var(--navy);color:var(--gold-light);padding:13px 32px;border-radius:3px;text-decoration:none;border:none;font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;font-family:Crimson Pro,serif;cursor:pointer;transition:background .25s,transform .15s;display:inline-block}.btn-primary:hover{background:var(--burgundy);transform:translateY(-1px)}.btn-ghost{border:1px solid var(--border-gold);color:var(--text-mid);padding:12px 28px;border-radius:3px;text-decoration:none;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-family:Crimson Pro,serif;background:transparent;cursor:pointer;transition:border-color .2s,color .2s;display:inline-block}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}footer{background:var(--navy);color:hsla(0,0%,100%,.6);padding:2.5rem 2rem;text-align:center;font-size:.85rem}footer .footer-brand{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:var(--gold-light);margin-bottom:4px}footer .footer-brand span{color:var(--gold)}footer .footer-brand.wordmark{font-family:Kaushan Script,cursive;font-size:1.7rem;font-weight:400;color:var(--gold-light)}footer .footer-brand.wordmark span{color:var(--gold)}.lang-tile{display:block;text-align:center;text-decoration:none;background:var(--white);border:1px solid var(--border-gold);border-radius:6px;padding:1.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lang-tile:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 10px 30px rgba(15,31,61,.1)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:fadeUp .7s ease both}.lang-card,.song-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.lang-card:hover,.song-card:hover{transform:translateY(-3px)}.btn-ghost,.btn-primary{transition:transform .15s ease,background .25s ease,border-color .2s ease,color .2s ease}.btn-primary:hover{transform:translateY(-2px)}.nav-logo img{transition:transform .25s ease}.nav-logo:hover img{transform:scale(1.06)}@media (prefers-reduced-motion:reduce){.reveal{animation:none}*{transition:none!important}}.lang-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px}@media (max-width:900px){.lang-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:460px){.lang-grid{grid-template-columns:repeat(2,1fr)}}