:root{--bg-color:#fff0dc;--bg-gradient:linear-gradient(135deg, #fff0dc 0%, #fae6cb 100%);--text-primary:#131010;--text-secondary:#543a14;--text-tertiary:#543a14c7;--accent-primary:#543a14;--accent-secondary:#f0bb78;--accent-tertiary:#f0bb7880;--gradient-end:#a0661c;--glass-bg:#ffffff59;--glass-bg-hover:#ffffff8c;--glass-border:#fffc;--glass-border-highlight:#fff;--glass-shadow:0 8px 32px 0 #543a1414;--glass-shadow-hover:0 12px 40px 0 #543a1426;--chip-bg:#ffffff80;--media-bg:#543a1414;--blob-1-bg:#f0bb7866;--blob-2-bg:#543a1426;--blob-3-bg:#f0bb784d;--btn-text:#fff0dc;--focus-ring:#a0661c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--bg-color:#131010;--bg-gradient:linear-gradient(135deg, #131010 0%, #1f1810 100%);--text-primary:#fff0dc;--text-secondary:#fff0dcbf;--text-tertiary:#fff0dc99;--accent-primary:#f0bb78;--accent-secondary:#543a14;--accent-tertiary:#f0bb7880;--gradient-end:#ffddb0;--glass-bg:#543a1426;--glass-bg-hover:#543a1440;--glass-border:#f0bb7826;--glass-border-highlight:#f0bb784d;--glass-shadow:0 8px 32px 0 #00000080;--glass-shadow-hover:0 12px 40px 0 #000000b3;--chip-bg:#543a1440;--media-bg:#00000040;--blob-1-bg:#f0bb7814;--blob-2-bg:#543a1433;--blob-3-bg:#fff0dc08;--btn-text:#131010;--focus-ring:#f0bb78;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;scroll-padding-top:6rem;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-primary);width:100%;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}p{margin:0}img{max-width:100%;display:block}button{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-family:Outfit,sans-serif;font-weight:700;line-height:1.2}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--accent-primary);color:var(--btn-text);border-radius:999px;padding:.75rem 1.25rem;font-weight:600;transition:top .2s;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.bg-blobs{z-index:-1;pointer-events:none;background:var(--bg-gradient);width:100%;height:100%;transition:background .3s;position:fixed;top:0;left:0;overflow:hidden}.blob{filter:blur(100px);opacity:.5;will-change:transform;border-radius:50%;transition:background-color .3s;animation:20s ease-in-out infinite alternate float;position:absolute}.blob-1{background:var(--blob-1-bg);width:50vw;height:50vw;animation-delay:0s;top:-10%;left:-10%}.blob-2{background:var(--blob-2-bg);width:60vw;height:60vw;animation-delay:-5s;bottom:-10%;right:-10%}.blob-3{background:var(--blob-3-bg);width:40vw;height:40vw;animation-delay:-10s;top:40%;left:50%;transform:translate(-50%)}@keyframes float{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,5%)scale(1.05)}to{transform:translate(-5%,-5%)scale(.95)}}.code-canvas{position:absolute;inset:0}.bot-track{color:var(--accent-primary);opacity:.22;animation:32s linear 1.5s infinite both bot-cruise;position:absolute;top:58%;left:0}.bot-bob{animation:3.2s ease-in-out infinite bot-bob}.bot{display:block;transform:rotate(6deg)}.bot-eyes{transform-box:fill-box;transform-origin:50%;animation:4.5s infinite bot-blink}.bot-antenna{animation:1.6s ease-in-out infinite bot-pulse}.bot-flame{transform-box:fill-box;transform-origin:top;animation:.35s ease-in-out infinite alternate bot-flame}@keyframes bot-cruise{0%{transform:translate(-90px)}28%{transform:translate(calc(50vw - 28px),-60px)}56%{transform:translate(calc(100vw + 90px),10px)}to{transform:translate(calc(100vw + 90px),10px)}}@keyframes bot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bot-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes bot-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes bot-flame{0%{opacity:.5;transform:scaleY(.6)}to{opacity:1;transform:scaleY(1.1)}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:background .3s,border-color .3s,box-shadow .3s;transform:translateZ(0)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;padding:1.5rem;transition:transform .3s,box-shadow .3s,background .3s,border-color .3s}.glass-card.hoverable:hover,.glass-card.hoverable:focus-within{box-shadow:var(--glass-shadow-hover);background:var(--glass-bg-hover);border-color:var(--glass-border-highlight);transform:translateY(-4px)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0;position:relative}.section-title{text-align:center;background:linear-gradient(135deg, var(--accent-primary), var(--gradient-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:clamp(2rem,5vw,2.5rem)}.section-subtitle{text-align:center;color:var(--text-secondary);max-width:640px;margin:0 auto 3rem;line-height:1.6}.text-gradient{background:linear-gradient(135deg, var(--accent-primary), var(--gradient-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem;display:grid}.btn{border:1px solid var(--glass-border);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent-primary);color:var(--btn-text);box-shadow:0 4px 15px #f0bb784d}.btn-primary:hover{box-shadow:0 8px 25px #f0bb7880}.btn-ghost{background:var(--glass-bg);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{border-color:var(--accent-primary)}.icon-btn{width:48px;height:48px;color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,color .2s,border-color .2s;display:inline-flex}.icon-btn:hover{color:var(--text-primary);border-color:var(--accent-primary);transform:translateY(-3px)}.plain-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:.25rem;transition:color .2s;display:inline-flex}.plain-btn:hover{color:var(--accent-primary)}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--chip-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:999px;padding:.35rem .75rem;font-family:Outfit,sans-serif;font-size:.78rem}.badge{letter-spacing:.3px;border:1px solid var(--glass-border);background:var(--chip-bg);color:var(--text-secondary);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-family:Outfit,sans-serif;font-size:.72rem;font-weight:600;display:inline-flex}.badge-accent{background:var(--accent-primary);color:var(--btn-text);border-color:#0000}.eyebrow{color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600}.text-link{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;transition:color .2s;display:inline-flex}.text-link:hover{color:var(--accent-primary)}.nav{z-index:100;padding:1rem 0;position:fixed;top:0;left:0;right:0}.nav-bar{border-radius:9999px;justify-content:space-between;align-items:center;padding:.6rem .75rem .6rem 1rem;display:flex}.nav-logo{align-items:center;gap:.6rem;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;display:flex}.nav-logo img{border-radius:50%;width:36px;height:36px}.nav-links{align-items:center;gap:1.5rem;font-size:.95rem;font-weight:500;display:flex}.nav-link{color:var(--text-secondary);padding:.25rem 0;transition:color .2s;position:relative}.nav-link:hover,.nav-link.active{color:var(--accent-primary)}.nav-link.active:after{content:"";background:var(--accent-primary);border-radius:2px;height:2px;position:absolute;bottom:-4px;left:0;right:0}.nav-mobile-actions{align-items:center;gap:.75rem;display:none}.nav-panel{border-radius:24px;margin-top:.75rem;padding:1rem 1.5rem;position:absolute;top:100%;left:1.5rem;right:1.5rem}.nav-panel .nav-link{padding:.6rem 0;font-family:Outfit,sans-serif;font-size:1.1rem;display:block}.nav-panel .nav-link.active:after{display:none}@media (width<=960px){.nav-links{display:none}.nav-mobile-actions{display:flex}}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding-top:8rem;padding-bottom:3rem;display:flex}.hero-grid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:3rem;display:flex}.hero-text{flex:520px;max-width:720px}.hero-eyebrow{color:var(--accent-primary);margin-bottom:.75rem;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:600}.hero-name{margin-bottom:.5rem;font-size:clamp(2.5rem,6vw,4.25rem)}.hero-role{height:clamp(2.4rem,5vw,3.4rem);color:var(--text-tertiary);margin-bottom:1.5rem;font-family:Outfit,sans-serif;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:600;position:relative}.hero-role-text{white-space:nowrap;position:absolute;top:0;left:0}.hero-tagline{color:var(--text-secondary);max-width:620px;margin-bottom:1.25rem;font-size:1.1rem;line-height:1.7}.hero-location{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:2rem;font-size:.95rem;display:flex}.hero-location svg{color:var(--accent-primary);flex-shrink:0}.hero-ctas{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.hero-highlights{flex-wrap:wrap;gap:.75rem;display:flex}.pill{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.8rem;font-weight:600;transition:transform .2s,border-color .2s;display:inline-flex}.pill svg{color:var(--accent-primary)}.pill:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.hero-photo{flex:280px;justify-content:center;align-items:center;min-height:340px;display:flex;position:relative}.hero-photo-glow{background:radial-gradient(circle, var(--accent-tertiary) 0%, transparent 70%);filter:blur(30px);opacity:.8;width:110%;height:110%;position:absolute}.hero-photo-ring{border:2px dashed var(--glass-border-highlight);opacity:.5;border-radius:38% 62% 63% 37%/41% 44% 56% 59%;width:min(320px,85vw);height:min(320px,85vw);position:absolute}.hero-photo-frame{background:var(--glass-bg);border:2px solid var(--glass-border);width:min(300px,78vw);height:min(300px,78vw);box-shadow:var(--glass-shadow-hover);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;transition:border-radius .5s,border-color .5s;position:relative;overflow:hidden}.hero-photo-frame:hover{border-color:var(--accent-primary);border-radius:50%}.hero-photo-frame img{object-fit:cover;object-position:50% 34%;width:100%;height:100%;transition:transform .5s}.hero-photo-frame:hover img{transform:scale(1.06)}.hero-stats{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem;display:grid}.stat{text-align:center;flex-direction:column;align-items:center;display:flex}.stat-value{color:var(--accent-primary);font-family:Outfit,sans-serif;font-size:clamp(2.25rem,5vw,3rem);font-weight:700;line-height:1.1}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-top:.4rem;font-size:.8rem}@media (width<=640px){.hero{padding-top:7rem}.hero-stats{grid-template-columns:repeat(2,1fr);row-gap:2rem}.hero-photo{order:-1;min-height:240px}.hero-photo-frame{width:210px;height:210px}.hero-photo-ring{width:230px;height:230px}}.about-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:2rem;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:1.25rem;font-size:1.05rem;line-height:1.8}.facts{flex-direction:column;gap:1.25rem;display:flex}.fact{align-items:flex-start;gap:.85rem;display:flex}.fact>svg{color:var(--accent-primary);flex-shrink:0;margin-top:2px}.fact-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:.2rem;font-size:.75rem;font-weight:600}.fact-value{color:var(--text-primary);line-height:1.5}@media (width<=860px){.about-grid{grid-template-columns:1fr}}.timeline-container{max-width:960px;margin:0 auto;padding:1rem 0;position:relative}.timeline-line{background:var(--glass-border);width:2px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.timeline-row{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex;position:relative}.timeline-row.even{flex-direction:row}.timeline-row.odd{flex-direction:row-reverse}.timeline-spacer{width:46%}.timeline-dot{background:var(--accent-primary);border:4px solid var(--bg-color);z-index:2;width:16px;height:16px;box-shadow:0 0 0 4px var(--glass-border);border-radius:50%;flex-shrink:0;margin-top:1.75rem}.timeline-card-wrapper{width:46%}.exp-role{margin-bottom:.25rem;font-size:1.2rem}.exp-company{margin-bottom:.4rem;font-weight:600}.exp-meta{color:var(--text-tertiary);font-family:Outfit,sans-serif;font-size:.85rem}.exp-list{color:var(--text-secondary);flex-direction:column;gap:.55rem;margin-top:1rem;padding-left:1.1rem;font-size:.9rem;line-height:1.55;display:flex}.exp-list li{list-style-type:square}.exp-list li::marker{color:var(--accent-primary)}.exp-toggle{cursor:pointer;color:var(--accent-primary);background:0 0;border:none;align-items:center;gap:.3rem;margin-top:1rem;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.exp-toggle svg{transition:transform .3s}.exp-toggle[aria-expanded=true] svg{transform:rotate(180deg)}@media (width<=768px){.timeline-line{left:0;transform:none}.timeline-row.even,.timeline-row.odd{flex-direction:column}.timeline-spacer{display:none}.timeline-dot{position:absolute;top:0;left:-7px}.timeline-card-wrapper{width:100%;padding-left:1.5rem}}.service-card{flex-direction:column;display:flex}.service-icon{color:var(--accent-primary);margin-bottom:1.25rem}.service-card h3{margin-bottom:1rem;font-size:1.2rem}.service-card .chips{margin-top:auto}.filter-bar{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.5rem;display:flex}.filter-btn{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}.filter-btn:hover{border-color:var(--accent-primary)}.filter-btn[aria-pressed=true]{background:var(--accent-primary);color:var(--btn-text);border-color:#0000}.project-card{flex-direction:column;display:flex;position:relative}.project-media{aspect-ratio:16/9;border:1px solid var(--glass-border);background:var(--media-bg);border-radius:14px;width:100%;margin-bottom:1.25rem;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card:hover .project-media img{transform:scale(1.04)}.media-placeholder{background:radial-gradient(circle at 20% 20%, var(--accent-tertiary), transparent 60%), radial-gradient(circle at 80% 90%, var(--blob-2-bg), transparent 55%), var(--media-bg);width:100%;height:100%;color:var(--accent-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-family:Outfit,sans-serif;font-weight:700;display:flex}.media-placeholder span{font-size:1.4rem}.project-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.project-card h3{margin-bottom:.6rem;font-size:1.25rem}.stretched-link:after{content:"";z-index:1;border-radius:24px;position:absolute;inset:0}.project-card p{color:var(--text-secondary);flex-grow:1;margin-bottom:1.25rem;font-size:.93rem;line-height:1.6}.project-links{z-index:2;gap:1.25rem;margin-top:1.25rem;display:flex;position:relative}.teach-stats{justify-content:center;gap:clamp(2rem,8vw,5rem);margin-bottom:3rem;display:flex}.teach-roles{margin-bottom:3rem}.teach-role h3{margin:.5rem 0 .4rem;font-size:1.1rem}.teach-role .org{color:var(--text-tertiary);margin-bottom:.75rem;font-family:Outfit,sans-serif;font-size:.85rem}.teach-role p{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.sub-heading{text-align:center;margin-bottom:1.5rem;font-size:1.4rem}.session-card{flex-direction:column;gap:1rem;display:flex}.session-media{border:1px solid var(--glass-border);background:var(--media-bg);border-radius:14px;width:100%;height:200px;padding:0;position:relative;overflow:hidden}button.session-media{cursor:zoom-in}.session-media .poster-bg{object-fit:cover;filter:blur(12px)brightness(.65);opacity:.55;width:100%;height:100%;position:absolute;inset:0}.session-media .poster{object-fit:contain;width:100%;height:100%;padding:6px;transition:transform .3s;position:absolute;inset:0}.session-media .zoom-icon{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);width:38px;height:38px;color:var(--text-primary);opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;bottom:.75rem;right:.75rem}button.session-media:hover .poster,button.session-media:focus-visible .poster{transform:scale(1.03)}button.session-media:hover .zoom-icon,button.session-media:focus-visible .zoom-icon{opacity:1}.session-card h4{font-size:1.1rem;line-height:1.3}.session-desc{color:var(--text-secondary);flex-grow:1;font-size:.9rem;line-height:1.55}.lightbox{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background-color:#131010d9;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff0dc;position:absolute;top:1.5rem;right:1.5rem}.lightbox img{object-fit:contain;border-radius:16px;max-width:min(90vw,900px);max-height:75vh;box-shadow:0 20px 50px #00000080}.lightbox-title{color:#fff0dc;text-align:center;margin-top:1.5rem;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:600}.cred-col h3{align-items:center;gap:.6rem;margin-bottom:1.25rem;font-size:1.2rem;display:flex}.cred-col h3 svg{color:var(--accent-primary)}.cred-list{flex-direction:column;gap:1.1rem;display:flex}.cred-item{border-bottom:1px solid var(--glass-border);padding-bottom:1.1rem}.cred-item:last-child{border-bottom:none;padding-bottom:0}.cred-title{margin-bottom:.25rem;font-weight:600;line-height:1.4}.cred-org{color:var(--text-tertiary);font-size:.85rem;line-height:1.45}.cred-desc{color:var(--text-secondary);margin-top:.35rem;font-size:.88rem;line-height:1.5}.cred-item .text-link{margin-top:.4rem}.contact{text-align:center}.contact-inner{max-width:640px}.contact-text{color:var(--text-secondary);margin-bottom:2.25rem;font-size:1.1rem;line-height:1.7}.contact-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.contact-socials{justify-content:center;gap:1rem;display:flex}.contact-location{color:var(--text-tertiary);align-items:center;gap:.4rem;margin-top:2rem;font-size:.9rem;display:inline-flex}.footer{border-top:1px solid var(--glass-border);color:var(--text-tertiary);margin-top:2rem;padding:2.5rem 0;font-size:.9rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer-links{flex-wrap:wrap;gap:1.25rem;display:flex}.footer-links a:hover{color:var(--accent-primary)}.footer-socials{align-items:center;gap:.75rem;display:flex}.footer-socials .icon-btn{width:40px;height:40px}@media (width<=640px){.footer-inner{text-align:center;flex-direction:column}.footer-links{justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.blob{animation:none}.bot-track{display:none}*,:before,:after{transition-duration:.01ms!important}}
