/* Visual Lab — motion is progressive; the complete exhibition works without JS. */
html:has(.ed-lab-page){scrollbar-gutter:stable}
.ed-lab-page{--lab-dark:#171815;--lab-pink:#ed5abc;--lab-paper:#eeece6;background:var(--lab-dark);color:var(--lab-paper)}
.ed-lab-page .ed-header{color:var(--lab-paper)}
.ed-lab-page main{overflow:clip}
.ed-lab-page button{padding:0;border:0;background:none;text-align:left}
.ed-lab-page ::selection{background:var(--lab-paper);color:var(--lab-dark)}
.lab-hero{position:relative;background:var(--lab-dark)}
.lab-hero-stage{position:relative;isolation:isolate;height:100svh;min-height:680px;overflow:hidden}
.lab-hero-media{position:absolute;inset:0;z-index:-3;clip-path:circle(120% at 72% 46%)}
.lab-media-inner{position:absolute;inset:0;display:block}
.lab-media-inner>img,.lab-media-inner>video{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.lab-film{opacity:0;transition:opacity .45s ease}
.lab-film.is-ready{opacity:1}
.lab-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171815 3%,#1718158a 35%,transparent 70%),linear-gradient(0deg,#171815a8,transparent 45%);pointer-events:none}
.lab-hero-top{position:absolute;top:145px;left:var(--ed-gutter);right:var(--ed-gutter);display:flex;justify-content:space-between;align-items:flex-start;gap:28px;font-size:12px}
.lab-hero-top a{padding:8px 0}
.lab-hero-top>p{font-family:Editorial Korium,Arial,sans-serif;font-size:19px;letter-spacing:.01em;line-height:1.2;max-width:18ch;text-align:right;text-shadow:0 1px 12px #0008}
.lab-hero-title{position:absolute;bottom:90px;left:var(--ed-gutter);right:var(--ed-gutter);display:grid;grid-template-columns:1.65fr .65fr;gap:8vw;align-items:end}
.lab-hero-title h1{font-size:clamp(125px,17.8vw,330px);line-height:.86!important;letter-spacing:-.08em!important}
.lab-title-mask{display:block;overflow:clip;padding:0 .12em .11em;margin:0 -.12em -.11em}
.lab-title-mask>span,.lab-title-mask>em{display:block}
.lab-title-mask:last-child{margin-top:-.015em}
.lab-title-mask em{font-size:.66em;line-height:1.1;margin-left:25%;color:var(--lab-pink)}
.lab-hero-title>p{max-width:23ch;font-size:clamp(18px,1.65vw,28px);line-height:1.4;margin-bottom:18px;text-shadow:0 1px 16px #0009}
.lab-scroll,.lab-hero-credit{position:absolute;bottom:27px;font-size:10px;letter-spacing:.07em}
.lab-scroll{right:var(--ed-gutter);display:flex;gap:24px;align-items:center;min-height:32px}
.lab-scroll span{font-size:24px}.lab-hero-credit{left:var(--ed-gutter)}
.lab-manifesto{display:grid;grid-template-columns:.65fr 1.65fr;gap:9vw;padding:clamp(105px,13vw,200px) var(--ed-gutter);background:var(--lab-pink);color:var(--lab-dark)}
.lab-signature{font-family:Editorial Korium,Arial,sans-serif;font-size:clamp(26px,2.7vw,44px);line-height:1.1;letter-spacing:.005em}
.lab-statement{font-size:clamp(47px,6.1vw,106px);max-width:18ch;line-height:1.03!important;letter-spacing:-.055em!important}
.lab-word{display:inline-block}
.lab-manifesto-note{font-size:clamp(18px,1.55vw,25px);line-height:1.55;max-width:34ch;margin:65px 0 0 auto!important}
.lab-ribbon{background:var(--lab-paper);color:var(--lab-dark);overflow:hidden;padding:26px 0}
.lab-ribbon-track,.lab-ribbon-group{display:flex;align-items:center;width:max-content;gap:32px}
.lab-ribbon-track{font-size:clamp(56px,7.8vw,130px);line-height:1.1;letter-spacing:-.05em;will-change:transform}
.lab-ribbon-group i{font-style:normal;color:#b82382}
.lab-work{background:var(--lab-paper);color:var(--lab-dark);padding:clamp(95px,11vw,170px) var(--ed-gutter)}
.lab-work-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:clamp(65px,8vw,125px)}
.lab-work-heading h2{font-size:clamp(55px,7.4vw,125px);line-height:1.02!important;letter-spacing:-.055em!important}
.lab-work-heading>p{font-size:13px;line-height:1.7;text-align:right;padding-bottom:10px}
.lab-project{margin-bottom:clamp(100px,13vw,220px);scroll-margin-top:30px}
.lab-project-link{display:block;width:100%}
.lab-project-frame{position:relative;display:block;overflow:hidden;background:#d1cdc7;aspect-ratio:16/9;transform-origin:center}
.lab-project-frame .lab-media-inner>img,.lab-project-frame .lab-media-inner>video{object-fit:contain}
.lab-project-caption{display:grid;grid-template-columns:48px 1fr auto;gap:20px;margin-top:24px;align-items:start}
.lab-index{font-size:12px;padding-top:6px}
.lab-project-caption strong{display:block;font-size:clamp(26px,2.5vw,43px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.lab-project-caption em{display:block;margin-top:5px;font-size:clamp(18px,1.65vw,28px);line-height:1.3;letter-spacing:-.035em}
.lab-detail-label{font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:7px}
.lab-open{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--lab-paper);color:var(--lab-dark);font-size:24px;transition:background .2s}
.lab-project-link:hover .lab-open{background:var(--lab-pink)}
.lab-project-1{width:100%}
.lab-project-2{width:min(56%,640px);margin-left:auto}
.lab-project-2 .lab-project-frame{aspect-ratio:1}
.lab-project-3{width:62%;margin-left:0}
.lab-project-4{width:76%;margin-left:auto}
.lab-project-5{width:86%;margin:0 auto}
.lab-project-5 .lab-project-frame{aspect-ratio:16/10}
.lab-studies{margin:0 calc(-1 * var(--ed-gutter)) clamp(115px,14vw,220px);padding:clamp(85px,10vw,160px) var(--ed-gutter);background:var(--lab-dark);color:var(--lab-paper)}
.lab-studies-heading{display:grid;grid-template-columns:.6fr 1.25fr .7fr;gap:5vw;align-items:end;margin-bottom:75px}
.lab-studies-heading .lab-signature{align-self:start;color:var(--lab-pink)}
.lab-studies-heading h2{font-size:clamp(47px,5.6vw,95px);line-height:1.06!important}
.lab-studies-heading>p:last-child{font-size:18px;max-width:26ch;line-height:1.5}
.lab-landscape{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:2px}
.lab-landscape picture,.lab-landscape img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.lab-landscape{aspect-ratio:1}}
.lab-study-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-top:65px}
.lab-study{display:block;width:100%}
.lab-study-media{display:block;position:relative;overflow:hidden;aspect-ratio:1}
.lab-study>span:last-child{display:block;margin-top:17px;font-size:13px}
.lab-study:nth-child(2){padding-top:65px}
.lab-study:nth-child(3){padding-top:130px}
.lab-invite{background:var(--lab-pink);color:var(--lab-dark);padding:clamp(95px,12vw,190px) var(--ed-gutter)}
.lab-invite h2{font-size:clamp(54px,8.5vw,146px);line-height:1.05!important;margin:40px 0 55px!important;letter-spacing:-.06em!important}
.lab-invite>p:not(.lab-signature){max-width:34ch;font-size:21px;line-height:1.5;margin-left:45%}
.lab-invite>a{margin:24px 0 0 45%;font-size:21px}
.lab-dialog{width:min(1320px,calc(100% - 40px));max-height:92svh;padding:0;border:0;background:var(--lab-paper);color:var(--lab-dark);overscroll-behavior:contain}
.lab-dialog::backdrop{background:#101110e8;backdrop-filter:blur(6px)}
.lab-dialog-header{position:sticky;z-index:3;top:0;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 34px;background:#eeece6fa}
.lab-dialog-header p{font-size:12px;letter-spacing:.05em}
.lab-dialog-header h2{font-size:clamp(30px,4vw,58px);margin-top:5px!important}
.lab-dialog .lab-dialog-close{flex:none;display:grid;place-items:center;width:50px;height:50px;border:1px solid currentColor;border-radius:50%;font-size:30px;line-height:1}
#lab-dialog-copy{font-size:19px;line-height:1.6;max-width:58ch;padding:25px 34px 45px}
#lab-dialog-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;padding:0 34px 34px}
.lab-detail-media{margin:0;min-width:0;background:#e4e1da}
.lab-detail-media.is-wide{grid-column:1/-1}
.lab-detail-media img,.lab-detail-media video{display:block;width:100%;height:auto;max-height:78svh;min-height:0;object-fit:contain}
.lab-detail-media figcaption{font-size:12px;padding:12px 0;background:var(--lab-paper)}
.lab-dialog[open]{animation:lab-dialog-enter .4s ease-out}
@keyframes lab-dialog-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.lab-project-2{margin-right:6%}.lab-study-grid{max-width:1350px;margin-left:auto;margin-right:auto}.lab-hero-title h1{font-size:310px}}
@media(max-width:1000px){.lab-manifesto{grid-template-columns:1fr;gap:50px}.lab-statement{max-width:21ch}.lab-studies-heading{grid-template-columns:1fr 1fr;gap:30px}.lab-studies-heading .lab-signature{grid-column:1/-1}.lab-project-3{width:76%}.lab-project-4{width:88%}.lab-project-caption{grid-template-columns:32px 1fr;gap:12px}.lab-detail-label{display:none}.lab-hero-title{grid-template-columns:1.4fr .7fr;gap:5vw}.lab-hero-title h1{font-size:20vw}.lab-hero-title>p{font-size:18px}}
@media(max-width:700px){
 .ed-lab-page .ed-header nav{color:var(--lab-dark)}
 .lab-hero-stage{min-height:670px;height:100svh;max-height:980px}
 .lab-hero-shade{background:linear-gradient(0deg,#171815 7%,#17181588 40%,transparent 70%)}
 .lab-hero-top{top:108px;gap:24px;font-size:11px}.lab-hero-top>p{font-size:16px;max-width:11ch}
 .lab-hero-title{display:block;bottom:78px}.lab-hero-title h1{font-size:29vw;line-height:.86!important}.lab-title-mask em{margin-left:24%}
 .lab-hero-title>p{font-size:17px;margin:28px 0 0 30%;max-width:24ch}.lab-scroll{font-size:9px;gap:8px;bottom:20px}.lab-hero-credit{font-size:9px;bottom:28px;max-width:19ch}
 .lab-manifesto{padding:90px var(--ed-gutter) 100px;gap:42px}.lab-statement{font-size:clamp(40px,11vw,65px);line-height:1.1!important;max-width:20ch}.lab-manifesto-note{font-size:17px;margin:40px 0 0 12%!important;max-width:32ch}
 .lab-ribbon{padding:16px 0}.lab-ribbon-track,.lab-ribbon-group{gap:22px}.lab-ribbon-track{font-size:49px}
 .lab-work{padding-top:85px;padding-bottom:95px}.lab-work-heading{display:block;margin-bottom:55px}.lab-work-heading h2{font-size:52px}.lab-work-heading>p{font-size:12px;text-align:left;margin-top:25px;padding:0}
 .lab-project{width:100%;margin:0 0 75px}.lab-project-5{margin-bottom:0}.lab-project-caption{margin-top:16px}.lab-project-caption strong{font-size:25px}.lab-project-caption em{font-size:18px}.lab-index{font-size:11px}.lab-open{width:42px;height:42px;top:12px;right:12px;font-size:21px}
 .lab-studies{padding-top:85px;padding-bottom:85px;margin-bottom:85px}.lab-studies-heading{display:block;margin-bottom:40px}.lab-studies-heading h2{font-size:47px;margin:28px 0!important}.lab-studies-heading>p:last-child{font-size:17px;max-width:28ch;margin-left:20%}
 .lab-study-grid{gap:16px;margin-top:28px;grid-template-columns:1fr 1fr}.lab-study:nth-child(2){padding-top:45px}.lab-study:nth-child(3){padding-top:0;width:80%;grid-column:1/-1;justify-self:center;margin-top:12px}.lab-study>span:last-child{font-size:12px;margin-top:10px}
 .lab-invite{padding:85px var(--ed-gutter) 95px}.lab-invite h2{font-size:14.2vw;line-height:1.1!important;margin:32px 0 42px!important}.lab-invite>p:not(.lab-signature){margin-left:0;font-size:18px}.lab-invite>a{margin-left:0;font-size:20px}
 .lab-dialog{width:calc(100% - 16px);max-height:95svh}.lab-dialog-header{padding:20px}.lab-dialog .lab-dialog-close{width:43px;height:43px}.lab-dialog-header p{font-size:11px}.lab-dialog-header h2{font-size:30px}#lab-dialog-copy{font-size:17px;padding:20px 20px 30px}#lab-dialog-media{padding:0 12px 12px;grid-template-columns:1fr;gap:16px}.lab-detail-media.is-wide{grid-column:auto}.lab-detail-media img,.lab-detail-media video{max-height:75svh}
}
@media(prefers-reduced-motion:reduce){.lab-dialog[open]{animation:none}.lab-film{transition:none}.lab-hero-media{clip-path:circle(120% at 72% 46%)}}
@media print{.lab-film,.lab-open,.lab-scroll{display:none}.lab-hero-stage{height:600px;min-height:0}.lab-ribbon-track{transform:none!important}.lab-project{break-inside:avoid}}

/* Keep a consistent rhythm through the exhibition while varying image scale. */
@media(min-width:701px){
 .lab-work{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(22px,3vw,60px);row-gap:clamp(60px,7vw,110px)}
 .lab-work-heading{grid-column:1/-1;margin-bottom:0}
 .lab-work>.lab-project{width:100%;min-width:0;margin:0}
 .lab-work>.lab-project-1{grid-column:1/8}
 .lab-work>.lab-project-2{grid-column:9/-1;align-self:end;margin-bottom:-4vw}
 .lab-work>.lab-project-3{grid-column:1/7}
 .lab-work>.lab-project-4{grid-column:8/-1;align-self:center}
 .lab-work>.lab-project-5{grid-column:2/12}
 .lab-work>.lab-studies{grid-column:1/-1;margin-top:clamp(35px,5vw,90px);margin-bottom:0}
 .lab-work>.lab-project-1 .lab-project-frame{aspect-ratio:1.08}
 .lab-work>.lab-project-2 .lab-project-frame{aspect-ratio:4/5}
 .lab-work>.lab-project-3 .lab-project-frame{aspect-ratio:1.1}
 .lab-work>.lab-project-4 .lab-project-frame{aspect-ratio:1.08}
 .lab-work>.lab-project-5 .lab-project-frame{aspect-ratio:1.75}
}
.lab-work>.lab-project .lab-media-inner>img,.lab-work>.lab-project .lab-media-inner>video{object-fit:cover}
@media(max-width:700px){
 .lab-work>.lab-project{margin-bottom:62px}
 .lab-work>.lab-studies{margin-top:25px;margin-bottom:70px}
}

/* The films are the page: no project windows, artificial mattes or cropped ratios. */
.lab-work{display:block;padding-top:clamp(90px,10vw,150px)}
.lab-work-heading{margin-bottom:clamp(85px,10vw,150px)}
.lab-work>.lab-project{display:block;width:100%;margin:0 0 clamp(120px,15vw,230px)}
.lab-work>.lab-project:last-child{margin-bottom:0}
.lab-project-heading{display:grid;grid-template-columns:52px 1fr;align-items:baseline;gap:16px;margin-bottom:clamp(27px,4vw,64px)}
.lab-project-heading h3{font-size:clamp(36px,4.8vw,76px);font-weight:400;line-height:1.07;letter-spacing:-.06em}
.lab-project-heading p{font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2.3vw,34px);line-height:1.3;margin-top:8px}
.lab-project-media-set{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(20px,3vw,58px);row-gap:clamp(50px,7vw,115px);align-items:start}
.lab-work>.lab-project .lab-project-frame{position:relative;display:block;min-width:0;width:100%;aspect-ratio:var(--lab-aspect);margin:0;overflow:hidden;background:transparent}
.lab-work>.lab-project .lab-media-inner>img,.lab-work>.lab-project .lab-media-inner>video{object-fit:cover}
@media(min-width:701px){
 .lab-project-1 .lab-project-frame-1,.lab-project-3 .lab-project-frame-1{grid-column:1/-1}
 .lab-project-1 .lab-project-frame-2{grid-column:4/12}
 .lab-project-2 .lab-project-frame-1{grid-column:1/7}
 .lab-project-2 .lab-project-frame-2{grid-column:8/-1;margin-top:clamp(100px,10vw,170px)!important}
 .lab-project-2 .lab-project-frame-3{grid-column:1/6}
 .lab-project-2 .lab-project-frame-4{grid-column:7/-1;margin-top:clamp(70px,9vw,150px)!important}
 .lab-project-4 .lab-project-frame-1{grid-column:1/9}
 .lab-project-4 .lab-project-frame-2{grid-column:9/-1;margin-top:clamp(80px,10vw,170px)!important}
 .lab-project-5 .lab-project-frame-1{grid-column:3/11}
 .lab-project-6 .lab-project-frame-1{grid-column:1/7}
 .lab-project-6 .lab-project-frame-2{grid-column:8/-1;margin-top:clamp(115px,12vw,190px)!important}
 .lab-project-6 .lab-project-frame-3{grid-column:2/6}
 .lab-project-6 .lab-project-frame-4{grid-column:7/12;margin-top:clamp(95px,10vw,170px)!important}
 .lab-project-6 .lab-project-frame-5{grid-column:4/10}
}
@media(max-width:700px){
 .lab-work{padding-top:85px;padding-bottom:105px}
 .lab-work-heading{margin-bottom:70px}
 .lab-work>.lab-project{margin-bottom:95px}
 .lab-project-heading{grid-template-columns:32px 1fr;gap:12px;margin-bottom:25px}
 .lab-project-heading h3{font-size:clamp(32px,9vw,45px)}
 .lab-project-heading p{font-size:20px}
 .lab-project-media-set{grid-template-columns:1fr;gap:42px}
 .lab-project-media-set>.lab-project-frame{grid-column:1;margin:0!important}
}

/* Revlon Technology: one full-width capsule and two companion studies. */
@media(min-width:701px){
.lab-project-7 .lab-project-frame-1{grid-column:1/-1}
.lab-project-7 .lab-project-frame-2{grid-column:1/7}
.lab-project-7 .lab-project-frame-3{grid-column:7/-1;margin-top:clamp(55px,7vw,110px)!important}
}

@media(min-width:701px){.lab-project-7 .lab-project-frame-4{grid-column:3/11}}

/* Added studies retain their supplied widescreen and square framing. */
@media(min-width:701px){
 .lab-project-8 .lab-project-frame-1{grid-column:1/-1}
 .lab-project-9 .lab-project-frame-1{grid-column:4/11}
}
