:root{--bg:#efefeb;--ink:#111;--accent:#28b59f;--line:#b9b9b2;--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.noise{pointer-events:none;position:fixed;inset:0;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px;padding:18px clamp(20px,4vw,64px);border-bottom:1px solid var(--ink);background:rgba(239,239,235,.93);backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand-mark{width:47px;height:47px;border:2px solid;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:20px}.brand-mark span{color:var(--accent)}.brand-name{font-weight:900;font-size:12px;line-height:.95;letter-spacing:.08em}.nav{display:flex;gap:24px}.nav a,.lang{font:700 12px/1 Arial,sans-serif;letter-spacing:.08em;color:inherit;text-decoration:none}.nav a:hover{color:var(--accent)}.lang{background:none;border:1px solid;padding:9px 11px;cursor:pointer}.section{max-width:var(--max);margin:auto;padding:clamp(70px,10vw,150px) clamp(20px,4vw,64px);border-bottom:1px solid var(--ink)}.hero{min-height:calc(100vh - 84px);display:flex;flex-direction:column;justify-content:space-between}.hero-kicker{font:700 11px/1 Arial;letter-spacing:.18em}.hero h1{font-size:clamp(58px,10.2vw,160px);line-height:.78;letter-spacing:-.075em;margin:6vh 0;text-transform:uppercase}.outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.hero-bottom{display:grid;grid-template-columns:minmax(250px,600px) auto;align-items:end;gap:30px}.hero-bottom p{font-size:clamp(18px,2vw,27px);line-height:1.15;margin:0;max-width:780px}.round-link{width:70px;height:70px;border:1px solid;border-radius:50%;display:grid;place-items:center;text-decoration:none;color:inherit;font-size:34px}.round-link:hover{background:var(--accent)}.section-heading{display:grid;grid-template-columns:80px 1fr;align-items:end;margin-bottom:50px}.index{font-size:12px;font-weight:700}.section h2{font-size:clamp(44px,7vw,100px);line-height:.82;letter-spacing:-.055em;margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px 80px}.filter{border:1px solid;background:transparent;padding:10px 14px;font-weight:800;cursor:pointer}.filter.active,.filter:hover{background:var(--ink);color:var(--bg)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.project{background:var(--bg);transition:transform .25s ease,background .25s ease;color:inherit;text-decoration:none;min-width:0}.project.hidden{display:none}.project:hover{background:#e7e7e1}.project-visual{aspect-ratio:16/10;overflow:hidden;position:relative;background:#111}.project-visual img,.project-visual video{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}.project-video video{pointer-events:none}.project:hover .project-visual img,.project:hover .project-visual video{transform:scale(1.035);filter:contrast(1.05)}.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.48),transparent 48%);pointer-events:none}.project-tag,.project-arrow{position:absolute;z-index:2;color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;text-shadow:0 1px 8px rgba(0,0,0,.55)}.project-tag{left:20px;bottom:18px}.project-arrow{right:20px;top:18px;width:38px;height:38px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;font-size:18px;letter-spacing:0;transition:background .25s ease,color .25s ease,transform .25s ease}.project:hover .project-arrow{background:var(--accent);color:var(--ink);transform:rotate(7deg)}.project-dark img{filter:saturate(.95) contrast(1.08)}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:26px;padding:20px;border-top:1px solid}.project-meta h3{font-size:23px;margin:0 0 7px}.project-meta p{font-size:11px;margin:0;line-height:1.35}.project-desc{font-size:13px!important;opacity:.72;max-width:34ch}.project-tools{text-align:right;font-weight:800;letter-spacing:.05em;max-width:180px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:80px}.about blockquote{font-size:clamp(28px,4vw,58px);line-height:.92;font-weight:900;margin:0}.about cite{display:block;font-size:11px;font-style:normal;margin-top:22px;letter-spacing:.1em}.bio-copy{font-size:clamp(18px,1.7vw,25px);line-height:1.25}.bio-copy p:first-child{margin-top:0}.cv-layout{display:grid;grid-template-columns:2fr 1fr;gap:8vw;margin-left:80px}.timeline{border-top:1px solid}.timeline-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid}.timeline-row h3{margin:0 0 7px;font-size:22px}.timeline-row p{margin:0;line-height:1.35}.year{font-size:11px;font-weight:800;letter-spacing:.08em}.skills h3{font-size:12px;letter-spacing:.12em;margin:0 0 16px}.skill-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:36px}.skill-list span{border:1px solid;padding:8px 10px;font-size:11px;font-weight:800}.contact{background:var(--ink);color:var(--bg)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:80px}.contact-grid>p{font-size:clamp(24px,3vw,45px);line-height:1.02;margin:0}.contact-links{display:flex;flex-direction:column;border-top:1px solid #555}.contact-links a{color:inherit;text-decoration:none;padding:18px 0;border-bottom:1px solid #555;font-weight:800}.contact-links a:hover{color:var(--accent)}footer{max-width:var(--max);margin:auto;padding:18px clamp(20px,4vw,64px);display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.1em}
.project-musicstory{background:#0b0b0b;color:#f1f0e9}.project-musicstory:after{background:linear-gradient(to top,rgba(0,0,0,.58),transparent 44%)}.musicstory-card{position:absolute;inset:0;padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 76% 22%,rgba(40,181,159,.18),transparent 29%),linear-gradient(135deg,#171717,#050505 72%)}.musicstory-card:before{content:"";position:absolute;inset:-20%;opacity:.22;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.08) 5px);transform:rotate(-7deg);pointer-events:none}.musicstory-card strong{position:relative;z-index:1;font-size:clamp(42px,6vw,88px);line-height:.72;letter-spacing:-.07em;color:#f1f0e9}.musicstory-rec,.musicstory-volume,.musicstory-genres{position:absolute;z-index:1;font-size:9px;font-weight:900;letter-spacing:.15em}.musicstory-rec{top:22px;left:22px;color:var(--accent)}.musicstory-volume{top:22px;right:70px}.musicstory-genres{left:22px;right:22px;bottom:48px;white-space:nowrap;overflow:hidden;color:#b7b7b0}.project:hover .musicstory-card strong{color:var(--accent)}@media(max-width:800px){.site-header{grid-template-columns:1fr auto}.nav{grid-column:1/-1;order:3;justify-content:space-between;border-top:1px solid;padding-top:14px}.hero{min-height:75vh}.hero h1{font-size:clamp(54px,17vw,100px)}.outline{-webkit-text-stroke:1.5px var(--ink)}.section-heading{grid-template-columns:45px 1fr}.filters,.edit-note,.about-grid,.cv-layout,.contact-grid{margin-left:45px}.project-grid{grid-template-columns:1fr}.about-grid,.cv-layout,.contact-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:100px 1fr}.hero-bottom{grid-template-columns:1fr auto}.project-meta{flex-direction:column}.project-meta p{text-align:left}footer{gap:12px;flex-wrap:wrap}}
@media(max-width:480px){.brand-name{display:none}.nav{gap:8px}.nav a{font-size:10px}.section{padding-left:16px;padding-right:16px}.filters,.edit-note,.about-grid,.cv-layout,.contact-grid{margin-left:0}.section-heading{grid-template-columns:38px 1fr}.timeline-row{grid-template-columns:78px 1fr}.timeline-row h3{font-size:18px}.round-link{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* VJ / Videos subpage */
.video-hero{min-height:72vh;display:flex;flex-direction:column;justify-content:space-between}.video-hero h1{font-size:clamp(72px,13vw,190px);line-height:.74;letter-spacing:-.075em;margin:7vh 0 5vh;text-transform:uppercase}.video-intro{display:grid;grid-template-columns:minmax(260px,680px) auto;gap:40px;align-items:end}.video-intro>p:first-child{font-size:clamp(20px,2.2vw,32px);line-height:1.12;margin:0}.video-tags{font-size:11px;font-weight:900;letter-spacing:.1em;margin:0;text-align:right}.video-frame{border:1px solid var(--ink);background:#080808;aspect-ratio:16/9;overflow:hidden}.video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#080808}.video-caption{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid}.video-caption h3{font-size:25px;margin:0 0 7px}.video-caption p{margin:0;font-size:14px;opacity:.72}.video-caption>span{font-size:11px;font-weight:900;letter-spacing:.08em;text-align:right}.video-more-grid{margin-left:80px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.video-more-grid>p{font-size:clamp(20px,2.3vw,33px);line-height:1.1;margin:0}.video-youtube-link{border-top:1px solid;border-bottom:1px solid;color:inherit;text-decoration:none;padding:22px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:900;letter-spacing:.08em}.video-youtube-link:hover{color:var(--accent)}.footer-back{color:inherit;text-decoration:none}.footer-back:hover{color:var(--accent)}
@media(max-width:800px){.video-hero{min-height:60vh}.video-hero h1{font-size:clamp(68px,20vw,120px)}.video-intro{grid-template-columns:1fr}.video-tags{text-align:left}.video-more-grid{margin-left:45px;grid-template-columns:1fr;gap:42px}}
@media(max-width:480px){.video-more-grid{margin-left:0}.video-caption{flex-direction:column}.video-caption>span{text-align:left}}

.video-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink)}.video-example{min-width:0;background:var(--bg)}.video-example .video-frame{border:0}.video-example .video-caption{display:block;padding:16px;border-bottom:0}.video-example .video-caption h3{font-size:22px}.video-example .video-caption>span{display:block;text-align:left;margin-top:12px}.video-example video{cursor:pointer}
@media(max-width:1000px){.video-gallery{grid-template-columns:1fr 1fr}.video-example:first-child{grid-column:1/-1}}
@media(max-width:640px){.video-gallery{grid-template-columns:1fr}.video-example:first-child{grid-column:auto}}

.project-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,54px);background:radial-gradient(circle at 78% 20%,rgba(40,181,159,.22),transparent 27%),linear-gradient(135deg,#1d1d1b,#070707);color:#f1f0e9}.project-placeholder small{font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--accent);margin-bottom:12px}.project-placeholder strong{font-size:clamp(34px,4vw,68px);line-height:.82;letter-spacing:-.055em;max-width:9ch;text-transform:uppercase}.project:hover .project-placeholder strong{color:var(--accent)}
