@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff")}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}button,input{font:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit}}@layer base{:root{--paper:#f5f3ed;--ink:#232520;--muted:#66685e;--accent:#c34b2e;--rule:#d6d7cc;--strong-rule:#bfc1b3;--soft:#eaeae1;--button:#c34b2e;--button-hover:#9f3c24;--button-text:#fff;--font:"Manrope Variable", sans-serif;--mono:"DM Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#171916;--ink:#f0f0e8;--muted:#b4b8ac;--accent:#f09d80;--rule:#3d4138;--strong-rule:#606755;--soft:#242820;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased;transition:background-color .25s,color .25s}::selection{background:var(--button);color:var(--button-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3{font-weight:600;line-height:1.08}h2{letter-spacing:-.055em;font-size:clamp(2.4rem,4.5vw,4rem)}p{text-wrap:pretty}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{letter-spacing:.08em;font-size:.7rem;line-height:1.7}.muted{color:var(--muted)}.name-dot{color:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}}@layer layout{.shell{width:min(1280px,100% - 112px);margin-inline:auto}.section{padding-block:100px}.section-topline{justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;display:flex}.section-heading-row{justify-content:space-between;align-items:end;gap:56px;margin-bottom:45px;display:flex}.section-heading-row>p{max-width:310px;color:var(--muted);font-size:.95rem}}@layer components{.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:96px;display:flex}.wordmark{letter-spacing:-.06em;align-items:center;gap:10px;font-size:1.3rem;font-weight:750;display:inline-flex}.brand-icon{background:var(--button);width:33px;height:33px;color:var(--button-text);border-radius:3px;justify-content:center;align-items:center;padding-bottom:5px;font-size:1.7rem;display:inline-flex}.brand-dot{align-self:start;margin-top:6px;margin-left:-5px;font-size:.65rem}.main-nav{align-items:center;gap:32px;font-size:.8rem;display:flex}.main-nav a{padding-block:12px}.main-nav a:hover,.text-link:hover{color:var(--accent)}.main-nav .nav-contact{border:1px solid var(--rule);align-items:center;gap:25px;padding:11px 18px;display:flex}.menu-toggle{display:none}.main-nav{order:2;margin-left:auto}.header-controls{order:3;align-items:center;gap:18px;display:flex}.theme-toggle{border:1px solid var(--rule);min-height:42px;font:.65rem var(--mono);background:0 0;align-items:center;gap:9px;padding:10px 13px;transition:border-color .2s,color .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle svg{transition:transform .3s}.theme-toggle:hover svg{transform:rotate(-15deg)}.hero{isolation:isolate;grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);align-items:center;gap:40px;padding-top:76px;display:grid;position:relative}.hero-type-layer{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:80px 0 85px;overflow:hidden}.hero-type-layer span{letter-spacing:-.025em;white-space:nowrap;color:#0000;-webkit-text-stroke:1.2px var(--ink);opacity:.1;transform-origin:50%;font-size:clamp(4.6rem,14.2vw,12.5rem);font-weight:750;line-height:1.2;display:block;transform:rotate(-8deg)}.hero-type-layer span+span{margin-top:12px;margin-left:20px}.site-header .wordmark{gap:0}.hero-kicker{align-items:center;gap:12px;margin-bottom:30px;display:flex}.accent-line{background:var(--accent);width:27px;height:2px}.hero h1{letter-spacing:-.075em;margin-left:-5px;font-size:clamp(4.5rem,7.6vw,7.3rem);line-height:.99}.hero-description{letter-spacing:-.025em;margin-top:32px;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.45}.hero-description em{color:var(--muted);font-style:normal}.hero-intro{max-width:380px;color:var(--muted);margin-top:18px;font-size:.875rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:30px;display:flex}.button-primary{background:var(--button);color:var(--button-text);align-items:center;gap:32px;padding:15px 21px;font-size:.8rem;transition:background .2s,transform .2s;display:inline-flex}.button-primary:hover{background:var(--button-hover);transform:translateY(-3px)}.action-icon{vertical-align:middle;flex:none}.text-link{text-underline-offset:5px;align-items:center;gap:13px;padding-block:12px;font-size:.8rem;text-decoration:underline;display:inline-flex}.hero-portrait{align-self:center;padding-left:20px}.portrait-frame{aspect-ratio:4/4.6;background:var(--soft);position:relative}.portrait-image{width:100%;height:100%;overflow:hidden}.portrait-image>img{object-fit:cover;object-position:center 55%;transform-origin:50% 55%;width:100%;height:100%;transition:transform .75s cubic-bezier(.2,.7,.2,1);transform:scale(1.03)}.hero-portrait:hover .portrait-image>img{transform:scale(1.07)}.portrait-stamp{background:var(--paper);border:1px solid var(--rule);letter-spacing:.045em;padding:15px 20px;font-size:.62rem;line-height:1.75;position:absolute;bottom:20px;left:-20px}.hero-portrait figcaption{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:17px;font-size:.7rem;display:flex}.hero-portrait figcaption .mono{color:var(--ink);font-size:.6rem}.hero-bottom{border-bottom:1px solid var(--rule);letter-spacing:.06em;color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-block:20px 26px;font-size:.62rem;display:flex}.hero-bottom a{color:var(--ink);align-items:center;gap:12px;display:inline-flex}.career-list{border-top:1px solid var(--rule)}.career-entry{border-bottom:1px solid var(--rule);grid-template-columns:240px minmax(0,1fr);gap:50px;padding-block:35px;display:grid}.career-period{margin-bottom:12px;font-size:.75rem}.career-content h3{letter-spacing:-.04em;font-size:1.65rem}.career-company{margin-top:8px;font-size:.9rem}.career-summary{color:var(--muted);margin-top:15px;font-size:.9rem}.career-highlights{color:var(--muted);margin:22px 0 0;padding-left:18px;font-size:.875rem}.career-highlights li{margin-top:12px;padding-left:5px}.career-highlights li::marker{color:var(--accent)}.career-entry-secondary .career-content h3{font-size:1.1rem}.career-entry-secondary .career-summary{font-size:.85rem}.education-list{margin-top:35px}.education-list>div{margin-top:20px}.education-list h4{margin:0;font-size:.85rem;font-weight:600}.education-list p{color:var(--muted);font-size:.8rem}.education-list .mono{color:var(--muted);font-size:.6rem}.stack-section{padding-block:64px 40px}.stack-heading h2{letter-spacing:-.045em;margin-top:15px;font-size:clamp(1.7rem,3vw,2.4rem)}.stack-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;margin-top:30px;display:grid}.stack-group>h3{border-bottom:1px solid var(--rule);padding-bottom:12px;font-weight:400}.stack-items{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.stack-item{align-items:center;gap:10px;min-width:0;min-height:44px;font-size:.72rem;line-height:1.4;display:flex}.stack-item>span:last-child{overflow-wrap:anywhere}.stack-icon{flex:0 0 32px;place-items:center;width:32px;height:32px;transition:transform .2s;display:grid}.stack-icon img{object-fit:contain;width:28px;height:28px}:root[data-theme=dark] .stack-icon .icon-monochrome{filter:brightness(0)invert()}.stack-item:hover .stack-icon{transform:translateY(-2px)}.work-section{padding-block:45px}.design-archive{border-block:1px solid var(--rule)}.archive-summary{text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:25px;width:100%;padding:27px 0;display:grid}.archive-heading{letter-spacing:-.03em;margin-top:7px;font-size:1.3rem;font-weight:600;line-height:1.35;display:block}.archive-toggle{font:.7rem var(--mono);color:var(--accent);align-items:center;gap:12px;display:inline-flex}.archive-toggle .action-icon{transition:transform .3s}.archive-summary[aria-expanded=true] .action-icon{transform:rotate(180deg)}.archive-summary:hover .archive-heading{color:var(--accent)}.archive-panel{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1),opacity .25s,visibility 0s .4s;display:grid}.archive-panel.is-open{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1),opacity .3s,visibility}.archive-body{min-height:0;overflow:hidden}.archive-body .project-grid{padding-bottom:35px}.archive-panel.is-open .project{animation:.55s cubic-bezier(.2,.7,.2,1) both archive-project-in;animation-delay:var(--item-delay,0s)}@keyframes archive-project-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.archive-intro{color:var(--muted);max-width:620px;margin-bottom:25px;font-size:.875rem}.resume-link{text-underline-offset:5px;align-items:center;gap:12px;padding-block:12px;font-size:.75rem;text-decoration:underline;display:inline-flex}.hero-resume{margin-top:12px}.work-filters{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;padding-block:20px 30px;display:flex}.work-filters button{background:0 0;border:1px solid #0000;padding:9px 15px;font-size:.75rem}.work-filters button:hover{border-color:var(--rule)}.work-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.work-count{color:var(--muted);margin-left:auto;font-size:.6rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;display:grid}.project{min-width:0}.project-image-button{background:var(--soft);border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.project-image-button img{aspect-ratio:1200/627;object-fit:cover;width:100%;height:auto;transition:transform .4s}.project-image-button:hover img{transform:scale(1.025)}.image-action{background:var(--paper);min-height:40px;color:var(--ink);font:.65rem var(--mono);align-items:center;gap:9px;padding:10px 13px;display:inline-flex;position:absolute;bottom:16px;right:16px}.project-meta{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);justify-content:space-between;gap:12px;margin-top:22px;font-size:.59rem;display:flex}.project-title{text-align:left;letter-spacing:-.05em;background:0 0;border:0;justify-content:space-between;gap:20px;width:100%;margin-top:10px;padding:0;font-size:1.7rem;font-weight:600;display:flex}.project-title:hover{color:var(--accent)}.project-title .project-detail-label{font:.6rem var(--mono);letter-spacing:0;color:var(--muted);align-self:center;align-items:center;gap:6px;display:inline-flex}.project-summary{max-width:460px;color:var(--muted);margin-top:9px;font-size:.875rem}.project-tags{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:17px;margin:18px 0 0;padding:0;font-size:.6rem;list-style:none;display:flex}.project-tags li+li:before{content:"/";color:#96988c;margin-right:17px}.about-section{background:var(--soft);border-block:1px solid var(--rule)}.about-layout{grid-template-columns:1fr 1.1fr;gap:100px;display:grid}.about-heading h2{margin-top:36px}.about-note{color:var(--muted);margin-top:40px;font-size:.65rem}.about-copy>p{color:var(--muted);margin-bottom:22px;font-size:.9rem}.about-copy>.about-lead{letter-spacing:-.035em;color:var(--ink);font-size:1.5rem;line-height:1.45}.focus-list{border-top:1px solid var(--strong-rule);margin-top:36px}.focus-list>div{border-bottom:1px solid var(--strong-rule);grid-template-columns:32px 1fr;gap:5px 12px;padding-block:22px;transition:padding-left .2s;display:grid}.focus-list>div:hover{padding-left:8px}.focus-list .mono{color:var(--accent);padding-top:3px;font-size:.65rem}.focus-list h3{font-size:.95rem;line-height:1.5}.focus-list p{color:var(--muted);grid-column:2;font-size:.8rem}.contact-section{padding-block:90px 74px}.contact-section h2{font-size:clamp(2.6rem,5.7vw,5.2rem)}.contact-description{max-width:400px;color:var(--muted);margin-top:25px;font-size:.9rem}.contact-actions{flex-wrap:wrap;align-items:center;gap:26px;margin-top:36px;display:flex}.email-link{color:var(--accent);letter-spacing:-.04em;border-bottom:1px solid var(--accent);overflow-wrap:anywhere;padding-bottom:9px;font-size:clamp(1.1rem,2.5vw,2.1rem)}.email-link .action-icon{width:24px;height:24px;margin-left:12px}.copy-button{border:1px solid var(--rule);background:0 0;padding:12px 15px;font-size:.65rem}.copy-button:hover{border-color:var(--ink)}.copy-status{min-height:25px;color:var(--muted);margin-top:9px;font-size:.75rem}.site-footer{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;padding-block:26px;display:flex}.site-footer>.mono{color:var(--muted);font-size:.58rem}.site-footer>a.mono{align-items:center;gap:10px;display:inline-flex}.project-dialog{color:var(--ink);border:1px solid var(--rule);background:var(--paper);width:min(800px,100% - 32px);max-height:calc(100dvh - 48px);padding:0;overflow-y:auto}.project-dialog::backdrop{background:#141713a6}.dialog-top{justify-content:space-between;align-items:center;gap:15px;padding:18px 28px;display:flex}.dialog-close{background:0 0;border:0;align-items:center;gap:16px;padding:8px;font-size:.75rem;display:flex}.dialog-close span{font-size:1.4rem}.project-dialog>img{width:100%;height:auto}.dialog-content{padding:35px 40px 40px}.dialog-content h2{margin:18px 0 22px;font-size:clamp(2rem,5vw,3rem)}.dialog-content>p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:.9rem}.dialog-content h3{margin-top:28px;font-size:1rem}.dialog-links{flex-wrap:wrap;gap:18px 30px;margin-top:30px;display:flex}.dialog-links a{color:var(--accent);text-underline-offset:5px;align-items:center;gap:9px;padding-block:10px;font-size:.8rem;text-decoration:underline;display:inline-flex}.site-header,.about-section,.portrait-stamp,.project-dialog{transition:background-color .25s,border-color .25s,color .25s}[data-reveal]{opacity:1;transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(0)}[data-reveal].reveal-pending{opacity:0;transition:none;transform:translateY(24px)}}@layer responsive{@media (width>=1500px){.hero{gap:90px}}@media (width<=1100px){.shell{width:calc(100% - 64px)}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:25px}.hero h1{font-size:clamp(3.9rem,7.9vw,6rem)}.hero-portrait{padding-left:0}.hero-portrait figcaption{flex-direction:column;align-items:start;gap:3px}.about-layout{gap:55px}.main-nav{gap:24px}}@media (width>=761px) and (width<=960px){.stack-layout{grid-template-columns:1fr;gap:30px}.header-inner{flex-wrap:wrap;gap:0;min-height:76px}.header-controls{order:2;gap:14px;margin-left:auto}.menu-toggle{background:0 0;border:0;align-items:center;gap:15px;padding:12px 0 12px 15px;font-size:.8rem;display:flex}.main-nav{border-top:1px solid var(--rule);order:3;width:100%;margin-left:0;padding-bottom:20px;display:none}.main-nav.is-open{flex-direction:column;align-items:stretch;gap:0;display:flex}.main-nav a{padding:13px 0}.main-nav .nav-contact{width:fit-content;margin-top:5px}}@media (width<=760px){html{scroll-padding-top:24px}.shell{width:calc(100% - 40px)}.section{padding-block:64px}.header-inner{flex-wrap:wrap;gap:0;min-height:76px}.header-controls{order:2;gap:14px;margin-left:auto}.theme-toggle{padding:10px}.theme-toggle>span{display:none}.main-nav{order:3;margin-left:0}.wordmark{font-size:1.2rem}.menu-toggle{background:0 0;border:0;align-items:center;gap:15px;padding:12px 0 12px 15px;font-size:.8rem;display:flex}.menu-toggle span{font-size:1.2rem}.main-nav{border-top:1px solid var(--rule);width:100%;padding-bottom:20px;display:none}.main-nav.is-open{flex-direction:column;align-items:stretch;gap:0;display:flex}.main-nav a{padding:13px 0}.main-nav .nav-contact{width:fit-content;margin-top:5px}.hero{grid-template-columns:1fr;gap:38px;padding-top:48px}.hero-type-layer{height:390px;inset:65px 0 auto}.hero-type-layer span{font-size:clamp(3.4rem,15vw,6rem)}.hero-type-layer span+span{margin-left:10px}.hero h1{margin-left:-3px;font-size:clamp(3.3rem,11.5vw,5.2rem)}.hero-kicker{margin-bottom:25px;font-size:.62rem}.hero-description{margin-top:25px;font-size:1.4rem}.hero-intro{max-width:370px}.hero-actions{gap:14px 24px}.hero-portrait{width:min(100%,460px);margin-inline:auto;padding-left:16px}.portrait-frame{aspect-ratio:4/3.8}.portrait-frame img{object-position:center 55%}.portrait-stamp{bottom:16px;left:-16px}.hero-portrait figcaption{flex-direction:row;align-items:center}.hero-bottom{align-items:start;margin-top:0;padding-bottom:23px;font-size:.53rem}.hero-bottom span:first-child{max-width:130px}.hero-bottom a{text-align:right;gap:5px}.section-topline{align-items:start;margin-bottom:26px}.section-topline .eyebrow{font-size:.6rem}.section-topline>.muted{text-align:right;max-width:120px}.section-heading-row{margin-bottom:30px;display:block}.section-heading-row>p{max-width:350px;margin-top:22px}.work-filters{gap:4px;padding-bottom:25px}.work-filters button{padding:10px 11px;font-size:.66rem}.work-count{display:none}.project-grid{grid-template-columns:1fr;gap:40px}.project-title{flex-wrap:wrap;gap:8px 18px;font-size:1.55rem}.about-layout{grid-template-columns:1fr;gap:32px}.career-entry{grid-template-columns:1fr;gap:20px;padding-block:28px}.career-meta{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.career-period{margin-bottom:0}.career-content h3{font-size:1.4rem}.work-section{padding-block:32px}.archive-heading{font-size:1.1rem}.archive-summary{grid-template-columns:1fr;gap:16px;padding-block:23px}.archive-toggle{justify-content:space-between;width:100%}.stack-section{padding-block:44px 24px}.stack-layout{grid-template-columns:1fr;gap:26px;margin-top:26px}.stack-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.work-filters button{min-height:44px}.theme-toggle{min-width:44px;min-height:44px}.dialog-close,.copy-button,.project-title,.site-footer>a.mono{min-height:44px}.about-heading h2{margin-top:25px}.about-note{margin-top:22px}.about-copy>.about-lead{font-size:1.3rem}.contact-actions{gap:18px}.contact-section h2{font-size:clamp(2.4rem,8.7vw,3.6rem)}.site-footer{flex-wrap:wrap;gap:20px 10px;padding-block:24px}.site-footer .wordmark{width:100%}.site-footer>.mono{font-size:.52rem}.dialog-top{padding:12px 16px}.dialog-content{padding:25px 22px 30px}}@media (width<=380px){.shell{width:calc(100% - 32px)}.hero h1{font-size:clamp(2.85rem,12vw,3.3rem)}.button-primary{gap:18px;padding-inline:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}[data-reveal],[data-reveal].reveal-pending{opacity:1;transform:none}.button-primary:hover,.theme-toggle:hover svg{transform:none}.hero-portrait:hover .portrait-image>img{transform:scale(1.03)}.focus-list>div:hover{padding-left:0}.stack-item:hover .stack-icon{transform:none}}}
