.visual-card{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;gap:.45rem;min-width:0;padding:.8rem;border:2px solid var(--line);border-radius:1.2rem;background:rgba(255,253,248,.35);cursor:pointer}
.visual-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--ink);border-radius:1rem}
.visual-card h2{font:900 1.6rem/1.05 "Fraunces",serif;margin:0;padding-right:2.75rem}
.visual-card p{margin:0;line-height:1.45}
.universe-sensation{font-weight:700;color:var(--deep);letter-spacing:.01em}
.visual-card:has(input:checked){border-color:var(--ink);background:color-mix(in srgb,var(--mint) 28%,var(--paper));box-shadow:6px 6px 0 var(--ink)}
.visual-card:has(input:checked) .choice-mark::after{content:"✓";font-size:1.55rem;font-weight:700}
.visual-card:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:4px}
.choice{min-width:44px;min-height:44px;display:grid;place-items:center}

.studio-subsection{max-width:58rem;margin-block:3rem;padding:clamp(1.25rem,3vw,2rem);border:2px solid var(--ink);border-radius:1.2rem;background:var(--white)}
.studio-subsection h2{font:900 clamp(1.8rem,3vw,2.6rem)/1.05 "Fraunces",serif;margin:.25rem 0 1rem}
.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}
.reference-list,.attachment-list{display:grid;gap:.65rem;padding:0;list-style:none}
.reference-list li,.attachment-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem;border:2px solid var(--ink);border-radius:.75rem;overflow-wrap:anywhere}
.list-remove{min-height:44px;flex:none;border:0;background:transparent;text-decoration:underline;font-weight:700}
.upload-disclaimer{padding:1rem;background:color-mix(in srgb,var(--yellow) 22%,var(--paper));border-left:4px solid var(--ink)}
.optional-summary{display:grid;gap:.65rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.optional-summary[hidden]{display:none}

@media(max-width:700px){.inline-field{grid-template-columns:1fr}.reference-list li,.attachment-list li{align-items:flex-start;flex-direction:column}}
