/* Homepage hero and archive. */
.home-hero{height:100vh;min-height:580px;position:relative;isolation:isolate;display:flex;align-items:flex-end;padding:0 30px 100px;overflow:clip}
.hero-media{position:absolute;inset:0;z-index:-1;clip-path:inset(0)}
.hero-media picture{display:contents}.hero-media img{position:fixed;inset:0;width:100%;height:100vh;max-width:none;object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#222 100%);opacity:.75}
.hero-shade{position:absolute;inset:0;background:#222;opacity:var(--hero-shade,0)}
.hero-heading{width:min(1140px,100%);margin:auto auto 0;display:flex;align-items:center;flex-wrap:wrap;gap:30px}
.hero-mark{font-size:104px;font-weight:600;line-height:1;letter-spacing:-5px;color:#e31b23;flex:0 0 198px;transform:translateY(4px)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:100%}
.hero-heading h1{font-size:48px;line-height:1;font-weight:800}.hero-heading p{font-size:26px;line-height:1;font-weight:600;margin-top:8px}
.home-content{max-width:1140px;padding:30px 20px 70px;margin:0 auto}
#posts-title{font-size:26px;font-weight:600;margin:0 0 30px}
.post-grid{--archive-count:73;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 30px}
.post-card{min-width:0}.post-card[hidden]{display:none}.post-card>a{display:block;height:100%;transition:filter .3s,transform .3s;transform-origin:center center}
.card-image{overflow:hidden;aspect-ratio:1;background:#292929}.card-image img[hidden]{display:none}.card-image img{width:100%;height:100%;object-fit:cover}
.card-copy h3{font-size:20px;line-height:1;font-weight:600;margin:12px 0 2px}.card-copy time{display:block;margin-bottom:8px}.card-copy p{display:-webkit-box;overflow:hidden;color:#ccc;font-size:16px;line-height:24px;line-clamp:5;-webkit-box-orient:vertical;-webkit-line-clamp:5}
.post-card>a:focus-visible{filter:brightness(1.08);transform:scale(1.01)}
@media(hover:hover){.post-card>a:hover{filter:brightness(1.08);transform:scale(1.01)}}
.load-more-area{text-align:center;margin:36px 0 0}#load-more{background:#333;color:#ccc;padding:14px 28px;border-radius:3px;min-height:48px}#load-more:hover,#load-more:focus-visible{background:#444;color:#fff}
.archive-status{font-size:14px;color:#aaa;margin-top:12px}.archive-status:empty{display:none}
.post-rail-controls[hidden]{display:none}
.homepage .about-content{grid-template-columns:200px 1fr;gap:25px}.homepage .about,.homepage .social{margin-top:35px}.homepage .social-links{gap:25px}
.homepage .about-content a:not(.photo){border-bottom:0}
.homepage .about-content a:not(.photo):hover,.homepage .about-content a:not(.photo):focus-visible{border-bottom:3px solid #fff}
@media(max-width:1024px){
  .home-hero{height:100svh;min-height:560px;padding:0 24px 72px}
  .hero-heading{gap:24px}
  .hero-mark{font-size:82px;letter-spacing:-4px;flex-basis:156px}
  .hero-heading h1{font-size:38px}.hero-heading p{font-size:24px}
  .home-content{padding:32px 24px 60px}
  #posts-title{margin-bottom:24px}
  .post-grid{grid-template-columns:repeat(var(--archive-count),43%) calc(57% - 18px);grid-auto-flow:column;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;padding-bottom:12px}
  .post-grid::after{content:""}
  .post-card{scroll-snap-align:start;scroll-snap-stop:normal}
  .post-card>a{height:auto}
  .load-more-area{display:none}
  .post-rail-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px;color:#aaa;font-size:14px;font-variant-numeric:tabular-nums}
  .post-rail-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:3px;background:#333;color:#ccc;font-size:34px;line-height:1}
  .post-rail-controls button:hover,.post-rail-controls button:focus-visible{background:#444;color:#fff}
  .post-rail-controls button:disabled{opacity:.35;cursor:default}
  .homepage .about-content{grid-template-columns:170px 1fr;gap:20px}
}
@media(max-width:699px){
  .home-hero{min-height:520px;padding:0 16px 48px}
  .hero-heading{display:flex;align-items:baseline;gap:14px}
  .hero-mark{display:block;font-size:76px;letter-spacing:-4px;transform:none;flex:0 0 auto}
  .hero-copy{display:block;margin:0}
  .hero-heading h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .hero-heading p{font-size:28px;line-height:1;font-weight:600;margin:0}
  .home-content{padding:26px 16px 50px}
  #posts-title{font-size:24px;margin-bottom:20px}
  .post-grid{grid-template-columns:repeat(var(--archive-count),66%) calc(34% - 14px);gap:14px}
  .card-copy h3{font-size:18px;line-height:1.1}
  .card-copy p{font-size:15px;line-height:22px}
  .homepage .about-content{grid-template-columns:110px 1fr;gap:15px}
}
@media(max-width:420px){.homepage .about-content{grid-template-columns:95px 1fr;font-size:14px;line-height:1.5}.homepage .social-links{justify-content:space-between;gap:8px}}
@media(prefers-reduced-motion:reduce){.post-card>a:hover,.post-card>a:focus-visible{transform:none}.hero-media img{position:absolute}.post-grid{scroll-behavior:auto}}
