@import url(https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400&family=Space+Mono:wght@400;700&display=swap);:root{--bg:#fdf9f3;--bg-contrast:#fff;--text:#1f1b16;--text-strong:#16110a;--muted:#7a6e64;--border:#ded4c5;--border-strong:#c6b8a4;--link:#2e5d8a;--link-hover:#1a3b58;--accent:#b38b59;--accent-soft:#f3e6d6;color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:#fdf9f3;background:var(--bg);color:#1f1b16;color:var(--text);font-family:Space Mono,IBM Plex Mono,monospace;line-height:1.65;min-height:100%;text-rendering:optimizeLegibility}a{color:#2e5d8a;color:var(--link);text-decoration:none;transition:color .2s ease}a:focus,a:hover{color:#1a3b58;color:var(--link-hover)}img,video{display:block;max-width:100%}button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}main{display:block}blockquote,li,p{color:#1f1b16;color:var(--text);font-size:1rem;line-height:1.75}blockquote,h1,h2,h3,h4,li,p{font-family:Lora,Palatino,serif}h1,h2,h3,h4{color:#16110a;color:var(--text-strong);font-weight:600;margin:0 0 .75rem}h1{font-size:clamp(2.5rem,6vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.1rem)}h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}h4{font-size:1.05rem}hr{background:#ded4c5;background:var(--border);border:none;height:1px}hr,ul{margin:0}ul{list-style:none;padding:0}.new-portfolio{background:#fdf9f3;background:var(--bg);min-height:100vh;padding-bottom:5rem}.hero{background:#0000;padding:4rem 0 2rem}.hero__inner{margin:0 auto;max-width:960px}.hero__header{padding:0 1.5rem;text-align:center}.hero__subtitle{color:#7a6e64;color:var(--muted);font-size:.95rem;letter-spacing:.14em;margin:.75rem auto 0;max-width:520px;text-transform:uppercase}.hero__divider{background:#ded4c5;background:var(--border);margin:2.5rem auto;max-width:720px}.navigation{display:flex;flex-wrap:wrap;font-size:.78rem;gap:1.75rem;justify-content:center;letter-spacing:.18em;margin-top:2rem;text-transform:uppercase}.navigation__pill{border-bottom:1px solid #0000;color:#1f1b16;color:var(--text);padding-bottom:.25rem;transition:color .2s ease,border-color .2s ease}.navigation__pill:focus,.navigation__pill:hover{border-color:#b38b59;border-color:var(--accent);color:#b38b59;color:var(--accent)}.navigation__pill:focus-visible{outline:2px solid #b38b59;outline:2px solid var(--accent);outline-offset:3px}.hero__body{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:minmax(160px,220px) 1fr;padding:0 1.5rem 1.5rem}.hero__portrait{background:#fff;background:var(--bg-contrast);border:1px solid #ded4c5;border:1px solid var(--border);border-radius:14px;overflow:hidden}.hero__copy h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}.hero__copy p+p{margin-top:1rem}.hero__highlights{margin-top:1.75rem}.hero__highlights li{color:#7a6e64;color:var(--muted);font-size:.95rem;letter-spacing:.04em;padding-left:1.4rem;position:relative}.hero__highlights li:before{color:#b38b59;color:var(--accent);content:"–";left:0;position:absolute}.section-inner{margin:0 auto;max-width:900px;padding:0 1.5rem}.hana-section{background:#0000;border-top:1px solid #ded4c5;border-top:1px solid var(--border);padding:3.75rem 0}.hana-section--light{background:#fdf9f3;background:var(--bg)}.hana-section--white{background:#fff;background:var(--bg-contrast)}.section-eyebrow{color:#7a6e64;color:var(--muted);display:block;font-family:Space Mono,IBM Plex Mono,monospace;font-size:.75rem;letter-spacing:.24em;margin-bottom:1.5rem;text-transform:uppercase}.section-grid-two{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.about__intro p{margin-bottom:1rem}.about__focus-card{background:#fff;background:var(--bg-contrast);border:1px solid #ded4c5;border:1px solid var(--border);border-radius:12px;padding:1.75rem}.about__focus-card h3{font-family:Space Mono,IBM Plex Mono,monospace;font-size:1.1rem;letter-spacing:.12em;margin-bottom:1.25rem;margin-top:0;text-transform:uppercase}.about__focus-card ul{display:flex;flex-direction:column;gap:1.5rem}.about__focus-card li{grid-gap:.75rem 1rem;align-items:start;display:grid;gap:.75rem 1rem;grid-template-columns:auto 1fr}.about__focus-card li span{color:#7a6e64;color:var(--muted);font-family:Space Mono,IBM Plex Mono,monospace;font-size:.8rem;letter-spacing:.2em;padding-top:.3rem;text-transform:uppercase}.about__focus-card li h4{font-size:1.05rem;margin:0}.about__focus-card li p{color:#1f1b16;color:var(--text);font-size:.95rem;margin:.35rem 0 0}.research__intro{margin:0 auto 2.5rem;max-width:680px;text-align:left}.research__grid{grid-gap:1.75rem;display:grid;gap:1.75rem}@media (min-width:768px){.research__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.research__card{background:#fff;background:var(--bg-contrast);border:1px solid #ded4c5;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:1rem;padding:1.75rem}.research__card-heading{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}.research__card-heading span{color:#7a6e64;color:var(--muted);font-family:Space Mono,IBM Plex Mono,monospace;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.research__tags{display:flex;flex-wrap:wrap;gap:.5rem}.research__tags span{border:1px solid #ded4c5;border:1px solid var(--border);border-radius:999px;color:#7a6e64;color:var(--muted);font-size:.75rem;letter-spacing:.1em;padding:.25rem .75rem;text-transform:uppercase}.research__advisor{color:#7a6e64;color:var(--muted);font-size:.9rem;margin-top:auto}.projects{background:#0000}.projects__inner{margin:0 auto;max-width:900px;padding:0 1.5rem}.projects__intro{margin:0 auto 2.5rem;max-width:680px;text-align:left}.projects__grid{display:flex;flex-direction:column;gap:1.5rem}.projects__card{background:#fff;background:var(--bg-contrast);border:1px solid #ded4c5;border:1px solid var(--border);border-radius:12px;padding:1.75rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.projects__card:hover{border-color:#c6b8a4;border-color:var(--border-strong);box-shadow:0 18px 36px #0000000f;transform:translateY(-4px)}.projects__card:focus-visible{outline:2px solid #b38b59;outline:2px solid var(--accent);outline-offset:3px}.projects__card img,.projects__card video{background:#fff;border:1px solid #ded4c5;border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem}.projects__card video{max-height:280px;object-fit:cover;width:100%}.projects__card-body h3{margin-bottom:.75rem}.projects__card-body p{margin:0 0 1rem}.projects__tags{display:flex;flex-wrap:wrap;gap:.5rem}.projects__tags span{background:#0000;border:1px solid #ded4c5;border:1px solid var(--border);border-radius:999px;color:#7a6e64;color:var(--muted);font-size:.75rem;letter-spacing:.1em;padding:.25rem .75rem;text-transform:uppercase}.projects__sheen{display:none}.hana-card-hover{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.contact{background:#fff;background:var(--bg-contrast);border-top:1px solid #ded4c5;border-top:1px solid var(--border)}.contact__inner{margin:0 auto;max-width:720px;padding:0 1.5rem;text-align:center}.contact__links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.contact__link{align-items:center;border:1px solid #ded4c5;border:1px solid var(--border);border-radius:999px;color:#1f1b16;color:var(--text);display:inline-flex;font-family:Space Mono,IBM Plex Mono,monospace;font-size:.8rem;gap:.6rem;letter-spacing:.14em;padding:.65rem 1.25rem;text-transform:uppercase}.contact__link:focus,.contact__link:hover{border-color:#b38b59;border-color:var(--accent);color:#b38b59;color:var(--accent)}.contact__link-icon{font-size:1rem}.contact__footer{color:#7a6e64;color:var(--muted);font-size:.8rem;margin-top:1rem}.hana-fade-in{animation:hanaFadeIn .45s ease}@keyframes hanaFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hana-modal-backdrop{align-items:flex-start;background:#14100aad;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:4rem 1.5rem;position:fixed;z-index:999}.modal__content{background:#fff;background:var(--bg-contrast);border:1px solid #ded4c5;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #00000038;max-width:640px;padding:2.25rem 2rem;position:relative;width:100%}.modal__close{background:none;border:none;color:#7a6e64;color:var(--muted);cursor:pointer;font-size:1.5rem;line-height:1;position:absolute;right:1rem;top:1rem}.modal__close:focus,.modal__close:hover{color:#b38b59;color:var(--accent)}.modal__content h3{margin-top:0}.modal__description{margin-top:1rem}.modal__media{background:#fff;border:1px solid #ded4c5;border:1px solid var(--border);border-radius:12px;margin:1.75rem 0}.modal__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.modal__tags span{background:#f3e6d6;background:var(--accent-soft);border-radius:999px;color:#7a6e64;color:var(--muted);font-size:.75rem;letter-spacing:.1em;padding:.2rem .8rem;text-transform:uppercase}.modal__meta{grid-gap:.35rem 1rem;display:grid;font-size:.95rem;gap:.35rem 1rem;grid-template-columns:auto 1fr;margin-top:1.5rem}.modal__meta-label{color:#7a6e64;color:var(--muted);font-size:.75rem;letter-spacing:.14em}.modal__link,.modal__meta-label{font-family:Space Mono,IBM Plex Mono,monospace;text-transform:uppercase}.modal__link{border-bottom:1px solid #1f1b16;border-bottom:1px solid var(--text);color:#1f1b16;color:var(--text);display:inline-block;font-size:.78rem;letter-spacing:.18em;margin-top:1.75rem;padding-bottom:.2rem}.modal__link:focus,.modal__link:hover{border-color:#b38b59;border-color:var(--accent);color:#b38b59;color:var(--accent)}@media (max-width:900px){.hero__inner,.projects__inner,.section-inner{padding:0 1.25rem}}@media (max-width:768px){.hero{padding:3rem 0 1.5rem}.hero__body{grid-template-columns:1fr}.hero__portrait{margin:0 auto;max-width:240px}.hero__divider{margin:2rem auto}.section-grid-two{gap:2rem}}@media (max-width:560px){.navigation{font-size:.7rem;gap:1.1rem}.projects__card{padding:1.5rem}.modal__content{padding:2rem 1.5rem}}@tailwind base;@tailwind components;@tailwind utilities;body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{margin:0 auto;max-width:1200px;padding:20px}nav ul{display:flex;justify-content:space-around;list-style-type:none;padding:0}nav ul li{display:inline}nav ul li a{color:#333;text-decoration:none}footer{margin-top:20px;text-align:center}
/*# sourceMappingURL=main.45ad3285.css.map*/