

  .article-reader-panel{
    isolation:isolate;
    transition:
      background .24s ease,
      color .24s ease,
      box-shadow .24s ease;
  }

  .article-reader-actions{
    position:sticky;
    top:0;
    z-index:8;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:16px 16px 0;
    pointer-events:none;
  }

  .article-reader-actions > *{
    pointer-events:auto;
  }

  .reader-mode-controls{
    display:flex;
    align-items:center;
    gap:7px;
    padding:4px;
    border-radius:999px;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(20,22,26,.08);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 6px 20px rgba(20,22,26,.06);
  }

  .reader-mode-btn{
    min-width:52px;
    height:32px;
    padding:0 11px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:rgba(20,22,26,.62);
    font-size:11px;
    cursor:pointer;
    transition:
      background .18s ease,
      color .18s ease,
      transform .18s ease;
  }

  .reader-mode-btn:hover{
    transform:translateY(-1px);
    color:#17191d;
  }

  .reader-mode-btn[aria-pressed="true"]{
    background:#24282f;
    color:#fff;
  }

  .article-reader .article-reader-close{
    position:static !important;
    float:none !important;
    top:auto !important;
    right:auto !important;
    margin:0 !important;
    flex:0 0 auto;
    background:rgba(255,255,255,.70);
    box-shadow:0 6px 20px rgba(20,22,26,.06);
  }

  .article-reader-content{
    position:relative;
    z-index:2;
    padding-top:38px;
  }

  
  .article-reader.eye-mode .article-reader-panel{
    background:#e9e1ce;
    color:#3b372f;
    box-shadow:0 34px 100px rgba(45,38,28,.28);
  }

  .article-reader.eye-mode .article-reader-content .eyebrow{
    color:rgba(63,57,47,.50);
  }

  .article-reader.eye-mode .article-reader-content h1{
    color:#302d27;
  }

  .article-reader.eye-mode .article-reader-body{
    color:rgba(57,52,44,.84);
  }

  .article-reader.eye-mode .reader-mode-controls{
    background:rgba(246,238,218,.82);
    border-color:rgba(70,60,42,.10);
  }

  .article-reader.eye-mode .reader-mode-btn{
    color:rgba(58,52,43,.68);
  }

  .article-reader.eye-mode .reader-mode-btn[aria-pressed="true"]{
    background:#514a3e;
    color:#f8f1e2;
  }

  .article-reader.eye-mode .article-reader-close{
    background:rgba(247,239,220,.78);
    color:#3b372f;
  }

  
  .article-reader.paper-mode .article-reader-panel::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    border-radius:inherit;
    opacity:.42;
    background-image:
      radial-gradient(circle at 18% 24%, rgba(91,72,49,.14) 0 .55px, transparent .8px),
      radial-gradient(circle at 72% 64%, rgba(255,255,255,.62) 0 .65px, transparent .95px),
      radial-gradient(circle at 48% 82%, rgba(86,69,49,.09) 0 .45px, transparent .8px),
      repeating-linear-gradient(
        0deg,
        rgba(85,67,45,.018) 0,
        rgba(85,67,45,.018) 1px,
        transparent 1px,
        transparent 4px
      );
    background-size:
      7px 7px,
      11px 11px,
      9px 9px,
      auto;
    mix-blend-mode:multiply;
  }

  .article-reader.paper-mode:not(.eye-mode) .article-reader-panel{
    background:#f3efe5;
  }

  .article-reader.paper-mode .article-reader-actions,
  .article-reader.paper-mode .article-reader-content{
    position:relative;
    z-index:2;
  }

  @media (max-width:680px){
    .article-reader-actions{
      padding:10px 10px 0;
    }

    .reader-mode-controls{
      gap:3px;
      padding:3px;
    }

    .reader-mode-btn{
      min-width:46px;
      height:30px;
      padding:0 9px;
      font-size:10px;
    }

    .article-reader .article-reader-close{
      width:38px;
      height:38px;
      font-size:23px;
    }

    .article-reader-content{
      padding-top:28px;
    }
  }


  
  #homeLatestProjects .home-project-link{
    justify-content:flex-start;
  }

  .home-project-mini-copy{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
  }

  .home-project-mini-copy b{
    font-size:15px;
    line-height:1.35;
  }

  .home-project-mini-copy small{
    font-size:9px;
    letter-spacing:.05em;
    color:rgba(20,22,26,.42);
  }

  body.night .home-project-mini-copy small{
    color:rgba(255,255,255,.42);
  }

  @media (max-width:680px){
    .home-project-mini-copy b{
      font-size:14px;
    }
  }


  
  body.modal-scroll-locked{
    overscroll-behavior:none;
  }

  html{
    overflow-anchor:none;
  }


  
  #photoArchive:empty,
  #projectArchive:empty{
    display:none !important;
  }

  #page-photos .pagination:empty,
  #page-projects .pagination:empty{
    display:none !important;
  }


  

  .profile .avatar,
  #page-about .about-avatar{
    border-radius:50% !important;
  }

  .archive-list a{
    cursor:pointer;
  }

  .archive-list a b,
  .archive-list a span{
    transition:opacity .18s ease;
  }

  .archive-list a:hover b,
  .archive-list a:hover span{
    opacity:.62;
  }



  
  .article-reader-panel{
    position:relative;
    width:min(92vw,920px);
    height:min(90vh,900px);
    max-height:90vh;
    overflow:hidden !important;
    display:flex;
    flex-direction:column;
    isolation:isolate;
    border-radius:30px;
    background:#faf9f7;
  }

  
  .article-reader-actions{
    position:relative !important;
    top:auto !important;
    z-index:12;
    flex:0 0 auto;
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 14px 10px 16px !important;
    pointer-events:auto;
    background:rgba(250,249,247,.94);
    border-bottom:1px solid rgba(20,22,26,.065);
    backdrop-filter:blur(18px) saturate(1.02);
    -webkit-backdrop-filter:blur(18px) saturate(1.02);
  }

  .reader-toolbar-left,
  .reader-toolbar-right{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  .reader-toolbar-label{
    font-size:10px;
    line-height:1;
    letter-spacing:.12em;
    color:rgba(20,22,26,.38);
    white-space:nowrap;
  }

  .reader-mode-controls{
    gap:4px;
    padding:3px;
    border-radius:999px;
    background:rgba(20,22,26,.055);
    border:1px solid rgba(20,22,26,.055);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .reader-mode-btn{
    min-width:54px;
    height:32px;
    padding:0 12px;
    border-radius:999px;
    color:rgba(20,22,26,.58);
    font-size:11px;
    font-weight:600;
  }

  .reader-mode-btn:hover{
    transform:none;
    background:rgba(255,255,255,.62);
    color:#17191d;
  }

  .reader-mode-btn[aria-pressed="true"]{
    background:#302f2b;
    color:#fff;
    box-shadow:0 4px 14px rgba(20,22,26,.12);
  }

  .reader-progress-text{
    min-width:36px;
    text-align:right;
    font-variant-numeric:tabular-nums;
    font-size:10px;
    letter-spacing:.04em;
    color:rgba(20,22,26,.38);
  }

  .article-reader .article-reader-close{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    position:static !important;
    float:none !important;
    margin:0 !important;
    border:1px solid rgba(20,22,26,.065);
    background:rgba(20,22,26,.045);
    box-shadow:none;
    transition:background .18s ease, transform .18s ease;
  }

  .article-reader .article-reader-close:hover{
    background:rgba(20,22,26,.09);
    transform:rotate(5deg);
  }

  .reader-progress-track{
    position:relative;
    z-index:13;
    flex:0 0 2px;
    height:2px;
    background:rgba(20,22,26,.045);
    overflow:hidden;
  }

  .reader-progress-bar{
    display:block;
    width:0%;
    height:100%;
    border-radius:999px;
    background:rgba(48,47,43,.78);
    transition:width .08s linear;
  }

  .article-reader-scroll{
    position:relative;
    z-index:3;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(55,54,49,.34) rgba(20,22,26,.045);
    margin:8px 8px 8px 0;
    border-radius:0 0 22px 0;
  }

  .article-reader-scroll::-webkit-scrollbar{
    width:9px;
  }

  .article-reader-scroll::-webkit-scrollbar-track{
    margin:10px 0;
    background:rgba(20,22,26,.045);
    border-radius:999px;
  }

  .article-reader-scroll::-webkit-scrollbar-thumb{
    min-height:54px;
    background:rgba(55,54,49,.30);
    border:2px solid transparent;
    background-clip:padding-box;
    border-radius:999px;
  }

  .article-reader-scroll::-webkit-scrollbar-thumb:hover{
    background:rgba(55,54,49,.46);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  .article-reader-content{
    position:relative;
    z-index:2;
    width:min(100%,760px);
    margin:0 auto;
    padding:48px 54px 76px !important;
  }

  
  .article-reader.paper-mode .article-reader-panel::before{
    content:none !important;
    display:none !important;
  }

  .article-reader.paper-mode .article-reader-panel{
    background-color:#f3efe5;
    background-image:
      radial-gradient(circle at 18% 24%, rgba(91,72,49,.10) 0 .5px, transparent .8px),
      radial-gradient(circle at 72% 64%, rgba(255,255,255,.46) 0 .55px, transparent .9px),
      radial-gradient(circle at 48% 82%, rgba(86,69,49,.07) 0 .45px, transparent .8px),
      repeating-linear-gradient(0deg, rgba(85,67,45,.012) 0, rgba(85,67,45,.012) 1px, transparent 1px, transparent 5px);
    background-size:8px 8px, 12px 12px, 10px 10px, auto;
  }

  .article-reader.eye-mode .article-reader-panel{
    background-color:#e9e1ce;
  }

  .article-reader.eye-mode.paper-mode .article-reader-panel{
    background-color:#e9e1ce;
    background-image:
      radial-gradient(circle at 18% 24%, rgba(84,67,43,.09) 0 .5px, transparent .8px),
      radial-gradient(circle at 72% 64%, rgba(255,255,255,.36) 0 .55px, transparent .9px),
      radial-gradient(circle at 48% 82%, rgba(78,62,41,.06) 0 .45px, transparent .8px),
      repeating-linear-gradient(0deg, rgba(72,57,38,.012) 0, rgba(72,57,38,.012) 1px, transparent 1px, transparent 5px);
    background-size:8px 8px, 12px 12px, 10px 10px, auto;
  }

  .article-reader.paper-mode .article-reader-actions,
  .article-reader.paper-mode .article-reader-content{
    position:relative;
    z-index:12;
  }

  .article-reader.paper-mode .article-reader-actions{
    background:rgba(243,239,229,.94);
    border-bottom-color:rgba(79,65,44,.07);
  }

  .article-reader.eye-mode .article-reader-actions{
    background:rgba(233,225,206,.95);
    border-bottom-color:rgba(79,65,44,.075);
  }

  .article-reader.eye-mode .reader-toolbar-label,
  .article-reader.eye-mode .reader-progress-text{
    color:rgba(63,57,47,.42);
  }

  .article-reader.eye-mode .reader-mode-controls{
    background:rgba(77,68,54,.075);
    border-color:rgba(70,60,42,.055);
  }

  .article-reader.eye-mode .reader-mode-btn{
    color:rgba(58,52,43,.64);
  }

  .article-reader.eye-mode .reader-mode-btn:hover{
    background:rgba(250,243,226,.62);
  }

  .article-reader.eye-mode .reader-mode-btn[aria-pressed="true"]{
    background:#514a3e;
    color:#f8f1e2;
  }

  .article-reader.eye-mode .article-reader-close{
    background:rgba(81,74,62,.07);
    border-color:rgba(81,74,62,.07);
    color:#3b372f;
  }

  .article-reader.eye-mode .reader-progress-track{
    background:rgba(81,74,62,.055);
  }

  .article-reader.eye-mode .reader-progress-bar{
    background:rgba(81,74,62,.70);
  }

  .article-reader.eye-mode .article-reader-scroll{
    scrollbar-color:rgba(81,74,62,.34) rgba(81,74,62,.055);
  }

  .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-track{
    background:rgba(81,74,62,.055);
  }

  .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-thumb{
    background:rgba(81,74,62,.30);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-thumb:hover{
    background:rgba(81,74,62,.46);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  @media (max-width:680px){
    .article-reader-panel{
      width:100%;
      height:calc(100dvh - 20px);
      max-height:calc(100dvh - 20px);
      border-radius:22px;
    }

    .article-reader-actions{
      min-height:56px;
      padding:8px 9px 8px 11px !important;
    }

    .reader-toolbar-label{
      display:none;
    }

    .reader-mode-controls{
      gap:2px;
      padding:3px;
    }

    .reader-mode-btn{
      min-width:48px;
      height:30px;
      padding:0 10px;
      font-size:10px;
    }

    .reader-progress-text{
      min-width:32px;
      font-size:9px;
    }

    .article-reader .article-reader-close{
      width:36px;
      height:36px;
      font-size:22px;
    }

    .article-reader-scroll{
      margin:5px 5px 6px 0;
    }

    .article-reader-scroll::-webkit-scrollbar{
      width:7px;
    }

    .article-reader-content{
      padding:38px 22px 54px !important;
    }
  }


  
  .article-reader-content{
    width:min(100%,720px);
    padding:44px 50px 78px !important;
  }

  .article-reader-header{
    padding-bottom:30px;
    margin-bottom:30px;
    border-bottom:1px solid rgba(20,22,26,.08);
  }

  .article-reader-content .eyebrow{
    margin-bottom:14px;
    font-size:10px;
    letter-spacing:.14em;
  }

  .article-reader-content h1{
    max-width:650px;
    margin:0 0 15px;
    font-size:clamp(30px,3.35vw,42px);
    line-height:1.14;
    letter-spacing:-.038em;
    text-wrap:balance;
  }

  .article-reader-subtitle{
    max-width:650px;
    margin:0 0 20px;
    font-size:16px;
    line-height:1.72;
    font-weight:400;
    color:rgba(20,22,26,.58);
  }

  .article-reader-subtitle[hidden]{display:none !important}

  .article-reader-meta-line{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;
    font-size:10px;
    letter-spacing:.045em;
    color:rgba(20,22,26,.42);
  }

  .article-reader-meta-line span{
    display:inline-flex;
    align-items:center;
    gap:6px;
  }

  .article-reader-meta-line span + span::before{
    content:"";
    width:3px;
    height:3px;
    border-radius:50%;
    margin-right:6px;
    background:currentColor;
    opacity:.55;
  }

  .article-reader-toc{
    margin:0 0 34px;
    padding:17px 18px 15px;
    border-radius:18px;
    background:rgba(20,22,26,.035);
    border:1px solid rgba(20,22,26,.055);
  }

  .article-reader-toc[hidden]{display:none !important}

  .article-reader-toc-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
  }

  .article-reader-toc-head b{
    font-size:11px;
    letter-spacing:.12em;
    font-weight:700;
  }

  .article-reader-toc-head span{
    font-size:9px;
    color:rgba(20,22,26,.36);
  }

  .article-reader-toc-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 18px;
  }

  .article-reader-toc a{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
    padding:3px 0;
    font-size:11px;
    line-height:1.45;
    color:rgba(20,22,26,.60);
    transition:color .18s ease, transform .18s ease;
  }

  .article-reader-toc a:hover{
    color:#17191d;
    transform:translateX(2px);
  }

  .article-reader-toc-no{
    flex:0 0 auto;
    min-width:18px;
    font-size:8px;
    color:rgba(20,22,26,.32);
    font-variant-numeric:tabular-nums;
  }

  .article-reader-body{
    font-size:16px;
    line-height:1.95;
  }

  .article-reader-body p{
    margin:0 0 1.55em;
  }

  .article-section-title{
    margin:2.4em 0 .9em;
    scroll-margin-top:24px;
    font-size:22px;
    line-height:1.35;
    letter-spacing:-.025em;
    color:#17191d;
  }

  .article-section-title.level-3{
    margin-top:2em;
    font-size:18px;
  }

  .article-reader-figure{
    margin:2.25em 0 2.5em;
  }

  .article-reader-image{
    display:block;
    width:100%;
    max-height:560px;
    object-fit:contain;
    border-radius:16px;
    background:#e8e7e3;
  }

  .article-reader-image-bg{
    width:100%;
    aspect-ratio:16/10;
    border-radius:16px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }

  .article-reader-figure figcaption{
    padding:9px 3px 0;
    font-size:10px;
    line-height:1.55;
    color:rgba(20,22,26,.42);
  }

  .article-reader-quote{
    position:relative;
    margin:2.1em 0 2.25em;
    padding:4px 0 4px 22px;
    border-left:2px solid rgba(20,22,26,.20);
    font-size:18px;
    line-height:1.75;
    letter-spacing:.01em;
    color:rgba(20,22,26,.72);
  }

  .article-reader-quote cite{
    display:block;
    margin-top:8px;
    font-size:10px;
    font-style:normal;
    color:rgba(20,22,26,.38);
  }

  .article-footnote-ref{
    margin-left:2px;
    font-size:.68em;
    vertical-align:super;
  }

  .article-footnote-ref a{
    display:inline-grid;
    place-items:center;
    min-width:15px;
    height:15px;
    padding:0 3px;
    border-radius:999px;
    background:rgba(20,22,26,.075);
    color:inherit;
    line-height:1;
  }

  .article-footnotes{
    margin-top:3.4em;
    padding-top:20px;
    border-top:1px solid rgba(20,22,26,.09);
  }

  .article-footnotes-title{
    margin-bottom:13px;
    font-size:10px;
    letter-spacing:.14em;
    color:rgba(20,22,26,.42);
  }

  .article-footnote-item{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:8px;
    margin:0 0 9px;
    font-size:11px;
    line-height:1.65;
    color:rgba(20,22,26,.54);
    scroll-margin-top:24px;
  }

  .article-footnote-item b{font-weight:650}

  .article-reader.eye-mode .article-reader-header,
  .article-reader.eye-mode .article-footnotes{
    border-color:rgba(81,74,62,.11);
  }
  .article-reader.eye-mode .article-reader-subtitle,
  .article-reader.eye-mode .article-reader-meta-line,
  .article-reader.eye-mode .article-reader-toc a,
  .article-reader.eye-mode .article-reader-figure figcaption,
  .article-reader.eye-mode .article-footnote-item{
    color:rgba(57,52,44,.58);
  }
  .article-reader.eye-mode .article-reader-toc{
    background:rgba(81,74,62,.055);
    border-color:rgba(81,74,62,.07);
  }
  .article-reader.eye-mode .article-section-title{color:#302d27}
  .article-reader.eye-mode .article-reader-quote{
    color:rgba(57,52,44,.76);
    border-left-color:rgba(81,74,62,.25);
  }

  @media (max-width:680px){
    .article-reader-content{
      width:100%;
      padding:34px 21px 54px !important;
    }
    .article-reader-header{
      padding-bottom:24px;
      margin-bottom:24px;
    }
    .article-reader-content h1{
      font-size:clamp(27px,8vw,34px);
      line-height:1.16;
      margin-bottom:13px;
    }
    .article-reader-subtitle{
      font-size:14px;
      line-height:1.65;
      margin-bottom:17px;
    }
    .article-reader-toc-links{grid-template-columns:1fr}
    .article-section-title{font-size:20px}
    .article-section-title.level-3{font-size:17px}
    .article-reader-quote{font-size:16px;padding-left:17px}
  }



  
  body.night .article-index{
    color:rgba(255,255,255,.44);
  }

  body.night .inline-date{
    color:rgba(255,255,255,.44) !important;
  }

  body.night .feature-copy b,
  body.night .strip-item .feature-copy b,
  body.night .collection-item b,
  body.night .home-project-mini-copy b{
    color:rgba(255,255,255,.92);
  }

  body.night .feature-copy span,
  body.night .strip-item .feature-copy span,
  body.night .collection-item span{
    color:rgba(255,255,255,.60);
  }

  body.night #homeLatestProjects .home-project-mini-copy small{
    color:rgba(255,255,255,.50);
  }

  body.night .arrow{
    color:#fff;
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.09);
  }

  body.night .card:hover .arrow{
    background:rgba(255,255,255,.14);
  }

  body.night .collection-item{
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
  }

  body.night .collection-item:hover{
    background:rgba(255,255,255,.13);
  }


  
  #page-home .hero{
    padding:20px 10px 16px;
    gap:20px;
  }

  #page-home .hero > div:first-child{
    min-width:0;
  }

  #page-home #homeGreeting{
    margin:0;
    max-width:none;
    white-space:nowrap;
    font-size:clamp(28px, 3vw, 44px);
    line-height:1.12;
    letter-spacing:.035em;
    font-weight:720;
  }

  #page-home .hero .eyebrow{
    margin-bottom:8px;
  }

  @media (max-width:820px){
    #page-home .hero{
      padding:16px 4px 14px;
      gap:14px;
    }

    #page-home #homeGreeting{
      font-size:clamp(24px, 7vw, 34px);
      line-height:1.12;
      letter-spacing:.025em;
    }
  }

  @media (max-width:560px){
    #page-home .hero{
      padding-top:14px;
      padding-bottom:12px;
    }

    #page-home #homeGreeting{
      font-size:clamp(23px, 6.6vw, 30px);
    }
  }



  

  
  body.night .article-reader .article-reader-panel{
    background:#171a20;
    color:#f1f2f3;
    box-shadow:0 34px 100px rgba(0,0,0,.48);
  }

  body.night .article-reader .article-reader-actions{
    background:rgba(23,26,32,.95);
    border-bottom-color:rgba(255,255,255,.075);
  }

  body.night .article-reader .reader-toolbar-label,
  body.night .article-reader .reader-progress-text{
    color:rgba(255,255,255,.44);
  }

  body.night .article-reader .reader-mode-controls{
    background:rgba(255,255,255,.065);
    border-color:rgba(255,255,255,.065);
  }

  body.night .article-reader .reader-mode-btn{
    color:rgba(255,255,255,.66);
  }

  body.night .article-reader .reader-mode-btn:hover{
    background:rgba(255,255,255,.09);
    color:#fff;
  }

  body.night .article-reader .reader-mode-btn[aria-pressed="true"]{
    background:#f1f2f3;
    color:#17191d;
    box-shadow:0 4px 14px rgba(0,0,0,.22);
  }

  body.night .article-reader .article-reader-close{
    color:#f4f5f6;
    background:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.075);
  }

  body.night .article-reader .article-reader-close:hover{
    background:rgba(255,255,255,.13);
  }

  body.night .article-reader .reader-progress-track{
    background:rgba(255,255,255,.055);
  }

  body.night .article-reader .reader-progress-bar{
    background:rgba(255,255,255,.70);
  }

  body.night .article-reader .article-reader-scroll{
    scrollbar-color:rgba(255,255,255,.28) rgba(255,255,255,.045);
  }

  body.night .article-reader .article-reader-scroll::-webkit-scrollbar-track{
    background:rgba(255,255,255,.045);
  }

  body.night .article-reader .article-reader-scroll::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.24);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  body.night .article-reader .article-reader-scroll::-webkit-scrollbar-thumb:hover{
    background:rgba(255,255,255,.38);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  body.night .article-reader .article-reader-header,
  body.night .article-reader .article-footnotes{
    border-color:rgba(255,255,255,.09);
  }

  body.night .article-reader .article-reader-content .eyebrow{
    color:rgba(255,255,255,.42);
  }

  body.night .article-reader .article-reader-content h1,
  body.night .article-reader .article-section-title{
    color:#f4f5f6;
  }

  body.night .article-reader .article-reader-subtitle,
  body.night .article-reader .article-reader-meta-line{
    color:rgba(255,255,255,.54);
  }

  body.night .article-reader .article-reader-body{
    color:rgba(244,245,246,.80);
  }

  body.night .article-reader .article-reader-toc{
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.065);
  }

  body.night .article-reader .article-reader-toc-head span,
  body.night .article-reader .article-reader-toc-no,
  body.night .article-reader .article-reader-figure figcaption,
  body.night .article-reader .article-footnotes-title,
  body.night .article-reader .article-footnote-item,
  body.night .article-reader .article-reader-quote cite{
    color:rgba(255,255,255,.40);
  }

  body.night .article-reader .article-reader-toc a{
    color:rgba(255,255,255,.62);
  }

  body.night .article-reader .article-reader-toc a:hover{
    color:#fff;
  }

  body.night .article-reader .article-reader-quote{
    color:rgba(255,255,255,.76);
    border-left-color:rgba(255,255,255,.22);
  }

  body.night .article-reader .article-footnote-ref a{
    background:rgba(255,255,255,.09);
  }

  body.night .article-reader .article-reader-image{
    background:#23272e;
  }

  
  body.night .article-reader.paper-mode .article-reader-panel{
    background-color:#1c1c1a;
    background-image:
      radial-gradient(circle at 18% 24%, rgba(236,225,199,.055) 0 .5px, transparent .8px),
      radial-gradient(circle at 72% 64%, rgba(255,255,255,.045) 0 .55px, transparent .9px),
      radial-gradient(circle at 48% 82%, rgba(207,190,158,.035) 0 .45px, transparent .8px),
      repeating-linear-gradient(0deg, rgba(255,255,255,.008) 0, rgba(255,255,255,.008) 1px, transparent 1px, transparent 5px);
    background-size:8px 8px,12px 12px,10px 10px,auto;
  }

  body.night .article-reader.paper-mode .article-reader-actions{
    background:rgba(28,28,26,.95);
    border-bottom-color:rgba(236,225,199,.07);
  }

  
  body.night .article-reader.eye-mode .article-reader-panel{
    background-color:#25231e;
    color:#eee9df;
  }

  body.night .article-reader.eye-mode.paper-mode .article-reader-panel{
    background-color:#25231e;
    background-image:
      radial-gradient(circle at 18% 24%, rgba(229,211,174,.055) 0 .5px, transparent .8px),
      radial-gradient(circle at 72% 64%, rgba(255,255,255,.035) 0 .55px, transparent .9px),
      radial-gradient(circle at 48% 82%, rgba(206,185,143,.035) 0 .45px, transparent .8px),
      repeating-linear-gradient(0deg, rgba(234,219,188,.008) 0, rgba(234,219,188,.008) 1px, transparent 1px, transparent 5px);
    background-size:8px 8px,12px 12px,10px 10px,auto;
  }

  body.night .article-reader.eye-mode .article-reader-actions{
    background:rgba(37,35,30,.96);
    border-bottom-color:rgba(230,213,180,.08);
  }

  body.night .article-reader.eye-mode .reader-toolbar-label,
  body.night .article-reader.eye-mode .reader-progress-text{
    color:rgba(238,229,209,.42);
  }

  body.night .article-reader.eye-mode .reader-mode-controls{
    background:rgba(238,229,209,.065);
    border-color:rgba(238,229,209,.055);
  }

  body.night .article-reader.eye-mode .reader-mode-btn{
    color:rgba(238,229,209,.66);
  }

  body.night .article-reader.eye-mode .reader-mode-btn:hover{
    background:rgba(238,229,209,.08);
    color:#f5eee0;
  }

  body.night .article-reader.eye-mode .reader-mode-btn[aria-pressed="true"]{
    background:#ddd0b7;
    color:#302d27;
  }

  body.night .article-reader.eye-mode .article-reader-close{
    background:rgba(238,229,209,.07);
    border-color:rgba(238,229,209,.07);
    color:#eee6d7;
  }

  body.night .article-reader.eye-mode .reader-progress-track{
    background:rgba(238,229,209,.05);
  }

  body.night .article-reader.eye-mode .reader-progress-bar{
    background:rgba(221,208,183,.68);
  }

  body.night .article-reader.eye-mode .article-reader-header,
  body.night .article-reader.eye-mode .article-footnotes{
    border-color:rgba(221,208,183,.10);
  }

  body.night .article-reader.eye-mode .article-reader-content .eyebrow{
    color:rgba(238,229,209,.40);
  }

  body.night .article-reader.eye-mode .article-reader-content h1,
  body.night .article-reader.eye-mode .article-section-title{
    color:#f0eadf;
  }

  body.night .article-reader.eye-mode .article-reader-body{
    color:rgba(238,233,222,.82);
  }

  body.night .article-reader.eye-mode .article-reader-subtitle,
  body.night .article-reader.eye-mode .article-reader-meta-line,
  body.night .article-reader.eye-mode .article-reader-toc a,
  body.night .article-reader.eye-mode .article-reader-figure figcaption,
  body.night .article-reader.eye-mode .article-footnote-item{
    color:rgba(238,229,209,.55);
  }

  body.night .article-reader.eye-mode .article-reader-toc{
    background:rgba(238,229,209,.045);
    border-color:rgba(238,229,209,.06);
  }

  body.night .article-reader.eye-mode .article-reader-quote{
    color:rgba(238,233,222,.76);
    border-left-color:rgba(221,208,183,.24);
  }

  body.night .article-reader.eye-mode .article-reader-scroll{
    scrollbar-color:rgba(221,208,183,.28) rgba(238,229,209,.04);
  }

  body.night .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-track{
    background:rgba(238,229,209,.04);
  }

  body.night .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-thumb{
    background:rgba(221,208,183,.24);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  body.night .article-reader.eye-mode .article-reader-scroll::-webkit-scrollbar-thumb:hover{
    background:rgba(221,208,183,.38);
    border:2px solid transparent;
    background-clip:padding-box;
  }

  
  .lightbox-nav{
    width:54px;
    height:54px;
    font-size:36px;
    background:rgba(10,12,16,.32);
    border:1px solid rgba(255,255,255,.28);
    box-shadow:0 10px 28px rgba(0,0,0,.16);
    transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  .lightbox-nav:hover{
    background:rgba(10,12,16,.50);
    border-color:rgba(255,255,255,.42);
    box-shadow:0 12px 34px rgba(0,0,0,.22);
    transform:translateY(-50%) scale(1.035);
  }

  .lightbox-nav:active{
    transform:translateY(-50%) scale(.98);
  }

  .lightbox-nav:focus-visible{
    outline:2px solid rgba(255,255,255,.86);
    outline-offset:3px;
  }

  .lightbox-nav.prev{left:24px}
  .lightbox-nav.next{right:24px}

  @media (max-width:820px){
    .lightbox-nav{
      width:48px;
      height:48px;
      font-size:32px;
    }

    
    .lightbox-nav:hover{
      transform:scale(1.035);
    }

    .lightbox-nav:active{
      transform:scale(.98);
    }

    .lightbox-nav.prev{left:16px}
    .lightbox-nav.next{right:16px}
  }



  

  
  .settings-panel.is-open{
    opacity:1;
    visibility:visible;
    transform:none;
  }

  
  .category-gallery-thumbs{
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-x:contain;
  }
  .category-gallery-thumbs::-webkit-scrollbar{
    width:0;
    height:0;
    display:none;
  }

  @media (max-width:820px){
    
    .archive-hero{
      display:flex !important;
      flex-direction:column;
      align-items:stretch;
    }
    .section-profile-strip{
      width:100%;
      margin-top:0;
    }

    
    #siteSearchInput{
      font-size:16px;
    }

    
    .menu-btn,
    .settings-btn{
      min-width:44px;
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
    }
    .nav-links a{
      min-height:44px;
      display:flex;
      align-items:center;
    }
    .social,
    .section-profile-social{
      width:44px;
      height:44px;
    }
    .settings-close{
      width:40px;
      height:40px;
      font-size:20px;
    }
    .year-archive-nav{
      grid-template-columns:40px minmax(0,1fr) 40px;
    }
    .year-archive-arrow{
      width:40px;
      height:40px;
    }
    .category-gallery-nav{
      width:44px;
      height:44px;
    }

    
    .settings-panel.settings-portal{
      position:fixed !important;
      z-index:95;
      left:max(10px, env(safe-area-inset-left)) !important;
      right:max(10px, env(safe-area-inset-right)) !important;
      top:max(82px, calc(env(safe-area-inset-top) + 74px)) !important;
      bottom:auto !important;
      width:auto !important;
      max-height:calc(100dvh - 96px - env(safe-area-inset-bottom)) !important;
      overflow:auto;
      overscroll-behavior:contain;
    }

    
    .article-reader-panel,
    .project-reader-panel,
    .category-gallery{
      max-height:100%;
    }

    
    .lightbox-nav{
      top:50%;
      bottom:auto;
      transform:translateY(-50%);
    }
    .lightbox-nav:hover{
      transform:translateY(-50%) scale(1.035);
    }
    .lightbox-nav:active{
      transform:translateY(-50%) scale(.98);
    }
    .lightbox-nav.prev{left:14px}
    .lightbox-nav.next{right:14px}

    .lightbox-close{
      top:max(14px, env(safe-area-inset-top));
      right:max(14px, env(safe-area-inset-right));
    }
  }

  @media (max-width:360px){
    
    .section-profile-main{
      min-width:0;
      flex:1 1 auto;
    }
    .section-profile-copy{
      min-width:0;
    }
    .section-profile-copy strong{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .section-profile-socials{
      flex:0 0 auto;
      gap:5px;
    }
  }


  
  @media (min-width:821px){
    #page-articles .archive-hero{
      padding:18px 10px 16px;
    }

    #page-articles .archive-hero h1{
      font-size:clamp(38px, 4vw, 58px);
    }
  }


  

  
  .archive-entry h2{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .archive-entry p{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .archive-entry-meta{
    max-width:132px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  
  .article-category-all b,
  .article-category-item b{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  
  .photo-category-kicker,
  .photo-category-copy h2{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .project-entry h2{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .project-entry .project-meta span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  
  #photoPagination,
  #projectPagination{
    flex-wrap:nowrap;
    white-space:nowrap;
  }

  @media (max-width:820px){
    .archive-entry p{
      -webkit-line-clamp:3;
    }
    .archive-entry-meta{
      max-width:100%;
    }

    #photoPagination,
    #projectPagination{
      gap:5px;
    }
    #photoPagination button,
    #projectPagination button{
      min-width:34px;
      width:34px;
      height:36px;
      padding:0;
      border-radius:11px;
      font-size:11px;
    }
    #photoPagination .pagination-ellipsis,
    #projectPagination .pagination-ellipsis{
      min-width:18px;
      width:18px;
      height:36px;
      font-size:12px;
    }
  }

  @media (max-width:360px){
    #photoPagination,
    #projectPagination{
      gap:3px;
    }
    #photoPagination button,
    #projectPagination button{
      min-width:31px;
      width:31px;
      height:34px;
      border-radius:10px;
    }
    #photoPagination .pagination-ellipsis,
    #projectPagination .pagination-ellipsis{
      min-width:15px;
      width:15px;
      height:34px;
    }
  }
