/* V71 · Source-aware media and private .edu access modal */
img{max-width:100%;height:auto}
.listing-media>img.card-picture,.detail-image>img,.campus-billboard-photo>img,.university-hero>img,.campus-hero-v67>img,.inventor-banner>img,.industry-feature>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto}
.listing-media,.campus-billboard-photo,.university-hero,.detail-image{isolation:isolate}
.product-card .listing-media{aspect-ratio:1.45/1}
.product-card .listing-media>img.card-picture{position:absolute;inset:0;max-width:none}
.campus-billboard-photo>img{object-position:center 45%}
.campus-billboard-photo:has(.generic-image-note)>img{object-position:center 56%}
.university-hero>img{object-position:center 48%}
.generic-image-note{position:absolute;right:12px;top:12px;background:#172323ce;color:#fff;font-size:9px;font-weight:750;padding:6px 9px;border-radius:5px;z-index:2;letter-spacing:.02em}
.campus-billboard-photo .generic-image-note{top:8px;right:8px;font-size:8px}
.campus-billboard-logo img,.shop-logo img,.uni-avatar img,.school-badge,.card-campus-mark img{object-fit:contain!important}
/* Image framing: never stretch a short/portrait photograph to fit the wrong aspect. */
.detail-image>img{aspect-ratio:1.43/1;object-position:50% 48%}
.university-hero{height:clamp(190px,23vw,300px)}
.university-hero:after{pointer-events:none}
.hero-full-photo{width:100%;height:100%;object-fit:cover;object-position:center 54%;max-width:none}
/* A compact access explainer, no implied live login. */
.overlay .dialog{width:min(670px,calc(100vw - 28px));padding:clamp(20px,3vw,36px);border-radius:20px;overscroll-behavior:contain;max-height:min(88vh,840px)}
.edu-access-mark{width:38px;height:38px;border:1px solid #F6EDDC;background:#fff6f0;color:#C4A05A;border-radius:50%;display:grid;place-items:center;font-size:25px;margin-bottom:13px}
.edu-access-modal .kicker{display:block;color:#96712D;font-size:10px;letter-spacing:.14em}
.edu-access-modal h2{font:normal clamp(28px,3.2vw,39px)/1.14 var(--serif);letter-spacing:-.027em;max-width:470px;margin:9px 26px 12px 0}
.edu-access-lead{font-size:14px;line-height:1.62!important;margin:0 0 12px!important;color:#403d38!important}
.edu-access-status{background:#f6f5f1;border-left:3px solid #d1c7b8;padding:12px 14px;border-radius:0 9px 9px 0;font-size:12px!important;line-height:1.5!important;margin:12px 0 16px!important}
.edu-opportunity-context{padding:10px 13px;border:1px solid #e8e3da;border-radius:9px;color:#2a2927!important;font-size:12px!important;line-height:1.5!important}
.edu-opportunity-context span{display:block;color:#96712D;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}
.edu-role-options{display:grid;gap:8px}
.edu-role-options>a{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:13px;border:1px solid #e7e2dc;border-radius:12px;text-decoration:none;color:#2f2c29;background:#fff}
.edu-role-options>a:hover,.edu-role-options>a:focus-visible{background:#fff8f2;border-color:#EDDDB6;outline:none}
.edu-role-options>a>span:last-child{color:#C4A05A;font-size:18px}
.edu-role-icon{width:34px;height:34px;border-radius:9px;background:#f8eee7;color:#C4A05A;display:grid;place-items:center;font-size:20px}
.edu-role-options strong{display:block;font-size:13px;margin:0 0 4px}
.edu-role-options small{display:block;font-size:11px;line-height:1.47;color:#6d665e}
.edu-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}
.edu-modal-footer a{font-size:11px;font-weight:750;color:#96712D;text-decoration:underline;text-underline-offset:3px}
.edu-modal-footer button{font-size:11px;font-weight:750;background:#262320;color:#fff;border:0;border-radius:22px;padding:10px 15px}
.student-builder-callout{scroll-margin-top:102px;background:#f6f2ec;padding:clamp(22px,3.6vw,39px);border:1px solid #eee6db;border-radius:16px;margin:26px 0}
.student-builder-callout h2{font:normal clamp(27px,3vw,37px)/1.17 var(--serif);margin:12px 0}
.student-builder-callout p{font-size:13px;line-height:1.7;max-width:810px;color:#625a54}
.student-builder-callout>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.role-comparison{scroll-margin-top:102px}
@media(max-width:760px){
 .campus-billboard-photo{height:clamp(108px,24vw,170px)}
 .university-hero{height:clamp(190px,42vw,270px)}
 .hero-full-photo{object-position:43% center}
 .product-card .listing-media{aspect-ratio:1.38/1}
 .overlay{padding:14px}
 .overlay .dialog{width:100%;max-height:calc(100dvh - 28px);padding:22px 17px 18px;border-radius:16px}
 .edu-access-modal h2{font-size:30px}
 .edu-role-options>a{padding:11px}
 .edu-role-options small{font-size:10.5px}
 .student-builder-callout .button{font-size:11px}
}
@media(max-width:420px){.product-card .listing-media{aspect-ratio:1.3/1}.generic-image-note{font-size:8px;right:7px;top:7px}.edu-access-modal h2{font-size:26px}.edu-access-lead{font-size:12px}.edu-modal-footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.listing-media img,.campus-billboard-photo img{transition:none!important}}

/* Four portrait, sub-750px campus sources are never expanded into the large horizontal storefront hero. */
.university-hero .campus-portrait-inset{position:absolute;top:14px;right:22px;z-index:3;width:150px;height:calc(100% - 28px);max-height:258px;background:#fff;padding:5px 5px 24px;border-radius:9px;box-shadow:0 8px 25px #0006}
.university-hero .campus-portrait-inset img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:5px}
.university-hero .campus-portrait-inset small{position:absolute;bottom:6px;left:5px;right:5px;display:block;text-align:center;font-size:9px;line-height:14px;font-weight:700;color:#555;white-space:nowrap}
.university-hero:has(.campus-portrait-inset) .university-hero-label{max-width:calc(100% - 215px)}
@media(max-width:650px){.university-hero .campus-portrait-inset{width:94px;right:10px;top:9px;height:calc(100% - 18px);padding-bottom:23px}.university-hero .campus-portrait-inset small{font-size:7px;white-space:normal;line-height:8px;bottom:4px}.university-hero:has(.campus-portrait-inset) .university-hero-label{max-width:calc(100% - 120px);font-size:26px}}
