/* The original split artwork shares one coordinate system and joins once. */
.material-page .experience-section {--section-heading-height:0px;background:#eaeaea;overflow-x:clip;padding-top:clamp(20px,3vh,36px);scroll-margin-top:var(--header,75px)}
.material-page .experience-section .experience-heading {margin:0 auto 28px;text-align:center}
.material-page .experience-section .experience-heading h2 {max-width:none;margin:0;font-size:clamp(40px,4.8vw,66px);line-height:1.04;letter-spacing:-.055em}
.material-page[data-site-page] .experience-section .experience-heading .section-intro {max-width:48ch;margin:14px auto 0;font-size:clamp(20px,1.6vw,23px);line-height:1.4}
.matchmaking {--match-ready:1;--match-progress:1;--match-orange:#f27a35;--match-art-ratio:1.945504087;position:relative;isolation:isolate;width:100%;margin:0 auto}
.match-scroll-track {position:relative}
.match-sticky {position:relative;width:100%;margin-inline:auto}
.matchmaking[data-match-enhanced="true"] .match-scroll-track {min-height:calc(var(--match-scene-height,590px) + clamp(250px,46svh,480px))}
.matchmaking[data-match-enhanced="true"] .match-sticky {position:sticky;top:calc(var(--header,75px) + 12px)}
.matchmaking[data-match-enhanced="true"][data-match-fit="flow"] .match-sticky {position:relative;top:auto}
.matchmaking[data-match-enhanced="true"][data-match-fit="flow"] .match-scroll-track {min-height:0}
.match-composition {width:min(100%,1120px);margin-inline:auto}
.matchmaking[data-match-topics-enhanced="true"] .match-composition {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:clamp(28px,3.5vw,48px);align-items:center}
.match-stage {position:relative;width:min(100%,760px);min-width:0;margin-inline:auto}
.match-artwork {position:relative;aspect-ratio:var(--match-art-ratio);perspective:1500px}
.match-joined-art {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.matchmaking[data-match-enhanced="true"][data-match-state="assembling"] .match-joined-art {visibility:hidden}
.match-entity {position:absolute;inset:0;pointer-events:none;--match-rx:0deg;--match-ry:0deg;--match-lift:0px;--match-scale:1}
.match-arrival {position:absolute;inset:0;pointer-events:none;perspective:1300px;z-index:2;transform:translate3d(calc((1 - var(--match-progress)) * -13%),calc((1 - var(--match-progress)) * 2%),0) rotate(calc((1 - var(--match-progress)) * -5deg));transform-origin:27% 50%}
.match-entity[data-match-entity="hire"] .match-arrival {transform:translate3d(calc((1 - var(--match-progress)) * 13%),calc((1 - var(--match-progress)) * -2%),0) rotate(calc((1 - var(--match-progress)) * 5deg));transform-origin:76% 50%;z-index:1}
.match-hit {position:absolute;inset:8% 54% 8% 5%;pointer-events:auto;z-index:4}
.match-entity[data-match-entity="hire"] .match-hit {inset:8% 5% 8% 58%}
.match-lift {width:100%;height:100%;transform-origin:27% 50%;transform:translate3d(0,var(--match-lift),0) rotateX(var(--match-rx)) rotateY(var(--match-ry)) scale(var(--match-scale));transition:filter 280ms ease}
.match-entity[data-match-entity="hire"] .match-lift {transform-origin:76% 50%}
.match-lift img {display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.match-face-label {position:absolute;top:30%;left:10%;color:#f5f4ef;font-size:clamp(22px,2.7vw,34px);font-weight:800;line-height:1;letter-spacing:-.045em;pointer-events:none}
.match-entity[data-match-entity="hire"] .match-face-label {left:73%;color:var(--ink)}
.match-entity[data-match-active="true"] .match-lift {filter:brightness(1.035)}
/* The master beneath both opaque layers closes the subpixel seam. */
.matchmaking[data-match-state="joined"] :is(.match-arrival,.match-lift) {transform:none}
.match-copy-pair {width:100%;margin:18px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.match-copy {min-width:0;max-width:35ch}
.material-page .match-copy h3 {margin:0;font-size:clamp(22px,2vw,28px);line-height:1.1;letter-spacing:-.04em}
.material-page .match-copy p {margin:8px 0 0;font-size:20px;line-height:1.4;overflow-wrap:anywhere}
/* Controls and explanation are siblings in normal flow, never an overlay. */
.match-explorer {display:none;min-width:0;gap:16px;transition:opacity 250ms ease,visibility 250ms}
.matchmaking[data-match-topics-enhanced="true"] .match-explorer {display:grid}
/* Hide immediately during enhancement; only the completed match fades in. */
.matchmaking[data-match-enhanced="true"][data-match-state="assembling"] .match-explorer {opacity:0;visibility:hidden;pointer-events:none;transition:none}
.match-points {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin:0;padding:0}
.match-point {--match-dwell-progress:0;position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:56px;padding:12px 14px;border:1px solid #999;background:#f2f1ed;color:#191919;text-decoration:none;box-shadow:2px 3px 0 #19191920;outline-offset:4px;transition:background 150ms ease,color 150ms ease,border-color 150ms ease,box-shadow 150ms ease;cursor:pointer}
.match-point[data-match-topic="working"] {grid-column:1 / -1}
.match-point-label {min-width:0;font:600 18px/1.25 var(--sans);letter-spacing:-.02em;overflow-wrap:anywhere}
.match-point-ring {position:relative;display:block;flex:0 0 18px;width:18px;height:18px;border:1px solid #777;border-radius:50%;background:transparent}
.match-point-ring::before {content:'';position:absolute;inset:5px;border-radius:50%;background:#777;transition:background 150ms ease}
.match-point-ring::after {content:'';position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--match-orange) calc(var(--match-dwell-progress) * 1turn),transparent 0);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);opacity:0;transition:opacity 180ms ease}
.match-point[data-match-dwell="waiting"] .match-point-ring::after {opacity:1}
.match-point[aria-selected="true"] {background:#202020;color:#faf8f1;border-color:#202020;box-shadow:3px 3px 0 var(--match-orange)}
.match-point[aria-selected="true"] .match-point-ring {border-color:var(--match-orange)}
.match-point[aria-selected="true"] .match-point-ring::before {background:var(--match-orange)}
.match-point:focus-visible {outline:2px solid #9c3d14}
@media (hover:hover) and (pointer:fine) {.match-point:hover {border-color:var(--match-orange);box-shadow:3px 3px 0 var(--match-orange)}}
.match-inline {position:relative;min-width:0;min-height:200px;padding:22px 24px 24px;border:1px solid #444;border-bottom:3px solid var(--match-orange);background:#202020;color:#faf8f1;text-align:left;box-shadow:4px 5px 0 #19191920;overflow-wrap:anywhere}
.match-inline[hidden] {display:none}
.material-page .match-inline h3 {margin:0 0 10px;font-size:24px;line-height:1.2;letter-spacing:-.025em}
.material-page .match-inline p {margin:0;font-size:20px;line-height:1.4;max-width:32ch}
.match-inline:focus-visible {outline:2px solid #9c3d14;outline-offset:4px}
.match-topic-library {max-width:760px;margin:32px auto 0}
.match-topic-fallback {border-top:1px solid #999;padding:18px 0;scroll-margin-top:calc(var(--header,75px) + 24px)}
.match-topic-fallback summary {display:flex;align-items:center;min-height:44px;font-size:var(--type-body,22px);font-weight:600;cursor:pointer}
.match-topic-fallback p {max-width:65ch;font-size:var(--type-body,22px);line-height:1.5;margin-top:12px}
/* Publication-held quotes remain separate from the interactive sculpture. */
.match-testimonials {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:64px}
.match-testimonials:empty {display:none}
.match-testimonials>div {min-width:0}
.match-testimonials [data-audience="clients"] {background:var(--ink);color:white}
.match-testimonials [data-audience="candidates"] {background:var(--paper);color:var(--ink)}
.match-testimonials .voice-top {flex-wrap:wrap;gap:12px}
.match-testimonials .quote-controls button {min-width:44px;min-height:44px}
@media (max-width:900px) {
 .material-page .experience-section .experience-heading {margin-bottom:22px}
 .material-page .experience-section .experience-heading h2 {max-width:16ch;margin-inline:auto;font-size:clamp(34px,6.5vw,48px)}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro {max-width:36ch;font-size:20px;margin-top:12px}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro br {display:none}
 .matchmaking[data-match-topics-enhanced="true"] .match-composition {grid-template-columns:minmax(0,1fr);gap:24px;max-width:600px}
 .match-stage {width:min(100%,600px)}
 .match-artwork {width:100%;margin-inline:auto}
 .matchmaking[data-match-enhanced="true"] .match-scroll-track {min-height:calc(var(--match-scene-height,620px) + 32svh)}
 .match-arrival {transform:translate3d(calc((1 - var(--match-progress)) * -8%),calc((1 - var(--match-progress)) * 2%),0) rotate(calc((1 - var(--match-progress)) * -4deg))}
 .match-entity[data-match-entity="hire"] .match-arrival {transform:translate3d(calc((1 - var(--match-progress)) * 8%),calc((1 - var(--match-progress)) * -2%),0) rotate(calc((1 - var(--match-progress)) * 4deg))}
 .match-face-label {font-size:clamp(21px,4.8vw,34px)}
 .match-entity[data-match-entity="hire"] .match-face-label {left:72%}
 .match-copy-pair {gap:20px;margin-top:14px}
 .material-page .match-copy h3 {font-size:clamp(21px,3.2vw,28px)}
 .material-page .match-copy p {font-size:18px}
 .match-inline {min-height:176px;padding:18px 20px 20px}
 .material-page .match-inline h3 {font-size:22px}
 .material-page .match-inline p {font-size:19px;max-width:48ch}
 .match-testimonials {grid-template-columns:1fr;gap:20px;margin-top:36px}
}
@media (max-width:600px) {
 .match-copy-pair {gap:16px}
 .material-page .experience-section .experience-heading h2 {max-width:13ch}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro {max-width:31ch}
 .match-point {gap:8px;min-height:54px;padding:12px}
}
@media (max-width:359px) {
 .material-page .experience-section .experience-heading {margin-bottom:18px}
 .material-page .experience-section .experience-heading h2 {font-size:32px}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro {font-size:18px;margin-top:10px}
 .match-point {gap:7px;min-height:52px;padding:10px}
 .match-point-ring {flex-basis:14px;width:14px;height:14px}
 .match-point-ring::before {inset:4px}
 .match-point-label {font-size:17px}
}
/* Short windows use normal page flow instead of clipping the composition. */
@media (min-width:901px) and (max-height:850px) {
 .material-page .experience-section .experience-heading {margin-bottom:22px}
 .material-page .experience-section .experience-heading h2 {font-size:48px}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro {max-width:none;margin-top:10px;font-size:20px}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro br {display:none}
 .material-page .match-copy p {font-size:19px;line-height:1.35}
}
@media (max-height:720px) {
 .matchmaking[data-match-enhanced="true"] .match-sticky {position:relative;top:auto}
 .matchmaking[data-match-enhanced="true"] .match-scroll-track {min-height:0}
}
@media (prefers-reduced-motion:reduce) {
 .matchmaking[data-match-enhanced="true"] .match-sticky {position:relative;top:auto}
 .matchmaking[data-match-enhanced="true"] .match-scroll-track {min-height:0}
 .match-arrival,.match-lift {transform:none!important}
 .matchmaking :is(.match-lift,.match-point,.match-point-ring,.match-point-label,.match-explorer),.match-point-ring::after {transition:none}
}
