:root{--paper:#f7f5ee;--ink:#243d34;--muted:#5d695f;--accent:#a54931;--line:#d9ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}.wrap{width:min(1180px,88%);margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:29px 0;border-bottom:1px solid var(--line)}.wordmark{font-size:22px;font-weight:700;letter-spacing:-.8px;text-decoration:none}.dot{color:var(--accent)}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a{text-decoration:none}.nav-contact{border-bottom:1px solid}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:75px;padding-top:92px;padding-bottom:100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,.project h3,.aside-title,.story-pull{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(48px,5.1vw,72px);line-height:1.08;letter-spacing:-2.8px;margin-bottom:27px}em{color:var(--accent);font-weight:400}.intro{max-width:515px;color:var(--muted);font-size:19px;line-height:1.65}.actions{display:flex;align-items:center;gap:29px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:32px;background:var(--ink);color:white;padding:14px 23px;border-radius:5px;text-decoration:none;font-size:14px}.button:hover{background:#35594b;color:white}.text-link{font-size:14px;font-weight:600}.location{font-size:12px;color:var(--muted);margin-top:42px;margin-bottom:0}.location span{margin:0 10px;color:#a1a89c}.hero-aside{position:relative;align-self:stretch;background:#e9ede4;border-radius:150px 150px 12px 12px;padding:35px 36px 25px;display:flex;flex-direction:column;justify-content:flex-end}.motif{position:relative;height:205px;margin:5px 0 30px}.orbit{position:absolute;width:160px;height:160px;left:50%;top:20px;border:1px solid #718572;border-radius:50%;transform:translateX(-50%)}.two{transform:translateX(-50%) rotate(55deg) scaleX(.42)}.three{transform:translateX(-50%) rotate(-55deg) scaleX(.42)}.spark{position:absolute;left:calc(50% + 53px);top:9px;font-size:53px;color:var(--accent);background:#e9ede4;line-height:1}.aside-label{font-size:9px;letter-spacing:1.5px;font-weight:bold}.aside-title{font-size:27px;line-height:1.35;margin-bottom:28px}.currently{font-size:12px;text-decoration:none;padding-top:17px;border-top:1px solid #c8d1c4;display:flex;gap:9px;align-items:center}.status-dot{width:7px;height:7px;border-radius:50%;background:#527c50}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}h2{font-size:clamp(34px,3.3vw,46px);line-height:1.17;letter-spacing:-1.5px;margin-bottom:0}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{font-size:14px;color:var(--muted);margin:0}.work{padding-top:42px;border-top:1px solid var(--line);padding-bottom:90px}.project{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:25px 0 65px;align-items:center}.project+.project{padding-top:65px;border-top:1px solid var(--line)}.project-art{border-radius:12px;overflow:hidden}.tavern{background:#fffaf0;display:flex;flex-direction:column;align-items:center;padding:22px 20px}.tavern>img{width:85%;height:auto;mix-blend-mode:multiply}.tavern>img.tavern-icon{width:61%;margin-top:-18px}.project-copy .eyebrow{font-size:10px;margin-bottom:17px}.project h3{font-size:37px;line-height:1.18;letter-spacing:-1px;margin-bottom:23px}.project-copy p{font-size:15px;color:var(--muted)}.project-copy strong{color:var(--ink);font-weight:600}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.tags span{font-size:10px;border:1px solid #cbd3c8;border-radius:30px;padding:4px 11px}.game{background:#e3e9de;padding:45px 25px 25px;display:flex;flex-direction:column;justify-content:center;min-height:365px}.game>img{width:100%;height:auto;border-radius:5px;box-shadow:0 12px 35px #213d3420}.game-caption{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.5px;margin-top:30px}.steam{display:inline-block;margin-top:18px}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:23px}summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;padding:13px 0;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}.detail-content{padding:4px 0 15px}.detail-content a{font-size:13px}.story{background:#e9ede4;padding:90px 0}.story-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:95px}.story-pull{font-size:26px;line-height:1.55;margin-top:47px}.story-body p{font-size:16px;color:#455a4e;margin-bottom:23px}.now{display:grid;grid-template-columns:1fr 1.13fr;gap:95px;padding-top:95px;padding-bottom:100px}.muted{color:var(--muted);font-size:14px;margin-top:25px}.now-list>div{display:flex;gap:24px;padding:0 0 25px;margin-bottom:24px;border-bottom:1px solid var(--line)}.number{font-size:11px;color:var(--accent);padding-top:5px}.now-list h3{font-size:18px;font-weight:500;margin-bottom:5px}.now-list p{font-size:14px;color:var(--muted);margin:0}.contact{background:var(--ink);color:var(--paper);padding:75px 0 85px}.contact h2{font-size:clamp(42px,5vw,62px)}.contact p:not(.eyebrow){color:#ccd6ca;margin:25px 0}.contact .eyebrow{color:#d8bd8a}.light{background:var(--paper);color:var(--ink)}.contact a:hover{color:#e8c47f}.light:hover{background:#e4e8da;color:var(--ink)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:33px 0;font-size:12px}footer span{color:var(--muted)}footer .wordmark{font-size:18px}.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}@media(min-width:1500px){.hero{padding-top:110px;padding-bottom:110px}}@media(max-width:900px){.hero{gap:35px}.hero-aside{padding:25px}.hero h1{font-size:53px}.project{gap:35px}.story-grid,.now{gap:45px}.project h3{font-size:31px}.game-caption{flex-direction:column}}@media(max-width:650px){.wrap{width:88%}header{flex-wrap:wrap;gap:17px;padding:22px 0}nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.hero{grid-template-columns:1fr;padding:55px 0 60px;gap:35px}h1,.hero h1{font-size:49px;letter-spacing:-2px}.intro{font-size:17px}.hero-aside{border-radius:12px;padding:25px 28px;min-height:225px}.motif{position:absolute;right:0;top:25px;width:120px;height:140px;opacity:.45}.orbit{width:90px;height:90px;top:20px}.spark{font-size:30px;left:85px;top:13px}.aside-title{font-size:24px;position:relative}.aside-label{font-size:8px;position:relative}.currently{width:100%}.section-heading{display:block}.section-heading>p{margin-top:20px}.project{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.project+.project{padding-top:40px}.project h3{font-size:34px}.project-art{max-height:440px}.tavern{padding:10px 35px}.game{min-height:260px}.game-caption{flex-direction:row;font-size:8px}.story{padding:55px 0}.story-grid,.now{grid-template-columns:1fr;gap:30px}.story-pull{margin-top:25px;font-size:23px}.now{padding:55px 0}.work{padding-bottom:35px}.contact{padding:55px 0}.contact p br{display:none}footer{flex-wrap:wrap;padding:28px 0}footer>span{order:3;width:100%;font-size:11px}.actions{gap:22px}.button{padding:13px 19px}.text-link{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.game-title{padding:10px 15px 25px}.game-title>span{font-size:9px;letter-spacing:1.2px}.game-title strong{display:block;font:48px/1.1 Georgia,serif;letter-spacing:-1.5px;margin:25px 0}.game-title p{font-size:13px;color:var(--muted)}
/* Palette studies and personal photography */
:root{--surface:#e9ede4;--feature:#fff0db;--contact-muted:#dbe4d8;--contact-accent:#f3d295}
:root[data-theme="ink"]{--paper:#faf5ed;--ink:#203558;--muted:#526077;--accent:#b13d32;--line:#d8dbe2;--surface:#e5ecf5;--feature:#f9dfc9;--contact-muted:#dde6f5;--contact-accent:#ffb6a0}
:root[data-theme="plum"]{--paper:#fff8f1;--ink:#542d4e;--muted:#715c6d;--accent:#ab442b;--line:#e1d3df;--surface:#ecdfea;--feature:#ffe3c4;--contact-muted:#f0e1ed;--contact-accent:#ffca9c}
:root[data-theme="teal"]{--paper:#f7f7ed;--ink:#124e51;--muted:#496869;--accent:#97600b;--line:#ccdcda;--surface:#d6eae6;--feature:#f7e5b5;--contact-muted:#d9efeb;--contact-accent:#f8d17a}
.hero-aside,.story,.game{background:var(--surface)}.story-body p{color:var(--muted)}.contact p:not(.eyebrow){color:var(--contact-muted)}.contact .eyebrow{color:var(--contact-accent)}.button:hover{background:var(--accent)}.light:hover{background:var(--surface);color:var(--ink)}.contact a:hover{color:var(--contact-accent)}.contact .light:hover{color:var(--ink)}.tags span,details,.currently,.now-list>div{border-color:var(--line)}
.palette-bar{display:flex;gap:20px;align-items:center;padding-top:18px;font-size:11px}.palette-bar>span{text-transform:uppercase;letter-spacing:1px;white-space:nowrap;color:var(--muted)}.palette-bar>div{display:flex;flex-wrap:wrap;gap:8px}.palette-bar button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:30px;padding:7px 12px;cursor:pointer;display:flex;gap:7px;align-items:center}.palette-bar button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.palette-bar i{width:11px;height:11px;border-radius:50%;display:inline-block;border:1px solid #ffffff80}.palette-bar button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hero{padding-top:58px;gap:65px}.hero-aside{border-radius:14px;padding:20px 25px 22px;justify-content:start}.headshot{display:block;width:100%;height:260px;object-fit:cover;object-position:center 26%;border-radius:8px;margin:0 0 21px}.aside-label{margin-bottom:10px}.aside-title{font-size:24px;margin-bottom:18px}.currently{display:block;padding-top:13px}.currently>p{font-size:10px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;margin:0 0 7px}.currently ul{margin:0;padding-left:17px;line-height:1.9}.currently li::marker{color:var(--accent)}
.tavern{background:var(--feature);gap:0;padding:24px 30px 35px;min-height:420px}.tavern>img{mix-blend-mode:normal;width:100%;height:auto}.tavern>img.tavern-icon{width:65%;margin-top:-15px}.childhood{margin:30px 0 0;transform:rotate(-2deg);background:var(--paper);padding:10px 10px 15px;box-shadow:0 9px 25px #00000012;border-radius:4px}.photo-wrap{position:relative}.photo-wrap>img{display:block;width:100%;height:auto;border-radius:2px}.photo-note{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.childhood figcaption{font:italic 12px/1.5 Georgia,serif;color:var(--muted);padding-top:12px;text-align:center}.game-art-link{display:block}.official-game-art{display:block;width:100%;height:auto;border-radius:7px}.game.art-loaded .game-title{display:none}.game{min-height:300px;padding:25px}.game-caption{line-height:1.6}.game-art-link[hidden]{display:none}
@media(max-width:900px){.hero{gap:30px}.headshot{height:220px}.hero-aside{padding:17px}.aside-title{font-size:22px}.tavern{min-height:350px;padding:20px}.palette-bar{align-items:flex-start}}
@media(max-width:650px){.palette-bar{display:block}.palette-bar>span{display:block;margin-bottom:9px}.palette-bar button{font-size:10px;padding:7px 10px}.hero{padding-top:38px;gap:30px}.hero-aside{padding:23px}.headshot{height:auto;max-height:360px;object-position:center 25%;aspect-ratio:1.15;object-fit:cover}.aside-title{font-size:24px}.tavern{min-height:0;max-height:none;padding:20px 30px}.childhood{max-width:430px;margin:30px auto 5px}.story-grid{gap:35px}.game{min-height:250px}.palette-bar>div{gap:6px}}
/* Teal and gold, with three typography studies. */
:root{--display-font:Georgia,'Times New Roman',serif;--body-font:Arial,Helvetica,sans-serif;--display-weight:400}
:root[data-font="modern"]{--display-font:Arial,Helvetica,sans-serif;--body-font:Arial,Helvetica,sans-serif;--display-weight:500}
:root[data-font="friendly"]{--display-font:'Trebuchet MS','Segoe UI',sans-serif;--body-font:'Trebuchet MS','Segoe UI',sans-serif;--display-weight:400}
body{font-family:var(--body-font)}h1,h2,.project h3,.aside-title,.story-pull{font-family:var(--display-font);font-weight:var(--display-weight)}.childhood figcaption{font-family:var(--body-font)}.game-title strong{font-family:var(--display-font)}
:root[data-font="modern"] h1{letter-spacing:-2.4px;line-height:1.12}:root[data-font="friendly"] h1{letter-spacing:-2px;line-height:1.12}:root[data-font="friendly"] h2,:root[data-font="friendly"] .project h3{letter-spacing:-1px}
.headshot{width:252px;height:252px;max-width:100%;max-height:none;aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;margin:4px auto 24px;flex-shrink:0}.hero-aside{padding-top:24px}
.tavern{width:100%;max-width:465px;min-height:0;max-height:none;justify-self:center;padding:14px 23px 25px}.tavern>img{width:100%}.tavern>img.tavern-icon{width:59%;margin-top:-16px}.story-pull{font-size:23px;line-height:1.45;margin-top:29px;margin-bottom:22px}.childhood{width:86%;max-width:430px;margin:22px 0 0;padding:9px 9px 13px}.childhood figcaption{padding-top:9px}
.font-bar{display:flex;gap:20px;align-items:center;padding-top:18px}.font-bar>span{font:10px/1.4 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.font-bar>div{display:flex;gap:9px;flex-wrap:wrap}.font-bar button{display:flex;align-items:center;gap:10px;text-align:left;padding:9px 15px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font:12px/1.3 Arial,sans-serif}.font-bar button b{font-size:26px;font-weight:400}.font-bar button small{display:block;font-size:10px;margin-top:2px}.font-bar button[data-font-choice="editorial"] b{font-family:Georgia,serif}.font-bar button[data-font-choice="modern"] b{font-family:Arial,sans-serif}.font-bar button[data-font-choice="friendly"] b{font-family:'Trebuchet MS','Segoe UI',sans-serif}.font-bar button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.font-bar button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.headshot{width:210px;height:210px}.story-pull{font-size:22px}.childhood{width:94%}.font-bar{align-items:flex-start}.font-bar>span{padding-top:12px}}
@media(max-width:650px){.headshot{width:250px;height:250px;max-width:100%;object-position:center}.story-pull{font-size:21px;margin-top:23px}.childhood{width:90%;max-width:380px;margin:22px auto 5px}.tavern{max-width:370px;padding:12px 20px 23px}.font-bar{display:block}.font-bar>span{display:block;padding:0;margin-bottom:9px}.font-bar>div{gap:7px}.font-bar button{padding:8px 10px;gap:8px}.font-bar button b{font-size:23px}.font-bar button small{font-size:9px}}
/* Final editorial typography and adjusted portrait framing. */
.portrait-frame{width:252px;height:252px;max-width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;margin:4px auto 24px;background:#707578;flex-shrink:0;position:relative}
.portrait-frame .headshot{width:108%;height:108%;max-width:none;max-height:none;object-fit:cover;object-position:center;border-radius:0;margin:0;position:absolute;left:-7%;top:-1%;aspect-ratio:auto}
.story-interests{white-space:nowrap}.story-pull{font-size:clamp(18px,1.5vw,23px)}
@media(max-width:900px){.portrait-frame{width:210px;height:210px}.story-pull{font-size:clamp(14px,1.9vw,20px)}}
@media(max-width:650px){.portrait-frame{width:250px;height:250px}.story-pull{font-size:clamp(16px,4.1vw,21px)}}
/* Balanced section spacing and more compact photography. */
.hero{padding-top:58px;padding-bottom:58px}
.hero-aside{width:100%;max-width:350px;justify-self:end;padding-left:20px;padding-right:20px}
.work{padding-top:42px;padding-bottom:42px}
.work>.project:last-child{padding-bottom:0}
.now{padding-top:72px;padding-bottom:72px}
.now-list>div:last-child{margin-bottom:0}
.childhood{width:78%;max-width:390px}
.photo-crop{overflow:hidden;border-radius:2px}
.photo-crop .photo-wrap{width:107%;margin-left:-7%}
.footer-actions{display:flex;align-items:center;gap:24px}
.back-to-top{display:inline-flex;align-items:center;gap:12px;padding:8px 13px;border:1px solid var(--line);border-radius:5px;text-decoration:none;white-space:nowrap}
.back-to-top:hover{background:var(--surface);color:var(--ink)}
@media(max-width:900px){.hero-aside{max-width:320px;padding-left:16px;padding-right:16px}.childhood{width:86%}}
@media(max-width:650px){.hero{padding-top:38px;padding-bottom:38px}.hero-aside{max-width:350px;justify-self:center;padding-left:22px;padding-right:22px}.work{padding-top:35px;padding-bottom:35px}.now{padding-top:44px;padding-bottom:44px}.childhood{width:84%;max-width:350px}.footer-actions{gap:14px;flex-wrap:wrap}.footer-actions a{font-size:11px}}
