/* The creative playground and elastic editorial photographs. */
.section-wave--hero svg, .playground--lab + .section-wave svg { fill: rgb(var(--pa-rgb-f1eadf, 241, 234, 223)); }
.playground.playground--lab {
  background: rgb(var(--pa-rgb-f1eadf, 241, 234, 223));
  color: rgb(var(--pa-rgb-442331, 68, 35, 49));
  padding: clamp(64px, 8vw, 120px) 0;
  margin-top: 0;
}
.playground--lab .playground-inner { grid-template-columns: .9fr 1.1fr; gap: clamp(28px, 5vw, 80px); }
.playground--lab .playground-copy > *,
.playground--lab .playground-copy button,
.playground--lab .poster-edition,
.playground--lab .poster-caption { animation: none !important; translate: none; rotate: none; }
.playground--lab .playground-copy > p::after, .playground.playground--lab::before { display: none; }
.playground--lab .playground-copy h2 em { background: none; -webkit-text-fill-color: currentColor; }
.playground--lab .handwritten {
  font: 600 11px/1.5 var(--heading);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgb(var(--pa-rgb-88564b, 136, 86, 75));
  animation: none;
  margin-bottom: 24px;
}
.playground--lab h2 { font-size: clamp(40px, 4.6vw, 70px); line-height: 1.04; letter-spacing: -.045em; }
.playground--lab h2 em { color: rgb(var(--pa-rgb-b7472c, 183, 71, 44)); animation: none; }
.playground--lab #playground-title { perspective: 850px; }
.playground--lab #playground-title .line { display: inline-block; overflow: hidden; vertical-align: bottom; padding: .08em 0 .14em; margin: -.08em 0 -.14em; }
.playground--lab #playground-title .word { white-space: nowrap; }
.playground--lab #playground-title .char { display: inline-block; transform-origin: 50% 85%; backface-visibility: hidden; will-change: transform, opacity; }
.playground--lab .playground-copy > p:not(.handwritten) { color: rgb(var(--pa-rgb-6a5b56, 106, 91, 86)); max-width: 400px; font-size: 15px; line-height: 1.8; }
.playground--lab .mood-controls { gap: 8px; margin: 32px 0 26px; }
.playground--lab .mood-choice {
  display: inline-flex; gap: 8px; align-items: center;
  border: 1px solid rgb(var(--pa-rgb-b5a89b, 181, 168, 155)); color: rgb(var(--pa-rgb-442331, 68, 35, 49)); padding: 12px 15px;
  background: transparent; font-size: 12px; border-radius: 5px;
}
.playground--lab .mood-choice::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgb(var(--pa-rgb-dc5935, 220, 89, 53)); }
.playground--lab .mood-choice[data-mood="studio"]::before { background: rgb(var(--pa-rgb-77639c, 119, 99, 156)); }
.playground--lab .mood-choice[data-mood="nature"]::before { background: rgb(var(--pa-rgb-78814c, 120, 129, 76)); }
.playground--lab .mood-choice.active { background: rgb(var(--pa-rgb-442331, 68, 35, 49)); color: rgb(var(--pa-rgb-fff6ea, 255, 246, 234)); border-color: rgb(var(--pa-rgb-442331, 68, 35, 49)); }
.playground--lab .control-label { font-size: 12px !important; margin: 0 0 12px !important; }
.playground--lab .effect-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.playground--lab .effect-choice {
  color: rgb(var(--pa-rgb-6a5b56, 106, 91, 86)); border: 0; border-bottom: 1px solid rgb(var(--pa-rgb-b5a89b, 181, 168, 155));
  padding: 8px 0; margin-right: 14px; background: transparent; border-radius: 0; font-size: 12px;
}
.playground--lab .effect-choice.active { color: rgb(var(--pa-rgb-a33b25, 163, 59, 37)); border-color: rgb(var(--pa-rgb-a33b25, 163, 59, 37)); background: transparent; }
.playground--lab .demo-note { display: block; max-width: 350px; margin-top: 25px; color: rgb(var(--pa-rgb-78685e, 120, 104, 94)); font-size: 12px; line-height: 1.7; }
.playground--lab button:focus-visible { outline: 2px solid rgb(var(--pa-rgb-a33b25, 163, 59, 37)); outline-offset: 5px; }
.playground--lab .atelier-visual { padding-bottom: 32px; --pixel-one: rgb(var(--pa-rgb-f6be77, 246, 190, 119)); --pixel-two: rgb(var(--pa-rgb-672b3c, 103, 43, 60)); --pixel-three: rgb(var(--pa-rgb-ffe9c0, 255, 233, 192)); }
.playground--lab .atelier-visual[data-mood="studio"] { --pixel-one: rgb(var(--pa-rgb-e9d7ff, 233, 215, 255)); --pixel-two: rgb(var(--pa-rgb-5f467d, 95, 70, 125)); --pixel-three: rgb(var(--pa-rgb-f9ac86, 249, 172, 134)); }
.playground--lab .atelier-visual[data-mood="nature"] { --pixel-one: rgb(var(--pa-rgb-f2d487, 242, 212, 135)); --pixel-two: rgb(var(--pa-rgb-45614a, 69, 97, 74)); --pixel-three: rgb(var(--pa-rgb-ebf0c4, 235, 240, 196)); }
.playground--lab .lab-stage {
  --lab-ink: rgb(var(--pa-rgb-552835, 85, 40, 53)); --lab-bg: rgb(var(--pa-rgb-ee8c58, 238, 140, 88)); --lab-light: rgb(var(--pa-rgb-ffd6a3, 255, 214, 163));
  display: block; height: clamp(460px, 43vw, 620px);
  border: 1px solid rgba(var(--pa-rgb-442331, 68, 35, 49), 0.12549); border-radius: 180px 180px 20px 20px;
  background: radial-gradient(ellipse at 35% 25%, var(--lab-light), transparent 65%), var(--lab-bg);
  color: var(--lab-ink); box-shadow: none; overflow: hidden; isolation: isolate;
  transform: none; perspective: 1000px;
  transition: background .6s, border-radius .7s;
}
.playground--lab .lab-stage[data-mood="studio"] { --lab-ink: rgb(var(--pa-rgb-45335c, 69, 51, 92)); --lab-bg: rgb(var(--pa-rgb-b7a5d3, 183, 165, 211)); --lab-light: rgb(var(--pa-rgb-efdcf1, 239, 220, 241)); border-radius: 24px; }
.playground--lab .lab-stage[data-mood="nature"] { --lab-ink: rgb(var(--pa-rgb-354738, 53, 71, 56)); --lab-bg: rgb(var(--pa-rgb-a4b581, 164, 181, 129)); --lab-light: rgb(var(--pa-rgb-e8e5bc, 232, 229, 188)); border-radius: 42% 42% 20px 20px; }
.playground--lab .lab-stage::before, .playground--lab .lab-stage::after { display: none; }
.lab-stage .poster-edition { position: absolute; top: 40px; left: 0; width: 100%; text-align: center; font-size: 9px; letter-spacing: .14em; }
.lab-core {
  position: absolute; inset: 28% 8% auto; text-align: center; z-index: 2;
  transform: rotateX(var(--stage-rotate-x)) rotateY(var(--stage-rotate-y));
  transition: transform .35s ease-out, background .5s, filter .5s, box-shadow .5s;
  border-radius: 24px; padding: 22px 8px; pointer-events: none;
}
.lab-eyebrow { display: block; font-size: 10px; letter-spacing: .035em; margin-bottom: 20px; }
.playground--lab .lab-stage .poster-title {
  font-size: clamp(52px, 5.8vw, 88px); line-height: .94; letter-spacing: -.06em;
  font-weight: 550; color: inherit; animation: none; transform: none; text-shadow: none;
}
.playground--lab .lab-stage .poster-title em { display: inline-block; font-size: 1.06em; line-height: 1.1; font-weight: 400; }
.lab-stage .poster-caption { display: block; font-size: 8px; letter-spacing: .13em; margin-top: 22px; }
.lab-orbit {
  position: absolute; width: 88%; height: 46%; left: 6%; top: 27%;
  border: 1px solid currentColor; border-radius: 50%; opacity: .22;
  transform: rotate(-28deg); animation: lab-orbit 12s ease-in-out infinite alternate paused;
  pointer-events: none;
}
.lab-orbit--cross { transform: rotate(55deg); animation-delay: -6s; }
.lab-stage.in-view .lab-orbit { animation-play-state: running; }
.lab-signature { position: absolute; right: 28px; bottom: 21px; font: 700 44px/1 var(--heading); letter-spacing: -.08em; }
.lab-replay {
  position: absolute; left: 22px; bottom: 24px; z-index: 12; border: 0;
  color: inherit; background: rgba(var(--pa-rgb-fff7eb, 255, 247, 235), 0.780392); border-radius: 24px; padding: 12px 16px; font-size: 11px;
  display: flex; gap: 16px; align-items: center;
}
.lab-replay span { font-size: 19px; }
.lab-replay:disabled { opacity: .5; cursor: default; }
.playground--lab .atelier-physics-hint { color: rgb(var(--pa-rgb-78685e, 120, 104, 94)); font-size: 10px; }
.playground--lab .atelier-physics { height: calc(100% - 32px); border-radius: 180px 180px 20px 20px; }
.playground--lab .atelier-visual[data-mood="studio"] .atelier-physics { border-radius: 24px; }
.playground--lab .atelier-visual[data-mood="nature"] .atelier-physics { border-radius: 42% 42% 20px 20px; }
.playground--lab .atelier-pixel > * { stroke: rgba(var(--pa-rgb-fff4da, 255, 244, 218), 0.466667); }
.playground--lab .atelier-visual[data-effect="depth"] .atelier-pixel { filter: drop-shadow(3px 7px 3px rgba(var(--pa-rgb-3c1928, 60, 25, 40), 0.25098)); }
.playground--lab .lab-stage[data-effect="depth"] .poster-title { text-shadow: 2px 3px 0 rgba(var(--pa-rgb-ffebcb, 255, 235, 203), 0.501961), 7px 9px 0 rgba(var(--pa-rgb-442331, 68, 35, 49), 0.070588); }
.playground--lab .lab-stage[data-effect="glass"] .lab-core { background: rgba(var(--pa-rgb-ffffff, 255, 255, 255), 0.145098); box-shadow: inset 0 0 0 1px rgba(var(--pa-rgb-ffffff, 255, 255, 255), 0.533333), 0 12px 32px rgba(var(--pa-rgb-442331, 68, 35, 49), 0.078431); backdrop-filter: blur(8px); }
.playground--lab .lab-stage[data-effect="soft"] .lab-core { filter: drop-shadow(0 8px 14px rgba(var(--pa-rgb-ffffff, 255, 255, 255), 0.466667)); }
.playground--lab .lab-stage[data-effect="soft"] { background: radial-gradient(ellipse at 40% 50%, var(--lab-light), var(--lab-bg)); }
.playground--lab .lab-stage[data-effect="outline"] .poster-title { -webkit-text-stroke: 1px var(--lab-ink); color: transparent; text-shadow: none; }
.playground--lab .lab-stage[data-effect="outline"] .lab-orbit { opacity: .65; }
.playground--lab .lab-stage.is-swapping .lab-core { animation: lab-change .75s cubic-bezier(.2,.7,.2,1); }
@keyframes lab-orbit { to { transform: rotate(38deg) scale(.93,1.12); } }
@keyframes lab-change { 0% { opacity: .2; transform: translateY(18px) rotate(-4deg) scale(.94); } 100% { opacity: 1; transform: none; } }

/* A spring-driven silhouette, inspired by the reference's pliable image edges. */
.trust .human-scene.elastic-photo {
  border-radius: 0; box-shadow: none; transform: none; filter: none;
  background: transparent; isolation: isolate; cursor: default;
}
.trust .human-scene.elastic-photo::before { display: none; }
.trust .human-scene.elastic-photo img {
  animation: none; transform: scale(1.07); filter: none; transition: none;
  will-change: transform;
}
.elastic-hitbox { position: relative; overflow: clip; }
.elastic-hitbox:focus-within { outline: 2px solid var(--wine); outline-offset: 5px; }
.trust .elastic-hitbox.is-interacting, .trust .elastic-hitbox.is-interacting .human-scene { cursor: none; }
.elastic-photo:focus-visible { outline: 3px solid var(--wine); outline-offset: 5px; }
.elastic-cursor {
  position: absolute; top: 0; left: 0; width: 46px; height: 46px;
  border-radius: 50%; background: rgb(var(--pa-rgb-fff9ef, 255, 249, 239)); color: rgb(var(--pa-rgb-442331, 68, 35, 49)); z-index: 4;
  pointer-events: none; opacity: 0; transition: opacity .2s; display: grid; place-items: center;
}
.elastic-cursor { font: 700 23px/1 var(--heading); }
.brand .brand-logo { display: block; width: auto; max-width: 160px; height: 40px; object-fit: contain; }
.elastic-hitbox.is-interacting .elastic-cursor { opacity: 1; }
.elastic-definitions { position: absolute; width: 0; height: 0; pointer-events: none; }
@media (max-width: 900px) {
  .playground--lab .playground-inner { grid-template-columns: 1fr; gap: 40px; }
  .playground--lab .playground-copy { max-width: 620px; }
  .playground--lab .atelier-visual { width: 100%; max-width: 620px; justify-self: center; }
  .playground--lab .lab-stage .poster-title { font-size: clamp(58px, 10vw, 86px); }
}
@media (max-width: 480px) {
  .playground--lab h2 { font-size: 43px; }
  .playground--lab .lab-stage { height: 460px; border-radius: 130px 130px 18px 18px; }
  .playground--lab .lab-stage[data-mood="studio"] .poster-title { font-size: 48px; }
  .playground--lab .mood-choice { padding: 10px 11px; font-size: 11px; }
  .lab-eyebrow { font-size: 9px; }
  .lab-replay { left: 14px; padding: 10px 12px; font-size: 10px; }
}
[data-motion="off"] .lab-orbit, .tab-hidden .lab-orbit { animation-play-state: paused !important; }
[data-motion="off"] .lab-core { animation: none !important; transform: none !important; transition: none; }
@media (prefers-reduced-motion: reduce) {
  .lab-orbit, .lab-core { animation: none !important; }
  .playground--lab *, .elastic-cursor { transition: none !important; }
  .playground--lab #playground-title .char { will-change: auto; }
}
