:root{--bg-color: #f2f0ea;--surface-color: #f2f0ea;--surface-light: #ece9e1;--text-primary: #141414;--text-secondary: #3a3833;--text-tertiary: #6b6355;--accent-color: #2e2bef;--accent-hover: #211fc7;--accent-2: #2e2bef;--accent-ink: #f2f0ea;--accent-soft: rgba(46, 43, 239, .07);--accent-soft-border: rgba(46, 43, 239, .4);--accent-glow: rgba(46, 43, 239, .2);--accent-2-glow: rgba(46, 43, 239, .2);--border: rgba(20, 20, 20, .16);--border-strong: #141414;--glass-bg: rgba(242, 240, 234, .6);--glass-border: var(--border-strong);--shadow-sm: 0 1px 0 0 rgba(20, 20, 20, .5);--shadow-md: 6px 6px 0 0 rgba(20, 20, 20, .9);--shadow-lg: 10px 10px 0 0 rgba(20, 20, 20, .9);--font-primary: "Source Serif 4", Georgia, "Times New Roman", serif;--font-display: "Anton", sans-serif;--font-logo: "Anton", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-pill: 0px;--transition-fast: .2s cubic-bezier(.16, 1, .3, 1);--transition-slow: .5s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-color);color:var(--text-primary);font-family:var(--font-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.02em}p{color:var(--text-secondary)}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft-border);color:var(--text-primary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);width:100%}.section{padding:var(--spacing-xl) 0}.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-color);display:inline-flex;align-items:center;gap:.6em}.eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent-color);display:inline-block;flex:none}.persona-image-holder,.journey-image-holder{cursor:zoom-in;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.persona-image-holder:hover,.journey-image-holder:hover{transform:scale(1.02);box-shadow:0 14px 30px -18px #000000b3;z-index:2}.persona-image,.journey-image{display:block;object-fit:cover;transition:filter var(--transition-fast)}.persona-image-holder:hover .persona-image,.journey-image-holder:hover .journey-image{object-fit:contain}.project1-wireframe-holder{background:#efedeb!important;overflow:hidden}.project1-wireframe-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform var(--transition-fast),filter var(--transition-fast)}.project1-wireframe-holder:hover .project1-wireframe-image{object-fit:contain;object-position:center}.project2-wireframe-holder{cursor:zoom-in;background:#f0f0f0!important}.project2-wireframe-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.project2-wireframe-holder:hover .project2-wireframe-image{object-fit:contain;object-position:center}.project4-masonry{column-count:3;column-gap:1.2rem}@media(max-width:1050px){.project4-masonry{column-count:2}}@media(max-width:680px){.project4-masonry{column-count:1}}@media(hover:none),(pointer:coarse){.persona-image-holder,.journey-image-holder{cursor:default}.persona-image-holder:hover,.journey-image-holder:hover{transform:none;box-shadow:none}.persona-image,.journey-image,.project2-wireframe-image{object-fit:contain}}.text-gradient{background:linear-gradient(100deg,var(--accent-hover) 0%,var(--accent-color) 45%,var(--accent-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:12px 26px;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:500;font-size:.95rem;cursor:pointer;text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.glass-button:hover{border-color:var(--accent-soft-border);background:var(--accent-soft);transform:translateY(-1px)}.glass-button:active{transform:translateY(0)}.btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--accent-ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-mono);font-size:.85rem}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink);transform:none}.content-wrapper{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}main{flex:1}#root{min-height:100vh}.site-nav-toggle{display:none!important}.site-nav-mobile-panel{display:none}.site-nav-link:hover,.home-ghost-link:hover{color:var(--text-primary)!important}.home-skill-pill:hover{border-color:var(--accent-soft-border)!important;color:var(--text-primary)!important;box-shadow:0 6px 20px -10px var(--accent-glow)}.home-project-row{color:inherit;border-top:1px solid var(--border);transition:background var(--transition-fast)}.home-project-list>div:last-child .home-project-row{border-bottom:1px solid var(--border)}.home-project-row:hover{background:var(--accent-soft)}.home-project-row:hover h3{color:var(--accent-hover)}.home-project-arrow-icon{display:inline-block;transition:transform var(--transition-fast)}.home-project-row:hover .home-project-arrow-icon{transform:translate(5px)}.home-project-image-mask{-webkit-mask-image:radial-gradient(ellipse 76% 82% at 50% 42%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 76% 82% at 50% 42%,#000 58%,transparent 100%)}.home-project-image{filter:grayscale(1) contrast(1.05) brightness(1.01);transform:scale(1);transition:filter .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}.home-project-row:hover .home-project-image{filter:grayscale(0) saturate(1.05);transform:scale(1.06)}.home-cta-glow{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(640px circle at 15% 0%,var(--accent-soft),transparent 60%);pointer-events:none}@media(max-width:780px){.site-nav-links-desktop{display:none!important}.site-nav-toggle{display:flex!important}.site-nav-mobile-panel{display:block}}@keyframes scope-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scope-pulse{0%,to{opacity:.5;r:2.2}50%{opacity:1;r:3}}.home-hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px circle at var(--mx, 50%) var(--my, 30%),rgba(179,121,42,.14),transparent 62%);transition:background .25s ease;z-index:1;mix-blend-mode:multiply}.glow-orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.8}.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.1rem 0;background:var(--surface-color)}.marquee-track{display:inline-flex;animation:marquee-scroll 32s linear infinite}.marquee-item{display:inline-flex;align-items:center;gap:.9rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);padding:0 1.75rem}.marquee-item:after{content:"◆";color:var(--accent-color);font-size:.6rem}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}@media(max-width:900px){.home-hero-grid{grid-template-columns:1fr!important}.home-hero-portrait{justify-self:center!important;order:-1}.portrait-reveal{width:min(240px,60vw)!important}}@media(max-width:640px){.home-project-row{grid-template-columns:1fr!important}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1024px){.container{padding:0 1.25rem}.home-hero{min-height:500px!important}.home-hero-content{max-width:100%!important}.home-hero-title{font-size:clamp(2.1rem,11vw,4rem)!important}.home-hero-subtitle{font-size:1rem!important;line-height:1.65!important}.home-hero-actions{gap:1rem!important}.home-section{margin-bottom:5.5rem!important}.home-project-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.home-cta-inner{padding:3.5rem 1.25rem!important;border-radius:24px!important}.projects-grid{grid-template-columns:1fr!important;gap:1.5rem!important}.projects-card-content{flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important}.project-hero{height:52vh!important;min-height:320px!important}.project-hero-content{padding-bottom:1.75rem!important}.project-meta-grid{grid-template-columns:1fr!important;gap:1rem!important;padding-bottom:2rem!important;margin-bottom:2.25rem!important}.project-content-sections{gap:3.5rem!important}.project-section-header{font-size:1.55rem!important;margin-bottom:1rem!important}.project-paragraph{font-size:1rem!important;line-height:1.65!important}.project-split-layout{grid-template-columns:1fr!important;gap:1.25rem!important}.project-image-grid,.project-image-grid-3{grid-template-columns:1fr!important;gap:1rem!important;margin-top:1.25rem!important}.project-mobile-image-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important;gap:1rem!important;margin-top:1.25rem!important}.project-large-image{height:250px!important;margin-top:1.25rem!important}.project-final-image{height:320px!important}.contact-layout{min-height:auto!important;align-items:flex-start!important;padding-top:.5rem}.contact-subtitle{font-size:1rem!important;margin-bottom:2rem!important}.contact-details{gap:1.25rem!important}.contact-link{font-size:1rem!important;word-break:break-word}.experience-page .timeline,.education-page .timeline,.research-page .timeline{gap:2rem!important}.experience-page .timeline-item,.education-page .timeline-item,.research-page .timeline-item{gap:1rem!important}.experience-page .period-column,.education-page .period-column,.research-page .period-column,.experience-page .content-column,.education-page .content-column,.research-page .content-column{flex:1 1 100%!important}.experience-page .role-heading,.education-page .role-heading,.research-page .role-heading{font-size:1.35rem!important}.experience-page .timeline-description,.education-page .timeline-description,.research-page .timeline-description{font-size:1rem!important}.site-footer-inner{justify-content:center!important;text-align:center;flex-direction:column}.site-footer-links{justify-content:center;flex-wrap:wrap}}@media(max-width:640px){.container{padding:0 1rem}.section{padding:3rem 0}.glass-button{padding:10px 18px!important;font-size:.9rem!important}.home-cta-inner{padding:3rem 1rem!important}.project-mobile-image-grid{grid-template-columns:1fr!important}}.portrait-reveal{position:relative;display:block;width:min(520px,88vw);aspect-ratio:4 / 5;--rx: -9999px;--ry: -9999px;-webkit-mask-image:radial-gradient(ellipse 58% 68% at 50% 36%,#000 0%,transparent 100%);mask-image:radial-gradient(ellipse 58% 68% at 50% 36%,#000 0%,transparent 100%)}.portrait-reveal-bw,.portrait-reveal-color{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none;-webkit-user-select:none;user-select:none}.portrait-reveal-bw{filter:grayscale(1) contrast(1.08) brightness(1.03)}.portrait-reveal-color{filter:saturate(1.08) contrast(1.02);-webkit-mask-image:radial-gradient(circle,#000 0%,#000 32%,transparent 76%);mask-image:radial-gradient(circle,#000 0%,#000 32%,transparent 76%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:calc(var(--radius) * 2) calc(var(--radius) * 2);mask-size:calc(var(--radius) * 2) calc(var(--radius) * 2);-webkit-mask-position:calc(var(--rx) - var(--radius)) calc(var(--ry) - var(--radius));mask-position:calc(var(--rx) - var(--radius)) calc(var(--ry) - var(--radius));transition:-webkit-mask-position .35s cubic-bezier(.16,1,.3,1),mask-position .35s cubic-bezier(.16,1,.3,1)}@media(hover:none),(pointer:coarse){.portrait-reveal-color{-webkit-mask-image:none;mask-image:none;opacity:.55}.portrait-reveal-bw{opacity:.75}}
