:root{--ink:28 25 23;--hero-bg:#15100c;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas,
          "Liberation Mono", monospace;--ease:cubic-bezier(0.22, 1, 0.36, 1)}.text-xs:not([class*=leading-]){line-height:1rem}.text-sm:not([class*=leading-]){line-height:1.25rem}.text-base:not([class*=leading-]){line-height:1.5rem}.text-lg:not([class*=leading-]){line-height:1.75rem}.text-xl:not([class*=leading-]){line-height:1.75rem}h1,h2,h3,.text-3xl,.text-4xl,.text-5xl,.text-6xl{letter-spacing:-.022em;font-variation-settings:"wght" 750}.blox-collection .text-3xl,.blox-markdown .text-3xl{position:relative;font-size:1.75rem;line-height:2.15rem;padding-top:1.15rem;font-variation-settings:"wght" 800}.blox-collection .text-3xl::before,.blox-markdown .text-3xl::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:2.25rem;height:3px;border-radius:2px;background:rgb(var(--color-primary-600))}body{counter-reset:hbsection}.section-numbered{counter-increment:hbsection}.section-numbered .text-3xl::after{content:counter(hbsection,decimal-leading-zero);display:block;margin-top:.5rem;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.22em;font-variation-settings:normal;color:rgb(var(--color-primary-600));opacity:.85}.hero-band{overflow:hidden}.hero-band .home-section-bg{background-color:var(--hero-bg)}.hero-band .home-section-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18% 22%,rgba(245,158,11,.2),transparent 45%),radial-gradient(circle at 82% 78%,rgba(220,60,40,.16),transparent 48%),radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:100% 100%,100% 100%,26px 26px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}.hero-band #profile{max-width:19rem;margin-left:auto;margin-right:auto}.hero-band .portrait-title .text-3xl{font-size:clamp(1.85rem,3.2vw,2.5rem);line-height:1.08;letter-spacing:-.032em;font-variation-settings:"wght" 820;color:#fff;margin-top:1.25rem}.hero-band .portrait-title h3{font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;font-variation-settings:normal;color:rgb(var(--color-primary-400));margin-top:.85rem;margin-bottom:.55rem}.hero-band .portrait-title>div:not(.text-3xl){color:rgba(255,255,255,.62);font-size:.9rem}.hero-band .avatar{box-shadow:0 0 0 2px rgba(245,158,11,.85),0 0 0 9px rgba(245,158,11,.13),0 18px 40px rgba(0,0,0,.45)}.hero-band .avatar-emoji{background-color:var(--hero-bg);color:#fff;box-shadow:0 0 0 2px rgba(245,158,11,.5)}.hero-band .bio-text{color:rgba(255,255,255,.8)}.hero-band .prose strong{color:#fff}.hero-band .prose a{color:rgb(var(--color-primary-300));text-decoration-color:rgb(var(--color-primary-300)/.5)}.hero-band .section-subheading{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:normal;color:rgb(var(--color-primary-400))}.hero-band .grid{color:rgba(255,255,255,.75)}.hero-band .portrait-tagline{max-width:17rem;margin:.9rem auto 0;font-size:.92rem;line-height:1.5;letter-spacing:-.008em;color:rgba(255,255,255,.9)}.hero-band .network-icon a{color:rgba(255,255,255,.7)}.hero-band .network-icon li{transition:transform .18s var(--ease)}.hero-band .network-icon li:hover a{color:rgb(var(--color-primary-400))}.hero-band .hero-links{margin-top:1.25rem}.hero-band .hero-links a:focus-visible{outline:2px solid rgb(var(--color-primary-400));outline-offset:3px;border-radius:.25rem}.link-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stat-strip .grid{max-width:46rem;margin:0 auto;gap:1rem}.stat-strip>div{padding-top:0!important;padding-bottom:0!important}.stat-strip h6{font-size:clamp(2.6rem,7vw,3.9rem);line-height:1.05;font-variation-settings:"wght" 820;letter-spacing:-.04em;background:linear-gradient(135deg,rgb(var(--color-primary-500)),rgb(var(--color-secondary-600)));-webkit-background-clip:text;background-clip:text;color:transparent}.stat-strip p{margin-top:.55rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.5;white-space:pre-line;opacity:.75}.stat-strip .text-center{border-color:rgb(var(--color-primary-600)/.22)}.tech-strip .text-3xl{padding-top:0;margin-bottom:1.1rem;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-variation-settings:normal;line-height:1.5;color:#6b7280}.dark .tech-strip .text-3xl{color:#9ca3af}.tech-strip .text-3xl::before{content:none}.tech-strip>div{padding-top:0!important}.tech-strip .prose{max-width:54rem;text-align:center}.tech-strip .prose p{margin:0}.tech-strip code::before,.tech-strip code::after{content:""!important}.tech-strip code{display:inline-block;margin:.22rem .16rem;padding:.28rem .62rem;border:1px solid rgb(var(--color-primary-600)/.26);border-radius:9999px;background:rgb(var(--color-primary-600)/.06);color:inherit;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;opacity:.85;transition:transform .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease)}.tech-strip code:hover{transform:translateY(-2px);border-color:rgb(var(--color-primary-600)/.6);background:rgb(var(--color-primary-600)/.12);opacity:1}.dark .tech-strip code{border-color:rgb(var(--color-primary-400)/.28);background:rgb(var(--color-primary-400)/.08)}.hb-attachment-link{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .66rem;border:1px solid rgb(var(--color-primary-600)/.3);border-radius:9999px;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.09em;line-height:1.45;margin:0;transition:background-color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.hb-attachment-link:hover{background-color:rgb(var(--color-primary-600)/.1);border-color:rgb(var(--color-primary-600)/.65);transform:translateY(-1px)}.dark .hb-attachment-link{border-color:rgb(var(--color-primary-400)/.34)}.dark .hb-attachment-link:hover{background-color:rgb(var(--color-primary-400)/.15);border-color:rgb(var(--color-primary-400)/.65)}.paper-row{position:relative;display:grid;grid-template-columns:2.25rem 1fr;gap:.75rem .5rem;padding:1.75rem .9rem 1.75rem 0;border-radius:.6rem;transition:background-color .2s var(--ease)}.paper-row:hover{background-color:rgb(var(--color-primary-600)/.04)}.dark .paper-row:hover{background-color:rgb(var(--color-primary-400)/.07)}.paper-index{grid-column:1;align-self:start;padding-top:.15rem;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;line-height:1.6;color:rgb(var(--color-primary-600)/.55);transition:color .2s var(--ease)}.paper-row:hover .paper-index{color:rgb(var(--color-primary-600))}.dark .paper-index{color:rgb(var(--color-primary-400)/.5)}.dark .paper-row:hover .paper-index{color:rgb(var(--color-primary-400))}.paper-thumb-link{display:block;grid-column:2}.paper-main{grid-column:2}@media(min-width:768px){.paper-row{grid-template-columns:2.25rem 12rem 1fr;gap:0 1.5rem}.paper-thumb-link{grid-column:2}.paper-main{grid-column:3}.paper-thumb-link+.paper-main{grid-column:3}.paper-index+.paper-main{grid-column:2/-1}}.paper-row+.paper-row{border-top:1px solid #e5e7eb}.dark .paper-row+.paper-row{border-top-color:#374151}.paper-thumb{width:100%;height:7.5rem;object-fit:contain;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.35rem;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.dark .paper-thumb{background-color:#f1f5f9;border-color:#374151}.paper-row:hover .paper-thumb{border-color:rgb(var(--color-primary-500)/.8);transform:translateY(-2px);box-shadow:0 10px 24px rgb(0 0 0/.1)}.paper-title{font-size:1.06rem;font-weight:600;line-height:1.45;letter-spacing:-.012em;font-variation-settings:"wght" 660}.paper-title a::after{content:" \2192";display:inline-block;opacity:0;transform:translateX(-4px);color:rgb(var(--color-primary-600));transition:opacity .2s var(--ease),transform .2s var(--ease)}.paper-row:hover .paper-title a::after{opacity:1;transform:translateX(0)}.paper-authors{font-size:.875rem;line-height:1.45}.paper-venue{display:inline-block;padding:.16rem .5rem;border:1px solid rgb(var(--color-primary-600)/.45);border-radius:.3rem;background:rgb(var(--color-primary-600)/.09);font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;font-style:normal;line-height:1.55;color:rgb(var(--color-primary-700));transition:border-color .2s var(--ease),background-color .2s var(--ease)}.dark .paper-venue{border-color:rgb(var(--color-primary-400)/.45);background:rgb(var(--color-primary-400)/.12);color:rgb(var(--color-primary-300))}.paper-row:hover .paper-venue{border-color:rgb(var(--color-primary-600))}.dark .paper-row:hover .paper-venue{border-color:rgb(var(--color-primary-400))}.paper-venue em{font-style:normal}.paper-summary{font-size:.875rem;line-height:1.55}@media(min-width:768px){.paper-thumb{height:6.5rem}}#patents .max-w-prose{max-width:48rem}#patents .prose{padding-left:1rem;padding-right:1rem}.patent-list{list-style:none;margin:0;padding:0}.patent-list>li::marker{content:none}.patent-row{position:relative;display:grid;grid-template-columns:2.25rem 1fr;gap:0 .5rem;margin:0;padding:1.1rem .9rem 1.1rem 0;border-top:1px solid #e5e7eb;border-radius:0 .5rem .5rem 0;transition:background-color .2s var(--ease)}.dark .patent-row{border-top-color:#374151}.patent-row:last-child{border-bottom:1px solid #e5e7eb}.dark .patent-row:last-child{border-bottom-color:#374151}.patent-row:hover{background-color:rgb(var(--color-primary-600)/.04)}.dark .patent-row:hover{background-color:rgb(var(--color-primary-400)/.06)}.patent-index{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;line-height:1.75;color:rgb(var(--color-primary-600)/.55);transition:color .2s var(--ease)}.patent-row:hover .patent-index{color:rgb(var(--color-primary-600))}.dark .patent-index{color:rgb(var(--color-primary-400)/.5)}.dark .patent-row:hover .patent-index{color:rgb(var(--color-primary-400))}.patent-title{margin:0 0 .3rem;font-size:1rem;line-height:1.45;letter-spacing:-.012em;font-variation-settings:"wght" 640;color:#111827}.dark .patent-title{color:#fff}.patent-inventors{margin:0 0 .55rem;font-size:.85rem;line-height:1.5;color:#4b5563}.dark .patent-inventors{color:#d1d5db}.patent-owner{font-weight:700;color:#111827}.dark .patent-owner{color:#fff}.patent-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.patent-tag{padding:.16rem .5rem;border:1px solid rgb(var(--color-primary-600)/.22);border-radius:.3rem;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.63rem;letter-spacing:.05em;line-height:1.55;color:#4b5563}.dark .patent-tag{border-color:rgb(var(--color-primary-400)/.24);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.patent-tag.is-strong{border-color:rgb(var(--color-primary-600)/.6);background:rgb(var(--color-primary-600)/.12);color:rgb(var(--color-primary-700));font-weight:600}.dark .patent-tag.is-strong{border-color:rgb(var(--color-primary-400)/.55);background:rgb(var(--color-primary-400)/.14);color:rgb(var(--color-primary-300))}.patent-cta-wrap{margin-top:2rem;text-align:center}.patent-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.35rem;border:1px solid rgb(var(--color-primary-600)/.45);border-radius:9999px;background:0 0;font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:rgb(var(--color-primary-700));transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.patent-cta::after{content:"\2192";display:inline-block;transition:transform .2s var(--ease)}.patent-cta:hover{border-color:rgb(var(--color-primary-600));background:rgb(var(--color-primary-600)/.1);transform:translateY(-2px);box-shadow:0 10px 22px rgb(0 0 0/8%)}.patent-cta:hover::after{transform:translateX(4px)}.dark .patent-cta{border-color:rgb(var(--color-primary-400)/.45);color:rgb(var(--color-primary-300))}.dark .patent-cta:hover{border-color:rgb(var(--color-primary-400));background:rgb(var(--color-primary-400)/.14)}@media(max-width:640px){.patent-row{grid-template-columns:1.9rem 1fr}}.blox-collection article,.blox-collection .group{transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.blox-collection article:hover,.blox-collection .group:hover{transform:translateY(-4px)}.blox-collection article img{transition:transform .35s var(--ease)}.blox-collection .uppercase{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em}.prose a:not(.hb-attachment-link){text-decoration:none;background-image:linear-gradient(rgb(var(--color-primary-600)/.55),rgb(var(--color-primary-600)/.55));background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s var(--ease),color .2s var(--ease)}.prose a:not(.hb-attachment-link):hover{background-size:100% 2px;color:rgb(var(--color-primary-700))}.dark .prose a:not(.hb-attachment-link):hover{color:rgb(var(--color-primary-300))}.blox-collection a[class*=border-gray-300]{border-radius:9999px;border-color:rgb(var(--color-primary-600)/.45);font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--color-primary-700));transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.blox-collection a[class*=border-gray-300]::after{content:"\2192";display:inline-block;margin-left:.5rem;transition:transform .2s var(--ease)}.blox-collection a[class*=border-gray-300]:hover{border-color:rgb(var(--color-primary-600));background:rgb(var(--color-primary-600)/.1);color:rgb(var(--color-primary-700));transform:translateY(-2px);box-shadow:0 10px 22px rgb(0 0 0/8%)}.blox-collection a[class*=border-gray-300]:hover::after{transform:translateX(4px)}.dark .blox-collection a[class*=border-gray-300]{border-color:rgb(var(--color-primary-400)/.45);color:rgb(var(--color-primary-300))}.dark .blox-collection a[class*=border-gray-300]:hover{border-color:rgb(var(--color-primary-400));background:rgb(var(--color-primary-400)/.14)}#site-header nav a{position:relative}#site-header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:rgb(var(--color-primary-600));transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}#site-header nav a:hover::after{transform:scaleX(1)}.reveal-ready .hbb-section:not(.hero-band):not(.exp-head){opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal-ready .hbb-section:not(.hero-band):not(.exp-head).is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal-ready .hbb-section:not(.hero-band):not(.exp-head){opacity:1;transform:none}}.cv-wrap{width:100%;max-width:52rem;margin:0 auto;padding:0 1.25rem}.cv-wrap-reverse{display:flex;flex-direction:column-reverse}.cv-section+.cv-section{margin-top:3.5rem}.cv-h2{position:relative;margin:0 0 1.75rem;padding-top:1.1rem;font-size:1.6rem;line-height:2rem;letter-spacing:-.022em;font-variation-settings:"wght" 800;color:#111827}.dark .cv-h2{color:#fff}.cv-h2::before{content:"";position:absolute;top:0;left:0;width:2.25rem;height:3px;border-radius:2px;background:rgb(var(--color-primary-600))}.cv-lede{margin:-.9rem 0 1.75rem;font-size:.95rem;line-height:1.6;color:#4b5563}.dark .cv-lede{color:#d1d5db}.exp-head{overflow:hidden}.exp-head .home-section-bg{background-color:var(--hero-bg)}.exp-head .home-section-bg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 12% 30%,rgba(245,158,11,.18),transparent 42%),radial-gradient(circle at 88% 70%,rgba(220,60,40,.14),transparent 45%),radial-gradient(rgba(255,255,255,9%) 1px,transparent 1px);background-size:100% 100%,100% 100%,26px 26px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%)}.exp-head .prose{max-width:46rem;margin-left:auto;margin-right:auto}.exp-head .text-3xl{position:relative;max-width:46rem;margin:0 auto 1rem;padding-top:2rem;font-size:clamp(2rem,5vw,2.9rem);line-height:1.1;letter-spacing:-.035em;font-variation-settings:"wght" 820;text-align:center}.exp-head .text-3xl::before{content:"Curriculum Vitae";position:static;display:block;width:auto;height:auto;margin-bottom:.85rem;transform:none;border-radius:0;background:0 0;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;font-variation-settings:normal;color:rgb(var(--color-primary-400));opacity:.9}.exp-head .prose p{text-align:center;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.72)}.exp-head code::before,.exp-head code::after{content:""!important}.exp-head code{display:inline-block;margin:.22rem .16rem;padding:.3rem .7rem;border:1px solid rgb(var(--color-primary-400)/.3);border-radius:9999px;background:rgb(var(--color-primary-400)/.08);color:rgba(255,255,255,.9);font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.05em;transition:transform .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease)}.projects-head .text-3xl::before{content:"Selected Work"}.pub-head .text-3xl::before{content:"Research Output"}.pub-head .prose a{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;padding:.34rem .85rem;border:1px solid rgb(var(--color-primary-400)/.32);border-radius:9999px;background:rgb(var(--color-primary-400)/.08);background-image:none;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.88);transition:border-color .18s var(--ease),background-color .18s var(--ease),transform .18s var(--ease)}.pub-head .prose a::after{content:"\2197"}.pub-head .prose a:hover{border-color:rgb(var(--color-primary-400)/.7);background-color:rgb(var(--color-primary-400)/.16);background-image:none;color:#fff;transform:translateY(-1px)}.exp-head code:hover{transform:translateY(-2px);border-color:rgb(var(--color-primary-400)/.7);background:rgb(var(--color-primary-400)/.16)}.cv-timeline{list-style:none;margin:0;padding:0}.cv-item{position:relative;padding:0 0 2.25rem 1.6rem;border-left:1px solid #e5e7eb}.dark .cv-item{border-left-color:#374151}.cv-item:last-child{padding-bottom:0;border-left-color:transparent}.cv-item:last-child::before{content:"";position:absolute;left:-1px;top:0;height:.65rem;border-left:1px solid #e5e7eb}.dark .cv-item:last-child::before{border-left-color:#374151}.cv-dot{position:absolute;left:-.3125rem;top:.4rem;width:.625rem;height:.625rem;border-radius:9999px;background:rgb(var(--color-primary-600));box-shadow:0 0 0 4px #fff;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.dark .cv-dot{box-shadow:0 0 0 4px #111827}.cv-dot-edu{background:rgb(var(--color-secondary-600))}.cv-item:hover .cv-dot{transform:scale(1.35)}.cv-item.is-now .cv-dot::after{content:"";position:absolute;inset:-.3rem;border-radius:9999px;border:1px solid rgb(var(--color-primary-500)/.55);animation:cv-pulse 2.4s var(--ease)infinite}@keyframes cv-pulse{0%{transform:scale(.75);opacity:.9}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}.cv-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.cv-date{display:inline-block;white-space:nowrap;font-family:var(--mono);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:rgb(var(--color-primary-700))}.dark .cv-date{color:rgb(var(--color-primary-400))}.cv-dur{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:#6b7280}.dark .cv-dur{color:#9ca3af}.cv-role{margin:0 0 .2rem;font-size:1.12rem;line-height:1.4;letter-spacing:-.014em;font-variation-settings:"wght" 680;color:#111827}.dark .cv-role{color:#fff}.cv-now{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;transform:translateY(-1px);border:1px solid rgb(var(--color-primary-600)/.4);border-radius:9999px;background:rgb(var(--color-primary-600)/.1);color:rgb(var(--color-primary-700));font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-variation-settings:normal;vertical-align:middle}.dark .cv-now{border-color:rgb(var(--color-primary-400)/.45);background:rgb(var(--color-primary-400)/.14);color:rgb(var(--color-primary-300))}.cv-org{margin:0 0 .75rem;font-size:.9rem;line-height:1.5;font-weight:500;color:#374151}.dark .cv-org{color:#d1d5db}.cv-org a{color:inherit;text-decoration:none;border-bottom:1px solid rgb(var(--color-primary-600)/.45)}.cv-org a:hover{color:rgb(var(--color-primary-700))}.dark .cv-org a:hover{color:rgb(var(--color-primary-300))}.cv-loc{margin-left:.55rem;padding-left:.6rem;border-left:1px solid #d1d5db;font-family:var(--mono);font-size:.68rem;font-weight:400;letter-spacing:.06em;color:#6b7280}.dark .cv-loc{border-left-color:#4b5563;color:#9ca3af}.cv-body{max-width:none;font-size:.9rem}.cv-body ul{list-style:none;margin:0;padding:0}.cv-body li{position:relative;margin:.4rem 0;padding-left:1.05rem;font-size:.9rem;line-height:1.6;color:#4b5563}.dark .cv-body li{color:#d1d5db}.cv-body li::marker{content:none}.cv-body li::before{content:"";position:absolute;left:0;top:.62rem;width:.3rem;height:.3rem;border-radius:9999px;background:rgb(var(--color-primary-600)/.55)}.cv-body p{margin:.4rem 0;font-size:.9rem;line-height:1.6}.cv-stack{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.85rem 0 0;padding:0}.cv-stack li{padding:.2rem .55rem;border:1px solid rgb(var(--color-primary-600)/.22);border-radius:.3rem;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.64rem;letter-spacing:.045em;line-height:1.5;color:#4b5563;transition:border-color .16s var(--ease),background-color .16s var(--ease)}.cv-stack li:hover{border-color:rgb(var(--color-primary-600)/.55);background:rgb(var(--color-primary-600)/.11)}.dark .cv-stack li{border-color:rgb(var(--color-primary-400)/.24);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.cv-btn{display:inline-flex;align-items:center;margin-top:.85rem;padding:.3rem .8rem;border:1px solid rgb(var(--color-primary-600)/.35);border-radius:9999px;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:rgb(var(--color-primary-700));transition:border-color .16s var(--ease),background-color .16s var(--ease),transform .16s var(--ease)}.cv-btn:hover{border-color:rgb(var(--color-primary-600));background:rgb(var(--color-primary-600)/.1);transform:translateY(-1px)}.dark .cv-btn{color:rgb(var(--color-primary-300));border-color:rgb(var(--color-primary-400)/.4)}.cv-skill-grid{display:grid;grid-template-columns:1fr;gap:1rem}.cv-skill-card{padding:1.25rem 1.35rem;border:1px solid #e5e7eb;border-radius:.75rem;background:#fff;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.cv-skill-card:hover{border-color:rgb(var(--color-primary-600)/.45);transform:translateY(-3px);box-shadow:0 12px 28px rgb(0 0 0/7%)}.dark .cv-skill-card{border-color:#374151;background:#1f2937}.dark .cv-skill-card:hover{border-color:rgb(var(--color-primary-400)/.5)}.cv-skill-head{margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1px solid #e5e7eb;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-variation-settings:normal;color:rgb(var(--color-primary-700))}.dark .cv-skill-head{border-bottom-color:#374151;color:rgb(var(--color-primary-400))}.cv-skill-desc{margin:-.5rem 0 .9rem;font-size:.8rem;color:#6b7280}.cv-skill-list{list-style:none;margin:0;padding:0}.cv-skill-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.32rem 0;font-size:.875rem;line-height:1.5;color:#374151}.dark .cv-skill-list li{color:#d1d5db}.cv-skill-icon{flex:none;margin-top:.15rem;color:rgb(var(--color-primary-600));opacity:.85}.dark .cv-skill-icon{color:rgb(var(--color-primary-400))}.cv-skill-sub{display:block;font-size:.78rem;color:#6b7280}.cv-awards{list-style:none;margin:0;padding:0}.cv-award{display:grid;grid-template-columns:3.25rem 1fr;gap:0 .9rem;padding:.95rem .9rem;border-top:1px solid #e5e7eb;border-left:2px solid transparent;border-radius:0 .4rem .4rem 0;transition:background-color .18s var(--ease),border-left-color .18s var(--ease)}.dark .cv-award{border-top-color:#374151}.cv-award:last-child{border-bottom:1px solid #e5e7eb}.dark .cv-award:last-child{border-bottom-color:#374151}.cv-award:hover{background:rgb(var(--color-primary-600)/.04)}.dark .cv-award:hover{background:rgb(var(--color-primary-400)/.06)}.cv-award-year{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.06em;line-height:1.6;padding-top:.1rem;color:#9ca3af}.dark .cv-award-year{color:#6b7280}.cv-award-title{margin:0;font-size:.97rem;line-height:1.45;letter-spacing:-.01em;font-variation-settings:"wght" 620;color:#111827}.dark .cv-award-title{color:#fff}.cv-award-title a{color:inherit;text-decoration:none}.cv-award-title a:hover{color:rgb(var(--color-primary-700))}.dark .cv-award-title a:hover{color:rgb(var(--color-primary-300))}.cv-award-by{margin:.2rem 0 0;font-size:.8rem;line-height:1.5;color:#6b7280}.dark .cv-award-by{color:#9ca3af}.cv-award-icon{display:inline-block;margin-right:.3rem;vertical-align:-.1em}.cv-award-sum{margin-top:.3rem;font-size:.84rem;line-height:1.55;color:#4b5563}.dark .cv-award-sum{color:#d1d5db}.cv-award-sum p{margin:0}.cv-award.is-featured{border-left-color:rgb(var(--color-primary-600))}.cv-award.is-featured .cv-award-year{color:rgb(var(--color-primary-700))}.dark .cv-award.is-featured .cv-award-year{color:rgb(var(--color-primary-400))}.cv-award.is-featured .cv-award-title{font-variation-settings:"wght" 700}@media(min-width:768px){.cv-item{display:grid;grid-template-columns:10.5rem 1fr;gap:0 2.25rem;padding-left:0;padding-bottom:2.75rem;border-left:0}.cv-item::after{content:"";position:absolute;left:10.5rem;top:.5rem;bottom:-.35rem;width:1px;background:#e5e7eb}.dark .cv-item::after{background:#374151}.cv-item:last-child{padding-bottom:0}.cv-item:last-child::after{bottom:auto;height:.5rem;top:0}.cv-item:last-child::before{content:none}.cv-dot{left:10.5rem;margin-left:-.3125rem;top:.45rem}.cv-when{display:block;text-align:right;padding-top:.15rem;padding-right:.9rem;margin-bottom:0}.cv-dur{display:block;margin-top:.3rem}.cv-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-award{grid-template-columns:4rem 1fr}}.pcard-grid-wrap{width:100%;max-width:62rem;margin:0 auto;padding:0 1.25rem}.pcard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.pcard{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:.85rem;background:#fff;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.dark .pcard{border-color:#374151;background:#1f2937}.pcard:hover{border-color:rgb(var(--color-primary-600)/.5);transform:translateY(-4px);box-shadow:0 16px 36px rgb(0 0 0/.1)}.dark .pcard:hover{border-color:rgb(var(--color-primary-400)/.55);box-shadow:0 16px 36px rgb(0 0 0/.35)}.pcard-media{display:block;overflow:hidden;aspect-ratio:16/9;background:#f3f4f6}.dark .pcard-media{background:#111827}.pcard-media img{width:100%;height:100%;transition:transform .45s var(--ease)}.pcard-media img.is-fill{object-fit:cover}.pcard-media img.is-fit{object-fit:contain}.pcard:hover .pcard-media img{transform:scale(1.04)}.pcard-body{display:flex;flex-direction:column;flex:auto;padding:1.15rem 1.25rem 1.1rem}.pcard-eyebrow{margin:0 0 .45rem;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgb(var(--color-primary-700))}.dark .pcard-eyebrow{color:rgb(var(--color-primary-400))}.pcard-title{margin:0 0 .45rem;font-size:1.06rem;line-height:1.4;letter-spacing:-.014em;font-variation-settings:"wght" 660;color:#111827}.dark .pcard-title{color:#fff}.pcard-title a{color:inherit;text-decoration:none}.pcard-title a::before{content:"";position:absolute;inset:0;z-index:1}.pcard{position:relative}.pcard-summary{margin:0 0 .9rem;font-size:.875rem;line-height:1.6;color:#4b5563}.dark .pcard-summary{color:#d1d5db}.pcard-tags{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0 0 1rem;padding:0}.pcard-tags li{padding:.16rem .5rem;border:1px solid rgb(var(--color-primary-600)/.2);border-radius:.3rem;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.61rem;letter-spacing:.05em;line-height:1.5;color:#4b5563}.dark .pcard-tags li{border-color:rgb(var(--color-primary-400)/.22);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:auto 0 0;padding-top:.85rem;border-top:1px solid #e5e7eb}.dark .pcard-foot{border-top-color:#374151}.pcard-period{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;color:#6b7280}.dark .pcard-period{color:#9ca3af}.pcard-cue{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--color-primary-700));opacity:.55;transition:opacity .2s var(--ease),transform .2s var(--ease)}.dark .pcard-cue{color:rgb(var(--color-primary-300))}.pcard-cue::after{content:"\2192";transition:transform .2s var(--ease)}.pcard:hover .pcard-cue{opacity:1}.pcard:hover .pcard-cue::after{transform:translateX(3px)}@media(min-width:768px){.pcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pcard:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row}.pcard:last-child:nth-child(odd) .pcard-media{flex:0 0 45%;aspect-ratio:auto}.pcard:last-child:nth-child(odd) .pcard-body{justify-content:center;padding:1.6rem 1.75rem}}.prow-wrap{width:100%;max-width:48rem;margin:0 auto;padding:0 1.25rem}.prow-list{list-style:none;margin:0;padding:0}.prow{margin:0}.prow::marker{content:none}.prow-link{display:grid;grid-template-columns:3.4rem 1fr auto;align-items:start;gap:0 1.15rem;padding:1.15rem .9rem;border-top:1px solid #e5e7eb;border-radius:.5rem;text-decoration:none;color:inherit;transition:background-color .2s var(--ease)}.dark .prow-link{border-top-color:#374151}.prow:last-child .prow-link{border-bottom:1px solid #e5e7eb}.dark .prow:last-child .prow-link{border-bottom-color:#374151}.prow-link:hover{background:rgb(var(--color-primary-600)/.04)}.dark .prow-link:hover{background:rgb(var(--color-primary-400)/.06)}.prow-date{display:flex;flex-direction:column;align-items:center;padding:.35rem .2rem;border:1px solid rgb(var(--color-primary-600)/.22);border-radius:.45rem;background:rgb(var(--color-primary-600)/.05);transition:border-color .2s var(--ease),background-color .2s var(--ease)}.dark .prow-date{border-color:rgb(var(--color-primary-400)/.24);background:rgb(var(--color-primary-400)/.07)}.prow-link:hover .prow-date{border-color:rgb(var(--color-primary-600)/.6)}.dark .prow-link:hover .prow-date{border-color:rgb(var(--color-primary-400)/.6)}.prow-day{font-family:var(--mono);font-size:1rem;font-weight:700;line-height:1.15;color:rgb(var(--color-primary-700))}.dark .prow-day{color:rgb(var(--color-primary-300))}.prow-my{font-family:var(--mono);font-size:.55rem;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;color:#6b7280}.dark .prow-my{color:#9ca3af}.prow-main{display:block;min-width:0}.prow-title{display:block;font-size:1.02rem;line-height:1.45;letter-spacing:-.012em;font-variation-settings:"wght" 650;color:#111827}.dark .prow-title{color:#fff}.prow-summary{display:block;margin-top:.3rem;font-size:.875rem;line-height:1.6;color:#4b5563}.dark .prow-summary{color:#d1d5db}.prow-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.65rem}.prow-tags{display:contents}.prow-tags span{padding:.14rem .48rem;border:1px solid rgb(var(--color-primary-600)/.2);border-radius:.3rem;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.61rem;letter-spacing:.05em;line-height:1.5;color:#4b5563}.dark .prow-tags span{border-color:rgb(var(--color-primary-400)/.22);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.prow-read{margin-left:.15rem;font-family:var(--mono);font-size:.61rem;letter-spacing:.05em;color:#6b7280}.dark .prow-read{color:#9ca3af}.prow-cue{align-self:center;font-size:1rem;color:rgb(var(--color-primary-600));opacity:0;transform:translateX(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease)}.dark .prow-cue{color:rgb(var(--color-primary-400))}.prow-link:hover .prow-cue{opacity:1;transform:translateX(0)}@media(max-width:640px){.prow-link{grid-template-columns:3rem 1fr}.prow-cue{display:none}}.list-band{position:relative;margin-top:-2.5rem;padding:4rem 1.25rem 3.25rem;overflow:hidden;background-color:var(--hero-bg);color:#fff}.list-band::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 12% 30%,rgba(245,158,11,.18),transparent 42%),radial-gradient(circle at 88% 70%,rgba(220,60,40,.14),transparent 45%),radial-gradient(rgba(255,255,255,9%) 1px,transparent 1px);background-size:100% 100%,100% 100%,26px 26px;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 58%,transparent 100%);pointer-events:none}.list-band-inner{position:relative;z-index:1;max-width:46rem;margin:0 auto;text-align:center}.list-eyebrow{margin:0 0 .85rem;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:rgb(var(--color-primary-400));opacity:.9}.list-title{margin:0 0 1rem;font-size:clamp(2rem,5vw,2.9rem);line-height:1.1;letter-spacing:-.035em;font-variation-settings:"wght" 820;color:#fff}.list-intro p{margin:0 auto;max-width:42rem;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.72)}.list-feed{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;padding:.32rem .8rem;border:1px solid rgb(var(--color-primary-400)/.3);border-radius:9999px;background:rgb(var(--color-primary-400)/.08);font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:rgba(255,255,255,.85);transition:border-color .18s var(--ease),background-color .18s var(--ease),transform .18s var(--ease)}.list-feed:hover{border-color:rgb(var(--color-primary-400)/.7);background:rgb(var(--color-primary-400)/.16);transform:translateY(-1px)}.prow-lead{margin-bottom:1.5rem}.prow-lead::marker{content:none}.plead{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid #e5e7eb;border-radius:.9rem;background:#fff;text-decoration:none;color:inherit;transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.dark .plead{border-color:#374151;background:#1f2937}.plead:hover{border-color:rgb(var(--color-primary-600)/.5);transform:translateY(-4px);box-shadow:0 18px 40px rgb(0 0 0/.12)}.dark .plead:hover{border-color:rgb(var(--color-primary-400)/.55);box-shadow:0 18px 40px rgb(0 0 0/.4)}.plead-media{display:block;overflow:hidden;aspect-ratio:16/9;background:#f3f4f6}.dark .plead-media{background:#111827}.plead-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}.plead:hover .plead-media img{transform:scale(1.04)}.plead-body{display:block;padding:1.5rem 1.6rem 1.6rem}.plead-eyebrow{display:block;margin-bottom:.7rem;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:rgb(var(--color-primary-700))}.dark .plead-eyebrow{color:rgb(var(--color-primary-400))}.plead-dot{margin:0 .4rem;opacity:.55}.plead-title{display:block;margin-bottom:.55rem;font-size:1.4rem;line-height:1.3;letter-spacing:-.022em;font-variation-settings:"wght" 720;color:#111827}.dark .plead-title{color:#fff}.plead-summary{display:block;margin-bottom:1rem;font-size:.94rem;line-height:1.65;color:#4b5563}.dark .plead-summary{color:#d1d5db}.plead-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem}.plead-tags span{padding:.16rem .5rem;border:1px solid rgb(var(--color-primary-600)/.2);border-radius:.3rem;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;line-height:1.5;color:#4b5563}.dark .plead-tags span{border-color:rgb(var(--color-primary-400)/.22);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.plead-cue{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:rgb(var(--color-primary-700))}.dark .plead-cue{color:rgb(var(--color-primary-300))}.plead-cue::after{content:"\2192";transition:transform .2s var(--ease)}.plead:hover .plead-cue::after{transform:translateX(4px)}@media(min-width:768px){.plead{grid-template-columns:46% 1fr;align-items:stretch}.plead-media{aspect-ratio:auto;height:100%}.plead-body{align-self:center;padding:1.75rem 1.9rem}}.list-topics{width:100%;max-width:48rem;margin:3rem auto 1rem;padding:1.5rem 1.25rem 0;border-top:1px solid #e5e7eb}.dark .list-topics{border-top-color:#374151}.list-topics-label{margin:0 0 .85rem;font-family:var(--mono);font-size:.63rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#6b7280}.dark .list-topics-label{color:#9ca3af}.list-topics ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.list-topics a{display:inline-block;padding:.28rem .65rem;border:1px solid rgb(var(--color-primary-600)/.24);border-radius:9999px;background:rgb(var(--color-primary-600)/.05);font-family:var(--mono);font-size:.66rem;letter-spacing:.05em;text-decoration:none;color:#4b5563;transition:border-color .18s var(--ease),background-color .18s var(--ease),transform .18s var(--ease)}.list-topics a:hover{border-color:rgb(var(--color-primary-600)/.65);background:rgb(var(--color-primary-600)/.12);transform:translateY(-2px)}.dark .list-topics a{border-color:rgb(var(--color-primary-400)/.26);background:rgb(var(--color-primary-400)/.07);color:#d1d5db}.to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border:1px solid rgb(var(--color-primary-600)/.35);border-radius:9999px;background:rgb(255 255 255/.92);color:rgb(var(--color-primary-700));box-shadow:0 8px 22px rgb(0 0 0/.14);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease)}@supports(backdrop-filter:blur(8px)){.to-top{backdrop-filter:blur(8px)}}.dark .to-top{border-color:rgb(var(--color-primary-400)/.4);background:rgb(31 41 55/.92);color:rgb(var(--color-primary-300))}.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.to-top:hover{border-color:rgb(var(--color-primary-600));background:rgb(var(--color-primary-600)/.12);transform:translateY(-2px)}.dark .to-top:hover{border-color:rgb(var(--color-primary-400));background:rgb(var(--color-primary-400)/.18)}.to-top:focus-visible{outline:2px solid rgb(var(--color-primary-600));outline-offset:2px}.to-top-ready{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){.to-top-ready{scroll-behavior:auto}}@media(min-width:1024px){.to-top{right:1.75rem;bottom:1.75rem}}