:root{--bg: #0a0a0a;--bg-2: #111;--surface: #141414;--border: rgba(255,255,255,.07);--border-h: rgba(255,255,255,.18);--text: #f0ede8;--text-muted: rgba(240,237,232,.4);--accent: #e8c547;--font-display: "Barlow Condensed", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--max-w: 1400px;--gutter: clamp(1.5rem, 4vw, 4rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none;cursor:none}img{display:block;max-width:100%}button{cursor:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:150px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--gutter);mix-blend-mode:difference}.nav-logo{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;color:var(--text)}.nav-links{display:flex;gap:2.5rem;align-items:center}.nav-links a{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width .25s}.nav-links a:hover:after{width:100%}.nav-lang{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);border:1px solid rgba(255,255,255,.2);padding:.3rem .6rem;transition:color .2s,border-color .2s}.nav-lang:hover{color:var(--accent);border-color:var(--accent)}.nav-lang:after{display:none}.hero{min-height:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7rem var(--gutter) clamp(3rem,5vw,5rem);position:relative;overflow:hidden;gap:4rem}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 75% 30%,rgba(232,197,71,.06) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 85% 70%,rgba(80,120,255,.04) 0%,transparent 60%);pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}.hero-eyebrow{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}.dot{width:6px;height:6px;border-radius:50%;background:#4cba6e;box-shadow:0 0 8px #4cba6e;animation:blink 2.5s ease-in-out infinite;flex-shrink:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.hero-name{font-family:var(--font-display);font-size:clamp(1.8rem,3.8vw,4.5rem);line-height:.9;letter-spacing:.01em;color:var(--text);margin-bottom:1.5rem}.hero-name em{font-style:normal;color:var(--text-muted)}.hero-meta{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}.hero-right{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:.25rem}.hero-role{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.hero-scroll{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:.75rem}.hero-scroll:before{content:"";display:block;width:32px;height:1px;background:var(--text-muted);animation:stretch 2.2s ease-in-out infinite alternate}@keyframes stretch{to{width:60px;background:var(--accent)}}.hero-counter{display:none}.projects{padding:0 var(--gutter) 6rem;max-width:var(--max-w);margin:0 auto}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid var(--border);padding-top:2rem;margin-bottom:0}.section-title{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.sync-badge{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.project-card{background:var(--bg);opacity:0;animation:fadeUp .5s ease forwards;animation-delay:calc(var(--i, 0) * .05s)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.card-link{display:block;position:relative;overflow:hidden}.card-media{position:relative;overflow:hidden;aspect-ratio:3/2;background:var(--surface)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.card-link:hover .card-media img{transform:scale(1.04)}.card-overlay{position:absolute;inset:0;background:#0a0a0aa6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}.card-link:hover .card-overlay{opacity:1}.view-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:2px}.card-placeholder{width:100%;height:100%;background:var(--surface);display:flex;align-items:center;justify-content:center}.card-placeholder span{font-family:var(--font-display);font-size:3rem;color:var(--border-h)}.card-info{padding:1rem 1.25rem 1.25rem}.card-num{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.2rem}.card-title{font-family:var(--font-body);font-size:.85rem;font-weight:400;letter-spacing:.01em;color:var(--text);line-height:1.3;transition:color .2s}.card-link:hover .card-title{color:var(--accent)}.footer{border-top:1px solid var(--border);padding:3rem var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:2rem}.footer-left p{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.footer-email{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2.5rem);color:var(--text);letter-spacing:.03em;transition:color .2s}.footer-email:hover{color:var(--accent)}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.footer-links a{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);transition:color .2s}.footer-links a:hover{color:var(--text)}.footer-copy{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;color:#f0ede833;text-transform:uppercase;text-align:right}@media(max-width:1024px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:6rem;gap:2rem}.hero-right{display:block}.hero-bio{max-width:100%}}@media(max-width:900px){.projects-grid,.albums-grid{grid-template-columns:repeat(2,1fr)}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.filter-bar{width:100%}}@media(max-width:580px){.nav{padding:1rem 1.25rem;flex-wrap:wrap;gap:.75rem}.nav-links{gap:1rem;flex-wrap:wrap}.nav-available span:not(.dot){display:none}.nav-available{padding:.3rem .5rem}.hero{padding:5rem 1.25rem 2.5rem;gap:1.5rem}.hero-name{font-size:clamp(2rem,12vw,3.5rem)}.hero-name-label{font-size:.6rem}.hero-bio{font-size:.875rem}.projects-grid,.albums-grid{grid-template-columns:1fr}.projects,.darkroom{padding:0 1.25rem 4rem}.section-header{flex-direction:column;align-items:flex-start}.filter-bar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;width:100%}.filter-btn{white-space:nowrap;flex-shrink:0}.footer{padding:2.5rem 1.25rem;flex-direction:column;align-items:flex-start;gap:2rem}.footer-links{align-items:flex-start}.footer-copy{text-align:left}.footer-email{font-size:clamp(1.2rem,6vw,2rem);word-break:break-all}.project-hero{padding:6rem 1.25rem 4rem}.project-title{font-size:clamp(2rem,10vw,3rem)}body{cursor:auto}.c-dot,.c-ring{display:none}}.hero-tagline{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}.hero-bio{max-width:52ch;font-family:var(--font-body);font-size:.95rem;font-weight:300;line-height:1.7;color:var(--text-muted);margin-bottom:1.75rem}.card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.tag{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;padding:.2rem .5rem;border:1px solid var(--border);color:var(--text-muted);border-radius:1px;transition:border-color .2s,color .2s}.card-link:hover .tag{border-color:var(--border-h);color:var(--text)}.tag--art-direction{border-color:#e8c54740;color:#e8c547b3}.tag--branding{border-color:#b478ff40;color:#b478ffb3}.tag--motion{border-color:#50b4ff40;color:#50b4ffb3}.tag--social-media{border-color:#ff8c5040;color:#ff8c50b3}.tag--ai{border-color:#50dca040;color:#50dca0b3}.tag--3d{border-color:#ff507840;color:#ff5078b3}.tag--photography{border-color:#c8c8c840;color:#c8c8c8b3}.hero-name-label{font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,2.5vw,2rem);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-bottom:.5rem}.nav-available{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);border:1px solid rgba(76,186,110,.3);padding:.3rem .75rem;transition:color .2s,border-color .2s}.nav-available .dot{flex-shrink:0}.nav-available:hover{color:#4cba6e;border-color:#4cba6e99}.nav-available:after{display:none}.filter-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem;margin-top:0}.filter-btn{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;padding:.35rem .8rem;border:1px solid var(--border);color:var(--text-muted);background:none;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.filter-btn:hover{color:var(--text);border-color:var(--border-h)}.filter-btn.active{color:var(--bg);background:var(--text);border-color:var(--text)}.filter-btn[data-filter=art-direction].active{background:#e8c547;border-color:#e8c547;color:#0a0a0a}.filter-btn[data-filter=branding].active{background:#b478ff;border-color:#b478ff;color:#0a0a0a}.filter-btn[data-filter=motion].active{background:#50b4ff;border-color:#50b4ff;color:#0a0a0a}.filter-btn[data-filter=social-media].active{background:#ff8c50;border-color:#ff8c50;color:#0a0a0a}.filter-btn[data-filter=ai].active{background:#50dca0;border-color:#50dca0;color:#0a0a0a}.filter-btn[data-filter="3d"].active{background:#ff5078;border-color:#ff5078;color:#0a0a0a}.filter-btn[data-filter=photography].active{background:#c8c8c8;border-color:#c8c8c8;color:#0a0a0a}.project-card.hidden{display:none}.c-dot,.c-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;will-change:transform}.c-dot{width:5px;height:5px;background:var(--accent);margin:-2.5px 0 0 -2.5px;mix-blend-mode:difference}.c-ring{width:32px;height:32px;border:1px solid rgba(232,197,71,.4);margin:-16px 0 0 -16px;transition:opacity .3s,scale .3s}@media(pointer:coarse){.c-dot,.c-ring{display:none}}.darkroom{padding:0 var(--gutter) 6rem;max-width:var(--max-w);margin:0 auto}.section-sub{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.albums-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.album-card{display:block;background:var(--bg);overflow:hidden;transition:opacity .25s}.album-card:hover{opacity:.85}.album-cover{aspect-ratio:3/2;overflow:hidden;background:var(--surface)}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}.album-card:hover .album-cover img{transform:scale(1.04)}.album-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--surface)}.album-placeholder span{font-family:var(--font-display);font-size:3rem;color:var(--border-h);font-weight:700}.album-info{padding:.75rem 1rem 1rem}.album-title{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:.03em;color:var(--text);margin-bottom:.15rem}.album-year{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:var(--text-muted)}.coming-soon{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;color:var(--text-muted);padding:4rem 0;grid-column:1 / -1;text-align:center}@media(max-width:640px){.albums-grid{grid-template-columns:1fr}}@property --grad-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes grad-spin{to{--grad-angle: 360deg}}@keyframes grad-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-name em{background:linear-gradient(135deg,#e8c547,#ff8c42,#e8c547,#ffe082,#e8c547);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad-shift 4s ease infinite}.dot{animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.project-card{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.project-card.visible{opacity:1;transform:translateY(0)}.project-card{transition-delay:calc(var(--i, 0) * 60ms)}.project-nav{justify-content:space-between}.back-link{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);transition:color .2s,gap .2s}.back-link svg{transition:transform .2s}.back-link:hover{color:var(--text);gap:.75rem}.back-link:hover svg{transform:translate(-3px)}.back-link:after{display:none}.filter-btn{position:relative;overflow:hidden;transition:color .25s,border-color .25s}.filter-btn:before{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1);z-index:-1}.filter-btn[data-filter=art-direction]:before{background:#e8c547}.filter-btn[data-filter=branding]:before{background:#b478ff}.filter-btn[data-filter=motion]:before{background:#50b4ff}.filter-btn[data-filter=social-media]:before{background:#ff8c50}.filter-btn[data-filter=ai]:before{background:#50dca0}.filter-btn[data-filter="3d"]:before{background:#ff5078}.filter-btn[data-filter=photography]:before{background:#c8c8c8}.filter-btn[data-filter=all]:before{background:var(--text)}.filter-btn.active:before,.filter-btn:hover:before{transform:scaleX(1)}.filter-btn.active,.filter-btn:hover{color:#0a0a0a;border-color:transparent}.filter-btn[data-filter=art-direction].active,.filter-btn[data-filter=branding].active,.filter-btn[data-filter=motion].active,.filter-btn[data-filter=social-media].active,.filter-btn[data-filter=ai].active,.filter-btn[data-filter="3d"].active,.filter-btn[data-filter=photography].active,.filter-btn[data-filter=all].active{background:none}
