@font-face{font-family:Inter;src:url('assets/inter.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#161616;background:#fff;font-synthesis:none;--line:#e6e6e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #505050;outline-offset:5px}h1,h2,h3,p{margin:0;font-weight:400}.page-rules{position:absolute;z-index:-1;inset:0 auto 0 50%;transform:translateX(-50%);width:822px;min-height:100%;border-inline:1px solid #eee;pointer-events:none}body{position:relative}header{padding-top:37px}.dock{display:flex;align-items:center;gap:2px;border:1px solid #dedede;border-radius:23px;padding:5px;width:max-content;margin:auto;background:#fff}.icon-button{border:0;background:transparent;width:60px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative}.icon-button:hover,.icon-button:focus-visible{background:#efefef}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button svg .solid{fill:currentColor;stroke:none}.divider{height:22px;width:1px;background:#e5e5e5;margin:0 8px}.contact{padding:14px 25px;border-radius:15px;background:#191919;color:#fff;font-size:16px;transition:background .2s}.contact:hover{background:#444}.tip{position:relative}.tooltip{pointer-events:none;position:absolute;z-index:5;left:50%;top:calc(100% + 12px);transform:translate(-50%,-3px);padding:6px 13px;border-radius:7px;background:#1c1c1c;color:white;font-size:12px;line-height:1;white-space:nowrap;opacity:0;transition:opacity .15s,transform .15s}.tip:hover .tooltip,.tip:focus-visible .tooltip{opacity:1;transform:translate(-50%,0)}.column{width:510px;margin-inline:auto}.hero{padding-top:63px}.portrait{display:block;border-radius:50%;object-fit:cover;margin-bottom:25px}.hero h1{font-size:42px;letter-spacing:-1.8px;line-height:1.2;white-space:nowrap}.role{font-size:30px;letter-spacing:-1.1px;line-height:1.4;color:#999;white-space:nowrap}.intro{font-size:15px;line-height:22px;color:#555;margin-top:23px;width:580px;letter-spacing:.1px}.carousel{position:relative;overflow:hidden;margin-top:55px;padding:0 0 24px;width:100%}.marquee{display:flex;width:max-content;animation:drift 95s linear infinite;transform:translateX(-200px)}.marquee-group{display:flex;gap:36px;padding-right:36px}.carousel-card{position:relative;background:#fafafa;border:1px solid #f0f0f0;border-radius:22px;width:402px;padding:20px 24px 18px;flex-shrink:0}.carousel-card:before,.carousel-card:after{content:'';position:absolute;inset:12px 14px auto auto;width:5px;height:5px;border-radius:50%;background:#e1e1e1;box-shadow:-368px 0 #e1e1e1}.carousel-card:after{top:auto;bottom:14px}.carousel-card img,.carousel-art{width:352px;height:347px;display:block;object-fit:cover;border-radius:12px;box-shadow:0 9px 11px #0002}.carousel-card figcaption{font-size:14px;text-align:center;color:#666;padding-top:20px;white-space:nowrap}.carousel-card{margin:0}.carousel-art{display:flex;flex-direction:column;justify-content:space-between;padding:26px;background:linear-gradient(145deg,#263a3f,#15292e);color:#fff}.carousel-art b{font-size:38px;font-weight:400;letter-spacing:-2px;line-height:1.05}.carousel-art small{font-size:11px;letter-spacing:1px;opacity:.7}.carousel-art.orange{background:radial-gradient(ellipse at 90% 0%,#fdac4a,#62351c 45%,#231d1a)}.carousel-art.blue{background:linear-gradient(135deg,#9af0f4,#297ec2)}.carousel-art.red{background:linear-gradient(145deg,#e9cec3,#9b5049)}.carousel-art.green{background:linear-gradient(145deg,#7d8a77,#2c4a3e)}.carousel-art.violet{background:linear-gradient(145deg,#7f72db,#29215e)}.pause{position:absolute;bottom:0;right:24px;border:1px solid var(--line);background:white;border-radius:50%;width:25px;height:25px;font-size:11px;color:#666;opacity:0;transition:opacity .2s}.carousel:hover .pause,.carousel:focus-within .pause{opacity:1}.carousel.paused .marquee{animation-play-state:paused}@keyframes drift{from{transform:translateX(-200px)}to{transform:translateX(calc(-50% - 200px))}}.about{margin-top:79px}.about h2,.experience h2{font-size:22px;letter-spacing:-.65px;line-height:1.3}.about p{font-size:15px;line-height:22.5px;color:#555;letter-spacing:.05px;margin-top:16px}.about p+p{margin-top:22px}.about .tools-heading{margin-top:21px}.tools{display:flex;width:582px;margin:16px 0 0 -36px;border:1px solid #dedede;border-radius:22px;padding:4px 8px;justify-content:space-between;gap:1px}.tool{border:0;background:none;flex:1;min-width:0;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;padding:0}.tool:hover,.tool:focus-visible{background:#eee}.tool img{width:28px;height:28px;object-fit:contain;border-radius:5px;mix-blend-mode:multiply}.tool:nth-child(4) img{width:33px;height:33px}.projects{margin-top:98px}.projects>h2{text-align:center;font-size:30px;letter-spacing:-1px;white-space:nowrap;margin-bottom:47px}.project-card{border:1px solid #dedede;border-radius:25px;padding:15px;margin-bottom:30px;overflow:hidden}.project-cover{width:100%;aspect-ratio:478/358;object-fit:cover;border-radius:19px;display:block;transition:filter .25s}.project-card:hover .project-cover{filter:brightness(1.025)}.project-body{padding:24px 20px 16px}.project-body h3{font-size:22px;letter-spacing:-.7px;line-height:1.2}.project-body p{font-size:15px;line-height:22px;color:#555;margin-top:20px}.view-project{display:inline-flex;align-items:center;gap:12px;border:0;background:#f3f3f3;padding:14px 24px;border-radius:15px;margin-top:18px;font-size:15px;transition:background .2s}.view-project:hover{background:#e9e9e9}.view-project span{font-size:22px;line-height:12px}.experience{margin-top:110px;padding-bottom:200px}.experience h2{margin-bottom:36px}.job{display:flex;align-items:center;gap:24px;font-size:14px;min-height:51px}.dates{color:#aaa;width:135px;flex-shrink:0;font-size:14px}.company{font-size:13px;border-radius:7px;padding:8px 10px;margin-left:5px;white-space:nowrap}.gravitas{background:#e5efff;color:#215ec8}.creme{background:#f0f0ed}.banyan{background:#eff6e3;color:#5d7d2e}dialog{border:1px solid #ddd;border-radius:24px;padding:30px;max-width:720px;width:calc(100% - 32px);max-height:90vh;color:#171717}dialog::backdrop{background:#0006;backdrop-filter:blur(5px)}.close{position:sticky;float:right;top:0;width:36px;height:36px;border:0;border-radius:50%;background:#eee;font-size:26px;z-index:2}dialog img{width:100%;border-radius:14px;margin:16px 0 24px}dialog h2{font-size:27px;margin-top:20px;padding-right:30px;letter-spacing:-.8px}dialog p{color:#555;line-height:1.6;margin-top:16px}dialog a{display:inline-block;text-decoration:underline;margin-top:20px}.note{font-size:13px;color:#888}
@media(min-width:1600px){.page-rules{width:960px}}@media(max-width:850px){.page-rules{width:calc(100% - 40px)}.hero{padding-top:64px}.intro{width:100%}.hero h1{font-size:39px}.role{font-size:27px}.carousel{margin-top:50px}.column{width:min(510px,calc(100% - 88px))}.tools{width:calc(100% + 32px);margin-left:-16px}.tool{height:46px}.tool img{width:25px;height:25px}.tool:nth-child(4) img{width:29px;height:29px}.projects>h2{font-size:27px}.job{gap:16px;font-size:12px}.dates{width:100px;font-size:12px}.company{font-size:11px;padding:7px}.experience{padding-bottom:120px}}@media(max-width:540px){header{padding-top:24px}.dock{gap:0;padding:4px;border-radius:21px}.icon-button{width:45px;height:46px}.divider{margin:0 5px;height:20px}.contact{padding:13px 19px;font-size:14px}.column{width:calc(100% - 64px)}.page-rules{width:calc(100% - 24px)}.hero{padding-top:60px}.portrait{width:82px;height:82px;margin-bottom:23px}.hero h1{font-size:34px;letter-spacing:-1.4px}.role{font-size:20px;letter-spacing:-.7px;white-space:normal;margin-top:5px}.intro{font-size:14px;line-height:22px;margin-top:24px}.carousel-card{width:292px;padding:17px 18px 15px}.carousel-card img,.carousel-art{width:254px;height:254px}.carousel-art b{font-size:31px}.carousel-card figcaption{font-size:10px;padding-top:17px}.marquee-group{gap:20px;padding-right:20px}.carousel-card:before,.carousel-card:after{box-shadow:-261px 0 #e1e1e1}.pause{opacity:1}.about{margin-top:58px}.about h2{font-size:21px}.about p{font-size:14px;line-height:22px}.tools{padding:6px 5px;gap:0;width:calc(100% + 16px);margin-left:-8px;border-radius:16px}.tool{height:33px;border-radius:9px}.tool img,.tool:nth-child(4) img{width:21px;height:21px}.tool .tooltip{font-size:11px;padding:6px 8px}.projects{margin-top:81px}.projects>h2{font-size:23px;letter-spacing:-.8px;white-space:normal;margin-bottom:32px}.project-card{border-radius:21px;padding:10px;margin-bottom:24px}.project-cover{border-radius:13px}.project-body{padding:21px 12px 13px}.project-body h3{font-size:19px;letter-spacing:-.5px}.project-body p{font-size:13px;line-height:20px;margin-top:15px}.view-project{padding:12px 18px;font-size:13px;border-radius:12px;margin-top:17px}.experience{margin-top:75px}.experience h2{font-size:21px;margin-bottom:25px}.job{align-items:flex-start;gap:12px;padding-block:12px}.dates{width:90px;font-size:11px;padding-top:3px}.job>span:last-child{line-height:1.8}.company{display:inline-block;padding:3px 7px;margin-left:0;margin-top:2px}.tooltip{top:calc(100% + 10px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee{animation:none}.carousel{overflow-x:auto}.marquee-group[aria-hidden]{display:none}.pause{display:none}*{transition:none!important}}

/* Supplied square campaign artwork and original company marks. */
.carousel-card img{height:auto;aspect-ratio:1;object-fit:contain;border-radius:12px}
.company{display:inline-flex;align-items:center;gap:5px;vertical-align:middle}
.company img{display:block;object-fit:contain;flex-shrink:0}
@media(max-width:540px){.carousel-card img{height:auto;aspect-ratio:1}.company{display:inline-flex}}
