:root { --bg:#fff; --fg:#222; --muted:#777; --line:#e5e5e5; }
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45}.site-note{position:fixed;left:16px;bottom:10px;font-size:10px;color:var(--muted);z-index:2}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:44px 30px;border-right:1px solid var(--line);overflow:auto}.brand{display:block;margin-bottom:2px;color:inherit;text-decoration:none;font-size:18px;letter-spacing:.02em}.role{margin:0 0 36px;color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.projects,.meta,.contact{display:flex;flex-direction:column;gap:8px;margin:0 0 34px;font-style:normal}.projects a{width:max-content}.meta{gap:7px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:28px;padding:44px;align-content:start}.grid article{background:#fafafa;border:1px solid var(--line);padding:10px}.grid img,.project-gallery img{display:block;width:100%;height:auto}.hero-card{grid-column:span 2}.page{max-width:850px;margin:0 auto;padding:64px 32px}.back{display:inline-block;margin-bottom:36px;color:var(--muted)}h1{font-weight:400;letter-spacing:.03em;margin:0 0 24px}.lede{color:var(--muted)}.cv-list{margin-top:32px}.cv-list h2{font-size:14px;text-transform:uppercase;letter-spacing:.08em;font-weight:400;color:var(--muted)}.project-gallery{display:grid;gap:24px;margin-top:32px}@media(max-width:760px){.layout{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:28px}.grid{grid-template-columns:1fr;gap:18px;padding:24px}.hero-card{grid-column:auto}.site-note{position:static;padding:12px 24px}}
.video-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  width: 100%;
}

.video-item {
  margin: 0;
  aspect-ratio: 16 / 9;
}

.video-item iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* Stack videos on smaller screens */
@media (max-width: 700px) {
  .video-gallery {
    grid-template-columns: 1fr;
  }
}
/* Project gallery with lightbox */
.project-page{max-width:1180px;margin:0 auto;padding:54px 32px 80px}.project-header{max-width:760px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:26px;margin-top:34px}.gallery-item{margin:0}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-trigger img{display:block;width:100%;height:100%;object-fit:cover;background:#f4f4f4;border:1px solid var(--line);transition:opacity .18s ease,transform .18s ease}.gallery-trigger:hover img,.gallery-trigger:focus-visible img{opacity:.82;transform:translateY(-1px)}.gallery-item figcaption{margin-top:7px;color:var(--muted);font-size:11px}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(255,255,255,.96);padding:48px 70px}.lightbox-open{overflow:hidden}.lightbox-figure{margin:0;display:grid;place-items:center;max-width:min(1100px,100%);max-height:100%;}.lightbox-image{max-width:100%;max-height:78vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.14)}.lightbox-caption{margin-top:14px;text-align:center;color:var(--muted);font-size:12px}.lightbox-close,.lightbox-nav{position:fixed;border:0;background:transparent;color:var(--fg);cursor:pointer;font-family:Georgia,serif}.lightbox-close{top:22px;right:28px;font-size:34px;line-height:1}.lightbox-nav{top:50%;transform:translateY(-50%);font-size:58px;line-height:1;padding:18px}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-count{position:fixed;left:28px;bottom:22px;color:var(--muted);font-size:12px}.lightbox button:focus-visible,.gallery-trigger:focus-visible{outline:1px solid currentColor;outline-offset:4px}@media(max-width:760px){.project-page{padding:34px 22px 60px}.gallery{grid-template-columns:1fr;gap:22px}.gallery-item.wide,.gallery-item.tall{grid-column:auto;grid-row:auto}.lightbox{padding:44px 18px}.lightbox-nav{font-size:42px;padding:8px}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-image{max-height:72vh}}
