.navbar{text-align:center;flex-direction:column;align-items:center;padding:4rem 2rem 2rem;display:flex}.artist-name{font-family:var(--font-main);color:var(--color-ink);letter-spacing:.04em;text-transform:lowercase;font-size:3.2rem;font-weight:400;text-decoration:none}.artist-tagline{letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin:1rem 0 3rem;font-size:.85rem}.navbar-links a{color:var(--color-ink);font-family:var(--font-main);letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;text-decoration:none;transition:color .2s}.navbar-links{gap:2rem;display:flex}.navbar-links a:hover{color:var(--color-accent)}.site-footer{justify-content:center;padding:3rem 2rem;display:flex}.social-links{gap:1.5rem;display:flex}.social-links a{width:40px;height:40px;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;transition:color .2s;display:flex}.social-links a:hover{color:var(--color-ink)}.home{flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:1rem 2rem 6rem;display:flex}.home-biography{text-align:left;max-width:680px;margin-top:2.5rem}.home-biography p{color:var(--color-ink);font-size:1rem;line-height:1.9}.bio-credit{color:var(--color-text-muted);margin-top:1rem;font-size:.8rem;display:block}.bio-credit a{color:var(--color-accent);text-decoration:none}.bio-credit a:hover{text-decoration:underline}.hero-image{object-fit:cover;object-fit:contain;border-radius:2px;width:auto;max-width:100%;height:auto;max-height:80vh}.gallery{max-width:1100px;margin:0 auto;padding:2rem 2rem 6rem}.gallery-empty{text-align:center;color:var(--color-text-muted);padding:4rem 0}.category-section{margin-bottom:5rem}.category-title{font-family:var(--font-main);letter-spacing:.15em;text-transform:uppercase;color:var(--color-ink);border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:500}.category-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:center;gap:1.75rem;display:grid}.work-card{cursor:pointer;flex-direction:column;align-items:center;gap:.6rem;display:flex}.work-image{object-fit:cover;border-radius:2px;width:100%;height:280px;transition:opacity .2s}.work-card:hover .work-image{opacity:.85}.work-title{color:var(--color-text-muted);letter-spacing:.02em;font-size:.85rem}.loading{text-align:center;color:var(--color-text-muted);padding:4rem}.contact{text-align:center;max-width:600px;margin:0 auto;padding:6rem 2rem}.contact h2{font-family:var(--font-display);color:var(--color-ink);margin-bottom:2rem;font-size:1.6rem;font-weight:600}.contact-email{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding-bottom:2px;font-size:1.1rem;text-decoration:none;transition:color .2s,border-color .2s}.contact-email:hover{color:var(--color-accent);border-color:var(--color-accent)}@keyframes flicker0{0%,to{opacity:1;transform:scaleY(1)scaleX(1)}25%{opacity:.85;transform:scaleY(1.15)scaleX(.9)}50%{opacity:1;transform:scaleY(.9)scaleX(1.1)}75%{opacity:.9;transform:scaleY(1.05)scaleX(.95)}}@keyframes flicker1{0%,to{opacity:.95;transform:scaleY(1)scaleX(1)}30%{opacity:1;transform:scaleY(.85)scaleX(1.1)}60%{opacity:.85;transform:scaleY(1.2)scaleX(.85)}}@keyframes flicker2{0%,to{opacity:1;transform:scaleY(1)scaleX(1)}40%{opacity:.9;transform:scaleY(1.1)scaleX(.92)}70%{opacity:1;transform:scaleY(.92)scaleX(1.08)}}.flame-0{animation:.9s ease-in-out infinite flicker0}.flame-1{animation:1.1s ease-in-out infinite flicker1}.flame-2{animation:1s ease-in-out infinite flicker2}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(260px)rotate(540deg)}}.birthday-page{flex-direction:column;align-items:center;min-height:80vh;padding:4rem 2rem 6rem;display:flex}.birthday-title{font-family:var(--font-main);color:var(--color-ink);text-align:center;margin-bottom:3rem;font-size:2rem;font-weight:500}.cake-scene{width:280px;height:230px;margin-bottom:2.5rem;position:relative}.confetti-layer{pointer-events:none;width:100%;height:0;position:absolute;top:-20px;left:0;overflow:visible}.cake-plate{background:#e8e4dc;border-radius:50%;width:200px;height:14px;position:absolute;bottom:18px;left:40px}.cake-bottom{background:#d85a30;border-radius:10px;width:160px;height:60px;position:absolute;bottom:28px;left:60px}.cake-bottom-frosting{background:#f0997b;border-radius:6px;width:160px;height:10px;position:absolute;bottom:84px;left:60px}.cake-top{background:#d4537e;border-radius:8px;width:100px;height:46px;position:absolute;bottom:90px;left:90px}.cake-top-frosting{background:#ed93b1;border-radius:5px;width:100px;height:8px;position:absolute;bottom:132px;left:90px}.sprinkle{border-radius:50%;width:8px;height:8px;position:absolute}.sprinkle-1{background:#fac775;bottom:42px;left:75px}.sprinkle-2{background:#9fe1cb;bottom:55px;left:195px}.sprinkle-3{background:#7f77dd;bottom:50px;left:130px}.candle{background:#faeeda;width:5px;position:absolute}.candle-1{height:24px;bottom:140px;left:118px}.candle-2{height:28px;bottom:138px;left:135px}.candle-3{height:26px;bottom:139px;left:152px}.flame{background:#ef9f27;border-radius:50%/60% 60% 40% 40%;width:8px;height:14px;position:absolute}.flame-0{bottom:162px;left:117px}.flame-1{bottom:164px;left:134px}.flame-2{bottom:163px;left:151px}.confetti-btn{font-family:var(--font-main);letter-spacing:.08em;text-transform:uppercase;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-bottom:3rem;padding:.85rem 1.75rem;font-size:.85rem;transition:opacity .2s}.confetti-btn:hover{opacity:.85}.audio-player{align-items:center;display:flex}.audio-btn{font-family:var(--font-main);letter-spacing:.05em;color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:999px;padding:.6rem 1.25rem;font-size:.8rem;transition:color .2s,border-color .2s}.audio-btn:hover{color:var(--color-ink);border-color:var(--color-ink)}*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#faf9f5;--color-ink:#1c1b19;--color-text-muted:#6e6b63;--color-accent:#1fc2db;--color-border:#e5e2d9;--font-main:"Jost", sans-serif}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-ink);-webkit-font-smoothing:antialiased}
