@font-face{font-family:'Klee One';font-style:normal;font-weight:600;font-display:swap;src:url('klee-one-semibold.ttf') format('truetype')}
:root{--ink:#25313c;--muted:#606c73;--green:#25313c;--paper:#f7f7f5;--line:#dedfdd}body,button,input,select,textarea{font-family:'Klee One','Trebuchet MS',sans-serif;font-weight:600}body{background:var(--paper);color:var(--ink)}h1,h2,h3,h4,.welcome h1,.destination h2,.brand{font-weight:600;letter-spacing:-.025em}.welcome h1{font-size:clamp(40px,5.1vw,66px)}.welcome-line{font-size:19px}.destination h2{font-size:21px}.destination p{font-size:16px;line-height:1.65}.home-v2 .footer,.footer,.text-social a{font-size:15px}.page-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 10px;font-size:17px}.page-nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.page-nav a:hover{text-decoration:underline;text-underline-offset:5px}.page-nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.page-intro p{font-size:19px}.page-intro h1{font-size:60px}.eyebrow{font-size:13px;letter-spacing:.08em}.section-heading h2{font-size:29px}.section-heading span{font-size:15px}.game h3,.archive-item h3,.site h3{font-size:20px}.game p,.archive-item p,.site p{font-size:16px}.archive-item .archive-source,.archive-caveat{font-size:14px}.footer{flex-wrap:wrap}.text-social{display:flex;flex-wrap:wrap;gap:18px}.text-social a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.text-social a:hover{text-decoration:underline;text-underline-offset:5px}.site{border-radius:5px;box-shadow:none}.cv-page{--primary:#25313c;--secondary:#606c73;--soft:#606c73;--border:#dedfdd;--shadow:none}.cv-page::before,.cv-page::after{display:none}.cv-page .wrapper{max-width:1180px}.cv-page .cv-card{border:0;border-radius:5px;box-shadow:none;background:transparent;backdrop-filter:none}.cv-page .sidebar{background:#efefeb}.cv-page .profile-image{border-radius:5px;box-shadow:none}.cv-page .profile-image img{filter:none}.cv-page h1{font-weight:600;line-height:1.15}.cv-page .role{font-size:16px;letter-spacing:.035em}.cv-page .intro,.cv-page .timeline-item p,.cv-page .sidebar-section p,.cv-page .sidebar-section li{font-size:17px;line-height:1.7}.cv-page .timeline-top h4{font-size:21px}.cv-page .institution{font-size:17px}.cv-page .date{font-size:15px}.cv-page .skill-card{font-size:17px;box-shadow:none}.cv-page .back-link{font-size:17px;background:none;border:0;box-shadow:none;padding:12px 0}.cv-page .footer{font-size:15px;text-align:left;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:24px 0;margin-top:30px;gap:20px}.cv-page .cv-download a{font-size:17px}.cv-page .text-social a{color:var(--ink)}@media(max-width:800px){.welcome h1{font-size:46px}.welcome-line{font-size:17px}.destination h2{font-size:21px}.destination p{font-size:16px}.page-intro h1{font-size:48px}}@media(max-width:520px){.welcome h1{font-size:clamp(38px,9.5vw,48px)}.welcome-line{font-size:17px}.text-social{gap:10px 17px}.home-v2 .footer,.footer,.text-social a{font-size:14px}.page-intro p{font-size:17px}.section-heading span{font-size:13px}.section-heading h2{font-size:25px}.cv-page .footer{flex-direction:column;align-items:flex-start}.page-nav{font-size:16px}.archive-item .archive-source{font-size:13px}}
h1,h2,h3,h4,.destination h2{-webkit-text-stroke:.25px currentColor}.destination p,.welcome-line{-webkit-text-stroke:.1px currentColor}
.preview-note{background:transparent;color:#727b80}@media(max-width:800px){.cv-page .profile-image{width:140px;height:140px;aspect-ratio:1;border-radius:50%;margin:0 auto 28px}}

/* Extra-bold main title, preserving the chosen handwritten typeface. */
.welcome h1{font-weight:900;-webkit-text-stroke:1px currentColor;text-shadow:.45px 0 currentColor,-.45px 0 currentColor}
.welcome h1{-webkit-text-stroke:2.2px currentColor;text-shadow:.7px 0 currentColor,-.7px 0 currentColor}
.welcome h1{letter-spacing:-.065em}
/* Common main-title treatment across the six site pages. */
.site-title,.welcome h1,.page-intro h1,.cv-page h1{font-family:'Klee One','Trebuchet MS',sans-serif;font-size:clamp(40px,5.1vw,66px);font-weight:900;letter-spacing:-.065em;line-height:1.12;-webkit-text-stroke:2.2px currentColor;text-shadow:.7px 0 currentColor,-.7px 0 currentColor;color:var(--ink)}
.page-intro{max-width:none}.service-page .shell{max-width:1180px}.service-page .page-intro{padding-top:36px;padding-bottom:22px}.service-page .service-lead{font-size:23px;margin-top:20px;color:var(--muted)}.service-layout{padding-bottom:52px}.service-layout.with-image{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:start}.service-copy{max-width:760px;min-width:0}.service-copy>p{font-size:20px;line-height:1.85;margin:0 0 24px}.service-figure{margin:0;min-width:0}.service-figure img{width:100%;height:auto;display:block;border-radius:5px}.service-figure a{display:block}.service-contact{border-top:1px solid var(--line);padding-top:26px;margin-top:38px}.service-contact h2{font-size:28px;margin:0 0 10px}.service-contact p{font-size:18px;color:var(--muted);line-height:1.6}.contact-options{display:flex;gap:14px 26px;flex-wrap:wrap;margin-top:14px}.contact-options a{font-size:17px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}.service-page .footer{margin-top:0}.cv-page .profile-image img{object-fit:cover}
@media(max-width:800px){.site-title,.welcome h1,.page-intro h1,.cv-page h1{font-size:46px}.service-layout.with-image{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.service-copy>p{font-size:18px}.service-page .service-lead{font-size:21px}.service-page .page-intro{padding-top:26px}.service-page .footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.service-layout.with-image{display:flex;flex-direction:column;gap:30px}.service-figure{width:100%;max-width:400px;margin:0 auto;order:-1}.service-copy{width:100%}.service-page .service-lead{font-size:20px}.service-layout{padding-bottom:32px}.service-contact h2{font-size:26px}.service-copy>p{line-height:1.8}.service-page .footer{gap:8px}.contact-options{gap:4px;flex-direction:column}}
@media(max-width:520px){.site-title,.welcome h1,.page-intro h1,.cv-page h1{font-size:clamp(38px,9.5vw,48px)}}

.archive-item .archive-logo{display:flex;align-items:center;justify-content:center;padding:28px;background:#fff}.archive-item .archive-logo img{width:100%;height:auto;max-width:398px;object-fit:contain}

.cv-download button{font:inherit;font-size:18px;font-weight:600;border:1px solid var(--line);border-radius:5px;padding:13px 22px;color:var(--ink);background:#fff;cursor:pointer}.cv-download button:disabled{opacity:.6;cursor:progress}.cv-download button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}#cv-download-status{font-size:15px;min-height:24px;color:var(--muted);margin-top:12px}
