﻿body>main section:not(#hero)>header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);position:relative}body>main section:not(#hero)>header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, var(--border), transparent 75%)}body>main section:not(#hero)>header>p:first-child{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}body>main section:not(#hero)>header>h1,body>main section:not(#hero)>header>h2{font-size:var(--step-section);font-weight:700;letter-spacing:-0.02em;color:var(--heading)}@media(max-width: 767px){body>main>section>header{text-align:center}body>main>section:not(#hero)>header::after{background:linear-gradient(90deg, transparent, var(--border), transparent)}}body>footer>nav>ul{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}body>footer>nav>ul>li{font-family:var(--font-primary);font-size:.875rem;font-weight:400;color:var(--muted);line-height:1.6}body>footer>nav>ul>li>a,body>footer>nav>ul>li>span{color:inherit;font:inherit;line-height:inherit}body>footer>nav>ul>li>a{transition:color var(--transition-speed)}body>footer>nav>ul>li>a:hover{color:var(--accent)}@media(max-width: 575px){body>footer>nav>ul{flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}}.availability-widget{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted);white-space:nowrap}.availability-widget__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted);box-shadow:0 0 0 0 rgba(0,0,0,0)}.availability-widget__label{color:var(--text);font-weight:500}.availability-widget__meta{color:var(--muted)}.availability-widget__meta:not(:empty)::before{content:"·";margin-right:.5rem;color:var(--muted)}.availability-widget.is-around .availability-widget__dot{background:#4ade80;animation:availability-pulse 2s ease-in-out infinite}.availability-widget.is-tied-up .availability-widget__dot{background:#fb923c;animation:availability-pulse 2.4s ease-in-out infinite}.availability-widget.is-signed-off .availability-widget__dot,.availability-widget.is-recharging .availability-widget__dot,.availability-widget.is-gone-riding .availability-widget__dot{background:var(--muted);opacity:.7}@media(max-width: 767px){.availability-widget__meta{display:none}}@keyframes availability-pulse{0%,100%{box-shadow:0 0 0 0 currentColor;transform:scale(1)}50%{box-shadow:0 0 0 6px rgba(0,0,0,0);transform:scale(1.15)}}.record-card{background:var(--card);border:1px solid var(--border);border-radius:var(--border-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-speed) ease,border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease}.record-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 32px rgba(0,0,0,.25)}.record-card[hidden]{display:none}.record-card>div:first-child{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt)}.record-card>div:first-child>img{width:100%;height:100%;object-fit:cover;display:block}.record-card>div:nth-child(2){padding:calc(var(--spacing-sm)*1.25) calc(var(--spacing-sm)*1.5);display:flex;flex-direction:column;gap:.75rem;flex:1}.record-card>div:nth-child(2)>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin:0}.record-card>div:nth-child(2)>header>h2,.record-card>div:nth-child(2)>header>h3{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3;color:var(--heading);flex:1;min-width:0}.record-card>div:nth-child(2)>header>h2>a,.record-card>div:nth-child(2)>header>h3>a{color:inherit;text-decoration:none;transition:color var(--transition-speed) ease}.record-card>div:nth-child(2)>header>h2>a:hover,.record-card>div:nth-child(2)>header>h3>a:hover{color:var(--accent)}.record-card>div:nth-child(2)>header>time{font-family:var(--font-primary);font-size:.75rem;color:var(--muted);white-space:nowrap}section#projects>ul>li>.record-card>div:first-child>div,body>main>section.projects-page .project-card>div:first-child>div,body>main>section.project-detail .project-detail__placeholder,.curation-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}section#projects>ul>li>.record-card>div:first-child>div,body>main>section.projects-page .project-card>div:first-child>div,body>main>section.project-detail .project-detail__placeholder,.curation-card-placeholder,body>main>section.experience-detail .experience-detail__logo.experience-detail__logo--placeholder{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--bg-alt)), var(--bg-alt))}section#projects>ul>li>.record-card>div:first-child>div[hidden],body>main>section.projects-page .project-card>div:first-child>div[hidden],body>main>section.project-detail .project-detail__placeholder[hidden]{display:none}body>main>section.projects-page .project-card[data-source=github]>div:first-child>div,body>main>section.project-detail .project-detail__media--github .project-detail__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #8b5cf6 28%, var(--bg-alt)), var(--bg-alt))}body>main>section.projects-page .project-card[data-source=linkedin]>div:first-child>div,body>main>section.project-detail .project-detail__media--linkedin .project-detail__placeholder{background:linear-gradient(135deg, color-mix(in srgb, #0a66c2 30%, var(--bg-alt)), var(--bg-alt))}section#projects>ul>li>.record-card>div:first-child>div>span,body>main>section.projects-page .project-card>div:first-child>div>span,body>main>section.project-detail .project-detail__initials,.curation-card-initials{font-family:var(--font-mono);font-size:2.5rem;font-weight:700;color:var(--heading);letter-spacing:.05em;opacity:.85;text-transform:uppercase}body>main>section.projects-page,body>main>section.curation-listing,body>main>section.project-detail,body>main>section.experience-detail,body>main>section.curation-detail{padding-bottom:var(--spacing-xl)}body>main>section.projects-page>header,body>main>section.curation-listing>header{margin-bottom:var(--spacing-md)}body>main>section.projects-page .projects-page__intro,body>main>section.curation-listing .curation-intro{color:var(--muted);font-size:1rem;max-width:60ch;margin-top:var(--spacing-sm);line-height:1.6}body>main>section.projects-page .projects-page__empty,body>main>section.curation-listing .curation-empty{text-align:center;color:var(--muted);padding:var(--spacing-lg) 0;font-size:1rem}body>main>section.projects-page>footer,body>main>section.curation-listing>footer{margin-top:calc(var(--spacing-xl)/2)}body>main>section.projects-page .projects-grid,body>main>section.curation-listing .curation-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);align-items:stretch}@media(min-width: 768px){body>main>section.projects-page .projects-grid,body>main>section.curation-listing .curation-grid{grid-template-columns:1fr 1fr}}@media(min-width: 1200px){body>main>section.projects-page .projects-grid,body>main>section.curation-listing .curation-grid{grid-template-columns:repeat(3, 1fr)}}body>main>section.project-detail .project-detail__inner,body>main>section.experience-detail .experience-detail__inner{display:flex;flex-direction:column;gap:var(--spacing-md)}body>main>section.project-detail .project-detail__breadcrumbs,body>main>section.experience-detail .experience-detail__breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted);font-family:var(--font-mono)}body>main>section.project-detail .project-detail__breadcrumbs>a,body>main>section.experience-detail .experience-detail__breadcrumbs>a{color:var(--muted);text-decoration:none;transition:color var(--transition-speed) ease}body>main>section.project-detail .project-detail__breadcrumbs>a:hover,body>main>section.experience-detail .experience-detail__breadcrumbs>a:hover{color:var(--accent)}body>main>section.project-detail .project-detail__breadcrumbs>span[aria-current=page],body>main>section.experience-detail .experience-detail__breadcrumbs>span[aria-current=page]{color:var(--heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}body>main>section.project-detail .project-detail__breadcrumbs>span[aria-hidden=true],body>main>section.experience-detail .experience-detail__breadcrumbs>span[aria-hidden=true]{color:var(--border)}body>main>section.project-detail .project-detail__article,body>main>section.experience-detail .experience-detail__article{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--border-radius)*1.5);overflow:hidden;display:flex;flex-direction:column}body>main>section.project-detail .project-detail__header,body>main>section.experience-detail .experience-detail__header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm);display:flex;border-bottom:1px solid var(--border)}body>main>section.project-detail .project-detail__eyebrow,body>main>section.experience-detail .experience-detail__eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:3px;color:var(--accent);font-weight:600;margin:0}body>main>section.project-detail .project-detail__title,body>main>section.experience-detail .experience-detail__title{margin:0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;color:var(--heading)}body>main>section.project-detail .project-detail__meta,body>main>section.experience-detail .experience-detail__meta{margin:0;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}body>main>section.project-detail .project-detail__period,body>main>section.experience-detail .experience-detail__period{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);display:inline-flex;align-items:center;gap:.45em}body>main>section.project-detail .project-detail__body,body>main>section.experience-detail .experience-detail__body{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}body>main>section.project-detail .project-detail__prose,body>main>section.experience-detail .experience-detail__prose{color:var(--text);font-size:1rem;line-height:1.7;max-width:72ch}body>main>section.project-detail .project-detail__prose ul,body>main>section.experience-detail .experience-detail__prose ul{padding-left:1.25em;list-style:disc}body>main>section.project-detail .project-detail__prose ul>li+li,body>main>section.experience-detail .experience-detail__prose ul>li+li{margin-top:.4em}body>main>section.project-detail .project-detail__prose strong,body>main>section.experience-detail .experience-detail__prose strong{color:var(--heading)}body>main>section.project-detail .project-detail__prose a,body>main>section.experience-detail .experience-detail__prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}body>main>section.project-detail .project-detail__prose a:hover,body>main>section.experience-detail .experience-detail__prose a:hover{opacity:.8}body>main>section.project-detail .project-detail__cta-row,body>main>section.experience-detail .experience-detail__cta-row{margin:0}body>main>section.project-detail .project-detail__cta,body>main>section.experience-detail .experience-detail__cta{display:inline-flex;align-items:center;gap:.5em;padding:.75rem 1.5rem;background:var(--accent);color:var(--bg);font-weight:600;font-size:.9rem;border-radius:var(--border-radius);text-decoration:none;transition:opacity var(--transition-speed) ease,transform var(--transition-speed) ease}body>main>section.project-detail .project-detail__cta:hover,body>main>section.experience-detail .experience-detail__cta:hover{opacity:.88;color:var(--bg);transform:translateY(-1px)}body>main>section.project-detail .project-detail__footer,body>main>section.experience-detail .experience-detail__footer{font-size:.9rem}@media(min-width: 768px){body>main>section.project-detail .project-detail__header,body>main>section.experience-detail .experience-detail__header{padding:calc(var(--spacing-md)*1.25) calc(var(--spacing-md)*1.5) var(--spacing-md)}body>main>section.project-detail .project-detail__body,body>main>section.experience-detail .experience-detail__body{padding:calc(var(--spacing-md)*1.25) calc(var(--spacing-md)*1.5) calc(var(--spacing-md)*1.5)}}body>main>section.projects-page>footer>a,body>main>section.curation-listing>footer>a,body>main>section.project-detail .project-detail__footer>a,body>main>section.experience-detail .experience-detail__footer>a,.curation-detail-footer a,section#experience>footer>a{display:inline-block;color:var(--muted);font-weight:500;text-decoration:none;transition:color var(--transition-speed) ease,transform var(--transition-speed) ease}body>main>section.projects-page>footer>a:hover,body>main>section.projects-page>footer>a:focus-visible,body>main>section.curation-listing>footer>a:hover,body>main>section.curation-listing>footer>a:focus-visible,body>main>section.project-detail .project-detail__footer>a:hover,body>main>section.project-detail .project-detail__footer>a:focus-visible,body>main>section.experience-detail .experience-detail__footer>a:hover,body>main>section.experience-detail .experience-detail__footer>a:focus-visible,.curation-detail-footer a:hover,.curation-detail-footer a:focus-visible,section#experience>footer>a:hover,section#experience>footer>a:focus-visible{color:var(--accent);transform:translateX(-4px);animation:back-link-pull .5s ease-out}body>main>section.projects-page .project-card>div:nth-child(2)>header>time>span,body>main>section.project-detail .project-detail__ongoing-dot{border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:projectOngoingPulse 2s ease-in-out infinite}@keyframes projectOngoingPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}.record-card.curation-card>div:first-child{aspect-ratio:21/9}.curation-card-initials{font-family:var(--font-primary)}.curation-card-excerpt{color:var(--muted);font-size:.875rem;line-height:1.55;margin:0;flex:1}.curation-attribution{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted);margin-top:auto}.curation-attribution a:not(.curation-cta){color:inherit;text-decoration:none;transition:color var(--transition-speed)}.curation-attribution a:not(.curation-cta):hover{color:var(--heading);text-decoration:underline;text-underline-offset:3px}.curation-attribution-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0}.curation-attribution-publisher::before{content:"·";margin-right:.5rem;color:var(--border)}.curation-original-link{margin-left:auto;flex-shrink:0;font-size:.8125rem}.curation-cta{display:inline-flex;align-items:center;gap:.4em;background:var(--accent);color:var(--bg);padding:.6em 1.2em;border-radius:var(--border-radius);text-decoration:none;font-weight:600;transition:background-color var(--transition-speed) ease,transform var(--transition-speed) ease}.curation-cta>span{display:inline-block}.curation-cta:hover,.curation-cta:focus-visible{color:var(--bg);background-color:color-mix(in srgb, var(--accent) 82%, var(--heading));transform:translateY(-2px)}.curation-cta:hover>span,.curation-cta:focus-visible>span{animation:curation-cta-arrow-exit .45s ease-in-out}.curation-cta:active{transform:translateY(0)}.curation-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes curation-cta-arrow-exit{0%{opacity:1;transform:translate(0, 0)}45%{opacity:0;transform:translate(0.6em, -0.6em)}55%{opacity:0;transform:translate(-0.6em, 0.6em)}100%{opacity:1;transform:translate(0, 0)}}body>main section.curation-latest{padding-top:var(--spacing-lg)}body>main section.curation-latest>header{margin-bottom:var(--spacing-md)}body>main section.curation-latest>footer{margin-top:var(--spacing-md)}body>main section.curation-latest>footer>a{color:var(--accent);font-size:.875rem;font-weight:500;text-decoration:none}body>main section.curation-latest>footer>a:hover{text-decoration:underline;text-underline-offset:3px}.curation-latest-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-sm);align-items:stretch}body>main section.curation-latest .record-card.curation-card>div:first-child{aspect-ratio:2/1}body>main section.curation-latest .record-card.curation-card>div:nth-child(2){padding:var(--spacing-sm);gap:.5rem}body>main section.curation-latest .record-card.curation-card>div:nth-child(2)>header{flex-direction:column-reverse;align-items:flex-start;gap:.25rem}body>main section.curation-latest .record-card.curation-card>div:nth-child(2)>header>h2{font-size:.9375rem}body>main section.curation-latest .record-card.curation-card>div:nth-child(2)>header>time{font-size:.6875rem}body>main section.curation-latest .curation-card-excerpt{font-size:.8125rem;line-height:1.5}body>main section.curation-latest .curation-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body>main section.curation-latest .curation-attribution{font-size:.6875rem;flex-wrap:nowrap;align-items:baseline;min-width:0}body>main section.curation-latest .curation-attribution-meta{flex-wrap:nowrap;align-items:baseline;min-width:0}body>main section.curation-latest .curation-attribution-author,body>main section.curation-latest .curation-attribution-publisher{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width: 576px){body>main section.curation-latest .curation-latest-grid{grid-template-columns:1fr 1fr}}@media(min-width: 900px){body>main section.curation-latest .curation-latest-grid{grid-template-columns:repeat(4, 1fr)}}section#experience>ol{position:relative;padding:var(--spacing-sm) 0;max-width:var(--max-width);margin-inline:auto}section#experience>ol::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-50%)}section#experience>ol>li{display:flex;align-items:flex-start;margin-bottom:var(--spacing-md);position:relative;justify-content:space-between}section#experience>ol>li>span{position:absolute;left:50%;top:4px;width:12px;height:12px;background:var(--accent);border-radius:50%;transform:translateX(-50%);z-index:1}section#experience>ol>li>div{width:45%}section#experience>ol>li>div>h3{font-size:1rem;font-weight:600;color:var(--heading)}section#experience>ol>li>div>h3>a{color:var(--heading);text-decoration:none}section#experience>ol>li>div>h3>a:hover{text-decoration:underline}section#experience>ol>li>div>.timeline-org{font-size:.875rem;color:var(--accent);font-weight:500;line-height:1.2;margin-top:.375rem;display:flex;align-items:center;gap:.375rem}section#experience>ol>li>div>.timeline-org>img{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}section#experience>ol>li>div>.timeline-org>a{color:var(--accent);text-decoration:none}section#experience>ol>li>div>.timeline-org>a:hover{text-decoration:underline}section#experience>ol>li>div>p{font-size:.875rem;color:var(--muted);margin-top:.5rem;line-height:1.5}section#experience>ol>li>div>.timeline__summary{margin-top:.375rem}section#experience>ol>li>div>.timeline__description{font-size:.875rem;color:var(--muted);margin-top:.5rem;line-height:1.5}section#experience>ol>li>time{width:45%;font-size:.875rem;color:var(--muted)}section#experience>ol>li.timeline-left>div{text-align:right;padding-right:var(--spacing-md)}section#experience>ol>li.timeline-left>div>.timeline-org{justify-content:flex-end}section#experience>ol>li.timeline-left>time{order:1;padding-left:var(--spacing-md)}section#experience>ol>li.timeline-right>time{text-align:right;padding-right:var(--spacing-md)}section#experience>ol>li.timeline-right>div{order:1;padding-left:var(--spacing-md)}section#experience>ol>li>div>.timeline__description p,section#education>article>.education__description p{margin:0}section#experience>ol>li>div>.timeline__description p+p,section#education>article>.education__description p+p{margin-top:.6em}section#experience>ol>li>div>.timeline__description ul,section#education>article>.education__description ul{margin:.6em 0 0;padding-left:1.2em;list-style:disc}section#experience>ol>li>div>.timeline__description p+ul,section#experience>ol>li>div>.timeline__description ul+p,section#education>article>.education__description p+ul,section#education>article>.education__description ul+p{margin-top:.6em}@media(max-width: 767px){section#experience>ol::before{left:16px;transform:none}section#experience>ol>li{flex-direction:column;padding-left:40px}section#experience>ol>li>span{left:16px;transform:translateX(-50%)}section#experience>ol>li>div,section#experience>ol>li>time{width:100%;text-align:left !important;padding-left:0 !important;padding-right:0 !important;order:unset !important}section#experience>ol>li>div>.timeline-org{justify-content:flex-start !important}section#experience>ol>li>time{margin-top:.25rem}}section#about>div>img{width:120px;height:120px;border-radius:50%;border:3px solid var(--accent);object-fit:cover}section#about>div>div>nav{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}section#about>div>div>nav>a{color:var(--accent);font-size:.875rem}section#about>div>div>nav>a:hover{text-decoration:underline}@media(max-width: 767px){section#about>div{flex-direction:column;align-items:center;text-align:center}section#about>div>img{display:block;margin-inline:auto;margin-bottom:var(--spacing-md)}section#about>div>div>nav{justify-content:center;flex-wrap:wrap}}@media(min-width: 768px){section#about>div{display:flex;gap:var(--spacing-md);align-items:flex-start}section#about>div>img{flex-shrink:0}}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-reveal].visible{opacity:1;transform:translateY(0)}[data-theme]{transition:background-color var(--transition-speed),color var(--transition-speed)}@keyframes back-link-pull{0%{transform:translateX(0)}45%{transform:translateX(-8px)}100%{transform:translateX(-4px)}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}[data-reveal]{opacity:1;transform:none}html{scroll-behavior:auto}}
