:root{--red:#ff0000;--ink:#101010;--paper:#fff;--line:2px solid var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--red);color:var(--ink);font-family:Georgia,'Times New Roman',serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #103eff;outline-offset:5px}::selection{background:#111;color:#fff}.page{width:min(920px,calc(100% - 64px));margin:0 auto}.skip{position:fixed;top:12px;left:12px;transform:translateY(-150%);background:#fff;padding:12px;z-index:10}.skip:focus{transform:none}nav{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid #111;font-family:Arial,sans-serif}nav a{text-decoration:none;font-size:12px;letter-spacing:.04em}nav>div{display:flex;gap:28px}nav a:hover{text-decoration:underline}.monogram{font-weight:900;font-size:24px;letter-spacing:-2px}.monogram span{font-size:9px;vertical-align:top;letter-spacing:0;margin-left:3px}.intro{display:flex;gap:34px;align-items:center;padding:52px 0 48px}.portrait{width:154px;height:155px;object-fit:contain;flex:none}.eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.6;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-weight:400;font-size:clamp(40px,5.4vw,66px);line-height:1.07;letter-spacing:-2.5px;margin-bottom:12px}.tagline{font-size:clamp(20px,2.5vw,28px);margin:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 19px}h2{font-size:clamp(36px,4.3vw,51px);font-weight:400;letter-spacing:-1.5px;line-height:1.14;margin:0}.section-index{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.1em;white-space:nowrap}section{margin-bottom:48px}.panel{background:var(--paper);border:var(--line)}.timeline-panel{padding:40px 40px 42px}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;display:grid;grid-template-columns:88px 1fr;gap:20px;margin-left:11px;padding:0 0 30px 35px}.timeline li:before{content:'';position:absolute;left:-7px;top:5px;width:15px;height:15px;border-radius:50%;background:var(--ink)}.timeline li:after{content:'';position:absolute;left:-1px;top:16px;bottom:-6px;width:3px;background:var(--ink)}.timeline li:last-child{padding-bottom:0}.timeline li:last-child:after{display:none}.timeline time{font-family:Arial,sans-serif;font-size:13px;font-weight:700;padding-top:5px;line-height:1.5}.timeline h3{font-size:22px;font-weight:400;margin:0 0 8px;line-height:1.2}.timeline p{font-family:Arial,sans-serif;font-size:15px;line-height:1.65;margin:0;color:#383838}.skills-panel{padding:15px 36px}.skills{padding:0;margin:0;list-style:none}.skills li{display:flex;align-items:center;gap:18px;padding:19px 0;font-size:22px;border-bottom:1px solid #dedede}.skills li:last-child{border:0}.skills li:before{content:'';width:9px;height:9px;background:#111;border-radius:50%;flex:none}.experience{font-family:Arial,sans-serif;font-size:12px;margin-left:auto;white-space:nowrap}.showcase-note{font-family:Arial,sans-serif;font-size:14px;line-height:1.6;padding:19px 26px;margin:0 0 20px}.project{padding:32px;margin-bottom:22px}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.project h3{font-size:34px;letter-spacing:-.7px;font-weight:400;line-height:1.15;margin:0}.project .eyebrow{font-size:10px;margin-bottom:7px}.project-year{font-family:Arial,sans-serif;font-size:12px;padding:7px 11px;border:1px solid #111}.project-description{font-family:Arial,sans-serif;font-size:14px;line-height:1.65;color:#444;max-width:650px;margin:16px 0 26px}.gallery{display:grid;gap:12px}.gallery a{display:block;overflow:hidden;background:#f1f1f1}.gallery img{display:block;width:100%;height:auto;transition:transform .3s}.gallery a:hover img{transform:scale(1.025)}.coin-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:590px;margin:0 auto}.coin-grid img{aspect-ratio:1;object-fit:contain;background:#252936}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.game-grid img{height:auto}.play-link{display:flex;align-items:center;gap:10px;width:max-content;margin:28px auto 0;padding:12px 18px;background:#111;color:#fff;text-decoration:none;font-family:Arial,sans-serif;font-size:22px;border:1px solid #111}.play-link svg{width:29px;height:29px}.play-link small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.play-link .arrow{margin-left:16px;font-size:23px}.play-link:hover{background:#fff;color:#111}.contact-panel{padding:29px 34px}.contact-intro{font-family:Arial,sans-serif;font-size:14px;line-height:1.6;margin-bottom:22px}.contact-panel>a{display:flex;align-items:center;gap:18px;font-size:clamp(17px,2.5vw,26px);text-decoration:none;padding:16px 0;border-top:1px solid #ddd}.contact-panel>a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}.contact-panel>a>span:not(.arrow){overflow-wrap:anywhere}.contact-panel>a:hover>span:not(.arrow){text-decoration:underline}.contact-panel .arrow{margin-left:auto}footer{display:flex;justify-content:space-between;gap:20px;padding:0 0 35px;font-family:Arial,sans-serif;font-size:12px}footer a{text-decoration:none}.type-char{opacity:0}.type-char.typed{opacity:1}.type-cursor{border-right:2px solid currentColor;animation:blink .65s step-end infinite}.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1)}.reveal-ready.is-visible{opacity:1;transform:none}@keyframes blink{50%{border-color:transparent}}
@media(min-width:1500px){.page{width:980px}.intro{padding-top:65px;padding-bottom:60px}}
@media(max-width:650px){.page{width:calc(100% - 32px)}nav{padding:18px 0}nav>div{gap:18px}.intro{gap:20px;padding:34px 0}.portrait{width:100px;height:101px}h1{font-size:40px;letter-spacing:-1.8px}.intro .eyebrow{font-size:8px;letter-spacing:.05em;margin-bottom:8px}.tagline{font-size:18px}.section-index{font-size:8px;letter-spacing:.04em}.section-heading{margin-bottom:15px}section{margin-bottom:34px}.timeline-panel{padding:27px 23px}.timeline li{display:block;padding-left:25px;padding-bottom:27px;margin-left:5px}.timeline time{display:block;font-size:11px;padding-top:4px;margin-bottom:8px}.timeline h3{font-size:21px}.timeline p{font-size:14px;line-height:1.6}.skills-panel{padding:8px 21px}.skills li{font-size:18px;gap:12px}.experience{font-size:10px}.project{padding:23px 20px}.project h3{font-size:28px}.project .eyebrow{font-size:8px;letter-spacing:.05em}.project-year{font-size:10px;padding:6px 8px}.project-description{font-size:13px}.coin-grid{gap:8px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact-panel{padding:23px 20px}.contact-panel>a{gap:12px}.contact-panel>a svg{width:18px;height:18px}footer{font-size:10px}.showcase-note{padding:17px 20px;font-size:13px}}
@media(max-width:380px){.intro{gap:14px}.portrait{width:78px;height:79px}h1{font-size:34px}.tagline{font-size:16px}.skills li{flex-wrap:wrap}.experience{margin-left:21px}.section-index{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.type-char{opacity:1}}
@media print{body{background:#fff}.page{width:100%}nav,.play-link,footer a{display:none}.intro{padding:10px 0 25px}section{break-inside:avoid}.reveal-ready{opacity:1;transform:none}.type-char{opacity:1}.type-cursor{border:0}h2{font-size:30px}.panel{border:1px solid #999}.project{break-inside:avoid}}
