/* Shared, restrained UI and accessibility rules. */
[hidden]{display:none!important}
html{scroll-padding-top:100px}
body{background:#0c0f19!important}
header.top{transform:none!important;opacity:1!important;visibility:visible!important}
[data-obs]{opacity:1!important;transform:none!important}
button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #f2b8c6!important;outline-offset:4px!important}
button,.cta,.pill,.chip{min-height:44px}
.skip-link{position:fixed;top:-100px;left:12px;z-index:99999;padding:12px;background:#fff;color:#111}.skip-link:focus{top:12px}
.mobile-call{display:none}
.hero-call{display:inline-flex;margin-top:20px;text-shadow:none;font-family:system-ui,sans-serif}
.hero .veil{pointer-events:none}.hero .content{z-index:3}
.hero h1,.hero .subhead{animation:none!important;opacity:1!important;transform:none!important}
.data-status{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:12px 0;color:#e9dfe9}
#dataFreshness{line-height:1.6}
#galleryGrid,#rdGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.profile-card{display:block;width:100%;padding:0;overflow:hidden;border:1px solid #343140;border-radius:14px;background:#141623;color:#fff;cursor:pointer;text-align:left}
.profile-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block}
.profile-caption{display:block;padding:12px 14px;font:600 17px/1.3 system-ui,sans-serif}
#scheduleBox .rail{overflow:auto;scrollbar-width:thin;padding:5px}
.day-tile{min-height:70px;font:600 14px/1.4 system-ui,sans-serif;box-shadow:none!important}
.profile-dialog{color:#eee;background:#101320;border:1px solid #484052;border-radius:18px;width:min(960px,94vw);max-height:92vh;max-height:92dvh;padding:0;overflow:auto}
dialog::backdrop{background:rgba(3,5,12,.82)}
.profile-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;position:sticky;top:0;background:#101320;z-index:2;border-bottom:1px solid #302c3d}
.profile-header h2{font:600 26px/1.2 system-ui,sans-serif;margin:0;overflow-wrap:anywhere}
.profile-header .modal-close{position:static;flex:0 0 44px;width:44px;min-height:44px;border:1px solid #5c5265;border-radius:50%;background:#242333;color:#fff;font-size:28px;cursor:pointer}
.profile-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:24px}
.profile-photo{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px;align-self:start}
.profile-info{min-width:0;padding:0;margin:0}.profile-info h3{font:600 19px/1.4 system-ui,sans-serif;margin:24px 0 10px}
.profile-meta{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0;font:15px/1.5 system-ui,sans-serif}
.profile-meta dt{color:#b8b3c4}.profile-meta dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;border:1px solid #514359;background:#282131;color:#fff;padding:8px 12px;border-radius:22px;font:14px/1.3 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.tour-dialog{width:min(1100px,94vw);padding:12px;color:#fff;background:#101320;border:1px solid #514359;border-radius:16px}.tour-dialog>button{display:block;margin:0 0 12px auto}.tour-dialog iframe{width:100%;height:min(70vh,650px);border:0}
#weekList h2.dow{margin:0}.roster .pill{font:600 16px/1.3 system-ui,sans-serif;cursor:pointer}.roster .pill img{object-fit:cover}
@media(max-width:700px){
 .mobile-call{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #a5758c;border-radius:24px;color:#fff;text-decoration:none;font:600 15px system-ui,sans-serif}
 header .brand span{font-size:21px!important}header .brand{gap:6px!important}.nav{gap:8px!important}header .brand svg{width:28px!important;height:28px!important}
 #galleryGrid,#rdGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-caption{padding:10px;font-size:16px}
 .profile-body{grid-template-columns:1fr;gap:16px;padding:16px}.profile-photo{max-height:58vh;width:auto;max-width:100%;justify-self:center}.profile-header{padding:12px 16px}.profile-header h2{font-size:23px}
 #contact .card{grid-template-columns:1fr!important;gap:20px!important}.hero-call{font-size:15px!important}
 .week-sticky-nav{z-index:20!important}.profile-dialog{max-height:94dvh}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
