/* page-specific styles — shared chrome lives in assets/site.css */

  .hero{display:flex;align-items:center;padding:148px 0 76px;position:relative}
  h1.head{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,4.4vw,3.9rem);line-height:1.08;letter-spacing:-0.02em;color:var(--ink);max-width:19ch}
  h1.head em{font-style:italic;color:var(--blue-deep)}
  .sub{margin-top:26px;font-size:clamp(1.05rem,1.7vw,1.32rem);color:var(--ink-2);max-width:48ch}

  /* On phones the hero should follow the header, not vertically center a
     tall landing panel and leave a blank screen above the title. */
  @media(max-width:640px){.hero{min-height:auto;align-items:flex-start;padding:34px 0 70px}}

  .source-note{margin-top:10px;max-width:54ch;font-size:.75rem;line-height:1.5;color:var(--ink-3)}

  .pgrid{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  @media(max-width:880px){.pgrid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.pgrid{grid-template-columns:1fr}}
  .pcard{padding:28px 26px 30px;transition:transform .3s,box-shadow .3s}
  .pcard:hover{transform:translateY(-4px);box-shadow:0 26px 54px -24px rgba(20,40,80,0.45)}
  .pcard h3{font-weight:600;font-size:1.08rem;margin-bottom:7px;letter-spacing:-0.01em}
  .pcard p{font-size:.95rem;color:var(--ink-2)}

.code-download-grid{margin-top:34px}
@media(min-width:561px){.code-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.code-download-actions{margin-top:18px}
.code-download-actions .btn{max-width:100%}
.code-checksum{margin-top:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.5;overflow-wrap:anywhere;color:var(--ink-3)}
.code-checksum span{display:block;margin-bottom:4px;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-deep)}
.download-hero-actions{margin-top:28px}
main section.block.download-soon{padding:clamp(36px,5vw,56px) 0}
