@media screen {
  :root {
    --accent: #f0c77e;
    --violet: #f0c77e;
    --soft-accent: #383021;
    --paper: #101013;
    --card: #18181d;
    --line: #34333b;
  }

  body { background: radial-gradient(ellipse at 88% 0%, #282226 0, transparent 54rem), var(--paper); }
  .brand .mark, .button.primary { color: #1d160b; }
  .button.primary:hover { background: #ffe0a6; border-color: #ffe0a6; }
  .signal { box-shadow: 0 0 11px #f0c77e4a; }
  .fixture-toggle[aria-pressed=true] { border-color: #a0804f; }
  .genre-card:hover, .genre-card[aria-pressed=true] {
    border-color: #ae8954; box-shadow: inset 0 0 0 1px #ae8954;
  }

  main:has(#storyboard:not([hidden])) .page-heading { min-height: 126px; padding-block: 16px; }
  .editorial-intro {
    display: flex; justify-content: space-between; align-items: end; gap: 12px;
    padding: 7px 0 11px;
  }
  .editorial-intro h2, .pose-section h2 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.05rem); }
  .editorial-intro > p { color: var(--muted); margin: 0; font-size: .85rem; }
  .recipe-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .recipe-card { display: flex; flex-direction: column; background: #17171c; }
  .recipe-heading { padding: 15px 17px 13px; border-bottom: 1px solid #33323a; }
  .recipe-heading .eyebrow { margin-bottom: 5px; }
  .recipe-kicker { display: flex; justify-content: space-between; align-items: start; gap: 8px; }
  .recipe-kicker > span { color: #f4d8a8; background: #3a3022; border: 1px solid #695333; border-radius: 20px; padding: 2px 8px; font-size: .69rem; font-weight: 650; }
  .recipe-heading h2 { margin-bottom: 5px; font-size: clamp(1.2rem, 2vw, 1.65rem); }
  .recipe-heading > p:last-child { color: var(--muted); font-size: .84rem; margin: 0; }
  @media(min-width: 731px) { .recipe-heading > p:last-child { min-height: 3.2em; } }
  .recipe-visuals { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; padding: 12px; flex: 1; }
  .recipe-visuals.has-photo { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .recipe-visuals figure { position: relative; min-width: 0; margin: 0; border: 1px solid #34333b; border-radius: 8px; overflow: hidden; background: #111115; }
  .recipe-image-label {
    display: block; padding: 8px 9px; color: #d2ced6; font-size: .63rem; font-weight: 750;
    letter-spacing: .085em; background: #1b1b21; border-bottom: 1px solid #33323a;
  }
  .recipe-visuals figcaption { padding: 7px 9px; color: var(--muted); font-size: .72rem; }
  .editorial-plan, .recipe-photo img { display: block; width: 100%; height: clamp(198px,25vw,327px); }
  .editorial-plan { background: #141518; }
  .plan-label { font-family: system-ui,sans-serif; font-size: 8.4px; font-weight: 700; letter-spacing: .4px; }
  .recipe-photo img { object-fit: contain; object-position: center; background: #101013; }
  .recipe-actions {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px;
    padding: 12px 16px; background: #1e1c22; border-top: 1px solid #39363d;
  }
  .recipe-actions > p { margin: 0; color: #d0c8cd; font-size: .78rem; flex: 1; min-width: 150px; }
  .recipe-actions .button { min-height: 35px; }

  .editorial-active {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px;
    margin: 14px 0 19px; padding: 11px 14px; border: 1px solid #4a3f30; border-radius: 10px;
    background: #201c19;
  }
  .editorial-active p { margin: 0; }
  .editorial-active p:not(.eyebrow) { color: #e0d7cb; font-size: .85rem; }
  .editorial-active .eyebrow { margin-bottom: 4px; }
  .pose-section .eyebrow { margin-bottom: 4px; }
  .pose-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 10px 0 15px; }
  .pose-grid figure { margin: 0; }
  .pose-grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center 27%; background: #121214; }
  .pose-grid figcaption { padding: 9px; font-size: .77rem; }
  .pose-grid figcaption p { color: var(--muted); margin: 3px 0 0; line-height: 1.46; }
  .editorial-notes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 13px; }
  .editorial-notes .content-card { padding: 15px; }
  .editorial-notes h2 { font-size: 1.17rem; margin-bottom: 8px; }
  .editorial-notes p:not(.eyebrow) { font-size: .82rem; margin: 0 0 8px; }
  .editorial-source { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
  .editorial-source p { color: var(--muted); margin: 0; font-size: .78rem; }
  .editorial-reference { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
  .editorial-reference > div { padding: 18px; }
  .editorial-reference > div p:not(.eyebrow) { color: var(--muted); }
  .editorial-reference figure { margin: 0; }
  .editorial-reference .photo-img { aspect-ratio: 1.9; object-position: center 28%; }
  .editorial-reference.boudoir-reference .photo-img,
  .genre-card[data-genre="Boudoir"] .photo-img { object-fit: contain; object-position: center; background: #121214; }
  .editorial-reference.boudoir-reference .photo-img { height: clamp(260px,36vw,490px); }

  @media(max-width: 900px) { .pose-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
  @media(max-width: 730px) {
    .editorial-intro { align-items: start; flex-direction: column; gap: 4px; }
    .recipe-grid, .editorial-reference { grid-template-columns: 1fr; }
    .editorial-notes { grid-template-columns: 1fr; }
    .editorial-plan, .recipe-photo img { height: clamp(190px,47vw,300px); }
  }
  @media(max-width: 430px) { .pose-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
}

@media screen {
  .fixture-controls .kit-counts { margin: 11px 0 8px; }
  .coach-equipment {
    min-width: 0; padding: 12px; margin: 10px 0 12px; border: 1px solid var(--line); border-radius: 9px;
  }
  .coach-equipment legend { padding-inline: 5px; font-size: .84rem; font-weight: 750; }
  .coach-equipment .kit-counts { margin-bottom: 8px; }
  .kit-counts input { min-width: 0; }
  .coach-kit-options { margin-top: 12px; }
  .pose-grid.genre-poses { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pose-grid.genre-poses img { max-height: 340px; object-fit: contain; object-position: center; }
  .pose-zoom { display: block; position: relative; width: 100%; background: #121214; padding: 0; border: 0; color: var(--ink); text-align: left; }
  .pose-zoom:focus-visible { outline-offset: -4px; }
  .pose-zoom span {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 6px;
    padding: 6px 9px; width: 100%; font-size: .74rem; color: var(--muted);
    background: #1d1b21; border-block: 1px solid var(--line);
  }
  .pose-zoom:hover span, .pose-zoom:focus-visible span { color: var(--accent); background: var(--soft-accent); }
  .pose-dialog { width: min(960px, calc(100% - 24px)); }
  .pose-dialog .eyebrow { margin: 0 0 4px; }
  .pose-dialog img { display: block; width: 100%; height: min(70dvh,740px); object-fit: contain; background: #101014; border-radius: 8px; }
  .pose-dialog-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-top: 9px; }
  .pose-dialog-footer p { margin: 0; color: var(--muted); font-size: .86rem; flex: 1 1 240px; }
  .pose-dialog-nav { display: flex; align-items: center; gap: 9px; font-size: .8rem; white-space: nowrap; }
  .pose-dialog-nav button { min-width: 36px; }
  @media(max-width: 720px) { .pose-grid.genre-poses { grid-template-columns: repeat(2,minmax(0,1fr)); } }
  @media(max-width: 420px) { .pose-grid.genre-poses { grid-template-columns: minmax(0,1fr); } }
}

@media screen {
  .recipe-exposure { padding: 0 14px 10px; }
  .recipe-exposure h3 { font-size: .8rem; margin: 0 0 5px; }
  .field-exposure { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin: 0 0 5px; }
  .field-exposure div { padding: 5px 8px; background: #231f1c; border: 1px solid #42382d; border-radius: 5px; }
  .field-exposure dt { font-size: .66rem; color: #c9b8a1; }
  .field-exposure dd { margin: 0; color: #f6dba9; font-size: .83rem; font-weight: 700; }
  .recipe-exposure > p { color: var(--muted); font-size: .76rem; margin: 0; }
  .study-lighting { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 5px; }
  .study-lighting p { color: var(--muted); font-size: .78rem; margin: 3px 0 5px; }
  .pose-dialog img { height: min(55dvh,640px); }
  .recipe-photo img { object-fit: contain; }
}

/* Image slots, stand-ins and technique block */
.image-slot { display:flex; flex-direction:column; justify-content:center; gap:6px; aspect-ratio:3/4; max-height:340px; padding:16px; background:repeating-linear-gradient(135deg,#17171c 0 12px,#1c1b21 12px 24px); border:1px dashed #695333; color:var(--muted); font-size:.76rem; text-align:left; }
.image-slot strong { color:#f4d8a8; font-size:.68rem; letter-spacing:.12em; }
.image-slot p { margin:0; line-height:1.45; color:#d0c8cd; }
.image-slot code { font-size:.68rem; color:#c9b8a1; word-break:break-all; }
.recipe-photo .image-slot { aspect-ratio:auto; height:clamp(198px,25vw,327px); max-height:none; }
.standin-badge { display:block; padding:4px 9px; background:#3a3022; color:#f4d8a8; border-block:1px solid #695333; font-style:normal; font-size:.68rem; font-weight:650; }
.recipe-technique { padding:0 14px 8px; }
.recipe-technique h3 { font-size:.8rem; margin:0 0 4px; }
.recipe-technique p { margin:0 0 4px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.recipe-technique .recipe-sync { color:#c9b8a1; }
.study-technique { margin:0 0 3px; color:var(--accent); font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.study-alt { color:#c9b8a1; font-size:.74rem; }
