/* October 15 approved light/medium screen typography. Sizes, contrast,
   semantic emphasis and print output remain owned by their components. */
@media screen {
 body:has(.crew-header) .crew-header .crew-brand-copy strong{font-weight:500;letter-spacing:-.04em}
 body:has(.crew-header) :is(#main,.jain-task-content,dialog,.crew-form-dialog,.linda-task-modal) h1{font-weight:400}
 body:has(.crew-header) :is(#main,.jain-task-content,dialog,.crew-form-dialog,.linda-task-modal) :is(h2,h3,h4){font-weight:500}
 body:has(.crew-header) :is(.crew-section-header,.crew-form-section,.linda-modal-section)>:is(h2,h3){font-weight:500}
 body:has(.crew-header) :is(.crew-resource-action,.crew-button,.crew-switcher summary,.crew-nav-group summary,.jain-task-sidebar nav a,.crew-module-sidebar nav a,.crew-module-sidebar nav button){font-weight:500}
 body:has(.crew-header) :is(.crew-module-sidebar,.jain-task-sidebar) [aria-current]{font-weight:600}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){isolation:isolate;border-radius:0}
 body:has(.crew-header) .crew-module-banner{background-size:65% auto;background-position:right 20%}
 body:has(.crew-header) .jain-task-banner .workspace-banner{background-size:65% auto}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):before{z-index:1;background:linear-gradient(90deg,#242526 0%,#242526 35%,rgba(36,37,38,.94) 43%,rgba(36,37,38,.72) 51%,rgba(36,37,38,.3) 63%,transparent 77%)}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:linear-gradient(90deg,#000 25%,#000 40%,transparent 74%);-webkit-mask-image:linear-gradient(90deg,#000 25%,#000 40%,transparent 74%)}
 body:has(.crew-header) :is(.crew-module-banner-copy,.jain-task-banner .banner-copy){z-index:2}
 body:has(.crew-header) :is(.crew-module-banner .crew-module-wordmark,.jain-task-banner .workspace-banner .jain-module-wordmark){font-weight:400;letter-spacing:-.025em}
 body:has(.crew-header) :is(.crew-module-editorial p,.jain-task-banner .module-meaning){font-weight:400}
 body:has(.crew-header) .linda-case-button strong{font-weight:500}
 /* Contained student directory/catalog/kiosk pages share typography, not staff navigation. */
 body.crew-contained :is(h1,.page-heading h1){font-weight:400}
 body.crew-contained :is(h2,h3,h4){font-weight:500}
 body.crew-contained :is(button,.button,.primary,.secondary,label){font-weight:500}
 body.crew-contained :is(.badge,.eyebrow,.bottom-nav a[aria-current]){font-weight:600}
}
@media screen and (max-width:760px){
 body:has(.crew-header) .crew-module-banner{background-size:cover}
 body:has(.crew-header) .crew-module-banner:after{display:none}
 /* Small workspaces retain their compact text banner and existing mobile navigation. */
 body:has(.crew-header) .jain-task-banner .workspace-banner:before{background:linear-gradient(180deg,#242526 0%,rgba(36,37,38,.95) 38%,rgba(36,37,38,.5) 58%,transparent 85%)}
 body:has(.crew-header) .jain-task-banner .workspace-banner:after{mask-image:linear-gradient(180deg,#000,transparent 75%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 75%)}
}
/* Approved photographic module banners: preserve current acronym type sizes. */
@media screen {
 body:has(.crew-header) .crew-module-banner,
 body:has(.crew-header) .jain-task-banner{width:100%;max-width:none;margin-top:0}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){height:200px;min-height:200px;background-size:cover;background-position:center 12%;padding-left:max(36px,calc((100% - 1440px)/2));padding-right:36px}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):before{display:block;content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(12,16,19,.64),rgba(12,16,19,.58) 38%,rgba(12,16,19,.25) 57%,transparent 78%);pointer-events:none}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):after{display:block;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(90deg,#000 0%,#000 25%,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 25%,transparent 70%)}
 body:has(.crew-header) .crew-module-banner-aaron{background-image:url('/CREW/assets/aaron-closet-banner-v1.png')}
 body:has(.crew-header) .crew-module-banner-larry{background-image:url('/CREW/assets/larry-partners-banner-v1.png')}
 body:has(.crew-header) .crew-module-banner-linda{background-image:url('/CREW/assets/linda-onboarding-banner-v1.png')}
 body:has(.crew-header) .jain-task-banner .workspace-banner{background-image:url('/CREW/jain/assets/images/jain-employer-arrivals-hero-v9.png')}
 body:has(.crew-header) :is(.crew-module-editorial small,.jain-task-banner .banner-description){color:#f0f0f0}
}
@media screen and (max-width:760px){
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){height:150px;min-height:150px;padding:18px;background-position:center 20%}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):before{background:rgba(12,16,19,.68)}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):after{mask-image:none;-webkit-mask-image:none}
}
@media screen and (max-width:480px){body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){padding:14px}}
/* Per-photo focal points keep the activity in the short desktop crop. */
@media screen and (min-width:761px){
 body:has(.crew-header) .crew-module-banner.crew-module-banner-aaron{background-position:center 5%}
 body:has(.crew-header) .crew-module-banner.crew-module-banner-larry{background-position:center 25%}
 body:has(.crew-header) .crew-module-banner.crew-module-banner-linda{background-position:center 32%}
 body:has(.crew-header) .jain-task-banner .workspace-banner{background-position:center 5%}
}
/* AI recomposed assets: small right-side subjects, continuous left scenery. */
@media screen {
 body:has(.crew-header) .crew-module-banner.crew-module-banner-aaron{background-image:url('/CREW/assets/aaron-banner-panorama-v2.png');background-position:center 20%}
 body:has(.crew-header) .crew-module-banner.crew-module-banner-larry{background-image:url('/CREW/assets/larry-banner-panorama-v2.png');background-position:center 44%}
 body:has(.crew-header) .crew-module-banner.crew-module-banner-linda{background-image:url('/CREW/assets/linda-banner-panorama-v2.png');background-position:center 29%}
 body:has(.crew-header) .jain-task-banner .workspace-banner{background-image:url('/CREW/assets/jain-banner-panorama-v2.png');background-position:center 42%}
}
@media screen and (min-width:761px){
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){height:clamp(200px,18vw,460px);min-height:200px}
}
/* Original fixed-height banner. Scale photography independently of viewport width. */
@media screen {
 body:has(.crew-header) .crew-module-banner-aaron{--module-photo:url('/CREW/assets/aaron-banner-panorama-v2.png');--module-focal:15%}
 body:has(.crew-header) .crew-module-banner-larry{--module-photo:url('/CREW/assets/larry-banner-panorama-v2.png');--module-focal:40%}
 body:has(.crew-header) .crew-module-banner-linda{--module-photo:url('/CREW/assets/linda-banner-panorama-v2.png');--module-focal:22%}
 body:has(.crew-header) .jain-task-banner .workspace-banner{--module-photo:url('/CREW/assets/jain-banner-panorama-v2.png');--module-focal:42%}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner){height:150px;min-height:150px}
}
@media screen and (min-width:761px){
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):before{z-index:0;background:linear-gradient(90deg,rgba(12,16,19,.65),rgba(12,16,19,.3)),var(--module-photo) center/cover;filter:blur(12px);inset:-15px}
 body:has(.crew-header) :is(.crew-module-banner,.jain-task-banner .workspace-banner):after{inset:0 0 0 auto;width:min(65%,700px);z-index:1;background:var(--module-photo) right var(--module-focal)/auto 300px no-repeat;backdrop-filter:none;-webkit-backdrop-filter:none;mask-image:linear-gradient(90deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%)}
}

/* CHRIS owns its signage artwork at every breakpoint. */
@media screen {
 body:has(.crew-header) .crew-module-banner.crew-module-banner-chris{background-image:url('/CREW/assets/chris-banner-panorama-v3.png');background-position:center 44%;--module-photo:url('/CREW/assets/chris-banner-panorama-v3.png');--module-focal:44%}
}

@media screen and (max-width:760px){
 body:has(.crew-header) .crew-module-banner.crew-module-banner-chris:after{display:none}
}

