.exercise-visual{position:relative;display:block;width:100%;height:100%;min-width:0;margin:0;overflow:hidden;background:#153d40;isolation:isolate}
.exercise-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none}
.exercise-visual figcaption{position:absolute;bottom:9px;right:10px;padding:3px 7px;font-size:8px;line-height:1.4;letter-spacing:.015em;color:#f1f5ef;background:#112e38bb;backdrop-filter:blur(6px);border:1px solid #e5eee222;border-radius:5px;pointer-events:none}
.pathway-art{height:228px;min-height:0;overflow:hidden;background:#163b3c}
.pathway-art>span,.module-image>span{z-index:2;color:#f2f7e8!important;background:#14383dd9;border:1px solid #e1ebcc44;box-shadow:0 4px 14px #0b202026;border-radius:8px;display:grid;place-items:center;width:35px;height:35px;font-size:13px;top:15px;left:16px}
.pathway-art .exercise-visual{position:absolute;inset:0}
.pathway-navy .pathway-art .exercise-visual img,[data-theme=dark] .exercise-visual img{filter:none}
.exercise-illustration{height:225px;overflow:hidden;background:#163b3c}
.exercise-illustration .pill{z-index:2;background:#f2f6eced;color:#23433f;border:1px solid #e4eee5aa;font-size:8px;max-width:calc(100% - 24px)}
.module-image{height:auto;aspect-ratio:4/3;overflow:hidden;background:#163b3c}
.module-image .exercise-visual img{transition:transform .3s ease}
.module:hover .module-image .exercise-visual img{transform:scale(1.035)}
.module-image .exercise-visual figcaption{font-size:7px;bottom:8px;right:8px}
.next-session-art{width:190px;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.next-session-art>span{z-index:2;right:8px;bottom:8px}
.next-session-art .exercise-visual figcaption{right:auto;left:7px;font-size:7px;max-width:105px}
.session-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(155px,.8fr);gap:24px;align-items:center;margin-bottom:24px}
.session-intro .exercise-visual{height:auto;aspect-ratio:4/3;border-radius:14px;border:1px solid var(--line);max-width:640px}
.exercise-visual-caption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}
.exercise-visual-caption strong{font-weight:600;color:var(--ink);display:block;margin-bottom:5px}
.visual-zoom{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ffffff55;border-radius:7px;color:#f3f6ed;background:#123238c7;padding:7px 9px;cursor:pointer;font:inherit;font-size:10px;min-height:32px;backdrop-filter:blur(6px)}
.visual-zoom .icon{width:14px;height:14px}.visual-zoom:hover{background:#264e4be8}.visual-zoom:focus-visible{outline:2px solid #d6ed9f;outline-offset:3px}
.model-view img{display:block;width:100%;height:auto;border-radius:12px}.model-view p{font-size:13px;line-height:1.8;color:var(--muted)}.model-view .note{font-size:12px}
@media(min-width:1600px){.pathway-art{height:265px}.exercise-illustration{height:255px}}
@media(max-width:1180px){.pathway-art{height:195px}.next-session-art{width:150px}.exercise-illustration{height:210px}.session-intro{grid-template-columns:1fr;gap:16px}.session-intro .exercise-visual{max-width:none}}
@media(min-width:651px) and (max-width:950px){.pathway-card{grid-template-columns:240px minmax(0,1fr)}.pathway-art{height:auto;min-height:320px}.pathway-art .exercise-visual img{object-fit:contain}.pathway-art .exercise-visual{display:grid;align-content:center;background:#193d3f}.pathway-art .exercise-visual img{height:auto;aspect-ratio:4/3}.pathway-art .exercise-visual figcaption{font-size:7px}.next-session-art{width:190px}}
@media(max-width:650px){.pathway-art{height:auto;min-height:0;aspect-ratio:4/3}.pathway-art>span{top:15px;left:17px}.pathway-art .exercise-visual{position:absolute}.exercise-illustration{height:auto;aspect-ratio:4/3}.module-image{height:auto;aspect-ratio:4/3}.module-image>span{top:8px;left:9px;width:25px;height:25px;font-size:10px}.module-image .exercise-visual figcaption{font-size:6px;padding:2px 4px;right:4px;bottom:4px}.session-intro{gap:15px}.session-intro .exercise-visual{aspect-ratio:4/3;height:auto;width:100%}.next-session-card{display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden}.next-session-card>div:first-child{padding:23px 22px;order:2}.next-session-art{width:100%;height:auto;aspect-ratio:16/9;margin:0;border-radius:0;order:1}.next-session-art>span{right:14px;bottom:14px}.next-session-art .exercise-visual figcaption{font-size:8px;max-width:none;bottom:15px;left:15px}.exercise-visual-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.module-image .exercise-visual img{transition:none}.module:hover .module-image .exercise-visual img{transform:none}}
@media print{.visual-zoom{display:none}.session-intro .exercise-visual{max-width:360px;break-inside:avoid}}
/* Photographic evidence: preserve the full selected panel and its scale. */
.exercise-visual:is(.real-photo,.generated-image){display:flex!important;flex-direction:column;align-items:stretch;background:#17393e}
.exercise-visual:is(.real-photo,.generated-image) img{flex:1;min-height:0;height:calc(100% - 27px)!important;object-fit:contain!important;aspect-ratio:auto!important;transform:none!important}
.exercise-visual:is(.real-photo,.generated-image) figcaption{position:static;flex:0 0 auto;max-width:none;font-size:8px;line-height:1.5;min-height:27px;padding:7px 8px;text-align:center;border:0;border-radius:0;background:#112d33;color:#f0f5ed;backdrop-filter:none}
.module-image .real-photo figcaption{font-size:7px;padding:5px;min-height:25px}
.photo-credit{font-size:12px;line-height:1.85;color:var(--muted);padding:14px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.photo-credit strong{color:var(--ink)}.photo-credit a,.exercise-visual-caption a{text-decoration:underline;text-underline-offset:3px}
.model-view img{max-height:60vh;object-fit:contain;background:#17393e}
.photo-credit-list{display:grid;gap:18px}.photo-credit-card{padding:24px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start}.photo-credit-card>img{width:100%;height:190px;object-fit:contain;background:#17393e;border-radius:10px}.photo-credit-card h2{font-size:20px;margin-top:0}.photo-credit-card p{font-size:13px;line-height:1.8;color:var(--muted)}
@media(max-width:650px){.photo-credit-card{grid-template-columns:1fr;padding:20px;gap:16px}.photo-credit-card>img{height:230px}.visual-zoom{min-height:40px;font-size:11px}.exercise-visual:is(.real-photo,.generated-image) figcaption{font-size:8px}.module-image .real-photo figcaption{font-size:6px}}

/* Explicit provenance and full, uncropped model views. */
.visual-zoom{min-height:44px}
.exercise-visual.generated-image figcaption,.ai-badge{background:#ede5ff;color:#45277a;font-weight:600}
.exercise-visual.generated-image{background:#eff2ee}
.model-view>.pill{margin-bottom:14px}.model-view-actions{display:flex;flex-wrap:wrap;gap:10px}
.credit-image-button{appearance:none;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#17393e;color:#f0f5ed;cursor:pointer;font:inherit;width:100%;text-align:center}
.credit-image-button img{display:block;width:100%;height:190px;object-fit:contain}.credit-image-button span{display:block;padding:10px;font-size:12px;line-height:1.5}.credit-image-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.studio-task-preview{width:100%;height:100%;min-height:220px}.studio-task-preview img{object-fit:contain!important}.studio-film-placeholder{display:grid;place-items:center;min-height:140px}.studio-film-placeholder>.icon{width:60px;height:60px}
@media(max-width:650px){.credit-image-button img{height:230px}}
