.page-home{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  overflow-x:clip;
}

.page-home .cover{
  max-width:var(--shell);
  margin:0 auto;
  padding:clamp(22px,4vw,56px) var(--gutter) clamp(36px,5vw,64px);
  display:grid;
  gap:clamp(22px,3vw,40px);
  border-bottom:1px solid var(--line);
}

.page-home .rail{
  order:2;
  border-top:2px solid var(--ink);
  padding-top:12px;
  min-width:0;
}
.page-home .rail-title{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--clay);
}
.page-home .rail-list{
  margin:0;
  padding:0;
  list-style:none;
  columns:1;
}
.page-home .rail-item{
  break-inside:avoid;
  border-bottom:1px solid var(--line-soft);
  padding:8px 0;
}
.page-home .rail-link{
  display:grid;
  grid-template-columns:2.4rem minmax(0,1fr);
  align-items:baseline;
  gap:0 8px;
  text-decoration:none;
  color:var(--ink);
}
.page-home .rail-num{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--clay);
}
.page-home .rail-name{
  font-weight:700;
  font-size:15px;
  letter-spacing:.01em;
}
.page-home .rail-state{
  grid-column:2;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--sage);
  padding-top:2px;
}
.page-home .rail-link:hover .rail-name,
.page-home .rail-link:focus-visible .rail-name{color:var(--flame);}
.page-home .rail-link:focus-visible{
  outline:2px solid var(--flame);
  outline-offset:3px;
}
.page-home .rail-note{
  margin:6px 0 0;
  font-size:12px;
  line-height:1.7;
  color:rgba(27,42,65,.72);
  border-left:2px solid var(--sand);
  padding-left:8px;
  display:none;
}
.page-home .rail-item:hover .rail-note,
.page-home .rail-item:focus-within .rail-note{display:block;}
.page-home .rail-foot{
  margin:12px 0 0;
  font-size:12px;
  line-height:1.7;
  color:var(--sage);
}

.page-home .cover-main{order:1;min-width:0;}
.page-home .crumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 16px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--sage);
}
.page-home .crumbs a{
  color:var(--clay);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.page-home .crumbs a:hover,
.page-home .crumbs a:focus-visible{border-bottom-color:var(--flame);}
.page-home .crumbs a:focus-visible{outline:2px solid var(--flame);outline-offset:3px;}

.page-home .issue-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 18px;
  margin:0 0 18px;
  padding:8px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--ink);
}
.page-home .issue-meta span{position:relative;}
.page-home .issue-meta span + span::before{
  content:"";
  position:absolute;
  left:-9px;
  top:50%;
  width:3px;
  height:3px;
  background:var(--sand);
  transform:translateY(-50%);
}

.page-home .cover-title{
  margin:0 0 18px;
  font-family:var(--font-serif);
  font-weight:900;
  font-size:clamp(34px,8vw,74px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.page-home .cover-title em{
  font-style:normal;
  color:var(--flame);
  box-shadow:inset 0 -0.18em 0 rgba(217,164,65,.35);
}
.page-home .cover-lede{
  margin:0;
  max-width:52ch;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.85;
  color:rgba(27,42,65,.86);
}
.page-home .cover-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:22px 0 0;
}
.page-home .cover-actions .btn{text-decoration:none;}

.page-home .cover-figure{
  margin:26px 0 0;
  border:1px solid var(--ink);
  background:var(--card);
  padding:8px;
}
.page-home .cover-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:4/3;
}
.page-home .cover-figure figcaption{
  padding:8px 2px 2px;
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--sage);
  border-top:1px solid var(--line-soft);
  margin-top:8px;
}

.page-home .band{border-bottom:1px solid var(--line);}
.page-home .band-inner{
  max-width:var(--shell);
  margin:0 auto;
  padding:clamp(40px,6vw,78px) var(--gutter);
}
.page-home .band-head{
  display:grid;
  gap:10px;
  margin-bottom:clamp(22px,3vw,36px);
  padding-top:14px;
  border-top:1px solid var(--ink);
}
.page-home .band-index{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--clay);
}
.page-home .band-index--light{color:var(--sand);}
.page-home .band-title{
  margin:0;
  font-family:var(--font-sans);
  font-weight:900;
  font-size:clamp(24px,3.6vw,40px);
  line-height:1.2;
  letter-spacing:-.01em;
}
.page-home .band-title--light{color:var(--paper);}
.page-home .band-lede{
  margin:10px 0 0;
  max-width:58ch;
  font-size:15px;
  line-height:1.85;
  color:rgba(27,42,65,.78);
}
.page-home .band-foot{margin:20px 0 0;}
.page-home .text-link{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--ink);
  text-decoration:none;
  border-bottom:2px solid var(--flame);
  padding-bottom:2px;
}
.page-home .text-link:hover,
.page-home .text-link:focus-visible{color:var(--flame);}
.page-home .text-link:focus-visible{outline:2px solid var(--flame);outline-offset:4px;}

.page-home .compare{border-top:2px solid var(--ink);}
.page-home .compare-head{display:none;}
.page-home .compare-row{
  display:grid;
  gap:6px;
  padding:14px 0;
  border-bottom:1px solid var(--line-soft);
}
.page-home .compare-label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--clay);
}
.page-home .compare-side{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:rgba(27,42,65,.85);
}
.page-home .compare-mid{display:flex;}
.page-home .diff-tag{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  padding:5px 8px;
  border:1px solid;
  border-radius:2px;
  white-space:nowrap;
}
.page-home .diff-tag--high{
  color:var(--clay);
  border-color:rgba(228,87,46,.55);
  background:rgba(228,87,46,.14);
}
.page-home .diff-tag--mid{
  color:#8a6318;
  border-color:rgba(217,164,65,.6);
  background:rgba(217,164,65,.18);
}
.page-home .diff-tag--low{
  color:#41605a;
  border-color:rgba(124,154,146,.55);
  background:rgba(124,154,146,.16);
}

.page-home .steps-figure{
  margin:0 0 26px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:10px 0;
}
.page-home .steps-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:10/3;
}
.page-home .steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
  counter-reset:none;
}
.page-home .step{
  border-top:3px solid var(--sand);
  background:var(--card);
  padding:16px 16px 18px;
  min-width:0;
}
.page-home .step:nth-child(4){border-top-color:var(--flame);}
.page-home .step-num{
  display:block;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--clay);
}
.page-home .step-title{
  margin:8px 0 6px;
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}
.page-home .step-body{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:rgba(27,42,65,.78);
}

.page-home .band--small{
  background:var(--forest);
  color:var(--paper);
}
.page-home .small-grid{
  display:grid;
  gap:24px;
  align-items:start;
}
.page-home .small-lede{
  margin:12px 0 0;
  max-width:46ch;
  font-size:15px;
  line-height:1.85;
  color:rgba(246,241,231,.86);
}
.page-home .small-list{
  margin:22px 0 24px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.page-home .small-list li{
  display:grid;
  grid-template-columns:2.6rem minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  font-size:14px;
  line-height:1.7;
  color:rgba(246,241,231,.92);
  border-bottom:1px solid rgba(246,241,231,.16);
  padding-bottom:9px;
}
.page-home .small-num{
  font-family:var(--font-mono);
  font-size:20px;
  color:var(--sand);
  line-height:1;
}
.page-home .btn--sand{
  display:inline-block;
  background:var(--sand);
  color:var(--ink);
  font-weight:700;
  font-size:14px;
  padding:11px 20px;
  border-radius:2px;
  text-decoration:none;
}
.page-home .btn--sand:hover{background:#c99237;}
.page-home .btn--sand:focus-visible{outline:2px solid var(--paper);outline-offset:3px;}
.page-home .small-figure{
  margin:0;
  background:rgba(255,253,248,.06);
  border:1px solid rgba(246,241,231,.28);
  padding:8px;
  max-width:340px;
}
.page-home .small-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:4/5;
}
.page-home .small-figure figcaption{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(246,241,231,.2);
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1.6;
  color:rgba(246,241,231,.72);
}

.page-home .timeline-grid{
  display:grid;
  gap:24px;
  align-items:start;
}
.page-home .timeline{
  margin:0;
  padding:0;
  list-style:none;
  border-left:1px solid var(--line);
}
.page-home .tl-item{
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:12px;
  padding:0 0 22px 16px;
}
.page-home .tl-item::before{
  content:"";
  position:absolute;
  left:-5px;
  top:6px;
  width:9px;
  height:9px;
  background:var(--sand);
  box-shadow:0 0 0 3px var(--paper);
}
.page-home .tl-item:first-child::before{background:var(--flame);}
.page-home .tl-month{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--clay);
  padding-top:2px;
}
.page-home .tl-body h3{
  margin:0 0 6px;
  font-size:17px;
  font-weight:800;
  line-height:1.4;
}
.page-home .tl-body p{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.75;
  color:rgba(27,42,65,.78);
}
.page-home .tag{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:11px;
  line-height:1;
  padding:5px 8px;
  border-radius:2px;
}
.page-home .tag--flame{background:rgba(228,87,46,.16);color:var(--clay);}
.page-home .tag--sage{background:rgba(124,154,146,.2);color:#3d5b55;}
.page-home .tag--sand{background:rgba(217,164,65,.22);color:#7d5a13;}
.page-home .timeline-figure{
  margin:0;
  border:1px solid var(--line);
  background:var(--card);
  padding:8px;
}
.page-home .timeline-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
  aspect-ratio:3/2;
}
.page-home .timeline-figure figcaption{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line-soft);
  font-family:var(--font-mono);
  font-size:11px;
  color:var(--sage);
}

.page-home .band--contact{background:var(--stone);}
.page-home .contact-grid{display:grid;gap:24px;}
.page-home .contact-card{
  background:var(--card);
  border:1px solid var(--ink);
  padding:20px;
  display:grid;
  gap:10px;
  align-content:start;
}
.page-home .contact-line{
  margin:0;
  font-size:14px;
  line-height:1.7;
  display:grid;
  gap:2px;
}
.page-home .contact-line a{color:var(--clay);text-decoration:none;word-break:break-all;border-bottom:1px solid var(--line);}
.page-home .contact-line a:hover,
.page-home .contact-line a:focus-visible{color:var(--flame);border-bottom-color:var(--flame);}
.page-home .contact-line a:focus-visible{outline:2px solid var(--flame);outline-offset:3px;}
.page-home .contact-key{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--sage);
}
.page-home .contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}
.page-home .contact-actions .btn{text-decoration:none;}

@media (min-width:600px){
  .page-home .rail-list{columns:2;column-gap:24px;}
  .page-home .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .contact-line{grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:baseline;}
}

@media (min-width:900px){
  .page-home .cover{
    grid-template-columns:minmax(190px,250px) minmax(0,1fr);
    gap:clamp(28px,4vw,56px);
    align-items:start;
  }
  .page-home .rail{
    order:1;
    position:sticky;
    top:72px;
  }
  .page-home .rail-list{columns:1;}
  .page-home .cover-main{order:2;}
  .page-home .band-head{
    grid-template-columns:200px minmax(0,1fr);
    gap:clamp(20px,3vw,44px);
    align-items:start;
  }
  .page-home .compare-head{
    display:grid;
    grid-template-columns:120px minmax(0,1fr) 88px minmax(0,1fr);
    gap:16px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
  }
  .page-home .compare-th{
    font-family:var(--font-mono);
    font-size:11px;
    letter-spacing:.12em;
    color:var(--sage);
  }
  .page-home .compare-th--mid{color:var(--clay);}
  .page-home .compare-row{
    grid-template-columns:120px minmax(0,1fr) 88px minmax(0,1fr);
    gap:16px;
    align-items:center;
    padding:16px 0;
  }
  .page-home .compare-row:hover{background:rgba(255,253,248,.75);}
  .page-home .steps{grid-template-columns:repeat(4,minmax(0,1fr));}
  .page-home .step{position:relative;}
  .page-home .step + .step::before{
    content:"";
    position:absolute;
    left:-14px;
    top:26px;
    width:14px;
    height:1px;
    background:var(--line);
  }
  .page-home .small-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,360px);
    gap:clamp(28px,4vw,56px);
  }
  .page-home .small-figure{max-width:none;justify-self:end;width:100%;}
  .page-home .timeline-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,380px);
    gap:clamp(28px,4vw,56px);
  }
  .page-home .contact-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,420px);
    gap:clamp(28px,4vw,56px);
    align-items:start;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-home *{transition:none !important;animation:none !important;}
}
<<<END>>>
