:root{--bg: #fff9f0;--paper: #fffdf8;--ink: #1f1f24;--muted: #6b6772;--accent: #ff5f2e;--accent-alt: #1e9f8a;--line: #dfd7ca}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Bricolage Grotesque,Trebuchet MS,sans-serif;color:var(--ink);background:radial-gradient(circle at 10% 10%,#ffd899 0%,transparent 30%),radial-gradient(circle at 90% 10%,#9be4d7 0%,transparent 26%),var(--bg);min-height:100vh}main{width:min(1100px,92%);margin:0 auto;padding:2.5rem 0 4rem}section{margin-bottom:3.5rem}h1,h2,h3{margin:0;line-height:1.1}p,li,a,button,input,textarea{font-size:1rem}a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;opacity:.06;background-image:radial-gradient(var(--ink) .8px,transparent .8px);background-size:6px 6px;z-index:-1}.site-header{width:min(1100px,92%);margin:0 auto;padding:1.5rem 0 .5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.brand{text-decoration:none;display:flex;flex-direction:column}.brand-title{font-size:1.2rem;font-weight:700}.brand-subtitle{font-family:Space Mono,monospace;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}nav ul{list-style:none;display:flex;gap:.9rem;margin:0;padding:0}nav a{text-decoration:none;padding:.45rem .7rem;border-radius:999px;border:1px solid transparent}nav a:hover,nav a:focus-visible{border-color:var(--line)}.hero,.page-intro,.contact-form,.split-card article,.music-player,.photo-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 25px #1f1f240f}.hero,.page-intro{padding:2rem}.hero h1,.page-intro h1{font-size:clamp(2rem,4.5vw,3.2rem);margin-top:.4rem;max-width:16ch}.kicker{display:inline-block;font-family:Space Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-alt);font-size:.8rem}.hero p,.page-intro p{max-width:62ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.btn{text-decoration:none;border-radius:999px;padding:.7rem 1rem;font-weight:700;transition:transform .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff}.btn-ghost{border:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.9rem}.section-head a{font-family:Space Mono,monospace;text-decoration:none;color:var(--muted)}.music-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.music-player{padding:1.1rem}.music-player-head{display:flex;justify-content:space-between;gap:.6rem}.pill{font-family:Space Mono,monospace;font-size:.8rem;background:#ffe5de;color:#8c2c12;border-radius:999px;padding:.2rem .55rem;height:fit-content}.music-player-controls{display:flex;align-items:center;gap:.7rem}.play-toggle{border:none;border-radius:999px;background:var(--accent-alt);color:#fff;font-weight:700;padding:.55rem 1rem;cursor:pointer}.status{color:var(--muted);font-family:Space Mono,monospace;font-size:.85rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.photo-card{display:block;overflow:hidden;text-decoration:none}.photo-card img{width:100%;height:220px;object-fit:cover;display:block}.photo-meta{padding:.85rem 1rem 1rem}.photo-meta p{margin:.35rem 0;color:var(--muted)}.photo-meta span{font-family:Space Mono,monospace;font-size:.8rem}.split-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem}.split-card article{padding:1.4rem}.split-card ul{margin:.7rem 0 0;padding-left:1.2rem}.contact-form{padding:1.4rem;max-width:700px}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem}.field label{font-weight:700}.field input,.field textarea{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.65rem .8rem;font:inherit}.hidden-field{position:absolute;left:-9999px}.contact-form button{border:none;border-radius:12px;background:var(--ink);color:#fff;padding:.7rem 1.1rem;font-weight:700;cursor:pointer}.site-footer{width:min(1100px,92%);margin:0 auto;padding:1rem 0 3rem;color:var(--muted);font-size:.92rem}.site-footer p{margin:.3rem 0}@keyframes float-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}main section{animation:float-up .6s ease both}main section:nth-child(2){animation-delay:.1s}main section:nth-child(3){animation-delay:.2s}@media(max-width:720px){.site-header{align-items:flex-start}nav ul{flex-wrap:wrap}.hero,.page-intro,.contact-form{padding:1.2rem}}
