.gene-page { --mint: #b8baff; }
.gene-page .phase-nav { margin-top: 4rem; }
.gene-page .phase-nav a[aria-current] { color: var(--mint); border-bottom-color: var(--mint); }
.gene-page .case-hero h1 { font-size: clamp(3.5rem,12vw,11rem); }
.gene-page .brief-question { border-color: #575bb6; }
.violet-section { background: #dedff4; color: var(--ink); }
.workshop-gallery { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; margin-top: 3rem; }
.workshop-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.workshop-gallery figure:last-child { grid-column: 1/-1; max-width: 900px; margin: 1rem auto 0; }
.workshop-gallery figure:last-child img { aspect-ratio: 3/2; }
.role-note { border-left: 3px solid #575bb6; padding: 1rem 0 1rem 1.5rem; margin-top: 2.5rem; }
.role-note p { max-width: 55rem; }
.scenario-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #ffffff40; border: 1px solid #ffffff40; margin-top: 3rem; }
.scenario-grid article { background: var(--ink); padding: clamp(1.5rem,3vw,3rem); }
.scenario-grid article.featured { background: #b8baff; color: var(--ink); }
.scenario-grid h3 { margin-bottom: 1.5rem; }
.scenario-grid .kicker { font-size: .875rem; letter-spacing: .06em; }
.souvenir-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; margin-top: 4rem; }
.souvenir-layout img { width: 100%; }
.gene-page .image-open { text-align: left; }
.gene-page .image-open:focus-visible { outline-color: #575bb6; }
.workshop-gallery > *, .scenario-grid > *, .souvenir-layout > * { min-width: 0; }
@media(max-width:760px) { .workshop-gallery,.scenario-grid,.souvenir-layout { grid-template-columns: 1fr; } .workshop-gallery figure:last-child { grid-column: auto; } }
