/* Real projects. Player styles deliberately isolated from the lead drawer. */
.work-grid .work-card{display:flex;flex-direction:column;overflow:hidden;background:#f8f8f2;min-width:0}
.cases .case-grid>.work-card{opacity:1;translate:none}
.cases{background:#080908;color:#f4f4ef}
main>section.cases.section{padding-block:clamp(12px,1.5vh,22px)!important;justify-content:flex-start}
.cases>.section-label{color:#a9ada5}
.cases>.section-label{margin-bottom:clamp(12px,1.5vh,16px)!important}
.cases .section-title p{color:#aeb2aa}
.cases .section-title{margin-bottom:clamp(12px,1.5vh,16px)!important}
.cases .section-title h2{white-space:nowrap}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,22px);align-items:stretch}
@media(min-width:901px){.work-grid{column-gap:clamp(8px,1.1vw,14px)}}
.work-grid .work-card{position:relative;background:#111310;border:1px solid #ffffff12;border-radius:12px;min-height:0}
@media(min-width:901px){.work-grid .work-card{width:90%;justify-self:center}}
.work-cover{position:relative;display:block;overflow:hidden;isolation:isolate;background:#17221b;height:clamp(320px,calc(100svh - 220px),720px);flex:1 1 auto;min-height:0;color:#fff;text-decoration:none}
.work-cover-art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow:hidden;padding:clamp(18px,2.1vw,30px);background:#17221b;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.work-poster-kentatsu{background-image:linear-gradient(180deg,#05070638 0%,#080b09ad 46%,#080b09b8 100%),url("assets/poster-kentatsu.jpg");background-position:center,center 45%;background-size:cover}
.work-poster-archive{background-image:linear-gradient(180deg,#05070638 0%,#080b09ad 46%,#080b09b8 100%),url("assets/poster-archive.jpg");background-position:center,center 48%;background-size:cover}
.work-poster-vrf{background-image:linear-gradient(180deg,#05070638 0%,#080b09ad 46%,#080b09b8 100%),url("assets/poster-vrf.jpg");background-position:center,center 45%;background-size:cover}
.work-cover-mark,.work-cover-title,.work-cover-subtitle{position:relative;z-index:1}
.work-cover-mark{position:relative;top:auto;right:auto;display:block;width:clamp(100px,12vw,146px);height:auto;margin:0 0 clamp(18px,2.5vw,32px);font-size:0;line-height:0;color:transparent}
.work-cover-mark img{display:block;width:100%;height:auto;filter:brightness(0) invert(.95);clip-path:inset(0 0 0 42%)}
.work-cover-mark::after{content:"";position:absolute;inset:0;background:url("assets/logo-rk-transparent.png") center/100% auto no-repeat;clip-path:inset(0 58% 0 0);pointer-events:none}
.work-cover-mark span{display:none}
.work-cover-title{max-width:100%;font-size:clamp(23px,2.35vw,36px);font-weight:750;letter-spacing:-.02em;line-height:1.08;text-wrap:balance;color:#f7f7f3}
.work-cover-subtitle{display:block;width:auto;max-width:100%;white-space:normal;text-wrap:balance;margin-top:11px;color:#e2e4df;font-size:clamp(12px,1.05vw,15px);font-weight:400;letter-spacing:0;line-height:1.35}
.work-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#05070620 0%,transparent 28%,#080b0924 68%,#080b094d 100%);z-index:0;pointer-events:none}
.work-tag,.work-duration{display:none}
.work-play{position:absolute;z-index:1;left:50%;top:50%;width:clamp(56px,5.5vw,72px);height:clamp(56px,5.5vw,72px);display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;background:#ffd633;color:#11130f;box-shadow:0 8px 24px #0005,0 0 30px 16px #ffd63324;transition:background .25s,scale .25s,box-shadow .25s}
.work-play svg{width:30px;height:30px;fill:currentColor;margin:0;transform:translateX(1px)}
.work-inline-player{position:absolute;z-index:3;inset:0;background:#050706;overflow:hidden;border-radius:inherit}
.work-inline-player::before{content:"";position:absolute;z-index:0;inset:-18px;background-image:var(--work-poster);background-position:center;background-size:cover;filter:blur(16px) brightness(.62) saturate(.78);transform:scale(1.04)}
.work-inline-player::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,#080b09a8,#080b094d 50%,#080b09a8);pointer-events:none}
.work-inline-video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent}
.work-inline-toolbar{position:absolute;z-index:2;top:12px;right:12px;left:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}
.work-inline-select{display:flex;gap:6px;pointer-events:auto}
.work-inline-select:empty{display:none}
.work-inline-select button,.work-inline-close{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #ffffff45;border-radius:999px;background:#10140fdb;color:#f7f7f3;font-family:inherit;font-size:12px;font-weight:600;line-height:1;backdrop-filter:blur(8px);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.work-inline-select button[aria-pressed="true"]{background:#ffd633;color:#11130f;border-color:#ffd633}
.work-inline-close{width:38px;padding:0;font-size:0;font-weight:400;pointer-events:auto;position:relative}
.work-inline-close::before,.work-inline-close::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.work-inline-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.work-inline-select button:hover,.work-inline-close:hover{border-color:#ffd633;background:#ffd633;color:#11130f}
.work-inline-select button:focus-visible,.work-inline-close:focus-visible{outline:2px solid #ffd633;outline-offset:3px}
.work-duration{display:flex;align-items:center;gap:10px}.work-duration i{font-style:normal;font-size:9px;letter-spacing:.14em;color:#ffd633}
.work-grid .case-copy{padding:22px!important;min-height:0!important;flex:1;display:flex;flex-direction:column;background:#111310;color:#f4f4ef}
.work-grid .case-copy small{color:#a5a99f}
.work-grid .case-copy h3{margin:12px 0 10px;font-size:21px;line-height:1.3;max-width:310px}
.work-grid .case-copy p{margin:0 0 20px;min-height:0;line-height:1.55;font-size:15px;color:#b9bdb5}
.work-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #ffffff20;font-size:14px;font-weight:600;color:#f0d43b;text-decoration:none}
.work-link span{font-size:22px;font-weight:400;transition:transform .25s}
.work-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;font-size:13px;line-height:1.6;color:#a5aaa1}
.work-footer p{margin:0}.work-footer a{text-decoration:none;border-bottom:1px solid #939d8980;padding:5px 0;color:#263624}
.work-cover:focus-visible,.work-link:focus-visible,.work-footer a:focus-visible{outline:3px solid #817129;outline-offset:-4px}
@media(hover:hover){.work-cover:hover .work-cover-art{transform:scale(1.035)}.work-cover:hover .work-play{scale:1.08;box-shadow:0 10px 30px #0006,0 0 36px 19px #ffd6332b}.work-link:hover span{transform:translate(2px,-2px)}}
.work-dialog{position:fixed;inset:0;margin:auto;width:min(880px,calc(100% - 48px));height:fit-content;max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #ffffff20;border-radius:20px;background:#17221b;color:#f3f3eb;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;color-scheme:dark;box-shadow:0 24px 100px #0005}
.work-dialog::backdrop{background:#080e0acc;backdrop-filter:blur(9px)}
.work-dialog-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);position:relative;min-width:0}
.work-dialog .work-close{position:sticky;grid-area:1/2;align-self:start;justify-self:end;top:12px;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:12px 12px -56px 0;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#17251ff2;color:#fff;cursor:pointer;transition:background .2s}
.work-close svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.work-dialog .work-close:hover{background:#364637}
.work-stage{grid-area:1/1;display:flex;align-items:center;justify-content:center;min-width:0;padding:24px;background:#0e1712;border-right:1px solid #ffffff0c}
.work-player{position:relative;flex:none;width:min(315px,calc((100dvh - 112px) * .5625),100%);height:auto;aspect-ratio:9/16;max-height:calc(100dvh - 112px);background:#080d0a;min-width:0;overflow:hidden;border-radius:12px;box-shadow:0 8px 32px #0003}
.work-player :is(iframe,video){position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.work-player video{object-fit:contain;background:#080d0a}
.work-details{grid-area:1/2;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:64px 36px 36px}
.work-location{margin:0 0 18px;color:#c3cbbf;font-size:11px;letter-spacing:.07em;line-height:1.6}
.work-dialog h2{margin:0 0 18px;font-size:clamp(24px,2.3vw,30px);line-height:1.2;letter-spacing:-.025em;font-weight:500;text-wrap:balance}
.work-description{font-size:15px;line-height:1.65;color:#bec8bb;margin:0 0 26px}
.work-video-list{display:grid;gap:8px;margin-bottom:20px}.work-video-list[hidden]{display:none}
.work-video-list button{display:flex;justify-content:space-between;gap:14px;text-align:left;width:100%;background:transparent;color:#c9d0c4;border:1px solid #ffffff25;border-radius:8px;padding:12px;font:inherit;font-size:13px;cursor:pointer}
.work-video-list button[aria-pressed="true"]{background:#ffd63312;border-color:#dec43d88;color:#ffe26b}
.work-player-note{margin:0 0 5px;font-size:12px;color:#a9b5a4;line-height:1.5}
.work-external{align-self:flex-start;font-size:13px;color:#e0e6d9;text-decoration:underline;text-underline-offset:4px}
.work-enquiry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding:16px;border:0;border-radius:9px;background:#ffd633;color:#152019;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.work-enquiry span{font-size:22px;line-height:1}
.work-dialog :is(button,a):focus-visible{outline:2px solid #ffe46b;outline-offset:3px}
@media(min-width:1101px) and (max-height:780px){.work-cover{height:clamp(300px,calc(100svh - 250px),560px)}}
@media(min-width:601px) and (max-width:900px){.cases.section{padding-block:56px}.cases .section-title h2{font-size:clamp(28px,4.1vw,42px)!important}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.work-grid .work-card{display:flex}.work-cover{height:clamp(220px,calc(100svh - 400px),380px)}.work-cover-art{padding:16px}.work-cover-mark{width:clamp(82px,10vw,108px)}.work-cover-title{font-size:clamp(20px,2.7vw,26px)}.work-cover-subtitle{font-size:11px}}
@media(min-width:601px) and (max-height:600px){.work-stage{padding:18px;align-items:flex-start}.work-player{position:sticky;top:18px;width:min(315px,calc((100dvh - 88px) * .5625),100%);height:auto;aspect-ratio:9/16;max-height:calc(100dvh - 88px)}.work-details{padding:60px 28px 26px}.work-dialog h2{font-size:25px}.work-description{font-size:14px;margin-bottom:18px}.work-location{margin-bottom:12px}.work-enquiry{margin-top:20px}}
@media(max-width:600px){main>section.cases.section{padding:16px 20px!important;justify-content:flex-start}.cases>.section-label{margin-bottom:14px!important}.cases .section-title{margin-bottom:14px!important}.cases .section-title h2{font-size:clamp(19px,6vw,30px)!important}.cases .section-title p{margin-top:12px;font-size:14px;line-height:1.5}.work-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,360px);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:0 0 5px}.work-grid::-webkit-scrollbar{display:none}.work-grid .work-card{display:flex;width:100%;scroll-snap-align:start}.work-cover{height:clamp(250px,calc(100svh - 430px),430px);flex:1 1 auto}.work-cover-art{padding:20px}.work-cover-mark{width:clamp(100px,30vw,130px);margin-bottom:20px}.work-cover-title{font-size:clamp(25px,7vw,32px)}.work-cover-subtitle{font-size:12px}.work-play{width:60px;height:60px}.work-grid .case-copy{padding:20px!important}.work-footer{align-items:flex-start;flex-direction:column;gap:6px}.work-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.work-dialog-shell{display:block}.work-stage{padding:20px;border-right:0;border-bottom:1px solid #ffffff0c}.work-player{height:min(440px,52dvh);width:auto;max-height:none;border-radius:10px}.work-details{padding:26px 24px}.work-dialog h2{font-size:25px;text-wrap:initial}.work-location{margin-bottom:12px}.work-description{margin-bottom:18px}.work-enquiry{margin-top:24px}.work-dialog .work-close{position:sticky;float:right;margin:10px 10px -54px 0;top:10px}}
@media(max-width:600px){.work-play svg{width:30px;height:30px}}
/* Keep the portfolio cards inside the viewport on tablet and mobile. */
@media(max-width:900px){
  .cases .section-title h2{white-space:normal;text-wrap:balance}
  .cases .work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:16px;overflow:visible;overscroll-behavior:initial;scroll-snap-type:none;padding:0;width:100%;max-width:100%}
  .cases .work-grid .work-card{width:100%;min-width:0;scroll-snap-align:none}
  .cases .work-grid .work-cover{height:auto;aspect-ratio:5/8;flex:none}
}
@media(max-width:600px){
  .cases .work-grid{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(prefers-reduced-motion:reduce){.work-cover-art,.work-play,.work-link span{transition:none}}
