:root{color-scheme:light dark;--page:#edf0eb;--ink:#17201b;--muted:#646e66;--accent:#315f4d;--accent-strong:#1f4938;--line:#cbd1cc;--portrait:#d6d9d5;--focus:#315f4d;--radius:3px;--ease-out:cubic-bezier(.23, 1, .32, 1);font-size:clamp(12px,1.111vw,16px)}*{box-sizing:border-box}html{background:var(--page);height:100%}body{background:var(--page);min-width:320px;min-height:100%;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-underline-offset:.18em;transition:color .16s ease, transform .14s var(--ease-out);text-decoration-thickness:1px}a:focus-visible{border-radius:var(--radius);outline:2px solid var(--focus);outline-offset:4px}.site-nav,.profile__contact-actions{align-items:center;font-size:1rem;font-weight:600;line-height:1;display:flex}.site-nav{white-space:nowrap;gap:clamp(16px,2.5vw,24px);min-height:18px}.site-nav a,.profile__contact-actions a{color:var(--muted);white-space:nowrap;border-bottom:1px solid #0000;padding-bottom:3px;text-decoration:none}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:currentColor}.profile{--profile-gap:clamp(18px, 3.5dvh, 30px);gap:var(--profile-gap);width:min(100%,1080px);min-height:100svh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}@supports (height:100dvh){.profile{min-height:100dvh}}.profile__main{--profile-main-gap:clamp(8px, 1.5dvh, 14px);gap:var(--profile-main-gap);flex-direction:column;flex:auto;min-height:0;display:flex}.profile__intro{display:contents}.profile__hero{flex-direction:column;order:1;min-height:0;display:flex}.profile__hero-copy h1,.profile__hero-copy p{margin:0}.profile__hero-copy h1{letter-spacing:-.055em;text-wrap:balance;font-size:2.25rem;font-weight:580;line-height:.95}.profile__hero-copy p{letter-spacing:-.025em;max-width:31em;margin-top:clamp(8px,1.5dvh,14px);font-size:1.45rem;font-weight:440;line-height:1.17}.profile__hero-copy a{color:var(--accent);text-decoration-color:color-mix(in srgb, var(--accent) 48%, transparent)}.profile__portrait{object-fit:cover;object-position:50% 12%;border-radius:var(--radius);background:var(--portrait);order:2;width:100%;min-height:clamp(150px,38dvh,340px);display:block}.profile__projects{flex-direction:column;order:3;margin-top:auto;display:flex}.profile__projects h2{color:var(--muted);letter-spacing:-.015rem;margin:0 0 8px;font-size:1.2rem;font-weight:650;line-height:1}.project-grid{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.project-grid li{flex:100%;min-width:0}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--portrait) 36%, var(--page));width:100%;height:100%;min-height:58px;transition:color .16s ease, background-color .18s ease, border-color .18s ease, transform .18s var(--ease-out);flex-direction:column;justify-content:space-between;gap:5px;padding:9px 10px;text-decoration:none;display:flex;overflow:hidden}.project-grid li:first-child .project-card{background:color-mix(in srgb, var(--accent) 10%, var(--page));border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.project-grid li:last-child .project-card{background:color-mix(in srgb, var(--page) 84%, var(--portrait))}.project-card__name{color:var(--accent);letter-spacing:-.025rem;text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;font-weight:650;line-height:1.05;overflow:hidden}.project-card__description{color:var(--muted);letter-spacing:-.006em;text-wrap:balance;font-size:1.2rem;line-height:1.25}.profile__contacts{border-top:1px solid var(--line);flex-direction:column;flex:none;padding-top:7px;display:flex}.profile__contact-actions{flex-wrap:wrap;gap:8px 18px}.profile__variant-switcher{display:none}a:active{transform:scale(.97)}@media (width<=767px){.profile__portrait{aspect-ratio:1;height:auto;min-height:0;margin-bottom:calc(var(--profile-gap) - var(--profile-main-gap))}.profile__projects{margin-top:0}.profile__contact-actions{justify-content:space-between}}@media (height<=650px) and (width<=767px){.profile{--profile-gap:14px;padding-top:max(9px, env(safe-area-inset-top));padding-bottom:max(9px, env(safe-area-inset-bottom))}.profile__main{--profile-main-gap:6px}.profile__hero-copy h1{font-size:2rem}.profile__hero-copy p{margin-top:6px;font-size:1.25rem;line-height:1.14}.profile__projects h2{margin-bottom:5px}.project-card{gap:3px;min-height:48px;padding:6px 8px}.profile__contacts{padding-top:3px}.profile__contact-actions{gap:6px 14px}}@media (height>=651px) and (height<=720px) and (width<=767px){.project-card{min-height:54px;padding-block:7px}.profile__contacts{padding-top:5px}}@media (width>=768px){html[data-home-variant=baseline]{--home-title-size:4rem;--home-greeting-size:2rem;--home-title-greeting-gap:clamp(24px, 4vh, 38px)}html[data-home-variant=balanced],html:not([data-home-variant]){--home-title-size:3.25rem;--home-greeting-size:1.6875rem;--home-title-greeting-gap:clamp(18px, 2.8vh, 26px)}html[data-home-variant=compact]{--home-title-size:2.875rem;--home-greeting-size:1.5rem;--home-title-greeting-gap:clamp(16px, 2.4vh, 22px)}html[data-home-variant=airy]{--home-title-size:3.5rem;--home-greeting-size:1.75rem;--home-title-greeting-gap:clamp(20px, 3vh, 28px)}.profile{gap:clamp(22px,3vh,28px);padding:clamp(21px,3vw,36px)}.profile__main{flex-direction:row;flex:0 auto;align-items:stretch;gap:clamp(40px,6vw,72px)}.profile__intro{flex-direction:column;flex:auto;justify-content:space-between;min-width:0;display:flex}.profile__hero{order:initial}.profile__hero-copy h1{max-width:11em;font-size:var(--home-title-size)}.profile__hero-copy p{max-width:21em;margin-top:var(--home-title-greeting-gap);font-size:var(--home-greeting-size);line-height:1.13}.profile__portrait{order:initial;aspect-ratio:4/5;object-position:50% 50%;flex:0 0 clamp(220px,24vw,280px);width:clamp(220px,24vw,280px);height:auto}.profile__projects{order:initial;width:100%;margin-top:clamp(30px,5vh,48px)}.profile__contacts{margin-top:auto;padding-top:12px}.profile__projects h2{margin-bottom:10px;font-size:1.2rem}.project-grid{gap:8px}.project-grid li{flex-basis:0}.project-card{gap:10px;min-height:clamp(78px,10vh,96px);padding:clamp(10px,1.25vw,14px)}.project-card__name{font-size:1.2rem}.profile__contact-actions{justify-content:space-between;padding-bottom:2px}html[data-home-comparison=true] .profile__variant-switcher{z-index:3;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--page) 94%, transparent);box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 10%, transparent);align-items:center;gap:3px;padding:4px;font-size:.75rem;line-height:1;display:flex;position:fixed;top:16px;right:16px}.profile__variant-switcher span{color:var(--muted);padding:7px 6px}.profile__variant-switcher a{border-radius:var(--radius);color:var(--muted);padding:7px 8px;text-decoration:none}.profile__variant-switcher a[aria-current=true]{background:var(--ink);color:var(--page)}}@media (orientation:landscape) and (width>=768px) and (height<=620px){.profile{gap:16px;padding:22px}.profile__main{gap:40px}.profile__portrait{flex-basis:210px;width:210px}.profile__hero-copy h1{font-size:3.125rem}.profile__hero-copy p{margin-top:16px;font-size:1.5625rem}.profile__projects{margin-top:24px}.project-card{min-height:62px;padding:8px 10px}}@media (hover:hover) and (pointer:fine){.site-nav a:not([aria-current=page]):hover,.profile__contact-actions a:hover,.profile__hero-copy a:hover,.project-card:hover .project-card__name{color:var(--accent-strong)}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 60%, var(--line));background:color-mix(in srgb, var(--accent) 15%, var(--page));transform:translateY(-2px)}}.profile__contact-actions a:active{transform:scale(.97)}.travel-page{overflow:hidden}.travel{width:min(100%,1080px);height:100svh;min-height:100svh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;gap:clamp(10px,1.8dvh,18px);margin:0 auto;display:flex}@supports (height:100dvh){.travel{height:100dvh;min-height:100dvh}}.travel__header{justify-content:space-between;align-items:end;gap:20px;display:flex}.travel__header h1{letter-spacing:-.055em;margin:3px 0 0;font-size:2.25rem;font-weight:580;line-height:.95}.travel__external{color:var(--accent);white-space:nowrap;margin-bottom:2px;font-size:1rem;font-weight:600}.travel__map-shell{flex:auto;min-height:0;display:block;position:relative}.travel__map{border:1px solid var(--line);border-radius:var(--radius);background:var(--portrait);width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.travel__map-status{z-index:2;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--page) 92%, transparent);color:var(--muted);text-align:center;margin:0;padding:8px 10px;font-size:.875rem;line-height:1.45;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.travel__map-status[hidden]{display:none}.travel__map-status a{color:var(--accent)}.travel__map .maplibregl-ctrl-group{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--page) 94%, transparent);box-shadow:0 4px 18px color-mix(in srgb, var(--ink) 9%, transparent);overflow:hidden}.travel__map .maplibregl-ctrl-group button{background-color:#0000;width:32px;height:32px}.travel__map .maplibregl-ctrl-group button+button{border-top-color:var(--line)}.travel__map .maplibregl-ctrl-group button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.travel__map .maplibregl-popup-content{border:1px solid var(--line);border-radius:var(--radius);background:var(--page);min-width:120px;color:var(--ink);box-shadow:0 8px 28px color-mix(in srgb, var(--ink) 14%, transparent);padding:13px 32px 13px 14px;font-family:inherit;font-size:.8125rem;line-height:1.35}.travel__map .maplibregl-popup-content strong{font-weight:650}.travel__map .maplibregl-popup-content p{color:var(--muted);margin:6px 0 0}.travel__map .maplibregl-popup-close-button{width:30px;height:30px;color:var(--muted);font-size:1.25rem}.travel__map .maplibregl-popup-anchor-top .maplibregl-popup-tip,.travel__map .maplibregl-popup-anchor-top-left .maplibregl-popup-tip,.travel__map .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--page)}.travel__map .maplibregl-popup-anchor-bottom .maplibregl-popup-tip,.travel__map .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,.travel__map .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--page)}.travel__map .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--page)}.travel__map .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--page)}.travel__map .maplibregl-ctrl-attrib{background:color-mix(in srgb, var(--page) 88%, transparent);color:var(--muted);font-family:inherit}.travel__map .maplibregl-ctrl-attrib a{color:inherit}@media (width>=768px){.travel{gap:clamp(16px,2.5vh,24px);padding:clamp(28px,4vw,48px)}.travel__header h1{margin-top:5px;font-size:4rem}}@media (hover:hover) and (pointer:fine){.travel__external:hover{color:var(--accent-strong)}}@media (prefers-color-scheme:dark){:root{--page:#121713;--ink:#e8ece9;--muted:#a4ada7;--accent:#a5ccb9;--accent-strong:#d0e4da;--line:#39423c;--portrait:#252c28;--focus:#b6d9c8}.travel__map .maplibregl-ctrl-icon{filter:invert()}}@media (prefers-reduced-motion:reduce){a{transition-duration:.01ms}}
