/* Digital gallery: typography, moving image and one pink spatial gesture. */
.s-project main{padding-top:112px;overflow:hidden;background:#fff;color:#000}
.s-project .p-wrap{width:90%;max-width:1600px;margin-inline:auto}
.s-project h1,.s-project h2{font-family:Anton,sans-serif;font-weight:400;letter-spacing:-.035em;margin:0;line-height:1.02}
.s-project figure{margin:0;min-width:0}.s-project .p-hand{font:clamp(27px,3vw,43px)/1.15 Hand,cursive;display:block}
.p-topline{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:11px}.p-topline a{text-decoration:none;padding:8px 0}
.p-title-composition{display:flex;align-items:center;gap:3%;padding:20px 0 35px}
.s-project .p-cover h1{font-size:clamp(65px,11.6vw,178px);white-space:nowrap;line-height:1.1;transform:translateX(calc(var(--project-scroll,0) * -16px))}.p-cover h1 span{color:#f0b4bd}
.p-art-window{flex:1;min-width:90px;height:clamp(80px,10vw,155px);border-radius:50%;overflow:hidden;transform:rotate(-25deg);background:#f0b4bd}
.p-art-window img{width:100%;height:100%;object-fit:cover;transform:scale(1.2) translateY(calc(var(--project-scroll,0) * 18px))}
.p-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;margin-bottom:38px}
.s-project .p-overview h2{font-size:clamp(32px,3.5vw,52px);line-height:1.06}.p-overview>div>p{font-size:13px;margin:14px 0 0}
.p-result{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;position:relative;padding-left:24px;border-left:2px solid #f0b4bd}
.p-result-title{grid-column:1/-1;font:27px/1.2 Hand,cursive;transform:rotate(-3deg);transform-origin:left}
.p-result strong{font:clamp(32px,3.3vw,48px)/1.1 Anton,sans-serif;display:block}.p-result div>span{display:block;font-size:11px;margin-top:6px}.p-result small{grid-column:1/-1;font-size:10px;line-height:1.5}
.s-project .p-library{position:relative;padding:30px 0 35px;isolation:isolate}
.p-library:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:79%;height:70%;left:17%;top:12%;background:#f0b4bd;border-radius:50%;transform:rotate(calc(-12deg + var(--drift,0) * 7deg)) scaleY(.86)}
.p-library-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}
.s-project .p-library-heading h2{font-size:clamp(38px,4.4vw,66px);line-height:1.04}.p-library-heading h2 span{color:transparent;-webkit-text-stroke:1px #000}.p-library-heading .p-hand{transform:rotate(-7deg);max-width:230px;margin-right:4%;margin-bottom:10px}
.p-media-grid{display:grid;grid-template-columns:2.6fr repeat(3,1fr);gap:20px;align-items:center;padding:15px 0 48px}
.p-media-grid figure{position:relative;transform:translateY(calc(var(--drift,0) * var(--shift,0px)));will-change:transform}
.p-media-grid figure:nth-child(1){--shift:-22px}.p-media-grid figure:nth-child(2){--shift:28px;margin-top:55px}.p-media-grid figure:nth-child(3){--shift:-22px;margin-top:-45px}.p-media-grid figure:nth-child(4){--shift:20px;margin-top:32px}
.p-media-grid video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;transition:box-shadow .4s;box-shadow:0 15px 35px -25px #0008}
.p-media-grid .p-media-landscape video{aspect-ratio:16/10}.p-media-grid video:fullscreen{object-fit:contain}
.p-media-grid figure:hover video{box-shadow:0 20px 35px -20px #0009}
.p-media-grid figcaption{display:flex;flex-direction:column;gap:7px;padding-top:13px}.p-media-grid figcaption strong{font:clamp(20px,2vw,29px)/1 Anton,sans-serif}.p-media-grid figcaption span{font-size:10px}
.p-library-note{font-size:11px;line-height:1.6;max-width:75ch;margin:0}
.s-project .p-project-summary{display:grid;grid-template-columns:1fr 1.6fr .8fr;gap:35px;padding:30px 0 45px;align-items:start}.s-project .p-project-summary h2{font-size:clamp(30px,3.8vw,52px)}.p-project-summary p{font-size:14px;line-height:1.7;margin:0}.p-project-summary>span{font-size:11px;line-height:1.6}
.s-project .p-photos{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:7%;align-items:center;padding:15px 4% 65px}.p-photo-heading .p-hand{transform:rotate(-8deg)}.p-photo-heading p{font-size:11px;line-height:1.6;margin-top:22px}
.p-photos img{display:block;width:100%;height:210px;object-fit:cover}.p-photo-one{transform:translateY(calc(var(--photo-drift,0) * -22px))}.p-photo-one img{border-radius:50%}.p-photo-two{transform:translateY(calc(var(--photo-drift,0) * 22px));margin-top:45px!important}.p-photo-two img{height:175px}
.s-project .p-next{display:flex;align-items:center;gap:30px;text-decoration:none;color:#000;padding:28px 0 40px;border-top:1px solid #ccc}.p-next small{font-size:11px;display:block;margin-bottom:14px}.p-next strong{font:clamp(44px,7vw,105px)/1 Anton,sans-serif;letter-spacing:-.03em;transition:color .3s}.p-next img{width:23%;height:115px;object-fit:cover;margin-left:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1),border-radius .6s;border-radius:50%}.p-next b{font-size:55px;font-weight:400}.p-next:hover strong{color:#f0b4bd}.p-next:hover img{transform:rotate(-8deg);border-radius:10%}
.p-close{background:#f0b4bd;padding:40px 0}.p-close>.p-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.s-project .p-close h2{font-size:clamp(36px,4.8vw,70px)}
.s-project a:focus-visible,.s-project video:focus-visible{outline:3px solid #000;outline-offset:5px}
@media(max-width:700px){.s-project main{padding-top:88px}.p-topline{font-size:9px}.p-topline>span:last-child{display:none}.p-title-composition{padding:18px 0 24px;gap:2%}.s-project .p-cover h1{font-size:12vw}.p-art-window{min-width:48px;height:65px}.p-overview{grid-template-columns:1fr;gap:23px;margin-bottom:22px}.s-project .p-overview h2{font-size:34px}.p-result{padding-left:15px;gap:10px}.p-result strong{font-size:32px}.p-result-title{font-size:25px}.s-project .p-library{padding-top:23px}.p-library:before{width:115%;height:56%;left:-7%;top:28%}.p-library-heading{gap:14px;margin-bottom:15px;align-items:center}.s-project .p-library-heading h2{font-size:32px}.p-library-heading .p-hand{font-size:22px;max-width:115px;margin:0}.p-media-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:16px;padding:15px 0 25px;align-items:center}.p-media-grid figure{flex:0 0 43%;scroll-snap-align:start;transform:none!important;margin:0!important}.p-media-grid figure.p-media-landscape{flex-basis:88%}.p-media-grid video{height:250px;aspect-ratio:auto}.p-media-grid .p-media-landscape video{aspect-ratio:auto}.p-media-grid figcaption strong{font-size:24px}.p-library-note{font-size:10px}.s-project .p-project-summary{grid-template-columns:1fr;gap:13px;padding:15px 0 30px}.s-project .p-photos{grid-template-columns:1fr 1fr;gap:25px;padding:10px 0 40px}.p-photo-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.p-photo-heading .p-hand{font-size:34px}.p-photo-heading p{font-size:10px;margin:0}.p-photos img{height:155px}.p-photo-two img{height:125px}.p-photo-two{margin-top:15px!important}.s-project .p-next{gap:16px;padding:23px 0 30px}.p-next small{font-size:9px}.p-next strong{font-size:40px}.p-next img{height:75px;width:25%}.p-next b{font-size:35px}.p-close>.p-wrap{flex-direction:column;align-items:start;gap:24px}.s-project .p-close h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.s-project .p-cover h1,.p-art-window img,.p-media-grid figure,.p-photo-one,.p-photo-two,.p-library:before{transform:none!important;will-change:auto}.p-next img,.p-next strong,.p-media-grid video{transition:none}}
.s-project.motion-paused .p-next img{transition:none}
/* Flexible native galleries: mixed formats, touch, keys and explicit controls. */
.p-media-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;padding:32px 3px 42px;gap:22px}
.p-media-grid figure{flex:0 0 19%;scroll-snap-align:start}.p-media-grid figure.p-media-landscape{flex-basis:48%}
.p-media-grid figure>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.p-slider-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 18px;font-size:11px}.p-slider-controls>div{display:flex;gap:8px;align-items:center}.p-slider-controls button{border:1px solid #0003;background:transparent;color:#000;min-width:44px;min-height:44px;padding:8px 12px;font:inherit;cursor:pointer;transition:background .2s}.p-slider-controls button:hover{background:#f0b4bd}.p-slider-controls button[data-auto]{min-width:115px}.s-project [data-track]:focus-visible,.s-project .p-slider-controls button:focus-visible{outline:2px solid #000;outline-offset:4px}
.s-project .p-project-summary{grid-template-columns:1fr 1fr;gap:30px 8%;padding-block:30px 45px}.p-project-summary h2{margin-bottom:20px}.p-project-summary>span{grid-column:1/-1}.p-project-summary p{max-width:55ch}
.s-project .p-photos{display:block;padding:10px 0 40px}.p-photo-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.p-photo-heading p{margin:0}.p-photo-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:15px}.p-photo-track figure{flex:0 0 37%;scroll-snap-align:start}.p-photo-track figure:nth-child(even){flex-basis:29%;padding-top:24px}.p-photo-track img{border-radius:0;height:230px;object-fit:cover;width:100%;display:block}.p-photo-track figure:nth-child(even) img{height:206px}
@media(max-width:700px){.p-media-grid figure{flex-basis:44%}.p-media-grid figure.p-media-landscape{flex-basis:88%}.p-media-grid figure>img{height:250px;aspect-ratio:auto}.s-project .p-project-summary{grid-template-columns:1fr;gap:25px;padding-block:15px 30px}.p-project-summary h2{margin-bottom:12px}.p-photo-track figure{flex-basis:78%}.p-photo-track figure:nth-child(even){flex-basis:64%;padding-top:16px}.p-photo-track img{height:190px}.p-photo-track figure:nth-child(even) img{height:174px}.p-slider-controls{font-size:10px}.p-slider-controls>div{gap:4px}}
/* Quiet galleries and a compact project brief. */
.p-next img,.p-next:hover img{border-radius:0;transform:none}
.p-media-grid,.p-photo-track{scrollbar-width:none}.p-media-grid::-webkit-scrollbar,.p-photo-track::-webkit-scrollbar{display:none}
.s-project .p-project-summary{display:block;padding:4px 0 30px}.p-project-summary>div{display:grid;grid-template-columns:1fr 2fr;gap:6%;align-items:start;padding:20px 0}.s-project .p-project-summary h2{font-size:clamp(28px,3vw,44px);margin:0}.p-project-summary p{max-width:55ch}
.p-part-keywords{display:flex;flex-wrap:wrap;gap:8px 0;list-style:none;margin:0;padding:0;font:clamp(24px,3vw,42px)/1.2 Anton,sans-serif;letter-spacing:-.02em}.p-part-keywords li:not(:last-child):after{content:'/';color:#f0b4bd;display:inline-block;margin:0 .4em}
@media(max-width:700px){.p-project-summary>div{grid-template-columns:1fr;gap:12px;padding:14px 0}.p-part-keywords{font-size:27px}.s-project .p-project-summary{padding-bottom:15px}}

.s-project .s-progress-top{background:#f0b4bd}

/* Finish the case without changing the approved gallery composition. */
body.s-project .p-project-summary h2{position:relative}
body.s-project .p-project-summary h2:after{content:'';position:absolute;bottom:-6px;left:0;width:80px;height:5px;background:#f0b4bd;clip-path:polygon(0 40%,40% 0,100% 30%,95% 75%,15% 100%);transform:scaleX(0);transform-origin:left;transition:transform .7s}
body.s-project .p-project-summary h2.case-seen:after{transform:scaleX(1)}
body.s-project .p-next{position:relative}
body.s-project .p-next:after{content:'';position:absolute;top:-2px;left:0;width:100%;height:4px;background:#f0b4bd;transform:scaleX(0);transform-origin:left;transition:transform .65s}
body.s-project .p-next:is(:hover,:focus-visible):after{transform:scaleX(1)}
body.s-project .p-next b{transition:transform .4s,color .25s}
body.s-project .p-next:is(:hover,:focus-visible) b{transform:translate(5px,-5px);color:#f0b4bd}
body.s-project .p-next:focus-visible strong{color:#f0b4bd}
body.s-project .p-next:is(:hover,:focus-visible) img{transform:translateY(-4px) rotate(-2deg);border-radius:0}
@media(prefers-reduced-motion:reduce){body.s-project .p-project-summary h2:after,body.s-project .p-next:after,body.s-project .p-next b{transition:none!important}body.s-project .p-next:is(:hover,:focus-visible) img{transform:none}}
body.s-project.motion-paused .p-project-summary h2:after,body.s-project.motion-paused .p-next:after,body.s-project.motion-paused .p-next b{transition:none!important}
body.s-project.motion-paused .p-next:is(:hover,:focus-visible) img{transform:none}
