@import"https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap";.react-activity-calendar__tooltip{width:max-content;max-width:calc(100vw - 20px);padding:.2em .5em;border-radius:.25em;background-color:#1a1a1a;color:#f0f0f0;font-size:13px}.react-activity-calendar__tooltip .react-activity-calendar__tooltip-arrow{fill:#1a1a1a}.react-activity-calendar__tooltip[data-color-scheme=dark]{background-color:#f0f0f0;color:#0f0f0f}.react-activity-calendar__tooltip[data-color-scheme=dark] .react-activity-calendar__tooltip-arrow{fill:#f0f0f0}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Figtree,sans-serif;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-x-0{left:0;right:0}.top-0{top:0}.isolate{isolation:isolate}.z-40{z-index:40}.mx-auto{margin-left:auto;margin-right:auto}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/8\]{aspect-ratio:16/8}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[700px\]{max-width:700px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-\[18px\]{padding-left:18px;padding-right:18px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-16{padding-bottom:4rem}.pl-2{padding-left:.5rem}.pt-20{padding-top:5rem}.text-left{text-align:left}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[1\.55rem\]{font-size:1.55rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[1\.25\]{line-height:1.25}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[color\:var\(--color-text-main\)\]{color:var(--color-text-main)}.text-\[var\(--color-text-description\)\]{color:var(--color-text-description)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:dark;--color-bg-main: #0b0d0e;--color-surface: #1a1b1c;--color-text-main: #ffffff;--color-text-heading: #ffffff;--color-text-sub: #b3b3b3;--color-text-description: #b3b3b3;--color-text-secondary: #b3b3b3;--color-text-muted: #999999;--color-text-faint: #666666;--color-card-bg: transparent;--color-field-bg: #1a1b1c;--color-pill-bg: #1a1b1c;--color-border: #444444;--color-border-hover: #888888;--color-border-strong: #ffffff;--color-gold: #e8cf8a;--color-gold-hover: #f3dfa6;--color-line: #555555;--color-separator: #333333;--color-divider: rgba(255, 255, 255, .15);--color-ring: rgba(255, 255, 255, .1);--color-tint: rgba(255, 255, 255, .03);--color-hover: #232326;--color-section-bg: #18181b;--color-section-text: #d4d4d4;--section-shadow: 0 4px 24px -8px rgba(0, 0, 0, .4);--color-mono: #b4b4b4;--color-role: #4ade80;--pill-shadow: 0px 32px 64px -16px #0006, 0px 16px 32px -8px #0006, 0px 8px 16px -4px #0004, 0px 4px 8px -2px #0004, 0px -8px 16px -1px #0003, 0px 2px 4px -1px #0004, 0px 0px 0px 1px #000, inset 0px 0px 0px 1px #ffffff14, inset 0px 1px 0px #ffffff33}:root.light{color-scheme:light;--color-bg-main: #fafaf9;--color-surface: #f0f0ef;--color-text-main: #0b0d0e;--color-text-heading: #0b0d0e;--color-text-sub: #52525b;--color-text-description: #52525b;--color-text-secondary: #52525b;--color-text-muted: #63636b;--color-text-faint: #8a8a90;--color-field-bg: #f0f0ef;--color-pill-bg: #ffffff;--color-border: #d4d4d4;--color-border-hover: #8a8a8a;--color-border-strong: #0b0d0e;--color-gold: #d9b762;--color-gold-hover: #c29d45;--color-line: #c4c4c4;--color-separator: #dcdcdc;--color-divider: rgba(0, 0, 0, .12);--color-ring: rgba(0, 0, 0, .08);--color-tint: rgba(0, 0, 0, .03);--color-hover: #f0f0ef;--color-section-bg: #efefee;--color-section-text: #27272a;--section-shadow: none;--color-mono: #52525b;--color-role: #16a34a;--pill-shadow: 0px 1px 2px rgba(0, 0, 0, .06), 0px 0px 0px 1px rgba(0, 0, 0, .09), inset 0px 1px 0px #ffffff}html,body,button,input,textarea{font-family:Figtree,sans-serif}html,body{background:var(--color-bg-main);color:var(--color-text-main)}:where(a,button):focus-visible{outline:2px solid var(--color-border-strong);outline-offset:3px}.font-figtree,.font-mono{font-family:Figtree,sans-serif}.heading-main{color:var(--color-text-heading);font-weight:700}.text-sub,.subtitle{color:var(--color-text-sub)}.description{color:var(--color-text-description)}.description-body{color:var(--color-text-description);text-align:left;-webkit-hyphens:none;hyphens:none}.site-nav{background:none;pointer-events:none}.site-nav-bar{pointer-events:auto;background:var(--color-bg-main);border-bottom:1px solid var(--color-separator)}.theme-toggle{display:grid;place-items:center;width:1.5rem;height:1.5rem;margin:0;padding:0;border:0;background:none;color:var(--color-text-secondary);cursor:pointer;line-height:0}.theme-toggle:hover{color:var(--color-text-main)}.section-title{position:relative;display:inline-block;border-radius:2px;background:var(--color-section-bg);padding:2px 8px;font-size:16px;font-weight:500;line-height:1.4;color:var(--color-section-text);box-shadow:var(--section-shadow)}.section-title .corner{position:absolute;width:7px;height:7px;border-color:var(--color-text-secondary)}.section-title .corner.tl{top:0;left:0;border-top:1.5px solid;border-left:1.5px solid}.section-title .corner.tr{top:0;right:0;border-top:1.5px solid;border-right:1.5px solid}.section-title .corner.bl{bottom:0;left:0;border-bottom:1.5px solid;border-left:1.5px solid}.section-title .corner.br{right:0;bottom:0;border-right:1.5px solid;border-bottom:1.5px solid}.mx-card{border:1.5px dashed var(--color-border);background:transparent;padding:10px;color:var(--color-text-main);transition:border-color .3s ease}.mx-card:hover{border-color:var(--color-border-hover)}.mx-card.is-highlight{border-color:var(--color-gold)}.mx-card.is-highlight:hover{border-color:var(--color-gold-hover)}.mx-pill,.mx-action,.mx-icon-btn{display:inline-flex;align-items:center;gap:4px;border-radius:4px;background:var(--color-pill-bg);padding:4px 8px;font-size:12px;font-weight:500;line-height:1.2;color:var(--color-text-main);text-decoration:none;box-shadow:var(--pill-shadow)}.mx-icon-btn{justify-content:center;padding:6px}.hero-bio{margin:0;padding-left:1.1rem;color:var(--color-text-secondary);font-size:.95rem;line-height:1.7;list-style:disc}.hero-bio strong{color:var(--color-text-main);font-weight:700}@media (max-width: 700px){.hero-bio,.mx-card>p,.exp-note,.copy{text-align:justify;text-justify:inter-word;-webkit-hyphens:none;hyphens:none}.card-head{flex-direction:column;align-items:flex-start}.card-actions{justify-content:flex-start}.exp-header,.exp-box.no-logo .exp-header{flex-wrap:nowrap;align-items:flex-start}.exp-right,.exp-box.no-logo .exp-right{width:auto;margin-left:auto;padding-top:0}}.exp-box{position:relative;margin-top:14px;border:1.5px dashed var(--color-border);padding:16px 12px 14px 28px}.exp-box.plain{padding:16px 14px}.exp-line{position:absolute;top:18px;bottom:18px;left:14px;border-left:1.5px dashed var(--color-line)}.exp-dot{position:absolute;top:30px;left:10.5px;width:8px;height:8px;border-radius:50%}.exp-dot.past{background:#f33;box-shadow:0 0 6px #ff333380}.exp-dot.present{background:#02ff67;box-shadow:0 0 6px #02ff6780}.exp-header{display:flex;align-items:flex-start;gap:10px}.exp-info{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.exp-logo{display:grid;width:36px;height:36px;flex-shrink:0;place-items:center;overflow:hidden;border-radius:8px;background:#fff;color:#111;font-size:14px;font-weight:700}.exp-logo img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.exp-box.no-logo .exp-note,.exp-box.no-logo .exp-bullets{margin-left:0}.exp-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:1.3}.exp-name-row a{color:var(--color-text-main);text-decoration:none}.exp-place{font-weight:400;color:var(--color-text-secondary)}.exp-name-row svg{flex-shrink:0;color:var(--color-text-faint)}.exp-role,.exp-aside-hint,.exp-aside-note{color:var(--color-text-secondary);font-size:13px;font-weight:400;line-height:1.3}.exp-badge{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:1px 6px 1px 4px;color:var(--color-text-secondary);font-size:11px;font-weight:400}.exp-badge.present{background:#091d11;color:#3ddc84}.exp-badge.past{background:#1d0909;color:#ff6b6b}.exp-badge i{width:6px;height:6px;border-radius:50%}.exp-badge.present i{background:#02ff67;box-shadow:0 0 6px #02ff6780}.exp-badge.past i{background:#f33;box-shadow:0 0 6px #ff333380}.exp-right{display:flex;flex-shrink:0;align-items:flex-start;gap:2px;margin-left:auto;padding-top:0;color:var(--color-text-secondary);white-space:nowrap}.exp-aside{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.exp-dates{font-size:14px;font-weight:400;line-height:1.3}.exp-aside-note{color:var(--color-text-main);font-weight:500}.exp-note{margin:12px 0 0 46px;color:var(--color-text-muted);font-size:13px;line-height:1.5}.lang-list{list-style:none;padding-top:6px;padding-bottom:6px}.lang-list li{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:14px;line-height:1.3}.lang-list li+li{border-top:1px dashed var(--color-border)}.lang-name{font-weight:600}.lang-greeting{color:var(--color-text-faint);font-size:13px;opacity:0;transition:opacity .2s ease}.lang-list li:hover .lang-greeting{opacity:1}@media (hover: none){.lang-greeting{display:none}}.lang-tag{margin-left:auto;flex-shrink:0;padding:1px 4px;font-size:11px;font-weight:700;line-height:1.25;letter-spacing:.025em;text-transform:uppercase}.lang-tag.is-fluent{background:var(--color-text-main);color:var(--color-bg-main)}.lang-tag.is-learning{box-shadow:inset 0 0 0 1px var(--color-line);color:var(--color-text-secondary)}.exp-toggle{display:grid;width:22px;height:22px;place-items:center;color:var(--color-text-faint)}.exp-toggle svg{transition:transform .2s ease}.exp-toggle.open svg{transform:rotate(180deg)}.exp-bullets{margin:12px 0 0;padding-left:1.15rem;color:var(--color-text-muted);font-size:13px;line-height:1.6;list-style:disc;text-align:left}.exp-bullets li+li{margin-top:4px}.gh-calendar{margin-top:14px;overflow:hidden;border:1.5px dashed var(--color-border);padding:16px 14px 14px}.gh-calendar.is-fit .react-activity-calendar__scroll-container{overflow-x:hidden!important}.gh-calendar.is-scroll .react-activity-calendar__scroll-container{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.gh-calendar .react-activity-calendar__scroll-container::-webkit-scrollbar{display:none;width:0;height:0}.gh-calendar svg{display:block;width:auto;max-width:none;height:auto}.gh-calendar footer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--color-text-main);font-size:14px;white-space:nowrap}.react-activity-calendar__tooltip,.react-activity-calendar__tooltip[data-color-scheme=dark]{border-radius:8px;background:#3a3a3a;padding:6px 10px;color:#fff;font-family:Figtree,sans-serif;font-size:13px}.react-activity-calendar__tooltip-arrow,.react-activity-calendar__tooltip[data-color-scheme=dark] .react-activity-calendar__tooltip-arrow{fill:#3a3a3a}@media (max-width: 699px){.gh-calendar footer{flex-direction:column;align-items:stretch;row-gap:6px}.gh-calendar .react-activity-calendar__count{text-align:left}.gh-calendar .react-activity-calendar__legend-colors{display:flex;width:100%;margin-left:0!important;justify-content:center}}.news-feed{margin-top:1.35rem}.news-year+.news-year{margin-top:1.6rem}.news-year-label{margin:0 0 .35rem;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.14em}.news-item{padding:.85rem 0;border-top:1px solid var(--color-separator)}.news-year .news-item:last-child{border-bottom:1px solid var(--color-separator)}.news-kind{margin:0 0 .2rem;color:var(--color-text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.news-title{margin:0;color:var(--color-text-main);font-size:.98rem;font-weight:600;line-height:1.45;text-wrap:pretty}.mx-action.is-soon{color:var(--color-text-secondary);cursor:default}.view-more{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;height:26px;border-radius:4px;background:var(--color-pill-bg);padding:0 8px;color:var(--color-text-secondary);font-size:12px;font-weight:500;line-height:1;text-decoration:none;box-shadow:var(--pill-shadow)}.view-more:hover{color:var(--color-text-main)}.work-anchor{scroll-margin-top:4.75rem}.gallery-stack{display:flex;flex-direction:column;gap:14px;margin-top:16px}.gallery-box{border:1.5px dashed var(--color-border);padding:12px 14px 14px}.gallery-kind{margin:0 0 10px;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.gallery-shot{display:flex;width:100%;flex-direction:column;margin:0;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.gallery-shot img{display:block;width:100%;aspect-ratio:4 / 3;height:auto;border:1px solid var(--color-border);background:var(--color-surface);-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.gallery-cap{margin-top:6px;color:var(--color-text-secondary);font-size:.78rem;line-height:1.35;text-wrap:pretty}.gallery-shot:hover .gallery-cap,.gallery-shot:focus-visible .gallery-cap{color:var(--color-text-main)}.gallery-lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000;padding:56px 16px 24px}.gallery-lightbox-frame{position:relative;display:flex;width:min(920px,100%);flex-direction:column;align-items:center}.gallery-lightbox-frame img{display:block;max-width:100%;max-height:min(70vh,720px);-o-object-fit:contain;object-fit:contain}.gallery-lightbox-title{margin:14px 0 0;color:#fff;font-size:.95rem;font-weight:600;line-height:1.35;text-align:center;text-wrap:pretty}.gallery-lightbox-count{margin:4px 0 0;color:#b3b3b3;font-size:.78rem}.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;display:grid;place-items:center;border:0;border-radius:999px;background:#0000008c;color:#fff;cursor:pointer}.gallery-lightbox-close{top:-44px;right:0;width:36px;height:36px}.gallery-lightbox-nav{top:38%;width:40px;height:40px}.gallery-lightbox-nav.is-prev{left:0}.gallery-lightbox-nav.is-next{right:0}@media (min-width: 700px){.gallery-lightbox-nav.is-prev{left:-52px}.gallery-lightbox-nav.is-next{right:-52px}}.connect-card{border:1.5px dashed var(--color-border);padding:28px 16px 22px;text-align:center}.connect-card h2{font-size:28px;font-weight:600;line-height:1.2;text-align:center}.connect-card p{margin-top:8px;color:var(--color-text-secondary);font-size:15px;text-align:center}.profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;font-size:.9rem;line-height:1.6}.intro-head{display:grid;grid-template-columns:7.25rem minmax(0,1fr);-moz-column-gap:.9rem;column-gap:.9rem;row-gap:.85rem;align-items:center}.intro-copy{display:contents}.intro-photo-button{display:block;width:100%;padding:0;border:0;border-radius:1rem;background:none;cursor:zoom-in}.portrait-file-link{display:inline-flex;align-items:center;gap:.25rem;margin-top:4px;color:#b3b3b3;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.portrait-file-link:hover{color:#fff}.intro-photo{width:100%;height:auto;aspect-ratio:1;border-radius:1rem;-o-object-fit:cover;object-fit:cover;-o-object-position:center 12%;object-position:center 12%;box-shadow:0 0 0 1px var(--color-ring)}.intro-text{grid-column:1 / -1}.intro-id{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}.intro-text{margin:0;color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;-webkit-hyphens:none;hyphens:none;text-align:left;text-wrap:pretty}@media (min-width: 640px){.intro-head{grid-template-columns:12.5rem minmax(0,1fr);-moz-column-gap:1.5rem;column-gap:1.5rem;row-gap:0;align-items:center}.intro-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;min-width:0}.intro-text{grid-column:auto}.intro-id{gap:.4rem}}.intro-id,.intro-head{overflow:visible}.other-names{position:relative;display:inline-flex;align-items:center;margin-left:1px}.other-names-toggle{display:inline-flex;align-items:center;gap:.3rem;margin:0;padding:0;border:0;background:none;color:var(--color-text-secondary);font-size:.7rem;font-weight:400;line-height:1.3;cursor:pointer}.other-names-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:5px solid currentColor;transition:transform .28s cubic-bezier(.22,1,.36,1)}.other-names-toggle[aria-expanded=false] .other-names-caret{transform:rotate(-90deg)}@media (min-width: 640px){.other-names{margin-top:-.12rem;margin-left:2px}}.other-names-value{position:absolute;left:calc(100% + .4rem);top:0;color:var(--color-text-secondary);font-size:.7rem;font-weight:400;line-height:1.3;white-space:nowrap;opacity:0;transform:translate(-8px);pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}.other-names.is-open .other-names-value{opacity:1;transform:translate(0);pointer-events:auto}@media (min-width: 640px){.other-names-toggle,.other-names-value{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.lang-greeting,.other-names-caret,.other-names-value{transition:none}}.profile-place{display:inline-flex;align-items:center;gap:.2rem;color:var(--color-text-main);font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap}.profile-row{display:contents}.profile-links-head{justify-content:center}.profile-links a{color:var(--color-text-main);font-weight:600;text-decoration:underline;text-underline-offset:3px}.connect-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px}.connect-links a{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:4px;height:26px;border-radius:4px;background:var(--color-pill-bg);padding:0 8px;color:var(--color-text-main);font-size:12px;font-weight:500;line-height:1;text-decoration:none;box-shadow:var(--pill-shadow)}@media (max-width: 699px){.profile-links-head{flex-direction:column;align-items:center;gap:.4rem}.profile-links-head .profile-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.85rem}}.site-footer{padding:16px 20px 28px}.site-footer-inner{width:100%;max-width:700px;margin:0 auto;text-align:center}.footer-bottom{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-faint);font-family:Figtree,sans-serif;font-size:11px;font-variant-numeric:tabular-nums}.hover\:bg-\[var\(--color-hover\)\]:hover{background-color:var(--color-hover)}.hover\:text-\[var\(--color-text-heading\)\]:hover{color:var(--color-text-heading)}.hover\:opacity-80:hover{opacity:.8}@media (min-width: 640px){.sm\:text-\[2\.1rem\]{font-size:2.1rem}}@media (min-width: 768px){.md\:mb-6{margin-bottom:1.5rem}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:p-5{padding:1.25rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}
