/* Campus photography. Original files retain embedded photographer credits. */
body[data-campus]{background:#edf3f3;--ink:#203f47;--line:#d3e0df}
body[data-campus=index]{--campus-photo:url('../images/campus/main-building.jpg');--photo-position:50% 0%}
body[data-campus=hall]{--campus-photo:url('../images/campus/winter-building.jpg');--photo-position:50% 35%}
body[data-campus=alumni]{--campus-photo:url('../images/campus/autumn-campus.jpg');--photo-position:50% 48%}
body[data-campus=activity]{--campus-photo:url('../images/campus/snow-pavilion.jpg');--photo-position:50% 62%}
body[data-campus=study]{--campus-photo:url('../images/campus/autumn-library.jpg');--photo-position:50% 62%}
body[data-campus=contact]{--campus-photo:url('../images/campus/winter-avenue.jpg');--photo-position:50% 48%}
body[data-campus=join]{--campus-photo:url('../images/campus/neu-sign.jpg');--photo-position:50% 48%}
body[data-campus] .site-header{background:#fff}
body[data-campus] .header-inner{padding-top:22px;padding-bottom:22px}
body[data-campus] .container{max-width:1200px;width:calc(100% - 64px)}
.hero,.page-heading{position:relative;isolation:isolate;overflow:hidden;background-color:#183b46;background-image:linear-gradient(90deg,rgba(8,29,37,.86),rgba(8,29,37,.46) 65%,rgba(8,29,37,.18)),var(--campus-photo);background-size:cover;background-position:center,var(--photo-position);color:#fff;border-radius:24px;border:1px solid rgba(24,59,70,.08);box-shadow:0 16px 38px rgba(23,51,59,.10)}
body[data-campus] .hero{margin:28px 0 0;padding:56px;min-height:500px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body[data-campus] .hero h1{font-size:clamp(2.8rem,5.7vw,4.5rem);margin:20px 0;line-height:1.22;text-shadow:0 2px 16px rgba(0,0,0,.15)}
body[data-campus] .hero h1 span{color:#fff}
body[data-campus] .hero .eyebrow{color:#fff}
body[data-campus] .hero p{max-width:480px;color:#fff}
body[data-campus] .hero .button{background:#fff;color:#193d46}
body[data-campus] .hero .button:hover{background:#e4f0ee}
body[data-campus] .page-heading{margin:28px 0 32px;padding:32px 44px 60px;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
body[data-campus] .page-heading h1{margin:20px 0 10px;font-size:clamp(2rem,4vw,3rem);text-shadow:0 2px 16px rgba(0,0,0,.15)}
body[data-campus] .page-heading p{color:#fff;max-width:600px;margin:0}
body[data-campus] .back-link{color:#fff}
.photo-credit{position:absolute;bottom:16px;right:20px;max-width:calc(100% - 40px);font-size:.75rem;line-height:1.6;background:rgba(8,29,37,.8);color:#fff!important;padding:5px 10px;border-radius:6px;text-decoration:none}
.photo-credit:hover{text-decoration:underline}
body[data-campus] .card,body[data-campus] .empty,body[data-campus] .join-panel{background:#fff;border:1px solid #d3e0df;box-shadow:0 7px 22px rgba(23,51,59,.035)}
body[data-campus] .card:hover{border-color:#829f9c;background:#fff}
body[data-campus] article.empty{max-width:900px;margin:0 auto}
body[data-campus] .join-panel{margin:0 auto}
body[data-campus] footer{background:#fff}
@media(min-width:900px){body[data-campus] .page-heading{background-image:linear-gradient(90deg,rgba(8,29,37,.91),rgba(8,29,37,.55) 55%,rgba(8,29,37,.10)),var(--campus-photo)}}
@media(max-width:600px){
 body[data-campus] .container{width:calc(100% - 32px)}
 body[data-campus] .header-inner{padding:18px 16px;gap:14px}
 body[data-campus] nav{width:100%;gap:4px}
 body[data-campus] nav a{font-size:.875rem;padding:8px}
 body[data-campus] .hero{margin-top:16px;min-height:440px;padding:30px 24px 68px;border-radius:18px;background-image:linear-gradient(90deg,rgba(8,29,37,.88),rgba(8,29,37,.58)),var(--campus-photo)}
 body[data-campus] .hero h1{font-size:2.75rem}
 body[data-campus] .hero p{font-size:1rem}
 body[data-campus] .page-heading{margin:16px 0 24px;padding:24px 24px 64px;min-height:280px;border-radius:18px;background-image:linear-gradient(90deg,rgba(8,29,37,.86),rgba(8,29,37,.6)),var(--campus-photo)}
 .photo-credit{bottom:14px;right:14px}
 body[data-campus] .card,body[data-campus] .empty,body[data-campus] .join-panel{padding:24px;border-radius:18px}
}

/* Full-page photographic setting, shared by the header, content and footer. */
body[data-campus]{position:relative;isolation:isolate;background:#213f48}
body[data-campus]::before{content:"";position:fixed;inset:-16vh -6vw;z-index:-2;pointer-events:none;background-image:var(--campus-photo);background-size:cover;background-position:var(--photo-position)}
body[data-campus]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,24,33,.76),rgba(7,24,33,.48) 60%,rgba(7,24,33,.27)),linear-gradient(0deg,rgba(7,24,33,.28),transparent 70%)}
body[data-campus=index]{--photo-position:50% 30%}
body[data-campus] .site-header{background:rgba(255,255,255,.95);border-bottom:1px solid rgba(255,255,255,.3)}
body[data-campus] .hero,body[data-campus] .page-heading{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;isolation:auto}
body[data-campus] .hero{padding:56px 0 32px;min-height:440px;margin:0}
body[data-campus] .page-heading{padding:38px 0 28px;min-height:260px;margin:0 0 20px}
body[data-campus] .hero h1,body[data-campus] .page-heading h1{text-shadow:0 2px 20px rgba(0,0,0,.4)}
body[data-campus] .section-heading,body[data-campus] .section-heading p{color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.45)}
body[data-campus] .section-heading{margin-top:24px}
body[data-campus] .photo-credit{position:static;align-self:flex-start;display:inline-block;max-width:100%;margin-top:24px;background:rgba(7,24,33,.58)}
body[data-campus] .card,body[data-campus] .empty,body[data-campus] .join-panel{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.72);box-shadow:0 12px 32px rgba(0,0,0,.10)}
body[data-campus] footer{background:rgba(7,24,33,.76);color:#fff;border-top:1px solid rgba(255,255,255,.2)}
body[data-campus=contact] .container>section>.muted{color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.45)}
@media(max-width:600px){
 body[data-campus]::after{background:linear-gradient(90deg,rgba(7,24,33,.76),rgba(7,24,33,.60))}
 body[data-campus] .hero{padding:38px 8px 24px;min-height:410px;margin:0;background:none;border-radius:0}
 body[data-campus] .page-heading{padding:30px 8px 24px;min-height:250px;margin:0 0 12px;background:none;border-radius:0}
 body[data-campus] .section-heading{padding:0 8px}
 body[data-campus] .photo-credit{font-size:.75rem;margin-top:20px}
}

body[data-campus=research]{--campus-photo:url('../images/campus/autumn-library.jpg');--photo-position:50% 50%}
body[data-campus=leisure]{--campus-photo:url('../images/campus/neu-sign.jpg');--photo-position:50% 48%}
@media(min-width:1100px){body[data-campus=index] .cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
