/* Tighter editorial proportions and photographs that keep their natural shape. */
.opening{position:relative;isolation:isolate}
.opening::before{content:"";position:absolute;inset:0 -40px;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#d9cbb326 0%,#f2f0e800 42%,#c4ceb326 78%,#f2f0e800 100%);background-size:180% 140%;mask-image:linear-gradient(transparent,#000 18%,#000 78%,transparent);animation:opening-light 22s ease-in-out infinite alternate}
@keyframes opening-light{from{background-position:0% 30%;opacity:.65}to{background-position:100% 65%;opacity:1}}
.scroll-edition .opening-bottom{margin-bottom:36px}
.session-edition .about-section{padding-block:50px}
.session-edition .about-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,100px);align-items:start;max-width:1180px}
.session-edition .about-grid h2{font-size:clamp(38px,4.2vw,56px);line-height:1.03;margin-top:20px;letter-spacing:-.04em}
.session-edition .about-portrait{width:190px;max-width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;margin-top:25px}
.session-edition .portrait-caption{display:block;margin-top:9px;max-width:190px;font-size:11px;line-height:1.5}
.session-edition .about-copy .about-lead{font-size:clamp(23px,2.1vw,28px);line-height:1.25;margin-bottom:22px}
.session-edition .about-copy>p{max-width:540px;line-height:1.75;margin-bottom:18px}
.session-edition .about-details{margin-top:24px;padding-top:17px}
.session-edition .about-links{margin-top:22px}
.score-overture{padding-bottom:45px}
.score-index{margin-top:32px}
.score-project-header{padding-bottom:32px}
.score-project-header h2,.monitor-feature-header h2{font-size:clamp(40px,4.7vw,64px)}
.score-project+.score-project{margin-top:42px}
.monitor-feature{padding:44px 0 40px}
.monitor-feature-header{gap:18px 40px;margin-bottom:22px}
.monitorly-demo{margin-top:18px}
.monitorly-demo .mon-web-intro{padding:20px 0;gap:26px}
.monitorly-demo .mon-web-intro h3{font-size:27px;margin-top:8px}
.monitorly-demo .mon-workbench{padding:20px 0;gap:28px}
.monitorly-demo .mon-live-screen{padding:22px 26px 30px}
.monitorly-demo .mon-live-screen h3{font-size:32px;margin-top:18px}

@media(min-width:761px){
 .opening-grid{grid-template-columns:minmax(0,1fr) 260px;gap:40px}
 .portrait-stack{width:222px;height:267px;margin:5px 12px 15px}
 .portrait-card>img{height:193px}
 .portrait-discovery{margin-bottom:16px}
 .opening h1{font-size:clamp(80px,9.5vw,136px)}
 .opening-manifesto{font-size:clamp(17px,1.65vw,24px)}
 .score-overture h2{font-size:clamp(36px,4.3vw,58px)}
 .score-overture-grid{gap:48px}
 .score-verse{min-height:285px;padding-bottom:55px}
 .score-verse h3{font-size:clamp(28px,2.75vw,38px)}
 .monitorly-demo .mon-modes>button{padding-block:15px;font-size:16px;min-width:225px}
 .edition-contact{padding-block:60px 55px}
 .edition-contact h2{font-size:clamp(45px,7vw,104px)}
}

@media(max-width:760px){
 .opening::before{inset-inline:-18px}
 .session-edition .about-section{padding-block:36px}
 .session-edition .about-grid{grid-template-columns:1fr;gap:28px}
 .session-edition .about-grid>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:0 20px;align-items:start}
 .session-edition .about-grid>div:first-child>.eyebrow{grid-column:1/-1}
 .session-edition .about-grid h2{font-size:clamp(32px,6vw,43px);grid-column:1;grid-row:2;margin-top:20px}
 .session-edition .about-portrait{width:130px;height:auto;grid-column:2;grid-row:2;margin-top:20px}
 .session-edition .portrait-caption{grid-column:2;max-width:130px;font-size:11px}
 .session-edition .about-copy .about-lead{font-size:24px}
 .scroll-edition .opening-bottom{margin-bottom:25px}
 .score-overture{padding-bottom:25px}
 .score-index{margin-top:22px}
 .score-project-header{padding-bottom:20px}
 .score-project-header h2{font-size:36px}
 .score-project+.score-project{margin-top:25px}
 .monitor-feature{padding:30px 0}
 .monitor-feature-header{gap:14px;margin-bottom:18px}
 .monitor-feature-header h2{font-size:38px}
 .monitorly-demo{margin-top:15px}
 .monitorly-demo .mon-web-intro{padding:18px 0}
 .monitorly-demo .mon-web-intro h3{font-size:25px}
 .monitorly-demo .mon-workbench{padding:18px 0;gap:22px}
 .monitorly-demo .mon-live-screen{padding:20px 19px 28px}
 .monitorly-demo .mon-live-screen h3{font-size:28px;margin-top:17px}
}

@media(min-width:761px) and (max-width:1000px){
 .opening::before{inset-inline:-24px}
 .opening-grid{grid-template-columns:minmax(0,1fr) 215px;gap:30px}
 .portrait-stack{width:195px;height:244px;margin-left:0}
 .portrait-card>img{height:171px}
}

@media(max-width:390px){
 .session-edition .about-grid>div:first-child{grid-template-columns:minmax(0,1fr) 108px;gap:0 14px}
 .session-edition .about-grid h2{font-size:32px}
 .session-edition .about-portrait{width:108px;height:auto}
 .session-edition .portrait-caption{max-width:108px}
}

@media(prefers-reduced-motion:reduce){
 .opening::before{animation:none;background-position:55% 50%;opacity:.85}
}

/* Keep the quiet editorial details readable at every viewport. */
.opening-name-link{display:block;width:fit-content}
.opening-name-link:focus-visible{outline-offset:10px}
.edition-header .edition-name{font-size:11px}
.edition-header nav{font-size:14px}
.opening-feature small,.portrait-identity>span{font-size:14px;line-height:1.55}
.opening-bottom p,.opening-bottom a,.score-overture-grid p+p{font-size:14px}
.score-project-header>a,.score-project-header>button,.score-action{font-size:14px}
.score-verse p,.score-verse p.score-pull{font-size:15px}
.score-verse>small,.experiment-note small{font-size:12px}
.score-transition>span:last-child{font-size:14px}
.experiment-note p{font-size:15px}
.edition-footer>.footer-name-link{text-align:left}
@media(max-width:760px){
 .opening-meta{flex-wrap:wrap;line-height:1.6;gap:5px 18px}
 .edition-header nav{font-size:13px}
 .portrait-stack{height:232px}
 .portrait-card>span{line-height:1.4;margin-top:7px}
 .portrait-switch-cue{font-size:11px}
 .opening-feature strong{font-size:15px}
 .opening-feature small,.portrait-identity>span{font-size:13px}
 .opening-bottom p,.opening-bottom a{font-size:13px}
 .score-overture-grid p{font-size:15px}
 .score-index>a>span{font-size:11px;line-height:1.5;max-width:145px}
 .score-verse p,.score-verse p.score-pull{font-size:14px}
 .score-transition>span:last-child{font-size:13px}
}
@media(max-width:360px){.portrait-stack{height:213px}.opening-aside{grid-template-columns:minmax(0,1fr) 112px;gap:12px}}
