@font-face{font-family:Mochibop;src:url(/fonts/mochibop/Mochibop-Demo.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Mochibop;src:url(/fonts/mochibop/MochibopBold-Demo.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Mochibop;src:url(/fonts/mochibop/MochibopBold-Demo.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}:root{--bg: #f0ece0;--bg-alt: #edeadf;--text: #0d0d0d;--line: #111;--progress-track-bg: rgba(17, 17, 17, .12);--pixel-shadow-a: rgba(17, 17, 17, .15);--pixel-shadow-b: rgba(17, 17, 17, .08);--header-offset: 4.5rem;--transition: .4s ease;--font: Mochibop, system-ui, sans-serif;--home-pad-inline: clamp(.75rem, 3.5vw, 2rem);--home-logo-pad-block: clamp(.5rem, 1.75vh, 1.35rem);--home-scroll-pad-block: clamp(.65rem, 2.25vh, 1.35rem);--home-marquee-pad-block: clamp(.45rem, 1.75vh, 1rem);--hover-pop: cubic-bezier(.34, 1.25, .64, 1);--hover-ui: .26s cubic-bezier(.25, .85, .35, 1)}body.theme-dark{--bg: #0d0d0d;--bg-alt: #141414;--text: #f0ece0;--line: #e8e4d8;--progress-track-bg: rgba(240, 236, 224, .14);--pixel-shadow-a: rgba(240, 236, 224, .14);--pixel-shadow-b: rgba(240, 236, 224, .07)}body.theme-blue{--bg: rgba(0, 49, 255, 1);--bg-alt: rgba(0, 40, 210, 1);--text: #f8fafc;--line: rgba(248, 250, 252, .92);--progress-track-bg: rgba(248, 250, 252, .16);--pixel-shadow-a: rgba(248, 250, 252, .18);--pixel-shadow-b: rgba(248, 250, 252, .09)}*,*:before,*:after{box-sizing:border-box}html{height:100%;overflow:hidden;overflow-x:clip;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100%;height:100%;overflow:hidden;overflow-x:clip;max-width:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;transition:background-color var(--transition),color var(--transition)}a{color:inherit;text-decoration:none}button.nav-link{background:none;border:none;font:inherit;font-family:inherit;color:inherit;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle}.site-header{--header-pad-x: 1rem;position:fixed;top:0;left:0;right:0;z-index:5000;background:var(--bg);display:flex;flex-direction:column;padding:.75rem var(--header-pad-x) .5rem;transition:background-color var(--transition),color var(--transition)}.top-nav{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;font-size:clamp(1.35rem,min(4.6vw,4.2vh),2.2rem);font-weight:400;letter-spacing:.02em}.top-nav>.nav-left,.top-nav>.nav-center,.top-nav>.nav-right{min-width:0}.nav-left{justify-self:start}.nav-center{justify-self:center;text-align:center;max-width:100%}.theme-toggle-inner{position:relative;display:inline-block;max-width:100%;min-width:0}.nav-right{justify-self:end}.theme-toggle-label--narrow{display:none}@media(max-width:520px){.theme-toggle-label--wide{display:none}.theme-toggle-label--narrow{display:inline}}.home-zone{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center}.home-zone--logo{padding-block:var(--home-logo-pad-block);padding-left:max(var(--home-pad-inline),env(safe-area-inset-left,0px));padding-right:max(var(--home-pad-inline),env(safe-area-inset-right,0px))}.logo-title{margin:0;font-size:clamp(2.25rem,min(13vw,18vh),9.6rem);font-weight:900;line-height:.92;letter-spacing:-.02em;text-align:center;text-transform:uppercase;width:100%;max-width:100%;overflow-wrap:break-word;word-break:normal}.band-rule,.home-mid-rule,.service-rule{height:1px;background:var(--line);width:100%;flex-shrink:0;transition:background-color var(--transition)}.below-header{position:relative;z-index:0;isolation:isolate;margin-top:var(--header-offset);height:calc(100vh - var(--header-offset));max-height:calc(100vh - var(--header-offset));display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}@supports (height: 100dvh){.below-header{height:calc(100dvh - var(--header-offset) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - var(--header-offset) - env(safe-area-inset-bottom,0px))}}.view{flex:1;width:100%;min-width:0;display:flex;flex-direction:column;min-height:0}.view-home{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.scroll-band{--intro-line-fs-min: 1.84rem;--intro-line-fs-pref: 4.7vw;--intro-line-fs-max: 2.44rem;--scroll-band-edge-extra: clamp(.45rem, 2.25vw, 1.1rem);display:grid;grid-template-columns:max-content 1fr max-content;align-items:center;gap:clamp(.85rem,3.2vw,2rem);padding-block:var(--home-scroll-pad-block);padding-left:max(calc(var(--home-pad-inline) + var(--scroll-band-edge-extra)),env(safe-area-inset-left,0px));padding-right:max(calc(var(--home-pad-inline) + var(--scroll-band-edge-extra)),env(safe-area-inset-right,0px));border-bottom:none}.scroll-band .pixel-num{font-size:clamp(2.5rem,min(23vw,26vh),9.6rem)}.scroll-band-center{display:flex;flex-direction:column;justify-content:center;min-width:0}.intro-line{margin:0 0 .65rem;padding:.25rem .5rem;transition:transform var(--hover-ui);font-size:clamp(var(--intro-line-fs-min),min(var(--intro-line-fs-pref),5.5vh),var(--intro-line-fs-max));font-style:italic;font-weight:400;text-align:center;line-height:1.35}.progress-label-block{width:100%;max-width:68%;margin-inline:auto}.progress-wrap{width:100%;padding:.15rem 0 0}.progress-track{height:7px;background:var(--progress-track-bg);width:100%;transition:background-color var(--transition)}.progress-fill{height:100%;width:25%;background:var(--line);transition:width var(--transition),background-color var(--transition)}.scroll-labels span{display:inline-block;transition:transform .24s var(--hover-pop)}.scroll-labels{display:flex;justify-content:space-between;gap:.35em;width:100%;font-size:clamp(var(--intro-line-fs-min),min(var(--intro-line-fs-pref),5.5vh),var(--intro-line-fs-max));font-weight:400;opacity:.85;margin:0;padding:.2rem 0 0;line-height:1.2}.pixel-num-side{pointer-events:none;-webkit-user-select:none;user-select:none;align-self:center}.pixel-num{font-family:var(--font);font-weight:700;font-size:clamp(3.2rem,17.5vw,8.35rem);line-height:1;letter-spacing:-.06em;color:var(--text);opacity:.92;text-shadow:0 0 0 var(--text),1px 0 0 var(--pixel-shadow-a),0 1px 0 var(--pixel-shadow-a),-1px 0 0 var(--pixel-shadow-b),0 -1px 0 var(--pixel-shadow-b);image-rendering:pixelated;-webkit-user-select:none;user-select:none}.band-rule{flex-shrink:0}.home-zone--marquee{align-items:stretch;align-self:stretch;height:100%;padding-block:var(--home-marquee-pad-block);box-sizing:border-box}.marquee-link{display:flex;flex-direction:column;min-height:0;height:100%;color:inherit;outline:none}.marquee-band{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;background:var(--bg);transition:background var(--transition)}.section-wheel-viewport{flex:1;width:100%;min-height:0;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:flex-start}.section-wheel-track{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;width:max-content;transform:translateZ(0);transition:transform .45s cubic-bezier(.25,.1,.25,1);will-change:transform}.section-wheel-item{flex:0 0 auto;white-space:nowrap;padding:0 clamp(1rem,4vw,2.5rem);font-size:clamp(2.25rem,min(14vw,12vh),9rem);font-weight:900;letter-spacing:-.03em;line-height:1.05;text-transform:capitalize;color:inherit;opacity:.36;transform:scale(.85);transform-origin:center center;transition:opacity var(--transition),transform var(--transition);-webkit-user-select:none;user-select:none}a.section-wheel-item{cursor:pointer;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}a.section-wheel-item:focus-visible{outline:2px solid var(--line);outline-offset:.2em;opacity:1}.section-wheel-item.is-wheel-active{opacity:1;transform:scale(1)}.view-service{flex:1;width:100%;min-height:0;padding:.35rem clamp(1.1rem,4.5vw,2.75rem) 2.5rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.view-service[hidden],.view-home[hidden]{display:none!important}.service-heading{margin:0;padding:.35rem 0 .65rem;font-size:clamp(2.6rem,min(12.8vw,11vh),9rem);font-weight:900;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.service-about-top{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1rem 1.75rem;flex-wrap:wrap}.service-about-top .service-heading{flex:1 1 auto;min-width:min(100%,10rem);padding-bottom:.5rem}.service-about-top .about-resume-callout{flex:0 1 auto;margin:.25rem 0 .35rem;max-width:min(100%,18.5rem);align-self:flex-end;z-index:0}@media(max-width:720px){.service-about-top{flex-direction:column;align-items:stretch}.service-about-top .about-resume-callout{align-self:flex-end;max-width:100%}}.service-body{position:relative;padding-top:.35rem;width:100%}.service-main{position:relative;z-index:1;width:100%;max-width:none;padding-top:.35rem;box-sizing:border-box}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.top-nav a.nav-link{position:relative;transition:transform var(--hover-ui)}button.nav-link.theme-toggle .theme-toggle-inner{transition:transform var(--hover-ui)}.top-nav a.nav-link:after,button.nav-link.theme-toggle .theme-toggle-inner:after{content:"";position:absolute;left:50%;bottom:.04em;width:0;max-width:100%;height:2px;background:currentColor;transform:translate(-50%);opacity:.85;transition:width .32s var(--hover-pop);pointer-events:none}.top-nav a.nav-link:hover,button.nav-link.theme-toggle:hover .theme-toggle-inner{transform:translateY(-2px)}.top-nav a.nav-link:hover:after,button.nav-link.theme-toggle:hover .theme-toggle-inner:after{width:100%}.intro-line:hover{transform:translateY(-2px)}.scroll-labels:hover span:nth-child(1){transform:translateY(-5px);transition-delay:0s}.scroll-labels:hover span:nth-child(2){transform:translateY(-5px);transition-delay:55ms}.scroll-labels:hover span:nth-child(3){transform:translateY(-5px);transition-delay:.11s}.marquee-link:hover .section-wheel-item.is-wheel-active{transform:scale(1.06)}.marquee-link:hover .section-wheel-item:not(.is-wheel-active){opacity:.5}.service-label:hover{letter-spacing:.03em;transform:translate(2px)}.about-tag:hover{transform:translateY(-2px);letter-spacing:.04em}.about-resume-callout:hover .about-resume-link{letter-spacing:.04em;text-decoration-thickness:2px}.about-resume-link:hover .about-resume-link-arrow{transform:translate(.12em,-.12em)}.about-contact-link:hover{letter-spacing:.03em}.about-job-card:hover{border-color:var(--line);box-shadow:8px 8px color-mix(in srgb,var(--line) 18%,transparent);transform:translateY(-2px)}.about-focus-card:hover{background:color-mix(in srgb,var(--line) 6%,transparent)}}.service-label{margin:0 0 .85rem;font-size:clamp(1.05rem,2.15vw,1.28rem);font-weight:400;transition:letter-spacing var(--hover-ui),transform var(--hover-ui)}.service-desc{margin:0;font-size:clamp(1.22rem,2.55vw,1.48rem);line-height:1.62;font-weight:400}.about-page{width:100%;max-width:none}.about-kicker{margin:0 0 1.35rem;font-size:clamp(1.46rem,3.1vw,1.68rem);font-weight:400;letter-spacing:.12em;text-transform:uppercase;opacity:.82;line-height:1.4}.about-resume-callout{position:relative;margin:0 0 1.45rem;padding:.95rem 1.1rem 1.05rem;max-width:min(100%,34rem);border:2px solid var(--line);border-radius:2px;background:color-mix(in srgb,var(--line) 5%,var(--bg));box-shadow:6px 6px color-mix(in srgb,var(--line) 17%,transparent);transform:rotate(-.5deg);transition:transform var(--hover-ui),box-shadow var(--hover-ui),border-color var(--transition),background-color var(--transition)}@media(hover:hover){.about-resume-callout:hover{transform:rotate(0) translateY(-2px);box-shadow:8px 10px color-mix(in srgb,var(--line) 22%,transparent)}}.about-resume-callout--top{margin-bottom:0;padding:1.85rem .9rem .88rem;box-shadow:5px 5px color-mix(in srgb,var(--line) 16%,transparent)}.about-resume-callout--top .about-resume-stamp{top:.45rem;right:.65rem;transform:rotate(8deg)}.about-resume-callout--top .about-resume-teaser{margin-bottom:.5rem;padding-right:3rem;font-size:clamp(1rem,2.05vw,1.16rem)}.about-resume-callout--top .about-resume-link{font-size:clamp(1.12rem,2.35vw,1.38rem)}.about-resume-stamp{position:absolute;top:-.48rem;right:.75rem;padding:.18rem .45rem;font-size:clamp(.76rem,1.55vw,.88rem);font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;background:var(--line);color:var(--bg);transform:rotate(10deg);transition:background-color var(--transition),color var(--transition),transform .5s var(--hover-pop)}@media(hover:hover){.about-resume-callout:hover .about-resume-stamp{transform:rotate(4deg) scale(1.04)}}.about-resume-teaser{margin:0 0 .75rem;padding-right:3.5rem;font-size:clamp(1.15rem,2.38vw,1.36rem);line-height:1.45;font-weight:400;opacity:.9}.about-resume-link{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem .45rem;font-size:clamp(1.28rem,2.75vw,1.65rem);font-weight:900;letter-spacing:.02em;line-height:1.2;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.12em;color:inherit;transition:letter-spacing var(--hover-ui),text-decoration-thickness var(--hover-ui)}.about-resume-link-text{text-wrap:balance}.about-resume-link-arrow{display:inline-block;font-size:.85em;font-weight:900;text-decoration:none;transition:transform var(--hover-ui)}@media(prefers-reduced-motion:reduce){.about-resume-callout,.about-resume-stamp{transition:none}.about-resume-callout:hover,.about-resume-callout:hover .about-resume-stamp{transform:none}@media(hover:hover){.about-resume-callout:hover{box-shadow:6px 6px color-mix(in srgb,var(--line) 17%,transparent)}}.about-resume-link-arrow{transition:none}}.about-contact-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.85rem 1.75rem}.about-contact-item{margin:0;display:flex;flex-direction:column;gap:.15rem}.about-contact-label{font-size:clamp(1.06rem,2.18vw,1.2rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.about-contact-link{font-size:clamp(1.34rem,2.78vw,1.52rem);font-weight:400;text-decoration:underline;text-underline-offset:.15em;color:inherit;word-break:break-word;transition:letter-spacing var(--hover-ui)}.about-skills-note{margin:-.25rem 0 1.15rem;font-size:clamp(1.26rem,2.58vw,1.42rem);line-height:1.55;opacity:.82}.about-lead{margin:0 0 1.5rem}.about-lead p{margin:0 0 1.1rem;font-size:clamp(1.56rem,3.35vw,1.88rem);line-height:1.55;font-weight:400}.about-lead p:last-child{margin-bottom:0}.about-rule{height:1px;background:var(--line);margin:1.55rem 0;opacity:.85;transition:background-color var(--transition)}.about-block{margin:0}.about-block-heading{margin:0 0 1.2rem;font-family:var(--font);font-size:clamp(1.32rem,2.68vw,1.52rem);font-weight:400;letter-spacing:.14em;text-transform:uppercase;opacity:.88}.about-block--experience{margin:0;padding:1.25rem 1.2rem 1.45rem;border:3px solid var(--line);background:color-mix(in srgb,var(--line) 7%,var(--bg));box-shadow:6px 6px color-mix(in srgb,var(--line) 12%,transparent);transition:border-color var(--transition),background-color var(--transition),box-shadow var(--transition)}@media(min-width:720px){.about-block--experience{padding:1.45rem 1.5rem 1.55rem;border-left-width:6px}}.about-block--experience .about-block-heading{margin-bottom:1.05rem;font-size:clamp(1.52rem,3.25vw,1.95rem);letter-spacing:.11em;opacity:1}.about-experience-kicker{margin:0 0 1.05rem;padding:1.05rem 1.2rem;max-width:52rem;font-size:clamp(1.34rem,2.85vw,1.62rem);line-height:1.48;font-weight:700;letter-spacing:.015em;border:2px solid var(--line);background:color-mix(in srgb,var(--line) 12%,var(--bg));color:var(--text);transition:border-color var(--transition),background-color var(--transition),color var(--transition)}.about-focus-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem 1.25rem}@media(min-width:900px){.about-focus-grid{grid-template-columns:repeat(3,1fr)}}.about-focus-card{margin:0;padding:1rem 1.15rem;border:1px solid var(--line);background:transparent;transition:border-color var(--transition),background-color var(--transition)}.about-focus-title{margin:0 0 .5rem;font-family:var(--font);font-size:clamp(1.12rem,2.35vw,1.28rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.about-focus-text{margin:0;font-size:clamp(1.05rem,2.1vw,1.18rem);line-height:1.58;font-weight:400;opacity:.92}.about-stack-groups{display:grid;grid-template-columns:1fr;gap:1.35rem 2rem}@media(min-width:720px){.about-stack-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.about-stack-groups{gap:1.5rem 3rem}}.about-stack-label{margin:0 0 .55rem;font-size:clamp(1.1rem,2.2vw,1.24rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.78}.about-tag-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .5rem}.about-tag{display:inline-block;padding:.38rem .85rem;font-size:clamp(1.22rem,2.48vw,1.4rem);font-weight:400;line-height:1.3;border:1px solid var(--line);transition:border-color var(--transition),transform var(--hover-ui),letter-spacing var(--hover-ui)}.about-exp-intro{margin:0 0 1.45rem;max-width:50rem;font-size:clamp(1.3rem,2.72vw,1.52rem);line-height:1.52;font-weight:400;opacity:.92}.about-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.55rem}.about-job{margin:0}.about-job-card{display:flex;flex-direction:row;align-items:flex-start;gap:.95rem 1.25rem;padding:1.2rem 1.2rem 1.3rem;border:3px solid var(--line);border-radius:2px;background:color-mix(in srgb,var(--line) 4.5%,var(--bg));transition:transform var(--hover-ui),box-shadow var(--hover-ui),border-color var(--transition),background-color var(--transition)}.about-job-index{flex:0 0 auto;min-width:2.5ch;font-size:clamp(2.65rem,6.2vw,3.85rem);font-weight:900;line-height:.9;letter-spacing:-.04em;color:color-mix(in srgb,var(--line) 32%,var(--bg));-webkit-text-stroke:1.5px color-mix(in srgb,var(--line) 50%,transparent);paint-order:stroke fill;transition:color var(--transition),-webkit-text-stroke var(--transition)}.about-job-body{flex:1;min-width:0}.about-job-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;margin-bottom:.45rem}.about-job-period{font-size:clamp(1.2rem,2.48vw,1.34rem);font-variant-numeric:tabular-nums;letter-spacing:.04em;opacity:.72;flex-shrink:0}.about-job-role{font-size:clamp(1.52rem,3.12vw,1.75rem);font-weight:700;letter-spacing:-.02em;line-height:1.25}.about-job-at{font-weight:400;opacity:.75}.about-job-tagline{margin:0 0 .7rem;font-size:clamp(1.24rem,2.58vw,1.42rem);line-height:1.45;font-weight:700;letter-spacing:.01em;opacity:.92}.about-job-points{margin:0;padding:0;list-style:none;font-size:clamp(1.32rem,2.78vw,1.52rem);line-height:1.52;font-weight:400}.about-job-points li{position:relative;margin:0 0 .45rem;padding-left:1.45rem}.about-job-points li:before{content:"→";position:absolute;left:0;top:.05em;font-weight:900;font-size:1.05em;opacity:.65}.about-job-points li:last-child{margin-bottom:0}@media(prefers-reduced-motion:reduce){.about-job-card{transition:border-color var(--transition),background-color var(--transition)}.about-job-card:hover{transform:none;box-shadow:none}}.about-edu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.about-edu-row{margin:0;display:flex;flex-direction:column;gap:.15rem}.about-edu-line{font-size:clamp(1.44rem,2.88vw,1.62rem);font-weight:700;letter-spacing:-.02em;line-height:1.3}.about-edu-detail{font-size:clamp(1.28rem,2.62vw,1.44rem);opacity:.78;letter-spacing:.02em}.projects-resume-note{margin:-.25rem 0 0;font-size:clamp(1.2rem,2.48vw,1.36rem);line-height:1.5;opacity:.88}.projects-resume-note-hint{opacity:.75}.projects-section-intro{margin-top:-.2rem}.project-card-links{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem 1.15rem}.contact-preferred{margin:-.15rem 0 0;max-width:48rem}.contact-resume-block{margin:0;max-width:52rem;font-size:clamp(1.22rem,2.55vw,1.4rem);line-height:1.55}.contact-resume-anchor{font-weight:700}.contact-resume-hint{display:inline;margin:0;opacity:.82}.contact-page .about-kicker{margin-bottom:1.5rem;font-size:clamp(1.64rem,3.45vw,1.92rem)}.contact-page .about-lead{margin-bottom:1.65rem}.contact-page .about-lead p{font-size:clamp(1.72rem,3.65vw,2.08rem);line-height:1.52}.contact-page .contact-preferred{margin:-.1rem 0 1.35rem;max-width:52rem;font-size:clamp(1.4rem,2.88vw,1.58rem);line-height:1.52}.contact-page .about-rule{margin:1.75rem 0}.contact-page .about-block-heading{margin-bottom:1.35rem;font-size:clamp(1.48rem,3.05vw,1.74rem)}.contact-page .about-contact-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:1.05rem 2rem}.contact-page .about-contact-item{gap:.28rem}.contact-page .about-contact-label{font-size:clamp(1.16rem,2.38vw,1.32rem)}.contact-page .about-contact-link{font-size:clamp(1.54rem,3.15vw,1.76rem)}.contact-page .contact-resume-block{font-size:clamp(1.44rem,2.98vw,1.66rem);line-height:1.52;max-width:56rem}.contact-page .contact-resume-hint.about-skills-note{font-size:clamp(1.28rem,2.65vw,1.48rem);line-height:1.5}.github-profile-link{margin:-.35rem 0 0;font-size:clamp(1.28rem,2.65vw,1.48rem);line-height:1.45}.github-profile-link-hint{opacity:.72;font-size:.92em}.github-readme-quote-block{margin:.75rem 0 0;padding:0 0 0 1rem;border-left:3px solid var(--line);max-width:46rem}.github-readme-quote{margin:0;font-size:clamp(1.22rem,2.52vw,1.42rem);line-height:1.45;font-style:italic;font-weight:400}.github-readme-quote-by{margin:.45rem 0 0;font-size:clamp(1.02rem,2.1vw,1.12rem);font-style:normal;opacity:.72}.github-pins-intro{margin-top:-.2rem}.github-repo-blurb{margin-bottom:.15rem}.github-stats-note{margin:1.25rem 0 0;max-width:48rem}.github-stack-intro{margin:-.2rem 0 .85rem;max-width:48rem}@media(max-width:640px){:root{--home-pad-inline: clamp(.6rem, 4.5vw, 1.2rem);--home-logo-pad-block: clamp(.45rem, 1.5vh, 1.1rem);--home-scroll-pad-block: clamp(.55rem, 2vh, 1.15rem)}.top-nav{font-size:clamp(1.2rem,min(4.2vw,5vh),2rem);gap:.35rem}.site-header{padding-left:max(.65rem,env(safe-area-inset-left,0px));padding-right:max(.65rem,env(safe-area-inset-right,0px))}.logo-title{font-size:clamp(1.85rem,min(10.5vw,14vh),6.5rem);line-height:.95}.scroll-band{gap:.35rem .55rem;--intro-line-fs-min: 1.05rem;--intro-line-fs-pref: 3.35vw;--intro-line-fs-max: 1.42rem}.progress-label-block{max-width:88%}.scroll-band .pixel-num{font-size:clamp(2.4rem,min(14vw,16vh),5rem)}.pixel-num{font-size:clamp(1.85rem,min(11vw,13vh),3.75rem)}.section-wheel-item{padding:0 clamp(.45rem,2.2vw,1rem);font-size:clamp(1.35rem,min(7.5vw,9vh),3.25rem);letter-spacing:-.02em}.intro-line{margin-bottom:.45rem;padding:.2rem .15rem;line-height:1.32}}@media(max-width:380px){.scroll-band{grid-template-columns:minmax(0,auto) 1fr minmax(0,auto);gap:.25rem .4rem}.scroll-band .pixel-num{font-size:clamp(2rem,11vw,3.6rem)}.pixel-num{font-size:clamp(1.5rem,9vw,3rem)}.section-wheel-item{font-size:clamp(1.2rem,6.5vw,2.65rem);padding:0 .35rem}}.cursor-trail{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10050;overflow:hidden}.cursor-trail-square{position:absolute;left:0;top:0;width:56px;height:56px;margin-left:-28px;margin-top:-28px;border-radius:0;background:transparent;-webkit-backdrop-filter:invert(1);backdrop-filter:invert(1);will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.cursor-trail{display:none}.section-wheel-track,.section-wheel-item,.progress-fill{transition:none}}#root{max-width:100%;overflow-x:clip;min-height:100%}
