@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#f7f7f2;--ink:#232520;--muted:#777b73;--line:#dddfd5;--panel:#e9ece3;--accent:#5e7356;--card:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}body.dark{--bg:#1c1e1a;--ink:#eceee5;--muted:#a2a799;--line:#393d32;--panel:#2b3027;--accent:#b6c6a5;--card:#262922}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{max-width:1440px;margin:auto;padding:29px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-size:21px;letter-spacing:-1px;font-weight:650}.wordmark span{font-size:10px;vertical-align:top;margin-left:3px}nav{display:flex;gap:32px;font-size:13px}.header-right{display:flex;gap:20px;align-items:center}#theme{border:0;background:none;font-size:25px;width:30px}.contact-pill{border:1px solid var(--line);padding:11px 19px;border-radius:30px;font-size:13px}.contact-pill span{margin-left:20px}main{max-width:1440px;margin:auto;padding:0 5%}.hero{min-height:660px;padding:100px 0 85px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.eyebrow{font-size:10px;font-weight:550;letter-spacing:1.5px;line-height:1.6;margin:0 0 25px;display:flex;align-items:center;gap:9px}.eyebrow i{display:inline-block;width:6px;height:6px;background:#7e936b;border-radius:50%}h1{font-size:clamp(40px,4.6vw,67px);font-weight:500;line-height:1.04;letter-spacing:-3.5px;margin:0 0 30px;white-space:nowrap}.period{color:var(--accent)}.intro{font-size:25px;line-height:1.4;letter-spacing:-.75px;margin:0 0 17px}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.support{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 30px}.text-link{font-size:12px;font-weight:550;display:inline-flex;align-items:center;gap:28px;border:0;border-bottom:1px solid var(--ink);padding:0 0 8px;background:none}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.hero-art{height:400px;position:relative;min-width:0;background:radial-gradient(ellipse,var(--panel),transparent 69%)}.art{position:absolute;object-fit:cover;width:52%;border-radius:5px;box-shadow:0 15px 40px #19211125;transition:transform .5s}.art-one{top:40px;left:3%;transform:rotate(-9deg);z-index:2}.art-two{top:0;right:0;transform:rotate(8deg)}.art-three{bottom:32px;right:9%;transform:rotate(-3deg);width:59%;z-index:3}.hero-art:hover .art-one{transform:rotate(-4deg) translateY(-6px)}.hero-art:hover .art-two{transform:rotate(4deg) translateY(-6px)}.hero-art:hover .art-three{transform:rotate(0) translateY(6px)}.orbit-label{position:absolute;left:7%;top:0;font-size:9px;letter-spacing:1px;color:var(--muted)}.art-note{position:absolute;bottom:-5px;left:11%;font-size:12px;color:var(--muted)}.art-note span{font-size:27px;margin-right:10px}.experience-strip{padding:27px 0 40px;border-top:1px solid var(--line);display:flex;gap:60px;align-items:center}.experience-strip p{font-size:9px;color:var(--muted);letter-spacing:1.3px}.experience-strip>div{font-size:17px;font-weight:650;letter-spacing:-.4px}.experience-strip span{margin:0 20px;color:#aaa;font-weight:400}.experience-strip .small{font-size:10px;margin:0 0 0 6px}.work-section,.play{padding-top:85px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:25px}.section-heading .eyebrow{margin-bottom:13px}h2{font-size:38px;line-height:1.14;font-weight:500;letter-spacing:-1.7px;margin:0}.muted{color:var(--muted);font-size:12px;padding-bottom:5px}.project{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;align-items:center;padding:0 0 80px;margin-bottom:50px;border-bottom:1px solid var(--line)}.project-visual{border:0;padding:45px 35px;min-height:380px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:5px;overflow:hidden}.atlas{background:#d9ddd2}.rainbow{background:#dce1e1}.project-visual img{width:100%;max-width:490px;border-radius:3px;box-shadow:0 16px 30px #14221925;transition:transform .5s}.project-visual:hover img{transform:scale(1.035)}.image-arrow{position:absolute;bottom:18px;right:18px;background:var(--bg);width:33px;height:33px;border-radius:50%;display:grid;place-items:center}.project-copy .eyebrow{margin-bottom:16px}h3{font-size:36px;font-weight:500;line-height:1.1;letter-spacing:-1.3px;margin:0 0 14px}.project-subtitle{font-size:17px;margin:0 0 18px;letter-spacing:-.3px}.description{font-size:13px;line-height:1.8;color:var(--muted);max-width:420px}.project-copy dl{font-size:11px;margin:25px 0}.project-copy dl div{display:grid;grid-template-columns:60px 1fr;margin:10px 0;gap:12px}dt{color:var(--muted)}dd{margin:0}.play{padding-top:25px}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.play-image{background:var(--panel);padding:28px;aspect-ratio:1.5;border-radius:5px;overflow:hidden}.play-image img{width:100%;height:100%;object-fit:cover;border-radius:3px;transition:transform .5s}.play-grid a:hover img{transform:scale(1.025)}.play-grid h3{font-size:19px;letter-spacing:-.5px;margin:19px 0 7px;display:flex;justify-content:space-between}.play-grid p{font-size:11px;color:var(--muted);margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:13%;margin-top:110px;padding:90px 0;border-top:1px solid var(--line)}.about h2{margin-bottom:27px}.about-body{font-size:20px;line-height:1.5;letter-spacing:-.5px}.about .text-link{margin-top:18px}.expertise{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;max-width:390px}.expertise span{font-size:10px;border:1px solid var(--line);padding:7px 11px;border-radius:25px}.timeline>div{padding:18px 0;border-bottom:1px solid var(--line);position:relative}.timeline>div>span{font-size:10px;color:var(--muted);display:block;margin-bottom:9px}.timeline h3{font-size:18px;letter-spacing:-.4px;margin-bottom:7px}.timeline p{font-size:12px;margin:0}.timeline small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.contact{border-top:1px solid var(--line);padding:90px 0 100px}.contact h2{font-size:clamp(50px,7vw,96px);letter-spacing:-4px;line-height:1.05;margin-bottom:35px}.contact h2>span{font-size:.7em;margin-left:25px}.email{font-size:20px;border-bottom:1px solid var(--ink);padding-bottom:5px;letter-spacing:-.5px}#copy{background:none;border:1px solid var(--line);border-radius:20px;font-size:10px;padding:8px 12px;margin-left:20px}#copy-status{font-size:11px;color:var(--accent);min-height:15px}footer{border-top:1px solid var(--line);max-width:1440px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>span{font-size:10px;color:var(--muted)}footer>div{display:flex;gap:22px;font-size:11px}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;width:min(850px,92vw);max-height:90vh;padding:30px 45px 45px}dialog::backdrop{background:#12180f99;backdrop-filter:blur(8px)}.close{display:block;margin-left:auto;background:none;border:0;padding:5px 0 22px;font-size:13px}dialog img{width:100%;max-height:370px;object-fit:contain;background:var(--panel);margin:20px 0}dialog h2{margin-top:15px}dialog p{font-size:14px;line-height:1.8}dialog .eyebrow{margin:0}.skip{position:fixed;top:-100px;left:15px;padding:15px;background:var(--card);z-index:20}.skip:focus{top:10px}button:hover,.contact-pill:hover{color:var(--accent)}
@media(min-width:1500px){.hero{min-height:740px}.hero-art{height:450px}}@media(max-width:900px){header,main,footer{padding-left:6%;padding-right:6%}.hero{gap:18px;min-height:590px;padding-top:75px}h1{font-size:43px;letter-spacing:-2.3px}.intro{font-size:20px}.hero-art{height:330px}.art-one{top:60px}.art-three{bottom:35px}.experience-strip{gap:25px}.experience-strip>div{font-size:13px}.experience-strip span{margin:0 9px}.project{gap:6%}.project-visual{min-height:330px;padding:20px}.project-copy h3{font-size:29px}.about{gap:8%}footer p{display:none}}
@media(max-width:620px){header{padding-top:20px;padding-bottom:20px;gap:12px}.wordmark{font-size:18px}nav{gap:17px;font-size:11px}nav a:last-child{display:none}.header-right{gap:6px}.contact-pill{display:none}#theme{font-size:23px}.hero{grid-template-columns:1fr;padding-top:64px;padding-bottom:40px;gap:35px}.eyebrow{font-size:9px}h1{font-size:clamp(35px,8.4vw,49px);letter-spacing:-2px;white-space:normal}.intro{font-size:22px}.hero-art{height:320px;max-width:440px;width:100%;margin:auto}.art-one{top:38px}.art-three{bottom:26px}.support{font-size:12px}.experience-strip{align-items:flex-start;flex-direction:column;gap:10px;padding-top:25px;padding-bottom:25px}.experience-strip p{margin:0}.experience-strip>div{font-size:12px}.experience-strip .small{display:none}.work-section{padding-top:55px}.section-heading{align-items:start;flex-direction:column;margin-bottom:30px;gap:16px}h2{font-size:31px;letter-spacing:-1.2px}.project{grid-template-columns:1fr;gap:28px;padding-bottom:40px;margin-bottom:40px}.project-visual{min-height:280px;padding:30px}.project-copy h3{font-size:32px}.description{max-width:none}.play-grid{gap:28px;grid-template-columns:1fr}.play-image{padding:24px}.about{grid-template-columns:1fr;margin-top:65px;padding:55px 0;gap:50px}.about-body{font-size:19px}.contact{padding:55px 0 50px}.contact h2{font-size:52px;letter-spacing:-2.5px}.contact h2>span{margin-left:5px}.email{font-size:19px}#copy{display:block;margin:20px 0 0}footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px}footer>div{gap:15px}footer>span{display:none}dialog{padding:20px 23px 30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Project showcase: two clear, independent title presentations. */
.hero{display:block;padding:76px 0 45px;min-height:0}.hero-copy{position:relative;max-width:none}.hero-copy h1{font-size:clamp(45px,5vw,72px);max-width:750px}.hero-copy .intro{position:absolute;left:64%;top:50px;font-size:23px;max-width:340px}.hero-copy .support{position:absolute;left:64%;top:160px;max-width:340px}.hero-copy>.text-link{margin-top:4px}.hero-art{height:auto;background:none;margin-top:58px;width:100%;max-width:none}.showcase-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-bottom:17px}.title-showcase{display:grid;grid-template-columns:1fr 1fr;gap:24px}.title-card{padding:0;text-align:left;background:none;border:0;min-width:0;color:var(--ink)}.title-cover{position:relative;aspect-ratio:1.65;background:#131b1b;border-radius:5px;overflow:hidden}.title-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.title-atlas .title-cover img{object-position:center 46%}.title-rainbow .title-cover img{object-position:center 46%}.title-card:hover img{transform:scale(1.035)}.title-view{position:absolute;right:18px;bottom:18px;background:#f7f7f2;color:#232520;border-radius:25px;padding:10px 15px;font-size:10px;box-shadow:0 3px 15px #0002}.title-caption{display:flex;justify-content:space-between;align-items:center;padding:19px 0 0;gap:8px}.title-caption h2{font-size:23px;letter-spacing:-.7px}.title-caption p{font-size:11px;color:var(--muted);margin:7px 0 0}.title-caption>span{font-size:23px}.additional-credits{display:flex;gap:23px;flex-wrap:wrap;font-size:9px;letter-spacing:1px;color:var(--muted);align-items:center;border-top:1px solid var(--line);padding-top:23px;margin:30px 0 0}.additional-credits span{font-size:13px;letter-spacing:-.2px;color:var(--ink)}
dialog.full-case{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0;padding:0;background:#0b1113;color:#e7eaea;overflow:hidden}dialog.full-case #dialog-content{height:100%;display:flex;flex-direction:column}.case-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;background:#11191b;border-bottom:1px solid #ffffff20;z-index:1}.case-kicker{display:block;font-size:8px;letter-spacing:1.6px;color:#9caaad;margin-bottom:5px}.case-toolbar strong{font-size:15px;font-weight:500}.case-controls{display:flex;align-items:center;gap:12px;font-size:12px}.case-controls button,.case-controls a{padding:9px 14px;border:1px solid #ffffff30;border-radius:30px;background:none;color:#e7eaea;white-space:nowrap}.case-controls .close{display:inline-block;margin:0;padding:9px 14px}.case-scroll{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-color:#5b686a #11191b;touch-action:pan-x pan-y;min-height:0}.full-case img.case-image{display:block;width:100%;max-width:1920px;height:auto;max-height:none;object-fit:initial;margin:0 auto;background:none}.case-scroll.zoomed img.case-image{width:1920px;max-width:none;margin:0}.case-end{text-align:center;padding:55px 20px 65px;border-top:1px solid #ffffff20;min-width:280px}.case-end p{font-size:25px}.case-end a{display:block;color:#b5c8bb;font-size:14px}.case-back{background:none;color:#e7eaea;border:1px solid #ffffff30;border-radius:30px;padding:12px 22px;margin-top:28px}
@media(max-width:900px){.hero-copy .intro{font-size:19px;left:62%;max-width:270px}.hero-copy .support{left:62%;top:140px;font-size:11px}.hero-copy h1{font-size:47px}.title-caption h2{font-size:20px}.hero{padding-top:60px}}
@media(max-width:620px){.hero{padding-top:50px}.hero-copy h1{font-size:clamp(35px,8.4vw,49px)}.hero-copy .intro,.hero-copy .support{position:static;max-width:none}.hero-copy .intro{font-size:22px}.hero-copy .support{font-size:12px}.hero-art{margin-top:42px}.title-showcase{grid-template-columns:1fr;gap:28px}.title-cover{aspect-ratio:1.5}.title-caption{padding-top:13px}.title-caption h2{font-size:23px}.additional-credits{gap:13px 20px;font-size:8px}.additional-credits span{font-size:11px}.case-toolbar{padding:12px;gap:10px;flex-wrap:wrap}.case-toolbar strong{font-size:13px}.case-kicker{font-size:7px}.case-controls{gap:6px;font-size:10px}.case-controls button,.case-controls a,.case-controls .close{padding:8px 10px}.case-controls{margin-left:auto}.case-toolbar>div:first-child{width:100%}.case-scroll.zoomed img.case-image{width:1200px}.full-case img.case-image{width:100%}}

/* Bounded, quiet case viewer. */
dialog.full-case{background:transparent;width:min(1120px,calc(100vw - 80px));max-width:1120px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);inset:16px 0;margin:0 auto;border-radius:6px;box-shadow:0 20px 90px #0005}dialog.full-case::backdrop{background:#080b0de6;backdrop-filter:blur(3px)}.full-case .case-toolbar{padding:12px 20px;background:#111719;gap:15px}.full-case .case-toolbar strong{font-size:13px}.full-case .case-controls{gap:9px;font-size:11px}.full-case .case-controls a,.full-case .case-controls .close{padding:7px 12px}.full-case .case-scroll{background:#0b1113}.full-case img.case-image{width:100%;max-width:1120px;height:auto}.full-case .case-toolbar>div:first-child{width:auto}
@media(max-width:620px){dialog.full-case{width:100vw;height:100dvh;max-height:100dvh;inset:0;border-radius:0}.full-case .case-toolbar{flex-wrap:nowrap;padding:12px;gap:8px}.full-case .case-toolbar strong{font-size:11px}.full-case .case-controls{gap:6px;font-size:10px}.full-case .case-controls a,.full-case .case-controls .close{padding:7px 9px}}

/* Quiet scrollbar and a small first-scroll cue. */
.full-case .case-scroll{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}.full-case .case-scroll::-webkit-scrollbar{width:4px;height:4px}.full-case .case-scroll::-webkit-scrollbar-track{background:transparent}.full-case .case-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:8px}.full-case .case-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff50}.scroll-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:10px;pointer-events:none;padding:10px 16px;border:1px solid #ffffff18;border-radius:30px;background:#111719e6;color:#d7dedf;font-size:11px;letter-spacing:.3px;transition:opacity .25s,visibility .25s;box-shadow:0 4px 20px #0003}.scroll-hint.is-hidden{opacity:0;visibility:hidden}.mouse-icon{display:block;width:16px;height:24px;border:1.3px solid #c4cdcf;border-radius:10px;position:relative}.mouse-icon>span{position:absolute;left:50%;top:5px;width:2px;height:5px;border-radius:2px;background:#c4cdcf;transform:translateX(-50%);animation:scroll-wheel 1.8s ease-in-out infinite}@keyframes scroll-wheel{0%,100%{transform:translate(-50%,0);opacity:.6}50%{transform:translate(-50%,4px);opacity:1}}@media(prefers-reduced-motion:reduce){.mouse-icon>span{animation:none}}
/* Use WebKit styling without the standard properties overriding the track. */
dialog.full-case .case-scroll{color-scheme:dark;scrollbar-width:auto;scrollbar-color:auto}
dialog.full-case .case-scroll::-webkit-scrollbar{width:5px;height:5px;background:transparent}
dialog.full-case .case-scroll::-webkit-scrollbar-track,dialog.full-case .case-scroll::-webkit-scrollbar-track-piece{background:transparent;box-shadow:none;border:none}
dialog.full-case .case-scroll::-webkit-scrollbar-thumb{background:rgba(200,213,216,.23);border-radius:10px;border:0;box-shadow:none}
dialog.full-case .case-scroll::-webkit-scrollbar-thumb:hover{background:rgba(200,213,216,.38)}
dialog.full-case .case-scroll::-webkit-scrollbar-corner{background:transparent}
@supports not selector(::-webkit-scrollbar){dialog.full-case .case-scroll{scrollbar-width:thin;scrollbar-color:rgba(200,213,216,.23) transparent}}

.header-email,.header-linkedin{font-size:12px;white-space:nowrap}.header-email:hover,.header-linkedin:hover{color:var(--accent)}.header-right{gap:20px}
@media(max-width:900px){header{flex-wrap:wrap}.header-right{gap:16px}.header-email,.header-linkedin{font-size:11px}}
@media(max-width:620px){header{justify-content:space-between}.header-right{width:100%;display:flex;gap:18px;padding-top:8px}.header-email{font-size:12px}.header-linkedin{font-size:12px;margin-left:auto}#theme{order:3;width:24px;font-size:22px}}
/* Edge-to-edge imagery across portfolio cards. */
.project-visual{padding:0;min-height:0;aspect-ratio:1.28;background:transparent;display:block}
.project-visual img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;box-shadow:none}
.play-image{padding:0;background:transparent}
.play-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.title-cover{background:transparent}
#project-dialog:not(.full-case)>#dialog-content>img{display:block;width:100%;object-fit:cover;background:transparent}
@media(max-width:900px){.project-visual{padding:0;min-height:0}}
@media(max-width:620px){.project-visual{padding:0;min-height:0;aspect-ratio:1.28}.play-image{padding:0}}
/* Compact explorations in one desktop row. */
.play-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.play-grid h3{font-size:16px;line-height:1.3;margin-top:14px;letter-spacing:-.35px;gap:8px}
.play-grid p{font-size:10px;line-height:1.5}
@media(max-width:900px){.play-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}}
@media(max-width:620px){.play-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.play-grid h3{font-size:14px}.play-grid p{font-size:9px}}
/* Cool blue accent in place of sage green. */
:root{--accent:#466f9f}
body.dark{--accent:#9cbce5}
.eyebrow i{background:var(--accent)}

.full-case .case-scroll{font-size:0;line-height:0}.full-case img.case-image{display:block;margin:0 auto;padding:0;border:0;border-radius:0;vertical-align:top}

.logo-credits{display:flex;align-items:center;gap:38px;padding:22px 0 2px}.additional-credits .credits-label{font-size:9px;letter-spacing:1px;color:var(--muted);margin:0}.game-logos{display:flex;gap:38px;align-items:center}.brand-item{display:flex;align-items:center;justify-content:center}.brand-item img{display:block;object-fit:contain}.skull-logo img{width:86px;height:49px}.f1-logo{gap:7px}.f1-logo img{width:48px;height:27px;filter:brightness(0)}.additional-credits .f1-logo>span{font-size:17px;font-weight:650;font-style:italic;letter-spacing:-1px;margin:0}.mk-logo{flex-direction:column;gap:4px}.mk-logo img{width:114px;height:18px;filter:brightness(0)}.additional-credits .mk-logo>span{font-size:7px;letter-spacing:3px;margin:0}.company-logos{display:flex;gap:48px;align-items:center}.experience-strip .company-logo{display:flex;align-items:center;justify-content:center;margin:0}.company-logo img{display:block;object-fit:contain;filter:brightness(0)}.krafton-logo img{width:112px;height:24px}.pubg-logo img{width:62px;height:45px}.sperasoft-logo img{width:120px;height:35px}.skull-logo img{filter:brightness(0)}body.dark .brand-item img,body.dark .company-logo img{filter:brightness(0) invert(1)}
@media(max-width:620px){.logo-credits{gap:16px;align-items:flex-start;flex-direction:column}.game-logos{gap:28px;justify-content:space-between;width:100%}.skull-logo img{width:75px;height:42px}.mk-logo img{width:98px}.f1-logo img{width:38px}.additional-credits .f1-logo>span{font-size:14px}.company-logos{gap:28px;width:100%;justify-content:space-between}.krafton-logo img{width:95px}.pubg-logo img{width:52px;height:40px}.sperasoft-logo img{width:100px}}

.f1-logo img{width:82px;height:42px;object-fit:contain}@media(max-width:620px){.f1-logo img{width:65px;height:34px}}

.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.project-tags>span{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:6px 10px;font-size:10px;font-weight:400;line-height:1.35;letter-spacing:0;color:var(--muted)}.title-caption{align-items:flex-start}.title-caption>span{padding-top:2px}@media(max-width:620px){.project-tags{gap:6px;margin-top:10px}.project-tags>span{font-size:9px;padding:5px 9px}}

footer .footer-credit{display:block;font-size:12px;color:var(--muted);margin:0;letter-spacing:0;font-weight:400}
.scroll-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.scroll-reveal.is-revealed{opacity:1;transform:translateY(0)}


.scroll-reveal{transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)!important}
