/* Sky Porch · download hub (/downloads), layered on porch-opensource.css */
.dl-app{
  padding-block:30px 32px;padding-inline:32px;
  background:var(--glass-s);border:1px solid var(--glass-br);
  border-radius:24px;box-shadow:var(--sh-glass);
}
.dl-app + .dl-app{
  margin-block-start:22px;
}
.dl-app .os-summary{
  max-inline-size:760px;
}
.dl-platforms{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  list-style:none;margin-block:8px 22px;
}
.dl-platform{
  display:flex;flex-direction:column;gap:4px;
  padding-block:18px;padding-inline:18px;
  border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.55);
}
.dl-platform b{
  font-size:17px;
}
.dl-platform small{
  color:var(--muted);font-size:12px;
}
.dl-actions{
  display:flex;flex-wrap:wrap;gap:8px;margin-block-start:12px;
}
.dl-platform .btn-ink,.dl-platform .btn-glass{
  padding-block:10px;padding-inline:16px;font-size:14px;
}
.dl-notes{
  display:grid;gap:6px;padding-inline-start:18px;
  color:var(--ink-soft);font-size:13px;line-height:1.8;
}
.dl-contact{
  margin-block-start:22px;
}
.dl-contact a{
  color:var(--c-sky);
}
.dl-open-source{
  display:grid;gap:8px;margin-block-start:28px;padding-block:22px;padding-inline:24px;
  border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.42);
}
.dl-open-source h2,.dl-open-source p{margin:0;}
.dl-open-source p{max-inline-size:760px;color:var(--ink-soft);font-size:14px;line-height:1.7;}
.dl-open-source .btn-glass{justify-self:start;margin-block-start:4px;}
@media (max-width:900px){
  .dl-platforms{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .dl-app{padding-inline:20px;}
  .dl-platforms{grid-template-columns:1fr;}
}
