/* One shared canvas keeps the two source-pixel layers registered at the seam. */
.material-page .experience-section {background:#eaeaea;overflow-x:clip}
.material-page .experience-section .experience-heading {margin:0 auto 18px;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) + var(--section-heading-height,64px) + 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-stage {position:relative;width:min(100%,1000px,calc((100svh - var(--header,75px) - var(--section-heading-height,64px) - 270px) * var(--match-art-ratio)));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:17%;left:10%;color:#f5f4ef;font-size:clamp(22px,3.2vw,42px);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 joined master sits beneath the opaque split layers to fill only their
   subpixel seam. Keeping the layers visible also preserves image-failure
   fallback and independent material emphasis without moving either edge. */
.matchmaking[data-match-state="joined"] :is(.match-arrival,.match-lift) {transform:none}
.match-points {position:absolute;inset:0 0 auto;aspect-ratio:var(--match-art-ratio);pointer-events:none;z-index:6;transition:opacity 360ms ease,visibility 360ms}
.match-point {--match-dwell-progress:0;position:absolute;left:var(--point-x);top:var(--point-y);translate:-50% -50%;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;color:var(--ink);pointer-events:auto;border:0;border-radius:50%;background:transparent;outline-offset:3px}
.match-point-ring {position:relative;display:block;width:27px;height:27px;flex-shrink:0;border:2px solid #f8f4ec;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px #19191980;transition:background 180ms ease,box-shadow 180ms ease,scale 180ms ease}
.match-point-ring::before {content:'';position:absolute;inset:7px;border-radius:50%;background:var(--match-orange)}
.match-point-ring::after {content:'';position:absolute;inset:-7px;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 200ms ease}
.match-point::after {content:'';position:absolute;inset:0;margin:auto;width:5px;height:5px;border-radius:50%;background:var(--match-orange);transform:rotate(calc(var(--match-dwell-progress) * 1turn)) translateY(-18px);opacity:0;transition:opacity 200ms ease;pointer-events:none}
.match-point[data-match-dwell="waiting"]::after,.match-point[data-match-dwell="waiting"] .match-point-ring::after {opacity:1}
.match-point:is(:hover,:focus-visible,[aria-expanded="true"]) .match-point-ring {background:var(--match-orange);box-shadow:0 0 0 5px #f27a3520;scale:1.06}
.match-point:is(:hover,:focus-visible,[aria-expanded="true"]) .match-point-ring::before {background:var(--ink)}
.match-point-label {position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);padding:6px 10px;color:#f7f5f0;background:#202020;border-bottom:1px solid #777;font:600 17px/1.25 var(--sans);white-space:nowrap;pointer-events:auto;transition:border-color 180ms ease,color 180ms ease}

.match-point:is(:hover,:focus-visible,[aria-expanded="true"]) .match-point-label {border-color:var(--match-orange);color:#fff}
.match-point:focus-visible {outline:2px solid var(--match-orange)}
.match-seam-markers {display:none}
.matchmaking[data-match-enhanced="true"][data-match-state="assembling"] :is(.match-points,.match-seam-markers) {opacity:0;visibility:hidden;pointer-events:none}
.matchmaking[data-match-enhanced="true"][data-match-state="assembling"] .match-point {pointer-events:none}
@keyframes match-invite {0%,100%{box-shadow:0 0 0 1px #19191980}50%{box-shadow:0 0 0 5px #f27a3526}}
.matchmaking[data-match-state="joined"] .match-point:not(:hover):not(:focus-visible):not([aria-expanded="true"]) .match-point-ring {animation:match-invite 2.8s ease-in-out 2}
.match-point:nth-child(2) .match-point-ring {animation-delay:.15s}
.match-point:nth-child(3) .match-point-ring {animation-delay:.3s}
.match-point:nth-child(4) .match-point-ring {animation-delay:.45s}
.match-point:nth-child(5) .match-point-ring {animation-delay:.6s}
.match-inline {position:absolute;left:8%;bottom:11%;z-index:7;width:34%;padding:16px 18px 18px;border:0;border-left:2px solid var(--match-orange);background:#202020f5;color:#faf8f1;text-align:left}
.match-inline[hidden] {display:none}
.material-page .match-inline h3 {margin:0 26px 8px 0;font-size:21px;line-height:1.2;letter-spacing:-.025em}
.material-page .match-inline p {margin:0;font-size:19px;line-height:1.4;max-width:32ch}
.match-inline [data-match-inline-close] {position:absolute;right:0;top:0;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:#dad8d1;font:400 25px/1 var(--sans);cursor:pointer}
.match-inline [data-match-inline-close]:is(:hover,:focus-visible) {color:var(--match-orange)}
.match-inline [data-match-inline-close]:focus-visible {outline:2px solid var(--match-orange);outline-offset:-5px}
.match-copy-pair {width:min(100%,1000px);margin:28px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,7vw,100px)}
.match-copy {min-width:0;max-width:35ch}
.material-page .match-copy h3 {font-size:clamp(30px,3.1vw,44px);line-height:1.06;letter-spacing:-.045em}
.material-page .match-copy p {margin:16px 0 0;font-size:var(--type-body,22px);line-height:1.5}
.match-topic-library {max-width:1000px;margin:42px auto 0}
.match-topic-fallback {border-top:1px solid #999;padding:18px 0;scroll-margin-top:calc(var(--header,75px) + var(--section-heading-height,64px) + 24px)}
.match-topic-fallback summary {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:18px}
/* Publication-held quotes remain separate from the interactive sculpture. */
.matchmaking:is([data-match-selected="skills"],:has(.match-point[data-match-topic="skills"]:hover)) [data-match-marker="skills"],
.matchmaking:is([data-match-selected="motivation"],:has(.match-point[data-match-topic="motivation"]:hover)) [data-match-marker="motivation"],
.matchmaking:is([data-match-selected="working"],:has(.match-point[data-match-topic="working"]:hover)) [data-match-marker="working"],
.matchmaking:is([data-match-selected="growth"],:has(.match-point[data-match-topic="growth"]:hover)) [data-match-marker="growth"],
.matchmaking:is([data-match-selected="expectations"],:has(.match-point[data-match-topic="expectations"]:hover)) [data-match-marker="expectations"] {background:var(--ink);box-shadow:0 0 0 4px #f27a3540,0 0 0 1px var(--match-orange);scale:1.2}
.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:14px}
 .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}
 .match-stage {width:min(100%,700px)}
 .match-artwork {width:min(100%,max(320px,calc((100svh - var(--header,68px) - var(--section-heading-height,54px) - 465px) * var(--match-art-ratio))));margin-inline:auto}
 .matchmaking[data-match-enhanced="true"] .match-scroll-track {min-height:calc(var(--match-scene-height,440px) + 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 {left:10%;top:33%;font-size:clamp(21px,4.8vw,34px)}
 .match-entity[data-match-entity="hire"] .match-face-label {left:72%}
 .match-points {position:relative;inset:auto;aspect-ratio:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;padding-top:10px}
 .match-point {position:relative;left:auto;top:auto;translate:none;width:auto;height:auto;gap:6px;min-height:44px;padding:6px 4px;border-radius:0;background:transparent}
 .match-point-ring {width:20px;height:20px;border-width:1px}
 .match-point-ring::before {inset:6px}
 .match-point-ring::after {inset:-5px}
 .match-point::after {left:1px;right:auto;width:4px;height:4px;transform:translateX(11px) rotate(calc(var(--match-dwell-progress) * 1turn)) translateY(-14px)}
 .match-point .match-point-label {position:static;transform:none;padding:3px 0;background:transparent;color:var(--ink);border-color:#999;box-shadow:none;font-size:16px}
 .match-point:is(:hover,:focus-visible,[aria-expanded="true"]) .match-point-label {color:var(--ink);border-color:var(--match-orange)}
 .match-seam-markers {display:block;position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity 360ms ease,visibility 360ms}
 .match-seam-markers span {position:absolute;left:var(--point-x);top:var(--point-y);translate:-50% -50%;width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:var(--match-orange);box-shadow:0 1px 0 #19191988;transition:scale 180ms ease}
 .match-inline {position:relative;left:auto;bottom:auto;width:100%;margin:10px 0 0;padding:15px 20px 18px}
 .material-page .match-inline h3 {font-size:20px}
 .material-page .match-inline p {font-size:19px;max-width:48ch}
 .match-copy-pair {gap:24px;margin-top:24px}
 .material-page .match-copy h3 {font-size:30px}
 .material-page .match-copy p {margin-top:12px}
 .match-testimonials {grid-template-columns:1fr;gap:20px;margin-top:36px}
}
@media (max-width:600px) {
 .match-copy-pair {grid-template-columns:1fr}
 .material-page .experience-section .experience-heading h2 {max-width:13ch}
 .material-page[data-site-page] .experience-section .experience-heading .section-intro {max-width:31ch}
}
@media (max-width:359px) {
 .material-page .experience-section .experience-heading {margin-bottom:10px}
 .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}
}
@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}
 .match-stage {width:min(100%,760px)}
 .match-artwork {width:100%}
}
@media (min-width:901px) and (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}
 .match-stage {width:min(100%,760px)}
 .match-inline {position:relative;left:auto;bottom:auto;width:min(100%,48ch);margin:14px auto 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 .match-point .match-point-ring {animation:none}
 .matchmaking :is(.match-lift,.match-point,.match-point-ring,.match-point-label,.match-points,.match-seam-markers),.match-point::after,.match-point-ring::after {transition:none}
}
