/* Factory & Quality page only. Uses tokens from site.css. */

/* 1. Banner */
.fq-banner { position: relative; display: flex; align-items: flex-end; min-height: clamp(420px, 42vw, 600px); overflow: hidden; background: #151717; color: var(--paper); }
.fq-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; filter: brightness(.42) saturate(.85); }
.fq-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,12,12,.55) 0%, rgba(10,12,12,.15) 70%); }
.fq-banner__content { position: relative; z-index: 1; padding-block: clamp(48px, 6vw, 84px); }
.fq-banner h1 { max-width: 900px; font-size: clamp(38px, 5vw, 72px); }
.fq-banner__lead { max-width: 660px; margin: 22px 0 30px; color: #d4d7d2; font-size: 18px; }

/* 2. Production steps */
.fq-process { padding-block: var(--section); }
.fq-process__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 110px); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.fq-process__head > p { margin: 0; color: var(--muted); font-size: 18px; }
.fq-process__head a { color: var(--ink); border-bottom: 1px solid currentColor; }
.fq-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 3.4vw, 48px) clamp(20px, 2.4vw, 32px); margin: 0; padding: 0; list-style: none; }
.fq-steps li { border-top: 2px solid var(--ink); padding-top: 18px; }
.fq-steps figure { margin: 0 0 18px; }
.fq-steps img, .fq-steps video { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: #050606; }
.fq-steps__no { display: block; color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: .1em; }
.fq-steps h3 { margin-top: 8px; font-size: clamp(22px, 2vw, 28px); letter-spacing: -.02em; line-height: 1.1; }
.fq-steps p { margin: 10px 0 0; color: var(--muted); font-size: 16px; }

/* 3. Equipment numbers */
.fq-equip { padding-block: clamp(64px, 7vw, 104px); background: var(--soft); }
.fq-equip__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); align-items: end; }
.fq-equip__lead { max-width: 520px; margin: 22px 0 0; color: var(--muted); font-size: 18px; }
.fq-equip__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 2px solid var(--ink); }
.fq-equip__facts div { padding: 22px 20px 0 0; }
.fq-equip__facts div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.fq-equip__facts dt { font-family: "Manrope", sans-serif; font-size: clamp(32px, 3.6vw, 52px); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.fq-equip__facts dd { margin: 10px 0 0; color: var(--muted); font-size: 15px; }

/* 4. QC: copy + photo */
.fq-qc { padding-block: var(--section); background: var(--ink); color: var(--paper); }
.fq-qc__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.fq-qc .copy-stack { margin-top: 28px; }
.fq-qc .copy-stack p { color: #c3c7c1; }
.fq-qc__media { display: grid; gap: 20px; }
.fq-qc__media figure { margin: 0; }
.fq-qc__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.fq-qc__media figcaption { margin-top: 10px; color: #aeb2ad; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }

/* 5. Bulk scale: photo + copy */
.fq-split { padding-block: var(--section); }
.fq-split__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
.fq-split__media { margin: 0; }
.fq-split__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.fq-split .copy-stack { margin-top: 28px; }

@media (max-width: 1050px) {
  .fq-process__head, .fq-equip__grid, .fq-qc__grid, .fq-split__grid { grid-template-columns: 1fr; }
  .fq-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .fq-banner { min-height: 440px; }
  .fq-banner__lead { font-size: 16px; }
  .fq-steps { grid-template-columns: 1fr; gap: 36px; }
  .fq-steps img, .fq-steps video { aspect-ratio: 16 / 10; }
  .fq-equip__facts { grid-template-columns: 1fr 1fr; }
  .fq-equip__facts div:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: 0; border-top: 1px solid var(--line); margin-top: 20px; }
  .facts-section .fact-strip { grid-template-columns: 1fr 1fr; }
  .facts-section .fact-strip div, .facts-section .fact-strip div:not(:first-child) { padding: 18px 12px 14px 0; border-right: 0; border-bottom: 1px solid var(--line); }
}
