/* Planning-room photo interactions and course clipboard. */
.tour-clipboard{position:fixed;top:17px;right:18px;z-index:25;width:44px;height:44px;display:grid;place-items:center;border:1px solid #72877a66;background:#f7f5ebed;border-radius:50%;color:#244c40;box-shadow:0 3px 14px #163b3520;padding:10px;cursor:pointer}.tour-clipboard svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}.tour-clipboard.once-glow{animation:clipboard-once 2.1s 1 ease-in-out}.tour-clipboard:focus-visible,.meeting button:focus-visible,.tour-pip button:focus-visible,.tour-pip textarea:focus-visible{outline:3px solid #4d8a78;outline-offset:3px}@keyframes clipboard-once{50%{box-shadow:0 0 0 9px #bdcd9a22,0 0 23px #c2cf90a8}}.opening-topline,.meeting-topline{padding-right:46px}.meeting{min-height:100svh;background:#f4f3ec;color:#173c39;padding:28px clamp(20px,5vw,78px) 20px}.meeting-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #bdc8bd;padding-bottom:18px;font-size:10px;letter-spacing:.12em}.meeting-topline button{border:0;background:none;color:inherit;text-decoration:underline;font-size:11px;padding:10px;cursor:pointer}.meeting-heading{max-width:1380px;margin:30px auto 24px}.meeting-heading .eyebrow{font-size:10px;letter-spacing:.15em}.meeting-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4.5vw,61px);letter-spacing:-.045em;margin:9px 0 10px;line-height:1.05}.meeting-heading p{font-size:14px;line-height:1.65;max-width:620px;color:#536c5f;margin:0}.meeting-scene{position:relative;max-width:1380px;margin:0 auto;aspect-ratio:1672/941;overflow:visible;box-shadow:0 13px 30px #243d301b}.meeting-scene>img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}.room-hotspot{position:absolute;border:0;border-radius:5px;background:transparent;min-width:44px;min-height:44px;padding:0;cursor:pointer;touch-action:manipulation}.room-hotspot:focus-visible{outline:3px solid #f6f2d8!important;box-shadow:0 0 0 5px #285447b0}.room-hotspot.person:hover{background:#ffffff05}.room-hotspot.blueprint{z-index:3}.room-hotspot.sanitizer{z-index:4}.meeting-next{position:absolute;bottom:4%;right:3%;padding:13px 17px;border:1px solid #fff6;border-radius:4px;background:#f7f4e7ee;color:#254b3e;font-weight:600;cursor:pointer}.meeting-foot{max-width:1380px;margin:20px auto 0;display:flex;justify-content:space-between;gap:16px;font-size:10px;line-height:1.55;color:#607366}.meeting-foot p{margin:0}.meeting-foot details{max-width:440px}.meeting-foot summary{cursor:pointer}.meeting-foot nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.meeting-foot nav button{font:inherit;padding:7px 8px;color:#254b3e;background:#e9ece2;border:1px solid #c6cfc3;border-radius:3px;cursor:pointer}.tour-pip{padding:0;border:1px solid #c5cfbf;border-radius:8px;background:#f8f7f0;color:#173c39;width:min(720px,calc(100vw - 28px));max-height:calc(100svh - 30px);box-shadow:0 28px 100px #102b3966;overflow:auto;overscroll-behavior:contain}.tour-pip::backdrop{background:#102b394f;backdrop-filter:blur(3px)}.pip-inner{padding:25px 28px 30px}.pip-close{position:sticky;top:10px;float:right;margin:10px 11px -49px 0;z-index:2;width:38px;height:38px;border:1px solid #b8c7ba;border-radius:50%;background:#f7f5ed;color:#254c40;font-size:22px;cursor:pointer}.pip-header{display:flex;align-items:center;gap:20px;padding-right:25px;margin-bottom:22px}.pip-header img{width:104px;height:130px;object-fit:cover;border-radius:3px}.pip-header h2,.clipboard-title,.blueprint-title{font:400 31px/1.12 Georgia,serif;letter-spacing:-.025em;margin:7px 0}.pip-header p{font-size:11px;line-height:1.5;margin:5px 0;color:#526c5c}.pip-intro{font-size:14px;line-height:1.7;margin:0 0 20px}.topic-bar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.topic-bar button{font:inherit;font-size:11px;padding:10px 12px;border:1px solid #bdcabc;background:transparent;border-radius:4px;color:#3c5b4e;cursor:pointer}.topic-bar button[aria-pressed=true]{background:#254f42;color:#fff}.topic-question{font-size:13px;line-height:1.6;color:#577061}.question-list{display:grid;gap:9px}.question-choice{font:inherit;font-size:13px;text-align:left;padding:13px 15px;background:#fffefa;border:1px solid #c9d2c4;border-radius:4px;color:#244b3e;line-height:1.6;cursor:pointer}.question-choice:hover{background:#edf1e6}.answer-bubble{background:#e9eee0;border-radius:3px 16px 16px 16px;padding:18px 20px;font-size:14px;line-height:1.75;margin-top:20px}.answer-bubble p{margin:0 0 15px}.answer-bubble.wrong{background:#efeadf}.tour-button{font:inherit;font-size:12px;background:#244e41;color:#fff;padding:11px 15px;border:1px solid #244e41;border-radius:4px;cursor:pointer;line-height:1.5}.tour-button:disabled{background:#dae2d4;color:#3b604f;border-color:#bdcdbd;cursor:default}.tour-button.secondary{background:transparent;color:#244e41}.saved-note-label{font-size:11px;color:#3f6754;margin:0!important}.clipboard-help{font-size:13px;line-height:1.75;color:#4d6658}.clipboard-note{border:1px solid #d0d9c7;border-left:3px solid #6f9277;background:#fffdf5;padding:14px 16px;margin:12px 0}.clipboard-note h3{font:600 13px/1.5 Arial,sans-serif;margin:0 0 5px}.clipboard-note small{font-size:10px;color:#67806e}.clipboard-note p{font-size:13px;line-height:1.75;white-space:pre-wrap;margin:8px 0 0;overflow-wrap:anywhere}.clipboard-manual{border-top:1px solid #ccd5c5;margin-top:22px;padding-top:20px}.clipboard-manual label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.clipboard-manual textarea{display:block;width:100%;box-sizing:border-box;min-height:110px;padding:12px;border:1px solid #aabdac;border-radius:4px;background:#fffef7;color:#244b3e;font:inherit;font-size:14px;line-height:1.6;resize:vertical}.clipboard-actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.storage-warning{padding:12px 15px;background:#fff0d2;border:1px solid #d4b46c;font-size:12px;line-height:1.6;margin:12px 0}.storage-status{font-size:11px;line-height:1.6;min-height:1.6em;color:#526f5c}.blueprint-sheet{background:#f3f6ed;border:1px solid #c5d2c2;padding:20px;margin:20px 0}.blueprint-sheet svg{display:block;width:100%;height:auto}.blueprint-sheet figcaption{font-size:11px;line-height:1.6;margin-top:12px;color:#52715c}.blueprint-details{font-size:13px;line-height:1.8}.blueprint-details p{margin:12px 0}.clipboard-photo{width:100%;height:auto;border:1px solid #bdccba;margin-top:12px}.tour-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;max-width:min(590px,calc(100vw - 32px));box-sizing:border-box;background:#244e41;color:#fff;border-radius:4px;padding:12px 18px;font-size:12px;line-height:1.6;box-shadow:0 5px 20px #163b3533}.tour-toast:empty{display:none}.tour-clipboard + .storage-banner{position:fixed;top:70px;right:16px;max-width:300px;z-index:26;background:#fff0d2;border:1px solid #d4b46c;padding:10px;font-size:11px;line-height:1.55;color:#5d4822}#case-shell .masthead{padding-right:75px}
@media(max-width:740px){.meeting{padding:16px 18px 20px}.meeting-topline{font-size:8px;letter-spacing:.08em;padding-bottom:11px}.meeting-heading{margin:24px auto 20px}.meeting-heading p{font-size:12px}.meeting-scene{margin-left:-4px;margin-right:-4px}.meeting-foot{display:block;font-size:9px}.meeting-foot details{margin-top:15px}.pip-inner{padding:23px 18px}.pip-header{gap:13px}.pip-header img{width:75px;height:98px}.pip-header h2{font-size:26px}.pip-intro,.answer-bubble{font-size:13px}.topic-bar button{padding:9px;font-size:10px}.question-choice{font-size:12px;padding:12px}.tour-clipboard{top:12px;right:12px}.meeting-next{bottom:-64px;right:0;min-height:44px}.meeting-scene:has(.meeting-next:not([hidden])){margin-bottom:80px}.blueprint-sheet{padding:9px}.pip-close{top:8px}.room-hotspot.sanitizer{transform:translateX(-8px)}.meeting-foot nav button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.tour-clipboard{animation:none!important}.tour-pip::backdrop{backdrop-filter:none}}

.room-hotspot[data-room-person="sponsor"]{left:1%;top:18%;width:23%;height:60%}
.room-hotspot[data-room-person="superintendent"]{left:26%;top:17%;width:24%;height:55%}
.room-hotspot[data-room-person="facilities"]{left:52%;top:23%;width:19%;height:45%}
.room-hotspot[data-room-person="clinical"]{left:76%;top:22%;width:24%;height:49%}
#room-blueprints{left:67%;top:38%;width:16%;height:11%}
#room-sanitizer{left:95%;top:16%;width:4%;height:13%}
#room-sanitizer{left:auto;right:.5%;transform:none}
@media(max-width:740px){#room-sanitizer{left:auto;right:0;transform:none}}

/* A quiet scope sheet with a native camera action; no instructions about its puzzle role. */
.tour-pip[data-panel="blueprint"]{width:min(560px,calc(100vw - 24px))}.tour-pip[data-panel="blueprint"] .pip-inner{padding:26px 22px 22px}.blueprint-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:34px}.blueprint-toolbar .eyebrow{font-size:10px;letter-spacing:.08em;margin:0}.blueprint-toolbar .blueprint-title{font-size:27px;margin:5px 0 0}.blueprint-camera{flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border:1px solid #9bafa1;border-radius:50%;background:#e6ede1;color:#244e41;padding:11px;cursor:pointer}.blueprint-camera svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.blueprint-camera:disabled{opacity:1;background:#edf2e7;border-color:#b6c6b6;cursor:default}.camera-saved-mark{stroke:#2a6751;stroke-width:2.5;paint-order:stroke;filter:drop-shadow(0 0 2px #edf2e7)}.blueprint-sheet{padding:0;margin:15px 0 12px;border:0;background:transparent}.blueprint-sheet .clipboard-photo{display:block;border:0;margin:0}.blueprint-sheet figcaption{font-size:10px;margin:7px 0 0;color:#657868}.blueprint-scope{font-size:14px;line-height:1.65;margin:12px 0;padding-left:19px}.blueprint-scope li{padding:2px 0}.blueprint-review{font-size:12px;line-height:1.6;margin:14px 0 0;padding-top:12px;border-top:1px solid #d0d9c7;color:#526d60}.clipboard-note .blueprint-scope{font-size:13px}.clipboard-note .blueprint-sheet{margin:10px 0}.clipboard-note .blueprint-sheet figcaption{font-size:10px}
@media(max-width:480px){.tour-pip[data-panel="blueprint"] .pip-inner{padding:22px 15px 18px}.blueprint-toolbar{padding-right:34px;gap:10px}.blueprint-toolbar .blueprint-title{font-size:25px}.blueprint-toolbar .eyebrow{font-size:9px}.blueprint-camera{width:46px;height:46px;padding:10px}.blueprint-scope{font-size:13px}.blueprint-review{font-size:11px}.blueprint-sheet figcaption{font-size:9px}}

/* Supplied character reactions: optional media, never a progression gate. */
.character-reaction{display:flex;align-items:center;gap:18px;margin:0 0 18px}.response-video{display:block;width:104px;height:208px;max-width:100%;object-fit:contain;background:#172e29;border-radius:5px;flex-shrink:0}.response-video[hidden]{display:none}.answer-bubble .reaction-copy{margin:0;font-size:14px;font-weight:600;color:#244e41}.response-video:focus-visible{outline:3px solid #4d8a78;outline-offset:3px}@media(max-width:480px){.character-reaction{gap:13px}.response-video{width:90px;height:180px}.answer-bubble .reaction-copy{font-size:13px}}

.response-video.wide{width:185px;height:208px}.reaction-replay,.reaction-read{font:inherit;font-size:12px;margin-top:10px;min-height:44px;padding:8px 12px;background:#fffefa;border:1px solid #9bafa1;border-radius:4px;color:#244e41;cursor:pointer}.answer-bubble.wrong .reaction-copy{color:#65543b}@media(max-width:480px){.response-video.wide{width:108px;height:122px}}
.reaction-summary{min-width:0}.reaction-read{display:block;background:transparent}.reaction-read[hidden],.answer-intel[hidden]{display:none}.answer-bubble .reaction-status{margin:10px 0 0;font-size:12px;line-height:1.5}.reaction-status:empty{display:none}.answer-intel:not([hidden]){border-top:1px solid #bacbb7;padding-top:16px}.answer-bubble.wrong .answer-intel{border-color:#d5c7ad}
.help-heading{font:600 15px/1.4 Arial,sans-serif;margin:22px 0 7px;color:#244e41}.help-heading+.clipboard-help{margin-top:0}.about-intro{font-size:14px;color:#244e41}.background-reading{margin-top:22px;border-top:1px solid #cbd5c4;padding-top:8px}.background-reading summary{font-size:13px;font-weight:600;min-height:44px;display:list-item;align-content:center;cursor:pointer}.background-reading summary:focus-visible{outline:3px solid #4d8a78;outline-offset:3px}.background-reading li{margin:8px 0}.background-reading a{overflow-wrap:anywhere}

/* Character encounters: the film owns the view, then gives way to the conversation. */
.tour-pip[data-panel="person"]{width:min(760px,calc(100vw - 24px));border:0;border-radius:14px;background:#f6f4eb;box-shadow:0 30px 100px #061c24a8;transition:width .24s ease,background .24s ease}.tour-pip[data-panel="person"]::backdrop{background:#071b22c9;backdrop-filter:blur(8px)}.tour-pip[data-panel="person"] .pip-inner{padding:0}.tour-pip[data-panel="person"] .pip-close{position:sticky;top:12px;width:44px;height:44px;margin:12px 12px -56px 0;border:1px solid #70847f66;background:#f8f7f0e8;z-index:8}.conversation-experience{position:relative;overflow:hidden;min-height:400px}.conversation-text{padding:36px clamp(22px,4vw,42px) 34px;animation:conversation-arrive .38s ease both}.tour-pip[data-panel="person"] .pip-header{gap:15px;margin:0 45px 21px 0;padding:0}.tour-pip[data-panel="person"] .pip-header img{width:58px;height:66px;border-radius:7px;object-position:top}.tour-pip[data-panel="person"] .pip-header h2{font-size:31px;margin:6px 0 0}.tour-pip[data-panel="person"] .pip-header .eyebrow{font-size:10px;letter-spacing:.1em}.tour-pip[data-panel="person"] .pip-intro{font-size:15px;line-height:1.7;color:#36594d;margin-bottom:27px;max-width:620px}.tour-pip[data-panel="person"] .topic-bar{gap:4px;border-bottom:1px solid #c8d2c6;padding-bottom:12px;margin-bottom:20px}.tour-pip[data-panel="person"] .topic-bar button{border:0;border-radius:18px;font-size:11px;padding:9px 12px;min-height:44px}.tour-pip[data-panel="person"] .question-list{gap:0;border-top:1px solid #c6d1c2}.tour-pip[data-panel="person"] .question-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-bottom:1px solid #c6d1c2;border-radius:0;background:transparent;padding:18px 2px;font-size:15px;line-height:1.55;transition:color .15s,background .15s,padding .15s}.tour-pip[data-panel="person"] .question-choice:hover{background:#e9eee3;padding-left:12px;padding-right:10px}.question-arrow{font-size:21px;opacity:.55;flex:none}.tour-pip[data-panel="person"] .topic-question{font-size:12px;color:#60746a;margin:0 0 15px}.tour-pip[data-panel="person"] .answer-bubble{padding:20px 0 22px;background:transparent;border-radius:0;border-top:1px solid #bccdb8;border-bottom:1px solid #bccdb8;margin:0 0 23px;font-size:15px;line-height:1.75}.response-heading{font:400 27px/1.2 Georgia,serif;color:#214d3d;margin:0 0 13px!important}.tour-pip[data-panel="person"] .answer-intel:not([hidden]){border:0;padding:0}.tour-pip[data-panel="person"] .answer-intel:focus{outline:none}.tour-pip[data-panel="person"] .reaction-replay{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;padding:4px 0;min-height:44px;font-size:11px;color:#61786a;margin:8px 0 0}.character-stage{position:absolute;inset:0 0 auto;z-index:2;background:#081817;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility 0s linear .28s}.tour-pip[data-panel="person"][data-media="playing"]{width:min(1000px,calc(100vw - 20px));background:#081817}.tour-pip[data-panel="person"][data-media="playing"] .conversation-text{display:none}.tour-pip[data-panel="person"][data-media="playing"] .character-stage{position:relative;opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease}.tour-pip[data-panel="person"][data-media="playing"] .pip-close{color:#fff;background:#102621a8;border-color:#ffffff4d}.character-stage .response-video{display:block;width:100%;height:min(80svh,780px);max-width:none;object-fit:contain;background:#081817;border-radius:0;margin:0;outline:none}.character-stage .response-video[hidden]{display:none}.character-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 26px 24px;background:linear-gradient(transparent,#04130ed9);pointer-events:none;color:#fff}.character-caption span{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px;opacity:.82}.character-caption strong{font:400 29px/1.1 Georgia,serif}.character-stage .reaction-read{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.character-stage .reaction-read:focus{clip:auto;width:auto;height:auto;margin:0;left:18px;top:18px;max-width:calc(100% - 100px);padding:12px 16px;z-index:6;background:#f6f4eb;color:#244e41;outline:3px solid #89b6a2}.character-stage .reaction-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0}.tour-pip[data-panel="person"] .saved-note-label{margin-top:16px!important}@keyframes conversation-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.tour-pip[data-panel="person"]{width:calc(100vw - 14px);max-height:calc(100svh - 14px);border-radius:11px}.tour-pip[data-panel="person"][data-media="playing"]{width:calc(100vw - 10px)}.conversation-text{padding:27px 20px 24px}.tour-pip[data-panel="person"] .pip-header{margin-right:35px;gap:12px}.tour-pip[data-panel="person"] .pip-header img{width:49px;height:59px}.tour-pip[data-panel="person"] .pip-header h2{font-size:26px}.tour-pip[data-panel="person"] .pip-header .eyebrow{font-size:8px;letter-spacing:.07em}.tour-pip[data-panel="person"] .pip-intro{font-size:14px}.tour-pip[data-panel="person"] .question-choice{font-size:14px;padding:16px 1px;gap:12px}.tour-pip[data-panel="person"] .topic-bar{gap:0}.tour-pip[data-panel="person"] .topic-bar button{padding:8px 10px;font-size:10px}.character-stage .response-video{height:min(82svh,760px);min-height:340px}.character-caption{padding:45px 20px 23px}.character-caption strong{font-size:26px}.tour-pip[data-panel="person"] .answer-bubble{font-size:14px}}
@media(prefers-reduced-motion:reduce){.tour-pip[data-panel="person"],.character-stage,.conversation-text,.tour-pip[data-panel="person"] .question-choice{animation:none!important;transition:none!important}.tour-pip[data-panel="person"]::backdrop{backdrop-filter:none}}
.tour-pip[data-panel="person"]{max-width:calc(100vw - 20px)}.question-arrow{display:block;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);margin-right:5px}
/* Exploration should not disclose hidden interactions on pointer hover. */
.meeting-scene,.room-hotspot,.room-hotspot:hover{cursor:default}.room-hotspot.person:hover{background:transparent}
/* Start the short clip immediately; reserve the fade for returning to text. */
.tour-pip[data-panel="person"]{transition:width .24s ease}.tour-pip[data-panel="person"][data-media="playing"] .character-stage{transition:none}

/* Clicked-person media fills the viewport, rather than a small contained portrait. */
.tour-pip[data-panel="person"][data-media="playing"]{position:fixed;inset:0;margin:auto;width:min(94vw,960px);max-width:none;height:calc(100svh - 24px);max-height:none;overflow:hidden;border-radius:12px;transition:none}
.tour-pip[data-panel="person"][data-media="playing"] .pip-inner,.tour-pip[data-panel="person"][data-media="playing"] .conversation-experience,.tour-pip[data-panel="person"][data-media="playing"] .character-stage{height:100%;min-height:0}
.tour-pip[data-panel="person"][data-media="playing"] .pip-close{position:absolute;right:12px;top:12px;margin:0;float:none}
.character-stage .response-video{height:100%;min-height:0;object-fit:cover;object-position:50% 22%}
.character-caption{top:0;bottom:auto;padding:24px 26px 50px;background:linear-gradient(#04130eb3,transparent)}
.media-start{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:#06171355;color:white;font:600 18px/1.3 Arial,sans-serif;cursor:pointer;z-index:4}
.media-start span:first-child{display:grid;place-items:center;width:80px;height:80px;border:2px solid #fff;border-radius:50%;background:#08241cb3;font-size:30px;padding-left:5px}
.media-start[hidden]{display:none}
@media(max-width:600px){.tour-pip[data-panel="person"][data-media="playing"]{width:100vw;height:100svh;margin:0;border-radius:0}.character-stage .response-video{height:100%;min-height:0}.character-caption{padding:24px 20px 40px}.tour-pip[data-panel="person"][data-media="playing"] .pip-close{top:max(12px,env(safe-area-inset-top));right:12px}}

@media(max-height:500px) and (min-width:601px){.tour-pip[data-panel="person"][data-media="playing"]{width:min(94vw,calc((100svh - 24px)*1.3))}}
