/* Hallmark · pre-emit critique: P5 H4 E4 S5 R4 V5
   Motion X studio collection: physical course books, film gallery, easing lesson.
   Existing black / primary-blue tokens and handwriting remain authoritative. */
.mx-collection {padding-block:clamp(4rem,7vw,7rem);color:var(--color-ink);scroll-margin-top:5rem}
.mx-collection *, .mx-project-dialog * {min-width:0}
.mx-collection-head {display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.mx-editorial-label {font:600 .7rem/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);margin-bottom:1rem}
.mx-collection h2 {font:600 clamp(2.6rem,4.6vw,4rem)/1.03 var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere}
.mx-collection h2 em {font-family:var(--font-outlier);font-weight:700;letter-spacing:-.025em;color:var(--color-accent-text)}
.mx-collection-head p:not(.mx-editorial-label) {color:var(--color-ink-2);margin-top:1rem;line-height:1.65}
.mx-studio-link {display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:44px;font-weight:600;font-size:.875rem;white-space:nowrap;border-bottom:1px solid var(--color-rule);transition:border-color .2s,color .2s}
.mx-studio-link span {transition:transform .3s var(--ease-out)}
.mx-studio-link:hover {color:var(--color-accent-text);border-color:var(--color-accent-text)}
.mx-studio-link:hover span {transform:translate(3px,-3px)}
.mx-collection :is(button,a,input,select):focus-visible,.mx-project-dialog :is(button,a):focus-visible {outline:2px solid var(--color-focus);outline-offset:5px}
.mx-book-layout {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:3.5rem;align-items:center}
.mx-course-rail {align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.mx-course-rail button {width:100%;display:flex;gap:1rem;align-items:center;text-align:left;min-height:90px;padding:1.1rem .4rem;border-top:1px solid var(--color-rule);transition:color .2s,background .2s}
.mx-course-rail button[aria-pressed=true] {color:var(--color-accent-text)}
.mx-course-rail button:hover {background:var(--color-surface)}
.mx-course-number {font-size:.7rem;color:var(--color-muted)}
.mx-course-option {display:flex;flex-direction:column;gap:.3rem;flex:1}
.mx-course-option strong {font-size:1.1rem;font-weight:600}
.mx-course-option small {font-size:.75rem;color:var(--color-muted)}
.mx-course-price {font-size:.85rem;white-space:nowrap}
.mx-course-finder-link {display:block;font-size:.8rem;line-height:1.8;padding-top:2rem;color:var(--color-muted)}
.mx-course-finder-link span {display:block;color:var(--color-ink);font-weight:600}
.mx-book-panel {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:3rem;align-items:center;min-height:450px}
.mx-book-panel[hidden] {display:none}
.mx-book-object {position:relative;perspective:1100px;aspect-ratio:.72;max-width:270px;width:100%;margin-inline:auto;transform:rotate(-5deg);transition:transform .5s var(--ease-out);isolation:isolate}
.mx-book-object:hover {transform:rotate(-2deg) translateY(-6px)}
.mx-book-cover {position:absolute;inset:0;display:flex;flex-direction:column;padding:1.3rem 1.3rem 1.2rem 1.7rem;background:var(--color-accent);border-radius:3px 10px 10px 3px;color:var(--color-accent-ink);box-shadow:inset 8px 0 0 var(--color-media-shade),inset 11px 0 0 var(--color-pass-gloss),0 16px 35px var(--color-overlay);transform-origin:left;transition:transform .55s var(--ease-out)}
.mx-book-object:hover .mx-book-cover {transform:rotateY(-13deg)}
.mx-book-pages {position:absolute;inset:4px -8px -5px 6px;background:repeating-linear-gradient(to bottom,var(--color-photo-border) 0 2px,var(--color-pass-metal) 2px 3px);border-radius:3px 10px 10px 3px;transform:rotate(1deg)}
[data-book-tone=pink] .mx-book-cover {background:var(--color-process-pink);color:var(--color-paper)}
[data-book-tone=lime] .mx-book-cover {background:var(--color-process-lime);color:var(--color-paper)}
.mx-book-imprint {font-size:.7rem;line-height:1.1;letter-spacing:.08em;font-weight:600}
.mx-book-edition {position:absolute;right:1.2rem;top:1.3rem;font-size:.55rem;letter-spacing:.1em}
.mx-book-art {position:relative;flex:1;min-height:95px;margin:1rem 0;overflow:hidden}
.mx-book-art i {position:absolute;inset:8% 18%;border:1px solid currentColor;border-radius:50%;transform:rotate(-35deg) scaleX(.4)}
.mx-book-art i:nth-child(2) {transform:rotate(-10deg) scaleX(.4)}
.mx-book-art i:nth-child(3) {transform:rotate(15deg) scaleX(.4)}
.mx-book-art i:nth-child(4) {transform:rotate(40deg) scaleX(.4)}
.mx-book-art i:nth-child(5) {transform:rotate(65deg) scaleX(.4)}
.mx-book-cover-title {font-size:clamp(1.6rem,3vw,2.5rem);line-height:1;letter-spacing:-.055em;font-weight:600;max-width:6em}
.mx-book-cover-bottom {display:flex;justify-content:space-between;align-items:end;border-top:1px solid currentColor;padding-top:.8rem;margin-top:1.4rem;font-size:.6rem;letter-spacing:.12em}
.mx-book-cover-bottom b {font-size:1.5rem;line-height:1}
.mx-book-copy h3 {font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.12;letter-spacing:-.035em;font-weight:600}
.mx-book-copy>p:not(.mx-editorial-label) {font-size:.9rem;color:var(--color-ink-2);line-height:1.7;margin-top:1.1rem}
.mx-book-copy ul {margin:1.4rem 0;list-style:none}
.mx-book-copy li {display:flex;gap:1rem;border-top:1px solid var(--color-rule-soft);padding:.65rem 0;font-size:.8rem}
.mx-book-copy li span {color:var(--color-muted);font-size:.7rem;padding-top:.1rem}
.mx-book-action {display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.mx-book-action .mx-button {font-size:.8rem;padding:.8rem 1.05rem;white-space:nowrap}
.mx-book-action>strong {font-size:.85rem}
.mx-project-section {background:var(--color-surface);border-block:1px solid var(--color-rule-soft)}
.mx-project-accordion {display:flex;gap:10px;height:410px}
.mx-project-item {position:relative;flex:1;isolation:isolate;border-radius:8px;overflow:hidden;text-align:left;background:var(--color-paper);transition:flex .65s var(--ease-out);border:1px solid var(--color-rule);color:var(--color-accent-ink)}
.mx-project-item[data-active=true] {flex:4.4}
.mx-project-item img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .4s,transform .8s var(--ease-out)}
.mx-project-item[data-active=true] img {opacity:1;transform:scale(1.025)}
.mx-project-item::after {content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,var(--color-overlay),transparent 30%,var(--color-overlay) 85%);pointer-events:none}
.mx-project-top {position:absolute;inset:1.1rem 1rem auto;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}
.mx-project-expand {display:grid;place-items:center;width:32px;height:32px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:50%;opacity:0}
.mx-project-item[data-active=true] .mx-project-expand {opacity:1}
.mx-project-caption {position:absolute;inset:auto 1.3rem 1.5rem;z-index:1;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .4s;pointer-events:none}
.mx-project-item[data-active=true] .mx-project-caption {opacity:1;transform:none;transition-delay:.12s}
.mx-project-caption small {display:block;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.7rem}
.mx-project-caption strong {display:block;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.2;letter-spacing:-.025em;font-weight:600}
.mx-project-caption>span {display:block;margin-top:1rem;font-size:.75rem}
.mx-gallery-hint {display:flex;justify-content:space-between;gap:1rem;color:var(--color-muted);font-size:.75rem;line-height:1.5;margin-top:1.5rem}
.mx-project-dialog {margin:auto;width:min(920px,calc(100% - 2rem));max-height:90dvh;padding:1rem;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-surface);color:var(--color-ink);overflow:auto}
.mx-project-dialog::backdrop {background:var(--color-overlay);backdrop-filter:blur(8px)}
.mx-project-dialog-top {display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.mx-project-dialog-top p {margin:0}
.mx-project-dialog .mx-dialog-close {position:static;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-rule);border-radius:50%;font-size:1.6rem}
.mx-project-dialog>img {display:block;width:100%;max-height:48dvh;object-fit:contain;background:var(--color-paper);border-radius:6px}
.mx-project-dialog-copy {padding:1.5rem .5rem .5rem}
.mx-project-dialog-copy h2 {font-size:clamp(1.4rem,3vw,2.2rem);font-weight:600;line-height:1.15;margin-bottom:1.2rem;overflow-wrap:anywhere}
.mx-project-dialog-copy p {color:var(--color-muted);font-size:.75rem;margin-top:1rem}
html:has(.mx-project-dialog[open]) {overflow-y:hidden}
.mx-lab-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6rem;align-items:center}
.mx-lab-intro>p:not(.mx-editorial-label) {color:var(--color-ink-2);max-width:28rem;line-height:1.8;font-size:.95rem;margin:1.6rem 0}
.mx-lab-scribble {display:block;color:var(--color-process-lime);font:700 1.8rem/1 var(--font-outlier);margin:2rem 1rem 0;transform:rotate(-5deg)}
.mx-lab-workbench {padding:1.7rem;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-surface)}
.mx-lab-title {display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.13em;color:var(--color-muted);margin-bottom:1.5rem}
.mx-lab-title>span:first-child {color:var(--color-ink)}
.mx-lab-choices {display:flex;gap:.35rem;min-width:0;border:0;padding:0}
.mx-lab-choices label {flex:1;position:relative;cursor:pointer}
.mx-lab-choices input {position:absolute;opacity:0;width:1px;height:1px}
.mx-lab-choices label span {display:flex;min-height:44px;align-items:center;justify-content:center;white-space:nowrap;border-radius:6px;font-size:.85rem;border:1px solid var(--color-rule);transition:background .2s}
.mx-lab-choices input:checked+span {background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}
.mx-lab-choices input:focus-visible+span {outline:2px solid var(--color-focus);outline-offset:3px}
.mx-lab-stage {position:relative;height:180px;margin-top:1.3rem;overflow:hidden}
.mx-lab-graph {position:absolute;inset:0 0 30px;width:100%;height:150px;overflow:visible;opacity:.6;fill:none;stroke:var(--color-accent-text);stroke-width:1.5}
.mx-lab-graph .mx-lab-axis {stroke:var(--color-rule);stroke-width:.5;stroke-dasharray:3 5}
.mx-lab-track {position:absolute;inset:48px calc(54px + 12%) auto 5%;height:58px}
.mx-lab-ghost,.mx-lab-ball {display:grid;place-items:center;position:absolute;width:54px;height:54px;border-radius:14px;font-size:1.5rem;font-weight:600}
.mx-lab-ghost {right:0;transform:translateX(100%);border:1px dashed var(--color-rule);color:var(--color-rule)}
.mx-lab-traveller {width:100%;height:100%;transform:translateX(0)}
.mx-lab-ball {background:var(--color-process-lime);color:var(--color-paper);box-shadow:0 5px 0 var(--color-media-shade)}
.mx-lab-endpoints {position:absolute;bottom:0;inset-inline:0;display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.13em;color:var(--color-muted)}
.mx-lab-explanation {font-size:.85rem;line-height:1.6;color:var(--color-ink-2);min-height:2.7em;margin:1rem 0}
.mx-lab-transport {display:flex;gap:1rem;justify-content:space-between;align-items:center}
.mx-lab-transport .mx-button {white-space:nowrap;font-size:.8rem;padding:.8rem 1rem}
.mx-lab-transport label {display:flex;flex-direction:column;gap:.3rem;color:var(--color-muted);font-size:.7rem}
.mx-lab-transport select {max-width:100%;min-height:40px;background:var(--color-surface-raised);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:5px;padding:.3rem 1.8rem .3rem .6rem;font-size:.8rem}
.mx-lab-scrub-label {display:flex;justify-content:space-between;color:var(--color-muted);font-size:.7rem;margin-top:1.7rem}
.mx-lab-scrub {width:100%;height:36px;accent-color:var(--color-accent-text);cursor:ew-resize}
.mx-sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mx-resource-library {border-top:1px solid var(--color-rule-soft)}
.mx-resource-library h2 {font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em;font-weight:600}
.mx-resource-library>.grid {grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1100px) {.mx-project-item:first-child img {object-position:50% 50%}}
@media(max-width:1050px) {.mx-book-layout {grid-template-columns:minmax(0,1fr);gap:2rem}.mx-course-rail {flex-direction:row;flex-wrap:wrap;gap:1rem}.mx-course-rail button {flex:1;min-width:180px}.mx-course-finder-link {width:100%;padding-top:0}.mx-course-finder-link span {display:inline;margin-left:.5rem}.mx-book-panel {max-width:760px;margin:auto}.mx-lab-layout {gap:3rem}}
@media(max-width:767px) {.mx-collection-head {align-items:start;flex-direction:column;gap:1rem;margin-bottom:2rem}.mx-book-panel {gap:2rem}.mx-book-copy h3 {font-size:1.7rem}.mx-lab-layout {grid-template-columns:minmax(0,1fr);gap:2.5rem}.mx-lab-scribble {display:none}.mx-project-accordion {height:340px;gap:6px}.mx-project-item[data-active=true] {flex:7}.mx-project-top {inset:1rem .5rem auto}.mx-project-caption {inset:auto 1rem 1.3rem}.mx-gallery-hint span {display:none}.mx-project-item:not([data-active=true]) .mx-project-top {justify-content:center}.mx-project-item:not([data-active=true]) .mx-project-expand {display:none}}
@media(max-width:540px) {.mx-course-rail {gap:0}.mx-course-rail button {min-width:0;min-height:75px;padding:.8rem .4rem;gap:.3rem;flex-direction:column;align-items:start}.mx-course-number,.mx-course-rail button>span:last-child {display:none}.mx-course-option strong {font-size:.9rem}.mx-course-option small {font-size:.65rem}.mx-course-price {font-size:.75rem}.mx-course-finder-link {font-size:.75rem;padding-top:1rem}.mx-book-panel {grid-template-columns:minmax(0,1fr);gap:2.5rem;padding-top:1rem}.mx-book-object {max-width:210px;aspect-ratio:.76}.mx-book-cover-title {font-size:2rem}.mx-book-copy {max-width:400px}.mx-book-copy h3 {font-size:1.8rem}.mx-project-accordion {height:auto;flex-direction:column;gap:8px}.mx-project-item {flex:none;min-height:64px;transition:min-height .5s var(--ease-out)}.mx-project-item[data-active=true] {flex:none;min-height:310px}.mx-project-item:not([data-active=true]) .mx-project-top {inset:22px 1rem auto;justify-content:start}.mx-project-item:not([data-active=true]) .mx-project-caption {opacity:1;transform:none;inset:22px 1rem auto 3.2rem}.mx-project-item:not([data-active=true]) .mx-project-caption strong {font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mx-project-item:not([data-active=true]) .mx-project-caption :is(small,span) {display:none}.mx-project-item:not([data-active=true]) img {opacity:.3}.mx-lab-workbench {padding:1.1rem}.mx-lab-transport {gap:.6rem}.mx-lab-transport .mx-button {padding:.8rem .75rem;font-size:.75rem}.mx-lab-transport select {font-size:.75rem}.mx-resource-library>.grid {grid-template-columns:minmax(0,1fr)}.mx-project-dialog-copy {padding-inline:0}}
@media(max-width:360px) {.mx-course-rail {gap:.4rem}.mx-course-rail button {padding-inline:.2rem}.mx-course-option strong {font-size:.75rem}.mx-course-option small {font-size:.625rem}}
@media(prefers-reduced-motion:reduce) {.mx-collection *, .mx-project-dialog * {transition:none!important;animation:none!important}.mx-book-object:hover,.mx-book-object:hover .mx-book-cover,.mx-project-item[data-active=true] img {transform:none}}
