:root{--ink:#191919;--muted:#696969;--paper:#fafafa;--line:#dedede;--red:#ce292c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--red);outline-offset:7px}a:hover{color:var(--red)}.wrap{width:min(1240px,88%);margin:auto}.nav{height:108px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;font-weight:800;letter-spacing:-2px}.wordmark span{color:var(--red)}nav{display:flex;gap:36px;font-size:14px}nav a:last-child{margin-left:26px}.hero{padding:48px 0 74px}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px}.location{font-size:14px;color:var(--muted)}h1{font-size:clamp(56px,9.6vw,138px);line-height:1.06;letter-spacing:-.065em;margin:28px 0 44px;font-weight:500}h1 span{color:var(--red)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.intro h2{font-weight:400;font-size:clamp(28px,3vw,41px);line-height:1.25;letter-spacing:-1.1px;margin:0 0 23px}.intro h2 span{color:var(--muted)}.intro>p{max-width:400px;color:var(--muted);margin-bottom:24px}.text-link{display:inline-flex;gap:38px;border-bottom:1px solid var(--ink);padding:0 0 8px;font-size:14px}.current{display:grid;grid-template-columns:1fr 1fr;margin-top:43px;column-gap:20px;align-items:center}.current .eyebrow{grid-column:1/-1;margin-bottom:9px;color:var(--muted);font-size:11px}.current strong{font-size:25px;letter-spacing:-1px;color:var(--red)}.current strong span{font-size:14px;font-weight:400;letter-spacing:0;color:var(--ink)}.current>span:last-child{font-size:12px;line-height:1.6;border-left:1px solid var(--line);padding-left:20px}figure{margin:0}figure img{width:100%;height:440px;display:block;object-fit:cover;object-position:55% 40%;filter:grayscale(100%);border-radius:2px}figcaption{font-size:12px;color:var(--muted);text-align:right;margin-top:10px}.companies{padding:27px 0 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.companies .eyebrow{color:var(--muted);font-size:10px}.company-list{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;font-size:29px;font-weight:700;letter-spacing:-1px}.company-list .ipg{font-size:20px;letter-spacing:-.8px}.subbrand{font-weight:400;margin-left:5px;font-size:20px}.section{padding-top:98px;padding-bottom:98px}h2{font-size:42px;line-height:1.2;letter-spacing:-1.8px;font-weight:400;margin:20px 0 0}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.about-copy p{color:var(--muted);margin:0 0 20px}.about-copy p.large{font-size:25px;line-height:1.4;letter-spacing:-.5px;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line)}.stats strong{display:block;font-size:44px;line-height:1.2;font-weight:400;letter-spacing:-2px}.stats span{display:block;font-size:12px;color:var(--muted);margin-top:10px}.experience{background:#efefef}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.muted{font-size:13px;color:var(--muted)}.role{display:grid;grid-template-columns:17% 34% 1fr;gap:25px;padding:30px 0;border-top:1px solid #ccc}.period{font-size:12px;letter-spacing:.5px;padding-top:5px}.tag{display:block;color:var(--red);font-size:10px;letter-spacing:1px;margin-top:9px}.role h3{font-weight:500;font-size:24px;letter-spacing:-.7px;margin:0 0 7px;line-height:1.3}.job{font-size:13px;color:var(--muted);line-height:1.5;display:block}.role p{font-size:15px;line-height:1.75;color:#585858;margin:0}.additional{display:flex;gap:40px;border-top:1px solid #ccc;padding-top:24px;font-size:13px;color:var(--muted)}.additional p{margin:0}.details{display:grid;grid-template-columns:1fr 1fr;gap:15%}.expertise{display:flex;flex-wrap:wrap;gap:11px 9px;margin-top:32px}.expertise span{padding:8px 13px;border:1px solid #d4d4d4;border-radius:2px;font-size:14px}.learning h3{font-weight:400;font-size:25px;letter-spacing:-.6px;margin:20px 0}.learning p{font-size:14px;color:var(--muted);margin-bottom:18px}.learning strong{color:var(--ink);font-weight:500}.recognition{font-size:13px;line-height:1.9;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;color:var(--muted)}.contact{background:#171717;color:#f6f6f6;padding-top:80px}.contact .eyebrow{color:#b7b7b7}.contact h2{font-size:clamp(42px,5.8vw,78px);letter-spacing:-2.8px;margin-top:30px}.contact h2 em{font-family:Georgia,serif;font-weight:400;color:#e36669}.contact-links{display:flex;gap:50px;margin-top:38px;padding-bottom:72px}.contact-links a{border-bottom:1px solid #666;padding-bottom:8px;font-size:18px}.contact-links span{margin-left:20px}footer{border-top:1px solid #414141;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;color:#b7b7b7;font-size:12px}footer .wordmark{color:white}.skip{position:absolute;top:-100px;left:20px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){figure img{height:465px}}@media(max-width:850px){.hero-grid{gap:5%}figure img{height:400px}.current{grid-template-columns:1fr}.current>span:last-child{border:0;padding:6px 0 0}.company-list{flex-wrap:wrap;justify-content:flex-start;gap:18px 35px}.about{gap:6%}.role{grid-template-columns:20% 1fr}.role p{grid-column:2}.details{gap:7%}.section-heading>.muted{display:none}}@media(max-width:600px){.wrap{width:88%}.nav{height:82px}nav{gap:18px;font-size:12px}nav a:last-child{margin-left:0}.wordmark{font-size:25px}.hero{padding:30px 0 42px}.hero-top{align-items:start;gap:15px}.eyebrow{font-size:10px;letter-spacing:1.3px}.hero-top .eyebrow{max-width:200px}.location{font-size:11px;white-space:nowrap}h1{font-size:clamp(45px,11.6vw,70px);margin:24px 0 30px}.hero-grid{grid-template-columns:1fr;gap:30px}.intro h2{font-size:32px}.intro>p{font-size:16px}.current{grid-template-columns:1fr 1fr;margin-top:30px}.current>span:last-child{padding-left:14px;border-left:1px solid var(--line)}figure img{height:auto;max-height:430px;object-fit:cover}.company-list{font-size:24px;gap:18px 28px}.company-list .ipg{font-size:18px}.section{padding-top:60px;padding-bottom:60px}.about,.details{grid-template-columns:1fr;gap:32px}h2{font-size:34px;letter-spacing:-1.3px}.about-copy p.large{font-size:23px}.stats strong{font-size:38px}.stats span{font-size:11px}.role{grid-template-columns:1fr;gap:12px;padding:26px 0}.role p{grid-column:auto;font-size:15px}.period{display:flex;gap:15px;align-items:center}.tag{margin:0}.role h3{font-size:24px}.section-heading{margin-bottom:30px}.additional{gap:22px;font-size:12px}.learning{margin-top:12px}.contact{padding-top:55px}.contact h2{font-size:44px;letter-spacing:-1.5px}.contact-links{flex-direction:column;align-items:flex-start;gap:23px;padding-bottom:48px}.contact-links a{font-size:16px}footer{flex-wrap:wrap}footer>span:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* WMJ / connected identity */
body{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.nav{position:sticky;top:0;z-index:20;width:100%;height:88px;padding:0 6%;background:rgba(250,250,250,.82);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);transition:height .4s,box-shadow .4s}.nav.scrolled{height:70px;box-shadow:0 1px 0 #0000000a}.wordmark{display:inline-flex;align-items:center}.wordmark img{width:110px;height:auto;display:block}.hero-stage{position:relative;isolation:isolate;overflow:hidden}.hero-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.75}.hero{padding-top:48px}.hero h1{letter-spacing:-.075em;font-weight:450}.hero figure{overflow:hidden;border-radius:3px;will-change:transform}.hero figure img{transition:filter 1s;transform:scale(1.025);border-radius:0}.hero figure:hover img{filter:grayscale(25%)}.hero figcaption{position:relative;background:var(--paper);margin-top:0;padding:10px 0}.intro h2{letter-spacing:-1.4px}.current{padding-top:20px;border-top:1px solid #d9d9d9}.current strong{display:flex;align-items:center;gap:10px}.current strong img{width:91px;height:28px;object-fit:contain}.company-list{display:grid;grid-template-columns:repeat(6,1fr);gap:40px}.company-list>div{height:58px;display:flex;align-items:center;justify-content:center}.company-list img{max-width:100%;width:120px;max-height:40px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .4s,opacity .4s,transform .4s}.company-list img:hover{filter:none;opacity:1;transform:translateY(-3px)}.company-list .brand-riot{max-width:86px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--red);z-index:30;transform:scaleX(0);transform-origin:left;pointer-events:none}.about .section-label{align-self:start;position:sticky;top:140px}.experience{background:#151618;color:#f7f7f8;position:relative;overflow:hidden}.experience .muted,.experience .job,.experience .period,.experience .additional{color:#a5a5ac}.experience .role p{color:#b9b9c0}.experience .role,.experience .additional{border-color:#34353a}.experience .eyebrow{color:#bcbcc3}.career{position:relative;padding-left:25px}.career:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:#38393e}.career:after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(#ea4348,#f4adaf);transform:scaleY(var(--journey,0));transform-origin:top;box-shadow:0 0 12px #e9434850}.role{position:relative;transition:opacity .65s,transform .8s,background .4s}.role:before{content:"";position:absolute;left:-29px;top:36px;width:7px;height:7px;border-radius:50%;background:#676870;border:1px solid #151618;box-sizing:content-box;z-index:1;transition:background .6s,box-shadow .6s}.role.in-view:before{background:#e94348;box-shadow:0 0 12px #e9434860}.role:hover{background:#ffffff03}.tag{color:#f2767b}.expertise span{border-radius:5px;transition:background .3s,border-color .3s,transform .3s}.expertise span:hover{background:#fff;border-color:#aaa;transform:translateY(-3px)}.contact{position:relative;isolation:isolate;overflow:hidden;background:#101113}.contact-mark{position:absolute;width:75%;height:90%;object-fit:contain;right:-15%;top:12%;opacity:.075;filter:invert(1);pointer-events:none;z-index:-1}.contact h2 em{font-family:inherit;font-style:normal;letter-spacing:-.06em;background:linear-gradient(110deg,#fff 5%,#f5a3a7 55%,#ee4851);background-clip:text;-webkit-background-clip:text;color:transparent}.contact footer .wordmark img{filter:invert(1)}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}.motion-ready .reveal.in-view{opacity:1;transform:none}.contact-links a{transition:color .3s,border-color .3s}.contact-links a:hover{color:#f08b91;border-color:#f08b91}@media(max-width:850px){.company-list{gap:22px;grid-template-columns:repeat(3,1fr)}.about .section-label{position:static}}@media(max-width:600px){.nav{height:76px}.nav.scrolled{height:65px}.wordmark img{width:82px}.nav nav{gap:15px}.hero{padding-top:32px}.hero-stage canvas{opacity:.5}.company-list{gap:22px 26px}.company-list img{max-width:100px;max-height:32px}.company-list>div{height:40px}.career{padding-left:18px}.role:before{left:-22px}.contact-mark{width:130%;right:-40%;opacity:.06}.contact h2{font-size:clamp(36px,9vw,50px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero figure{transform:none!important}.hero figure img{transform:none}.career:after{transform:scaleY(1)}}

.company-list .brand-riot,.company-list .brand-ipg{width:54px;max-height:54px;max-width:54px;opacity:.9;border-radius:2px}.company-list .brand-riot{filter:grayscale(1)}
/* Cinematic motion, continuous neural field, full-color brand assets. */
#connections{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:1}header.nav{z-index:30}main{position:relative}.hero,.companies>.wrap,.about,.experience>.wrap,.details,.contact>.wrap{position:relative;z-index:2}.hero-stage{isolation:auto;overflow:visible}.hero{padding-bottom:100px}.hero h1{transform-origin:left center;will-change:transform}.hero figure{will-change:transform,clip-path;transform-origin:center;box-shadow:0 30px 90px #00000016}.hero figcaption{background:#fafafa}.companies{background:#fafafae8;position:relative;z-index:2}.company-list{gap:35px;align-items:center}.company-list>div{height:85px;overflow:hidden}.company-list img,.company-list img:hover,.company-list .brand-riot{filter:none!important;opacity:1!important}.company-list .brand-yahoo{width:150px;max-width:100%;height:80px;max-height:none;object-fit:contain;mix-blend-mode:multiply}.company-list .brand-twitch{width:150px;max-width:100%;height:85px;max-height:none;object-fit:cover;object-position:center}.company-list .brand-riot{width:82px;max-width:82px;height:82px;max-height:82px;clip-path:polygon(50% 6%,94% 50%,50% 94%,6% 50%);border-radius:0}.company-list .brand-ipg{width:150px;max-width:100%;height:85px;max-height:none;object-fit:contain;mix-blend-mode:multiply}.company-list .brand-amazon{width:140px;max-height:65px}.about-copy,.section-label,.details>div{background:linear-gradient(90deg,#fafafaf5,#fafafac0);border-radius:5px}.experience{background:#101216}.experience .section-heading{position:sticky;top:88px;z-index:4;background:linear-gradient(#101216 75%,#10121600);padding:22px 0 45px;margin-bottom:0}.career .role{min-height:46vh;align-content:center;padding:70px 0;will-change:transform,opacity;transform-origin:center}.career .role:before{top:50%}.role h3{font-size:clamp(28px,3vw,42px);letter-spacing:-1.4px}.role p{font-size:16px}.contact{min-height:80vh;display:flex;align-items:center}.contact .wrap{padding-top:40px}.contact-mark{animation:mark-drift 18s ease-in-out infinite alternate}.motion-ready .reveal{opacity:1;transform:none;transition:none}.cinematic{will-change:transform,opacity,filter}.hero .intro h2{animation:hero-in 1.5s cubic-bezier(.16,1,.3,1) both}.hero h1{animation:hero-in 1.2s cubic-bezier(.16,1,.3,1) both}.hero figure{animation:portrait-in 1.7s cubic-bezier(.16,1,.3,1) both}@keyframes hero-in{from{opacity:0;translate:0 55px;filter:blur(7px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes portrait-in{from{opacity:0;clip-path:inset(12% 8% 12% 8%);scale:.9}to{opacity:1;clip-path:inset(0);scale:1}}@keyframes mark-drift{from{transform:translate(-2%,2%) rotate(-3deg)}to{transform:translate(3%,-3%) rotate(3deg)}}@media(min-width:900px){.hero-stage{min-height:125vh}.hero{position:sticky;top:-30px;min-height:95vh}.company-list>div{height:100px}.company-list .brand-twitch{border-radius:5px}}@media(max-width:600px){.company-list{gap:12px 24px}.company-list .brand-twitch{height:66px}.company-list .brand-riot{width:72px;height:72px}.experience .section-heading{top:65px;padding:15px 0 25px}.experience .section-heading h2{font-size:30px}.career .role{min-height:58vh;padding:40px 0}.hero{padding-bottom:60px}.hero figure{box-shadow:0 18px 50px #00000018}.contact{min-height:65vh}}@media(prefers-reduced-motion:reduce){.cinematic,.hero h1,.hero figure,.hero .intro{transform:none!important;opacity:1!important;filter:none!important;clip-path:none!important}.career .role{min-height:0}.hero-stage{min-height:0}.hero{position:relative;top:auto}.contact-mark{animation:none}}

/* Transparent brand backgrounds and cinematic closing light field. */
.company-list .brand-yahoo,.company-list .brand-ipg,.company-list .brand-yahoo:hover,.company-list .brand-ipg:hover{filter:url(#white-to-transparent)!important;mix-blend-mode:normal;background:transparent}
.contact{background:radial-gradient(ellipse at 75% 75%,#251723 0%,#11131b 38%,#0c0d11 78%);min-height:90vh}
.contact h2{position:relative;z-index:2;text-shadow:0 3px 35px #0c0d11}
.contact .contact-links{position:relative;z-index:2}
.contact footer{margin-top:70px}
@media(max-width:600px){.contact{min-height:78vh}.contact footer{margin-top:35px}}

/* Full-color editorial portrait; original framing and details preserved. */
.hero figure{align-self:center;overflow:visible;border-radius:0;box-shadow:none;clip-path:none!important;animation:hero-in 1.5s cubic-bezier(.16,1,.3,1) both}
.hero figure img,.hero figure:hover img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1280/853;object-fit:contain;filter:none;transform:none;border-radius:24px;box-shadow:0 24px 65px -28px rgba(40,30,22,.34),0 3px 14px rgba(40,30,22,.06)}
.hero figcaption{background:transparent;padding-top:16px;color:#777;font-size:12px}
@media(max-width:600px){.hero figure img{border-radius:18px}.hero figure{margin-top:4px}}
