*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#15171b;--bg-elevated:#1b1f26;--bg-card:#202634;--bg-card-hover:#252d3d;--text:#d5dbe6;--text-muted:#aab3c2;--accent:#8b87ff;--accent-hover:#7a74ff;--border:#ffffff12;--ring:#8b87ff61;--radius:12px;--max-width:1100px}html{scroll-behavior:smooth}body{background:radial-gradient(1200px 800px at 20% 0%, #8b87ff1a, transparent 60%), radial-gradient(900px 700px at 80% 10%, #62dcff0f, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7}a{color:var(--accent);text-decoration:none;transition:color .2s,opacity .2s}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}img{max-width:100%;display:block}.navbar{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#121316b8;position:sticky;top:0}.navbar-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;height:64px;margin:0 auto;padding:0 1.5rem;display:flex}.navbar-logo{color:var(--text);letter-spacing:.5px;font-size:1.4rem;font-weight:700}.navbar-links{align-items:center;gap:1.5rem;list-style:none;display:flex}.navbar-links a{color:color-mix(in srgb, var(--text-muted) 92%, white 8%);font-size:.95rem;font-weight:500;transition:color .2s}.navbar-links a:hover,.navbar-links a.active{color:var(--text)}.nav-dropdown{position:relative}.nav-dropdown:after{content:"";height:.65rem;position:absolute;top:100%;left:0;right:0}.nav-dropdown-menu{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);z-index:200;min-width:180px;margin-top:.5rem;padding:.5rem 0;display:none;position:absolute;top:100%;left:0;box-shadow:0 10px 35px #00000059}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown-menu:hover{display:block}.nav-dropdown-btn{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;font-size:.95rem;font-weight:500;transition:color .2s;display:flex}.nav-dropdown-btn:hover{color:var(--text)}.nav-dropdown-menu a{color:var(--text-muted);padding:.5rem 1rem;font-size:.9rem;display:block}.nav-dropdown-menu a:hover{color:var(--text);background:#ffffff0a}.hamburger{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:1.6rem;display:none}@media (width<=768px){.hamburger{display:block}.navbar-links{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:1rem 1.5rem;display:none;position:absolute;top:64px;left:0;right:0}.navbar-links.open{display:flex}.nav-dropdown-menu{box-shadow:none;background:0 0;border:none;margin-top:0;padding-left:1rem;display:none;position:static}.nav-dropdown.open .nav-dropdown-menu{display:block}}.hero{text-align:center;background:linear-gradient(135deg,#8b87ff24 0%,#62dcff0f 45%,#12131600 100%),0 0;padding:6rem 1.5rem 4rem}.hero.hero-min{background:0 0;padding:3.25rem 1.5rem}.hero.hero-min .hero-title{letter-spacing:.3px;margin:0 0 1.25rem;font-size:2rem;font-weight:700;display:inline-block;position:relative}.hero-kicker{color:var(--text-muted);letter-spacing:.3px;margin-bottom:.85rem;font-size:.95rem}.hero.hero-min h1{letter-spacing:.4px;margin-bottom:.75rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:750}.hero-lead{color:color-mix(in srgb, var(--text) 78%, var(--text-muted) 22%);max-width:60ch;margin:0 auto 1.5rem}.hero.hero-min .hero-buttons{grid-template-columns:repeat(3,minmax(160px,220px));justify-content:center;gap:.9rem;display:grid}@media (width<=640px){.hero.hero-min .hero-buttons{grid-template-columns:1fr;max-width:420px;margin:0 auto}}.hero.hero-min .hero-buttons a{background:color-mix(in srgb, var(--bg-card) 88%, white 12%);color:var(--text);border:1px solid color-mix(in srgb, var(--border) 65%, white 35%);text-align:center;width:100%;padding:.95rem 1.25rem;box-shadow:0 10px 24px #0000002e}.hero.hero-min .hero-buttons a:hover{background:color-mix(in srgb, var(--bg-card-hover) 86%, white 14%);border-color:color-mix(in srgb, var(--border) 55%, var(--accent) 45%);color:var(--text);transform:translateY(-1px)}.hero h1{letter-spacing:1px;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:800}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero-buttons a{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 88%, white 12%);color:#0b0c10;padding:.75rem 2rem;font-weight:700;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 10px 25px #8b87ff2e}.hero-buttons a:hover{background:color-mix(in srgb, var(--accent-hover) 90%, white 10%);color:#0b0c10;transform:translateY(-2px)}.section{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{font-size:2rem;font-weight:700}.section-header p{color:var(--text-muted);max-width:65ch;margin-top:.5rem;margin-left:auto;margin-right:auto}.about-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr}}.about-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:0 8px 22px #00000038}.about-card h3{color:var(--accent);margin-bottom:1rem;font-size:1.2rem}.about-card li{margin-bottom:.7rem;list-style:none}.about-card strong{color:var(--text)}.about-card a{color:var(--accent)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 8px 22px #0000002e}.project-card:hover{border-color:#8b87ff38;transform:translateY(-3px);box-shadow:0 14px 40px #00000047}.project-card img,.project-card iframe{aspect-ratio:16/9;object-fit:contain;filter:saturate(.95)contrast(.98);width:100%}.project-card-body{padding:1.5rem}.project-card-body h3{margin-bottom:.85rem;font-size:1.15rem}.project-card-body p{color:var(--text-muted);margin-bottom:1rem;font-size:.95rem}.btn-sm{background:color-mix(in srgb, var(--accent) 92%, white 8%);color:#0b0c10;border-radius:var(--radius);padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;transition:background .2s,transform .15s;display:inline-block}.btn-sm:hover{background:color-mix(in srgb, var(--accent-hover) 92%, white 8%);color:#0b0c10;transform:translateY(-1px)}.article{max-width:800px;margin:0 auto;padding:3rem 1.5rem 4rem}.article h1{text-align:center;margin-bottom:2rem;font-size:2rem}.article h2{border-bottom:1px solid var(--border);margin:2rem 0 .75rem;padding-bottom:.6rem;font-size:1.5rem}.article h3{margin:1.5rem 0 .5rem;font-size:1.2rem}.article p{margin-bottom:1rem}.article ul,.article ol{margin:.5rem 0 1rem 1.5rem}.article li{margin-bottom:.4rem}.article figure{margin:1.5rem 0}.article figure img{border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 10px 30px #00000038}.article figcaption{color:var(--text-muted);text-align:center;margin-top:.5rem;font-size:.85rem;font-style:italic}.ehx-pitchfork-mod{max-width:900px;margin:0 auto;padding:3rem 1.5rem 4.5rem;font-size:1.05rem;line-height:1.85}.ehx-pitchfork-mod h1,.ehx-pitchfork-mod h2,.ehx-pitchfork-mod h3{letter-spacing:.2px;line-height:1.25}.ehx-pitchfork-mod h1{margin:2.25rem 0 .75rem;font-size:2rem}.ehx-pitchfork-mod h2{border-bottom:1px solid var(--border);margin:2rem 0 .75rem;padding-bottom:.5rem;font-size:1.5rem}.ehx-pitchfork-mod h3{margin:1.5rem 0 .5rem;font-size:1.2rem}.ehx-pitchfork-mod p{color:color-mix(in srgb, var(--text) 92%, var(--text-muted) 8%);max-width:80ch;margin:.75rem 0 1.05rem}.ehx-pitchfork-mod ul,.ehx-pitchfork-mod ol{max-width:80ch;margin:.5rem 0 1.25rem 1.5rem}.ehx-pitchfork-mod li{margin:.35rem 0}.ehx-pitchfork-mod figure{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin:1.5rem auto;padding:1rem;box-shadow:0 10px 30px #0003}.ehx-pitchfork-mod img{border-radius:calc(var(--radius) - 6px);width:100%;height:auto}.ehx-pitchfork-mod figcaption{color:var(--text-muted);text-align:center;margin-top:.75rem;font-size:.95rem;line-height:1.6}@media (width<=600px){.ehx-pitchfork-mod{padding:2.25rem 1.25rem 4rem;font-size:1rem;line-height:1.8}.ehx-pitchfork-mod h1{font-size:1.75rem}}.contact-form{text-align:center;max-width:600px;margin:0 auto}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width<=500px){.form-row{grid-template-columns:1fr}}.contact-form input,.contact-form textarea{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font:inherit;padding:.85rem 1rem;transition:border-color .2s,background .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{background:color-mix(in srgb, var(--bg-elevated) 86%, white 14%);border-color:#8b87ff73;outline:none;box-shadow:0 0 0 4px #8b87ff1f}.btn-primary{background:color-mix(in srgb, var(--accent) 88%, white 12%);color:#0b0c10;border-radius:var(--radius);font:inherit;cursor:pointer;border:none;padding:.85rem 2.5rem;font-weight:800;transition:background .2s,transform .15s,box-shadow .2s;display:inline-block;box-shadow:0 10px 25px #8b87ff2e}.btn-primary:hover{background:color-mix(in srgb, var(--accent-hover) 90%, white 10%);transform:translateY(-1px)}.stub-section{text-align:center;max-width:700px;margin:0 auto;padding:3rem 1.5rem}.stub-section h1{margin-bottom:1.5rem;font-size:2rem}.stub-section img{border-radius:var(--radius);max-width:400px;margin:0 auto 2rem}.stub-form{text-align:left;grid-template-columns:auto 1fr;gap:.75rem 1rem;margin:0 auto 1.5rem;display:inline-grid}.stub-form label{align-self:center;font-weight:600}.stub-form input,.stub-form select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;padding:.6rem .8rem}.stub-form input:focus,.stub-form select:focus{border-color:var(--accent);outline:none}.stub-result{text-align:left;max-width:400px;margin-top:1rem;margin-left:auto;margin-right:auto}.stub-result h2{margin-bottom:.5rem;font-size:1.3rem}.stub-section>.btn-primary{width:fit-content;margin:.25rem auto 0;display:block}.footer{border-top:1px solid var(--border);text-align:center;background:linear-gradient(#0000 45%,#00000038);padding:2.5rem 1.5rem}.footer-icons{justify-content:center;gap:1.5rem;margin-bottom:1rem;list-style:none;display:flex}.footer-icons a{color:var(--text-muted);font-size:1.4rem;transition:color .2s}.footer-icons a:hover{color:var(--text)}.footer p{color:var(--text-muted);font-size:.85rem}.music-grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:1fr;align-items:stretch;gap:2rem;margin:0 auto;padding:0 1.5rem;display:grid}.spotify-embed{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;height:100%;min-height:520px;display:flex;overflow:hidden}@media (width>=900px){.spotify-embed{min-height:560px}}.spotify-embed iframe{border:0;flex:auto;width:100%;height:100%}@media (width<=420px){.music-grid{grid-template-columns:1fr;grid-auto-rows:auto;padding:0 1.25rem}.spotify-embed{min-height:420px}}
