/* Hardware chapter composition. Native screenshots retain their original pixels. */
#hardware { border-top: 0; background: var(--paper, #ede9e1); }
#hardware .fg-chapter-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
#hardware .fg-instructions { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 0 52px; align-items: start; }
#hardware .fg-instructions > .fg-steps { grid-column: 1; grid-row: 1 / span 2; }
#hardware .fg-details { grid-column: 2; grid-row: 1; margin-top: 0; }
#hardware .fg-notes { grid-column: 2; grid-row: 2; margin-top: 24px; border: 0; border-radius: 12px; padding: 26px; background: #f7f4eb; }
#hardware .fg-notes h3 { margin-bottom: 16px; }
#hardware .fg-notes ul { padding-left: 20px; }
#hardware .fg-entry { background: transparent; padding: 0; font-size: 18px; line-height: 1.6; color: var(--muted, #5a4f3c); }
#hardware .beauty-hardware-reference { max-width: 960px; margin: 0 auto; padding: 32px; border-radius: 24px; background: #dfd9cd; }
#hardware .beauty-hardware-heading { margin-bottom: 30px; }
#hardware .beauty-hardware-eyebrow { margin: 0 0 10px; font: 600 14px/1.5 var(--mono, monospace); letter-spacing: .08em; text-transform: uppercase; color: #625b50; }
#hardware .beauty-hardware-heading h3 { font-size: clamp(25px, 2.8vw, 32px); line-height: 1.3; max-width: 26ch; margin: 0; }
#hardware .beauty-hardware-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
#hardware .beauty-hardware-detail { min-width: 0; }
#hardware .beauty-hardware-label { min-height: 56px; display: flex; align-items: baseline; gap: 12px; padding-bottom: 14px; }
#hardware .beauty-hardware-label > span { font: 600 16px/1.5 var(--mono, monospace); color: #8c431d; }
#hardware .beauty-hardware-label h4 { margin: 0; font: 600 20px/1.45 "Open Sans", sans-serif; letter-spacing: -.02em; }
#hardware .beauty-hardware-frame { padding: 10px; background: #30332f; border: 4px solid #4b4e48; border-radius: 22px; box-shadow: 0 8px 20px rgb(42 36 28 / 12%); }
#hardware .beauty-hardware-window { position: relative; aspect-ratio: 1; overflow: hidden; background: #ede9e1; border-radius: 8px; }
#hardware .beauty-hardware-window img { display: block; width: 100%; height: auto; max-width: none; }
#hardware .beauty-hardware-caption { margin-top: 20px; font: 400 18px/1.65 "Open Sans", sans-serif; color: #4d463b; }
#hardware .beauty-hardware-reference figcaption { max-width: 70ch; margin-top: 30px; font: 400 18px/1.6 "Open Sans", sans-serif; color: #5a5042; }
@media (max-width: 820px) {
  #hardware .fg-instructions { display: block; }
  #hardware .fg-details { margin-top: 12px; }
  #hardware .beauty-hardware-reference { padding: 26px; }
  #hardware .beauty-hardware-gallery { gap: 24px; }
}
@media (max-width: 620px) {
  #hardware .fg-chapter-grid { gap: 30px; }
  #hardware .fg-notes { padding: 22px; }
  #hardware .beauty-hardware-reference { padding: 24px 18px; border-radius: 18px; }
  #hardware .beauty-hardware-gallery { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  #hardware .beauty-hardware-label { min-height: 0; padding-bottom: 14px; }
  #hardware .beauty-hardware-label h4 { font-size: 19px; }
  #hardware .beauty-hardware-frame { padding: 8px; border-width: 4px; border-radius: 18px; }
  #hardware .beauty-hardware-window { border-radius: 6px; }
  #hardware .beauty-hardware-caption { margin-top: 18px; }
  #hardware .beauty-hardware-reference figcaption { margin-top: 26px; }
}
@media print {
  #hardware .beauty-hardware-reference { break-inside: avoid; }
  #hardware .beauty-hardware-frame { box-shadow: none; }
}
