.portfolio-living{--portfolio-display-family: var(--font-display);--portfolio-silver: #afc1d9;isolation:isolate}.portfolio-living :is(h1,h2,h3){font-family:var(--portfolio-display-family)}.portfolio-living :is(.portfolio-hero,.portfolio-section,footer){max-width:1180px}.portfolio-living .portfolio-hero{position:relative;isolation:isolate;padding-top:clamp(116px,12vw,168px);padding-bottom:clamp(64px,8vw,112px);border-bottom:1px solid var(--border)}.portfolio-hero-content{position:relative}.portfolio-living .portfolio-identity h1{max-width:16ch;font-size:clamp(40px,5.2vw,68px);line-height:1.08;letter-spacing:-.055em;overflow-wrap:anywhere;text-wrap:balance}.portfolio-living .portfolio-kicker{margin:0 0 18px;color:var(--text-3);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;letter-spacing:.08em;overflow-wrap:anywhere}.portfolio-living .portfolio-role{margin-top:16px;font-size:clamp(18px,2vw,22px);line-height:1.5}.portfolio-living .portfolio-bio{max-width:58ch;font-size:17px;line-height:1.8}.portfolio-hero[data-layout=centered] .portfolio-identity h1{margin-inline:auto}.portfolio-hero[data-layout=centered] :is(.portfolio-socials,.portfolio-identity>div){justify-content:center}.portfolio-hero-editor.owner-editable{padding-top:56px}.portfolio-socials .btn{min-height:44px;padding-inline:16px;background:var(--bg-0)}.portfolio-living .portfolio-section{padding-block:clamp(36px,5vw,64px);scroll-margin-top:80px}.portfolio-section-heading h2{font-size:23px;line-height:1.25;letter-spacing:-.035em}.portfolio-section-heading .ui-meta{max-width:22ch;font-size:12px;line-height:1.6}.portfolio-living .ui-card,.portfolio-living .owner-editable{border-radius:var(--radius-card)}.portfolio-living .owner-edit-action{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-control);box-shadow:0 2px 12px color-mix(in srgb,var(--bg-0) 50%,transparent)}.portfolio-project{height:100%;background:var(--surface-1)}.portfolio-project[data-featured=true]{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.portfolio-project-media{padding:10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--portfolio-silver) 5%,var(--bg-1))}.portfolio-project .portfolio-project-copy{padding:24px}.portfolio-living .portfolio-project-meta{margin:0 0 12px;color:var(--accent-text);font-family:var(--font-mono, "IBM Plex Mono", monospace);font-size:11px;line-height:1.6}.portfolio-project-heading{flex-wrap:wrap;align-items:center;margin-bottom:12px}.portfolio-project-heading h3{flex:1 1 140px;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.portfolio-project-heading>div{flex-shrink:0}.portfolio-project-copy>p:not(.portfolio-project-meta){font-size:15px;line-height:1.75;margin-bottom:24px}.portfolio-project-heading>div a{min-height:44px;min-width:44px;border:1px solid var(--border)}.portfolio-project-link{display:inline-block;padding-block:4px}.portfolio-project-link:hover{color:var(--accent-text)}@media(max-width:1023px),(pointer:coarse),(hover:none){.portfolio-project-link{display:inline-flex;align-items:center;min-width:44px;min-height:44px}}.portfolio-projects[data-layout=showcase]>*{min-width:0}.portfolio-projects[data-layout=showcase]>[data-featured=true]{grid-column:1 / -1}.project-cover{display:block;width:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-control);background:var(--surface-2)}.project-media{min-width:0;margin:0}.project-media-frame{display:grid;place-items:center;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-2)}.project-media-frame>:is(iframe,img,video){display:block;width:100%;height:100%;min-width:0;-o-object-fit:contain;object-fit:contain;border:0}.project-media-frame>button{max-width:calc(100% - 32px);white-space:normal;overflow-wrap:anywhere}.project-details-modal{max-width:900px}.project-details{display:grid;gap:24px;min-width:0;overflow-wrap:anywhere;font-family:var(--portfolio-font-family, var(--font-body))}.project-details h1{font-size:clamp(32px,6vw,56px);line-height:1.15;color:var(--text-1);letter-spacing:-.04em}.project-details-summary{font-size:18px;line-height:1.7}.project-details-paragraph{max-width:72ch;white-space:pre-wrap;line-height:1.8}.project-details-page{max-width:980px;margin-inline:auto;padding:112px 24px 64px}.project-details-page>a{display:inline-flex;align-items:center;min-height:44px;margin-bottom:24px;color:var(--accent-text)}@media(min-width:768px){.portfolio-project[data-layout=showcase][data-featured=true][data-has-media=true]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.portfolio-project[data-layout=showcase][data-featured=true] .portfolio-project-media{display:grid;align-content:center;border-bottom:0;border-right:1px solid var(--border)}.portfolio-project[data-layout=showcase][data-featured=true] h3{font-size:28px}}.owner-editable>.portfolio-project{padding-top:56px}.portfolio-projects[data-layout=grid]>*{min-width:0}.portfolio-living .portfolio-experience h3{font-size:21px;line-height:1.5;letter-spacing:-.025em}.portfolio-experience h3>span{display:block;font-family:var(--portfolio-font-family);font-size:15px}.portfolio-experience p:not(.ui-meta),.portfolio-experience li{font-size:15px;line-height:1.75}.portfolio-experience .ui-meta{font-size:11px}.portfolio-experience.ui-card{padding:28px 24px}.portfolio-experience h3{min-width:0;overflow-wrap:anywhere}.portfolio-experience li>span:first-child{color:var(--accent-text)}.portfolio-education article{padding-block:26px}.owner-editable>.portfolio-experience,.portfolio-education article.owner-editable{padding-top:56px}.portfolio-education h3{font-size:20px;line-height:1.5}.portfolio-education p{line-height:1.7}.portfolio-skills{gap:10px}.portfolio-skills>*{padding:10px 15px;font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.portfolio-skills[data-layout=tags]>*{border-radius:999px}.portfolio-skills[data-layout=grid]>*{min-height:64px;justify-content:flex-start}.portfolio-skills[data-layout=bars]>*{justify-content:flex-start;border-left:3px solid var(--accent)}.portfolio-living .portfolio-contact{padding:clamp(24px,3vw,36px);flex-wrap:wrap;background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),var(--surface-1)}.portfolio-contact p{overflow-wrap:anywhere}.portfolio-contact .btn{max-width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere}.portfolio-section-nav{position:fixed;z-index:30;left:50%;bottom:calc(8px + env(safe-area-inset-bottom,0px));display:flex;max-width:calc(100vw - 16px);padding:4px;transform:translate(-50%);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-1)}.portfolio-section-nav-button{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;gap:12px;border-radius:var(--radius-control);color:var(--text-3)}.portfolio-section-nav-button[aria-current=location]{color:var(--accent-text);font-weight:600}.portfolio-section-nav-button:hover,.portfolio-section-nav-button:focus-visible{color:var(--text-1);background:var(--surface-2)}.portfolio-section-dot{width:7px;height:7px;flex-shrink:0;border:1px solid currentColor;border-radius:50%}.portfolio-section-label{display:none;font-family:var(--font-mono);font-size:12px}.portfolio-living.scroll-snap-container{scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.portfolio-living.scroll-snap-container footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.portfolio-living.scroll-snap-container .portfolio-settings-trigger{bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media(max-width:1023px){.portfolio-skills-legend>div>div{left:auto;right:0;width:min(280px,calc(100vw - 48px));white-space:normal}.portfolio-skills-legend>div>div>div:first-child{flex-wrap:wrap}.portfolio-skills-legend>div>div>div:last-child{display:none}}.portfolio-settings{max-width:100vw;overscroll-behavior:contain;scrollbar-width:thin}.portfolio-settings .portfolio-settings-heading{min-height:96px;padding:22px 20px}.portfolio-settings-heading h2{font-family:var(--font-display);font-size:17px;letter-spacing:-.03em}.portfolio-settings-heading p{margin-top:6px;font-size:11px}.portfolio-settings>div:last-child{padding:12px 10px 32px}.portfolio-settings .portfolio-config-section{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-1)}.portfolio-config-section>div:first-child>button:first-child{border-radius:var(--radius-card);padding-inline:14px}.portfolio-settings .portfolio-config-section .ui-meta{font-size:11px;line-height:1.6}.portfolio-settings input:not([type=range]):not([type=color]){background:var(--bg-1)}.portfolio-settings input[type=range]{accent-color:var(--accent)}.portfolio-settings button[aria-pressed=true]{outline:2px solid var(--text-1);outline-offset:3px}.portfolio-settings button[role=switch]{flex-shrink:0;min-width:44px}.portfolio-settings-trigger{box-shadow:0 8px 28px color-mix(in srgb,var(--bg-0) 60%,transparent)}.portfolio-editor-modal{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-card);box-shadow:0 24px 100px color-mix(in srgb,var(--bg-0) 65%,transparent)}.portfolio-editor-modal h2{font-family:var(--font-display);font-size:25px;line-height:1.25;letter-spacing:-.04em}.portfolio-editor-modal form{gap:20px}.portfolio-editor-modal :is(input:not([type=checkbox]),select){min-height:44px}.portfolio-editor-modal :is(input,textarea,select){font-size:15px;background:var(--bg-1)}.portfolio-editor-modal label{line-height:1.6}@media(min-width:640px){.portfolio-project[data-layout=list][data-has-media=true]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.portfolio-project[data-layout=list] .portfolio-project-media{border-bottom:0;border-right:1px solid var(--border);align-content:center}}@media(min-width:1024px){.portfolio-living .portfolio-section{grid-template-columns:150px minmax(0,1fr);gap:36px}.portfolio-living.scroll-snap-container>[data-portfolio-content]{padding-left:64px}.portfolio-living.scroll-snap-container{scroll-padding-bottom:0}.portfolio-section-nav{left:8px;top:50%;bottom:auto;flex-direction:column;transform:translateY(-50%);border:0;padding:0;background:transparent}}@media(min-width:1440px){.portfolio-living.scroll-snap-container>[data-portfolio-content]{padding-left:160px}.portfolio-section-nav{left:16px;width:136px}.portfolio-section-nav-button{justify-content:flex-start;padding-inline:12px}.portfolio-section-label{display:inline}}@media(min-width:1024px)and (max-width:1279px){.portfolio-living:has(.portfolio-settings) .portfolio-projects[data-layout=grid]{grid-template-columns:minmax(0,1fr)}.portfolio-living:has(.portfolio-settings) .portfolio-projects[data-layout=masonry]{-moz-columns:1;columns:1}.portfolio-living:has(.portfolio-settings) .portfolio-project[data-layout=list]{grid-template-columns:minmax(0,1fr)}}@media(max-width:639px){.portfolio-project .portfolio-project-copy{padding:20px}.portfolio-living .portfolio-experience h3{font-size:19px}.portfolio-editor-modal :is(input,textarea,select){font-size:16px}.portfolio-living footer{padding-bottom:88px}}@media(max-width:299px){.portfolio-settings .portfolio-accent-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(pointer:coarse),(hover:none){.portfolio-living :is(.owner-edit-action,.section-add-action),.portfolio-settings button{min-height:44px}}
