/* The homepage uses the record typography, paper, ink, gutters and 12-column rhythm. */
.home .site-header{position:absolute;inset:0 0 auto;z-index:5;color:#fff}
.home-opening{position:relative;isolation:isolate;min-height:650px;height:100svh;color:#fff;background:#505853;overflow:hidden}
.opening-media,.opening-media picture,.opening-media img,.opening-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opening-media video{opacity:0}.home-opening[data-has-frame] video{opacity:1}
/* A local contrast layer is necessary as the reel cuts between pale and dark sets. */
.home-opening:after{content:'';position:absolute;z-index:-1;inset:28% 0 0;pointer-events:none;background:linear-gradient(0deg,rgba(12,17,23,.72),rgba(12,17,23,.25) 65%,transparent)}
.opening-media{z-index:-2;padding:0}
.opening-media:focus-visible{outline:2px solid #fff;outline-offset:-8px}
.opening-copy{position:absolute;inset:auto 0 85px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:22px;align-items:end}
.opening-identity{grid-column:1/9;letter-spacing:.06em;font-size:12px}
.opening-copy h1{grid-column:1/9;font-size:clamp(72px,8.4vw,144px);font-weight:400;line-height:.88;letter-spacing:-.065em;margin-left:-.055em}
.opening-description{grid-column:9/13;font-size:clamp(18px,1.6vw,25px);line-height:1.32;letter-spacing:-.025em;max-width:350px;padding-bottom:6px}
.opening-disciplines{grid-column:1/9;margin-top:12px;font-size:11px;letter-spacing:.015em}
.mobile-break{display:none}
.opening-bottom{position:absolute;inset:auto 0 14px;display:flex;align-items:center;justify-content:space-between;font-size:11px}
.opening-bottom a{display:inline-flex;min-height:44px;align-items:center;padding:0;gap:28px;text-transform:uppercase;font:inherit}
.home-opening :focus-visible{outline-color:#fff}
.opening-bottom a:hover{text-decoration:underline;text-underline-offset:5px}
.selected-work{padding-top:82px;scroll-margin-top:44px}
.work-intro{display:flex;justify-content:space-between;margin-bottom:50px}
.work-intro h2{font:inherit}.work-intro>span{color:var(--muted)}
.work-entry{margin-bottom:140px}
.work-media{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.motion-preview{position:relative;min-width:0}
.preview-link{display:block;position:relative;overflow:hidden;background:var(--stage)}
.preview-surface{width:100%;padding:0;text-align:inherit}
.preview-link>img{width:100%;height:auto}
.preview-link>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.motion-preview[data-has-frame] video{opacity:1}
.preview-control,.preview-fallback{position:absolute;bottom:12px;right:12px;min-height:44px;display:flex;align-items:center;gap:18px;padding:0 14px;background:var(--paper);color:var(--ink);font-size:10px}
.preview-control:hover{text-decoration:underline;text-underline-offset:4px}
.work-media>.motion-preview{grid-column:1/7}
.work-caption{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:26px;align-items:center;padding-top:26px}
.work-caption-copy{min-width:0}
.work-caption-copy .work-id{display:block;margin-bottom:12px}
.work-id{font-size:11px;line-height:1.9;white-space:nowrap}
.work-id>span{color:var(--muted)}
.work-caption h3{font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.2vw,53px);letter-spacing:-.045em;line-height:1.08}
.work-caption p{font-size:16px;letter-spacing:-.015em;line-height:1.5;margin-top:9px}
.work-arrow{font-size:36px;line-height:1;justify-self:end}
.work-caption:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.work-entry--receiver .work-media>.motion-preview{grid-column:8/13;grid-row:1}
.work-entry--treasure .work-media>.motion-preview{grid-column:2/7}
.work-entry--soft .work-media>.motion-preview{grid-column:1/7}
.work-entry:last-child{margin-bottom:0}
.practice{display:grid;grid-template-columns:2fr 10fr;gap:24px;padding-block:190px 220px;scroll-margin-top:44px}
.practice h2{font-size:11px;margin-top:10px}
.practice-statement{font-size:clamp(33px,4vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.04em;max-width:1080px}
.practice-statement strong{font-weight:500}
.practice-contact{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:18px;line-height:1.4;letter-spacing:-.02em;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.practice-contact:hover{text-decoration-thickness:2px}
.practice-details{display:grid;grid-template-columns:1.4fr 1fr;gap:12%;max-width:875px;margin-top:55px}
.practice-details p{font-size:18px;line-height:1.5;letter-spacing:-.02em}
.experiments{scroll-margin-top:44px}
.experiments h2{font-size:clamp(29px,3.7vw,59px);font-weight:400;line-height:1.06;letter-spacing:-.04em;text-transform:uppercase;max-width:1050px}
.experiments h2 span{margin-left:12px}
.experiments-intro{max-width:660px;margin-top:26px;font-size:18px;line-height:1.5;letter-spacing:-.02em}
.experiment-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;margin-top:48px;align-items:start}
.experiment--lace{grid-column:1/5;grid-row:1/3}
.experiment--world{grid-column:6/9;grid-row:1;margin-top:28%}
.experiment--thinking{grid-column:10/13;grid-row:1/3;margin-top:65%}
.experiment--worn{grid-column:6/10;grid-row:2/4;margin-top:15%}
.experiment img{width:100%}
@media(max-width:1000px) and (min-width:701px){.opening-copy{column-gap:18px}.opening-copy h1{grid-column:1/8;font-size:9.2vw}.opening-description{grid-column:8/13}.opening-disciplines{grid-column:1/8;max-width:350px}.work-caption{gap:20px}.practice{grid-template-columns:1fr 5fr}.practice-details{gap:8%}}
@media(max-width:700px){
 .home-opening{min-height:0;height:100svh}
 .home-opening:after{inset:38% 0 0;background:linear-gradient(0deg,rgba(12,17,23,.8),rgba(12,17,23,.36) 66%,transparent)}
 .opening-copy{bottom:80px;display:block}
 .opening-identity{font-size:11px;margin-bottom:18px}
 .opening-copy h1{font-size:clamp(66px,16.4vw,112px);line-height:.89;letter-spacing:-.065em}
 .opening-description{font-size:17px;line-height:1.35;max-width:325px;margin-top:22px;padding:0}
 .opening-disciplines{font-size:10px;line-height:1.9;max-width:345px;margin-top:22px}
 .opening-bottom{bottom:13px;font-size:10px}
 .opening-bottom a{gap:22px}
 .selected-work{padding-top:48px;scroll-margin-top:32px}
 .work-intro{font-size:11px;margin-bottom:30px}
 .work-entry{margin-bottom:80px}
 .work-media{display:flex;flex-direction:column;gap:25px}
 .work-media>.motion-preview{width:100%}
 .work-caption{grid-template-columns:minmax(0,1fr) 20px;gap:12px;align-items:start;padding-top:23px}
 .work-id{font-size:10px}
 .work-caption-copy .work-id{margin-bottom:8px}
 .work-caption h3{font-size:clamp(21px,5.6vw,34px);line-height:1.08;overflow-wrap:break-word}
 .work-caption p{font-size:14px;margin-top:8px;max-width:320px}
 .work-arrow{font-size:22px;align-self:center}
 .practice{display:block;padding-block:110px 120px;scroll-margin-top:32px}
 .practice h2{font-size:11px;margin:0 0 27px}
 .practice-statement{font-size:clamp(32px,8.3vw,49px);line-height:1.12}
 .practice-details{display:block;margin-top:29px;max-width:440px}
 .practice-details p{font-size:17px;margin-top:23px}
 .practice-contact{font-size:17px;margin-top:16px}
 .experiments{scroll-margin-top:32px}
 .experiments h2{font-size:clamp(26px,6.7vw,40px);line-height:1.1}
 .experiments h2 span{margin-left:5px}
 .experiments-intro{margin-top:22px;font-size:17px}
 .experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px;margin-top:36px}
 .experiment--lace{grid-column:1;grid-row:1}
 .experiment--world{grid-column:2;grid-row:1;margin-top:50%}
 .experiment--thinking{grid-column:2;grid-row:2;margin-top:0}
 .experiment--worn{grid-column:1;grid-row:2;margin-top:25%}


}
@media(max-width:370px){.opening-copy h1{font-size:16.3vw}.opening-description{font-size:16px}.opening-disciplines{font-size:10px}.mobile-break{display:block}}
@media(max-height:650px) and (min-width:701px){.home-opening{min-height:560px}.opening-copy h1{font-size:90px}.opening-copy{row-gap:16px}}

/* Desktop project spreads: the portrait film and its record link share one row. */
@media(min-width:901px){
 .work-entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(40px,6vw,112px);align-items:center;margin-bottom:150px}
 .work-media{display:block;min-width:0}
 .work-caption{display:block;min-width:0;padding:30px 0}
 .work-caption-copy .work-id{margin-bottom:34px;font-size:12px}
 .work-caption h3{font-size:clamp(62px,7.5vw,120px);line-height:.94;letter-spacing:-.06em}
 .work-title-line{display:block}
 .work-entry--apparatus .work-caption h3{font-size:clamp(44px,5.05vw,83px)}
 .work-entry--treasure .work-caption h3{font-size:clamp(49px,5.6vw,92px)}
 .work-caption p{font-size:clamp(18px,1.55vw,24px);line-height:1.4;max-width:390px;margin-top:29px}
 .work-caption .work-arrow{display:block;font-size:48px;margin-top:38px}
 .work-entry:nth-of-type(even) .work-media{grid-column:2;grid-row:1}
 .work-entry:nth-of-type(even) .work-caption{grid-column:1;grid-row:1}
}

/* Compact screens keep the record link inside the film's lower quarter. */
@media(max-width:900px){
 .work-entry{position:relative;isolation:isolate;margin-bottom:64px}
 .work-media{display:block}
 .work-entry::after{content:'';position:absolute;inset:75% 0 0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(12,17,23,.82),rgba(12,17,23,.55) 78%,transparent)}
 .work-caption{position:absolute;inset:auto 0 0;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:end;gap:12px;padding:16px;color:#fff}
 .work-caption-copy .work-id{font-size:11px;line-height:1.4;margin-bottom:6px}
 .work-id>span{color:inherit}
 .work-caption h3{font-size:clamp(20px,5.9vw,32px);line-height:1.03;letter-spacing:-.035em;overflow-wrap:normal}
 .work-caption p{font-size:14px;line-height:1.3;margin-top:6px;max-width:400px}
 .work-caption .work-arrow{font-size:26px;align-self:center}
 .work-caption:focus-visible,.work-media .preview-link:focus-visible{outline-color:#fff;outline-offset:-4px}
 .work-media .preview-control,.work-media .preview-fallback{top:10px;bottom:auto;right:10px;z-index:3;background:rgba(12,17,23,.55);color:#fff;padding-inline:12px;gap:14px}
 .work-media .preview-control:focus-visible{outline-color:#fff}
}
@media(max-width:370px){
 .work-caption{padding:12px;gap:10px;grid-template-columns:minmax(0,1fr) 18px}
 .work-caption-copy .work-id{font-size:10px;line-height:1.4;margin-bottom:4px}
 .work-caption h3{font-size:20px}
 .work-caption p{font-size:13px;line-height:1.25}
 .work-caption .work-arrow{font-size:23px}
}
