@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap";.optimized-image{background-color:var(--surface-panel-muted);overflow:hidden;position:relative}.optimized-image__img{display:block;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease;width:100%}.optimized-image__img.is-loaded{opacity:1}.optimized-image__placeholder{align-items:center;background-color:var(--surface-panel-muted);color:var(--text-tertiary);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute;transition:opacity .25s ease}.optimized-image__placeholder.is-hidden{opacity:0;pointer-events:none}.optimized-image__error{align-items:center;background-color:var(--surface-panel);color:var(--text-tertiary);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.optimized-image__error-content{padding:1rem;text-align:center}.optimized-image__error-icon{display:block;height:3rem;margin:0 auto .5rem;width:3rem}.optimized-image__error-text{font-size:.75rem}.polaroid-stack{align-items:center;aspect-ratio:54 / 86;display:flex;justify-content:center;perspective:1200px;position:relative;-webkit-user-select:none;user-select:none;width:min(280px,34vw)}.polaroid-stack[role=button]{cursor:pointer}.polaroid-card{background:linear-gradient(180deg,#fffef9,#fef9f1 58%,#fbf2e5);border:1px solid color-mix(in srgb,var(--border-medium) 35%,transparent);border-radius:22px;box-shadow:0 18px 35px #17090547,0 0 0 1px #fff9 inset;display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;justify-content:flex-start;padding:clamp(.85rem,1.8vw,1.15rem) clamp(.75rem,1.6vw,1rem) clamp(1.9rem,3vw,2.4rem);pointer-events:none;position:absolute;transition:transform .6s cubic-bezier(.4,.14,.3,1),opacity .35s ease,filter .35s ease}.polaroid-card.is-active{filter:drop-shadow(0 28px 45px rgb(16 7 4 / .35));pointer-events:auto}.polaroid-photo-wrapper{aspect-ratio:46 / 60;background:#f6ebe0;border:1px solid color-mix(in srgb,var(--border-medium) 45%,transparent);border-radius:12px;box-shadow:inset 0 0 0 2px #ffffffa6;flex:1;overflow:hidden;position:relative;width:100%}.polaroid-photo-wrapper.optimized-image{background-color:#f6ebe0}.polaroid-photo-wrapper img{display:block;height:100%;object-fit:cover;width:100%}.polaroid-card figcaption{align-items:center;color:color-mix(in srgb,var(--text-secondary) 80%,#4a3d36 20%);display:flex;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.85rem;font-weight:600;justify-content:center;letter-spacing:.18em;margin-top:.9rem;min-height:1.2rem;text-align:center;text-transform:uppercase}.polaroid-card figcaption.is-hidden{color:transparent;text-shadow:none}@media (width <= 768px){.polaroid-stack{margin:0 auto;width:min(280px,70vw)}}.hero-section{animation:fadeUp .6s ease-out both;margin:var(--space-2) auto var(--space-4);max-width:min(calc(var(--max-width) + 320px),1720px);padding:0 var(--space-6) var(--space-4)}.hero-layout{align-items:center;display:flex;gap:clamp(var(--space-3),7vw,var(--space-10))}.hero-media{display:flex;flex:0 0 min(320px,28%);justify-content:center}.hero-copy{flex:1;max-width:640px}.hero-title{animation:fadeUp .5s ease-out both;color:var(--heading-color);font-family:Fraunces,serif;font-optical-sizing:auto;font-size:var(--font-display);font-style:normal;font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:700;letter-spacing:-.0125em;line-height:1.12;margin:0 0 var(--space-2);max-width:20ch;text-wrap:balance}.hero-tagline{animation:fadeUp .55s ease-out both;animation-delay:.05s;color:var(--text-secondary);font-size:var(--font-body);line-height:1.6;margin:0 0 var(--space-3);max-width:60ch;text-align:left}.hero-actions{animation:fadeUp .6s ease-out both;animation-delay:.1s;display:inline-flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start}.about-section{margin:0 auto var(--space-5);max-width:var(--max-width-narrow);padding:0 var(--space-4);text-align:center}.interests-section{animation:fadeUp .6s ease-out both;animation-delay:.12s;margin:var(--space-4) auto 0;max-width:var(--max-width-narrow);padding:var(--space-5) 0 var(--space-3);position:relative}.tech-section:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text-tertiary) 55%,transparent) 50%,transparent);content:"";display:block;height:1px;margin:0 auto var(--space-4);width:min(220px,32%)}.interests-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.interest-card{align-items:center;background:linear-gradient(180deg,#2c2320,#251c1a 60%,#1f1715);border:1px solid color-mix(in srgb,#f5e5de 10%,transparent);border-radius:14px;box-shadow:0 0 0 1px #fff6f00a inset,0 12px 28px #00000073,0 3px 6px #0000004d;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-3) calc(var(--space-3) + .25rem);text-align:center;transition:transform .45s cubic-bezier(.4,.14,.3,1),box-shadow .45s ease,border-color .45s ease;will-change:transform}.interest-card:nth-child(1){transform:rotate(-.6deg)}.interest-card:nth-child(2){transform:rotate(.4deg)}.interest-card:nth-child(3){transform:rotate(-.25deg)}.interest-card:hover{border-color:color-mix(in srgb,#f5e5de 18%,transparent);box-shadow:0 0 0 1px #fff6f00f inset,0 22px 40px #0000008c,0 6px 10px #00000059;transform:translateY(-4px) rotate(0)}.interest-card:active{transform:translateY(-1px) rotate(0) scale(.995)}.interest-stamp{align-items:center;background:color-mix(in srgb,#4ade80 16%,#1c1310);border:1px solid color-mix(in srgb,#4ade80 38%,transparent);border-radius:999px;box-shadow:0 0 0 4px color-mix(in srgb,#4ade80 8%,transparent),0 1px 2px #0006;display:inline-flex;height:52px;justify-content:center;margin-bottom:var(--space-2);transition:transform var(--transition-base),box-shadow var(--transition-base);width:52px}.interest-card:nth-child(2) .interest-stamp{background:color-mix(in srgb,#f472b6 16%,#1c1310);border-color:color-mix(in srgb,#f472b6 38%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,#f472b6 8%,transparent),0 1px 2px #0006}.interest-card:nth-child(3) .interest-stamp{background:color-mix(in srgb,#f59e0b 14%,#1c1310);border-color:color-mix(in srgb,#f59e0b 36%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,#f59e0b 8%,transparent),0 1px 2px #0006}.interest-icon{color:#6ee7b7;height:22px;transition:transform var(--transition-base);width:22px}.interest-card:nth-child(2) .interest-icon{color:#f9a8d4}.interest-card:nth-child(3) .interest-icon{color:#fcd34d}.interest-card:hover .interest-stamp{transform:scale(1.06) rotate(-3deg)}.interest-card h4{align-items:flex-end;color:var(--heading-color);display:flex;font-size:var(--font-h3);margin-bottom:0;min-height:2rem}.interest-card p{color:var(--text-secondary);font-size:var(--font-sm);margin:0}.interest-card a{color:var(--accent-strong)}.interest-card a:hover{color:var(--text-primary)}.tech-section{animation:fadeUp .6s ease-out both;animation-delay:.14s;margin:var(--space-4) auto 0;max-width:var(--max-width-narrow);padding:var(--space-5) 0 var(--space-3);position:relative;text-align:center}.tech-section h3{color:var(--heading-color);font-size:var(--font-h2);margin-bottom:var(--space-2)}.tech-intro,.tech-outro{color:var(--text-secondary);font-size:var(--font-sm);margin:0 auto;max-width:64ch}.tech-outro{color:var(--text-tertiary);font-style:italic;margin-top:var(--space-2)}.tech-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;list-style:none;margin:var(--space-3) auto 0;max-width:56ch;padding:0}.tech-chips li{display:inline-flex}.tech-chips a{background-color:color-mix(in srgb,var(--surface-panel) 70%,transparent);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:var(--font-sm);font-weight:500;letter-spacing:.01em;padding:.4rem .95rem;text-decoration:none;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),transform var(--transition-base)}.tech-chips a:hover{background-color:color-mix(in srgb,var(--accent-primary) 12%,var(--surface-panel));border-bottom-color:var(--accent-primary);border-color:color-mix(in srgb,var(--accent-primary) 55%,var(--border-medium));color:var(--accent-primary);transform:translateY(-1px)}@media (width <= 1024px){.hero-layout{flex-direction:column;text-align:center}.hero-copy{text-align:center}.hero-media{width:min(360px,70vw)}.hero-tagline{margin-left:auto;margin-right:auto;text-align:center}.hero-actions{justify-content:center}}@media (width <= 768px){.hero-section{padding:0 var(--space-3) var(--space-3)}.hero-title{font-size:2.5rem}.hero-actions{width:100%}.interests-grid{grid-template-columns:1fr}}@media (width <= 480px){.hero-title{font-size:2rem}}.projects-page-wrapper{animation:fadeUp .55s ease-out both;margin:0 auto;max-width:1100px;padding:var(--space-4) var(--space-4) var(--space-6)}.projects-header{animation:fadeUp .6s ease-out both;animation-delay:.05s;margin:0 auto var(--space-5);max-width:820px;text-align:center}.projects-header h2{color:var(--heading-color);font-size:var(--font-h2);margin-bottom:var(--space-2)}.projects-header p{color:var(--text-muted);font-size:var(--font-body);margin:0 auto;max-width:60ch}.project-section{margin:0 auto}.project-title{color:var(--heading-color);font-family:Fraunces,serif;font-weight:500;letter-spacing:-.01em;line-height:1.15;margin:0}.project-title a{border:none;color:inherit;transition:color var(--transition-fast)}.project-title a:hover{color:var(--accent-primary)}.project-title--lg{font-size:clamp(1.375rem,1.8vw,1.75rem)}.project-title--sm{font-size:1.0625rem;line-height:1.25}.project-desc{color:var(--text-secondary);font-size:var(--font-sm);line-height:1.55;margin:0}.project-desc :where(a){color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.project-desc--clamp2{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:.35rem .4rem}.project-tag{border-radius:999px;font-size:.625rem;font-weight:600;letter-spacing:.06em;line-height:1;padding:.32rem .6rem;text-transform:uppercase;white-space:nowrap}.project-tag--tech{background:var(--accent-primary);border:1px solid var(--accent-primary);color:var(--accent-contrast)}.project-tag--cat{background:transparent;border:1px solid var(--border-medium);color:var(--text-tertiary)}.project-visit{align-items:center;align-self:flex-start;background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:999px;color:var(--accent-contrast);display:inline-flex;font-size:var(--font-xs);font-weight:600;gap:.45rem;padding:.5rem 1rem;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast);white-space:nowrap}.project-visit:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-sm);color:var(--accent-contrast);transform:translateY(-1px)}.project-visit svg{flex-shrink:0}.project-visit--sm{font-size:.6875rem;gap:.3rem;padding:.4rem .75rem}.project-visit--sm svg{height:12px;width:12px}.project-visit--ghost{background:transparent;border-color:var(--accent-primary);color:var(--accent-strong)}.project-visit--ghost:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-contrast)}.project-thumb-img,.project-thumb-img img{display:block;height:100%;object-fit:cover;object-position:top center;width:100%}.project-placeholder{align-items:center;background:radial-gradient(120% 100% at 80% 10%,color-mix(in srgb,var(--accent-primary) 18%,transparent) 0%,transparent 55%),radial-gradient(90% 70% at 15% 85%,color-mix(in srgb,var(--accent-strong) 8%,transparent) 0%,transparent 60%),linear-gradient(155deg,var(--bg-secondary) 0%,var(--bg-ink) 100%);display:flex;height:100%;justify-content:center;overflow:hidden;padding:1rem;position:relative;width:100%}.project-placeholder:before{background-image:var(--bg-noise-texture);background-size:var(--bg-noise-scale);content:"";top:0;right:0;bottom:0;left:0;mix-blend-mode:overlay;opacity:.18;pointer-events:none;position:absolute}.project-placeholder__name{color:var(--text-secondary);font-family:Fraunces,serif;font-size:clamp(1rem,1.6vw,1.5rem);font-style:italic;font-weight:300;letter-spacing:-.015em;line-height:1.05;opacity:.78;position:relative;text-align:center;z-index:1}.project-placeholder__name:after{background:var(--accent-primary);content:"";display:block;height:1px;margin:.7em auto 0;opacity:.7;width:24px}.project-features{display:grid;gap:var(--space-5)}.project-feature{align-items:stretch;background:var(--bg-tertiary);border-radius:var(--border-radius-lg);display:grid;gap:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;transition:transform var(--transition-base),box-shadow var(--transition-base)}.project-feature:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-feature--reverse .project-feature__media{order:2}.project-feature__media{display:block;height:100%;min-width:0;overflow:hidden;position:relative;width:100%}.project-feature__media .project-thumb-img,.project-feature__media .project-thumb-img img,.project-feature__media .project-placeholder{top:0;right:0;bottom:0;left:0;position:absolute}.project-feature__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5)}.project-feature__body .project-visit{margin-top:auto}.project-section--lesser{margin-top:var(--space-6)}.project-rows{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.project-rows__item{border-bottom:1px solid var(--border-subtle)}.project-rows__item:first-child{border-top:1px solid var(--border-subtle)}.project-row{align-items:stretch;display:grid;gap:var(--space-3);grid-template-columns:200px minmax(0,1fr);padding:var(--space-3) var(--space-2);transition:background var(--transition-fast)}.project-row:hover{background:color-mix(in srgb,var(--bg-tertiary) 50%,transparent)}.project-row__media{align-self:center;aspect-ratio:4 / 3;border-radius:var(--border-radius-sm);display:block;overflow:hidden;width:100%}.project-row__main{display:flex;flex-direction:column;gap:.5rem;min-width:0}.project-row__footer{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem var(--space-2);margin-top:auto;padding-top:.5rem}.project-row__footer .project-tags{flex:1 1 auto}.project-row__footer .project-visit{flex-shrink:0;margin-left:auto}@media (width <= 900px){.project-feature{grid-template-columns:1fr}.project-feature--reverse .project-feature__media{order:0}.project-feature__media{aspect-ratio:16 / 10;height:auto}.project-feature__body{padding:var(--space-4)}.project-row{grid-template-columns:160px minmax(0,1fr)}.project-feature .project-tags,.project-row .project-tags{display:none}}@media (width <= 640px){.projects-page-wrapper{padding:var(--space-3) var(--space-2) var(--space-5)}.project-feature__body{padding:var(--space-3)}.project-row{align-items:center;column-gap:var(--space-2);grid-template-columns:96px minmax(0,1fr);padding:var(--space-3) 0}.project-row__media{align-self:center;width:96px}.project-row__main{gap:.35rem}.project-row .project-title{font-size:1rem;line-height:1.25}.project-row .project-desc{font-size:.8125rem;line-height:1.45}.project-row__footer{margin-top:.15rem;padding-top:0}.project-row .project-visit{background:transparent;border:none;color:var(--accent-strong);font-size:.6875rem;font-weight:600;letter-spacing:.06em;margin-left:0;padding:0;text-transform:uppercase}.project-row .project-visit:hover{background:transparent;box-shadow:none;color:var(--accent-hover);transform:none}}body:not(.initial-visit) :where(.projects-page-wrapper,.projects-header){animation:none!important;opacity:1!important;transform:none!important}.resume-page{--resume-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--resume-ease-out: cubic-bezier(.22, 1, .36, 1);display:flex;flex-direction:column;gap:var(--space-3);margin:0 auto;max-width:1000px;padding:var(--space-4) var(--space-4) var(--space-6)}.resume-panel{background:var(--bg-tertiary);border-radius:var(--border-radius);padding:var(--space-4) var(--space-5);transition:transform .4s var(--resume-ease-out),box-shadow .4s var(--resume-ease-out)}body.initial-visit .resume-panel{animation:resumePanelIn .5s var(--resume-ease-out) both}body.initial-visit .resume-panel:nth-child(1){animation-delay:.04s}body.initial-visit .resume-panel:nth-child(2){animation-delay:.12s}body.initial-visit .resume-panel:nth-child(3){animation-delay:.2s}body.initial-visit .resume-panel:nth-child(4){animation-delay:.28s}@keyframes resumePanelIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.resume-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.resume-name{color:var(--heading-color);cursor:default;display:inline-block;font-family:Fraunces,serif;font-size:clamp(1.875rem,3.5vw,2.25rem);font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:500;letter-spacing:-.02em;line-height:1.05;margin:0 0 .4rem;transition:font-variation-settings .5s var(--resume-ease-out)}.resume-name:hover{font-variation-settings:"SOFT" 100,"WONK" 1}.resume-tagline{color:var(--text-tertiary);font-size:var(--font-sm);margin:0}.resume-head__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-3)}.resume-contact{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.resume-contact__link{align-items:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-sm);gap:.4rem;padding:0;text-decoration:none;transition:color var(--transition-fast),transform .25s var(--resume-ease-bounce)}.resume-contact__link:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px;transform:translateY(-1px)}.resume-contact__link:active{transform:translateY(0) scale(.97)}.resume-contact__link svg{transition:transform .25s var(--resume-ease-bounce)}.resume-contact__link:hover svg{transform:rotate(-6deg) scale(1.1)}.resume-contact__link svg{flex-shrink:0;opacity:.85}.resume-pill{align-items:center;background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:999px;color:var(--accent-contrast);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-xs);font-weight:600;gap:.45rem;padding:.5rem 1rem;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),transform .25s var(--resume-ease-bounce),box-shadow var(--transition-fast),color var(--transition-fast);white-space:nowrap}.resume-pill:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-sm);color:var(--accent-contrast);transform:translateY(-2px) scale(1.02)}.resume-pill:active{transform:translateY(0) scale(.96);transition-duration:.1s}.resume-pill svg{flex-shrink:0;transition:transform .3s var(--resume-ease-bounce)}.resume-pill:hover svg{transform:rotate(-8deg) scale(1.1)}.resume-pill--ghost{background:transparent;border-color:var(--accent-primary);color:var(--accent-strong)}.resume-pill--ghost:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-contrast)}.resume-summary{color:var(--text-secondary);font-size:var(--font-body);line-height:1.65;margin:0}.resume-section-row{align-items:baseline;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.resume-section-title{color:var(--heading-color);font-family:Fraunces,serif;font-size:1.375rem;font-weight:500;letter-spacing:-.01em;margin:0}.resume-count{color:var(--text-muted);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.resume-controls{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.resume-filter-input{background:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:999px;color:var(--text-primary);font-family:inherit;font-size:var(--font-sm);padding:.55rem 1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform .25s var(--resume-ease-out);width:100%}.resume-filter-input::placeholder{color:var(--text-muted)}.resume-filter-input:focus{border-color:var(--accent-primary);box-shadow:var(--focus-ring);outline:none;transform:scale(1.005)}.resume-chips{display:flex;flex-wrap:wrap;gap:.4rem}.resume-chip{background:transparent;border:1px solid var(--border-medium);border-radius:999px;color:var(--text-tertiary);cursor:pointer;font-family:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.06em;padding:.35rem .75rem;text-transform:uppercase;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform .25s var(--resume-ease-bounce)}.resume-chip:hover{border-color:var(--accent-primary);color:var(--accent-strong);transform:translateY(-1px) scale(1.04)}.resume-chip:active{transform:translateY(0) scale(.94);transition-duration:.1s}.resume-chip.is-active{animation:resumeChipPop .4s var(--resume-ease-bounce);background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-contrast)}@keyframes resumeChipPop{0%{transform:scale(1)}40%{transform:scale(1.08)}to{transform:scale(1)}}.resume-controls__count{color:var(--text-tertiary);font-size:var(--font-xs);font-style:italic}.resume-no-results{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) 0;text-align:center}.resume-no-results p{color:var(--text-tertiary);margin:0}.resume-tags{display:flex;flex-wrap:wrap;gap:.3rem .35rem;list-style:none;margin:0;padding:0}.resume-tag{background:transparent;border:1px solid var(--border-medium);border-radius:999px;color:var(--text-tertiary);font-size:.625rem;font-weight:600;letter-spacing:.06em;line-height:1;padding:.32rem .6rem;text-transform:uppercase;transition:border-color .2s var(--resume-ease-out),color .2s var(--resume-ease-out),transform .25s var(--resume-ease-bounce);white-space:nowrap}.resume-job:hover .resume-tag{border-color:var(--border-strong)}.resume-tag:hover{border-color:var(--accent-primary);color:var(--accent-strong);transform:translateY(-1px) scale(1.05)}.resume-list{list-style:none;margin:0;padding:0}.resume-job{border-bottom:1px solid var(--border-subtle)}.resume-job:last-child{border-bottom:none}.resume-job__head{background:transparent;border:none;border-radius:var(--border-radius-sm);color:inherit;cursor:pointer;display:block;font-family:inherit;margin:0 calc(-1 * var(--space-2));padding:var(--space-2);text-align:left;transition:background .2s var(--resume-ease-out),transform .2s var(--resume-ease-bounce);width:calc(100% + var(--space-3))}.resume-job__head:hover{background:color-mix(in srgb,var(--bg-secondary) 50%,transparent)}.resume-job__head:active{transform:scale(.99);transition-duration:.1s}.resume-job__top{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between}.resume-job__title{color:var(--heading-color);font-family:Fraunces,serif;font-size:1.0625rem;font-weight:500;line-height:1.25;margin:0}.resume-job__chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .35s var(--resume-ease-bounce)}.resume-job__head:hover .resume-job__chevron{color:var(--accent-strong);transform:translate(2px)}.resume-job.is-open .resume-job__chevron{color:var(--accent-strong);transform:rotate(90deg)}.resume-job.is-open .resume-job__head:hover .resume-job__chevron{transform:rotate(90deg) translate(2px)}.resume-job__meta{align-items:baseline;color:var(--text-tertiary);display:flex;flex-wrap:wrap;font-size:var(--font-sm);gap:.4rem;margin:.3rem 0 .55rem}.resume-job__company{color:var(--text-secondary)}a.resume-job__company:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px}.resume-job__dates:before{color:var(--text-muted);content:"·";margin-right:.4rem}.resume-job__details{animation:resumeDetailsIn .35s var(--resume-ease-out) both;color:var(--text-secondary);display:flex;flex-direction:column;font-size:var(--font-sm);gap:.4rem;list-style:none;margin:0 0 var(--space-2);padding:0;transform-origin:top}@keyframes resumeDetailsIn{0%{opacity:0;transform:translateY(-4px) scaleY(.96)}to{opacity:1;transform:translateY(0) scaleY(1)}}.resume-job__details li{animation:resumeDetailLi .4s var(--resume-ease-out) both}.resume-job__details li:nth-child(1){animation-delay:.04s}.resume-job__details li:nth-child(2){animation-delay:.08s}.resume-job__details li:nth-child(3){animation-delay:.12s}.resume-job__details li:nth-child(4){animation-delay:.16s}.resume-job__details li:nth-child(5){animation-delay:.2s}@keyframes resumeDetailLi{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.resume-job__details>li{line-height:1.55;padding-left:1rem;position:relative}.resume-job__details>li:before{background:var(--accent-primary);border-radius:50%;content:"";height:4px;left:0;opacity:.7;position:absolute;top:.7em;width:4px}.resume-edu{align-items:baseline;display:flex;flex-wrap:wrap;font-size:var(--font-sm);gap:.5rem var(--space-2)}.resume-edu__degree{color:var(--heading-color);font-family:Fraunces,serif;font-size:1.0625rem;font-weight:500;margin:0}.resume-edu__school{color:var(--text-tertiary)}.resume-edu__year{color:var(--text-muted);font-style:italic;margin-left:auto}@media (width <= 640px){.resume-page{padding:var(--space-3) var(--space-2) var(--space-5)}.resume-panel{padding:var(--space-3) var(--space-3)}.resume-head{align-items:flex-start;flex-direction:column}.resume-edu{flex-direction:column;gap:.4rem}.resume-edu__year{margin-left:0}}.copy-feedback{background-color:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);border-radius:var(--border-radius);bottom:var(--space-4);color:var(--feedback-success-text);font-size:var(--font-sm);font-weight:500;left:50%;opacity:0;padding:var(--space-2) var(--space-3);pointer-events:none;position:fixed;transform:translate(-50%) translateY(20px);transition:opacity var(--transition-base),transform var(--transition-base);z-index:100}.copy-feedback.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}@media print{.resume-page{background:#fff;color:#000;max-width:none;padding:0}.resume-panel{background:transparent;border:1px solid #ddd;margin-bottom:var(--space-2);padding:var(--space-3)}.resume-pill,.resume-controls,.resume-count,.copy-feedback{display:none!important}.resume-name,.resume-section-title,.resume-job__title,.resume-edu__degree{color:#000}.resume-tagline,.resume-summary,.resume-job__meta,.resume-job__details,.resume-edu__school{color:#333}.resume-tag{border-color:#999;color:#444}.resume-job__details{display:flex!important}}@media (prefers-reduced-motion: reduce){body.initial-visit .resume-panel{animation:none}.resume-pill,.resume-pill:hover,.resume-pill:active,.resume-chip,.resume-chip:hover,.resume-chip:active,.resume-tag:hover,.resume-contact__link:hover,.resume-contact__link:active,.resume-job__head:active,.resume-filter-input:focus{transform:none!important}.resume-pill svg,.resume-contact__link svg,.resume-job__chevron{transition-duration:.01ms}.resume-job__details,.resume-job__details li{animation:none}@keyframes resumeChipPop{0%,to{transform:none}}}.guestbook-container{animation:fadeUp .55s ease-out both;margin:0 auto;max-width:900px;text-align:center}.guestbook-container h2{animation:fadeUp .6s ease-out both;animation-delay:.05s;color:var(--heading-color);font-size:var(--font-h2);margin-bottom:var(--space-4);text-align:center}.guestbook-container h3{color:var(--heading-color);font-size:var(--font-h3);margin-bottom:var(--space-3);margin-top:var(--space-6);text-align:center}.guestbook-form{animation:fadeUp .6s ease-out both;animation-delay:.08s;background-color:transparent;border:none;border-left:3px solid var(--accent-primary);border-radius:0;box-shadow:none;margin-bottom:var(--space-4);padding:var(--space-4);text-align:left;transition:border-color var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base)}.guestbook-form:hover{background-color:var(--bg-secondary);border-left-color:var(--accent-hover);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:var(--space-3)}.form-group label{color:var(--text-primary);display:block;font-size:var(--font-sm);font-weight:500;margin-bottom:var(--space-2)}.form-group input,.form-group textarea{background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-sm);min-height:38px;padding:.625rem .875rem;transform:translateY(0);transition:all var(--transition-fast);width:100%}.form-group input:hover,.form-group textarea:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-light);outline:none}.form-group input:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.form-group textarea{line-height:1.6;min-height:120px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.success-message{background-color:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);border-radius:var(--border-radius-sm);color:var(--feedback-success-text);margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.error-message{background-color:var(--feedback-error-bg);border:1px solid var(--feedback-error-border);border-radius:var(--border-radius-sm);color:var(--feedback-error-text);margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.guestbook-divider{background-color:var(--border-subtle);border:none;height:1px;margin:var(--space-4) 0}.guestbook-entries{animation:fadeUp .6s ease-out both;animation-delay:.1s;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.guestbook-entry{background:color-mix(in srgb,var(--bg-secondary) 75%,var(--bg-tertiary) 25%);border:1px solid color-mix(in srgb,var(--border-medium) 60%,transparent);border-radius:var(--border-radius-lg);box-shadow:inset 0 0 0 1px #00000014,var(--shadow-sm);overflow:hidden;padding:var(--space-3) var(--space-4);position:relative;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.guestbook-entry:before{background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-primary) 12%,transparent) 0%,transparent 65%);border-radius:inherit;content:"";top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;position:absolute}.guestbook-entry:after{background:linear-gradient(180deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 40%,transparent));border-radius:999px;bottom:16px;content:"";left:1.75rem;opacity:.5;position:absolute;top:16px;width:2px}.guestbook-entry:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-medium) 50%,transparent),var(--shadow-md);transform:translateY(-4px)}.entry-meta{color:var(--text-tertiary);font-size:var(--font-xs);line-height:1.5;margin-bottom:var(--space-1)}.entry-meta strong{color:var(--text-primary);font-weight:600}.entry-meta a{color:var(--accent-primary);font-weight:500;transition:color var(--transition-fast)}.entry-message{color:var(--text-primary);font-size:1rem;line-height:1.6;margin:var(--space-1) 0 0}.entry-meta a:hover{color:var(--accent-hover)}.guestbook-container>p{color:var(--text-secondary);font-size:var(--font-body);padding:var(--space-6);text-align:center}@media (width <= 640px){.guestbook-container{padding:var(--space-3) var(--space-2) var(--space-5)}.guestbook-form,.guestbook-entry{padding:var(--space-3)}}body:not(.initial-visit) :where(.guestbook-container,.guestbook-container h2,.guestbook-container h3,.guestbook-form,.guestbook-entries){animation:none!important;opacity:1!important;transform:none!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fraunces-headline{font-family:Fraunces,serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:700}:root{color-scheme:dark;--bg-primary: #141111;--bg-secondary: #1c1717;--bg-tertiary: #261f1f;--bg-ink: #050101;--bg-ink-strong: #000;--surface-panel: var(--bg-secondary);--surface-panel-muted: var(--bg-tertiary);--glass-overlay: color-mix(in srgb, var(--bg-tertiary) 80%, transparent);--header-surface: color-mix(in srgb, var(--bg-primary) 60%, var(--bg-secondary) 40%);--text-primary: #f8f3ef;--text-secondary: #d8cac2;--text-tertiary: #bba59c;--text-muted: #99837a;--heading-color: #f9f3ee;--icon-color: #f5e5de;--accent-primary: #c25776;--accent-hover: #d7728e;--accent-strong: #f2a7bd;--accent-secondary: #e11d48;--accent-muted: #3b1f28;--accent-contrast: #fff;--accent-light: color-mix(in srgb, var(--accent-primary) 20%, transparent);--button-ghost-border: #6d4f4d;--button-ghost-text: #f8f3ef;--border-subtle: #372d2c;--border-medium: #4d3d3c;--border-strong: #6d5352;--shadow-sm: 0 1px 3px rgb(0 0 0 / .45);--shadow-md: 0 6px 16px rgb(0 0 0 / .5);--shadow-lg: 0 12px 30px rgb(0 0 0 / .65);--text-shadow-soft: 0 2px 6px rgb(0 0 0 / .65);--focus-ring: 0 0 0 3px rgb(212 122 146 / .4);--feedback-success-bg: #1b2b23;--feedback-success-border: #2a4a35;--feedback-success-text: #a1e4be;--feedback-error-bg: #321a21;--feedback-error-border: #4d2632;--feedback-error-text: #ffc2d0;--selection-bg: color-mix(in srgb, var(--accent-primary) 40%, transparent);--selection-text: #fff;--scrim: rgb(0 0 0 / .65);--bg-texture-glow: rgb(255 255 255 / .06);--bg-texture-haze: rgb(81 51 51 / .18);--bg-texture-grain: rgb(0 0 0 / .3);--bg-noise-texture: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%20256%20256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' seed='9' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)'/%3E%3C/svg%3E");--bg-noise-opacity: .14;--bg-noise-scale: 200px 200px;--page-texture-opacity: .98;--page-background-image: radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--bg-tertiary) 60%, transparent) 0%, transparent 65%), linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-ink) 100%);--page-background-size: 100% 100%, 100% 100%;--page-background-repeat: no-repeat, no-repeat;--font-display: clamp(2.5rem, 5.5vw, 3.5rem);--font-h1: clamp(2rem, 4.5vw, 2.75rem);--font-h2: clamp(1.75rem, 4vw, 2.25rem);--font-h3: clamp(1.25rem, 3vw, 1.5rem);--font-body-lg: clamp(1.125rem, 2.6vw, 1.25rem);--font-body: clamp(1.0625rem, 2.2vw, 1.125rem);--font-sm: clamp(.85rem, 2.4vw, .875rem);--font-xs: clamp(.78rem, 2vw, .8125rem);--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-10: 5rem;--space-12: 6rem;--space-16: 8rem;--max-width: 1400px;--max-width-narrow: 1100px;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%}html,body{background-color:var(--bg-primary);min-height:100%}body{color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);isolation:isolate;line-height:1.6;position:relative}body:before,body:after{content:"";top:-12vmax;right:-12vmax;bottom:-12vmax;left:-12vmax;pointer-events:none;position:fixed;z-index:-2}body:before{background-attachment:fixed;background-image:var(--page-background-image);background-position:left top,right top,left bottom,right bottom,center;background-repeat:var(--page-background-repeat);background-size:var(--page-background-size);opacity:.98}body:after{background-attachment:fixed;background-image:var(--bg-noise-texture);background-position:center;background-repeat:repeat;background-size:var(--bg-noise-scale);mix-blend-mode:soft-light;opacity:.14;z-index:-1}body.nav-menu-open{overflow:hidden}body.nav-menu-open main,body.nav-menu-open .page-content,body.nav-menu-open .footer{filter:blur(3px);transition:filter var(--transition-base)}main,.page-content,.footer{transition:filter var(--transition-base)}#root{display:flex;flex-direction:column;min-height:100vh}.fraunces-headline,h1,h2,h3,h4,h5,h6{color:var(--heading-color);font-family:Fraunces,serif;font-optical-sizing:auto;font-style:normal;font-variation-settings:"SOFT" 50,"WONK" 1;font-weight:700;line-height:1.2;margin-bottom:var(--space-2)}h1{font-size:var(--font-h1);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--font-h2);font-weight:700;line-height:1.25}h3{font-size:var(--font-h3);font-weight:700}p{color:var(--text-secondary);line-height:1.6}a{border-bottom:1px solid transparent;color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{border-bottom-color:currentcolor;color:var(--text-primary)}a:focus-visible{border-radius:2px;outline:2px solid var(--accent-primary);outline-offset:2px}.main-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--header-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100}.header-inner{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--space-4);justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:var(--space-2) var(--space-4);position:relative;width:100%}.brand-row{align-items:center;display:flex;flex:1 1 auto;gap:var(--space-2);min-width:0;white-space:nowrap}.header-controls{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2);margin-left:auto}.site-main-title{font-size:var(--font-h3);font-weight:500;margin:0}.site-title-link{align-items:center;border:none;color:var(--text-primary);display:flex;gap:var(--space-2);white-space:nowrap}.site-title-link:hover{border:none;color:var(--accent-primary)}.brand-primary{color:var(--heading-color);font-weight:600;letter-spacing:-.02em}.badge{background-color:transparent;border:2px solid var(--accent-primary);border-radius:99px;color:var(--accent-primary);font-size:var(--font-xs);font-weight:600;letter-spacing:.1em;padding:.25rem .625rem;text-transform:uppercase}.badge-portfolio{font-size:.75rem;letter-spacing:.3em;text-transform:none}.window-controls{display:flex;flex-shrink:0;gap:var(--space-1);opacity:.3}.wc{background-color:var(--text-tertiary);border-radius:50%;height:12px;width:12px}.main-nav{flex:1 1 auto;margin-left:var(--space-4);min-width:0;transition:transform var(--transition-fast),opacity var(--transition-fast)}.main-nav ul{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--space-3);list-style:none}.main-nav a{align-items:center;border:none;color:var(--text-secondary);display:flex;font-size:var(--font-sm);font-weight:500;gap:0;letter-spacing:.02em;padding:var(--space-1) 0;position:relative;transition:color var(--transition-fast)}.main-nav a svg{flex-shrink:0}.main-nav a:hover{color:var(--text-primary)}.main-nav a.active{color:var(--accent-primary)}.main-nav a.active:after{background-color:var(--accent-primary);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.nav-item{flex-shrink:0}.nav-toggle{align-items:center;background-color:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:none;flex-shrink:0;font-size:var(--font-sm);font-weight:600;gap:var(--space-1);height:40px;justify-content:center;letter-spacing:.08em;margin-left:var(--space-2);min-width:44px;padding:0 var(--space-2);text-transform:uppercase;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.nav-toggle:hover{background-color:var(--surface-panel-muted);border-color:var(--border-medium)}.nav-toggle:focus-visible{box-shadow:var(--shadow-sm),var(--focus-ring);outline:none}.nav-toggle:active{transform:scale(.94)}.nav-toggle.is-active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-contrast)}.nav-toggle__icon{align-items:center;display:inline-flex;height:20px;justify-content:center;transition:transform var(--transition-base);width:20px}.nav-toggle.is-active .nav-toggle__icon{transform:rotate(90deg)}.nav-toggle__label{letter-spacing:.08em}@media (width >=701px){.nav-toggle__label{display:none}}.nav-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:var(--scrim);top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--transition-base);z-index:150}.nav-backdrop.is-visible{opacity:1;pointer-events:auto}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}main{flex:1;width:100%}.page-content{margin:0 auto;max-width:var(--max-width-narrow);padding:var(--space-4) var(--space-4) var(--space-6)}@media (width <=640px){.page-content{padding:var(--space-3) var(--space-2) var(--space-5)}.footer{padding:var(--space-3) var(--space-2)}}.page-transition{animation:pageFade .35s ease both}body.initial-visit .page-transition{animation:none!important}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);overflow:hidden;padding:var(--space-3) var(--space-4)}.footer-quote{color:var(--text-tertiary);cursor:pointer;font-size:var(--font-sm);font-style:italic;margin:0 auto;max-width:1000px;text-align:center;transform:translateY(0);transform-origin:center;transition:color var(--transition-fast),transform var(--transition-fast),text-shadow var(--transition-fast);-webkit-user-select:none;user-select:none}.footer-quote:hover{color:var(--text-primary);text-shadow:var(--text-shadow-soft);transform:translateY(-1px)}.footer-quote:active{transform:translateY(0) scale(.96)}.footer-quote:focus{border-radius:4px;outline:2px solid var(--border-focus, var(--text-tertiary));outline-offset:4px}.footer-quote:focus:not(:focus-visible){outline:none}.footer-copyright{color:var(--text-tertiary);font-size:var(--font-xs);margin:var(--space-2) auto 0;max-width:1000px;opacity:.7;text-align:center}.button{align-items:center;background-color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:6px;box-shadow:var(--shadow-sm);color:var(--accent-contrast);cursor:pointer;display:inline-flex;font-size:var(--font-sm);font-weight:500;gap:var(--space-1);justify-content:center;min-height:38px;padding:.625rem 1.25rem;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.button:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-contrast)}.button:active{transform:scale(.98)}.button:focus-visible{box-shadow:var(--shadow-sm),var(--focus-ring);outline:none}.button--ghost{background-color:transparent;border:1px solid var(--button-ghost-border);color:var(--button-ghost-text)}.button--ghost:hover{background-color:color-mix(in srgb,var(--button-ghost-border) 12%,transparent);border-color:var(--button-ghost-border)}.button--ghost.is-active{background-color:var(--accent-muted);border-color:var(--accent-primary);color:var(--accent-strong)}.button--sm{font-size:var(--font-xs);min-height:32px;padding:.375rem .875rem}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}@keyframes pageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes navReveal{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes navItemFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.card{background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--space-5);transition:all var(--transition-base)}.card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.text-center{text-align:center}.hidden{display:none}.visually-hidden{border-width:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.icon-inline{display:inline-block;vertical-align:middle}.mr-2{margin-right:var(--space-2)}.mb-5{margin-bottom:var(--space-5)}.mt-7{margin-top:var(--space-8)}@media (width <=1200px){.nav-item--home{display:none}}@media (width <=1080px){.nav-item--contact{display:none}}@media (width <=960px){.window-controls{display:none}}@media (width <=900px){.badge-portfolio{display:none}}@media (width <=820px){.header-inner{gap:var(--space-3)}.main-nav ul{gap:var(--space-2)}}@media (width <=700px){.header-inner{padding:var(--space-2) var(--space-3)}.main-nav{background:linear-gradient(145deg,color-mix(in srgb,var(--bg-tertiary) 96%,transparent),color-mix(in srgb,var(--bg-secondary) 94%,transparent));border:1px solid var(--border-subtle);border-radius:18px;box-shadow:var(--shadow-lg);left:auto;margin-left:0;max-height:calc(100vh - 5.5rem);max-width:100%;opacity:0;overflow-y:auto;padding:var(--space-3);pointer-events:none;position:absolute;right:var(--space-2);top:calc(100% + var(--space-2));transform:translateY(-10px);transition:opacity var(--transition-fast),transform var(--transition-fast);width:min(320px,calc(100vw - 2 * var(--space-2)));z-index:200}.main-header.nav-open .main-nav{animation:navReveal .3s ease;opacity:1;pointer-events:auto;transform:translateY(0)}.main-nav ul{align-items:flex-start;flex-direction:column;gap:0;width:100%}.main-nav li{border-bottom:1px solid var(--border-subtle);display:block;opacity:0;transform:translateY(-6px);width:100%}.main-nav li:last-child{border-bottom:none}.main-nav a{border-radius:0;color:var(--text-primary);font-size:var(--font-sm);justify-content:flex-start;padding:var(--space-2) var(--space-1);width:100%}.main-nav a:after{display:none}.main-nav a.active{background-color:color-mix(in srgb,var(--accent-muted) 35%,transparent);color:var(--accent-primary)}.main-nav a:hover{background-color:color-mix(in srgb,var(--surface-panel-muted) 55%,transparent)}.main-header.nav-open .main-nav li{animation:navItemFade .35s ease forwards}.main-nav li:nth-child(1){animation-delay:.02s}.main-nav li:nth-child(2){animation-delay:.06s}.main-nav li:nth-child(3){animation-delay:.1s}.main-nav li:nth-child(4){animation-delay:.14s}.main-nav li:nth-child(5){animation-delay:.18s}.nav-toggle{display:inline-flex;position:relative;z-index:250}.nav-item--home,.nav-item--contact{display:block}}@media (width <=480px){.main-nav a{font-size:var(--font-body);gap:var(--space-2);padding:var(--space-2) var(--space-3)}}@media (width <=560px){.brand-row{gap:var(--space-1);justify-content:space-between;width:100%}.site-main-title{font-size:1.25rem}.brand-primary{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (width >=1100px){.header-inner{justify-content:space-between}.main-nav{margin-left:var(--space-6)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.bg-gray-300{background-color:var(--surface-panel-muted)}.dark\\:bg-gray-600{background-color:var(--surface-panel)}.rounded{border-radius:var(--border-radius)}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.text-gray-400{color:var(--text-tertiary)}.h-full{height:100%}.w-full{width:100%}::selection{background-color:var(--selection-bg);color:var(--selection-text)}html{scroll-behavior:auto}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
