/* Shared responsive layer for the existing CAM Lab pages. */
.lab-site{--navy:#092c50;--gold:#ffc600;--muted:#516479;--edge:clamp(20px,5vw,72px);margin:0;color:#172d43;font-weight:400;line-height:1.7;background:#fff}
.lab-site *{box-sizing:border-box}
.lab-site img{max-width:100%;height:auto}
.lab-site a:focus-visible,.lab-site button:focus-visible{outline:3px solid #d49b00;outline-offset:5px}
.lab-site .header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(var(--edge),calc((100vw - 1320px)/2));border-bottom:1px solid #dce4eb;min-width:0}
.lab-site .logo{margin:0;min-width:0;flex:0 1 590px;color:var(--navy);gap:18px}
.lab-site .logo-img{width:86px;height:auto;flex-shrink:0;margin:0}
.lab-site .lab-name{font-size:clamp(15px,1.45vw,21px);line-height:1.35;font-weight:500}
.lab-site .university-name{font-size:14px;color:var(--muted);line-height:1.5;margin-top:5px}
.lab-site .nav-bar-container{display:block;flex:0 0 auto;margin:0}
.lab-site .nav-bar{display:flex;align-items:center;gap:4px;margin:0;padding:0;flex-wrap:wrap}
.lab-site .nav-bar>li{padding:0;display:block}
.lab-site .nav-bar>li a{display:block;padding:10px 11px;font-size:14px;color:var(--navy);border-bottom:3px solid transparent;white-space:nowrap}
.lab-site .nav-bar>li.active{text-decoration:none}
.lab-site .nav-bar>li.active a{border-color:var(--gold);font-weight:600}
.lab-site .nav-bar>li::after{display:none}
.lab-site .nav-bar>li a:hover{background:#f1f5f8}
.lab-site .first-section-title,.lab-site .other-section-title{width:calc(100% - 2*var(--edge));max-width:1200px;margin:48px auto 28px;font-size:clamp(27px,3vw,40px);line-height:1.25;color:var(--navy)}
.lab-site .other-section-title{margin-top:42px}
.lab-site .research-overview,.lab-site .project-overview,.lab-site .publication-list,.lab-site .research-projects-container,.lab-site .member{width:calc(100% - 2*var(--edge));max-width:1200px;margin:0 auto 36px}
.lab-site .member{gap:28px;align-items:flex-start}
.lab-site .member-img{width:auto;max-width:210px;height:185px;object-fit:contain;margin:0;flex-shrink:0}
.lab-site .member-info{margin:0;min-width:0;color:#46586a}
.lab-site .publication-list{padding-left:24px;overflow-wrap:anywhere}
.lab-site .publication-list li{margin-bottom:14px}
.lab-site .research-projects-menu{width:calc(100% - 2*var(--edge));max-width:1200px;margin:24px auto;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lab-site .research-projects-menu>li{height:auto;min-height:56px;padding:12px;line-height:1.5}
.lab-site .research-area-overview{margin:0 0 24px}
.lab-site .project-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.lab-site .project{margin:0;min-width:0;border:1px solid #dce4eb;border-radius:12px;overflow:hidden;background:white}
.lab-site .project .project-pic{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;margin:0;background:#f3f6f8;display:block}
.lab-site .project-description-container{height:auto;min-height:100px;padding:20px;text-align:left}
.lab-site .project-title{margin-bottom:10px}
.lab-site .project:hover{box-shadow:0 8px 24px #092c5012}
.lab-site .swiper{width:calc(100% - 2*var(--edge));max-width:1200px;margin:36px auto}
.lab-site .center{left:0;bottom:0;max-width:100%;padding:12px 18px;background:#092c50e8;line-height:1.5;font-size:14px}
.lab-site .content{margin:32px auto;max-width:1200px;width:calc(100% - 2*var(--edge))}
.lab-site>.project-pic,.lab-site>.customzied-bus-project-pic,.lab-site>.av-equity-project-pic{display:block;width:auto;max-width:min(100% - 2*var(--edge),1000px);height:auto;margin:24px auto}
.lab-site .figure-caption{padding:0 var(--edge);line-height:1.5}
.lab-site .footer{margin-top:64px;border-top:1px solid #dce4eb;color:var(--muted)}
.lab-site .footer p{padding:24px var(--edge);margin:0;font-size:13px}
.lab-site .go-top-button{right:18px;bottom:18px;border-radius:8px}
.teaching-main{max-width:1320px;margin:auto;padding:48px var(--edge) 24px}
.teaching-intro{max-width:760px;margin-bottom:32px}
.teaching-intro .eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#47627b;font-weight:600}
.teaching-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.2;margin:10px 0 16px;color:#092c50;font-weight:600}
.teaching-intro p{font-size:16px;color:#516479;line-height:1.7}
.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.activity-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;border:1px solid #dce4eb;border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s;background:#fff;min-width:0}
.activity-card:hover{box-shadow:0 12px 30px #092c5014;transform:translateY(-3px)}
.activity-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-bottom:1px solid #e3eaf0}
.activity-card-body{padding:24px;display:flex;flex:1;flex-direction:column;gap:12px}
.activity-card .topic{font-size:12px;color:#526d80;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.activity-card h2{font-size:23px;line-height:1.3;margin:0;color:#092c50}
.activity-card p{font-size:14px;color:#516479;line-height:1.7;margin:0 0 12px}
.activity-card .open{font-size:14px;color:#092c50;font-weight:600;margin-top:auto}
@media(min-width:1600px){.lab-site .header{gap:48px}}
@media(max-width:1200px){.lab-site .header{flex-wrap:wrap;gap:16px}.lab-site .logo{flex-basis:auto}.lab-site .nav-bar-container{flex-basis:100%}.lab-site .nav-bar{gap:8px}.lab-site .lab-name{font-size:20px}}
@media(max-width:900px){.activity-grid,.lab-site .project-container{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-site .research-projects-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-site .center{position:relative;left:auto;bottom:auto}.lab-site .swiper-slide{height:auto}}
@media(max-width:600px){.lab-site .header{padding:18px 20px;gap:18px}.lab-site .logo-img{width:62px}.lab-site .logo{gap:12px}.lab-site .lab-name{font-size:16px}.lab-site .university-name{font-size:12px}.lab-site .nav-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.lab-site .nav-bar>li a{text-align:center;font-size:13px;padding:9px 4px}.lab-site .member{flex-direction:column;gap:18px}.activity-grid,.lab-site .project-container{grid-template-columns:1fr}.teaching-main{padding-top:32px}.activity-card-body{padding:20px}.lab-site .first-section-title{margin-top:32px}.lab-site .research-projects-menu{grid-template-columns:1fr}.lab-site .footer{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.activity-card{transition:none}}
