.p-hero{background:var(--hem-sand);height:clamp(420px,72vh,760px);margin-top:-78px;position:relative}.p-hero img{object-fit:cover;width:100%;height:100%;display:block}.p-hero-scrim{pointer-events:none;background:linear-gradient(#231b45 0%,#231b4500 100%);height:220px;position:absolute;top:0;left:0;right:0}body:has(.p-hero){background:var(--hem-white)}.p-hero-fade{background:linear-gradient(180deg, #fff0 0%, var(--hem-white) 100%);pointer-events:none;height:240px;position:absolute;bottom:0;left:0;right:0}.p-hero-fade:after{content:"";background:var(--noise);image-rendering:pixelated;opacity:var(--noise-opacity);position:absolute;inset:0 0 -200px;-webkit-mask-image:linear-gradient(#0000,#000 45% 60%,#0000);mask-image:linear-gradient(#0000,#000 45% 60%,#0000)}@media (width<=860px){.p-hero{height:56vh;min-height:320px;margin-top:0}.p-hero-scrim{display:none}.p-hero-fade{height:140px}}.p-title{padding:44px 0 0}.p-meta{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--mono-color);align-items:center;gap:10px;margin:0 0 18px;font-size:14px;display:inline-flex}.p-label{font-family:var(--font-body);color:#111827;margin:0 0 12px;font-size:18px;font-weight:600;line-height:1.4}.p-title .p-meta:before{content:"";background:#623baa;flex:none;width:8px;height:8px}.p-title h1{font-family:var(--font-display);letter-spacing:-.02em;color:#111827;margin:0 0 18px;font-size:clamp(34px,6vw,46px);font-weight:600;line-height:1.06}@media (width>=768px){.p-title h1{line-height:58px}}.p-title .lede,.p-title .lede p{font-family:var(--font-body);color:#111827;text-wrap:pretty;max-width:640px;margin:0 0 40px;font-size:18px;font-weight:400;line-height:1.55}.p-divider{background:var(--border-subtle);height:1px}.p-summary{padding:56px 0}.p-summary-grid{grid-template-columns:1fr 1.1fr;gap:64px;display:grid}.p-summary-text,.p-summary-text p:not(.p-label){font-family:var(--font-body);color:#111827;max-width:460px;margin:0;font-size:18px;font-weight:400;line-height:1.65}.p-facts{grid-template-columns:1fr 1fr;align-content:start;gap:32px;display:grid}.p-fact .m{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--mono-color);margin:0 0 6px;font-size:14px}.p-fact .v{font-family:var(--font-body);color:#111827;margin:0;font-size:16px;font-weight:400;line-height:1.5}.p-figure{padding:0 0 48px}.p-figure img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);background:var(--hem-sand);width:100%;display:block}.p-video{position:relative}.p-video-frame{border-radius:var(--radius-sm);position:absolute;inset:0;overflow:hidden}.p-video-frame video,.p-video .p-video-poster{object-fit:cover;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.p-video-frame video{background:#000;display:none}.p-video .p-video-poster{display:none}.p-video.is-playing .p-video-frame video{display:block}.p-video.is-playing .p-video-play{display:none}.p-video-play{background:var(--hem-white);height:44px;color:var(--hem-deep-purple);font-family:var(--font-body);white-space:nowrap;cursor:pointer;transition:transform var(--t-fast) var(--ease-out);border:0;border-radius:999px;align-items:center;gap:11px;padding:0 22px 0 16px;font-size:15px;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.p-video-play:hover{transform:translate(-50%,-50%)scale(1.04)}.p-video-play svg{fill:currentColor;width:14px;height:16px}.p-video.is-docked .p-video-frame{z-index:40;aspect-ratio:16/9;width:320px;animation:p-video-dock var(--t-base) var(--ease-out);position:fixed;inset:auto 24px 24px auto;box-shadow:0 12px 32px #11182738}.p-video.is-docked .p-video-poster{display:block}.p-video.is-docked.is-playing .p-video-frame{cursor:pointer}.p-video.is-docked.is-large .p-video-frame{width:640px}.p-video.is-docked .p-video-play{justify-content:center;gap:0;width:44px;padding:0}.p-video.is-docked .p-video-play span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.p-video.is-docked .p-video-play svg{margin-left:3px}.p-video-ctl{display:none}.p-video.is-docked .p-video-ctl{opacity:0;pointer-events:none;background:#11182747;transition:opacity 60ms linear;display:block;position:absolute;inset:0}.p-video.is-docked .p-video-frame:hover .p-video-ctl,.p-video.is-docked .p-video-frame:has(:focus-visible) .p-video-ctl{opacity:1;transition-duration:var(--t-fast);transition-timing-function:var(--ease-out)}.p-video.is-docked:not(.is-playing) .p-video-ctl{background:0 0}.p-video-ctl button{pointer-events:auto;width:36px;height:36px;color:var(--hem-white);cursor:pointer;transition:background var(--t-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.p-video-ctl button:hover{background:#ffffff29}.p-video-ctl svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.p-video-ctl svg .fill{fill:currentColor;stroke:none}.p-video-close{position:absolute;top:6px;left:6px}.p-video.is-docked:not(.is-playing) .p-video-close{background:#11182773}.p-video-size{position:absolute;top:6px;right:6px}.p-video-mid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.p-video-mid [data-toggle]{width:44px;height:44px}.p-video-mid [data-mute]{position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.p-video-mid [data-toggle] svg{width:22px;height:22px}.p-video.is-docked:not(.is-playing) .p-video-size,.p-video.is-docked:not(.is-playing) .p-video-mid,.p-video .i-play,.p-video.is-paused .i-pause,.p-video .i-muted,.p-video.is-muted .i-sound,.p-video .i-shrink,.p-video.is-large .i-grow{display:none}.p-video.is-paused .i-play,.p-video.is-muted .i-muted,.p-video.is-large .i-shrink{display:block}@keyframes p-video-dock{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.p-video.is-docked .p-video-frame{animation:none}}.p-slider{--slide:calc(min(var(--container), 100cqw) - 2 * var(--gutter));--gap:24px;container-type:inline-size}.p-slider-track{gap:var(--gap);scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:calc((100cqw - var(--slide)) / 2);scroll-padding-inline:calc((100cqw - var(--slide)) / 2);outline-offset:4px;display:flex;overflow:auto hidden}.p-slider-track::-webkit-scrollbar{display:none}.p-slider-track img{flex:0 0 var(--slide);width:var(--slide);scroll-snap-align:start;opacity:.4;transition:opacity var(--t-base) var(--ease-out)}.p-slider-track img.is-active{opacity:1}.p-slider-bar{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.p-slider-nav{gap:8px;display:flex}.p-slider-nav button{color:#111827;cursor:pointer;width:48px;height:48px;transition:background var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);background:#f3f3f5;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.p-slider-nav button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.p-slider-nav button.is-prev svg{transform:scaleX(-1)}.p-slider-nav button:hover:not(:disabled){color:#211849;background:#e8e8ec}.p-slider-nav button:disabled{opacity:.4;cursor:default}.p-slider-count{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);color:var(--mono-color);margin:0;font-size:12px}.p-reveal{--p:0;--reveal-ease:cubic-bezier(.22, 1, .36, 1);margin:0}.p-reveal-stage{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--hem-sand);isolation:isolate;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.p-reveal-stage:focus-visible{outline:2px solid var(--hem-deep-purple);outline-offset:4px}.p-reveal.is-dragging .p-reveal-stage{cursor:grabbing}.p-reveal .p-reveal-stage img{aspect-ratio:auto;object-fit:cover;pointer-events:none;-webkit-user-drag:none;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.p-reveal-after,.p-reveal-before{position:absolute;inset:0}.p-reveal-after img{transform:translateX(calc((1 - var(--p)) * 3%)) scale(calc(1 + (1 - var(--p)) * .06))}.p-reveal-after:after{content:"";opacity:calc((1 - var(--p)) * .45);pointer-events:none;background:#111827;position:absolute;inset:0}.p-reveal-before{z-index:1;transform:translateX(calc(var(--p) * -100%));box-shadow:18px 0 40px rgba(17, 24, 39, calc(.32 * min(1, (1 - var(--p)) * 5)))}.p-reveal:not(.is-dragging) :is(.p-reveal-before,.p-reveal-after img,.p-reveal-tag.is-after,.p-reveal-back){transition:transform .7s var(--reveal-ease), opacity .7s var(--reveal-ease), box-shadow .7s var(--reveal-ease)}.p-reveal:not(.is-dragging) .p-reveal-after:after{transition:opacity .7s var(--reveal-ease)}.p-reveal-tag{z-index:1;backdrop-filter:blur(6px);font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--hem-white);background:#1118278c;border-radius:4px;padding:7px 10px 6px;font-size:14px;line-height:1;position:absolute;top:20px;left:20px}.p-reveal-tag.is-after{opacity:calc((var(--p) - .75) * 4);transform:translateY(calc((1 - var(--p)) * 24px))}.p-reveal-handle{height:44px;color:var(--hem-deep-purple);font-family:var(--font-body);white-space:nowrap;transition:transform var(--t-fast) var(--ease-out);background:#fffffff0;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 6px;font-size:15px;font-weight:600;display:inline-flex;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.p-reveal-handle:hover{transform:translateY(-50%)scale(1.04)}.p-reveal-grip{background:var(--hem-deep-purple);width:32px;height:32px;color:var(--hem-white);border-radius:999px;place-items:center;display:grid}.p-reveal svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.p-reveal-hint.is-touch{display:none}@media (hover:none){.p-reveal-hint.is-pointer{display:none}.p-reveal-hint.is-touch{display:inline}}.p-reveal.is-idle .p-reveal-grip svg{animation:p-reveal-lean 2.4s var(--ease-out) infinite}.p-reveal.is-hinting .p-reveal-before{animation:p-reveal-nudge 1.4s .3s var(--reveal-ease) both}@keyframes p-reveal-lean{0%,60%,to{transform:none}30%{transform:translate(-3px)}}@keyframes p-reveal-nudge{0%,to{translate:0}35%{translate:-9%}}.p-reveal-back{width:44px;height:44px;color:var(--hem-deep-purple);opacity:calc((var(--p) - .85) * 6.67);cursor:pointer;background:#fffffff0;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;left:calc(100% + 20px);transform:translateY(-50%)}.p-reveal-caption{font-family:var(--font-body);color:#4d525d;transition:opacity var(--t-base) var(--ease-out);align-items:center;gap:8px;margin:12px 0 0;font-size:14px;line-height:1.4;display:none}.p-reveal.is-revealed .p-reveal-caption{opacity:0}@media (width<=560px){.p-reveal-tag{padding:6px 8px 5px;top:12px;left:12px}.p-reveal-handle{padding:0 6px;right:12px}.p-reveal-handle .p-reveal-hint{display:none}.p-reveal-back{left:calc(100% + 12px)}.p-reveal-caption{display:flex}}@media (prefers-reduced-motion:reduce){.p-reveal-after img{transform:none}.p-reveal:not(.is-dragging) :is(.p-reveal-before,.p-reveal-tag.is-after,.p-reveal-back){transition-duration:.2s}}.p-statement{padding:0 0 64px}.p-statement .wrap>div,.p-statement .wrap>div p{font-family:var(--font-display);letter-spacing:-.01em;color:#4d525d;text-wrap:pretty;max-width:860px;margin:0;font-size:clamp(22px,3vw,29px);font-weight:500;line-height:1.32}.p-statement .p-label{margin:0 0 18px}.p-twoup-sec{padding:0 0 64px}.p-twoup{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;display:grid}.p-twoup img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:var(--hem-sand);width:100%;display:block}.p-approach{max-width:480px;margin-left:auto}.p-approach .p-label{margin:0 0 12px}.p-approach>div,.p-approach>div p{font-family:var(--font-body);color:#111827;margin:0;font-size:18px;font-weight:400;line-height:1.6}.p-detail-sec{padding:0 0 96px}.p-detail-intro{max-width:560px;margin:0 0 32px}.p-detail-intro .p-label{margin:0 0 12px}.p-detail-intro>div,.p-detail-intro>div p{font-family:var(--font-body);color:#111827;margin:0;font-size:18px;font-weight:400;line-height:1.6}.p-approach.is-split,.p-detail-intro.is-split{max-width:none;margin-left:0}.is-split>div{columns:2;column-gap:clamp(32px,4vw,64px)}.is-split>div p{break-inside:avoid;margin:0 0 1em}.p-approach:not(.is-split)>div p+p,.p-detail-intro:not(.is-split)>div p+p{margin-top:1em}.p-recognition{margin-top:56px}.p-recognition-link{color:var(--hem-deep-purple);transition:border-color var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease-out);border-bottom:1px solid;margin-top:16px;font-size:16px;font-weight:500;display:inline-block}.p-recognition-link:hover{opacity:.7;border-bottom-color:#0000}.p-mosaic{grid-template-columns:1.6fr 1fr 1fr;gap:20px;display:grid}.p-mosaic img{object-fit:cover;border-radius:var(--radius-sm);background:var(--hem-sand);aspect-ratio:4/5;width:100%;height:100%;display:block}.p-credits{font-family:var(--font-body);color:#111827;margin:48px 0 0;font-size:16px;line-height:1.9}.p-credits h2{font-family:var(--font-body);color:#111827;margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.4}.p-credits dl{margin:0}.p-credits dl>div{flex-wrap:wrap;column-gap:5px;display:flex}.p-credits dt{color:var(--mono-color)}.p-credits dd{margin:0}.p-credits a{color:inherit;border-bottom:1px solid var(--border-default);transition:border-color var(--t-fast) var(--ease-out);text-decoration:none}.p-credits a:hover{border-bottom-color:currentColor}.p-credits p{margin:0}.textlink{font-family:var(--font-body);color:var(--hem-deep-purple);border-bottom:1px solid var(--border-strong);font-size:15px}.textlink:hover{color:var(--hem-magenta);border-bottom-color:currentColor}.p-next{color:var(--hem-soft-sand);border:0;text-decoration:none;display:block;position:relative;overflow:hidden}.p-next-img{aspect-ratio:21/9;background:var(--hem-sand);min-height:420px;overflow:hidden}.p-next-img img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out);display:block}.p-next:hover .p-next-img img{transform:scale(1.04)}.p-next:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#231b45 100%);position:absolute;inset:0}.p-next-cap{z-index:1;grid-template-columns:1.6fr 1fr;align-items:start;padding-bottom:clamp(56px,7vw,96px);display:grid;position:absolute;bottom:0;left:0;right:0}.p-next-label,.p-next-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--hem-soft-sand);font-size:clamp(30px,3.4vw,46px);font-weight:500;line-height:1.1}.p-next-project{border-left:1px solid #f3f0eb73;flex-direction:column;gap:14px;padding-bottom:8px;padding-left:clamp(24px,2.5vw,32px);display:flex}.p-next-title{transition:text-decoration-color var(--t-base) var(--ease-out);text-underline-offset:8px;text-decoration:underline 1px #0000}.p-next:hover .p-next-title{text-decoration-color:currentColor}.p-next-meta{font-family:var(--font-mono);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:#f3f0ebd9;font-size:14px}@media (width<=780px){.p-summary-grid{grid-template-columns:1fr;gap:32px}.p-twoup{grid-template-columns:1fr}.p-approach{margin-left:0}.is-split>div{columns:1}.p-mosaic{grid-template-columns:1fr 1fr}.p-mosaic>:first-child{aspect-ratio:16/10;grid-column:1/-1}}@media (width<=600px){.p-next-img{aspect-ratio:4/5;min-height:0}.p-next-cap{grid-template-columns:1fr;gap:20px}.p-next-label{font-size:22px}}
