:root{--color-bg: #0c0a10;--color-bg-elevated: #100d16;--color-surface: #17131f;--color-surface-hover: #1e1928;--color-border: #322a42;--color-border-strong: #3f3552;--color-text: #ece9f4;--color-text-muted: #9d94b0;--color-accent: #8b7ec8;--color-accent-hover: #a696dc;--color-accent-subtle: rgba(139, 126, 200, .14);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif;--font-display: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius: 8px;--max-width: 42rem;--max-width-wide: 52rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);background-image:radial-gradient(ellipse 120% 80% at 50% -20%,var(--color-bg-elevated) 0%,transparent 58%),radial-gradient(ellipse 70% 45% at 100% 100%,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 55%),radial-gradient(ellipse 50% 35% at 0% 85%,color-mix(in srgb,var(--color-accent) 6%,transparent) 0%,transparent 50%)}.skip-link{position:absolute;left:-9999px;z-index:999;padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:#0c0a10;font-weight:600;text-decoration:none;border-radius:var(--radius)}.skip-link:focus{left:var(--space-md);top:var(--space-md)}.site-header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(10px)}.site-header__inner{max-width:var(--max-width-wide);margin:0 auto;padding:var(--space-md) var(--space-lg);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}.site-brand{margin:0;min-width:0}.site-brand__link{display:inline-flex;align-items:center;gap:.65rem;max-width:100%;text-decoration:none;color:inherit}.site-brand__logo{flex-shrink:0;height:2.35rem;width:auto;display:block;object-fit:contain}.site-brand__name{font-size:1.125rem;font-weight:600;line-height:1.2;color:var(--color-text)}.site-brand__link:hover .site-brand__name,.site-brand__link:focus-visible .site-brand__name{color:var(--color-accent)}.nav{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg);list-style:none;margin:0;padding:0}.nav a{color:var(--color-text-muted);text-decoration:none;font-size:.9375rem}.nav a:hover,.nav a:focus-visible,.nav a[aria-current=page]{color:var(--color-accent)}main{max-width:var(--max-width-wide);margin:0 auto;padding:var(--space-2xl) var(--space-lg)}.site-footer{margin-top:auto;border-top:1px solid var(--color-border);padding:var(--space-lg);color:var(--color-text-muted);font-size:.875rem;text-align:center}.site-footer__social{margin-bottom:var(--space-md)}.site-footer__social ul{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm) var(--space-lg);list-style:none;margin:0;padding:0}.site-footer__social a{color:var(--color-accent);text-decoration:none;font-weight:600;font-size:.875rem}.site-footer__social a:hover,.site-footer__social a:focus-visible{color:var(--color-accent-hover);text-decoration:underline}body{display:flex;flex-direction:column}.home-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-xl);align-items:stretch;margin-bottom:2.35rem}.home-hero__content{padding:2.1rem;background:linear-gradient(165deg,color-mix(in srgb,var(--color-surface) 78%,var(--color-accent-subtle)),var(--color-surface) 60%);border:1px solid color-mix(in srgb,var(--color-accent) 28%,var(--color-border));border-radius:14px;box-shadow:0 1px #ffffff0a inset,0 18px 34px #0000003b}.hero-kicker{margin:0 0 var(--space-md);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-hover)}.home-hero h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2.05rem,4.3vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.02em}.home-hero .tagline{margin:0 0 var(--space-md);font-size:1.1rem;color:var(--color-text-muted)}.hero-intro{margin:0 0 1.25rem;max-width:48ch;color:color-mix(in srgb,var(--color-text) 90%,var(--color-text-muted))}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:.95rem}.hero-secondary-link{margin:0;color:var(--color-text-muted);font-size:.93rem}.hero-secondary-link a{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:2px}.hero-panel{padding:1.3rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-border));background:color-mix(in srgb,var(--color-surface-hover) 92%,black);box-shadow:0 1px #ffffff0a inset,0 14px 30px #0003}.hero-portrait{margin:0 0 var(--space-lg);padding:0;border-radius:12px;overflow:hidden;border:1px solid var(--color-border-strong);box-shadow:0 10px 28px #00000040}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center center}.hero-panel h2{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.01em}.hero-panel p{margin:0 0 .95rem;color:var(--color-text-muted)}.focus-list{margin:0;padding-left:0;list-style:none}.focus-list li{margin-bottom:.58rem;padding-left:.95rem;position:relative;color:color-mix(in srgb,var(--color-text) 90%,var(--color-text-muted))}.focus-list li:before{content:"";position:absolute;left:0;top:.52rem;width:.35rem;height:.35rem;border-radius:50%;background:var(--color-accent)}.home-credibility{margin-bottom:2.1rem;padding-top:.35rem}.home-credibility h2,.home-pathways h2{margin:0 0 1rem;font-family:var(--font-display);font-size:1.08rem;font-weight:600;font-style:italic;letter-spacing:0;text-transform:none;color:color-mix(in srgb,var(--color-text) 78%,var(--color-text-muted))}.highlight-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}.highlight-grid li{border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:12px;background:color-mix(in srgb,var(--color-surface) 94%,transparent);padding:.95rem .9rem .85rem;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.highlight-grid li:hover{border-color:color-mix(in srgb,var(--color-accent) 38%,var(--color-border));background:color-mix(in srgb,var(--color-surface-hover) 88%,var(--color-accent-subtle));transform:translateY(-2px);box-shadow:0 12px 28px #00000038}.highlight-number{margin:0 0 .2rem;color:var(--color-accent-hover);font-size:1.35rem;line-height:1.1;font-weight:700}.highlight-label{margin:0;color:var(--color-text-muted);font-size:.88rem;line-height:1.45;max-width:22ch}.home-pathways{border-top:1px solid var(--color-border);padding-top:1.3rem}.pathway-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.pathway-grid a{display:block;position:relative;border:1px solid color-mix(in srgb,var(--color-border) 92%,transparent);border-radius:12px;padding:1rem 1.85rem .95rem 1rem;background:color-mix(in srgb,var(--color-surface) 96%,transparent);text-decoration:none;color:var(--color-text-muted);line-height:1.5;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.pathway-grid a:hover,.pathway-grid a:focus-visible{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));background:var(--color-surface-hover);transform:translateY(-2px);box-shadow:0 12px 28px #00000038}.pathway-grid a:after{content:"→";position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-size:1.1rem;color:var(--color-accent);opacity:.45;transition:opacity .2s ease,transform .2s ease}.pathway-grid a:hover:after,.pathway-grid a:focus-visible:after{opacity:1;transform:translate(.12rem,-50%)}.pathway-grid span{display:block;margin-bottom:.35rem;font-family:var(--font-display);color:var(--color-text);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.work-intro{max-width:70ch}.work-section{max-width:none}.work-list{margin:0;padding:0;list-style:none}.work-list>li+li{border-top:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.work-item{padding:1.5rem 0 1.65rem}@media(min-width:700px){.work-item{padding-left:1.1rem;margin-left:.15rem;border-left:3px solid color-mix(in srgb,var(--color-accent) 50%,var(--color-border-strong))}}.work-list>li:first-child .work-item{padding-top:.25rem}.work-item__header{margin-bottom:1.1rem}.work-item__header h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.22rem;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--color-text)}.work-item__meta{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45}.work-item__body{display:flex;flex-direction:column;gap:1rem}@media(min-width:640px){.work-item__body{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;align-items:start}}.work-detail__label{display:block;margin-bottom:.35rem;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-hover)}.work-detail__text{margin:0;font-size:.9375rem;line-height:1.6;color:color-mix(in srgb,var(--color-text) 88%,var(--color-text-muted));padding:.65rem .75rem;border-radius:10px;background:color-mix(in srgb,var(--color-surface) 88%,var(--color-accent-subtle));border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent)}.work-next-step{margin:1rem 0 0;color:var(--color-text-muted)}.work-next-step a{color:var(--color-accent-hover)}.work-next-step a:hover,.work-next-step a:focus-visible{color:var(--color-accent)}@media(max-width:900px){.home-hero{grid-template-columns:1fr}.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.highlight-label{max-width:none}}.page-title{margin:0 0 var(--space-sm);font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}.page-shell .page-title:after,.resume-shell .page-title:after{content:"";display:block;width:2.75rem;height:3px;margin-top:.55rem;border-radius:2px;background:linear-gradient(90deg,var(--color-accent-hover),color-mix(in srgb,var(--color-accent) 25%,transparent))}.page-lead{margin:0 0 var(--space-xl);color:var(--color-text-muted);max-width:var(--max-width);font-size:1.08rem;line-height:1.62}.prose{max-width:var(--max-width)}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}.prose h2{margin:2rem 0 .7rem;font-family:var(--font-display);font-size:1.35rem;font-weight:600;line-height:1.28;letter-spacing:-.015em}.prose h3{margin:1.3rem 0 .45rem;font-family:var(--font-display);font-size:1.08rem;font-weight:600;letter-spacing:-.01em}.prose p,.prose ul,.prose ol{margin:0 0 var(--space-md)}.prose ul,.prose ol{padding-left:1.25rem}.prose blockquote{margin:0 0 1.35rem;padding:1rem 1.1rem 1rem 1.15rem;border-left:4px solid var(--color-accent);background:linear-gradient(105deg,color-mix(in srgb,var(--color-accent-subtle) 55%,var(--color-surface)),color-mix(in srgb,var(--color-surface) 94%,transparent) 65%);color:color-mix(in srgb,var(--color-text) 92%,var(--color-text-muted));border-radius:0 12px 12px 0;font-family:var(--font-display);font-size:1.12rem;font-style:italic;line-height:1.55}.prose a{color:var(--color-accent)}.prose a:hover,.prose a:focus-visible{color:var(--color-accent-hover)}article.prose.page-shell{counter-reset:prose-section}article.prose.page-shell>h2{counter-increment:prose-section;display:grid;grid-template-columns:2.35rem 1fr;gap:0 .9rem;align-items:start;margin-top:1.5rem;padding-top:1.15rem;border-top:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}article.prose.page-shell>h2:before{content:counter(prose-section,decimal-leading-zero);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--color-accent-hover);line-height:1.9;padding-top:.28rem}article.prose.page-shell>h2:first-of-type{margin-top:2rem;padding-top:0;border-top:none}article.prose.page-shell>h2:first-of-type:before{padding-top:.12rem}article.prose.page-shell>p:first-of-type{font-size:1.08rem;line-height:1.65;color:color-mix(in srgb,var(--color-text) 90%,var(--color-text-muted))}article.prose.page-shell ul{list-style:none;padding-left:0}article.prose.page-shell ul li{position:relative;padding-left:1.2rem}article.prose.page-shell ul li:before{content:"";position:absolute;left:0;top:.62em;width:.35rem;height:.35rem;border-radius:2px;background:var(--color-accent);transform:rotate(45deg)}article.prose.page-shell ul li+li{margin-top:.4rem}.page-shell>.page-lead.work-intro{padding-bottom:var(--space-lg);margin-bottom:var(--space-lg);border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.page-shell>.work-next-step{margin-top:1.35rem;padding-top:1.35rem;border-top:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.page-shell>.contact-privacy-note{padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.page-shell .contact-form,.page-shell>.placeholder-note{padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.thanks-page>.page-lead+p{margin-top:1.35rem;padding-top:1.35rem;border-top:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:var(--color-accent);color:#0c0a10;font-weight:600;font-size:.9375rem;text-decoration:none;border-radius:var(--radius);border:none;cursor:pointer}.btn:hover,.btn:focus-visible{background:var(--color-accent-hover)}.btn--secondary{background:transparent;color:var(--color-accent);border:1px solid var(--color-border)}.btn--secondary:hover,.btn--secondary:focus-visible{border-color:var(--color-accent);color:var(--color-accent-hover);background:var(--color-accent-subtle)}.resume-shell,.page-shell{position:relative;max-width:var(--max-width-wide);margin:0 auto;padding:1.25rem 1.4rem .6rem;border:1px solid color-mix(in srgb,var(--color-accent) 38%,var(--color-border-strong));border-radius:14px;background:radial-gradient(ellipse 90% 55% at 100% 0%,color-mix(in srgb,var(--color-accent) 12%,transparent) 0%,transparent 52%),linear-gradient(170deg,color-mix(in srgb,var(--color-surface-hover) 78%,var(--color-accent-subtle)),var(--color-surface) 58%);box-shadow:0 1px #ffffff0f inset,0 0 0 1px color-mix(in srgb,var(--color-accent) 18%,transparent),0 16px 34px #00000047}.resume-shell>*,.page-shell>*{position:relative;z-index:1}.resume-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin:0 0 var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.resume-section{margin-bottom:2.75rem}.resume-section h2{margin:0 0 1.1rem;font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding-bottom:.65rem}.resume-item{margin-bottom:1.35rem;padding:.9rem 0 .3rem;border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.resume-item:last-child{margin-bottom:0;border-bottom:none}.resume-item header{margin-bottom:.45rem}.resume-item h3{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}.resume-meta{margin:.3rem 0 0;font-size:.84rem;letter-spacing:.01em;color:var(--color-text-muted)}.resume-date{display:inline-block;margin-top:.25rem;padding:.12rem .55rem;border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border));border-radius:999px;font-size:.76rem;letter-spacing:.02em;color:color-mix(in srgb,var(--color-accent-hover) 75%,var(--color-text));background:color-mix(in srgb,var(--color-accent-subtle) 75%,transparent)}.resume-edu-details{margin:.55rem 0 0;font-size:.9375rem;color:var(--color-text-muted);line-height:1.55}.resume-item ul{margin:.55rem 0 0;padding-left:1.1rem;line-height:1.5}.resume-item li+li{margin-top:.35rem}.resume-section--timeline{position:relative}.resume-section--timeline:before{content:"";position:absolute;left:.38rem;top:3.2rem;bottom:.8rem;width:1px;background:linear-gradient(to bottom,color-mix(in srgb,var(--color-accent) 55%,transparent),color-mix(in srgb,var(--color-border) 85%,transparent))}.resume-item--timeline{position:relative;margin-left:1.35rem;padding-left:1rem}.resume-item--timeline:before{content:"";position:absolute;left:-1.42rem;top:1.35rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.resume-section--summary{margin-bottom:2.25rem}.resume-summary{max-width:68ch;margin:0;line-height:1.65}@media(max-width:640px){main{padding:1.35rem .85rem 2rem}.site-header__inner{padding:.8rem .85rem;gap:.5rem .75rem}.site-brand__logo{height:2rem}.site-brand__name{font-size:.92rem}.nav{gap:.4rem .85rem}.nav a{font-size:.86rem}.page-title{font-size:1.52rem}.page-lead{font-size:.98rem;margin-bottom:1.15rem}.home-hero__content,.hero-panel{padding:1rem .95rem}.hero-actions{gap:.7rem}.hero-actions .btn{width:100%;justify-content:center}.pathway-grid,.highlight-grid{grid-template-columns:1fr}.resume-shell,.page-shell{padding:1rem .95rem .25rem}.resume-actions .btn{width:100%;justify-content:center}.resume-item h3{font-size:1.02rem}.resume-section--timeline:before{left:.25rem}.resume-item--timeline{margin-left:1rem;padding-left:.85rem}.resume-item--timeline:before{left:-1.05rem}.contact-form{margin-bottom:1.35rem}.form-input,.form-textarea,.form-actions .btn{font-size:16px}}.skill-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);list-style:none;margin:0;padding:0}.skill-list li{padding:var(--space-xs) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem}.placeholder-note{margin:0;padding:var(--space-md);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.9375rem}.contact-list{list-style:none;margin:0;padding:0}.contact-list li{margin-bottom:var(--space-md)}.contact-list a{color:var(--color-accent)}.contact-list a:hover,.contact-list a:focus-visible{color:var(--color-accent-hover)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-form{max-width:var(--max-width);margin-bottom:var(--space-2xl)}.contact-privacy-note{margin:0 0 1.4rem;color:var(--color-text-muted);font-size:.93rem}.contact-topics{margin:0 0 1.35rem;padding:0 0 1.35rem;border-bottom:1px dashed color-mix(in srgb,var(--color-border) 75%,transparent)}.contact-topics-list{display:flex;flex-wrap:wrap;gap:.45rem .55rem;margin:0;padding:0;list-style:none}.contact-topics-list li{margin:0;padding:.4rem .8rem;line-height:1.4;font-size:.875rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 32%,var(--color-border));background:color-mix(in srgb,var(--color-accent-subtle) 50%,var(--color-surface));color:color-mix(in srgb,var(--color-text) 90%,var(--color-text-muted))}.form-field{margin-bottom:var(--space-lg)}.form-label{display:block;margin-bottom:var(--space-sm);font-size:.9375rem;font-weight:600;color:var(--color-text)}.form-input,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease}.form-input:hover,.form-textarea:hover{border-color:var(--color-border-strong)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-textarea{resize:vertical;min-height:8rem}.form-actions{margin-top:var(--space-xl)}.contact-extra-heading{margin:0 0 var(--space-md);font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.01em;color:color-mix(in srgb,var(--color-text) 55%,var(--color-text-muted))}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.pathway-grid a,.pathway-grid a:after,.highlight-grid li{transition:none}.pathway-grid a:hover,.pathway-grid a:focus-visible,.highlight-grid li:hover{transform:none}.pathway-grid a:hover:after,.pathway-grid a:focus-visible:after{transform:translateY(-50%)}}
