.downloads-page { background:var(--paper-2); }
.downloads-masthead { min-height:390px; }
.download-library { padding:clamp(52px,7vw,92px) 24px clamp(80px,10vw,130px); background:var(--paper-2); }
.download-library-heading { max-width:840px; margin-bottom:30px; }
.download-library-heading h2 { margin:7px 0 12px; font-size:clamp(2.1rem,4.5vw,4.2rem); line-height:1; letter-spacing:-.05em; }
.download-library-heading p { max-width:720px; margin:0; color:var(--muted); line-height:1.75; }

.download-search-wrap { max-width:760px; margin:0 0 30px; }
.download-search-label { display:block; margin-bottom:8px; color:var(--ink); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.download-search-field { min-height:52px; display:flex; align-items:center; border:1px solid var(--line); background:#fff; }
.download-search-field::before { content:""; width:16px; height:16px; margin-left:17px; border:1.8px solid #75716b; border-radius:50%; box-sizing:border-box; }
.download-search-field::after { content:""; width:7px; height:1.8px; margin-left:-3px; margin-right:11px; background:#75716b; transform:translate(0,6px) rotate(45deg); transform-origin:center; }
.download-search-field input { min-width:0; flex:1; height:50px; padding:0 15px 0 2px; border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:.9rem; }
.download-search-field:focus-within { border-color:#918d86; box-shadow:0 0 0 2px rgba(20,20,20,.05); }
.download-search-field input::placeholder { color:#918d86; }

.download-context { margin:0 0 16px; padding:12px 14px; border-left:3px solid var(--ink); background:#fff; color:#625e58; font-size:.82rem; line-height:1.55; }
.download-state,.download-empty { padding:26px 22px; border:1px solid var(--line); background:#fff; color:var(--muted); }
.download-state.is-error { border-color:#decaca; background:#fff9f9; color:#7f3434; }
.download-list { border-top:1px solid var(--line); }
.download-item { --download-accent:var(--ink); --download-accent-tint:#f0f2f5; --download-accent-border:var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-left:1px solid var(--line); background:var(--paper); scroll-margin-top:96px; }
.download-item[hidden] { display:none; }
.download-item summary {
  min-height:92px;
  padding:16px 20px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto 28px;
  gap:18px;
  align-items:center;
  list-style:none;
  cursor:pointer;
  transition:background .18s ease;
}
.download-item summary::-webkit-details-marker { display:none; }
.download-item summary:hover,.download-item summary:focus-visible { background:#f0ede6; outline:none; }
.download-item[open] summary { background:#fff; }
.download-summary-icon { --download-icon-bg:var(--download-accent-tint); --download-icon-border:var(--download-accent-border); width:54px; height:54px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--download-icon-border); background:var(--download-icon-bg); }
.download-summary-icon img { width:100%; height:100%; object-fit:cover; }
.download-summary-icon-fallback { color:var(--download-accent); font-size:1.2rem; font-weight:800; }
.download-summary-copy { display:grid; gap:4px; }
.download-summary-copy strong { font-size:1.05rem; }
.download-summary-copy small { color:var(--muted); font-size:.79rem; }
.download-summary-status { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.download-toggle { position:relative; width:22px; height:22px; justify-self:end; }
.download-toggle::before,.download-toggle::after { content:""; position:absolute; top:50%; left:50%; width:14px; height:1.5px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .18s ease; }
.download-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.download-item[open] .download-toggle::after { transform:translate(-50%,-50%); }

.download-detail { padding:clamp(24px,4vw,44px); display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:clamp(28px,5vw,62px); border-top:1px solid var(--line); background:#fff; }
.download-detail-simple { grid-template-columns:1fr; }
.download-detail-simple .download-detail-copy { max-width:900px; }
.download-detail-media { min-height:290px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--download-accent-border); background:var(--download-accent-tint); }
.download-detail-media img { width:100%; height:100%; object-fit:cover; }
.download-detail-copy { align-self:center; }
.download-label { display:block; color:var(--download-accent); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.download-detail-copy h3 { max-width:720px; margin:8px 0 16px; font-size:clamp(1.7rem,3vw,2.75rem); line-height:1.05; letter-spacing:-.045em; }
.download-detail-copy p,.download-detail-copy li { max-width:720px; color:#514e49; font-size:.94rem; line-height:1.72; }
.download-detail-copy p { margin:0 0 14px; }
.download-detail-copy > ul { margin:18px 0 0; padding-left:20px; }
.download-detail-copy li { margin-bottom:7px; }

.download-release-area { margin-top:28px; display:grid; gap:14px; }
.download-release-card,.download-coming-soon { padding:20px; border:1px solid var(--line); background:#f9f8f5; }
.download-release-card.is-featured { border-top:3px solid var(--download-accent); background:#fff; }
.download-release-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.download-release-kicker { display:block; margin-bottom:4px; color:var(--download-accent); font-size:.64rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.download-release-head h4 { margin:0; color:var(--ink); font-size:1.08rem; letter-spacing:-.02em; }
.download-release-status { padding:5px 8px; border:1px solid var(--download-accent-border); background:var(--download-accent-tint); color:var(--download-accent); font-size:.63rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.download-release-meta { margin-top:13px; display:flex; flex-wrap:wrap; gap:7px 15px; color:#716d67; font-size:.75rem; }
.download-release-meta span:not(:last-child)::after { content:"·"; margin-left:15px; color:#aaa59e; }
.download-release-notes { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.download-release-notes strong { font-size:.75rem; letter-spacing:.05em; }
.download-release-notes ul { margin:10px 0 0; padding-left:19px; }
.download-release-notes li { font-size:.84rem; line-height:1.55; }
.download-release-footer { margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.download-file-name { color:var(--muted); font-size:.72rem; overflow-wrap:anywhere; }
.download-checksum { margin-top:12px; color:var(--muted); font-size:.72rem; }
.download-checksum summary { min-height:0; padding:0; display:list-item; cursor:pointer; background:transparent !important; }
.download-checksum code { display:block; margin-top:8px; padding:9px 10px; overflow-wrap:anywhere; background:#f0efeb; color:#4d4a45; font-size:.68rem; }
.download-coming-soon strong { display:block; color:var(--download-accent); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.download-coming-soon p { margin:8px 0 16px; }
.download-history { border:1px solid var(--line); background:#fff; }
.download-history > summary { min-height:48px; padding:0 16px; display:flex; align-items:center; color:var(--ink); font-size:.78rem; font-weight:800; cursor:pointer; }
.download-history-list { padding:0 14px 14px; display:grid; gap:10px; }

.download-actions { margin-top:26px; display:flex; flex-wrap:wrap; gap:10px; }
.download-product-actions { margin-top:18px; }
.download-primary,.download-secondary { min-height:46px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ink); font-size:.82rem; font-weight:800; text-decoration:none; }
.download-primary { border-color:var(--download-accent); background:var(--download-accent); color:#fff; }
.download-primary:hover,.download-primary:focus-visible { filter:brightness(.93); outline:none; }
.download-primary:disabled { opacity:.45; cursor:not-allowed; filter:none; }
.download-secondary { background:#fff; color:var(--ink); }
.download-secondary:hover,.download-secondary:focus-visible { background:var(--ink); color:#fff; outline:none; }

@media (max-width:760px) {
  .downloads-masthead { min-height:330px; }
  .download-library { padding:44px 18px 80px; }
  .download-search-wrap { margin-bottom:22px; }
  .download-item summary { min-height:82px; padding:13px 14px; grid-template-columns:48px minmax(0,1fr) 24px; gap:12px; }
  .download-summary-icon { width:46px; height:46px; }
  .download-summary-status { display:none; }
  .download-summary-copy strong { font-size:.94rem; }
  .download-summary-copy small { font-size:.7rem; }
  .download-detail { padding:20px 16px 28px; grid-template-columns:1fr; gap:22px; }
  .download-detail-media { min-height:190px; max-height:260px; }
  .download-detail-copy h3 { font-size:1.65rem; }
  .download-actions { display:grid; grid-template-columns:1fr; }
  .download-release-head,.download-release-footer { display:grid; }
  .download-release-status { justify-self:start; }
  .download-release-meta span:not(:last-child)::after { display:none; }
}
