
    :root {
      color-scheme: light;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      --lisy-blue: #00c2ff;
      --ink: #151515;
      --muted: #777;
      --rule: #e7e7e7;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: #fff; color: var(--ink); }
    a { color: inherit; text-decoration: none; }
    a:focus-visible { outline: 2px solid var(--lisy-blue); outline-offset: 5px; }
    .shell { width: min(83%, 90rem); margin: 0 auto; }
    .layout {
      --page-top: clamp(4rem, 7vw, 7.5rem);
      display: grid;
      grid-template-columns: clamp(17rem, 18.8vw, 21rem) minmax(0, 1fr);
      column-gap: 0;
      min-height: 100svh;
      padding: var(--page-top) 0 4rem;
      align-items: start;
    }
    .navigation {
      grid-column: 1;
      grid-row: 1;
      display: grid;
      gap: 1.25rem;
      align-content: start;
      align-self: start;
      position: sticky;
      top: var(--page-top);
      font-size: 1rem;
    }
    .navigation .active { display: flex; align-items: baseline; gap: .35rem; }
    .navigation .marker { color: var(--lisy-blue); font-size: 1.25rem; line-height: .5; }
    .index-subnav { display: grid; gap: .85rem; margin: -.3rem 0 0; padding-left: 1.4rem; max-width: 11.25rem; font-size: 1rem; line-height: 1.35; color: var(--muted); }
    .index-subnav a { display: flex; align-items: baseline; gap: .35rem; }
    .index-subnav .marker { font-size: 1.25rem; color: var(--lisy-blue); }
    .index-subnav a:hover, .index-subnav a:focus-visible { color: var(--ink); }
    .index-section { scroll-margin-top: 2rem; }
    .language-group + .language-group { padding-top: 2rem; }
    .subheading { margin: 0 0 1.7rem; font-size: .84rem; font-weight: 500; letter-spacing: .04em; color: var(--muted); }
    .catalog { grid-column: 2; grid-row: 1; display: grid; gap: clamp(3rem, 5vw, 4.5rem); align-content: start; min-width: 0; }
    .page-title { margin: 0; font-size: clamp(1.35rem, 2vw, 1.65rem); font-weight: 400; line-height: 1.25; }
    .index-intro { max-width: 46rem; }
    .index-intro p { margin: .95rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
    .index-section { display: grid; grid-template-columns: clamp(10.5rem, 12.1vw, 13.25rem) minmax(0, 1fr); column-gap: 0; align-items: start; }
    .category {
      margin: 0;
      padding-right: 1rem;
      overflow-wrap: break-word;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 1.12rem;
      font-weight: 400;
      line-height: 1.45;
    }
    .entries { min-width: 0; }
    .entry { padding: 0 0 2.1rem; }
    .entry + .entry { padding-top: 2rem; border-top: 1px solid var(--rule); }
    .entry-title {
      margin: 0;
      font-size: clamp(1.02rem, 1.2vw, 1.1rem);
      font-weight: 400;
      line-height: 1.55;
      letter-spacing: -.015em;
    }
    .entry-title a:hover { text-decoration: underline; text-decoration-color: var(--lisy-blue); text-decoration-thickness: 2px; text-underline-offset: .25em; }
    .arrow { display: inline-block; margin-left: .15rem; font-size: .92em; }
    .description { margin: .28rem 0 0; color: var(--muted); font-size: .96rem; line-height: 1.65; }
    .date { margin: .65rem 0 0; color: #999; font-size: .84rem; letter-spacing: .025em; }
    @media (max-width: 900px) {
      .shell { width: min(100% - 2.6rem, 36rem); }
      .layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 1rem;
        row-gap: 1.4rem;
        min-height: 100svh;
        padding-top: 2.5rem;
      }
      .navigation {
        grid-column: 1;
        grid-row: 1;
        position: static;
        gap: .85rem;
        font-size: .92rem;
      }
      .catalog { grid-column: 1; grid-row: 2; gap: 3.25rem; }
      .index-section { grid-template-columns: minmax(0, 1fr); row-gap: 1rem; }
      .category { font-size: 1.35rem; padding-right: 0; }
      .index-subnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem .75rem; max-width: 30rem; margin: -.25rem 0 0; padding-left: 1.4rem; font-size: .92rem; }
      .page-title { font-size: 1.45rem; }
      .subheading { margin-bottom: 1rem; }
      .entry-title { font-size: 1.14rem; }
    }
    .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  
/* Shared navigation, Lisy-blue theme and mobile behavior */
:root { --bg:#fff; }
:root[data-theme="dark"] { color-scheme:dark; --bg:#131313; --ink:#ededed; --muted:#a0a0a0; --rule:#393939; }
body { background:var(--bg); color:var(--ink); transition:background .22s,color .22s; }
.preview-mobile-bar { display:none; }
.navigation { gap:1.2rem; }
.navigation .active {gap:.35rem;}
.nav-tools {display:grid;gap:1rem;justify-items:start;margin-top:1.65rem;}
.nav-tools details {font-size:.91rem;color:var(--ink);}
.nav-tools summary {cursor:pointer;list-style:none;}
.nav-tools summary::-webkit-details-marker {display:none;}
.nav-tools summary span {font-size:.65rem;color:var(--lisy-blue);}
.language-options {display:grid;gap:.7rem;padding-top:.8rem;color:var(--muted);}
.language-options a[aria-current="page"] {color:var(--ink);text-decoration:underline;text-decoration-color:var(--lisy-blue);text-underline-offset:.24rem;}
.theme-toggle {width:2.7rem;height:2.7rem;background:none;color:var(--ink);border:0;cursor:pointer;position:relative;display:inline-grid;place-items:center;font-family:Georgia,serif;font-size:1.55rem;padding:0;}
.theme-orbit {position:absolute;inset:0;width:2.7rem;height:2.7rem;transform:rotate(-18deg);pointer-events:none;}
.theme-orbit path {stroke:var(--lisy-blue);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:150;stroke-dashoffset:150;animation:orbit-trace 2.2s .3s ease forwards;}
.theme-toggle:hover .theme-orbit {animation:orbit-rotate 8s linear infinite;}
.theme-toggle.just-clicked .theme-orbit path{animation:orbit-trace 1s ease forwards;}
@keyframes orbit-trace {to{stroke-dashoffset:0}}
@keyframes orbit-rotate {to{transform:rotate(342deg)}}
.preview-note {font-size:.73rem;line-height:1.6;color:var(--muted);margin:1.6rem 0 0;}

/* Homepage: the portrait-led editorial composition, not the Index catalog */
.home-catalog{display:block;min-width:0;max-width:100%;}
.home-masthead{max-width:54rem;}
.home-masthead .page-title{font-size:clamp(1.35rem,2vw,1.65rem);}
.home-lead{
  max-width:48rem;
  margin:clamp(3.25rem,5.6vw,5.75rem) 0 0;
  color:var(--ink);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(1.37rem,1.8vw,1.75rem);
  line-height:1.48;
  letter-spacing:-.019em;
  font-weight:400;
}
.home-lead a,
.home-chapter a{
  text-decoration:underline;
  text-decoration-style:dotted;
  text-decoration-color:var(--muted);
  text-decoration-thickness:1px;
  text-underline-offset:.2em;
}
.home-lead a:hover,.home-chapter a:hover{
  text-decoration-style:solid;
  text-decoration-color:var(--lisy-blue);
}
.home-story{
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(8.5rem,12vw,11.5rem);
  gap:clamp(1.7rem,3.75vw,4.75rem);
  align-items:start;
  margin-top:clamp(5.5rem,8.5vw,9rem);
}
.home-story__copy{min-width:0;}
.home-story__heading,
.home-work__heading,
.home-chapter__heading{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.12rem;
  line-height:1.55;
  font-weight:400;
  letter-spacing:0;
}
.home-story__list,
.home-chapter__list{
  padding:0 0 0 1.25em;
  margin:1.2rem 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.02rem,1.18vw,1.125rem);
  font-weight:400;
  line-height:1.66;
  letter-spacing:0;
}
.home-story__list li,.home-chapter__list li{
  padding-left:.08rem;
  margin:0 0 .39rem;
}
.home-story__list li::marker,.home-chapter__list li::marker{color:var(--ink);}
.home-story__portrait{
  width:100%;
  margin:0;
  padding:0;
}
.home-story__portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
  background:var(--rule);
}
.home-work{
  max-width:48rem;
  margin-top:clamp(5.25rem,9vw,9rem);
}
.home-work__heading{color:var(--muted);font-size:1.05rem;}
.home-chapter{margin-top:clamp(3.1rem,5.5vw,5rem);}
.home-chapter__heading{font-size:1.16rem;}
.home-chapter__list{margin-top:1rem;}
.work-item__name{font-weight:400;}
.work-item__desc{color:var(--ink);font-weight:400;}
@media (max-width:900px){
  .preview-mobile-bar{
    display:flex;align-items:center;justify-content:space-between;
    height:4.25rem;padding:0 1.3rem;
    border-bottom:1px solid var(--rule);background:var(--bg);
  }
  .preview-mobile-bar .theme-toggle{margin-left:auto;}
  .menu-toggle{
    border:0;background:none;color:var(--ink);
    padding:0;width:2.4rem;height:2.8rem;
    display:grid;align-content:center;justify-items:start;gap:4px;cursor:pointer;
  }
  .menu-toggle i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s;}
  .menu-open .menu-toggle i:first-child{transform:translateY(6px) rotate(45deg);}
  .menu-open .menu-toggle i:nth-child(2){opacity:0;}
  .menu-open .menu-toggle i:last-child{transform:translateY(-6px) rotate(-45deg);}
  .mobile-label{font-size:.88rem;color:var(--muted);margin:0 0 0 1rem;}
  .layout{padding:0 0 4rem;row-gap:0;}
  .navigation{display:none;}
  .menu-open .navigation{
    display:grid;grid-row:1;grid-column:1;gap:1.1rem;
    border-bottom:1px solid var(--rule);padding:1.5rem 0;
  }
  .nav-tools{display:flex;gap:1.7rem;align-items:start;margin-top:.5rem;}
  .nav-tools .theme-toggle{display:none;}
  .index-subnav{margin:0;gap:.85rem 1rem;max-width:32rem;}
  .home-subnav{grid-template-columns:minmax(0,1fr);padding-left:1.4rem;}
  .catalog{grid-column:1;grid-row:2;padding-top:3.4rem;gap:3.7rem;}
  .home-catalog{display:block;}
  .home-masthead .page-title{font-size:1.45rem;}
  .home-lead{
    font-size:clamp(1.35rem,5.1vw,1.52rem);
    line-height:1.52;margin-top:clamp(3rem,10vw,4.5rem);
  }
  .home-story{
    grid-template-columns:minmax(0,1fr);
    gap:2.25rem;margin-top:clamp(4.5rem,12vw,6rem);
  }
  .home-story__heading,.home-chapter__heading{font-size:1.17rem;}
  .home-story__list,.home-chapter__list{font-size:1.06rem;line-height:1.65;}
  .home-story__portrait{max-width:11rem;}
  .home-work{margin-top:5rem;}
  .home-chapter{margin-top:3.4rem;}
}
@media (max-width:390px){
  .preview-mobile-bar{padding:0 1.15rem;}
  .catalog{padding-top:3.25rem;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .theme-orbit path{stroke-dashoffset:0;}
}


/* Header controls: shared placement for Home and Index. */
.layout { position:relative; }
.nav-tools {
  position:absolute;
  top:calc(var(--page-top) - .55rem);
  right:0;
  z-index:5;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:.8rem;
  margin:0;
}
.language-picker {position:relative;font:inherit;color:var(--ink);}
.language-picker summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:.3rem;
  min-height:2.75rem;
  padding:.1rem .3rem;
  white-space:nowrap;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.91rem;
}
.language-picker summary::-webkit-details-marker { display:none; }
.language-picker summary:focus-visible {outline:2px solid var(--lisy-blue);outline-offset:2px;}
.language-picker summary span{font-size:.7rem;color:var(--lisy-blue);}
.language-picker .language-options {
  display:grid;
  gap:.75rem;
  position:absolute;
  top:calc(100% + .35rem);
  right:0;
  min-width:10rem;
  padding:.9rem 1.05rem;
  z-index:30;
  color:var(--muted);
  background:var(--bg);
  border:1px solid var(--rule);
  box-shadow:0 8px 20px rgb(0 0 0 / 8%);
}
.language-picker .language-options a {line-height:1.45;}
/* Restore the original circular portrait crop. */
.home-story__portrait img {aspect-ratio:1/1;border-radius:50%;}
@media (max-width:900px) {
  .nav-tools {display:none;}
  .preview-mobile-bar {position:relative;z-index:12;}
  .preview-mobile-bar .mobile-controls {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:.45rem;
    margin-left:auto;
  }
  .preview-mobile-bar .theme-toggle {margin-left:0;}
  .mobile-controls .language-picker {font-size:.9rem;}
  .mobile-controls .language-picker summary {min-height:2.75rem;}
}


/* Identical navigation geometry on the Home and Index pages. */
.navigation .nav-home-link,
.navigation .nav-index-link {
  line-height:1.5;
  min-height:1.5rem;
  font-size:1rem;
  font-weight:400;
}
.navigation .nav-index-link,
.navigation .nav-index-link.active {
  display:flex;
  align-items:baseline;
  gap:.35rem;
}
.navigation .nav-index-link {color:var(--muted);}
.navigation .nav-index-link[aria-current="page"] {color:var(--ink);}
.navigation .nav-index-link:hover {color:var(--ink);}
.navigation .nav-index-link .marker {
  font-size:1.25rem;
  flex:0 0 auto;
  color:var(--lisy-blue);
  line-height:.5;
}
/* Original five-link footer, shared by both sections of the website. */
.profile-footer {
  width:min(83%,90rem);
  margin:clamp(5rem,8vw,8rem) auto 0;
  padding:1rem 0 4.5rem;
}
.profile-footer__inner {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.65rem;
}
.profile-footer__link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.75rem;
  height:2.75rem;
  color:var(--ink);
  border-radius:.2rem;
  transition:color 150ms ease;
}
.profile-footer__link:hover {color:var(--lisy-blue);}
.profile-footer__link svg{width:1.1rem;height:1.1rem;display:block;}
.profile-footer__link:focus-visible{
  outline:2px solid var(--lisy-blue);
  outline-offset:2px;
}
@media(max-width:900px){
  .navigation .nav-index-link,
  .navigation .nav-index-link.active{gap:.35rem;}
  .profile-footer{width:min(100% - 2.6rem,36rem);padding:0 0 3rem;}
  .profile-footer__inner{gap:.5rem;}
}


/* Faithful homepage flip transition for light/dark theme changes. */
body {
  transform-origin:50% 50vh;
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
html.is-theme-moving {overflow-x:hidden;}
html.is-theme-moving body {will-change:transform;}
html.is-theme-animating body {
  transition:transform 280ms cubic-bezier(.22,.72,.24,1),background-color 180ms ease,color 180ms ease;
}
@media (prefers-reduced-motion:reduce){
  body,html.is-theme-animating body{
    transform:none!important;
    transition:none!important;
  }
}
