.public-roster-status{margin:130px auto 12px;max-width:1280px;padding:12px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:#fff7ee;border:1px solid #ffdfc7;border-radius:12px;color:#714b31}.public-roster-status nav{display:flex;gap:18px}.public-roster-status [aria-current]{color:#ff6800;font-weight:700}.public-avatar{background:#fff4e9;object-fit:cover}.public-avatar-empty{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:48px;font-size:11px;color:#946e52;text-align:center}.profile-photo.public-avatar-empty{width:150px;height:180px}.ensemble-public-avatar{position:absolute;top:0;left:50%;transform:translateX(-50%);width:38px;height:42px;border-radius:50%;pointer-events:none}.hero-stats strong{font-size:32px}.hero-stats span{display:block}main[hidden], [hidden]{display:none!important}

.roster-person>.public-avatar,.related-person>.public-avatar{width:42px;height:48px;flex:none}.public-avatar-empty.v5-recognition-avatar{width:72px;height:82px}

/* Keep the original effects running while removing review-only controls and explanations. */
.hero-foot,.fx5-controls,#motion-toggle,#fx5-replay,#fx5-intensity,#fx5-static{display:none!important}
.regional-v4 .interaction-hint,.regional-v4 #map-tip{display:none!important}
#teachers .section-heading>p,#teachers .booking-guide,#filter-summary,#teachers .library-footer{display:none!important}
footer a[href^="review-v4.html"],footer a[href^="design-notes.html"],footer a[href^="plan.html"]{display:none!important}
#teacher-grid{--card-row:350px;grid-auto-rows:var(--card-row);height:calc(var(--card-row)*2 + 28px);max-height:calc(var(--card-row)*2 + 28px);overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:4px 10px 4px 4px;scrollbar-gutter:stable}
#teacher-grid .teacher-card{min-height:0;height:100%;box-sizing:border-box;overflow:hidden}
#teacher-grid .teacher-info{min-height:0}#teacher-grid .v4-card-audience{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#teacher-grid .teacher-company{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#teacher-table-wrap{max-height:720px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#teacher-table thead{position:sticky;top:0;background:#fff7ee;z-index:1}
.public-course-titles{display:flex;flex-direction:column;gap:5px;min-width:0}
.public-course-link,.public-course-more{background:none;border:0;color:#17314d;padding:3px 0;text-align:left;line-height:1.5;font:inherit;cursor:pointer}
.public-course-link:hover,.public-course-more:hover{color:#ff6800;text-decoration:underline}
#teacher-grid .public-course-titles{height:100px;overflow:hidden;font-size:12px}
#teacher-grid .public-course-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}
.public-course-more{font-size:11px;color:#dc620d}
.map-course-titles{height:140px!important;min-height:140px;max-height:140px;overflow:hidden;display:flex!important;flex-direction:column;gap:8px;align-items:stretch!important}
.map-course-titles button{width:100%;height:38px;min-height:38px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;animation:map-course-arrive .45s ease both}
.map-course-titles button:nth-child(2){animation-delay:.07s}.map-course-titles button:nth-child(3){animation-delay:.14s}
@keyframes map-course-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.public-course-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.public-course-filters button{padding:9px 15px;border:1px solid #ffd6b7;background:white;color:#28405a;border-radius:20px;cursor:pointer}.public-course-filters [aria-pressed=true]{color:white;background:#ff6a00;border-color:#ff6a00}
.public-course-count{font-size:12px;color:#788599;margin:8px 0 14px}.public-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:220px;gap:16px;height:698px;overflow-y:auto;overscroll-behavior:contain;align-content:start;scrollbar-gutter:stable;padding:3px 12px 3px 3px}
.public-course-grid .course-tile{display:flex;flex-direction:column;min-width:0;margin:0;padding:20px;border:1px solid #ffdcc5;border-radius:14px;background:white;overflow:hidden;box-sizing:border-box}.public-course-grid h4{margin:8px 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-course-grid p{font-size:12px;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-course-grid small{font-size:11px;color:#7d8799}.public-course-grid button{margin-top:auto;text-align:left;border:0;background:none;color:#ed6b13;cursor:pointer;padding:8px 0 0}.public-course-category{font-size:10px;color:#b96327}
.ensemble-circles .ensemble-stage{display:grid;grid-template-columns:repeat(8,minmax(95px,1fr));gap:20px;align-items:center;min-width:960px;height:320px;padding:120px 30px 65px;box-sizing:border-box}
.ensemble-circles .ensemble-person{position:relative;height:120px;width:100%;border:0;min-width:0;flex:none;padding:0;cursor:pointer}
.ensemble-circles .ensemble-circle-avatar{display:flex;position:absolute;left:50%;top:0;transform:translateX(-50%);width:110px;height:110px;min-width:0;min-height:0;border-radius:50%;object-fit:cover;object-position:center 25%;box-sizing:border-box;border:3px solid white;box-shadow:0 7px 24px #d58c4930;pointer-events:none;transition:border-color .2s,box-shadow .2s}
.ensemble-circles .ensemble-person-label{bottom:-14px;opacity:1;transform:translate(-50%,0);font-size:12px}.ensemble-circles .ensemble-person.active .ensemble-circle-avatar{border-color:#ff8b38;box-shadow:0 0 0 5px #ffbc7c30,0 10px 28px #dd782344}
.ensemble-circles .ensemble-person:focus-visible::before{inset:-5px 0 0;border-radius:70px}.ensemble-circles .ensemble-person::after,.ensemble-circles .ensemble-floor,.ensemble-circles .ensemble-demo-note{display:none}
.ensemble-circles .ensemble-watermark{top:20px;font-size:90px}.birthday-person-v4[data-profile]{border:0;background:transparent;font:inherit;cursor:pointer}.birthday-person-v4[data-profile]:hover{color:#ff6800}
@media(max-width:760px){#teacher-grid{--card-row:360px}.public-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ensemble-circles .ensemble-stage{min-width:960px;height:300px;padding-top:100px}.public-course-grid .course-tile{padding:15px}}
@media(max-width:480px){.public-course-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.map-course-titles button{animation:none}}
#teacher-grid{--card-row:460px}
#teacher-grid .v5-card-top{padding:10px 16px 0;height:32px;box-sizing:border-box}
#teacher-grid .v4-teacher-info{display:grid;grid-template-rows:65px 100px 36px 22px 40px;gap:6px;padding:14px 16px;flex:none}
#teacher-grid .v5-recognition-avatar{width:58px;height:64px;flex:none}
#teacher-grid .v4-card-subject{margin:0;padding:6px 0 0;min-height:0}
#teacher-grid .public-course-titles{height:78px;gap:1px}
#teacher-grid .public-course-link{padding:1px 0;line-height:18px}
#teacher-grid .v4-card-audience,#teacher-grid .v4-card-meta{margin:0;min-height:0;overflow:hidden}
#teacher-grid .v4-teacher-actions{padding-top:5px;min-height:0;margin:0;align-items:center}
#teacher-grid .teacher-name h3{font-size:21px}
.public-registration-note{margin:18px 0;color:#728097;font-size:12px}.public-registration-note p{white-space:pre-wrap;line-height:1.8}.public-registration-note summary{cursor:pointer}

/* fix5: remove inherited two-column container and fixed-width avatar stage. */
#course-groups{display:block;min-width:0;width:100%;max-width:100%}
#course-groups>.public-course-filters,#course-groups>.public-course-count,#course-groups>.public-course-grid{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box}
.ensemble-region-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0;color:#788599;font-size:12px}
.ensemble-region-filter label{display:flex;align-items:center;gap:12px}.ensemble-region-filter select{max-width:100%;min-height:40px;border:1px solid #ffd6b7;border-radius:10px;background:white;padding:8px 12px;color:#28405a;font:inherit}
.ensemble-circles .ensemble-scroller{width:100%;max-width:100%;max-height:520px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.ensemble-circles .ensemble-stage{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-auto-rows:150px;gap:20px;min-width:0;width:100%;max-width:100%;height:auto;min-height:230px;padding:65px 24px 30px;align-items:start;box-sizing:border-box}
.ensemble-circles .ensemble-person{min-width:0;max-width:100%;touch-action:pan-y pinch-zoom}
.ensemble-circles .ensemble-person-label{max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
.ensemble-circles .ensemble-watermark{width:100%;max-width:100%;font-size:clamp(30px,7vw,90px)}
.regional-v4,.regional-v4 .connection-layout,.regional-v4 .connection-layout>.panel,.regional-v4 .roster-card,.regional-v4 .roster-person{min-width:0;max-width:100%;box-sizing:border-box}
.regional-v4 #review-map>svg{width:100%;height:100%;max-width:100%;display:block}
.regional-v4 .roster-person>span{min-width:0}.regional-v4 .roster-person b,.regional-v4 .roster-person small{overflow-wrap:anywhere}
@media(max-width:480px){.ensemble-circles .ensemble-stage{gap:14px;padding-inline:14px}.ensemble-region-filter{align-items:flex-start}.ensemble-region-filter label{flex-wrap:wrap}}

.field-missing{color:#b42318!important;font-weight:600}.field-issues{color:#b42318;background:#fff3f1;border:1px solid #f5c0b9;border-radius:8px;padding:12px 12px 12px 30px;font-size:12px;line-height:1.8}.store-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #eadbd2;margin:10px 0;border-radius:10px}.store-group input:placeholder-shown,[data-store-count]:placeholder-shown{border-color:#d92d20;background:#fff5f4}.real-profile-fields small,.detail-grid small{display:block;white-space:pre-wrap}.store-group button{align-self:end}.field-course-category{min-height:40px}@media(max-width:650px){.store-group{grid-template-columns:1fr 1fr}}

#topic-filter[multiple]{min-height:104px;width:100%;max-width:100%}.v4-filter-controls label{min-width:0}#teacher-grid .v4-card-audience .field-missing{font-size:11px}

/* Original directory: sharing and co-creation remain teacher filters. */
#co-creation-filter[multiple]{min-height:104px;width:100%;max-width:100%}.v4-filter-controls{align-items:end}.v4-filter-controls select{max-width:100%}

#teachers .v4-filter-controls{grid-template-columns:repeat(4,minmax(0,1fr))}#teachers .v4-filter-controls>.button{justify-self:end;grid-column:4}@media(max-width:760px){#teachers .v4-filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}#teachers .v4-filter-controls>.button{grid-column:2}}

/* Phone gutters are outside each scrollport, so a swipe there scrolls the page. */
@media(max-width:600px){
  #teacher-grid,#teacher-table-wrap{
    width:calc(100% - 48px);margin:24px auto 32px;box-sizing:border-box;
    height:min(460px,56svh);max-height:min(460px,56svh);overscroll-behavior:auto;
  }
  #teacher-grid{padding:4px;gap:16px}
  #teacher-grid .teacher-card,.public-course-grid .course-tile{overflow:clip}
  #teacher-grid .v4-teacher-actions>button{min-width:0}
  #teacher-grid .v4-teacher-actions>button:first-child{white-space:normal;gap:6px}
  #course-groups>.public-course-grid{
    width:calc(100% - 48px);margin:24px auto 32px;padding:4px;
    height:min(420px,50svh);max-height:min(420px,50svh);overscroll-behavior:auto;
  }
  .ensemble-circles .ensemble-scroller{
    width:calc(100% - 48px);margin:24px auto 28px;
    max-height:min(360px,44svh);overscroll-behavior:auto;
  }
  .ensemble-circles .ensemble-stage{padding:28px 6px 20px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ensemble-circles,.ensemble-circles .ensemble-world{overflow:clip}
  .regional-v4 .roster-window{
    width:calc(100% - 56px);margin:20px 28px 28px;
    height:min(320px,40svh);overscroll-behavior:auto;
  }
  #teachers .v4-filter-controls{margin-inline:24px;row-gap:20px;column-gap:16px}
  #topic-filter[multiple],#co-creation-filter[multiple]{height:104px;min-height:104px;max-height:104px;overscroll-behavior:auto}
}

/* Public cards keep every field in normal document flow, including long source text. */
#teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-items:start;width:calc(100% - 80px);height:min(840px,calc(100svh - 240px));max-height:min(840px,calc(100svh - 240px));margin:28px 40px 36px;overscroll-behavior:auto;box-sizing:border-box}
#teacher-grid .public-teacher-card{height:auto;min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px;overflow:visible;align-self:start}
.public-teacher-heading{display:flex;align-items:center;gap:14px;min-width:0}
.public-teacher-heading h3{font-size:23px;line-height:32px;margin:0;overflow-wrap:anywhere}
.public-teacher-heading .public-avatar{width:64px;height:72px;flex:none;object-fit:cover;border-radius:12px}
.public-teacher-card .mx-teacher-badges{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}
.public-field-label{display:block;font-size:11px;color:#7a8798;line-height:18px;margin-bottom:4px}
.public-teacher-card p{margin:0;font-size:12px;line-height:22px;white-space:normal;overflow-wrap:anywhere}
.public-teacher-company p{font-weight:600;color:#24334b}
.public-teacher-tracks,.public-teacher-courses,.public-teacher-scenes{border-top:1px solid #f4e8dc;padding-top:12px}
#teacher-grid .public-teacher-card .public-course-titles{height:auto;min-height:0;overflow:visible;gap:7px}
#teacher-grid .public-teacher-card .public-course-link{white-space:normal;overflow:visible;text-overflow:clip;line-height:22px;text-align:left;padding:0;overflow-wrap:anywhere}
.public-teacher-action{width:100%;min-height:44px;margin-top:4px;padding:10px 12px;white-space:normal;border:1px solid #ffd1af;border-radius:9px;background:#fff6ed;color:#c45508;font-size:12px;text-align:left}
.public-profile-company,.public-profile-role{white-space:normal;overflow-wrap:anywhere}
#teacher-table-wrap{width:calc(100% - 80px);margin:28px 40px 36px;max-height:72svh;overscroll-behavior:auto;box-sizing:border-box}
#course-groups>.public-course-grid{width:calc(100% - 80px);margin:28px 40px 36px;height:min(698px,calc(100svh - 260px));max-height:min(698px,calc(100svh - 260px));grid-auto-rows:max-content;overscroll-behavior:auto}
.fx5-section-heading{overflow:clip}
.public-course-grid .course-tile{overflow:visible;gap:8px;height:max-content;min-height:220px;align-self:start}.public-course-grid h4{line-height:24px}.public-course-grid p{line-height:22px}.public-course-grid small{line-height:18px}.public-course-grid button,.public-teacher-card button{line-height:22px}
.public-course-grid h4,.public-course-grid p{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal;overflow-wrap:anywhere;margin:0}
.public-course-grid button{min-height:44px}

.public-multi-field{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:12px;color:#647467}
.public-multi-button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:48px;border:1px solid #cdd7ca;border-radius:9px;background:#fff;color:#28324a;padding:10px 12px;font-size:13px;text-align:left}
.public-multi-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.public-multi-button b{flex:none}
.public-multi-button:focus-visible{outline:2px solid #ff6a1b;outline-offset:3px}
.public-multi-popup{position:fixed;z-index:900;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:12px;background:#fff;border:1px solid #ffd1ad;border-radius:12px;box-shadow:0 10px 32px #532f1929;color:#24334b}
.public-multi-popup[hidden]{display:none!important}
.public-multi-search{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #d5dce3;border-radius:8px;padding:10px;font:inherit;flex:none}
.public-multi-options{min-height:0;max-height:180px;overflow-y:auto;overscroll-behavior:auto;scrollbar-gutter:stable;flex:1}
.public-multi-options label{display:flex;align-items:flex-start;gap:10px;padding:10px 4px;min-height:44px;box-sizing:border-box;font-size:12px;line-height:1.7;cursor:pointer}
.public-multi-options label[hidden]{display:none!important}
.public-multi-options input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#ff6a00}
.public-multi-options span{overflow-wrap:anywhere}
.public-multi-footer{display:flex;align-items:center;gap:8px;font-size:11px;flex:none;border-top:1px solid #f0e6df;padding-top:6px}
.public-multi-footer>span{margin-right:auto}
.public-multi-footer>button{min-height:40px;padding:6px 10px;border:1px solid #ffdcc4;border-radius:8px;background:#fff9f4;color:#b7510b;font-size:12px}
@media(max-width:1000px){#teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 #teacher-grid{grid-template-columns:1fr;width:calc(100% - 48px);margin:24px auto 32px;height:min(460px,56svh);max-height:min(460px,56svh)}
 #teacher-grid .public-teacher-card{padding:16px;gap:12px}
 #teacher-table-wrap{width:calc(100% - 48px);margin:24px auto 32px;height:min(460px,56svh);max-height:min(460px,56svh)}
 #course-groups>.public-course-grid{width:calc(100% - 48px);margin:24px auto 32px;height:min(420px,50svh);max-height:min(420px,50svh)}
 .public-multi-field{font-size:10px}
 .public-multi-button{min-height:45px;font-size:12px}
}

/* Shared pagination leaves page-scroll space outside the data viewport. */
.mx-page-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:14px 18px;color:#64748b;font-size:12px;background:#fffaf5;border-block:1px solid #ffdec7}
.mx-page-controls>span:first-child{margin-right:auto}
.mx-page-controls button{border:1px solid #ffcda9;border-radius:8px;padding:9px 14px;background:#fff;color:#cc5500;cursor:pointer;min-height:38px}
.mx-page-controls button:disabled{opacity:.4;cursor:default}
[aria-busy=true]{opacity:.65;pointer-events:none}
.ws5-list-table{width:100%;min-width:0!important;table-layout:fixed}.ws5-list-table th,.ws5-list-table td{padding:12px 10px;overflow-wrap:anywhere}.ws5-list-table th:first-child{width:48%}.ws5-list-table th:last-child{width:22%}
.ws5-table-scroll{max-height:620px;overflow:auto;overscroll-behavior-y:auto}.ws5-layout{min-width:0}.ws5-layout>.ws5-card{min-width:0}
@media(max-width:640px){.mx-page-controls{gap:8px;padding:12px 8px}.mx-page-controls>span:first-child{width:100%}.ws5-table-scroll{max-height:52vh;margin-inline:14px;overscroll-behavior-y:auto}}

#teacher-grid,.public-course-grid,.ensemble-scroller,#teacher-table-wrap{overscroll-behavior-y:auto!important}

@media(min-width:761px){.ensemble-circles .ensemble-scroller{max-height:none;height:auto;overflow-y:visible;scrollbar-gutter:auto}}
