@font-face{font-family:Geist;src:url(/assets/fonts/geist-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/assets/fonts/geist-medium.ttf)format("truetype");font-style:normal;font-weight:500 900;font-display:swap}@font-face{font-family:Instrument;src:url(/assets/fonts/instrument-serif.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--font-body:Geist, Arial, sans-serif;--font-display:Instrument, Georgia, serif;--type-meta:.6875rem;--type-caption:.8125rem;--type-ui:.875rem;--type-body:clamp(.9375rem, .9rem + .2vw, 1rem);--type-lead:clamp(1.125rem, 1rem + .55vw, 1.5rem);--type-card:clamp(2rem, 1.6rem + 1.5vw, 2.5rem);--type-feature:clamp(2.75rem, 2rem + 2.9vw, 4.75rem);--type-section:clamp(2.5rem, 1.8rem + 2.8vw, 4.125rem);--type-subsection:clamp(1.75rem, 1.6rem + .6vw, 2rem);--type-page:clamp(3rem, 2rem + 4vw, 6rem);--type-project:clamp(3.125rem, 2rem + 5vw, 7rem);--type-contact:clamp(3.25rem, 2rem + 6vw, 8rem);--leading-body:1.75;--leading-heading:1.12;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-block:clamp(2rem, 1.5rem + 1.5vw, 3rem);--space-section:clamp(3rem, 2rem + 3vw, 5rem);--space-page-start:clamp(2.5rem, 2rem + 2vw, 4rem);--layout-gap:clamp(1.5rem, 4vw, 4rem);--content-max:80rem;--page-gutter:clamp(1rem, 5vw, 6rem);--content-inset:max(var(--page-gutter), calc((100% - var(--content-max)) / 2));--measure-copy:56ch;--measure-intro:40ch;--measure-wide:64ch;--bg:#f5f2eb;--work-bg:#e9e6dd;--work-accent:#805b24;--surface:#eae6dd;--fg:#25251f;--muted:#63635a;--line:#c9c6bc;--accent:#9b6819;--motion-press:.1s;--motion-hover:.18s;--motion-state:.24s;--motion-icon-travel:3px;--motion-ease-color:ease;--motion-ease-press:cubic-bezier(.2, 0, 0, 1);--motion-panel:.32s;--motion-menu:.32s;--motion-ease:cubic-bezier(.22, 1, .36, 1);--header:#f5f2ebf7;--heat0:#e3e0d6;--heat1:#d2c3a0;--heat2:#bca16a;--heat3:#977a3b;--heat4:#5f4c25;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#191b19;--work-bg:#20231f;--work-accent:#d5ab5e;--surface:#232622;--fg:#eeece4;--muted:#b1b4aa;--line:#41453c;--accent:#d5ab5e;--header:#191b19f7;--heat0:#2c3029;--heat1:#665a38;--heat2:#91804d;--heat3:#b79a56;--heat4:#ddbb6c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--bg:#191b19;--work-bg:#20231f;--work-accent:#d5ab5e;--surface:#232622;--fg:#eeece4;--muted:#b1b4aa;--line:#41453c;--accent:#d5ab5e;--header:#191b19f7;--heat0:#2c3029;--heat1:#665a38;--heat2:#91804d;--heat3:#b79a56;--heat4:#ddbb6c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:90px}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}p,h1,h2,h3,h4,ul{margin:0}p+p{margin-top:var(--space-4)}h1,h2,h3,h4{font-weight:400;line-height:var(--leading-heading);text-wrap:balance}::selection{color:#191b19;background:#d4ad65}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}main:focus{outline:0}.container{width:min(var(--content-max), calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--type-meta);font-weight:500;line-height:1.5}.muted,.small-text{color:var(--muted)}.small-text{font-size:var(--type-caption)}.small-text+.small-text{margin-top:4px}.small-link{font-size:var(--type-caption);align-items:center;gap:6px;min-height:44px;display:inline-flex}.small-link:hover{text-underline-offset:5px;text-decoration:underline}.skip-link{z-index:100;background:var(--bg);padding:12px 22px;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{height:70px;padding:0 var(--content-inset);z-index:20;background:var(--header);border-bottom:1px solid var(--line);align-items:center;gap:32px;display:flex;position:relative}.wordmark{letter-spacing:.075em;white-space:nowrap;font-size:15px;font-weight:500}.brand-dot{color:var(--accent)}.desktop-navigation{font-size:var(--type-caption);align-items:center;gap:30px;margin-left:auto;display:flex}.desktop-navigation a{align-items:center;min-height:44px;display:flex;position:relative}.header-controls{align-items:center;gap:18px;display:flex}.locale-switch{border-inline:1px solid var(--line);align-items:center;gap:14px;padding-inline:18px;display:flex}.locale-switch a{font-size:var(--type-meta);justify-content:center;align-items:center;min-width:26px;min-height:44px;display:flex}.icon-button{border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.menu-toggle{display:none}.mobile-menu{background:var(--bg);width:min(100%,480px);height:100dvh;max-height:100dvh;color:var(--fg);border:0;margin:0 0 0 auto;padding:28px;inset:0}dialog::backdrop{background:#0009}.menu-top{justify-content:space-between;align-items:center;display:flex}.mobile-menu nav{margin:45px 0;display:grid}.mobile-menu nav a{font-family:var(--font-display);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:13px 0;font-size:48px;display:flex}.mobile-menu nav .eyebrow{color:var(--accent);font-family:Geist,sans-serif}.menu-bottom{gap:24px;display:grid}.menu-bottom p{font-size:var(--type-caption);color:var(--muted)}.menu-bottom .header-controls{justify-content:space-between}.menu-bottom .locale-switch{border-left:0;padding-left:0}.button{background:var(--fg);color:var(--bg);min-height:48px;font-size:var(--type-ui);justify-content:space-between;align-items:center;gap:28px;padding:12px 21px;display:inline-flex}.button-dark{color:#fffdf6;background:#20241f;border:1px solid #ffffff30}.section{padding-block:var(--space-section)}.section-label{border-top:1px solid var(--line);padding-top:var(--space-4);margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:20px;display:flex}.section-label>.eyebrow:first-child:before{content:"";vertical-align:middle;background:var(--accent);width:28px;height:2px;margin-right:15px;display:inline-block}.text-link{min-height:44px;font-size:var(--type-ui);border-bottom:1px solid;align-items:center;gap:20px;width:fit-content;line-height:1.5;display:inline-flex}.featured-image,.project-image{background:var(--surface);display:block;position:relative;overflow:hidden}.featured-image img,.project-image img{aspect-ratio:1.5;object-fit:cover;width:100%;transition:transform .45s}.image-arrow{background:var(--bg);color:var(--fg);opacity:0;padding:12px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:16px;right:16px;transform:translateY(8px)}.featured-image:hover .image-arrow,.project-image:hover .image-arrow,.featured-image:focus-visible .image-arrow,.project-image:focus-visible .image-arrow{opacity:1;transform:translateY(0)}.section-end{font-size:var(--type-ui);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;display:flex}.section-end .text-link{color:var(--fg)}.section-intro{gap:var(--layout-gap);margin:var(--space-block) 0;grid-template-columns:1fr 1fr;align-items:start;display:grid}.section-intro h2{font-family:var(--font-display);font-size:var(--type-section);letter-spacing:-.03em;max-width:600px}.section-intro>p,.section-intro>div{max-width:440px;color:var(--muted);padding-top:8px}.section-intro .text-link{color:var(--fg);margin-top:18px}.organization{font-size:var(--type-caption);color:var(--muted)}.contribution-scroll{padding:8px 2px 14px;overflow-x:auto}.contribution-grid{grid-template-rows:repeat(7,13px);grid-auto-columns:13px;grid-auto-flow:column;gap:5px;width:fit-content;display:grid}.contribution-grid span,.github-legend i{background:var(--heat0);border-radius:2px;width:13px;height:13px;display:inline-block}.contribution-grid .contribution-empty{background:0 0}[data-level="1"]{background:var(--heat1)!important}[data-level="2"]{background:var(--heat2)!important}[data-level="3"]{background:var(--heat3)!important}[data-level="4"]{background:var(--heat4)!important}.github-legend{font-size:var(--type-meta);color:var(--muted);justify-content:space-between;gap:20px;padding-top:10px;display:flex}.github-legend>span{white-space:nowrap;align-items:center;gap:5px;display:flex}.github-events{border-top:1px solid var(--line);margin-top:24px}.github-events a{border-bottom:1px solid var(--line);font-size:var(--type-caption);align-items:center;gap:24px;padding:16px 0;display:flex}.github-events a>span:nth-child(2){overflow-wrap:anywhere}.github-events a>svg:last-child{margin-left:auto}.snapshot-note{font-size:var(--type-meta);color:var(--muted);margin-top:16px}.github-fallback{border-block:1px solid var(--line);color:var(--muted);padding-block:35px}.page-space{padding-top:var(--space-page-start);padding-bottom:var(--space-section)}.page-heading{padding-bottom:var(--space-block)}.page-heading h1{font-family:var(--font-display);font-size:var(--type-page);letter-spacing:-.035em;white-space:pre-line;margin:var(--space-6) 0}.page-heading>p:last-child:not(.eyebrow){max-width:var(--measure-copy);color:var(--muted);font-size:var(--type-body);line-height:var(--leading-body)}.archive-toolbar{border-block:1px solid var(--line);padding-block:var(--space-3);margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:20px;display:flex}.filter-list{flex-wrap:wrap;gap:12px;display:flex}.filter-list button{min-height:44px;font-size:var(--type-caption);align-items:center;gap:12px;padding:8px 14px;display:flex}.filter-list button span{font-size:var(--type-meta);opacity:.6}.project-grid{gap:var(--space-12) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card-meta{margin-top:var(--space-4);color:var(--muted);justify-content:space-between;gap:16px;display:flex}.project-card-meta .eyebrow{font-size:var(--type-meta);letter-spacing:.08em}.project-card h2{font-family:var(--font-display);font-size:var(--type-card);letter-spacing:-.035em;margin:var(--space-3) 0}.project-card p{font-size:var(--type-body);color:var(--muted);max-width:var(--measure-intro);line-height:var(--leading-body)}.breadcrumb{font-size:var(--type-caption);color:var(--muted);padding:var(--space-6) 0 var(--space-8);align-items:center;gap:12px;display:flex}.breadcrumb a{border-bottom:1px solid var(--line);align-items:center;min-height:44px;display:inline-flex}.breadcrumb a:hover{color:var(--accent)}.detail-heading{max-width:840px}.detail-heading h1{font-family:var(--font-display);font-size:var(--type-project);letter-spacing:-.035em;margin:var(--space-6) 0}.detail-tagline{letter-spacing:-.025em;max-width:740px;font-size:clamp(22px,2.5vw,33px);line-height:1.3}.detail-intro{max-width:var(--measure-wide);color:var(--muted);margin-top:var(--space-6);font-size:var(--type-body);line-height:var(--leading-body)}.project-facts{gap:var(--space-8);border-top:1px solid var(--line);margin-top:var(--space-block);padding:var(--space-6) 0 var(--space-8);grid-template-columns:1fr 1fr 1fr 1.3fr;display:grid}.project-facts .eyebrow{color:var(--muted);font-size:var(--type-meta)}.project-facts p{font-size:var(--type-caption);margin-top:8px}.project-links{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.project-links .text-link{font-size:var(--type-caption);gap:10px;min-height:44px}.status-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.detail-story{gap:var(--space-12) var(--layout-gap);padding:var(--space-block) 0;grid-template-columns:1fr 1fr;display:grid}.detail-story h2{font-family:var(--font-display);font-size:var(--type-subsection);letter-spacing:-.025em;margin-bottom:var(--space-4)}.detail-story p{color:var(--muted);font-size:var(--type-body);line-height:var(--leading-body);max-width:var(--measure-copy)}.detail-stack{border-top:1px solid var(--line);padding-top:var(--space-6);grid-column:1/-1;grid-template-columns:1fr 3fr;gap:0 20px;display:grid}.tag-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);font-size:var(--type-caption);height:fit-content;padding:7px 13px}.project-note{grid-column:2;margin-top:15px!important;font-size:12px!important}.detail-gallery{padding:var(--space-6) 0 var(--space-section)}.gallery-main{background:var(--surface);width:100%;height:clamp(250px,49vw,700px);padding:25px;display:block;position:relative}.gallery-main img{object-fit:contain;width:100%;height:100%}.enlarge{background:var(--bg);padding:12px;display:flex;position:absolute;bottom:12px;right:12px}.gallery-controls{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.gallery-controls>div{gap:10px;display:flex}.gallery-controls .icon-button{border:1px solid var(--line)}.gallery-thumbnails{gap:10px;padding-block:15px;display:flex;overflow-x:auto}.gallery-thumbnails button{background:var(--surface);opacity:.65;border:1px solid #0000;flex-shrink:0;width:100px;height:70px;padding:4px}.gallery-thumbnails button[aria-pressed=true]{border-color:var(--accent);opacity:1}.gallery-thumbnails img{object-fit:contain;width:100%;height:100%}.education-heading{gap:var(--layout-gap);padding:var(--space-4) 0 var(--space-8);grid-template-columns:1fr 1fr;display:grid}.education h3{font-family:var(--font-display);letter-spacing:-.03em;font-size:47px}.education-heading p{font-size:var(--type-body);line-height:var(--leading-body)}.thesis{border-top:1px solid var(--line);padding-top:var(--space-8);grid-template-columns:25% 1fr;gap:4%;display:grid}.thesis h4{margin-bottom:var(--space-4);font-size:22px;line-height:1.45}.thesis p:not(.eyebrow){color:var(--muted);font-size:var(--type-body);max-width:var(--measure-wide);line-height:var(--leading-body)}.thesis .text-link{margin-top:20px}.certificate-grid{gap:var(--space-8) var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.certificate-image{background:var(--surface);aspect-ratio:1.4;justify-content:center;align-items:center;padding:20px;display:flex}.certificate-image img{object-fit:contain;width:100%;max-height:100%}.certificate-copy{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}.certificate-copy .eyebrow{font-size:var(--type-meta);color:var(--muted)}.contact-page{min-height:75dvh}.contact-page .page-heading h1{font-size:var(--type-contact)}.contact-body{border-top:1px solid var(--line);padding-top:var(--space-8);gap:var(--layout-gap);grid-template-columns:2fr 1fr;display:grid}.contact-email{font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-height:44px;margin:var(--space-4) 0 var(--space-6);align-items:center;gap:15px;font-size:clamp(25px,3.6vw,54px);display:inline-flex}.contact-email svg{flex:none;width:35px;height:35px}.contact-actions{align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;display:flex}.copy-email{font-size:var(--type-caption)}.copy-email>span{max-width:250px;margin-top:8px;display:block}.copy-email button{font-size:var(--type-caption);gap:10px}.contact-socials>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;font-size:20px;display:flex}.contact-socials>a:first-child{padding-top:0}.contact-socials small{color:var(--muted);font-size:var(--type-caption);margin-top:5px;display:block}.contact-socials .eyebrow{margin-top:30px}.entry-page{gap:28px;padding:15vh 6%;display:grid}.entry-page h1,.error-heading{font-family:var(--font-display);font-size:clamp(44px,8vw,100px)}.site-footer{background:var(--surface);margin-top:30px}.footer-invite{padding-block:var(--space-section)}.footer-heading{font-family:var(--font-display);letter-spacing:-.04em;margin:var(--space-6) 0;justify-content:space-between;align-items:center;gap:30px;font-size:clamp(43px,6.4vw,98px);line-height:1.1;display:flex}.footer-heading svg{width:70px;height:70px}.footer-meta{border-top:1px solid var(--line);padding-block:var(--space-6);font-size:var(--type-meta);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-meta .wordmark{color:var(--fg);font-size:12px}.footer-meta>div{gap:22px;display:flex}.footer-meta a:not(.wordmark){align-items:center;gap:5px;min-height:44px;display:inline-flex}body:has(.contact-page) .footer-invite{display:none}body:has(.contact-page) .footer-meta{border:0}@media (max-width:1100px){.site-header,.desktop-navigation{gap:20px}.header-controls{gap:10px}.locale-switch{gap:6px;padding-inline:10px}.wordmark{font-size:13px}.section{padding-block:var(--space-section)}.project-facts{gap:var(--space-6)}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-body{gap:var(--layout-gap)}.contact-email{font-size:32px}}@media (max-width:850px){.desktop-navigation,.desktop-controls{display:none}.menu-toggle{margin-left:auto;display:inline-flex}.site-header{height:64px}.section-intro{gap:var(--layout-gap)}.project-facts{grid-template-columns:1fr 1fr}.project-links{flex-flow:wrap}.contact-body{gap:var(--space-12);grid-template-columns:1fr}.contact-socials{max-width:500px}.education h3{font-size:38px}.thesis{gap:var(--space-6);grid-template-columns:1fr}.footer-meta{justify-content:flex-start;gap:15px 30px}.footer-meta>span:last-child{margin-left:auto}}@media (max-width:700px){body{font-size:var(--type-body)}.container{width:min(var(--content-max), calc(100% - 2 * var(--page-gutter)))}.site-header{padding-inline:var(--content-inset)}.wordmark{font-size:12px}.section{padding-block:var(--space-section)}.section-label{margin-bottom:var(--space-8)}.section-label .eyebrow{font-size:var(--type-meta);letter-spacing:.12em}.section-label>.eyebrow:first-child:before{width:20px;margin-right:10px}.featured-image{order:1}.image-arrow{opacity:1;padding:9px;bottom:10px;right:10px;transform:none}.section-end{font-size:var(--type-caption);flex-direction:column;align-items:flex-start;gap:10px}.section-intro{gap:var(--space-6);margin:var(--space-8) 0;grid-template-columns:1fr}.section-intro h2{font-size:var(--type-section);max-width:440px}.section-intro>p,.section-intro>div{font-size:var(--type-body);line-height:var(--leading-body);padding:0}.github-legend{flex-direction:column;gap:12px}.github-events a{font-size:var(--type-meta);gap:12px}.github-events .eyebrow{font-size:var(--type-meta);min-width:75px}.github-section{padding-bottom:30px}.page-space{padding-top:var(--space-page-start);padding-bottom:var(--space-section)}.page-heading{padding-bottom:var(--space-block)}.page-heading h1{font-size:var(--type-page);margin:var(--space-6) 0}.page-heading>p:last-child:not(.eyebrow){font-size:var(--type-body);line-height:var(--leading-body)}.archive-toolbar{margin-bottom:var(--space-8);align-items:flex-start;gap:14px}.archive-toolbar>.eyebrow{display:none}.filter-list{gap:4px}.filter-list button{font-size:var(--type-caption);gap:7px;padding:8px 10px}.project-grid{gap:var(--space-10);grid-template-columns:1fr}.project-card h2{font-size:var(--type-card)}.project-card p{font-size:var(--type-body);line-height:var(--leading-body)}.project-card-meta{margin-top:var(--space-4)}.breadcrumb{padding:var(--space-4) 0 var(--space-6);font-size:var(--type-meta);gap:8px}.detail-heading>.eyebrow{font-size:var(--type-meta)}.detail-heading h1{font-size:var(--type-project);overflow-wrap:normal;margin-block:var(--space-6)}.detail-tagline{font-size:25px}.detail-intro{font-size:var(--type-body);line-height:var(--leading-body)}.project-facts{gap:var(--space-6) var(--space-4);margin-top:var(--space-8);padding-bottom:var(--space-8)}.project-facts p{font-size:var(--type-caption)}.project-links{grid-column:1/-1;gap:10px 20px}.detail-story{gap:var(--space-8);padding:var(--space-8) 0;grid-template-columns:1fr}.detail-story h2{font-size:var(--type-subsection);margin-bottom:var(--space-4)}.detail-story p{font-size:var(--type-body);line-height:var(--leading-body)}.detail-stack{grid-template-columns:1fr;gap:0}.detail-stack h2{margin-bottom:20px}.project-note{grid-column:auto;font-size:11px!important}.detail-gallery{padding:var(--space-4) 0 var(--space-section)}.gallery-main{height:320px;padding:12px}.gallery-controls .eyebrow{font-size:var(--type-meta)}.gallery-thumbnails button{width:75px;height:54px}.education-heading{grid-template-columns:1fr;gap:20px;padding-top:5px}.education h3{font-size:38px}.thesis h4{font-size:20px}.thesis p:not(.eyebrow){font-size:var(--type-body);line-height:var(--leading-body)}.certificate-grid{grid-template-columns:1fr;gap:25px}.certificate-image{aspect-ratio:1.5}.contact-page .page-heading h1{font-size:var(--type-contact)}.contact-body{gap:40px;padding-top:25px}.contact-email{gap:8px;font-size:clamp(26px,7vw,46px)}.contact-email svg{width:23px;height:23px}.contact-actions{gap:var(--space-6)}.footer-invite{padding-block:var(--space-section)}.footer-heading{margin-block:var(--space-6);align-items:flex-start;gap:15px;font-size:48px}.footer-heading svg{width:40px;height:40px;margin-top:6px}.footer-meta{padding-block:var(--space-6);gap:10px 20px}.footer-meta .wordmark{width:100%;margin-bottom:3px;font-size:12px}.footer-meta>span:last-child{width:100%;margin-left:0}.footer-meta>span{font-size:var(--type-meta)}.footer-meta>div{gap:15px}.site-footer{margin-top:20px}}@media (max-width:370px){.contact-page .page-heading h1{font-size:var(--type-contact)}.filter-list button{font-size:var(--type-meta);padding-inline:7px}.mobile-menu{padding:22px}.footer-heading{font-size:41px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.gallery-caption{color:var(--muted);font-size:var(--type-caption);max-width:850px;margin-top:14px;line-height:1.6}.tech-reel{border-top:1px solid var(--line);margin-top:42px;padding-top:20px;overflow:hidden}.tech-reel-label{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.marquee-rows{gap:12px;display:grid}.marquee-row{scrollbar-width:thin;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.tech-reel[data-in-view] .marquee-row{overflow-x:hidden}.marquee-track{width:100%;display:flex}.marquee-group{flex:none;justify-content:space-around;align-items:center;gap:24px;width:max-content;min-width:100%;padding:0 24px 0 0;list-style:none;animation:38s linear infinite paused technology-marquee;display:flex}.marquee-reverse .marquee-group{animation-duration:44s;animation-direction:reverse}.marquee-group li{flex:none;justify-content:center;align-items:center;min-width:174px;min-height:64px;padding:12px 16px;display:flex}.marquee-group .tech-badge{font-size:var(--type-caption);white-space:nowrap;gap:12px}.marquee-group .tech-icon{width:25px;height:25px}.tech-reel[data-in-view=true] .marquee-group{animation-play-state:running}.tech-reel .marquee-row:focus-within .marquee-group{animation-play-state:paused}.marquee-row:focus-within{-webkit-mask-image:none;mask-image:none}@media (hover:hover){.marquee-rows:hover .marquee-group{animation-play-state:paused!important}}@keyframes technology-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.experience-timeline{margin:var(--space-12) 0 0;padding:0;list-style:none}.timeline-item{--timeline-marker-size:64px;--timeline-gap:var(--space-8);grid-template-columns:var(--timeline-marker-size) 190px minmax(0, 1fr);gap:var(--timeline-gap);padding-block:var(--space-6) var(--space-12);background:linear-gradient(var(--line), var(--line)) right top / calc(100% - var(--timeline-marker-size) - var(--timeline-gap)) 1px no-repeat;display:grid;position:relative}.timeline-item:before,.timeline-item:after{content:"";left:calc(var(--timeline-marker-size) / 2);top:calc(var(--space-6) + var(--timeline-marker-size) + var(--space-3));bottom:calc(-1 * var(--space-6) + var(--space-3));background:var(--line);pointer-events:none;width:1px;position:absolute}.timeline-item:after{background:var(--accent);transform-origin:top}.timeline-item:last-child{padding-bottom:0}.timeline-item:last-child:before,.timeline-item:last-child:after{display:none}.timeline-marker{width:var(--timeline-marker-size);height:var(--timeline-marker-size);border:1px solid var(--line);background:var(--bg);color:var(--accent);justify-content:center;align-self:start;align-items:center;display:flex;position:relative}.timeline-number{font-family:var(--font-display);letter-spacing:-.04em;font-size:52px;line-height:1}.timeline-marker:before{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;position:absolute;top:0;left:0}.timeline-marker:after{content:"";background:var(--accent);pointer-events:none;width:8px;height:8px;position:absolute;top:-4px;right:-4px;transform:rotate(135deg)}.timeline-meta{padding-top:2px}.timeline-period{font-size:var(--type-caption);font-weight:500;line-height:1.6}.timeline-location{font-size:var(--type-meta);color:var(--muted);margin-top:var(--space-2)}.timeline-entry{min-width:0}.timeline-entry h3{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(32px,3vw,44px);font-weight:400;line-height:1.12}.timeline-entry .organization{font-size:var(--type-ui);margin-top:var(--space-3)}.timeline-description{max-width:var(--measure-wide);margin-top:var(--space-6);font-size:var(--type-body);line-height:var(--leading-body);color:var(--muted)}.timeline-description p+p{margin-top:var(--space-3)}@media (max-width:1000px){.timeline-item{--timeline-marker-size:52px;--timeline-gap:var(--space-6);grid-template-columns:var(--timeline-marker-size) 150px minmax(0, 1fr)}.timeline-number{font-size:40px}.timeline-entry h3{font-size:32px}}@media (max-width:700px){.experience-timeline{margin-top:32px}.timeline-item{--timeline-marker-size:36px;--timeline-gap:var(--space-4);grid-template-columns:var(--timeline-marker-size) minmax(0, 1fr);gap:var(--space-2) var(--timeline-gap);padding-bottom:var(--space-10)}.timeline-meta,.timeline-entry{grid-column:2}.timeline-marker{grid-area:1/1}.timeline-number{font-size:32px}.timeline-marker:after{width:6px;height:6px;top:-3px;right:-3px}.timeline-meta{padding:0 0 8px}.timeline-period{font-size:var(--type-meta)}.timeline-location{font-size:var(--type-meta);margin-top:3px}.timeline-entry h3{font-size:clamp(28px,7vw,36px)}.timeline-entry .organization{font-size:var(--type-caption)}.timeline-description{font-size:var(--type-body);line-height:var(--leading-body);margin-top:16px}.marquee-group{gap:10px;padding-right:10px}.marquee-group li{min-width:154px;min-height:60px;padding:16px 12px}.marquee-group .tech-badge{font-size:var(--type-caption)}.marquee-group .tech-icon{width:23px;height:23px}.marquee-rows{gap:10px}}@media (prefers-reduced-motion:reduce){.marquee-group{transform:none;animation:none!important}.marquee-group[aria-hidden=true]{display:none}.tech-reel[data-in-view] .marquee-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}.tech-badge{align-items:center;gap:9px;min-width:0;line-height:1.4;display:inline-flex}.tech-icon{object-fit:contain;flex-shrink:0;width:22px;height:22px}:root[data-theme=dark] .tech-icon-mono{filter:invert()}@media (prefers-color-scheme:dark){:root[data-theme=system] .tech-icon-mono{filter:invert()}}.tag-list .tech-badge{font-size:var(--type-caption)}.tag-list .tech-icon{width:17px;height:17px}.certificate{text-align:left;width:100%;padding:0;display:block}.certificate-copy{display:block}.certificate-title{justify-content:space-between;gap:12px;margin-top:10px;font-size:16px;line-height:1.5;display:flex}.gallery-main{cursor:grab}.gallery-hint{font-size:var(--type-meta);color:var(--muted);margin-top:12px}.detail-story{border-top:1px solid var(--line);padding-top:var(--space-block)}@media (max-width:700px){.certificate-title{font-size:15px}.tech-reel{margin-top:28px}.gallery-hint{font-size:var(--type-meta)}}.tech-reel,.marquee-rows,.marquee-row{min-width:0;max-width:100%}.marquee-row{width:100%}.marquee-group .tech-icon,.marquee-group .tech-badge{flex-shrink:0}.gallery-viewport{touch-action:pan-y pinch-zoom;overflow:hidden}.gallery-track{touch-action:pan-y pinch-zoom;display:flex}.gallery-slide{flex:0 0 100%;min-width:0}.gallery-slide .gallery-visual{pointer-events:none;-webkit-user-select:none;user-select:none}.gallery-main{touch-action:pan-y pinch-zoom}.gallery-main:active{cursor:grabbing}.missing-page{align-content:center;min-height:100svh;padding-block:80px;display:grid}.missing-page h1{max-width:850px;margin:24px 0;font:clamp(52px,9vw,120px)/1.05 Instrument,Georgia,serif}.missing-page .missing-actions{flex-wrap:wrap;gap:28px;margin-top:32px;display:flex}.missing-page .wordmark{justify-self:start;margin-bottom:56px}.capability-explorer{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7%;margin-top:42px;display:grid}.capability-index{flex-direction:column;display:flex}.capability-index button{border-top:1px solid var(--line);text-align:left;color:var(--muted);transition:color var(--motion-hover) ease;grid-template-columns:26px 1fr 22px;align-items:center;gap:20px;padding:24px 0;font-size:clamp(18px,1.7vw,25px);line-height:1.25;display:grid;position:relative}.capability-index button:last-child{border-bottom:1px solid var(--line)}.capability-index button[aria-selected=true]{color:var(--fg)}.capability-index button>svg{color:var(--accent);transition:transform var(--motion-panel) var(--motion-ease);transform:rotate(45deg)}.capability-index button[aria-selected=true]>svg{transform:rotate(0)}.capability-number{font-size:var(--type-meta);letter-spacing:.1em;color:var(--accent)}.capability-stage{border-left:1px solid var(--line);min-width:0;padding:0 0 0 36px}.capability-panel{flex-direction:column;min-height:300px;display:flex}.capability-panel[hidden]{display:none}.capability-panel h3{font:var(--type-subsection)/var(--leading-heading) Instrument, Georgia, serif;text-wrap:balance;margin-bottom:18px}.capability-description{font-size:var(--type-body);line-height:var(--leading-body);max-width:var(--measure-copy)}.capability-tools{flex-wrap:wrap;gap:10px 18px;margin-top:auto;padding:28px 0 0;list-style:none;display:flex}.capability-tools li{font-size:var(--type-meta);color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:5px}.contribution-calendar{position:relative}.contribution-grid button{background:var(--heat0);border:1px solid #0000;border-radius:2px;width:13px;height:13px;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s;display:block;position:relative}.contribution-grid button:focus-visible{border-color:var(--fg);z-index:1;outline:none;transform:scale(1.25)}.contribution-tooltip{z-index:10;background:var(--fg);width:max-content;max-width:220px;color:var(--bg);font-size:var(--type-meta);text-align:center;pointer-events:none;border-radius:5px;padding:10px 13px;line-height:1.6;animation:.15s ease-out contribution-tip;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 20px #0002}.contribution-tooltip:after{content:"";background:var(--fg);width:9px;height:9px;position:absolute;bottom:-3px;left:calc(50% - 3px);transform:rotate(45deg)}@keyframes contribution-tip{0%{opacity:0;transform:translate(-50%,calc(3px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}@media (max-width:1000px){.capability-explorer{gap:5%}.capability-stage{padding-left:24px}.capability-index button{gap:12px}}@media (max-width:700px){.capability-explorer{grid-template-columns:1fr;gap:32px;margin-top:28px}.capability-index button{grid-template-columns:22px 1fr 20px;padding:18px 0;font-size:19px}.capability-stage{border-left:0;padding-left:0}.capability-panel{min-height:300px}.capability-panel h3{font-size:var(--type-subsection)}.capability-description{font-size:var(--type-body);line-height:var(--leading-body)}}@media (prefers-reduced-motion:reduce){.capability-panel,.contribution-tooltip{animation:none!important}.capability-index button:before,.capability-index button>svg,.contribution-grid button{transition:none}}.featured-image img,.project-image img{object-fit:contain;max-height:72svh}.gallery-main{height:min(clamp(250px,49vw,700px),72svh)}.image-arrow{opacity:1;border:1px solid var(--line);transform:none}.image-arrow svg,.enlarge svg,.certificate-action svg{transition:translate .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.enlarge{font-size:var(--type-meta);border:1px solid var(--line);align-items:center;gap:8px}.certificate-action{width:fit-content;min-height:36px;color:var(--accent);font-size:var(--type-meta);border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-top:12px;display:inline-flex}.interaction-hint{color:var(--muted);font-size:var(--type-caption);margin-top:-8px;margin-bottom:20px;line-height:1.7}@media (hover:hover){.project-card h2 a:hover{color:var(--accent)}.featured-image:hover .image-arrow svg,.project-image:hover .image-arrow svg{translate:3px -2px}.gallery-main:hover .enlarge{color:var(--accent);background:var(--bg)}.gallery-main:hover .enlarge svg{transform:scale(1.1)}.capability-index button:hover{color:var(--fg)}.capability-index button:hover>svg{transform:rotate(0)}.contact-socials a:hover{color:var(--accent);background:var(--surface)}.certificate:hover .certificate-action{border-color:var(--accent)}.mobile-menu nav a:hover{color:var(--accent);background:var(--surface)}}:where(.project-card h2 a,.footer-meta a,.contact-email):focus-visible{text-underline-offset:5px;text-decoration:underline}@media (prefers-reduced-motion:reduce){:is(a,button,summary),.image-arrow svg,.enlarge svg,.small-link svg,.text-link svg,.certificate-action svg,.gallery-controls svg{transition:none!important}}.featured-image:focus-visible,.project-image:focus-visible,.gallery-viewport:focus-within,.certificate:focus-visible .certificate-image{clip-path:none!important}.mobile-menu nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.mobile-menu nav a[aria-current] .eyebrow:after{content:" /"}@media (max-height:600px){.mobile-menu{padding:var(--space-4);overscroll-behavior:contain;overflow-y:auto}.mobile-menu nav{margin-block:var(--space-6)}.mobile-menu nav a{min-height:44px;padding-block:var(--space-2);font-size:2rem;line-height:1.2}}.site-header{height:82px}@media (max-width:850px){.site-header{height:68px}}.mobile-navigation-static{display:none}@media (max-width:850px){.mobile-navigation-static{padding:12px var(--page-gutter);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 24px;display:flex}.mobile-navigation-static a{align-items:center;min-height:44px;display:inline-flex}.mobile-navigation-static a[aria-current]{color:var(--accent);text-decoration:underline}}html:has(.mobile-menu[open]){overflow:hidden}.capability-disclosure summary{transition:color var(--motion-hover) ease}.capability-disclosure summary:focus-visible,.capability-disclosure[open] summary{color:var(--fg)}.github-evidence{padding-top:20px;position:relative}.github-evidence:before{content:"";background:var(--accent);transform-origin:0;pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.github-calendar-stage,.github-activity-meta{min-width:0}
@property --scene-progress{syntax:"<number>";inherits:true;initial-value:1}@keyframes scene-progress{0%{--scene-progress:0}to{--scene-progress:1}}@media (prefers-reduced-motion:no-preference){:root[data-motion=native] [data-scene]{animation:linear both scene-progress;animation-timeline:view(0 12%);animation-range:entry 0 entry 28vh}:root[data-motion=native] [data-scene=hero]{animation-timeline:view();animation-range:exit exit 80%}:root[data-motion=native] [data-scene]:is([data-scene=work-media],[data-scene=portrait]){animation-timeline:view(0 6%);animation-range:entry 0 entry 44vh}:root[data-motion] [data-scene]{--scene-travel:24px;--heading-travel:12px;--lead:clamp(0, calc(var(--scene-progress) / .65), 1);--media:clamp(0, calc((var(--scene-progress) - .08) / .92), 1);--tail:clamp(0, calc((var(--scene-progress) - .25) / .75), 1)}[data-scene] .scene-heading,[data-scene=heading]>h2,[data-scene=heading]>h3{translate:0 calc((1 - var(--lead,1)) * var(--heading-travel,12px))}[data-scene=hero] .hero-photo{transform:translateY(calc(var(--scene-progress,0) * -10px)) scale(1.015)}[data-scene=work] .featured-copy>.eyebrow{translate:0 calc((1 - var(--lead,1)) * -8px)}[data-scene=work] .featured-copy>.text-link{translate:0 calc((1 - var(--tail,1)) * 12px)}[data-scene=work-media] img{transform:translateY(calc((1 - var(--media,1)) * var(--scene-travel,24px))) scale(calc(1.025 - .025 * var(--media,1)))}[data-scene=work-media][data-composition="1"] img{transform:scale(calc(1.04 - .04 * var(--media,1)));clip-path:inset(0 calc((1 - var(--media,1)) * 9%))}[data-scene=work-media][data-composition="2"] img{transform:translateY(calc((1 - var(--media,1)) * 12px));clip-path:inset(0 0 calc((1 - var(--media,1)) * 18%))}[data-scene=experience]:after{transform:scaleY(var(--scene-progress,1))}[data-scene=experience] .timeline-marker:before{transform:scaleX(var(--lead,1));transform-origin:0}[data-scene=experience] .timeline-number{translate:0 calc((1 - var(--lead,1)) * -8px)}[data-scene=experience] .timeline-entry{translate:0 calc((1 - var(--tail,1)) * var(--scene-travel,24px))}[data-scene=experience] .timeline-entry .scene-heading{translate:none}[data-scene=experience] .timeline-meta{translate:calc((1 - var(--lead,1)) * -8px) 0}[data-scene=portrait] .about-photo-frame{clip-path:inset(calc((1 - var(--media,1)) * 10%) 0 0)}[data-scene=portrait] .about-photo-frame img{transform:scale(calc(1.035 - .035 * var(--media,1)))}[data-scene=portrait]>.eyebrow{translate:0 calc((1 - var(--tail,1)) * 8px)}[data-scene=card] .project-image img{transform:scale(calc(1.02 - .02 * var(--media,1)))}[data-scene=card]>:is(.project-card-meta,h2,p){translate:0 calc((1 - var(--tail,1)) * 10px)}[data-scene=gallery] .section-label{translate:0 calc((1 - var(--lead,1)) * var(--heading-travel,12px))}[data-scene=gallery]:is(:focus-within,:has(.gallery[data-dragging=true])) .section-label{translate:none}[data-scene=footer] .footer-heading{translate:0 calc((1 - var(--media,1)) * 16px)}[data-scene=footer]>.text-link{translate:0 calc((1 - var(--tail,1)) * 10px)}[data-scene=evidence]:before,[data-scene=story]:before,[data-scene=footer]:before{transform:scaleX(calc(.15 + .85 * var(--lead,1)))}@media (max-width:700px),(max-height:600px){:root[data-motion=native] [data-scene]:not([data-scene=hero]){animation-range:entry 0 entry 22vh}:root[data-motion=native] [data-scene]:is([data-scene=work-media],[data-scene=portrait]){animation-range:entry 0 entry 32vh}:root[data-motion] [data-scene]{--scene-travel:12px;--heading-travel:8px}[data-scene=hero] .hero-photo{transform:translateY(calc(var(--scene-progress,0) * -4px)) scale(1.008)}}[data-scene=work-media]:focus-visible img{clip-path:none;transform:none}}.hero-name-part{vertical-align:top;white-space:nowrap;display:inline-block}.entry-opening{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:24px;display:flex}.entry-fallback{flex-wrap:wrap;justify-content:center;gap:16px 32px;display:flex}.opening-curtain{z-index:200;background:var(--bg);color:var(--fg);visibility:hidden;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.opening-signature{font-family:var(--font-display);font-size:clamp(80px,15vw,180px);font-weight:400;line-height:1.2}@keyframes entry-greeting{0%{opacity:.8}to{opacity:1}}@keyframes opening-curtain{0%,67.5%{visibility:visible;transform:translateY(0)}to{visibility:hidden;transform:translateY(-100%)}}@keyframes opening-signature{0%{opacity:0;transform:translateY(30%)}10%,65%{opacity:1;transform:translateY(0)}80%,to{opacity:0;transform:translateY(-40%)}}@media (prefers-reduced-motion:no-preference){.entry-opening .opening-signature{animation:.24s ease-out both entry-greeting}:root:is([data-opening=pending],[data-opening=playing]) .opening-curtain{animation:2s cubic-bezier(.76,0,.24,1) both opening-curtain;animation-delay:var(--opening-delay,0s)}:root:is([data-opening=pending],[data-opening=playing]) .opening-signature{animation:opening-signature 2s var(--motion-ease) both;animation-delay:var(--opening-delay,0s)}}@supports (interpolate-size:allow-keywords) and (transition-behavior:allow-discrete) and selector(::details-content){@media (prefers-reduced-motion:no-preference){.capability-disclosure{interpolate-size:allow-keywords}.capability-disclosure::details-content{height:0;transition:height .26s var(--motion-ease), content-visibility .26s allow-discrete;overflow:clip}.capability-disclosure[open]::details-content{height:auto}}}@media (prefers-reduced-motion:reduce){.opening-curtain{display:none}[data-scene]{--scene-progress:1}}
:where(a[href],button,summary){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where(a[href],button:not(:disabled),summary){cursor:pointer}:where(a[href],button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hero :where(a[href],button):focus-visible{outline-color:#fffdf6}:is(.button,.icon-button,.text-link,.small-link,.hero-contact,.breadcrumb a){transition:color var(--motion-hover) var(--motion-ease-color), background-color var(--motion-hover) var(--motion-ease-color), border-color var(--motion-hover) var(--motion-ease-color), background-size var(--motion-state) var(--motion-ease), box-shadow var(--motion-press) var(--motion-ease-press)}.button{--control-hover-bg:var(--accent);--control-hover-fg:var(--bg)}.hero-primary{--control-hover-bg:#e7d9bd;--control-hover-fg:#20271f}.hero-contact{--control-link-color:#e7d9bd}:is(.text-link,.small-link,.hero-contact,.breadcrumb a){background-image:linear-gradient(var(--control-link-color,var(--accent)), var(--control-link-color,var(--accent)));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}[data-motion-icon],.icon-button>svg,:is(.button,.icon-button,.text-link,.small-link,.hero-contact) [data-motion-icon]{transition:translate var(--motion-hover) var(--motion-ease), scale var(--motion-press) var(--motion-ease-press), transform var(--motion-state) var(--motion-ease), color var(--motion-hover) var(--motion-ease-color);flex-shrink:0}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):focus-visible [data-motion-icon=right]{translate:var(--motion-icon-travel) 0}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):focus-visible [data-motion-icon=left]{translate:calc(-1 * var(--motion-icon-travel)) 0}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):focus-visible [data-motion-icon=diagonal]{translate:var(--motion-icon-travel) calc(-1 * var(--motion-icon-travel))}:is(.text-link,.small-link,.hero-contact,.breadcrumb a):is(:focus-visible,:active){background-size:100% 1px}@media (hover:hover) and (pointer:fine){.button:not(:disabled):hover{background-color:var(--control-hover-bg);color:var(--control-hover-fg)}.icon-button:not(:disabled):hover{background-color:var(--surface);border-color:var(--accent)}:is(.text-link,.small-link,.hero-contact,.breadcrumb a):hover{color:var(--control-link-color,var(--accent));background-size:100% 1px}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):hover [data-motion-icon=right]{translate:var(--motion-icon-travel) 0}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):hover [data-motion-icon=left]{translate:calc(-1 * var(--motion-icon-travel)) 0}:is(.button,.text-link,.small-link,.hero-contact,.breadcrumb a,.icon-button):hover [data-motion-icon=diagonal]{translate:var(--motion-icon-travel) calc(-1 * var(--motion-icon-travel))}}.button:not(:disabled):active{background-color:var(--control-hover-bg);color:var(--control-hover-fg);box-shadow:inset 0 0 0 1px}.icon-button:not(:disabled):active{background-color:var(--surface);border-color:var(--accent)}:is(.button:not(:disabled),.text-link,.small-link,.hero-contact,.icon-button:not(:disabled)):active [data-motion-icon],.icon-button:not(:disabled):active>svg{scale:.92}.icon-button:disabled{cursor:default;opacity:.35;background-color:#0000;border-color:#0000}.button:disabled{cursor:default;opacity:.45;box-shadow:none}:is(.button,.icon-button):disabled [data-motion-icon],.icon-button:disabled>svg{translate:none;scale:none}:is(.text-link,.small-link,.hero-contact,.breadcrumb a):focus-visible{text-underline-offset:5px;text-decoration:underline}.portfolio-lightbox .yarl__button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}@media (max-width:700px){:root{--motion-icon-travel:2px}}@media (prefers-reduced-motion:reduce){:is(.button,.icon-button,.text-link,.small-link,.hero-contact,.breadcrumb a),.icon-button>svg,[data-motion-icon]{transition:none!important}[data-motion-icon],.icon-button>svg{transform:none!important}}
