/* EMZ inner pages — same architectural language as the homepage. */

/* --- page hero ------------------------------------------------------------ */
.emz-phero {
  position: relative; overflow: hidden; border-bottom: 1px solid var(--hair);
  min-height: 230px; display: flex; align-items: flex-end;
}
.emz-phero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.emz-phero::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(9,9,9,.95) 0%, rgba(9,9,9,.76) 46%, rgba(9,9,9,.42) 100%);
}
.emz-phero .emz-wrap { position: relative; z-index: 1; padding-block: 42px 34px; }
.emz-phero .emz-h1 { font-size: clamp(34px, 5vw, 60px); }
.emz-phero .emz-lede { margin-top: 14px; }
.emz-crumb { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ivory-3); margin: 0 0 14px; }
.emz-crumb a { color: var(--gold); }
.emz-crumb i { font-style: normal; margin: 0 8px; color: var(--gold); }

/* --- alternating text / image rows ---------------------------------------- */
.emz-split {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px; align-items: center; padding-block: 38px;
  border-bottom: 1px solid var(--hair);
}
.emz-split:last-of-type { border-bottom: 0; }
.emz-split.flip .emz-split-pic { order: -1; }
.emz-split-pic { border: 1px solid var(--hair); overflow: hidden; aspect-ratio: 4 / 3; }
.emz-split-pic img { width: 100%; height: 100%; object-fit: cover; }
.emz-split .n {
  font-family: var(--disp); font-size: 34px; font-weight: 700; line-height: 1;
  color: var(--gold); display: block; margin-bottom: 8px;
}
.emz-split h2 { margin-bottom: 12px; }
.emz-split p { color: var(--ivory-2); font-size: 14.5px; margin: 0 0 16px; max-width: 52ch; }

/* --- ticked list ---------------------------------------------------------- */
.emz-ticks { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 9px; }
.emz-ticks li { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; color: var(--ivory-2); }
.emz-ticks li::before {
  content: ''; flex: none; width: 15px; height: 15px; margin-top: 3px;
  border: 1px solid var(--gold); background:
    linear-gradient(45deg, transparent 44%, var(--gold) 44%, var(--gold) 56%, transparent 56%),
    linear-gradient(-45deg, transparent 44%, var(--gold) 44%, var(--gold) 56%, transparent 56%);
  background-size: 9px 9px; background-position: center; background-repeat: no-repeat;
}

/* --- spec table ----------------------------------------------------------- */
.emz-specs { border-top: 1px solid var(--hair); margin: 0; }
.emz-specs > div {
  display: grid; grid-template-columns: 180px 1fr; gap: 16px;
  padding: 13px 0; border-bottom: 1px solid var(--hair); font-size: 14px;
}
.emz-specs dt { color: var(--ivory-3); margin: 0; }
.emz-specs dd { margin: 0; color: var(--ivory); }

/* --- material library ----------------------------------------------------- */
.emz-matlist { display: grid; gap: 0; }
.emz-matrow {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 30px; align-items: center; padding-block: 34px; border-bottom: 1px solid var(--hair);
}
.emz-matrow:nth-child(even) .emz-matrow-pic { order: -1; }
.emz-matrow-pic { border: 1px solid var(--hair-g); overflow: hidden; aspect-ratio: 3 / 2; }
.emz-matrow-pic img { width: 100%; height: 100%; object-fit: cover; }
.emz-matrow h2 { font-family: var(--disp); font-size: 30px; font-weight: 600; text-transform: none; letter-spacing: 0; margin: 0 0 4px; }
.emz-matrow .kind { font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin: 0 0 14px; }
.emz-matrow p { color: var(--ivory-2); font-size: 14px; margin: 0 0 16px; }
.emz-matrow dl { display: grid; grid-template-columns: 104px 1fr; gap: 8px 12px; font-size: 13.5px; margin: 0 0 18px; }
.emz-matrow dt { color: var(--ivory-3); }
.emz-matrow dd { margin: 0; }

/* --- edge profiles / small icon grid -------------------------------------- */
.emz-mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.emz-mini > div { border: 1px solid var(--hair); padding: 16px; }
.emz-mini h3 { font-family: var(--disp); font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; margin: 0 0 6px; }
.emz-mini p { font-size: 12.5px; color: var(--ivory-3); margin: 0; line-height: 1.5; }
.emz-mini svg { color: var(--gold); margin-bottom: 12px; }

/* --- project index -------------------------------------------------------- */
.emz-projlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* --- project detail ------------------------------------------------------- */
.emz-pd-hero { border: 1px solid var(--hair); overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: 26px; }
.emz-pd-hero img { width: 100%; height: 100%; object-fit: cover; }
.emz-pd-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 34px; align-items: start; }
.emz-pd-side { border: 1px solid var(--hair); padding: 20px; }
.emz-pd-side h3 { font-family: var(--body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ivory-3); margin: 0 0 14px; }
.emz-pd-side dl { display: grid; gap: 11px 12px; grid-template-columns: 1fr; margin: 0 0 18px; font-size: 13.5px; }
.emz-pd-side dt { color: var(--ivory-3); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.emz-pd-side dd { margin: 0 0 4px; }
.emz-pd-side .emz-btn { width: 100%; }

/* --- about / stats -------------------------------------------------------- */
.emz-vals { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.emz-vals > div { border: 1px solid var(--hair); padding: 22px 20px; }
.emz-vals .n { font-family: var(--disp); font-size: 24px; font-weight: 700; color: var(--gold); display: block; margin-bottom: 10px; }
.emz-vals h3 { font-family: var(--disp); font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; margin: 0 0 8px; }
.emz-vals p { font-size: 13px; color: var(--ivory-3); margin: 0; line-height: 1.55; }

/* --- placeholder note ----------------------------------------------------- */
.emz-todo {
  border-left: 3px solid var(--gold-dk); background: rgba(185, 154, 91, .09);
  padding: 13px 16px; font-size: 12.5px; color: var(--ivory-2); margin: 24px 0 0; line-height: 1.6;
}
.emz-todo b { color: var(--gold-lt); }

/* --- responsive ----------------------------------------------------------- */
@media (max-width: 1080px) {
  .emz-split, .emz-matrow, .emz-pd-grid { grid-template-columns: 1fr; gap: 24px; }
  .emz-split.flip .emz-split-pic, .emz-matrow:nth-child(even) .emz-matrow-pic { order: 0; }
  .emz-mini { grid-template-columns: repeat(2, 1fr); }
  .emz-projlist { grid-template-columns: repeat(2, 1fr); }
  .emz-vals { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .emz-projlist { grid-template-columns: 1fr; }
  .emz-mini { grid-template-columns: 1fr; }
  .emz-specs > div { grid-template-columns: 1fr; gap: 3px; }
}
