.social-marks{--social-ink:var(--ink);--social-hover-background:var(--ink);--social-hover-ink:var(--paper);display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--social-ink,var(--accent))}.social-marks .social-mark{position:relative;display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border:1px solid;border-radius:15px 15px 15px 4px;color:inherit;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.social-marks .social-mark svg{width:29px;height:29px}.social-marks .social-mark:hover{background:var(--social-hover-background,var(--accent));color:var(--social-hover-ink,var(--paper,#f6f4ed));border-color:var(--social-ink,var(--accent))}.social-marks .social-mark:focus-visible{outline:2px solid var(--social-ink,var(--accent));outline-offset:5px}.social-mark-label{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;color:var(--social-ink,var(--accent));font:12px/1.2 var(--font-reading),sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease}.social-mark:is(:hover,:focus-visible) .social-mark-label{opacity:1}@media (prefers-reduced-motion:reduce){.social-mark-label,.social-marks .social-mark{transition:none}}.maker-intro.full-page-intro{min-height:calc(100svh - 83px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-rows:1fr auto;align-items:center;column-gap:clamp(24px,5vw,76px);padding-block:clamp(36px,7vh,80px) 32px;position:relative}.full-page-intro .hero-introduction{max-width:none;padding:0 0 28px;z-index:1}.full-page-intro h1{font-family:var(--font-display),serif;font-size:clamp(48px,5.2vw,76px);white-space:nowrap;font-weight:400;line-height:.98;letter-spacing:-.025em;margin:0 0 30px;color:var(--ink);text-align:left}.full-page-intro h1 span{display:block;color:var(--ink)}.full-page-intro .hero-introduction>p{margin:0;color:var(--muted);font-family:var(--font-reading),sans-serif;font-size:clamp(18px,1.7vw,23px);line-height:1.55;letter-spacing:-.015em;max-width:30ch;text-align:left}.hero-platform-list{white-space:nowrap}.product-workspace{position:relative;width:100%;min-width:0;aspect-ratio:3/2;pointer-events:none;background:var(--paper);isolation:isolate}.product-workspace img{display:block;width:100%;height:100%;object-fit:contain;opacity:1;mix-blend-mode:multiply}.full-page-intro .maker-intro-bottom{grid-column:1/-1;justify-content:space-between;margin:0;padding-top:32px;border-top:0}.portfolio .explore-work-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;width:fit-content;min-height:54px;flex-shrink:0;padding:8px 10px 8px 20px;border:1px solid #263b5080;border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font:400 22px/1.1 var(--font-display),serif}.explore-work-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper)}.explore-work-arrow svg{width:17px;height:17px}.portfolio .explore-work-button:is(:hover,:focus-visible){background:var(--ink);color:var(--paper);border-color:var(--ink)}.explore-work-button:is(:hover,:focus-visible) .explore-work-arrow{background:var(--paper);color:var(--ink)}.portfolio .explore-work-button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (prefers-reduced-motion:no-preference){.explore-work-arrow,.explore-work-button{transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}}@media (max-width:1000px) and (min-width:761px){.maker-intro.full-page-intro{width:calc(100% - 72px);gap:20px}.full-page-intro .hero-introduction>p{font-size:18px}}@media (max-width:760px){.mobile-portfolio .mobile-intro h1{font-family:var(--font-display),serif;font-size:clamp(42px,12vw,70px);white-space:nowrap;font-weight:400;line-height:1.06;letter-spacing:-.025em;color:var(--ink);margin:0 0 18px;text-align:left}.mobile-portfolio .mobile-intro>p{font-family:var(--font-reading),sans-serif;font-size:clamp(17px,4.8vw,20px);line-height:1.5;letter-spacing:-.015em;color:var(--muted);max-width:30ch;margin:0;text-align:left}.mobile-intro .product-workspace{max-width:480px;width:100%;aspect-ratio:3/2;align-self:center;margin:24px 0 18px}.mobile-intro .product-workspace img{opacity:1}}.site-navigation{color:var(--ink);background:var(--paper)}.site-navigation-inner{width:min(100% - 112px,1240px);min-height:83px;margin-inline:auto;display:flex;align-items:center;gap:24px;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.site-navigation-home{display:inline-flex;align-items:baseline;min-height:44px;padding-block:5px;font-family:var(--font-display),serif;font-size:30px;font-weight:400;line-height:1.1;letter-spacing:-.025em}.site-navigation-dot{color:var(--accent)}.site-navigation-domain{margin-left:2px;font-family:var(--font-reading),sans-serif;font-size:13px;letter-spacing:-.015em}.site-navigation nav{display:flex;align-items:center;gap:30px}.site-navigation nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;font-weight:500;transition:color .18s ease}.site-navigation nav a:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--accent);opacity:0;translate:0 3px;transition:opacity .18s ease,translate .18s ease}.site-navigation nav a:is(:hover,:focus-visible){color:var(--accent)}.site-navigation nav a:is(:hover,:focus-visible):after{opacity:1;translate:0 0}.site-navigation-github{display:grid;place-items:center;width:44px;height:44px;margin-left:6px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);border-radius:50%;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.site-navigation-github:is(:hover,:focus-visible){color:var(--paper);background:var(--ink);border-color:var(--ink)}@media (min-width:761px) and (max-width:1000px){.site-navigation-inner{width:calc(100% - 72px)}}@media (max-width:760px){html{scroll-padding-top:calc(82px + env(safe-area-inset-top, 0px))}.mobile-portfolio{overflow:visible}.site-navigation-mobile{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0)}.site-navigation-mobile .site-navigation-inner{width:auto;min-height:68px;margin-inline:var(--mobile-gutter);gap:12px}.site-navigation-mobile .site-navigation-home{font-size:27px;align-items:baseline;padding-block:8px;flex-shrink:0}.site-navigation-mobile .site-navigation-domain{font-size:12px}.site-navigation-mobile nav{gap:clamp(12px,3.4vw,22px)}.site-navigation-mobile nav a{font-size:12px;min-width:40px}.site-navigation-mobile nav a:after{bottom:5px}}@media (prefers-reduced-motion:reduce){.site-navigation a,.site-navigation nav a:after{transition:none}}.site-navigation nav{margin-left:auto;margin-right:0;gap:clamp(24px,3vw,44px)}@media(max-width:760px){.site-navigation-mobile nav{width:auto;justify-content:flex-end;gap:24px}.site-navigation-mobile{transition:transform .22s cubic-bezier(.16,1,.3,1)}.site-navigation-mobile[data-scroll-hidden]{transform:translate3d(0,-100%,0)}}@media (max-width:760px) and (prefers-reduced-motion:reduce){.site-navigation-mobile{transition:none}}@media (max-width:760px){html{background-color:transparent;background-image:none}body{background-color:var(--paper);background-image:linear-gradient(#f6f4ed66,#f6f4ed66),url(/images/footer-swayambhunath-mobile.png);background-repeat:no-repeat;background-size:100% auto;background-position:bottom;background-attachment:scroll}}.immersive-footer{position:relative;isolation:isolate;overflow:clip;color:var(--ink);background:var(--paper);margin-top:32px;padding-top:clamp(64px,9vw,120px)}.immersive-footer-contact{position:relative;z-index:1;width:min(100%,1000px);margin-inline:auto;text-align:center;padding:0 24px 32px}.immersive-footer-contact h2{margin:0 0 16px;font:400 clamp(38px,4.5vw,56px)/1.1 var(--font-display),serif;letter-spacing:-.025em}.immersive-footer-contact h2>span{color:var(--accent)}.immersive-footer-email{display:inline-flex;align-items:center;min-height:56px;margin:0;font:400 clamp(60px,8vw,104px)/1.12 var(--font-display),serif;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}.immersive-footer-socials{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:24px;font-family:var(--font-reading),sans-serif;font-size:14px}.immersive-footer-socials a{display:inline-flex;align-items:center;min-height:44px;font-size:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px}.immersive-footer-socials a:is(:hover,:focus-visible){text-decoration-color:currentColor}.immersive-footer-separator{color:var(--accent)}.immersive-footer-contact a{transition:color .18s ease}.immersive-footer-contact a:hover{color:var(--accent)}.immersive-footer-contact a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.immersive-footer-scene{position:relative;z-index:0;margin-top:calc(-1 * min(100px,5vw));pointer-events:none}.immersive-footer-scene img{display:block;width:100%;height:auto;opacity:.6;mix-blend-mode:multiply}@media(max-width:760px){.immersive-footer-mobile{margin-top:24px;padding-top:72px}.immersive-footer-mobile .immersive-footer-contact{padding:0 22px 24px}.immersive-footer-mobile h2{font-size:clamp(36px,10vw,48px);margin-bottom:14px}.immersive-footer-mobile .immersive-footer-email{font-size:clamp(40px,12vw,80px)}.immersive-footer-mobile .immersive-footer-socials{gap:8px 14px;margin-top:22px;font-size:13px}.immersive-footer-mobile .immersive-footer-scene{margin-top:-72px;height:auto}.immersive-footer-mobile .immersive-footer-scene img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}}@media(prefers-reduced-motion:reduce){.immersive-footer-contact a{transition:none}}.product-artwork,.product-artwork img{display:block;width:100%;height:100%}.product-artwork img{object-fit:contain;opacity:1;mix-blend-mode:multiply}.mobile-portfolio .mobile-project-art,.showcase-editorial .work-card .work-art{background:var(--paper);isolation:isolate}.mobile-project-art .product-artwork,.showcase-editorial .work-art .product-artwork{mix-blend-mode:normal}.work-showcase{width:min(100% - 112px,1240px);margin-inline:auto;padding-block:24px 64px;scroll-margin-top:28px;color:#263b50}.work-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:24px}.work-section-heading h2{margin:0;font-family:var(--font-display),serif;font-size:34px;font-weight:400;letter-spacing:-.025em}.work-section-heading>a,.work-section-heading>span{font-size:12px;color:#5c6975}.work-section-heading>a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.work-card{min-width:0;background:#fdfdf9;border:1px solid #bdc7ce;border-radius:16px;overflow:hidden}.work-art{display:block;position:relative;width:100%;aspect-ratio:3/2;padding:0;overflow:hidden;background:#f5f3eb}.work-art .project-illustration{width:100%;height:100%;object-fit:contain}.work-art-action{position:absolute;bottom:17px;right:17px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#263b50;background:#fdfdf9;transition:background .2s,color .2s}.work-art:hover .work-art-action{background:#263b50;color:#fff}.work-caption{padding:24px 26px 14px}.work-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.work-title h3{margin:0;font-size:29px;line-height:1.15;letter-spacing:-.035em;font-weight:600}.work-title>span{color:#5c6975;font-size:11px}.work-caption>p{margin:12px 0 20px;color:#5c6975;font-size:15px;line-height:1.5}.work-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #bdc7ce;padding-top:7px}.work-actions :is(button,a){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;background:transparent;color:#263b50;font-size:13px}.work-actions :is(button,a):hover,.work-section-heading a:hover{text-decoration:underline;text-underline-offset:5px}.work-collection{margin-top:62px}.work-collection ul{padding:0;margin:0;list-style:none;border-top:1px solid #bdc7ce}.work-collection li{display:flex;align-items:center;border-bottom:1px solid #bdc7ce}.work-entry{display:flex;gap:23px;align-items:center;padding:24px 10px 24px 0;color:inherit;background:transparent;text-align:left}.work-entry,.work-entry-copy{flex:1;min-width:0}.work-entry-title{display:block;margin-bottom:5px;font-size:22px;font-weight:550;letter-spacing:-.025em}.work-entry-description{display:block;color:#5c6975;font-size:14px;line-height:1.5}.work-entry-platform{font-size:12px;color:#5c6975;margin-right:22px}.work-entry-arrow{flex-shrink:0;transition:transform .2s ease-out}.work-entry:hover .work-entry-arrow{transform:translateX(4px)}.work-entry:hover .work-entry-title{text-decoration:underline;text-underline-offset:5px}.work-entry-link{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin-left:20px;color:#263b50;border-radius:8px}.work-entry-link:hover{background:#e9edf0}.work-symbol{flex-shrink:0;display:grid;place-items:center;width:60px;height:60px;border-radius:14px;color:#263b50;background:#e0ebe1}.work-symbol-xer{background:#d8e2e6;color:#263e45}.work-symbol-quivnote{background:#e7dfd2;color:#443e31}.work-symbol-recall{background:#e1e7ed;color:#29384c}.project-reader :is(button,a):focus-visible,.work-showcase :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.work-art:focus-visible{outline-offset:-5px!important}body:has(.project-reader[open]){overflow:hidden}.project-reader{position:fixed;inset:0;width:calc(100% - 64px);max-width:1000px;max-height:90svh;margin:auto;padding:0;border:0;border-radius:16px;background:#fcfcf8;color:#263b50;box-shadow:0 24px 100px #263b5040;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdc7ce #fcfcf8}.project-reader::backdrop{background:#263b5073}.reader-toolbar{position:sticky;z-index:2;top:0;display:flex;justify-content:space-between;align-items:center;padding:12px 24px 12px 32px;border-bottom:1px solid #bdc7ce;background:#fcfcf8;font-size:13px}.reader-position{margin-left:12px;color:#5c6975;font-variant-numeric:tabular-nums}.reader-toolbar>div{display:flex;gap:6px}.reader-toolbar button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;color:#263b50}.reader-toolbar button:hover{background:#e9edf0}.reader-toolbar .reader-close{margin-left:10px;background:#e9edf0}.reader-body{padding:36px}.reader-intro{display:grid;gap:32px}.reader-illustrated{grid-template-columns:1fr 1fr;align-items:center}.reader-summary h2{margin:0 0 12px;font-size:clamp(34px,4vw,46px);font-weight:600;letter-spacing:-.035em;line-height:1.1}.reader-summary>.work-symbol{margin-bottom:22px}.reader-caption{margin:0 0 16px;font-family:var(--font-display),serif;font-size:25px;line-height:1.25}.reader-description{margin:0 0 24px;max-width:65ch;font-size:15px;line-height:1.7;color:#5c6975}.reader-primary{display:inline-flex;gap:12px;align-items:center;min-height:46px;padding:12px 17px;background:#263b50;border-radius:8px;color:#fff;font-size:13px}.reader-primary:hover{background:#354e65}.reader-art{overflow:hidden;border-radius:12px;background:#f5f3eb;aspect-ratio:3/2}.reader-art .project-illustration{width:100%;height:100%;object-fit:contain}.reader-information{display:grid;grid-template-columns:1.25fr 1fr;gap:42px;border-top:1px solid #bdc7ce;padding-top:28px;margin-top:36px}.reader-body h3{margin:0 0 16px;font-size:16px;font-weight:600}.reader-features ul{list-style:none;margin:0;padding:0;display:grid;gap:18px}.reader-features li{display:flex;align-items:baseline;gap:12px;font-size:14px;line-height:1.6;color:#5c6975}.reader-features li svg{flex-shrink:0;position:relative;top:3px;color:#263b50}.reader-meta>p{margin:-5px 0 25px;font-size:14px;color:#5c6975}.reader-meta ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0;gap:7px}.reader-meta li{padding:6px 10px;border-radius:5px;background:#e9edf0;font-size:12px;color:#5c6975}.reader-links{margin-top:30px;padding-top:24px;border-top:1px solid #bdc7ce}.reader-links>div{display:flex;flex-wrap:wrap;gap:6px 24px}.reader-links h3{margin-bottom:6px}.reader-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.reader-footer{display:flex;justify-content:space-between;gap:14px;padding:14px 32px;background:#e9edf0}.reader-footer button{display:inline-flex;align-items:center;gap:10px;padding:0;min-height:44px;background:transparent;color:#263b50;font-size:13px}.reader-footer button:hover{text-decoration:underline;text-underline-offset:5px}@media (max-width:760px){.work-showcase{width:calc(100% - 40px)}.work-grid{gap:24px}.work-caption{padding:21px 20px 12px}.work-title{display:block}.work-title>span{display:block;margin-top:8px}.work-caption>p{min-height:45px;font-size:14px}.work-entry-platform{display:none}.project-reader{width:calc(100% - 32px);max-height:94svh}.reader-body{padding:26px}.reader-illustrated{grid-template-columns:1fr;gap:26px}.reader-art{max-height:270px}.reader-information{gap:28px}}@media (max-width:550px){.work-showcase{padding-block:18px 40px}.work-section-heading{margin-bottom:20px;gap:12px;flex-wrap:wrap}.work-section-heading h2{font-size:30px}.work-section-heading>span{font-size:10px}.work-grid{grid-template-columns:1fr}.work-title{display:flex}.work-title h3{font-size:26px}.work-title>span{margin:0}.work-caption>p{min-height:0;margin-bottom:17px}.work-collection{margin-top:42px}.work-entry{gap:14px;padding-block:22px}.work-symbol{width:46px;height:50px;border-radius:12px}.work-entry-title{font-size:20px}.work-entry-description{font-size:13px}.work-entry-arrow{display:none}.work-entry-link{margin-left:8px}.reader-toolbar{padding:10px 12px 10px 20px}.reader-body{padding:26px 20px}.reader-summary h2{font-size:37px}.reader-caption{font-size:24px}.reader-art{max-height:none}.reader-information{grid-template-columns:1fr;margin-top:28px}.reader-meta{border-top:1px solid #bdc7ce;padding-top:24px}.reader-footer{padding:12px 20px;flex-wrap:wrap}.reader-footer button{font-size:12px}}@media (prefers-reduced-motion:reduce){.project-reader *,.work-showcase *{transition:none!important}}.motion-paused .work-showcase *{transition:none!important}@media (min-width:551px) and (max-width:760px){.work-grid{grid-template-columns:1fr}}.project-platforms{display:flex;flex-wrap:wrap;gap:9px;min-width:0}.project-platforms .project-platform{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;max-width:100%;padding:10px 13px;border:1px solid #bdc7ce;border-radius:9px;background:transparent;color:#263b50;font-size:12px;font-weight:550;line-height:1.35;text-decoration:none;transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out}.project-platforms .project-platform>svg{flex-shrink:0}.project-platforms .project-platform-arrow{margin-left:2px;opacity:.7}.project-platforms :is(.project-platform-apple,.project-platform-play){background:#263b50;border-color:#263b50;color:#fff}.project-platforms .project-platform:hover{background:#e9edf0;border-color:#263b50}.project-platforms :is(.project-platform-apple,.project-platform-play):hover{background:#354e65;border-color:#354e65}.project-platforms .project-platform:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.work-caption>.project-platforms{padding-bottom:20px}.work-caption>.work-actions{justify-content:flex-end}.reader-summary>.project-platforms{margin-top:24px}@media (prefers-reduced-motion:reduce){.project-platforms .project-platform{transition:none}}.motion-paused .project-platforms .project-platform{transition:none}.project-platforms-icons{flex-direction:column;flex-wrap:nowrap;gap:10px}.project-platforms-icons .project-platform{width:44px;height:44px;padding:0;border-color:#bdc7ce;color:#263b50;background:transparent}.project-platforms-icons .project-platform:hover{background:#e9edf0;border-color:#263b50}.github-projects{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);gap:40px;color:var(--ink,#263b50)}.github-projects-heading h2{max-width:6ch;margin:0;font-family:var(--font-display),serif;font-size:clamp(38px,4.1vw,54px);font-weight:400;line-height:1.02;letter-spacing:-.025em}.github-projects-heading h2>span{color:var(--accent,#a45339)}.github-project-directory{min-width:0}.github-repositories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:24px;margin:0;padding:0;list-style:none}.github-repository{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px;min-width:0}.github-repository-number{display:none}.github-repository-open{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:0;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;font:inherit}.github-repository-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.github-repository-name{font-family:var(--font-display),serif;font-size:30px;font-weight:400;line-height:1.12;letter-spacing:-.015em}.github-repository-platform{color:var(--muted,#5c6975);font-size:11px;line-height:1.5;white-space:nowrap}.github-repository-description{max-width:27ch;color:var(--muted,#5c6975);font-size:13px;line-height:1.5}.github-repository-details{padding-top:3px;color:var(--accent,#a45339);font-size:12px;line-height:1.5;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.github-repository-source{display:grid;place-items:center;align-self:start;width:44px;height:44px;color:var(--muted,#5c6975);border-radius:50%}.github-repository-open:hover .github-repository-name{color:var(--accent,#a45339)}.github-repository-open:hover .github-repository-details{text-decoration-color:currentColor}.github-repository-source:hover{color:var(--ink,#263b50);background:var(--surface,#e9edf0)}.github-directory-browse{display:flex;align-items:center;gap:10px;min-height:56px;margin-top:23px;padding:10px 0 0;border-top:1px solid var(--line,#bdc7ce);color:var(--ink,#263b50);font-size:13px;line-height:1.5}.github-directory-browse>svg{flex-shrink:0}.github-directory-browse>svg:last-of-type{margin-left:auto}.github-directory-destination{color:var(--muted,#5c6975)}.github-directory-browse:hover>span:first-of-type{text-decoration:underline;text-underline-offset:4px}.github-projects :is(a,button):focus-visible{outline:2px solid var(--accent,#a45339);outline-offset:5px}@media(max-width:1000px){.github-projects{grid-template-columns:minmax(145px,.6fr) minmax(0,2fr);gap:28px}.github-repositories{column-gap:20px}.github-repository-title{display:flex;flex-direction:column;gap:4px}}@media(max-width:760px){.github-projects{display:block}.github-projects-heading{margin-bottom:24px}.github-projects-heading h2{max-width:none;font-size:clamp(38px,10vw,46px)}.github-repositories{display:flex;flex-direction:column;gap:0}.github-repository{display:grid;grid-template-columns:24px minmax(0,1fr) 44px;gap:12px;padding:22px 0;border-top:1px solid var(--line)}.github-repository-number{display:block;padding-top:5px;color:var(--accent);font-size:11px;font-variant-numeric:tabular-nums}.github-repository-open{width:100%;min-height:44px;gap:9px;padding:0}.github-repository-title{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.github-repository-name{font-family:var(--font-reading),sans-serif;font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.02em}.github-repository-description{max-width:none;font-size:13px;line-height:1.6}.github-repository-platform{display:block;font-size:11px}.github-repository-details{display:block;font-size:12px;text-decoration-color:currentColor}.github-repository-source{display:grid;border:1px solid var(--line)}.github-directory-browse{margin-top:0;padding-top:16px;font-size:13px}.github-directory-destination{display:none}}@media(prefers-reduced-motion:no-preference){.github-repository-details,.github-repository-name,.github-repository-source{transition:color .18s ease-out,background-color .18s ease-out,text-decoration-color .18s ease-out}}.showcase-editorial>.work-section-heading{margin-bottom:36px}.showcase-editorial .work-grid{grid-template-columns:minmax(0,1fr);gap:52px}.showcase-editorial .work-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 44px;align-items:center;gap:clamp(28px,4vw,60px);padding-bottom:52px;border:0;border-radius:0;background:transparent;overflow:visible}.showcase-editorial .work-art{border-radius:16px}.showcase-editorial .work-caption{min-width:0;padding:12px 0}.showcase-editorial .work-title{display:block}.showcase-editorial .work-title h3{font-size:clamp(32px,3.2vw,44px)}.showcase-editorial .work-title>span{display:block;margin-top:13px;font-size:12px}.showcase-editorial .work-caption>p{margin:22px 0 26px;max-width:45ch;line-height:1.7}.showcase-editorial .work-caption>.work-actions{justify-content:flex-start;border:0;padding-top:0}.showcase-editorial .work-actions button{font-size:14px}.showcase-editorial .work-card:nth-child(2n){grid-template-columns:44px minmax(0,1fr) minmax(0,1.2fr)}.showcase-editorial .work-card:nth-child(2n) .work-art{grid-column:3;grid-row:1}.showcase-editorial .work-card:nth-child(2n) .work-caption{grid-column:2;grid-row:1}.showcase-editorial>.github-projects{margin-top:72px}@media (max-width:960px){.showcase-editorial .work-card,.showcase-editorial .work-card:nth-child(2n){grid-template-columns:minmax(0,1fr);gap:24px}.showcase-editorial .work-card:nth-child(2n) :is(.work-art,.work-caption){grid-column:auto;grid-row:auto}.showcase-editorial .work-caption{padding-inline:4px}.showcase-editorial .work-caption>p{max-width:65ch;margin-top:16px}}.showcase-editorial .work-card>.project-platforms-icons{display:grid;grid-template-columns:44px;grid-auto-flow:row;width:44px;gap:10px;grid-column:3;grid-row:1;align-self:center}@media (min-width:961px){.showcase-editorial .work-card:nth-child(2n)>.project-platforms-icons{grid-column:1;grid-row:1}}.showcase-editorial .work-art{background:transparent;border-radius:0}.showcase-editorial .work-art .project-illustration{mix-blend-mode:multiply}.showcase-editorial .work-actions button{padding:12px 22px;border-radius:9px;background:#263b50;color:#fff;min-height:46px;text-decoration:none}.showcase-editorial .work-actions button:hover{background:#354e65}@media (max-width:960px){.showcase-editorial .work-card,.showcase-editorial .work-card:nth-child(2n){grid-template-columns:minmax(0,1fr) 44px}.showcase-editorial .work-card .work-art,.showcase-editorial .work-card:nth-child(2n) .work-art{grid-column:1;grid-row:1}.showcase-editorial .work-card .work-caption,.showcase-editorial .work-card:nth-child(2n) .work-caption{grid-column:1;grid-row:2}.showcase-editorial .work-card>.project-platforms-icons{grid-column:2;grid-row:2}}.portfolio .project-reader.project-sheet{width:min(1060px,calc(100% - 64px));max-width:1060px;max-height:calc(100dvh - 64px);padding:0;border:0;border-radius:12px;background:#f6f4ed;color:#263b50;box-shadow:0 24px 90px #263b5040;overflow:auto;overscroll-behavior-x:auto;overscroll-behavior-y:contain;scrollbar-color:#5c6975 #e9edf0;scrollbar-width:thin}.project-sheet .sheet-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 32px;background:#f6f4ed;border-bottom:1px solid #bdc7ce}.project-sheet .sheet-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 8px 0 0;border:0;background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer}.project-sheet .sheet-content{display:grid;grid-template-columns:minmax(0,1fr);padding:42px 48px 48px}.project-sheet .sheet-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px 24px;margin-bottom:34px}.project-sheet .sheet-heading .project-platforms{grid-column:1;grid-row:3;flex-direction:row;flex-wrap:wrap;gap:6px}.project-sheet .sheet-heading .project-platform{width:44px;height:44px;border:1px solid #1e3043;border-radius:8px;background:#263b50;color:#f6f4ed}.project-sheet .sheet-heading .project-platform svg{width:18px;height:18px}.project-sheet .sheet-heading h2{margin:0;font:400 clamp(48px,6vw,76px)/1.04 var(--font-display),serif;letter-spacing:-.035em;overflow-wrap:anywhere}.project-sheet .sheet-heading>p{grid-column:1/-1;grid-row:2;margin:0;font:400 clamp(24px,3vw,32px)/1.25 var(--font-display),serif;color:#5c6975;text-wrap:balance}.project-sheet .sheet-main{min-width:0}.project-sheet .sheet-description{margin:0;max-width:65ch;font-size:15px;line-height:1.85;color:#5c6975}.project-sheet :is(.sheet-features,.sheet-stack){margin-top:34px}.project-sheet h3{margin:0 0 16px;font-size:14px;font-weight:600;line-height:1.4}.project-sheet .sheet-features ul{display:grid;gap:16px;padding:0 0 0 18px;margin:0;list-style:disc}.project-sheet .sheet-features li{padding-left:6px;font-size:14px;line-height:1.6}.project-sheet .sheet-stack ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.project-sheet .sheet-stack li{padding:6px 10px;border-radius:5px;background:#e9edf0;font-size:12px;color:#263b50}.project-sheet .sheet-navigation{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:26px 48px;border-top:1px solid #bdc7ce}.project-sheet .sheet-project-picker{display:flex;flex-direction:column;gap:8px;min-width:0}.project-sheet .sheet-next small,.project-sheet .sheet-project-picker label{font-size:11px;color:#5c6975}.project-sheet .sheet-project-picker select{width:190px;max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #bdc7ce;border-radius:6px;background:#f6f4ed;color:inherit;font:inherit;font-size:13px}.project-sheet .sheet-next{display:flex;align-items:center;justify-content:flex-end;gap:20px;min-height:44px;border:0;padding:0;background:none;color:inherit;text-align:right;font:500 12px/1.3 var(--font-reading),sans-serif;cursor:pointer}.project-sheet .sheet-next small{display:block;margin-top:4px;font-family:var(--font-reading),sans-serif}.project-sheet .sheet-next>svg{flex-shrink:0}.project-sheet :is(button,a,select):focus-visible{outline:2px solid #a45339;outline-offset:4px}.project-sheet #sheet-title:focus{outline:none}.project-sheet :is(.sheet-back,.sheet-next):hover{color:#a45339}@media (max-width:900px){.project-sheet .sheet-content,.project-sheet .sheet-navigation{padding-inline:32px}}@media (max-width:760px){.portfolio .project-reader.project-sheet{inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;box-shadow:none}.project-sheet .sheet-toolbar{padding:calc(10px + env(safe-area-inset-top)) 22px 10px;gap:12px}.project-sheet .sheet-back{font-size:12px;white-space:nowrap}.project-sheet .sheet-content{display:flex;flex-direction:column;padding:30px 24px 34px}.project-sheet .sheet-heading{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-bottom:24px}.project-sheet .sheet-heading .project-platforms{margin-top:16px}.project-sheet .sheet-heading h2{font-size:clamp(46px,13vw,62px)}.project-sheet .sheet-heading>p{font-size:27px;margin-top:12px}.project-sheet .sheet-description{font-size:15px;line-height:1.75}.project-sheet .sheet-main{order:2}.project-sheet .sheet-navigation{padding:22px 24px calc(26px + env(safe-area-inset-bottom));gap:20px}.project-sheet .sheet-project-picker{flex:1;max-width:190px}.project-sheet .sheet-project-picker select{width:100%}.project-sheet .sheet-next{font-size:12px;gap:9px}.project-sheet .sheet-next small{display:none}.project-sheet :is(.sheet-features,.sheet-stack){margin-top:28px}}@media (max-width:360px){.project-sheet .sheet-back{font-size:11px;gap:6px}}@media (prefers-reduced-motion:no-preference){.project-sheet :is(.sheet-back,.sheet-next){transition:color .18s ease-out}.project-sheet .sheet-content{animation:project-sheet-enter .24s ease-out}@keyframes project-sheet-enter{0%{opacity:.65;translate:0 7px}to{opacity:1;translate:0 0}}}.project-sheet .sheet-heading .project-platform:hover{background:#354e65;border-color:#263b50;color:#fff}.project-sheet .sheet-heading .project-platform-labeled{width:auto;padding-inline:12px;gap:8px}.project-sheet .sheet-toolbar{align-items:flex-start}.project-sheet .sheet-top-navigation{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.project-sheet>.sheet-desktop-picker{display:flex;justify-content:flex-end;padding:18px 32px 0}.project-sheet .sheet-desktop-picker .sheet-project-picker{align-items:flex-end;gap:5px}.project-sheet .sheet-navigation{display:none}@media(max-width:760px){.project-sheet .sheet-toolbar{align-items:center}.project-sheet>.sheet-desktop-picker{display:none}.project-sheet .sheet-navigation{display:flex}}.polaroid-section.beyond-gallery{width:min(100% - 112px,1120px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center;column-gap:clamp(48px,8vw,110px);row-gap:64px;margin:104px auto 88px;padding:0 20px 32px;color:var(--ink)}.beyond-gallery .beyond-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:24px}.beyond-heading h2{margin:0;font-family:var(--font-display),serif;font-size:clamp(44px,5.5vw,72px);font-weight:400;letter-spacing:-.035em;line-height:1.06}.beyond-heading h2 span{color:var(--accent)}.beyond-gallery .beyond-original,.beyond-heading a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:12px;color:var(--ink);transition:color .18s ease}.beyond-gallery .beyond-original:hover,.beyond-heading a:hover{color:var(--accent)}.beyond-gallery .polaroid-stage{grid-column:1;grid-row:2;width:min(100%,340px);height:431px;margin:16px auto 28px}.beyond-gallery .polaroid-image-error,.beyond-gallery .polaroid-print img{height:370px}.beyond-gallery .polaroid-caption{color:var(--ink)}.polaroid-loading-stack{position:absolute;inset:0;pointer-events:none}.beyond-gallery .polaroid-print .polaroid-image-frame{position:relative;display:block;width:100%;height:calc(100% - 50px);overflow:hidden;background:#d4d8d7}.polaroid-image-frame:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 35% 30%,#eeede2 0,transparent 65%),linear-gradient(155deg,#b5c2c6,#667c88 55%,#c5b7a0);opacity:.65}.beyond-gallery .polaroid-print .polaroid-image-frame img{position:relative;width:100%;height:100%;opacity:0;filter:grayscale(1) contrast(.65) blur(3px)}.beyond-gallery .polaroid-print .is-developed img{opacity:1;filter:none}.beyond-gallery .polaroid-print .polaroid-image-frame .polaroid-image-error{position:relative;display:grid;place-items:center;height:100%;padding:20px}@media (prefers-reduced-motion:no-preference){.beyond-gallery:not(.photos-paused) .is-developing:before{animation:polaroid-developing 3s ease-in-out infinite alternate}.beyond-gallery:not(.photos-paused) .polaroid-image-frame img{transition:opacity .9s ease-out,filter 1.4s ease-out}}@keyframes polaroid-developing{0%{opacity:.25}to{opacity:.9}}.beyond-gallery .polaroid-image-error,.beyond-gallery .polaroid-placeholder{background:var(--surface,#e9edf0);color:var(--muted)}.beyond-photo-notes{grid-column:2;grid-row:2;padding-bottom:16px}.beyond-photo-date{font-family:var(--font-display),serif;font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.02em}.beyond-photo-count{margin:10px 0 0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.beyond-gallery .polaroid-controls{margin-top:28px}.beyond-gallery .polaroid-buttons{gap:8px}.beyond-gallery .polaroid-buttons button{border:1px solid var(--line);background:transparent;border-radius:50%;min-width:46px;min-height:46px;padding:10px;color:var(--ink);transition:background-color .18s ease,border-color .18s ease,color .18s ease}.beyond-gallery .polaroid-buttons button:nth-child(2){border-radius:24px;padding-inline:18px}.beyond-gallery .polaroid-buttons button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper,#f6f4ed)}.beyond-gallery .polaroid-buttons button:disabled{opacity:.42;cursor:default}.beyond-gallery .beyond-original{margin-top:17px}.beyond-gallery .polaroid-retry,.beyond-gallery .polaroid-status,.beyond-waiting{color:var(--muted);font-size:12px;line-height:1.6}.beyond-gallery a:focus-visible,.beyond-gallery button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media (max-width:1000px) and (min-width:761px){.polaroid-section.beyond-gallery{width:calc(100% - 64px);padding-inline:0;column-gap:38px}.beyond-gallery .polaroid-stage{width:280px;height:371px}.beyond-gallery .polaroid-image-error,.beyond-gallery .polaroid-print img{height:310px}.beyond-gallery .beyond-heading{align-items:flex-start}.beyond-heading a{max-width:130px;flex-shrink:0}}@media (max-width:760px){.mobile-photos .polaroid-section.beyond-gallery{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:0;margin:0;padding:0 0 20px}.beyond-gallery .beyond-heading{display:block;grid-column:1;margin-bottom:34px}.beyond-heading h2{font-size:clamp(38px,10vw,52px)}.beyond-heading a{margin-top:8px;font-size:12px}.mobile-photos .beyond-gallery .polaroid-stage{grid-column:1;grid-row:2;width:min(280px,calc(100vw - 100px));height:auto;aspect-ratio:280/371;margin:8px auto 42px}.mobile-photos .beyond-gallery .polaroid-image-error,.mobile-photos .beyond-gallery .polaroid-print img{height:calc(100% - 50px)}.beyond-gallery .beyond-photo-notes{grid-column:1;grid-row:3;text-align:center;padding:0}.beyond-photo-date{font-size:28px}.beyond-photo-count{margin-top:6px;font-size:11px}.beyond-gallery .polaroid-controls{margin-top:18px}.beyond-gallery .polaroid-buttons{justify-content:center}.beyond-gallery .beyond-original{margin-top:10px;font-size:11px}.beyond-gallery .polaroid-retry{display:flex;align-items:center;justify-content:center;gap:8px}}@media (prefers-reduced-motion:reduce){.beyond-gallery .beyond-original,.beyond-gallery .polaroid-buttons button,.beyond-heading a{transition:none}}.beyond-photo-location{margin:10px 0 0;max-width:32ch;font-size:16px;line-height:1.5;color:var(--ink);text-wrap:pretty}@media(max-width:760px){.beyond-photo-location{margin-inline:auto;font-size:15px}}.latest-writing{width:min(100% - 112px,1120px);margin:96px auto;color:var(--ink)}.latest-writing-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}.latest-writing-heading h2{margin:0;font:400 clamp(38px,4.5vw,54px)/1.1 var(--font-display),serif;letter-spacing:-.025em}.latest-writing-heading h2>span{color:var(--accent)}.latest-writing-heading>a,.latest-writing-read{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--font-reading),sans-serif;font-size:13px}.latest-writing-heading>a{color:var(--muted)}.latest-writing-post{padding:28px 0 0;border-top:1px solid var(--line);max-width:860px}.latest-writing-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;color:var(--muted);font:400 12px/1.5 var(--font-reading),sans-serif}.latest-writing-meta>span:first-child{color:var(--accent);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.latest-writing-post h3{max-width:36ch;margin:14px 0;font:600 clamp(25px,2.6vw,32px)/1.3 var(--font-reading),sans-serif;letter-spacing:-.025em;text-wrap:pretty}.latest-writing-post>p{max-width:62ch;margin:0 0 18px;font:400 16px/1.75 var(--font-reading),sans-serif;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.latest-writing-read{color:var(--accent);font-weight:500}.latest-writing a:hover{text-decoration:underline;text-underline-offset:5px}.latest-writing a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.latest-writing-fallback{color:var(--muted);font-size:15px;line-height:1.7}.latest-writing-fallback a{text-decoration:underline;text-underline-offset:4px}@media (max-width:1000px) and (min-width:761px){.latest-writing{width:calc(100% - 64px)}}@media (max-width:760px){.mobile-content>.latest-writing{width:100%;margin:68px 0}.latest-writing-heading{align-items:center;gap:16px;margin-bottom:20px}.latest-writing-heading h2{font-size:clamp(36px,9vw,44px)}.latest-writing-heading>a{flex-shrink:0;font-size:12px}.latest-writing-post{padding-top:22px}.latest-writing-post h3{margin-top:12px;font-size:clamp(23px,6vw,27px);line-height:1.35}.latest-writing-post>p{font-size:15px;line-height:1.7}}.mobile-portfolio{display:none}@media (max-width:760px){.desktop-portfolio{display:none}.mobile-portfolio{--mobile-gutter:clamp(22px,6vw,40px);display:block;min-height:100svh;background:var(--paper);color:#263b50}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--mobile-gutter) 0}.mobile-home{font-size:14px;font-weight:600;letter-spacing:-.02em}.mobile-header nav{display:flex;gap:24px}.mobile-header a{display:inline-flex;align-items:center;min-height:44px}.mobile-header nav a{font-size:13px}.mobile-content{padding-inline:var(--mobile-gutter);outline:none}.mobile-intro{padding:49px 0 67px}.mobile-intro h1{font-size:clamp(76px,20vw,96px);line-height:.95;font-weight:400;letter-spacing:-.04em;color:var(--accent)}.mobile-intro h1,.mobile-intro p{margin:0 0 19px;font-family:var(--font-display),serif}.mobile-intro p{font-size:clamp(29px,7.8vw,39px);line-height:1.18;letter-spacing:-.02em}.mobile-intro>a{display:inline-flex;align-items:center;gap:10px;font-size:13px;min-height:44px}.mobile-section-heading{margin-bottom:17px}.mobile-section-heading h2{margin:0;font-family:var(--font-display),serif;font-size:clamp(30px,8vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.025em}.mobile-project-rail{position:relative;display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:calc(var(--mobile-gutter) + 12px);margin-inline:calc(-1 * var(--mobile-gutter));padding:0 calc(var(--mobile-gutter) + 12px);scrollbar-width:none}.mobile-project-rail::-webkit-scrollbar{display:none}.mobile-featured{flex:0 0 100%;min-width:0;scroll-snap-align:center}.mobile-project-art{display:block;width:100%;aspect-ratio:1.22;padding:0;margin:0;background:transparent}.mobile-project-art .project-illustration{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.mobile-project-caption{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:110px;padding:10px 0 0}.mobile-project-copy{min-width:0}.mobile-project-copy h3{margin:0;font-size:27px;line-height:1.15;font-weight:600;letter-spacing:-.035em}.mobile-project-copy p{max-width:24ch;margin:9px 0 0;font-size:13px;line-height:1.55;color:#5c6975}.mobile-detail-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #bdc7ce;border-radius:8px;background:transparent;color:#263b50;font-size:12px}.mobile-detail-button:hover{background:#e9edf0}.mobile-project-paging{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:8px}.mobile-project-dots{display:flex}.mobile-project-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent}.mobile-project-dots button span{display:block;width:6px;height:6px;border-radius:50%;background:#bdc7ce}.mobile-project-dots button[aria-pressed=true] span{width:18px;border-radius:4px;background:#263b50}.mobile-project-position{font-size:11px;font-variant-numeric:tabular-nums;color:#5c6975}.mobile-content>.github-projects{margin-top:74px}.mobile-photos{margin:70px 0 44px}.mobile-photos .polaroid-section{display:flex;flex-direction:column;width:100%;gap:25px;margin:0;padding:0 0 25px}.mobile-photos .polaroid-copy{width:100%}.mobile-photos .polaroid-copy h2{font-size:36px}.mobile-photos .polaroid-copy>p{max-width:30ch;font-size:15px}.mobile-photos .polaroid-stage{width:min(250px,calc(100vw - 90px));height:333px;margin:14px auto 25px}.mobile-photos .polaroid-image-error,.mobile-photos .polaroid-print img{height:272px}.mobile-footer{padding:40px var(--mobile-gutter) calc(18px + env(safe-area-inset-bottom));background:#e9edf0;color:#263b50}.mobile-footer h2{margin:0 0 18px;font-family:var(--font-display),serif;font-size:42px;font-weight:400;line-height:1.1;letter-spacing:-.03em}.mobile-footer-email{display:flex;width:fit-content;align-items:center;gap:20px;min-height:44px;font-size:clamp(22px,6vw,28px);letter-spacing:-.02em}.mobile-social-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:25px}.mobile-social-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:13px}.mobile-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:39px;font-size:11px}.mobile-motion-control{display:inline-flex;align-items:center;gap:7px;min-height:44px;background:transparent;color:inherit;padding:0;font-size:11px}.mobile-portfolio :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}.mobile-project-art:focus-visible{outline-offset:-5px}.portfolio .project-reader{inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.portfolio .reader-toolbar{padding:calc(10px + env(safe-area-inset-top)) 15px 10px 22px}.portfolio .reader-body{padding:22px}.portfolio .reader-intro{display:flex;flex-direction:column;align-items:stretch;gap:25px}.portfolio .reader-art{order:-1;width:calc(100% + 44px);margin:-22px -22px 0;border-radius:0}.portfolio .reader-summary h2{font-size:35px}.portfolio .reader-caption{font-size:25px}.portfolio .reader-description{font-size:15px}.portfolio .reader-information{grid-template-columns:1fr;gap:30px}.portfolio .reader-footer{flex-wrap:wrap;padding:12px 22px calc(12px + env(safe-area-inset-bottom))}}@media (max-width:760px) and (prefers-reduced-motion:no-preference){.portfolio:not(.motion-paused) .mobile-portfolio :is(a,button){transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}}@media (max-width:760px){.mobile-intro{min-height:calc(100svh - env(safe-area-inset-top, 0px));display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-block:clamp(24px,5svh,44px) max(48px,env(safe-area-inset-bottom,0px))}.mobile-intro>.hero-workspace{flex-shrink:0}.mobile-intro>.social-links{margin-top:4px;margin-bottom:32px}.mobile-intro>.mobile-explore{margin-top:auto}.mobile-work{padding-top:32px}.mobile-content>.github-projects{margin-top:48px}.mobile-intro>.product-workspace{height:clamp(120px,30svh,280px);aspect-ratio:auto;margin-block:20px}}

/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.work-section-heading{padding-bottom:16px;position:relative}.work-section-heading:after{content:"";pointer-events:none;background:#263b5030;height:1px;position:absolute;inset:auto 0 0}@media (prefers-reduced-motion:no-preference){.portfolio:not(.motion-paused){--motion-ease:cubic-bezier(.16,1,.3,1)}.portfolio:not(.motion-paused) :is(.header a,.maker-intro-bottom a:not(.explore-work-button),.footer-column a,.footer-email){text-underline-offset:7px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .18s,color .18s}.portfolio:not(.motion-paused) :is(.header a,.maker-intro-bottom a:not(.explore-work-button),.footer-column a,.footer-email):is(:hover,:focus-visible){text-decoration-color:currentColor}.portfolio:not(.motion-paused) :is(.header,.maker-intro-bottom,.work-showcase,.project-reader,.site-footer) :is(a,button)>svg:not(.project-illustration){transition:transform .24s var(--motion-ease)}.portfolio:not(.motion-paused) :is(.header,.maker-intro-bottom,.work-showcase,.project-reader,.site-footer) :is(a,button):is(:hover,:focus-visible)>.lucide-arrow-up-right{transform:translate(2px,-2px)}.portfolio:not(.motion-paused) :is(.header,.maker-intro-bottom,.work-showcase,.project-reader,.site-footer) :is(a,button):is(:hover,:focus-visible)>.lucide-arrow-right{transform:translate(3px)}.portfolio:not(.motion-paused) :is(.header,.maker-intro-bottom,.work-showcase,.project-reader,.site-footer) :is(a,button):is(:hover,:focus-visible)>.lucide-arrow-down{transform:translateY(3px)}.portfolio:not(.motion-paused) :is(.work-card,.work-collection li,.reader-toolbar button,.reader-primary,.footer-email-box button){transition:border-color .22s,background-color .22s,color .18s}.portfolio:not(.motion-paused) .work-card:is(:hover,:focus-within){border-color:var(--accent)}.portfolio:not(.motion-paused) .work-collection li:is(:hover,:focus-within){background-color:#e9edf0}.portfolio:not(.motion-paused) .footer-copy-status:not(:empty){animation:copy-confirm .25s var(--motion-ease)}.portfolio:not(.motion-paused) .project-reader{opacity:0;transition:opacity .18s ease-out,transform .32s var(--motion-ease),display .32s allow-discrete,overlay .32s allow-discrete;transform:translateY(10px)}.portfolio:not(.motion-paused) .project-reader[open]{opacity:1;transform:none}.portfolio:not(.motion-paused) .project-reader::backdrop{transition:background-color .22s ease-out,display allow-discrete .32s,overlay allow-discrete .32s;background-color:#263b5000}.portfolio:not(.motion-paused) .project-reader[open]::backdrop{background-color:#263b5073}.portfolio:not(.motion-paused) .project-reader[open] .reader-body{animation:reader-page .3s var(--motion-ease)}@starting-style{.portfolio:not(.motion-paused) .project-reader[open]{opacity:0;transform:translateY(10px)}.portfolio:not(.motion-paused) .project-reader[open]::backdrop{background-color:#263b5000}}}@keyframes reader-page{0%{opacity:.75;translate:0 6px}to{opacity:1;translate:0}}@keyframes copy-confirm{0%{opacity:.4;translate:0 3px}to{opacity:1;translate:0}}.motion-paused .work-art:hover .project-illustration,.motion-paused .work-entry:hover .work-entry-arrow{transform:none}@media (prefers-reduced-motion:reduce){.work-art:hover .project-illustration,.work-entry:hover .work-entry-arrow{transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.portfolio .work-section-heading:after{animation:collection-rule linear both;animation-timeline:view();animation-range:entry}}}@keyframes collection-rule{0%{clip-path:inset(0 24% 0 0);opacity:.45}to{clip-path:inset(0);opacity:1}}@media (prefers-reduced-motion:no-preference){.portfolio:not(.motion-paused) .work-art-action{transition:background-color .18s ease-out,color .18s ease-out}.portfolio:not(.motion-paused) .work-art-action svg{transition:translate .22s cubic-bezier(.16,1,.3,1)}.portfolio:not(.motion-paused) .work-art:is(:hover,:focus-visible) .work-art-action svg{translate:3px}}