.about-page-shell:where(.astro-khl26ulv){width:100%;max-width:42rem;margin-inline:auto;display:grid;gap:calc(var(--spacing) * 16);padding-block:calc(var(--spacing) * 10) calc(var(--spacing) * 18)}.hero-block:where(.astro-khl26ulv),.section-rail:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 4.5)}.section-rail-wide:where(.astro-khl26ulv){max-width:50rem;width:min(100%,50rem);margin-inline:calc((42rem - min(100%,50rem))/2);@media(max-width:52rem){width:100%;margin-inline:0}}.hero-block:where(.astro-khl26ulv){align-items:center;gap:calc(var(--spacing) * 6);@media(min-width:768px){grid-template-columns:minmax(0,1fr) auto}}.hero-copy:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 2.5)}.hero-identity:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 2.5)}.hero-copy:where(.astro-khl26ulv) h1:where(.astro-khl26ulv){font-size:clamp(2.75rem,5.4vw,4.1rem);font-weight:600;line-height:.94;letter-spacing:-.04em;text-wrap:balance;max-width:12ch}.hero-description:where(.astro-khl26ulv),.entity-subtitle:where(.astro-khl26ulv){color:var(--muted-foreground)}.hero-lede:where(.astro-khl26ulv){max-width:38rem;font-size:1rem;line-height:1.75;text-wrap:pretty}.narrative-copy:where(.astro-khl26ulv){font-size:.95rem;line-height:1.82;text-wrap:pretty}.prose-copy:where(.astro-khl26ulv){max-width:40rem}.hero-actions:where(.astro-khl26ulv),.tag-row:where(.astro-khl26ulv),.timeline-links:where(.astro-khl26ulv),.contact-actions:where(.astro-khl26ulv),.skill-cloud:where(.astro-khl26ulv){display:flex;flex-wrap:wrap;gap:calc(var(--spacing) * 1.5);align-items:center}.hero-avatar-wrap:where(.astro-khl26ulv){justify-self:start}.hero-avatar:where(.astro-khl26ulv){width:6rem;height:6rem;object-fit:cover;border-radius:999px;border:1px solid var(--border);box-shadow:0 0 0 4px color-mix(in oklab,var(--border) 55%,transparent);@media(min-width:768px){width:8rem;height:8rem}}.section-heading:where(.astro-khl26ulv) h2:where(.astro-khl26ulv),.section-promo:where(.astro-khl26ulv) h2:where(.astro-khl26ulv),.contact-panel:where(.astro-khl26ulv) h2:where(.astro-khl26ulv){font-size:1.35rem;font-weight:600;line-height:1.12;letter-spacing:-.03em}.section-title-display:where(.astro-khl26ulv){font-size:clamp(1.35rem,2.5vw,1.95rem);line-height:1.05}.section-promo:where(.astro-khl26ulv),.contact-panel:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 3);text-align:center;justify-items:center}.section-promo-tight:where(.astro-khl26ulv){gap:calc(var(--spacing) * 2)}.section-divider:where(.astro-khl26ulv){width:100%;display:flex;align-items:center;gap:calc(var(--spacing) * 3);color:var(--muted-foreground);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.section-divider:where(.astro-khl26ulv):before,.section-divider:where(.astro-khl26ulv):after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--border) 90%,transparent) 15%,color-mix(in oklab,var(--border) 90%,transparent) 85%,transparent 100%)}.section-divider-pill:where(.astro-khl26ulv){display:inline-flex;align-items:center;min-height:2rem;padding-inline:.9rem;border:1px solid var(--border);border-radius:calc(var(--radius) + 999px);background:var(--foreground);color:var(--background);font-size:.8125rem;font-weight:600;letter-spacing:0;text-transform:none}.work-accordion:where(.astro-khl26ulv),.entity-list:where(.astro-khl26ulv),.timeline-list:where(.astro-khl26ulv){display:grid}.work-item:where(.astro-khl26ulv),.entity-row:where(.astro-khl26ulv),.timeline-row:where(.astro-khl26ulv){border-radius:var(--radius)}.work-accordion:where(.astro-khl26ulv){gap:calc(var(--spacing) * 2)}.work-item:where(.astro-khl26ulv){border:1px solid var(--border);padding:calc(var(--spacing) * 2.75) calc(var(--spacing) * 3);background:color-mix(in oklab,var(--background) 97%,var(--foreground) 3%);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.work-item:where(.astro-khl26ulv)[open]{box-shadow:0 0 0 2px color-mix(in oklab,var(--border) 45%,transparent)}.work-item:where(.astro-khl26ulv):hover{border-color:color-mix(in oklab,var(--border) 88%,var(--foreground) 12%)}.work-item:where(.astro-khl26ulv) summary:where(.astro-khl26ulv){list-style:none;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing) * 3);cursor:pointer}.work-item:where(.astro-khl26ulv) summary:where(.astro-khl26ulv)::-webkit-details-marker{display:none}.work-item:where(.astro-khl26ulv)[open] summary:where(.astro-khl26ulv){margin-bottom:calc(var(--spacing) * 2.25);padding-bottom:calc(var(--spacing) * 2.25);border-bottom:1px solid color-mix(in oklab,var(--border) 90%,transparent)}.work-body:where(.astro-khl26ulv){padding-left:calc(2.5rem + var(--spacing) * 2)}.entity-list:where(.astro-khl26ulv){gap:calc(var(--spacing) * 3)}.entity-row:where(.astro-khl26ulv){display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing) * 3);text-decoration:none;color:inherit}.entity-row:where(.astro-khl26ulv):hover .entity-title:where(.astro-khl26ulv){text-decoration:underline;text-underline-offset:.18em}.entity-main:where(.astro-khl26ulv){display:flex;align-items:center;gap:calc(var(--spacing) * 3);min-width:0;flex:1}.entity-main:where(.astro-khl26ulv) img:where(.astro-khl26ulv),.timeline-node:where(.astro-khl26ulv) img:where(.astro-khl26ulv){width:2.5rem;height:2.5rem;flex:none;object-fit:contain;border-radius:999px;border:1px solid var(--border);background:var(--background);padding:.25rem;box-shadow:0 0 0 2px color-mix(in oklab,var(--border) 35%,transparent)}.entity-copy:where(.astro-khl26ulv){display:grid;gap:.15rem;min-width:0}.entity-title:where(.astro-khl26ulv){font-size:1.02rem;font-weight:600;line-height:1.2}.entity-meta:where(.astro-khl26ulv),.project-dates:where(.astro-khl26ulv),.timeline-date:where(.astro-khl26ulv),.timeline-location:where(.astro-khl26ulv){font-size:.825rem;color:var(--muted-foreground)}.skill-cloud:where(.astro-khl26ulv){gap:calc(var(--spacing) * 1.8);max-width:48rem}.skill-chip:where(.astro-khl26ulv){display:inline-flex;align-items:center;gap:.78rem;min-height:2.9rem;padding-inline:1.2rem 1.35rem;border:1px solid color-mix(in oklab,var(--border) 94%,transparent);border-radius:999px;background:linear-gradient(180deg,color-mix(in oklab,white 96%,var(--background) 4%),color-mix(in oklab,white 90%,var(--background) 10%));box-shadow:0 1px color-mix(in oklab,white 78%,transparent) inset,0 1px 3px color-mix(in oklab,var(--foreground) 6%,transparent);font-size:.875rem;font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--foreground)}.skill-icon:where(.astro-khl26ulv){width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;color:var(--foreground);flex:none}.skill-icon:where(.astro-khl26ulv) svg{width:100%;height:100%;display:block}.skill-label:where(.astro-khl26ulv){white-space:nowrap}.tag:where(.astro-khl26ulv),.award-badge:where(.astro-khl26ulv){display:inline-flex;align-items:center;min-height:2rem;padding-inline:.8rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in oklab,var(--background) 92%,var(--foreground) 8%);font-size:.875rem}.project-grid:where(.astro-khl26ulv){display:grid;grid-template-columns:1fr;gap:calc(var(--spacing) * 3);align-items:start;@media(min-width:700px){grid-template-columns:repeat(2,minmax(0,1fr))}}.project-grid-aligned:where(.astro-khl26ulv)>:where(.astro-khl26ulv){margin:0!important}.project-card-shell:where(.astro-khl26ulv){height:100%;display:flex;flex-direction:column;align-self:start;overflow:hidden;border-radius:calc(var(--radius) + 2px);border:1px solid var(--border);background:var(--background);transition:box-shadow .2s ease,border-color .2s ease}.project-card-shell:where(.astro-khl26ulv):hover{box-shadow:0 0 0 2px color-mix(in oklab,var(--border) 72%,transparent)}.project-media:where(.astro-khl26ulv){position:relative;aspect-ratio:16 / 9;overflow:hidden;background:color-mix(in oklab,var(--background) 90%,var(--foreground) 10%)}.project-media-link:where(.astro-khl26ulv){display:block;width:100%;height:100%;line-height:0}.project-card-shell:where(.astro-khl26ulv) img:where(.astro-khl26ulv),.project-video:where(.astro-khl26ulv),.project-placeholder:where(.astro-khl26ulv){width:100%;height:100%;display:block;object-fit:cover}.project-links-overlay:where(.astro-khl26ulv){position:absolute;top:calc(var(--spacing) * 2);right:calc(var(--spacing) * 2);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:calc(var(--spacing) * 1.5)}.project-links-overlay:where(.astro-khl26ulv) a:where(.astro-khl26ulv){display:inline-flex;align-items:center;min-height:1.75rem;padding-inline:.65rem;border-radius:999px;background:color-mix(in oklab,black 88%,transparent);color:#fff;font-size:.75rem;text-decoration:none}.project-links-overlay:where(.astro-khl26ulv) a:where(.astro-khl26ulv):hover{background:color-mix(in oklab,black 80%,transparent)}.project-copy:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 2.25);padding:calc(var(--spacing) * 3.25);flex:1;align-content:start}.project-head:where(.astro-khl26ulv){display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--spacing) * 2)}.project-head:where(.astro-khl26ulv) h3:where(.astro-khl26ulv),.timeline-copy:where(.astro-khl26ulv) h3:where(.astro-khl26ulv){font-size:1.04rem;font-weight:600;line-height:1.25}.project-head:where(.astro-khl26ulv) a:where(.astro-khl26ulv),.timeline-links:where(.astro-khl26ulv) a:where(.astro-khl26ulv){color:var(--foreground);text-decoration:none;font-size:.875rem}.project-head:where(.astro-khl26ulv) a:where(.astro-khl26ulv):hover,.timeline-links:where(.astro-khl26ulv) a:where(.astro-khl26ulv):hover{text-decoration:underline;text-underline-offset:.18em}.photo-columns:where(.astro-khl26ulv){display:grid;max-width:34rem;width:min(100%,34rem);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--spacing) * .85);align-items:start;@media(min-width:640px){grid-template-columns:repeat(3,minmax(0,1fr))}}.photo-columns:where(.astro-khl26ulv)>.photo-column:where(.astro-khl26ulv),.photo-columns:where(.astro-khl26ulv)>.photo-lightbox:where(.astro-khl26ulv){margin:0!important}.photo-column:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * .85);align-content:start}.photo-frame:where(.astro-khl26ulv){overflow:hidden;border-radius:calc(var(--radius) + 4px);background:color-mix(in oklab,var(--background) 94%,var(--foreground) 6%);box-shadow:0 1px color-mix(in oklab,var(--foreground) 6%,transparent),0 18px 40px color-mix(in oklab,var(--foreground) 10%,transparent)}.photo-trigger:where(.astro-khl26ulv){appearance:none;border:0;padding:0;margin:0;width:100%;display:block;background:transparent;cursor:zoom-in}.photo-tile:where(.astro-khl26ulv){width:100%;display:block;object-fit:cover;transition:transform .3s ease}.photo-frame:where(.astro-khl26ulv):hover .photo-tile:where(.astro-khl26ulv),.photo-trigger:where(.astro-khl26ulv):focus-visible .photo-tile:where(.astro-khl26ulv){transform:scale(1.03)}.photo-trigger:where(.astro-khl26ulv):focus-visible{outline:2px solid color-mix(in oklab,var(--foreground) 24%,transparent);outline-offset:3px}.photo-tile:where(.astro-khl26ulv).square{aspect-ratio:1}.photo-tile:where(.astro-khl26ulv).portrait{aspect-ratio:3 / 4}.photo-tile:where(.astro-khl26ulv).landscape{aspect-ratio:4 / 3}.photo-lightbox:where(.astro-khl26ulv){position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:calc(var(--spacing) * 3);background:color-mix(in oklab,black 76%,transparent);backdrop-filter:blur(14px)}.photo-lightbox:where(.astro-khl26ulv)[hidden]{display:none}.photo-lightbox-nav:where(.astro-khl26ulv){position:absolute;top:calc(var(--spacing) * 3);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:calc(var(--spacing) * 1.5);z-index:1}.photo-lightbox-arrow:where(.astro-khl26ulv),.photo-lightbox-close:where(.astro-khl26ulv){appearance:none;border:1px solid color-mix(in oklab,white 16%,transparent);border-radius:999px;min-height:2.5rem;padding-inline:1rem;background:color-mix(in oklab,black 42%,transparent);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.photo-lightbox-close:where(.astro-khl26ulv){position:absolute;top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 3);z-index:1}.photo-lightbox-arrow:where(.astro-khl26ulv){width:2.75rem;min-width:2.75rem;padding-inline:0;justify-content:center;display:inline-flex;align-items:center;font-size:1.5rem;line-height:1}.photo-lightbox-arrow:where(.astro-khl26ulv):disabled{opacity:.35;cursor:default}.photo-lightbox-count:where(.astro-khl26ulv){min-width:4.5rem;text-align:center;color:#fff;font-size:.875rem;font-weight:600}.photo-lightbox-scroller:where(.astro-khl26ulv){width:min(100%,56rem);overflow-x:auto;overflow-y:hidden;display:flex;gap:0;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:calc(var(--spacing) * 4.5) 0 calc(var(--spacing) * 2);overscroll-behavior-x:contain;scrollbar-width:none;border-radius:calc(var(--radius) + 12px);-ms-overflow-style:none}.photo-lightbox-item:where(.astro-khl26ulv){margin:0;flex:0 0 100%;width:100%;scroll-snap-align:center;border-radius:calc(var(--radius) + 10px);overflow:hidden;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center}.photo-lightbox-item:where(.astro-khl26ulv) img:where(.astro-khl26ulv){width:auto;max-width:100%;height:min(78vh,44rem);display:block;object-fit:contain;background:color-mix(in oklab,black 20%,transparent);border-radius:calc(var(--radius) + 10px);box-shadow:0 1px color-mix(in oklab,white 12%,transparent) inset,0 18px 48px color-mix(in oklab,black 18%,transparent)}.photo-lightbox-scroller:where(.astro-khl26ulv)::-webkit-scrollbar{display:none}.timeline-track:where(.astro-khl26ulv){--timeline-node-size: 3rem;gap:calc(var(--spacing) * 8);position:relative;width:min(100%,46rem);margin-inline:auto;padding-left:0}.timeline-list:where(.astro-khl26ulv):before{content:"";position:absolute;inset-block:0;left:calc(var(--timeline-node-size) / 2);transform:translate(-50%);width:2px;background:linear-gradient(180deg,color-mix(in oklab,var(--foreground) 18%,var(--background)),color-mix(in oklab,var(--foreground) 8%,var(--background)))}.timeline-row:where(.astro-khl26ulv){position:relative;display:grid;grid-template-columns:var(--timeline-node-size) minmax(0,1fr);align-items:start;gap:calc(var(--spacing) * 3.25)}.timeline-node:where(.astro-khl26ulv){position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:var(--timeline-node-size);height:var(--timeline-node-size);margin-inline:auto;border-radius:999px;padding:2px;background:var(--timeline-accent);box-shadow:0 0 0 4px color-mix(in oklab,var(--background) 100%,transparent),0 10px 24px color-mix(in oklab,var(--foreground) 10%,transparent)}.timeline-copy:where(.astro-khl26ulv){display:grid;gap:calc(var(--spacing) * 1.75)}.contact-panel:where(.astro-khl26ulv){width:min(100%,56rem);margin-inline:auto;border:1px solid var(--border);border-radius:calc(var(--radius) + 14px);padding:calc(var(--spacing) * 7.5) calc(var(--spacing) * 6) calc(var(--spacing) * 7);position:relative;overflow:visible;background:linear-gradient(180deg,color-mix(in oklab,white 98%,var(--foreground) 2%),var(--background));box-shadow:0 1px color-mix(in oklab,white 80%,transparent) inset,0 12px 28px color-mix(in oklab,var(--foreground) 4%,transparent)}.contact-grid-pattern:where(.astro-khl26ulv){position:absolute;inset:0 0 auto;height:9.75rem;overflow:hidden;border-radius:inherit;mask-image:linear-gradient(180deg,black 0%,black 45%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,black 0%,black 45%,transparent 100%);pointer-events:none}.contact-flicker-layer:where(.astro-khl26ulv){position:absolute;inset:0;background-size:6px 6px;background-repeat:repeat;animation:contactGridFlicker 7.2s steps(12) infinite;will-change:opacity,transform,background-position}.contact-flicker-base:where(.astro-khl26ulv){background-image:radial-gradient(circle,color-mix(in oklab,var(--border) 84%,transparent) 1px,transparent 1px);opacity:.72}.contact-flicker-glow:where(.astro-khl26ulv){background-image:radial-gradient(circle,color-mix(in oklab,var(--foreground) 18%,transparent) 1px,transparent 1px);opacity:.22;animation-duration:5.6s;animation-direction:reverse;transform:translateZ(0)}@keyframes contactGridFlicker{0%{opacity:.28;transform:translateZ(0);background-position:0 0}18%{opacity:.5;background-position:0 0}34%{opacity:.26;transform:translate3d(1px,0,0);background-position:1px 0}52%{opacity:.56;transform:translate3d(0,1px,0);background-position:0 1px}73%{opacity:.34;transform:translate3d(-1px,0,0);background-position:-1px 0}to{opacity:.46;transform:translateZ(0);background-position:0 0}}.contact-pill:where(.astro-khl26ulv){position:absolute;top:0;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding-inline:1.5rem;border-radius:999px;background:#111;color:#fff;font-size:.875rem;font-weight:700;letter-spacing:-.01em;box-shadow:0 10px 24px color-mix(in oklab,black 16%,transparent)}.contact-title:where(.astro-khl26ulv){font-size:clamp(3.25rem,6.8vw,4.85rem);font-weight:700;line-height:.9;letter-spacing:-.055em;max-width:none;position:relative;z-index:1;margin-top:calc(var(--spacing) * 1.25)}.contact-copy:where(.astro-khl26ulv){max-width:44rem;font-size:clamp(1.02rem,2vw,1.2rem);line-height:1.62;color:var(--muted-foreground);position:relative;z-index:1}@media(max-width:639px){.hero-actions:where(.astro-khl26ulv){justify-content:flex-start}.section-promo:where(.astro-khl26ulv){justify-items:start;text-align:left}.section-divider:where(.astro-khl26ulv){gap:calc(var(--spacing) * 2)}.entity-row:where(.astro-khl26ulv),.work-item:where(.astro-khl26ulv) summary:where(.astro-khl26ulv){flex-direction:column;align-items:flex-start}.entity-meta:where(.astro-khl26ulv){padding-left:calc(2.5rem + var(--spacing) * 3)}.work-body:where(.astro-khl26ulv){padding-left:0}.timeline-track:where(.astro-khl26ulv){padding-left:0;width:100%}.timeline-list:where(.astro-khl26ulv):before{left:calc(var(--timeline-node-size) / 2)}.contact-panel:where(.astro-khl26ulv){justify-items:center;text-align:center;padding-inline:calc(var(--spacing) * 3.25);padding-block:calc(var(--spacing) * 6.25) calc(var(--spacing) * 5.5)}.contact-grid-pattern:where(.astro-khl26ulv){height:8rem}.contact-pill:where(.astro-khl26ulv){min-height:2.5rem;padding-inline:1.2rem;font-size:.8125rem}.contact-title:where(.astro-khl26ulv){font-size:clamp(2.6rem,12vw,3.5rem);margin-top:calc(var(--spacing) * .75)}.contact-copy:where(.astro-khl26ulv){font-size:1rem;line-height:1.6}}@media(max-width:400px){.hero-avatar:where(.astro-khl26ulv){width:4.5rem;height:4.5rem}.photo-columns:where(.astro-khl26ulv){grid-template-columns:1fr}.contact-panel:where(.astro-khl26ulv){padding-inline:calc(var(--spacing) * 2.5)}.contact-title:where(.astro-khl26ulv){font-size:clamp(2rem,11vw,2.6rem)}}
