    @font-face {
      font-family: "SchoolbellLocal";
      src: url("./fonts/Schoolbell-Regular.ttf") format("truetype");
      font-weight: 400;
      font-style: normal;
      font-display: block;
    }
    :root {
      --color-text-primary: #403C37;
      --color-text-secondary: #403C37;
      --color-text-muted: #403C37;
      --color-bg-base: #f5f5f5;
      --color-border: #c7c9cd;
      --color-link: #403C37;
      --color-accent: #C9861B;
      --ink: var(--color-text-primary);
      --paper: var(--color-bg-base);
      --line: rgba(23, 23, 23, .35);
      --content-left: 144px;
      --copy-width: 495.75px;
      --media-width: 285px;
      --column-gap: 81.75px;
      --section-gap: 36px;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 10.5px;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    .page { width:1134px; max-width:100%; min-height:736.5px; margin:0 auto; padding:63px 0 63px; }
    header {
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:1000;
      height:63px;
      border-bottom:1px solid rgba(31, 31, 31, .18);
      background:var(--color-bg-base);
    }
    .header-inner {
      display:flex;
      width:1134px;
      max-width:100%;
      height:100%;
      margin:0 auto;
      padding:0 var(--content-left);
      align-items:center;
    }
    .name {
      font-family: "SchoolbellLocal", cursive;
      font-size:18px;
      line-height: 1;
      letter-spacing: 0;
    }
    nav { display:flex; gap:36px; margin-left:auto; font-size:15px; }
    nav a { color:inherit; text-decoration:none; }
    nav a:hover { color:var(--color-accent); }
    nav a:focus-visible, .external-link:focus-visible, .inline-link:focus-visible {
      outline: 1px solid var(--color-text-primary);
      outline-offset: 3px;
    }
    .inline-link {
      color:inherit;
      text-decoration-line:underline;
      text-decoration-thickness:1px;
      text-decoration-color:rgba(64, 60, 55, .42);
      text-underline-offset:2.25px;
      transition:color 160ms ease, text-decoration-color 160ms ease;
    }
    .inline-link:hover {
      color:var(--color-accent);
      text-decoration-color:currentColor;
    }
    #about, #research, #cv { scroll-margin-top:75px; }
    #about {
      display:grid;
      row-gap:24px;
    }
    h1 {
      margin:43.5px 0 0 var(--content-left);
      font-family: "SchoolbellLocal", cursive;
      font-size: 54px;
      font-weight: 400;
      letter-spacing: 0;
      line-height: 63px;
    }
    .intro {
      display: grid;
      grid-template-columns: var(--copy-width) var(--media-width);
      gap: var(--column-gap);
      align-items: start;
      row-gap:18px;
      margin-left: var(--content-left);
    }
    .bio {
      width: var(--copy-width);
      color: var(--color-text-secondary);
      font-size: 15px;
      line-height: 21.75px;
      letter-spacing: 0;
    }
    .bio p { margin:0; }
    .greeting { margin:0 0 21.75px; color:var(--color-text-secondary); font-size:15px; line-height:21.75px; }
    .intro-copy { grid-column:1; grid-row:1; }
    .bio .research-interests { margin-top:21.75px; }
    .application-note { grid-column:1; grid-row:2; margin:0; color:var(--color-text-secondary); font-size:15px; line-height:21.75px; }
    .photo-panel {
      display:contents;
    }
    .photo-frame {
      position:relative;
      display:flex;
      flex:none;
      width:var(--media-width);
      height:auto;
      aspect-ratio: 1.14;
      grid-column:2;
      grid-row:1;
      margin-top:0;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      background:transparent;
    }
    .photo {
      position:absolute;
      inset:0;
      display:block;
      width:100%;
      max-width:none;
      height:100%;
      object-fit:cover;
      object-position:50% 52%;
    }
    .profile-links {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:6px;
      margin-top:0;
      grid-column:2;
      grid-row:2;
      width:100%;
      color:var(--color-text-secondary);
      font-size:12px;
      line-height:18px;
    }
    .contact-row {
      display:flex;
      width:100%;
      min-height:18px;
      align-items:center;
      gap:9px;
    }
    .contact-icon {
      display:flex;
      width:21px;
      height:18px;
      flex:none;
      align-items:center;
      justify-content:center;
    }
    .contact-icon svg {
      display:block;
      width:auto;
      height:16.875px;

    }
    .contact-row-scholar svg { height:22.5px; }
    .contact-row-email svg { height:17.25px; }
    .contact-row { transition:color 160ms ease; }
    .contact-row:hover, .contact-row:focus-within { color:var(--color-accent); }
    .contact-row:hover .profile-link { color:inherit; text-decoration-color:currentColor; }
    .contact-row a { min-width:0; overflow-wrap:anywhere; }
    .profile-link {
      color:inherit;
      text-decoration:underline;
      text-decoration-thickness:1px;
      text-decoration-color:rgba(64, 60, 55, .42);
      text-underline-offset:2.25px;
      transition:color 160ms ease, text-decoration-color 160ms ease;
    }
    .profile-link:hover {
      color:var(--color-accent);
      text-decoration-color:currentColor;
    }
    .profile-link:focus-visible {
      outline:1px solid var(--color-text-secondary);
      outline-offset:3px;
    }
    .lower {
      display: grid;
      grid-template-columns: var(--copy-width) var(--media-width);
      gap: var(--column-gap);
      margin: var(--section-gap) 0 0 var(--content-left);
    }
    h2 {
      margin: 0 0 8.25px;
      font-family: "SchoolbellLocal", cursive;
      font-size: 24px;
      line-height: 36px;
      font-weight: 400;
      letter-spacing: 0;
    }
    .papers { display:grid; gap:42px; }
    .manuscript-section { margin-top:var(--section-gap); }
    .publication-item {
      display:grid;
      grid-template-columns:108px minmax(0, 1fr);
      gap:12px;
      min-height:138px;
      padding:0;
    }
    .publication-preview {
      width:108px;
      height:138px;
      object-fit:contain;
      display:block;
      border:1px solid #dcdee1;
      background:#fff;
    }
    .publication-item.without-preview {
      grid-template-columns:minmax(0, 1fr);
      min-height:0;
    }
    .publication-preview.is-unavailable {
      display:flex;
      align-items:center;
      justify-content:center;
      padding:12px;
      color:var(--color-text-muted);
      background:transparent;
      font-size:9px;
      line-height:13.5px;
      text-align:center;
    }
    .publication-copy {
      display:flex;
      min-width:0;
      flex-direction:column;
      align-items:flex-start;
    }
    .publication-title {
      margin:0 0 6px;
      font-size:13.5px;
      line-height:16.5px;
      font-weight:600;
    }
    .publication-authors {
      margin:0;
      color:var(--color-text-secondary);
      font-size:9.75px;
      line-height:12.75px;
    }
    .publication-authors strong {
      color:var(--color-text-primary);
      font-weight:700;
    }
    .publication-footer {
      display:flex;
      width:100%;
      align-items:center;
      gap:6px;
      margin-top:auto;
      padding-top:6px;
    }
    .venue {
      padding:1.5px 5.25px;
      border:1px solid var(--color-border);
      border-radius:749.25px;
      color:var(--color-text-secondary);
      font-size:9px;
      line-height:13.5px;
      white-space:nowrap;
    }
    .publication-links { display:flex; gap:6px; margin-left:auto; }
    .external-link {
      color:var(--color-link);
      font-size:9px;
      line-height:13.5px;
      text-decoration:underline;
      text-decoration-color:transparent;
      text-underline-offset:2.25px;
      transition:color 160ms ease, text-decoration-color 160ms ease;
    }
    .external-link:hover {
      color:var(--color-accent);
      text-decoration-color:currentColor;
    }
    .news-list { display:grid; gap:6px; }
    .news-group h3 {
      margin: 0 0 3px;
      font-size: 14px;
      line-height: 20px;
      font-weight: 400;
    }
    .news-item {
      display:grid;
      grid-template-columns:64px minmax(0, 1fr);
      column-gap:14px;
      align-items:start;
      font-size:13.5px;
      line-height:19px;
    }
    .news-item + .news-item { margin-top:12px; }
    .news-item time { white-space:nowrap; }
    .news-item p { margin:0; min-width:0; }
    a:hover, a:focus-visible { color:var(--color-accent); }
    @media (max-width: 1133.25px) {
      :root {
        --content-left: clamp(24px, calc(25vw - 144px), 144px);
        --media-width: clamp(210px, 28vw, 285px);
        --column-gap: clamp(24px, 7vw, 81.75px);
      }
      .intro, .lower {
        grid-template-columns: minmax(0, 1fr) var(--media-width);
        margin-right: var(--content-left);
      }
      .bio { width: auto; }
      .photo-panel, .photo-frame { width: 100%; }
      .publication-item { grid-template-columns:90px minmax(0, 1fr); }
      .publication-preview { width:90px; height:117px; }
    }
    @media (max-width: 900px) {
      :root {
        --content-left:32px;
        --media-width:280px;
        --column-gap:32px;
        --section-gap:40px;
      }
      .greeting, .bio, .application-note { font-size:18px; line-height:26px; }
      .profile-links { font-size:16px; line-height:24px; }
      .publication-title { font-size:16px; line-height:20px; }
      .publication-authors { font-size:12px; line-height:16px; }
      .venue, .external-link { font-size:12px; line-height:18px; }

      .intro, .lower {
        grid-template-columns:1fr;
        gap:24px;
      }
      .intro-copy, .application-note, .photo-frame, .profile-links { grid-column:1; grid-row:auto; }
      .greeting { margin-bottom:20px; }
      .photo-frame { width:min(100%, 380px); }
      .application-note { order:3; }
      .photo-frame { order:2; }
      .profile-links { order:4; }
    }
    @media (max-width: 760px) {
      :root { --section-gap:36px; }
      .page { padding:84px 22px 56px; }
      header { height:84px; }
      .header-inner {
        flex-direction:row;
        align-items:center;
        justify-content:center;
        gap:8px;
        padding:0 22px;
      }
      .name { flex:none; font-size:20px; }
      nav { width:auto; gap:8px; margin-left:auto; justify-content:flex-end; font-size:11px; white-space:nowrap; }
      #about, #research, #cv { scroll-margin-top:100px; }
      h1 { font-size:56px; line-height:64px; margin:34px 0 0; margin-left:0; }
      .intro, .lower { grid-template-columns:1fr; gap:24px; margin-left:0; margin-right:0; }
      .intro { align-items:start; }
      .bio { width:auto; font-size:18px; line-height:24px; }
      .greeting, .application-note { font-size:18px; line-height:24px; }
      .photo-panel { align-self:auto; width:min(100%, 358px); }
      .photo-frame { width:min(100%, 380px); height:auto; margin-top:0; }
      .photo { width:100%; max-width:none; height:100%; }
      .lower { gap:34px; }
      .papers { gap:40px; }
      .publication-item { grid-template-columns:96px minmax(0, 1fr); gap:12px; min-height:176px; }
      .publication-preview { width:96px; height:125px; }
      .publication-title { font-size:16px; line-height:20px; }
      .publication-authors { font-size:12px; line-height:16px; }
      .publication-footer { align-items:flex-end; flex-wrap:wrap; }
      .publication-links { margin-left:0; }
    }
    @media (max-width: 360px) {
      .header-inner { padding:0 16px; gap:6px; }
      .name { font-size:18px; }
      nav { gap:6px; font-size:10px; }
    }
