.home-opening > .shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  align-items:start;
  gap:64px;
}
.home-opening .hero-copy {
  padding-top:96px;
}
.home-app-visual {
  width:100%;
  max-width:320px;
  margin:72px auto 40px;
}
.home-app-visual img {
  display:block;
  width:100%;
  height:auto;
  border:1px solid var(--border);
  border-radius:var(--r-shot);
  box-shadow:var(--shadow-far);
}
.home-app-visual figcaption {
  margin-top:16px;
  text-align:center;
  color:var(--text-muted);
  font-size:var(--size-small);
}
.home-protocols {
  margin-top:20px;
}
.home-kicker {
  margin-bottom:16px;
  color:var(--accent-dark);
  font-size:var(--size-small);
  font-weight:var(--weight-medium);
}
.home-routing-note {
  margin-top:64px;
  max-width:var(--reading);
}
.home-routing-note p {
  margin-top:20px;
  color:var(--text-on-deep-muted);
}
.home-routing-note a {
  color:var(--text-on-deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.home-store-tail {
  margin-top:32px;
}
.home-store-tail .cta-row {
  margin-top:24px;
}
.home-text-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  color:var(--accent-dark);
  font-weight:var(--weight-medium);
}
.home-text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.home-start {
  background:var(--bg-panel);
  color:var(--text);
}
.home-step-list {
  display:grid;
  gap:48px;
  list-style:none;
  padding:0;
}
.home-step-list > li {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:32px;
  max-width:1000px;
}
.home-step-mark {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid var(--border);
  border-radius:var(--r-inner);
  background:var(--bg);
  color:var(--accent-dark);
  box-shadow:var(--shadow-near);
  font-family:var(--font-mono);
  font-size:var(--size-h3);
}
.home-step-list p {
  margin-top:16px;
  color:var(--text-muted);
  line-height:1.85;
}
.home-facts {
  margin-top:var(--section-space);
  margin-inline:16px;
  border-radius:var(--r-section);
  background:var(--bg-deep);
  color:var(--text-on-deep);
}
.home-facts-heading {
  max-width:720px;
}
.home-facts .home-kicker {
  color:var(--text-on-deep-muted);
}
.home-facts-heading > p:last-child {
  margin-top:24px;
  color:var(--text-on-deep-muted);
}
.home-fact-ledger {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:64px 56px;
  margin-top:64px;
}
.home-fact-ledger > article {
  min-width:0;
}
.home-fact-label {
  margin-bottom:16px;
  font-family:var(--font-mono);
  font-size:var(--size-small);
  color:var(--text-on-deep-muted);
}
.home-fact-ledger h3 {
  color:var(--text-on-deep);
}
.home-fact-ledger h3 ~ p {
  margin-top:20px;
  color:var(--text-on-deep-muted);
  line-height:1.85;
}
.home-developer {
  overflow-wrap:anywhere;
  color:var(--text-on-deep);
}
.home-fact-ledger code {
  color:var(--text-on-deep);
  font-size:var(--size-small);
}
.home-fact-ledger a {
  color:var(--text-on-deep);
  text-decoration:underline;
  text-underline-offset:4px;
}
.home-facts-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:44px;
  margin-top:48px;
  color:var(--text-on-deep);
  text-decoration:underline;
  text-underline-offset:5px;
}
.home-articles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.home-articles > article {
  min-width:0;
}
.home-articles h3 {
  font-size:var(--size-h3);
}
@media (max-width:1180px) {
  .home-opening .hero-copy {
    padding-top:64px;
  }
  .home-opening > .shell {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }
  .home-app-visual {
    margin:0 auto;
  }
}
@media (max-width:900px) {
  .home-articles {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:768px) {
  .home-fact-ledger {
    grid-template-columns:minmax(0,1fr);
    gap:48px;
    margin-top:48px;
  }
  .home-step-list > li {
    grid-template-columns:48px minmax(0,1fr);
    gap:20px;
  }
  .home-step-mark {
    width:44px;
    height:44px;
    font-size:var(--size-body);
  }
}
@media (max-width:640px) {
  .home-opening .hero-copy {
    padding-top:40px;
  }
  .home-opening .device-row {
    gap:10px 14px;
  }
  .home-opening .device-row li,
  .home-opening .device-row a {
    gap:4px;
    font-size:var(--size-small);
  }
  .home-opening .device-row svg {
    width:16px;
    height:16px;
  }
  .home-opening .device-row .store-pill {
    padding-inline:8px;
  }
  .home-facts {
    margin-inline:0;
  }
  .home-step-list > li {
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .home-routing-note {
    margin-top:48px;
  }
}