/* Batch 03 hero compositions */

.hx--cut .hx__stage--cut { position: relative; min-height: min(78vh, 820px); }
.hx--cut .hx__frame--cut { position: absolute; inset: auto 8% 12% 42%; max-width: 28rem; }
.hx--cut .hx__line--offset { max-width: 22rem; margin-left: -2rem; }

.hx--ledger .hx__stage--ledger {
  min-height: auto;
  padding: clamp(1.75rem, 4vw, 3rem) 0 1.75rem;
  border-bottom: 2px solid var(--ink);
}
.hx--ledger .hx__kicker {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.hx--ledger .hx__brand {
  font-size: clamp(2rem, 5vw, 3.2rem);
  margin: 0.35rem 0 1.1rem;
  letter-spacing: -0.03em;
  line-height: 0.95;
}
.hx--ledger .hx__ledger-row {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto;
  gap: 1.25rem 1.75rem;
  align-items: end;
}
.hx--ledger .hx__line {
  margin: 0;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
  max-width: 28rem;
}
.hx--ledger .hx__sub {
  margin: 0;
  color: var(--muted);
  max-width: 26rem;
}
.hx--ledger .hx__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}
.hx--ledger .hx__proof {
  margin: 1.25rem 0 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.hx--filmstory .hx__stage--full { min-height: min(92vh, 960px); }
.hx--filmstory .hx__frame--film { position: absolute; inset: auto 0 12% 0; color: #fff; }

.hx--swiss .hx__stage--swiss { display: grid; grid-template-columns: 1fr 1fr; min-height: min(72vh, 760px); gap: 1px; background: var(--ink); }
.hx--swiss .hx__swiss-cell { background: var(--bg); min-height: 100%; }
.hx--swiss .hx__swiss-cell--type { display: grid; align-content: center; gap: 0.85rem; padding: 2rem; }
.hx--swiss .hx__swiss-cell--media .hx__media { height: 100%; min-height: min(72vh, 760px); }
.hx--swiss .hx__swiss-cell--media .hx__bg { height: 100%; object-fit: cover; }

.hx--stage .hx__stage--show { min-height: min(80vh, 860px); }
.hx--stage .hx__frame { position: absolute; inset: auto 0 10% 0; }

.hx--pulse .hx__stage--pulse { min-height: min(76vh, 800px); }
.hx--pulse .hx__stamp {
  display: inline-block; padding: 0.35rem 0.7rem; background: var(--sale); color: #fff;
  font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em;
}

.hx--twin .hx__stage--twin { display: grid; grid-template-columns: 1fr 1fr; min-height: min(78vh, 820px); }
.hx--twin .hx__twin-copy { display: grid; align-content: center; gap: 0.85rem; padding: clamp(1.5rem, 4vw, 3rem); background: color-mix(in srgb, var(--moss) 10%, var(--bg)); }
.hx--twin .hx__twin-media .hx__media { height: 100%; min-height: min(78vh, 820px); }
.hx--twin .hx__twin-media .hx__bg { height: 100%; object-fit: cover; }

.hx--desk .hx__stage--desk { min-height: auto; padding: 2.5rem 0; border-bottom: 2px solid var(--ink); }
.hx--desk .hx__desk-mods { display: flex; flex-wrap: wrap; gap: 0.45rem; list-style: none; padding: 0; margin: 0.75rem 0 1rem; }
.hx--desk .hx__desk-mods li { padding: 0.35rem 0.7rem; border: 2px solid var(--ink); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

.hx--folio .hx__stage--folio { min-height: min(78vh, 820px); }
.hx--folio .hx__frame { position: absolute; inset: auto 0 12% 0; }

.hx--canvas .hx__stage--canvas { min-height: min(84vh, 900px); }
.hx--canvas .hx__canvas-float {
  position: absolute; left: 50%; bottom: 12%; transform: translateX(-50%);
  width: min(28rem, 90vw); padding: 1.25rem 1.4rem; border-radius: 4px;
  background: var(--bg); backdrop-filter: none;
  border: 2px solid var(--ink);
}

@media (max-width: 899px) {
  .hx--cut .hx__frame--cut { inset: auto 1rem 8% 1rem; max-width: none; }
  .hx--cut .hx__line--offset { margin-left: 0; }
  .hx--ledger .hx__ledger-row,
  .hx--swiss .hx__stage--swiss,
  .hx--twin .hx__stage--twin { grid-template-columns: 1fr; }
  .hx--swiss .hx__swiss-cell--media .hx__media,
  .hx--twin .hx__twin-media .hx__media { min-height: 48vh; }
}
