.journey-photo{margin:0;overflow:hidden;background:#e8e8e5;position:relative;isolation:isolate}
.journey-photo img{display:block;width:100%;height:100%;object-fit:cover}
/* A real photo wall, opening out into the original team portrait. */
.photo-playground{position:relative;margin-inline:calc(-1 * var(--pad));background:#efefed}
.photo-playground-stage{position:relative;height:min(850px,85svh);min-height:580px;overflow:hidden}
.playground-main{position:absolute;inset:18% 22% 19%;z-index:2}
.playground-main img{object-position:50% 58%}
.playground-orbit{position:absolute;inset:0;z-index:3;pointer-events:none}
.playground-tile{position:absolute;box-shadow:0 8px 35px #00000010}
.playground-tile--1{width:12%;height:45%;left:4%;top:6%}.playground-tile--1 img{object-fit:contain}
.playground-tile--2{width:16%;height:43%;right:4%;top:14%}
.playground-tile--3{width:24%;height:25%;left:-3%;bottom:8%}
.playground-tile--4{width:11%;height:30%;left:24%;bottom:-6%}
.playground-tile--5{width:13%;height:30%;right:23%;top:2%}
.playground-tile--6{width:14%;height:35%;right:2%;bottom:-15%}
.playground-dot{position:absolute;width:12vw;height:12vw;max-width:175px;max-height:175px;border-radius:50%;background:var(--teal);left:10%;top:42%;z-index:1}
.playground-spark{position:absolute;right:21%;bottom:9%;z-index:4}
.playground-link{position:absolute;left:var(--pad);bottom:26px;z-index:5;background:var(--ink);color:#fff;padding:16px 20px;font-size:13px;display:flex;gap:28px;align-items:center}
.playground-link span{color:var(--teal);font-size:24px;line-height:1}
/* Main frame with two supporting photographs in each existing locked scene. */
.lock-gallery{position:relative;height:100%;min-height:460px;isolation:isolate}
.lock-scene .lock-gallery .lock-primary{position:absolute;inset:8% 13%;height:auto;min-height:0}
.lock-scene .lock-gallery .lock-detail{position:absolute;height:auto;z-index:2;border:5px solid var(--ink);background:var(--ink)}
.lock-scene .lock-gallery .lock-detail--1{left:-4%;bottom:0;width:47%;height:34%}
.lock-scene .lock-gallery .lock-detail--2{right:-3%;top:0;width:35%;height:40%}
.lock-gallery img{object-position:center!important}
/* Photographic chapters take over the same screen as the reader scrolls. */
.photo-story{background:var(--ink);color:#fff}
.photo-story-heading{padding:90px var(--pad) 70px;margin:0;align-items:end}
.photo-story-heading>div{max-width:29ch}.photo-story-heading p{font-size:16px;line-height:1.65}.photo-story-heading .text-link{font-size:12px;color:var(--teal);margin-top:20px}
.photo-story-stage{position:relative}.photo-story-panels{position:relative}
.photo-chapter{position:relative;display:grid;grid-template-columns:.9fr 1.7fr;min-height:720px;background:var(--ink);padding:45px var(--pad) 90px;gap:4vw;align-items:center;isolation:isolate}
.photo-chapter--2{background:var(--teal);color:var(--ink)}.photo-chapter--3{background:#f1f1ee;color:var(--ink)}
.photo-chapter-copy{padding-bottom:20px}.photo-chapter-number{display:block;font-size:14px;margin-bottom:35px;font-variant-numeric:tabular-nums}
.photo-chapter h3{font-size:clamp(50px,6.5vw,104px);line-height:.97;letter-spacing:-.055em}
.photo-chapter p{font-size:15px;line-height:1.65;max-width:30ch;margin:28px 0 20px}.photo-chapter a{font-size:13px}
.photo-chapter-images{position:relative;height:100%;min-height:570px}
.photo-chapter-image--1{position:absolute;inset:0 16% 16% 0}
.photo-chapter-image--2{position:absolute;right:0;bottom:0;width:46%;height:53%;border:7px solid var(--ink)}
.photo-chapter--2 .photo-chapter-image--2{border-color:var(--teal)}.photo-chapter--3 .photo-chapter-image--2{border-color:#f1f1ee}
.photo-chapter--1 .photo-chapter-image--1 img{object-position:46% center}
.photo-story-stage.is-photo-pinned{height:calc(100svh - var(--header-height));min-height:540px;overflow:hidden}
.is-photo-pinned .photo-story-panels{position:absolute;inset:0}
.is-photo-pinned .photo-chapter{position:absolute;inset:0;min-height:0;padding-top:30px;padding-bottom:95px}
.is-photo-pinned .photo-chapter-images{min-height:0}
.photo-story-nav{display:none;position:absolute;bottom:25px;left:var(--pad);right:var(--pad);z-index:10;justify-content:space-between;align-items:center;color:var(--ink);pointer-events:none}
.is-photo-pinned .photo-story-nav{display:flex}.photo-story-hint{font-size:11px;background:#fff;padding:12px 16px}
.photo-story-stops{position:relative;display:flex;gap:8px;padding:4px;background:#fff;isolation:isolate;pointer-events:auto}
.photo-story-stops button{position:relative;border:0;background:none;width:42px;height:42px;padding:0;display:grid;place-items:center;font-size:12px;z-index:2;font-variant-numeric:tabular-nums}.photo-story-stops button[aria-current]{font-weight:800}
.photo-story-dot{position:absolute;width:42px;height:42px;left:4px;top:4px;background:var(--teal);border-radius:50%;z-index:1}
.photo-story-end{height:0;scroll-margin-top:var(--header-height)}
/* A wide photographic strip pins on selected pages; ordinary grids elsewhere. */
.work-ribbon{background:#f1f1ee;overflow:clip;padding:85px 0}
.ribbon-stage>.section-heading{padding:0 var(--pad);margin-bottom:48px;align-items:center}.ribbon-stage>.section-heading p{font-size:15px;line-height:1.65;max-width:28ch}
.ribbon-window{padding:0 var(--pad)}.ribbon-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.ribbon-card{display:block;min-width:0}.ribbon-card .journey-photo{aspect-ratio:4/4.8}.ribbon-card:nth-child(2){padding-top:55px}.ribbon-card:nth-child(3){padding-top:20px}
.ribbon-caption{display:flex;justify-content:space-between;gap:15px;margin-top:18px;padding-top:16px;border-top:1px solid #bbb;font-size:13px}.ribbon-caption>span:last-child{font-size:22px;line-height:1}
.ribbon-card:focus-visible{outline-offset:8px}.ribbon-card:hover .ribbon-caption>span:last-child{color:#111;background:var(--teal)}
.is-ribbon-pinned .ribbon-track{display:flex;width:max-content}.is-ribbon-pinned .ribbon-card{width:clamp(260px,33vw,480px);flex:none}.is-ribbon-pinned .ribbon-card:nth-child(n){padding-top:0}
.ribbon-progress{height:2px;background:#d3d3cf;margin:35px var(--pad) 0;overflow:hidden}.ribbon-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(.16);transform-origin:left}
.ribbon-stage:not(.is-ribbon-pinned) .ribbon-progress{display:none}
.ribbon-stage.is-ribbon-pinned{height:calc(100svh - var(--header-height));padding-top:28px;overflow:clip;min-height:540px}
.is-ribbon-pinned>.section-heading{margin-bottom:25px}.is-ribbon-pinned .section-heading h2{font-size:clamp(48px,5.8vw,86px)}
.is-ribbon-pinned .ribbon-card .journey-photo{height:calc(100svh - var(--header-height) - 300px);min-height:260px;max-height:500px;aspect-ratio:auto}
.is-ribbon-pinned .ribbon-progress{margin-top:25px}
/* Asterisks react to a nudge; none of this motion rotates the artwork. */
.spark-toy{position:relative;display:grid;place-items:center;flex:none;width:92px;height:92px;border:0;border-radius:50%;background:transparent;color:var(--teal);overflow:visible;touch-action:manipulation;padding:0}
.spark-glyph{display:block;font-size:90px;font-weight:400;line-height:1;pointer-events:none}
.spark-toy:focus-visible{outline-color:currentColor;outline-offset:10px}.spark-particles{position:absolute;inset:0;pointer-events:none}
.spark-particles i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--teal);opacity:0}
.playground-spark .spark-toy{color:var(--ink)}
@media(max-height:760px) and (min-width:961px){.photo-chapter h3{font-size:5.6vw}.photo-chapter p{font-size:13px;margin-top:20px}.photo-chapter-number{margin-bottom:20px}.is-ribbon-pinned .section-heading h2{font-size:55px}.is-ribbon-pinned .ribbon-card .journey-photo{min-height:220px}.is-ribbon-pinned .spark-toy{width:70px;height:70px}.is-ribbon-pinned .spark-glyph{font-size:70px}}
@media(max-width:960px){.lock-gallery{height:530px;min-height:0}.photo-chapter{grid-template-columns:1fr 1.35fr;min-height:620px;padding-top:55px;padding-bottom:55px}.photo-chapter h3{font-size:7vw}.photo-chapter-images{min-height:470px}.photo-story-heading{flex-wrap:wrap;gap:28px}.work-ribbon--pin .ribbon-track{display:grid;width:auto;grid-template-columns:1fr 1fr}.work-ribbon--pin .ribbon-card{width:auto}.work-ribbon--pin .ribbon-progress{display:none}.photo-playground-stage{min-height:540px;height:70svh}}
@media(max-width:760px){.photo-playground-stage{height:590px;min-height:0}.playground-main{inset:25% 10% 30%}.playground-tile--1{left:4%;top:4%;width:28%;height:24%}.playground-tile--2{right:4%;top:6%;width:29%;height:29%}.playground-tile--3{left:3%;bottom:11%;width:40%;height:19%}.playground-tile--4{display:none}.playground-tile--5{right:5%;top:auto;bottom:12%;width:30%;height:24%}.playground-tile--6{left:38%;right:auto;top:0;bottom:auto;width:22%;height:18%}.playground-dot{width:100px;height:100px;left:0;top:33%}.playground-spark{right:3%;bottom:33%}.playground-link{left:22px;right:22px;bottom:18px;font-size:11px;padding:12px;justify-content:space-between;gap:8px}.spark-toy{width:64px;height:64px}.spark-glyph{font-size:64px}.lock-gallery{height:450px;margin-top:8px}.lock-scene .lock-gallery .lock-primary{inset:6% 13% 10%}.photo-story-heading{padding:60px var(--pad) 35px;display:grid;grid-template-columns:1fr auto}.photo-story-heading h2{grid-column:1/-1;font-size:11.5vw}.photo-story-heading>div{max-width:28ch}.photo-story-heading p{font-size:14px}.photo-chapter{display:flex;flex-direction:column;gap:30px;padding:40px var(--pad) 45px;align-items:stretch;min-height:0}.photo-chapter h3{font-size:16vw}.photo-chapter-number{margin-bottom:18px}.photo-chapter p{font-size:14px;max-width:38ch;margin:20px 0 12px}.photo-chapter-copy{padding-bottom:0}.photo-chapter-images{height:440px;min-height:0}.photo-chapter-image--1{inset:0 12% 16% 0}.photo-chapter-image--2{width:45%;height:48%;border-width:5px}.work-ribbon{padding:60px 0}.ribbon-stage>.section-heading{display:grid;grid-template-columns:1fr auto;gap:24px;margin-bottom:35px}.ribbon-stage>.section-heading h2{grid-column:1/-1;font-size:12vw}.ribbon-stage>.section-heading p{font-size:14px;max-width:29ch}.ribbon-track,.work-ribbon--pin .ribbon-track{grid-template-columns:1fr;gap:34px}.ribbon-card:nth-child(n){padding-top:0}.ribbon-card .journey-photo{aspect-ratio:4/4.3}.ribbon-caption{font-size:13px}.ribbon-card:nth-child(even){width:88%;justify-self:end}.ribbon-progress{display:none}.photo-story-hint{font-size:10px}}
@media(prefers-reduced-motion:reduce){.spark-toy{cursor:default}.spark-particles{display:none}.photo-playground-stage,.ribbon-card,.journey-photo img{transform:none!important}.work-ribbon--pin .ribbon-track{display:grid;width:auto;grid-template-columns:repeat(3,minmax(0,1fr));transform:none!important}.work-ribbon--pin .ribbon-card{width:auto}.photo-story-dot{transition:none}.ribbon-progress{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.work-ribbon--pin .ribbon-track{grid-template-columns:1fr}}
/* The teal pointer opens a small window back into a photograph's real colour. */
.colour-peek>img:not(.peek-colour){filter:url(#teal-tone)}
.colour-peek>.peek-colour{position:absolute;inset:0;clip-path:circle(var(--peek-radius,0px) at var(--peek-x,50%) var(--peek-y,50%));filter:none;pointer-events:none}
.ribbon-card:focus-visible .peek-colour{clip-path:none}
@media(hover:none),(pointer:coarse),(max-width:760px),(prefers-reduced-motion:reduce){.colour-peek>img:not(.peek-colour){filter:none}.colour-peek>.peek-colour{display:none}}


/* A fuller upward-drifting collage, centred on the founders. */
.photo-playground-stage{height:1050px;min-height:0}.playground-main{inset:15% 26% 12%;background:transparent}.playground-main img{object-fit:contain;object-position:center}.playground-dot,.playground-spark{display:none}
.playground-tile--1{left:3%;top:6%;width:16%;height:26%}.playground-tile--2{right:3%;top:15%;width:16%;height:26%}.playground-tile--3{left:0;top:43%;bottom:auto;width:23%;height:18%}.playground-tile--4{left:7%;top:73%;bottom:auto;width:17%;height:22%}.playground-tile--5{right:21%;top:0;width:12%;height:20%}.playground-tile--6{right:1%;top:72%;bottom:auto;width:15%;height:25%}
.playground-tile--7{left:24%;top:1%;width:22%;height:16%}.playground-tile--8{right:0;top:47%;width:21%;height:19%}.playground-tile--9{left:30%;bottom:0;width:25%;height:17%}.playground-tile--10{right:20%;bottom:6%;width:12%;height:24%}
@media(max-width:960px){.photo-playground-stage{height:850px}.playground-main{inset:22% 18% 23%}.playground-tile--4{display:block}.playground-tile--6{left:auto}.playground-tile--1{width:23%}.playground-tile--2{width:22%}.playground-tile--3{top:47%;width:19%}.playground-tile--4{top:69%;height:20%;width:23%}.playground-tile--5{right:30%;width:16%;height:18%}.playground-tile--7{left:27%;top:19%;width:23%;height:11%}.playground-tile--8{top:49%;width:19%;height:15%}.playground-tile--9{left:29%;bottom:9%;width:31%;height:13%}.playground-tile--10{right:20%;bottom:24%;width:14%;height:16%}}
/* Preserve the supplied founders cutout and its handwritten labels throughout the site. */
figure:has(>img[src*="chris-henry-founders"]){background:#fff}figure>img[src*="chris-henry-founders"]{object-fit:contain!important;filter:none!important}
.photo-playground .playground-tile{position:absolute}
