/* Shared wide-screen layouts. Small-screen page designs remain in their own stylesheets. */
@media screen and (min-width:1800px){
 body{--wide-gutter:6vw;--wide-body:clamp(16px,.65vw,21px)}
 body:not([data-page=index]) .header,body:not([data-page=index]) .utility-bar,body:not([data-page=index]) .institution-strip{padding-inline:var(--wide-gutter)}
 body:not([data-page=index]) .section{max-width:none;width:100%;padding-inline:var(--wide-gutter)}
 body:not([data-page=index]) .page-context{width:88%;max-width:none}
 .section-navigation a{padding-inline:clamp(22px,1.1vw,38px)}
 body:not([data-page=index]) main h1{font-size:clamp(38px,1.75vw,54px)}
 .portal-intro,.course-description,.contact-lead{font-size:var(--wide-body);max-width:65ch}
 .portal-controls .search-box{max-width:1000px}
 .portal-grid,.gallery-grid,.infra-equipment-grid{gap:clamp(24px,1.3vw,44px)}
 .program-section .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .program-card-body{padding:clamp(24px,1.2vw,38px)}
 .program-card h2,.gallery-caption h2{font-size:clamp(20px,.8vw,27px)}
 .program-card p,.news-card p,.gallery-caption time{font-size:clamp(14px,.6vw,19px)}
 .news-card>div>p{max-width:85ch}
 .news-card.press-card{grid-template-columns:clamp(280px,18vw,520px) minmax(0,1fr);gap:clamp(30px,2.5vw,80px)}
 .press-preview img{height:clamp(210px,12vw,360px)}
 .press-card h2{max-width:65ch;font-size:clamp(22px,.9vw,30px)}
 .gallery-image{max-height:440px}
 .gallery-editor form{max-width:1300px}
 .center-dialog{max-width:calc(100vw - 64px)}
 .gallery-detail{width:min(1500px,80vw)}
 .press-detail{width:min(1200px,80vw)}
 .gallery-stage>img{height:min(65vh,760px)}
 /* Reading lists gain room, while prose keeps a comfortable line length. */
 .course-layout.section{grid-template-columns:clamp(260px,12vw,340px) minmax(0,1fr);gap:clamp(55px,4vw,135px)}
 .course-sidebar,.course-content{min-width:0}
 .course-menu-group a{font-size:clamp(14px,.55vw,18px)!important}
 .course-content .document-row h3,.paper-row h3{font-size:clamp(17px,.7vw,23px);max-width:90ch}
 .course-content .document-meta,.paper-meta{font-size:clamp(13px,.5vw,17px);max-width:110ch}
 .course-description,.graduate-note{max-width:80ch}
 .paper-row{grid-template-columns:110px minmax(0,1fr) 40px;gap:36px}
 /* Research: keep the image complete and use the extra width for explanations. */
 .rs-wrap{width:88%;max-width:none}
 .rs-topic-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:7%}
 .rs-topic-reverse{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
 .rs-copy{max-width:850px}
 .rs-copy h2,.rs-safety h2{font-size:clamp(28px,1.2vw,40px)}
 .rs-description,.rs-subtitle{font-size:var(--wide-body);max-width:65ch}
 .rs-points dt{font-size:clamp(14px,.55vw,18px)}
 .rs-points dd,.rs-case-heading p{font-size:clamp(14px,.6vw,19px)}
 .rs-points>div{grid-template-columns:100px minmax(0,1fr)}
 .rs-stage{aspect-ratio:auto;height:clamp(400px,24vw,730px)}
 .rs-thumb{max-height:95px}
 .rs-tabs button{font-size:clamp(11px,.45vw,15px)}
 .rs-case-heading p{max-width:70ch}
 .rs-projects{grid-template-columns:clamp(240px,15vw,460px) minmax(0,1fr)}
 .rs-projects .project-row{grid-template-columns:115px minmax(0,1fr) 240px;font-size:clamp(15px,.6vw,20px)}
 .rs-projects .project-row small,.rs-projects .project-row>span{font-size:clamp(12px,.5vw,16px)}
 /* Center introduction and facilities. */
 .mission-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6%}
 .mission-hero-copy>p:last-child,.mission-foundation p{font-size:var(--wide-body);max-width:65ch}
 .mission-hero-copy h2{font-size:clamp(24px,4.4cqw,42px)}
 .mission-hero-figure img{max-height:650px}
 .mission-goal p{max-width:65ch;font-size:clamp(14px,.6vw,19px)}
 .mission-flow p{font-size:clamp(14px,.55vw,18px)}
 body[data-page=professor] .about{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:8%;align-items:center}
 .profile-image{max-width:540px;justify-self:center;width:100%}
 .profile-copy{max-width:900px}
 .profile-copy p,.profile-copy dd,.profile-credentials p{font-size:var(--wide-body)}
 .career-item>summary h2{font-size:clamp(21px,.9vw,28px)}
 .career-table{font-size:clamp(15px,.6vw,20px)}
 .infra-space-grid img{height:clamp(360px,18vw,600px);object-fit:contain}
 .infra-space-grid{grid-template-columns:1.3fr 1fr;gap:3%}
 .infra-equipment-copy{padding:clamp(24px,1.2vw,38px)}
 .infra-equipment-body{max-width:65ch;font-size:clamp(14px,.6vw,19px)}
 .contact-page .contact-layout{gap:6%;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .contact-space-photo>img{height:clamp(360px,20vw,650px);min-height:0;flex:none;object-fit:contain;background:#e9eef0}
 .contact-info .contact-list dd{font-size:var(--wide-body)}
 .directions-layout{grid-template-columns:minmax(0,1fr) clamp(340px,22vw,650px)}
 .directions-map iframe{height:clamp(460px,25vw,700px)}
 .directions-info{padding:clamp(28px,2vw,60px)}
 .calendar-layout{grid-template-columns:minmax(0,1fr) clamp(320px,22vw,600px);gap:3%}
 .calendar-day,.calendar-blank{min-height:clamp(100px,5vw,160px)}
 /* Short courses stay three across; media grows within sensible limits. */
 .training-page .training-wrap{width:88%;max-width:none}
 .training-hero-grid{gap:6%}
 .training-page .training-hero h1{max-width:14ch;font-size:clamp(48px,2.5vw,80px)}
 .training-hero-description{max-width:48ch;font-size:var(--wide-body)}
 .training-hero figure{max-height:none;min-height:0;align-self:center;background:#e7ece6;border-radius:4px 4px 32px 4px}
 .training-hero figure img{position:static;width:100%;height:clamp(400px,20vw,640px);object-fit:contain}
 .training-hero figure figcaption{position:static;padding:20px 26px;background:#234338}
 .training-purpose-copy>p,.training-practice-copy>p:not(.training-label){max-width:65ch;font-size:var(--wide-body)}
 .training-page .training-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .training-project figure{aspect-ratio:auto;height:clamp(260px,15vw,450px)}
 .training-project>div>p:last-child{max-width:65ch;font-size:clamp(15px,.6vw,20px)}
 .training-practice-photos img{height:clamp(330px,16vw,520px);object-fit:contain}
 .training-practice-copy{max-width:900px}
 /* Preserve compact process art and a viewable video on ultra-wide screens. */
 .dt-workflow{max-width:none;width:100%;padding-inline:var(--wide-gutter)}
 .dt-step-art{width:min(100%,340px)}
 .dt-step-description{max-width:65ch;font-size:var(--wide-body)}
 .dt-cinema{padding-inline:var(--wide-gutter)}
 .dt-screen video{height:min(76vh,960px);aspect-ratio:auto;object-fit:contain}
 .dt-film-heading>p{font-size:var(--wide-body)}
 .admin-page .cms-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .cms-preview iframe{height:75vh}
}
@media screen and (min-width:2400px){
 .gallery-grid,.infra-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mission-goals-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .mission-goal{grid-template-columns:1fr;gap:18px}
}
