@layer pages{body{min-height:100vh;color:var(--ink);background:var(--quick-ai-background);background-attachment:fixed;padding:0}body:before,body:after{content:"";position:fixed;border-radius:999px;pointer-events:none;z-index:0;opacity:.5}body:before{width:14rem;height:14rem;right:-3.5rem;top:24rem;background:#ceb99c14}body:after{width:18rem;height:18rem;left:-8rem;bottom:8rem;background:#996b681a}main,section{background:none}h1{margin:0;font-family:var(--font-serif-head);font-size:clamp(2rem,7.5vw,4.5rem);line-height:.95;letter-spacing:-.04em;white-space:nowrap}.hero{margin-bottom:2rem}.hero-home{font-family:var(--font-sans)}.hero-home .intro{max-width:52rem;margin:1.25rem 0 0;font-size:1.05rem;line-height:1.7;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.hero-btn{display:inline-flex;align-items:center;padding:.6rem 1.3rem;border-radius:999px;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:var(--transition-button)}.hero-btn-primary{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink)}.hero-btn-primary:hover{opacity:.8}.hero-btn-secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.hero-btn-secondary:hover{background:var(--ink);color:var(--paper)}.hero-btn-ghost{background:transparent;color:var(--muted);border:1.5px solid rgba(63,59,55,.35)}.hero-btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.about-panel{margin-top:.75rem}.about-grid{display:flex;gap:2.5rem;align-items:flex-start}.about-portrait-wrap{flex:0 0 auto;width:clamp(110px,18vw,180px)}.about-portrait{display:block;width:100%;height:auto;border-radius:1rem;box-shadow:var(--deep-shadow);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.about-portrait:hover{transform:translateY(-4px);box-shadow:0 28px 60px #0000004d}.about-body{flex:1 1 auto;font-size:1rem;line-height:1.65;color:var(--ink)}.about-body p{margin:0 0 .9em}.about-body p:last-child{margin-bottom:0}.also-cited{color:var(--muted)}@media(max-width:680px){.about-grid{flex-direction:column}.about-portrait-wrap{width:clamp(100px,35vw,140px)}}.credential-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line);font-family:var(--font-sans);font-size:.82rem;color:var(--muted)}.credential{background:#3f3b370f;border-radius:.3rem;padding:.15rem .5rem;white-space:nowrap}.credential-sep{color:#5c575266;font-size:.7rem}@media(max-width:560px){.credential-sep{display:none}}.featured-papers{margin:1rem 0}.featured-gallery{grid-template-columns:repeat(5,1fr);margin-bottom:.5rem}@media(max-width:900px){.featured-gallery{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.featured-gallery{grid-template-columns:repeat(2,1fr)}}.card{border:1px solid rgba(50,50,65,.2)}.see-all-card{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:.75rem;background:#ebe4d8d1;border:1px dashed rgba(80,70,60,.35);min-height:160px;padding:1rem;transition:background .2s,border-color .2s;aspect-ratio:unset}.see-all-card:hover{background:#ebe4d8;border-color:#50463c99}.see-all-text{font-family:var(--font-serif-head);font-size:1.25rem;font-weight:600;color:var(--ink);white-space:pre-line;line-height:1.5;text-shadow:none}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:.75rem}.project-card{background:#f1f0ece6;box-shadow:0 12px 36px var(--paper-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1.2rem;padding:1.25rem 1.4rem;border:1px solid rgba(255,255,255,.22)}.project-card[data-href]{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.project-card[data-href]:hover{transform:translateY(-4px);box-shadow:0 18px 48px var(--paper-shadow)}.project-card-teaching{border:1px solid rgba(101,96,139,.35);background:linear-gradient(135deg,#65608b14,#f1f0eceb 40%)}.project-card h3{margin:0 0 .5rem;font-family:var(--font-serif-head);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-shadow:none}.project-card p{margin:0;font-family:var(--font-sans);font-size:.88rem;line-height:1.55;color:var(--muted)}.project-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.project-links li{font-family:var(--font-sans);font-size:.88rem;line-height:1.45;color:var(--muted)}.project-links a{color:var(--link-color)}.footer-note{margin:2rem 0 0;padding:.75rem 1.2rem;border-radius:.8rem;background:#26211d47;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #0000001f;color:color-mix(in srgb,var(--paper) 65%,transparent);font-size:.9rem;line-height:1.6;font-family:var(--font-sans)}.footer-note a{color:color-mix(in srgb,var(--paper) 80%,transparent)}.affiliations{margin-top:2.5rem;padding:1rem 1.4rem 1.2rem;background:#f8f5f0f5;border:1px solid rgba(200,190,175,.4);border-radius:1rem;box-shadow:0 4px 20px #0000002e}.affiliations-label{margin:0 0 .9rem;font-family:var(--font-sans);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#3c322880}.logo-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 2rem}.affil-logo{height:36px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1) opacity(.55);transition:filter .25s ease,transform .2s ease;cursor:default}.affil-logo--mit{height:26px}.affil-logo--artusi{height:56px;filter:grayscale(1) opacity(.55)}.affil-logo--text{height:40px;filter:opacity(.7)}.affil-logo:hover,.affil-logo--text:hover{filter:grayscale(0) opacity(1);transform:translateY(-2px)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e1914eb;color:#f5f0e8;font-family:var(--font-sans);font-size:.75rem;white-space:nowrap;padding:.35em .7em;border-radius:.4em;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:100;box-shadow:0 2px 8px #00000059}[data-tip]:hover:after{opacity:1}@media(max-width:860px){.section-head{flex-direction:column;align-items:start}.section-head p{text-align:left}}@media(max-width:560px){.page{width:min(100%,calc(100% - 1rem));padding-top:.75rem}.hero-panel{padding:1.5rem;border-radius:1.5rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.projects-grid{grid-template-columns:1fr}}}
