:root{color-scheme:dark;--bg: #1d2021;--bg-deep: #141617;--card: rgba(40, 40, 40, .72);--border: rgba(235, 219, 178, .12);--text: #ebdbb2;--muted: #a89984;--accent: #d79921;--green: #98971a;--aqua: #689d6a;--blue: #458588;--purple: #b16286;--orange: #d65d0e}:root[data-theme=light]{color-scheme:light;--bg: #f8f5ef;--bg-secondary: #f3ef38;--bg-deep: #fbf1c7;--card: rgba(253, 244, 193, .78);--border: rgba(60, 56, 54, .16);--text: #3c3836;--muted: #7c6f64;--accent: #b57614;--green: #79740e;--aqua: #427b58;--blue: #076678;--purple: #8f3f71;--orange: #af3a03}:root[data-theme=light] body{background:linear-gradient(to bottom,#faf7f2,#f5f1ea);color:var(--text)}*{box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at top,rgba(69,133,136,.08),transparent 28%),radial-gradient(circle at bottom right,rgba(177,98,134,.06),transparent 24%),linear-gradient(to bottom,var(--bg),var(--bg-deep));color:var(--text);margin:0;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:-1;opacity:.025;background:radial-gradient(circle at top left,rgba(215,153,33,.12),transparent 30%),radial-gradient(circle at top right,rgba(69,133,136,.1),transparent 28%),radial-gradient(circle at bottom right,rgba(177,98,134,.1),transparent 24%)}html,body{min-height:100%;background:radial-gradient(circle at top,rgba(69,133,136,.08),transparent 28%),radial-gradient(circle at bottom right,rgba(177,98,134,.06),transparent 24%),linear-gradient(to bottom,var(--bg),var(--bg-deep));background-attachment:fixed}.home{width:min(1200px,92vw);margin:0 auto;padding:4rem 0 6rem;min-height:100vh;background:transparent}.hero{width:100%;max-width:1100px}h1{font-size:clamp(3rem,10vw,6rem);letter-spacing:.15em;margin-bottom:1rem;font-weight:700}.subtitle{color:var(--muted);font-size:1.1rem;margin-bottom:4rem}.portal-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:min(900px,100%);margin-inline:auto}.portal-card:hover,.creative-card:hover{border-color:#d7992159;box-shadow:0 0 0 1px #d799211a,0 12px 40px #00000059}.portal-card{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:1.5rem;border-radius:24px;background:linear-gradient(to bottom,#ffffff05,#00000014),#202324;border:1px solid var(--border);transition:opacity .55s ease,filter .55s ease,transform .25s ease,border-color .55s ease,background .55s ease}.portal-card:hover{transform:translateY(-6px);border-color:#ffffff4d;background:#ffffff14}.portal-card h2{margin:0;text-transform:uppercase;text-decoration:none;letter-spacing:.02em;font-size:clamp(1rem,1.5vw,1.35rem)}.portal-card p{display:none}.back-link{display:inline-block;margin-bottom:2rem;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--text)}.section-page{min-height:100vh;padding:2rem;max-width:1200px;margin:0 auto}.section-hero{margin-top:5rem;margin-bottom:4rem}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;margin-bottom:1rem}.section-hero h1{max-width:900px;font-size:clamp(3rem,8vw,6.5rem);line-height:.95;letter-spacing:-.06em;margin:0 0 1.5rem}.creative-grid{display:grid;justify-content:center;align-items:start;grid-template-columns:repeat(3,360px);gap:1.5rem;margin-top:4rem;width:fit-content;margin:4rem auto 0}.creative-grid:has(.creative-card:hover) .creative-card{opacity:.35;filter:grayscale(.25)}.creative-grid:has(.creative-card:hover) .creative-card:hover{opacity:1;filter:grayscale(0)}.photography-card{grid-row:auto}.creative-film-card,.posters-card{min-height:300px}.creative-card{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:240px;padding:1.5rem;overflow:hidden;border-radius:28px;border:1px solid var(--border);color:var(--text);text-decoration:none;background:none;transition:transform .25s ease,border-color .55s ease,filter .55s ease,opacity .55s ease;aspect-ratio:3 / 2;object-fit:cover}.creative-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.creative-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top left,rgba(215,153,33,.18),transparent 30%),radial-gradient(circle at top right,rgba(69,133,136,.16),transparent 28%),radial-gradient(circle at bottom left,rgba(177,98,134,.14),transparent 24%),linear-gradient(to bottom,#0000000d,#000000a6);z-index:0}.creative-card:hover{transform:translateY(-6px);border-color:#ffffff4d}.creative-card:hover:before{transform:scale(1.04);opacity:.95}.creative-card>div{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;text-align:center}.creative-card .eyebrow{margin:0 0 1rem;letter-spacing:.18em;text-transform:uppercase}.creative-card h2{font-size:clamp(1.25rem,2vw,2rem);margin:0;text-transform:uppercase;letter-spacing:-.05em;color:var(--text);line-height:.95}.creative-card p{color:var(--muted);line-height:1.6;margin:0;opacity:.8}.photography-card:before{background:linear-gradient(to top,#000000d9,#0000001a),radial-gradient(circle at 20% 20%,#7c6a4f,transparent 35%),radial-gradient(circle at 80% 40%,#31455f,transparent 40%),#171717}.creative-film-card:before{background:linear-gradient(to top,#000000d9,#0000001a),radial-gradient(circle at 30% 30%,#5d3847,transparent 35%),radial-gradient(circle at 80% 20%,#1f3d48,transparent 40%),#141414}.posters-card:before{background:linear-gradient(to top,#000000d9,#0000001a),radial-gradient(circle at 20% 70%,#5f4c7c,transparent 35%),radial-gradient(circle at 75% 30%,#665b32,transparent 40%),#151515}@media(max-width:800px){.creative-grid{grid-template-columns:1fr;grid-template-rows:auto}.photography-card{grid-row:auto}.section-hero{margin-top:3rem}.creative-card{min-height:180px}}.photo-grid{columns:3;column-gap:1rem}.photo-card{display:block;width:100%;margin:0 0 1.5rem;padding:0;border:0;break-inside:avoid;overflow:hidden;border-radius:0;background:transparent;cursor:zoom-in}.photo-card img{width:100%;height:auto;display:block;border-radius:14px;object-fit:contain;transition:transform .4s ease}.photo-card:hover img{transform:scale(1.015)}@media(max-width:900px){.photo-grid{columns:2}}@media(max-width:600px){.photo-grid{columns:1}}.photo-card.large{grid-row:auto}.lightbox-trigger{border:none;padding:0;cursor:zoom-in;width:100%;text-align:left}.lightbox{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:2rem;background:#000000eb}.lightbox.active{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:12px}.lightbox-close{position:fixed;top:1.5rem;right:2rem;border:none;background:transparent;color:#fff;font-size:3rem;cursor:pointer}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;padding-bottom:4rem}.project-card{position:relative;min-height:280px;overflow:hidden;border-radius:18px;border:1px solid var(--border);background:#111;text-decoration:none}.project-card img{width:100%;height:100%;min-height:280px;max-height:420px;object-fit:cover;display:block;transition:transform .45s ease,filter .45s ease}.project-card:hover img{transform:scale(1.035);filter:brightness(.75)}.project-card:hover .project-card-overlay{opacity:1}.project-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.18),transparent);opacity:0;transition:opacity .25s ease}@media(max-width:800px){.project-card-overlay{opacity:1}}.project-card-overlay h2{margin:0;color:#ebdbb2;font-size:clamp(1.2rem,2vw,1.8rem);text-transform:uppercase;letter-spacing:-.04em}.view-project{color:var(--muted);font-size:.95rem;transition:color .25s ease}.project-card:hover .view-project{color:var(--text)}@media(max-width:700px){.project-grid{grid-template-columns:1fr}.project-card,.project-card img{min-height:320px}}.photo-card img,.project-card img{background:var(--card)}.photo-project-year,.project-card-overlay .eyebrow,.view-project{color:#a89984;font-family:IBM Plex Mono,monospace;font-size:.72rem}@media(prefers-reduced-motion:reduce){.photo-card img,.project-card img,.portal-card,.creative-card{transition:none}.photo-card:hover img,.project-card:hover img,.creative-card:hover:before{transform:none}}.portal-card,.portal-card:visited,.portal-card:hover,.portal-card:active{color:var(--text);text-decoration:none}.portal-card h2,.portal-card h2:visited{color:inherit;text-decoration:none}.film-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.5rem;padding-bottom:4rem}.film-card{display:flex;flex-direction:column;min-height:360px;padding:1.25rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(to bottom,#ffffff14,#ffffff05);color:var(--text);text-decoration:none;object-fit:cover!important}.film-card:hover{transform:translateY(-6px);border-color:#ffffff59;background:linear-gradient(to bottom,#ffffff1f,#ffffff0a)}.film-meta{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:auto;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.film-card h2{margin:2rem 0 .75rem}.film-role{color:var(--text)!important;font-size:.85rem}.film-card p{color:var(--muted);line-height:1.5;font-size:.9rem}.film-link{display:inline-block;margin-top:1rem;color:var(--text);font-size:.9rem}.connect-section{margin-top:4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.connect-label{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1rem}.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.85rem}.social-links a{position:relative;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--border);border-radius:999px;color:var(--text);text-decoration:none;font-size:.8rem;letter-spacing:.08em;background:var(--card);transition:transform .25s ease,border-color .25s ease,background .25s ease}.social-links a:hover{transform:translateY(-4px);border-color:#ffffff59;background:#ffffff14}.social-links a:after{content:attr(data-tooltip);position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);padding:.35rem .6rem;border-radius:999px;background:#141414eb;color:#ebdbb2;font-size:.72rem;letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:20}.social-links a:hover:after{opacity:1}:root[data-theme=light] .social-links a:after{background:#3c3836;color:#fbf1c7}.home-hero{min-height:52vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.intro-code,.hero-subtitle,.hero-quote{font-family:IBM Plex Mono,Fira Code,monospace}.intro-code{color:var(--green);font-size:.95rem;letter-spacing:.08em;margin-bottom:.75rem}.hero-name{font-size:clamp(4rem,10vw,8rem);line-height:.92;letter-spacing:-.08em;margin:0}.hero-code-line{display:flex;align-items:center;gap:.85rem;margin-top:1.25rem}.prompt{color:var(--accent);font-family:IBM Plex Mono,Fira Code,monospace;font-size:1rem;font-weight:700}.hero-subtitle{font-family:IBM Plex Mono,Fira Code,monospace;color:var(--aqua);font-size:1rem;letter-spacing:.04em}.hero-quote{margin-top:2rem;max-width:760px;min-height:2.5rem;color:var(--muted);opacity:.82;font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.cursor{animation:blink 1s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media(max-width:700px){.hero-name{font-size:clamp(3rem,16vw,5rem)}.hero-quote{font-size:.85rem}}::selection{background:#d799214d;color:var(--text)}.theme-toggle{position:fixed;top:1.25rem;right:1.25rem;z-index:999;border:1px solid var(--border);border-radius:999px;padding:.55rem .8rem;background:var(--card);color:var(--text);font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer}.theme-toggle:hover{border-color:var(--accent)}:root[data-theme=light] .portal-card,:root[data-theme=light] .film-card,:root[data-theme=light] .project-card{background:#fffaf2d1;backdrop-filter:blur(6px);border:1px solid rgba(60,56,54,.08);box-shadow:0 6px 18px #3c38360a;color:var(--text)}:root[data-theme=light] .portal-card p,:root[data-theme=light] .film-card p{color:var(--muted)}:root[data-theme=light] .portal-card:hover{background:#fff7ebeb;transform:translateY(-2px);border-color:#b5761438;box-shadow:0 10px 24px #3c38360f}:root[data-theme=light] .creative-card{background:#efe8dc;border-color:#3c383624;color:var(--text);box-shadow:0 10px 28px #3c38360f}:root[data-theme=light] .creative-card:before{opacity:.18;background:linear-gradient(to top,rgba(40,36,34,.52),rgba(40,36,34,.18),transparent)}:root[data-theme=light] .creative-card:hover:before{opacity:.28}:root[data-theme=light] .creative-card h2,:root[data-theme=light] .creative-card p,:root[data-theme=light] .creative-card .eyebrow{color:var(--text)}:root[data-theme=light] .creative-card p{opacity:.78}.creative-card .eyebrow,.creative-card p{color:#f5e6bdc7}:root:not([data-theme=light]) .creative-card h2{color:#f5e6bd;text-shadow:0 2px 12px rgba(0,0,0,.45)}:root[data-theme=light] .intro-code{color:#79740e}:root[data-theme=light] .prompt{color:#b57614}:root[data-theme=light] .hero-subtitle{color:#427b58}:root[data-theme=light] .hero-quote{color:#8f3f71}:root[data-theme=light] .connect-label{color:#076678}:root[data-theme=light] .social-links a{background:#fffaf2db;color:#3c3836;border:1px solid rgba(60,56,54,.18);box-shadow:0 5px 14px #3c38361a,inset 0 1px #ffffff73}:root[data-theme=light] .social-links a:hover{color:#076678;border-color:#b57614;background:#f2e5bc;transform:translateY(-3px);box-shadow:0 8px 20px #3c383624,0 0 0 2px #b576141a}.media-section{margin-top:5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.media-column{display:flex;flex-direction:column;gap:1rem}.media-label{font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.8rem}.media-list{display:grid;gap:.75rem}.media-list li a{color:var(--text);text-decoration:none;line-height:1.5;transition:color .18s ease,opacity .18s ease}.media-read{opacity:.62}.media-read:hover{opacity:1}.media-subsection{display:flex;flex-direction:column;gap:.75rem}.media-status{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.media-column{padding:1.5rem;border:1px solid var(--border);border-radius:24px;background:var(--card)}.media-list li a{color:var(--text);text-decoration:none;line-height:1.6;font-family:IBM Plex Mono,monospace;font-size:.92rem;transition:opacity .18s ease,color .18s ease}.media-list li a:hover{color:var(--accent)}.media-item{display:grid;grid-template-columns:42px 1fr;gap:.75rem;align-items:center}.media-item img{width:42px;height:60px;object-fit:cover;border-radius:5px;background:#111;display:block;flex-shrink:0}.media-item a{min-width:0;overflow-wrap:anywhere}.media-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0}.media-date{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--muted);opacity:.75}.research-page{width:min(1100px,92vw);margin:0 auto;padding:4rem 0 7rem}.research-hero{margin:5rem 0}.research-section{margin-top:5rem}.section-label{font-family:IBM Plex Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:1.5rem}.research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;align-items:stretch}.research-grid.project-system-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.research-card{height:100%;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--border);border-radius:24px;background:var(--card);padding:1.5rem;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}.research-card:hover{transform:translateY(-3px);border-color:var(--accent)}.research-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:1rem}.research-card h2{margin:0;font-size:1.5rem;letter-spacing:-.04em}.research-card-header span{font-family:IBM Plex Mono,monospace;color:var(--muted);font-size:.72rem;white-space:nowrap}.research-card p{color:var(--muted);line-height:1.65;max-width:65ch}.tag-row,.interest-cloud{display:flex;flex-wrap:wrap;gap:.55rem}.tag-row span,.interest-cloud span{font-family:IBM Plex Mono,monospace;font-size:.72rem;border:1px solid var(--border);border-radius:999px;padding:.35rem .55rem;color:var(--text)}.lab-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.lab-list li{font-family:IBM Plex Mono,monospace;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:.75rem}.muted-list li{color:var(--muted)}.compact-research-hero{margin:6rem 0 4rem}.research-type-line{display:flex;align-items:center;gap:.85rem;font-family:IBM Plex Mono,monospace;font-size:clamp(1.8rem,5vw,3.5rem);color:var(--text);margin:0}.research-type-line .prompt{color:var(--accent)}.research-note{max-width:700px;color:var(--muted);line-height:1.7;margin-bottom:1.5rem}.about-card{background:linear-gradient(to bottom,#2828288c,#141414b8);border:1px solid rgba(131,165,152,.16)}.about-card p{font-family:IBM Plex Mono,monospace;color:var(--aqua);font-size:1rem;line-height:1.9;letter-spacing:.01em;max-width:900px;margin:0}:root[data-theme=light] .about-card{background:#f9f5d7b3;border-color:#79740e29}:root[data-theme=light] .about-card p{color:#427b58}.terminal-cursor{display:inline-block;margin-left:.15rem;color:inherit;animation:blinkCursor 1s steps(1) infinite}@keyframes blinkCursor{0%,49%{opacity:1}50%,to{opacity:0}}.media-rating{font-family:IBM Plex Mono,monospace;color:var(--accent);font-size:.75rem;letter-spacing:.08em}#experience-content .timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}#experience-content .timeline-item{display:block!important;grid-template-columns:140px 1fr;gap:1.25rem;align-items:start;padding:1rem 1.15rem;border:1px solid var(--border);border-radius:16px;background:#ffffff05;break-inside:avoid}@media(max-width:900px){#experience-content .timeline,#experience-content .timeline-item{grid-template-columns:1fr}}#experience-content .timeline-date{margin:.25rem 0 .35rem;display:block;font-family:IBM Plex Mono,monospace;font-size:.7rem;line-height:1.5;color:#d79921}#experience-content .timeline-item h2{margin:0;font-size:1rem;line-height:1.25}#experience-content .timeline-org{margin:.35rem 0 .75rem;font-family:IBM Plex Mono,monospace;font-size:.74rem;color:#689d6a}#experience-content .timeline-details{margin:0;padding-left:1rem}#experience-content .timeline-details li{margin-bottom:.35rem;font-size:.78rem;line-height:1.55;color:#a89984}.timeline-details li::marker{color:var(--accent)}.publication-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.publication-item{break-inside:auto;margin-bottom:0;display:grid}@media(max-width:900px){.publication-list{grid-template-columns:1fr}}.publication-item h2{margin:0;font-size:.98rem;letter-spacing:-.02em}.publication-item p{margin:.3rem 0 0;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.72rem}.publication-item a{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.72rem;text-decoration:none}.publication-item a:hover{color:var(--text)}.publication-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.55rem}.publication-links a{color:var(--accent);text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.72rem;transition:opacity .18s ease,color .18s ease}.publication-links a:hover{color:var(--text)}.publication-authors{margin:0 0 .45rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;line-height:1.5;color:var(--muted)}.publication-authors strong{color:var(--text);font-weight:700}.publication-meta{margin-top:.45rem;font-family:IBM Plex Mono,monospace;line-height:1.6}.publication-venue{color:#ebdbb2b8}.publication-separator{margin:0 .45rem;color:#ebdbb259}.publication-year{color:#689d6a}.section-label{display:flex;align-items:center;justify-content:center;gap:.55rem;font-family:IBM Plex Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:1.75rem;text-align:center}.section-prompt{color:var(--green);font-size:.95em}.education-block{display:flex;flex-direction:column;gap:.3rem;width:fit-content;margin:0 auto;text-align:left}.education-block h2{margin:0;font-size:1.15rem;letter-spacing:-.03em}.education-school{margin:0;font-family:IBM Plex Mono,monospace;color:var(--text);font-size:.78rem}.education-details{margin:0;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.74rem}.about-block{max-width:950px;margin:0 auto}.about-block p{font-family:IBM Plex Mono,monospace;color:#a9b665;font-size:1rem;line-height:1.9;letter-spacing:.01em;margin:0}:root[data-theme=light] .about-block p{color:#427b58}.project-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.25rem}.project-links a{color:var(--accent);text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.72rem}.project-links a:hover{color:var(--text)}.clickable-card{cursor:pointer}.cv-top-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.9fr);gap:4rem;align-items:start}.cv-top-grid .research-section{margin-top:0}@media(max-width:900px){.cv-top-grid{grid-template-columns:1fr}}.left-section-label{justify-content:flex-start;text-align:left}.fun-facts-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}.fun-facts-list li{border:1px solid var(--border);border-radius:999px;padding:.4rem .7rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;color:var(--muted);background:var(--card)}.right-column-stack{display:flex;flex-direction:column;gap:.5rem}.right-column-stack .section-label{margin-bottom:.75rem}.right-column-stack .research-section{margin-top:0}.interests-inline{margin:0 0 0 .1rem;font-family:IBM Plex Mono,monospace;color:var(--muted);font-size:.74rem;line-height:1.8}.page-hero{margin-bottom:4rem}.page-title{display:flex;align-items:center;gap:1rem;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(3rem,7vw,5.5rem);font-weight:500;letter-spacing:-.05em;color:var(--text)}.page-title span{color:var(--accent);font-size:.5em}.cv-hero{margin:5rem 0 4rem}.education-meta{padding-left:.15rem}.projects-page .section-label{color:var(--aqua)}.projects-page .section-prompt{color:var(--accent)}.creative-hero{margin:4rem 0 4.5rem}.creative-title{margin:0;text-align:center;font-size:clamp(3.5rem,9vw,7rem);line-height:.92;letter-spacing:-.08em;font-weight:800;color:var(--text)}.creative-subtitle{margin-top:1rem;text-align:center;font-family:IBM Plex Mono,monospace;font-size:.9rem;letter-spacing:.08em;color:#689d6a}.creative-prompt{color:var(--accent);margin-right:.35rem}.film-work-section{margin-top:6rem}.film-list{display:grid;gap:.75rem}.film-entry{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--border)}.film-entry h2{margin:0;font-size:1rem;letter-spacing:-.03em}.film-entry p{margin:.3rem 0 0;font-family:IBM Plex Mono,monospace;font-size:.74rem;color:var(--muted)}.film-entry span{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--accent);white-space:nowrap}.credits-dropdown summary{cursor:pointer;list-style:none;display:flex;justify-content:flex-start;align-items:center;gap:.55rem;font-family:IBM Plex Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:1.75rem}.dropdown-arrow{color:var(--green)}.credits-dropdown[open] .dropdown-arrow{transform:rotate(90deg)}.dropdown-arrow{display:inline-block;transition:transform .18s ease}.credit-year,.credit-director,.credit-roles{font-family:IBM Plex Mono,monospace;margin:.28rem 0 0;font-size:.74rem}.credit-year{color:#d79921}.credit-director{color:#689d6a}.credit-roles{color:#a89984}.credits-dropdown>summary{justify-content:flex-start!important;text-align:left}.credits-dropdown .credit-year{color:#d79921!important}.credits-dropdown .credit-director{color:#689d6a!important}.credits-dropdown .credit-roles{color:#a89984!important}.credits-dropdown{grid-column:1}.credits-dropdown>summary{font-size:.92rem!important;margin-bottom:2rem}.creative-dropdown-section{margin-top:3rem}.creative-dropdown-row{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;width:100%;margin-bottom:3rem;align-items:center}#credits-drigger{justify-self:start}#achievements-trigger{justify-self:end}.creative-dropdown{margin-top:0!important}.creative-dropdown summary{cursor:pointer;list-style:none;margin-bottom:1.5rem}.creative-dropdown summary::-webkit-details-marker{display:none}.creative-dropdown-content{display:none;padding-top:1rem;width:100%}.creative-dropdown-content.is-open{display:block}.credits-dropdown summary{justify-content:flex-start!important}.achievements-dropdown summary{justify-content:flex-end!important}.creative-dropdown[open] .dropdown-arrow{transform:rotate(90deg)}.creative-dropdown[open]{grid-column:1 / -1}.creative-dropdown[open] summary{margin-left:auto}.dropdown-trigger{border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center;gap:.55rem;font-family:IBM Plex Mono,monospace;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.92rem}.dropdown-trigger:last-child{text-align:right}.dropdown-arrow{display:inline-block;color:var(--green);transition:transform .18s ease}.dropdown-trigger.is-active .dropdown-arrow{transform:rotate(90deg)}.achievements-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;align-items:start}.achievement-year-group{display:flex;flex-direction:column;gap:1.5rem}.achievement-year-heading{margin:0;font-family:IBM Plex Mono,monospace;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#d79921}@media(max-width:1100px){.achievements-columns{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.achievements-columns{grid-template-columns:1fr}}@media(max-width:900px){.achievement-year-group .achievement-list{columns:1}}.achievement-entry{break-inside:avoid;display:inline-block;width:100%;margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:1px solid var(--border)}.achievement-entry h2{margin:0;font-size:1rem;letter-spacing:-.03em}.achievement-entry p{margin:.35rem 0 0;font-family:IBM Plex Mono,monospace;font-size:.74rem;color:var(--muted)}@media(max-width:800px){.creative-dropdown-row{grid-template-columns:1fr}.achievements-dropdown summary{justify-content:flex-start}}.achievements-trigger{margin-left:auto}.achievement-entry ul{margin:.55rem 0 0;padding-left:1rem}.achievement-entry li{font-family:IBM Plex Mono,monospace;font-size:.72rem;line-height:1.45;color:#a89984;margin-bottom:.22rem}.achievement-meta{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:#689d6a;margin:.3rem 0 0}.achievements-dropdown{grid-column:2}.credit-year{color:#d79921!important}.credit-director{color:#689d6a!important}.credit-roles{color:#a89984!important}.achievement-meta{color:#689d6a!important}.achievement-entry li{color:#a89984!important}.cv-dropdown-section{margin-top:5rem}.cv-dropdown-row{display:grid;grid-template-columns:1fr auto 1fr;width:100%;margin-bottom:3rem}#experience-trigger{justify-self:start}#tools-trigger{justify-self:end}.cv-dropdown-content{display:none}.cv-dropdown-content.is-open{display:block}.tools-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:3rem}.tools-subheader{margin:0 0 1rem;font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;color:#689d6a;font-size:.72rem}.tools-inline{margin:0;font-family:IBM Plex Mono,monospace;line-height:1.9;color:#a89984;font-size:.76rem}.project-date-subtitle{margin-top:.75rem;text-align:center;font-family:IBM Plex Mono,monospace;font-size:.78rem;color:var(--blue);letter-spacing:.08em}.site-home-anchor{position:fixed;top:1.2rem;left:1.5rem;z-index:999;display:flex;align-items:center;gap:.55rem;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#689d6a;opacity:.82;transition:opacity .2s ease,transform .2s ease}.site-home-anchor:hover{opacity:1;transform:translate(2px)}.site-home-prompt{color:#d79921}.global-site-title{position:absolute;top:2.2rem;left:50%;transform:translate(-50%);z-index:1000;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#689d6a;opacity:.82;transition:opacity .25s ease,transform .25s ease}.global-site-title:hover{opacity:1;transform:translate(-50%) translateY(-1px)}.global-site-prompt{color:#d79921}.portal-grid:hover .portal-card{opacity:.35;filter:grayscale(.25);transition:opacity .2s ease,filter .2s ease,transform .2s ease}.portal-grid .portal-card:hover{opacity:1;filter:grayscale(0);transform:translateY(-2px)}@media(max-width:900px){.media-section{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:600px){.media-section{margin-top:3rem}.media-column{padding:1.1rem}.media-item{grid-template-columns:38px 1fr;gap:.7rem}.media-item img{width:38px;height:56px}}.creative-grid .creative-card{opacity:1;filter:grayscale(0);aspect-ratio:3 / 2!important;min-height:0!important;height:auto;width:360px;transition:opacity .55s ease,filter .55s ease,transform .25s ease}.creative-grid .creative-card img{width:100%;height:100%;object-fit:cover}.creative-grid .posters-card{aspect-ratio:2 / 3!important;width:260px;justify-self:center}.creative-grid .photography-card,.creative-grid .creative-film-card{margin-top:60px}.poster-card{position:relative;display:block;width:100%;margin-bottom:1rem;overflow:hidden;border-radius:14px;background:transparent}.poster-card img{display:block;width:100%;height:auto;background:transparent;object-fit:contain}.poster-card-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:1rem;opacity:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.12),transparent);transition:opacity .25s ease}.poster-card:hover .poster-card-overlay{opacity:1}.poster-card-overlay h2{margin:0;color:#ebdbb2;font-size:1rem;text-transform:uppercase}.poster-card,.poster-card.lightbox-trigger{border:0;padding:0}.project-system-card{gap:.7rem;padding:1rem}.project-system-card h2{font-size:1rem;margin-bottom:.2rem}.project-card-main-link{color:inherit;text-decoration:none}.project-system-card p{margin:0;font-size:.82rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-system-card .tag-row{margin-top:auto;gap:.35rem}.project-system-card .tag-row span{color:#a89984;border-color:#a8998440;padding:.18rem .45rem;font-size:.68rem}.project-system-card:hover h2{color:var(--accent)}:root[data-theme=light] .creative-card:before{opacity:1;background:linear-gradient(to top,#3c3836b8,#3c383638,#3c383614)}:root[data-theme=light] .creative-card h2{color:#fbf1c7!important;text-shadow:0 2px 12px rgba(60,56,54,.65)}:root[data-theme=light] .publication-venue{color:#5a5248}:root[data-theme=light] .publication-separator{color:#5a524859}:root[data-theme=light] .project-system-card,:root[data-theme=light] .research-card{background:#fffaf2d1;border:1px solid rgba(60,56,54,.08);box-shadow:0 6px 22px #3c38360b;backdrop-filter:blur(6px)}:root[data-theme=light] .project-system-card p,:root[data-theme=light] .research-card p{color:#5a5248}:root[data-theme=light] .research-card-header span{color:#7c6f64}:root[data-theme=light] .tag-row span{background:#3c383608;border:1px solid rgba(60,56,54,.08);color:#665c54}:root[data-theme=light] .media-column{background:#fffaf2d1;border:1px solid rgba(60,56,54,.08);box-shadow:0 6px 22px #3c38360b}:root[data-theme=light] .media-label{color:#b57614}:root[data-theme=light] .media-status,:root[data-theme=light] .media-date{color:#7c6f64}:root[data-theme=light] .theme-toggle{background:#fffaf2e0;border:1px solid rgba(60,56,54,.08);color:#5a5248;box-shadow:0 4px 14px #3c38360b;backdrop-filter:blur(6px)}:root[data-theme=light] .theme-toggle:hover{background:#fff7ebf5;border-color:#b5761429;color:#427b58}.cv-download-button{justify-self:center;font-family:IBM Plex Mono,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#689d6a;text-decoration:none;border:1px solid var(--border);border-radius:999px;padding:.55rem .9rem;background:var(--card);transition:color .2s ease,border-color .2s ease,transform .2s ease}.cv-download-button:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.media-placeholder{width:42px;height:60px;border-radius:5px;background:linear-gradient(135deg,#ebdbb214,#ebdbb208);border:1px solid rgba(235,219,178,.08);flex-shrink:0}@media(max-width:600px){.media-placeholder{width:38px;height:56px}}
