/* Compact, always-visible questionnaire shared by both collections. */
.prog { padding-block: 18px; }
.prog .wrap { max-width: 1120px; }
#studioForm { max-width: 1120px; margin-inline: auto; padding-inline: 32px; }
#studioForm .live { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
#studioForm .live > * { min-width: 0; }
#studioForm .contact, #studioForm .picker, #studioForm .about, #studioForm .final-submit { grid-column: 1 / -1; }
#studioForm .live > section { padding: 22px 0; background: #fff; border: 0; border-bottom: 1px solid #e9e5e1; }
#studioForm .wrap, #studioForm .qrow .q { max-width: none; padding: 0; width: 100%; }
#studioForm .qrow { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 24px; align-items: center; }
#studioForm .qrow.rev { grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); }
#studioForm .qrow .pic { width: 100%; height: 260px; min-height: 0; max-height: none; }
#studioForm .qrow .pcap { font-size: 12px; line-height: 1.5; padding: 36px 16px 14px; }
#studioForm h2 { font-size: 17px; line-height: 1.45; }
#studioForm .question-number { font-size: 10px; margin-bottom: 5px; color: #74706b; }
#studioForm hr.r { margin: 10px 0 14px; }
#studioForm .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
#studioForm .contact .grid2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#studioForm .fld label { margin-bottom: 5px; font-size: 10px; letter-spacing: .1em; }
#studioForm .fld input, #studioForm .fld select { min-height: 42px; padding: 9px 10px; font-size: 13px; line-height: 1.5; }
#studioForm .telrow { grid-template-columns: 84px minmax(0, 1fr); gap: 5px; }
#studioForm .telrow select { min-width: 0; padding-inline: 5px; }
#studioForm .telerr:empty, #studioForm .hint:empty, #studioForm .warn:empty, #studioForm .thumbs:empty { display: none; }
#studioForm .option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
#studioForm .opt { margin: 0; }
#studioForm .opt span { display: flex; min-height: 38px; padding: 6px 0; font-size: 12px; line-height: 1.45; gap: 8px; }
#studioForm .opt span::before { width: 14px; height: 14px; }
#studioForm .expert { font-size: 11px; margin-top: 8px; }
#studioForm .q .star { font-size: 10px; margin-top: 4px; }
#studioForm .sh, #studioForm .section-help, #studioForm .choice-help { font-size: 12px; line-height: 1.6; margin: 8px 0 12px; }
#studioForm .picker { text-align: left; }
#studioForm .pblock { margin: 16px 0 0; }
#studioForm .gname { font-size: 13px; margin: 0 0 6px; }
#studioForm .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; gap: 8px; margin: 8px 0 0; }
#studioForm .tile img { aspect-ratio: 270 / 382; }
#studioForm .tile .mk { width: 15px; height: 15px; top: 4px; right: 4px; }
#studioForm .tile input:focus-visible ~ img { outline: 2px solid #111; outline-offset: 2px; }
#studioForm .totop { margin-top: 12px; font-size: 10px; }
#studioForm .budget-grid { margin-top: 12px; gap: 10px; grid-template-columns: 1fr; }
#studioForm .budget-field label { font-size: 10px; margin-bottom: 5px; }
#studioForm .likes .cap { font-size: 10px; letter-spacing: .04em; line-height: 1.65; margin: 10px 0; }
#studioForm .drop { padding: 18px 12px; font-size: 12px; background: #f7f6f4; }
#studioForm .thumbs { gap: 10px; margin: 12px 0 0; }
#studioForm .thumbs textarea { min-height: 64px; }
#studioForm .final-submit { padding: 18px 0 24px; }
#studioForm .submit { margin-top: 0; min-height: 44px; padding: 12px 26px; }
#studioForm .journey-start { margin-top: 16px; }
#studioForm .warn:not(:empty) { margin-bottom: 12px; }
.studio-locked .live > :not(.contact):not(.studio-lock-overlay) {
  filter: blur(2.6px);
  opacity: .72;
  pointer-events: none;
  user-select: none;
}
.studio-lock-overlay[hidden] { display: none; }
.studio-lock-overlay {
  position: sticky;
  top: 88px;
  z-index: 30;
  grid-column: 1 / -1;
  height: 0;
  align-self: start;
  pointer-events: none;
}
.studio-lock-prompt {
  position: relative;
  top: 24px;
  width: min(440px, calc(100% - 36px));
  margin: 0 auto;
  padding: 24px 28px;
  display: grid;
  justify-items: center;
  gap: 9px;
  border: 1px solid #d8d4d0;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 44px rgba(37,34,31,.12);
  color: #363330;
  text-align: center;
  pointer-events: auto;
}
.studio-lock-prompt svg {
  width: 30px;
  height: 30px;
  margin-bottom: 3px;
  fill: none;
  stroke: #57524d;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.studio-lock-prompt strong {
  font: 500 17px/1.45 var(--serif);
}
.studio-lock-prompt span {
  color: #77716b;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.worn { padding-block: 24px 36px; }
@media (max-width: 1000px) {
  #studioForm .contact .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  #studioForm { padding-inline: 18px; }
  #studioForm .live { grid-template-columns: minmax(0, 1fr); }
  #studioForm .qrow, #studioForm .qrow.rev { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #studioForm .qrow .pic { height: 210px; }
  #studioForm .live > section { padding-block: 18px; }
  #studioForm h2 { font-size: 16px; }
  #studioForm .contact .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #studioForm .contact .fld:nth-child(-n+2) { grid-column: 1 / -1; }
  #studioForm .fld input, #studioForm .fld select { font-size: 16px; min-height: 44px; padding-block: 9px; }
  #studioForm .telrow { grid-template-columns: 96px minmax(0, 1fr); }
  #studioForm .option-grid { gap: 0 12px; }
  #studioForm .opt span { min-height: 42px; font-size: 12px; }
  #studioForm .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  #studioForm .thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #studioForm .thumbs textarea { font-size: 16px; }
  #studioForm .final-submit { padding-bottom: 18px; }
  .studio-lock-prompt {
    top: 16px;
    width: min(360px, calc(100% - 24px));
    padding: 21px 18px;
  }
  .studio-lock-prompt strong { font-size: 16px; }
  .prog { padding-block: 14px; }
  .form-overview { font-size: 10px; letter-spacing: .1em; }
}
@media (max-width: 359px) {
  #studioForm .tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #studioForm .about .grid2 { grid-template-columns: minmax(0, 1fr); }
}
