/* Collaboration and working rhythm: crisp type over layered surfaces. */
.process-partnership,.process-rhythm { position: relative; overflow: clip; isolation: isolate; scroll-margin-top: 90px; }
.working-container { position: relative; width: min(calc(100% - 80px),1000px); margin-inline: auto; }
.working-kicker { display: flex; align-items: center; gap: 14px; font: 700 10px/1.5 var(--heading); letter-spacing: .12em; text-transform: uppercase; }
.working-kicker::before { content: ''; width: 25px; height: 2px; flex-shrink: 0; background: linear-gradient(90deg,#ff44df,#777cff); }
.working-number { position: absolute; top: 24px; right: 28px; font: 700 12px var(--heading); }
.working-decor { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.working-orb { position: absolute; border-radius: 50%; translate: 0 var(--working-drift,0px); animation: working-float 9s ease-in-out infinite alternate; }
.working-note { position: absolute; color: #b8a1f4; text-align: center; font: italic 24px/1.04 'Segoe Print','Comic Sans MS',cursive; rotate: -18deg; }
.working-note::after { content: ''; display: block; height: 1px; margin-top: 9px; background: currentColor; }

.process-partnership { padding: 47px 0 35px; color: #fff; background: radial-gradient(ellipse at 2% 50%,#20184780,transparent 32%),radial-gradient(ellipse at 92% 100%,#28164c55,transparent 30%),#0e1629; }
.process-partnership .working-kicker { color: #c699ff; }
.partnership-heading { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 60px; align-items: end; margin: 0 7px 30px; }
.partnership-heading h2 { margin: 25px 0 0; font-size: clamp(40px,4.05vw,57px); line-height: 1.02; font-weight: 800; letter-spacing: -.052em; }
.partnership-heading h2 span { color: transparent; background: linear-gradient(115deg,#e98df3,#9a7eea 55%,#2895fa); background-clip: text; -webkit-background-clip: text; }
.partnership-heading > p { margin: 0 0 7px; padding-left: 30px; border-left: 1px solid #65708c; color: #b4bfda; font-size: 15px; line-height: 1.6; }
.partnership-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.partnership-grid > div { min-width: 0; }
.partnership-card { --card-accent: #9561ff; --card-tint: #261845; --card-ink: #d1c6ff; position: relative; height: 100%; min-height: 280px; padding: 21px 30px 20px; display: flex; flex-direction: column; border: 1px solid #47516e; border-radius: 16px; background: linear-gradient(140deg,#1a2034,#171d30); box-shadow: inset 0 1px #ffffff06,0 14px 25px #02071018; transition: transform .3s var(--ease),box-shadow .3s,border-color .3s; }
.partnership-card-2 { --card-accent: #3984ff; --card-tint: #102748; --card-ink: #91c5ff; }
.partnership-card-3 { --card-accent: #f575ed; --card-tint: #35193f; --card-ink: #f5b5f6; }
.partnership-card .working-number { color: var(--card-accent); }
.partnership-icon { position: relative; width: 67px; height: 67px; display: grid; place-items: center; flex-shrink: 0; color: #fff; border: 1px solid #e536dd; border-radius: 50%; background: radial-gradient(circle at 24% 15%,#ee29ba,#8d088d 50%,#351160); box-shadow: inset -4px -3px 9px #cf38e06b,inset 4px 2px 8px #ff7bf05c,0 5px 18px #a828d41c; transition: transform .35s var(--ease); }
.partnership-card-2 .partnership-icon { border-color: #4679ff; background: radial-gradient(circle at 24% 15%,#438cff,#1241d1 53%,#092274); box-shadow: inset -4px -3px 9px #3075ff,inset 4px 2px 8px #8ebfff66,0 5px 18px #2879d42c; }
.partnership-icon svg { width: 34px; height: 34px; }
.partnership-card h3 { font-size: 22px; letter-spacing: -.05em; margin: 19px 0 8px; font-weight: 800; }
.partnership-card > p { color: #afbdd7; font-size: 13px; line-height: 1.6; margin: 0 0 18px; }
.partnership-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 43px; padding: 5px 6px 5px 17px; margin-top: auto; border: 1px solid transparent; border-radius: 999px; color: var(--card-ink); background: linear-gradient(110deg,var(--card-tint),#191e35) padding-box,linear-gradient(100deg,var(--card-accent),#36315e) border-box; font-size: 12px; line-height: 1.35; transition: box-shadow .25s,color .25s; }
.partnership-link i { flex-shrink: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--card-accent); color: #0c1230; font-size: 21px; font-style: normal; transition: transform .25s; }
.partnership-card-2 .partnership-link i { color: #fff; }
.partnership-link:hover { color: #fff; box-shadow: 0 0 16px #8950fa26; }
.partnership-link:hover i { transform: translateX(2px); }
.partnership-link:focus-visible,.rhythm-link:focus-visible { outline: 2px solid #ba81ff; outline-offset: 5px; }
.partnership-orb-left { width: 252px; height: 252px; left: -130px; top: 155px; background: radial-gradient(at 20% 10%,#3199ff,#3d3bec 45%,#9a16d4 76%,#ec2dea); box-shadow: inset 3px 5px 15px #98b4ff,inset -9px -5px 20px #fa53f4,0 0 30px #922cfb30; }
.partnership-orb-right { width: 288px; height: 288px; right: -143px; bottom: -82px; background: radial-gradient(at 85% 85%,#058fff,#4734d3 54%,#a726cc 85%,#fb51ec); box-shadow: inset 7px 1px 13px #f368f9,0 0 35px #6e28de3b; animation-delay: -4s; }
.partnership-orbit { position: absolute; border: 1px solid #8842e0; border-radius: 50%; }
.partnership-orbit-left { width: 420px; height: 540px; left: -295px; top: 26px; rotate: -12deg; background: linear-gradient(110deg,transparent,#4e27831f); }
.partnership-orbit-right { width: 540px; height: 520px; right: -242px; bottom: -255px; rotate: 32deg; }
.partnership-note-left { left: 4.3%; bottom: 110px; font-size: 22px; }.partnership-note-right { right: 3%; top: 155px; }

.process-rhythm { padding: 65px 0 74px; color: #080f32; background: radial-gradient(ellipse at 69% 70%,#f5f0ff6b,transparent 42%),#fff; }
.process-rhythm .working-kicker { color: #7940dc; letter-spacing: .06em; }
.rhythm-layout { display: grid; grid-template-columns: minmax(0,.6fr) minmax(0,1fr); gap: 20px; align-items: start; }
.rhythm-copy { padding-top: 5px; }
.rhythm-copy h2 { margin: 33px 0 28px; font-size: clamp(40px,4.05vw,57px); line-height: 1.06; letter-spacing: -.06em; font-weight: 800; }
.rhythm-copy h2 span { color: transparent; background: linear-gradient(110deg,#ff25b6,#c958dc 56%,#445eff); background-clip: text; -webkit-background-clip: text; }
.rhythm-copy > p { margin: 0 0 28px; color: #56658c; font-size: 15px; line-height: 1.55; }
.rhythm-link { display: inline-flex; align-items: center; gap: 22px; padding-bottom: 10px; border-bottom: 1px solid #9564f3; color: #171145; font-size: 14px; font-weight: 700; }
.rhythm-link span { color: #7952cd; font-size: 22px; font-weight: 400; transition: transform .3s; }.rhythm-link:hover span { transform: translateX(5px); }
.rhythm-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.rhythm-grid > li { min-width: 0; }
.rhythm-card { position: relative; height: 100%; min-height: 178px; padding: 14px 34px 17px 40px; border: 1px solid #d9e1fc; border-radius: 14px; background: linear-gradient(135deg,#fff,#f6faff); box-shadow: inset 0 1px #fff,0 12px 28px #a58cc008; transition: transform .3s var(--ease),box-shadow .3s,border-color .3s; }
.rhythm-card-1 { border-color: #e9c5ff; background: radial-gradient(at 65% 0%,#fbe6fd,#fdfaff 75%); }
.rhythm-card .working-number { top: 20px; right: 25px; color: #6c55ff; font-size: 13px; }
.rhythm-card-1 .working-number { color: #9d3dff; }
.rhythm-icon { display: grid; place-items: center; width: 66px; height: 66px; color: #6261ff; border: 1px solid #c5ceff; border-radius: 50%; background: radial-gradient(at 30% 20%,#e5ebff,#f9fcff 75%); box-shadow: inset 0 -2px 6px #fff; transition: transform .35s var(--ease); }
.rhythm-icon svg { width: 34px; height: 34px; }
.rhythm-card-1 .rhythm-icon { color: #a137ef; border-color: #e3afff; background: radial-gradient(at 40% 20%,#f3d8ff,#fdf6ff); }
.rhythm-card h3 { margin: 11px 0 6px; font-size: 24px; font-weight: 800; letter-spacing: -.04em; }
.rhythm-card p { margin: 0; color: #536391; font-size: 15px; line-height: 1.42; }
.rhythm-card-4 { color: #fff; border-color: #de9af4; background: linear-gradient(128deg,#7022d4 2%,#c42cdf 35%,#ef42bd 65%,#168cfa 100%); box-shadow: inset 0 1px #ffffff50,0 12px 30px #aa5bdd17; }
.rhythm-card-4 .rhythm-icon { color: #fff; border-color: #ed9cf7; background: linear-gradient(145deg,#ffffff0c,#fface643); box-shadow: inset 0 -2px 8px #ffffff12; }
.rhythm-card-4 p,.rhythm-card-4 .working-number { color: #fff; }
.rhythm-orb-left { width: 210px; height: 210px; top: -3px; left: -87px; opacity: .55; background: radial-gradient(at 45% 50%,#96b3fa,#e6d5ff 62%,#fff 80%); }
.rhythm-orb-right { width: 390px; height: 430px; top: 36px; right: -235px; background: linear-gradient(145deg,#ffe8fc,#ecdbfc 38%,#e0f2fc 78%,#fff); opacity: .85; animation-delay: -3s; }

.working-motion .working-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease),transform .7s var(--ease); }
.working-motion .working-reveal.is-visible { opacity: 1; transform: none; }
@keyframes working-float { to { transform: translateY(13px); } }
@media (hover:hover) and (pointer:fine) {
  [data-working-card]:hover { transform: perspective(1200px) translateY(-5px) rotateX(var(--working-rx,0deg)) rotateY(var(--working-ry,0deg)); }
  .partnership-card:hover { border-color: var(--card-accent); box-shadow: 0 22px 34px #0003,inset 0 1px #ffffff14; }
  .partnership-card:hover .partnership-icon,.rhythm-card:hover .rhythm-icon { transform: translateY(-3px) rotate(-5deg); }
  .rhythm-card:hover { box-shadow: 0 18px 36px #824ca522; border-color: #bf99f1; }
}
@media (max-width:1250px) {
  .working-note { display: none; }.working-orb { opacity: .6; }
  .partnership-card { padding-inline: 23px; }
  .partnership-heading { gap: 35px; }
}
@media (max-width:1000px) {
  .working-container { width: calc(100% - 48px); }
  .partnership-heading { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 30px; }
  .working-title-break { display: none; }
  .partnership-heading h2 { font-size: 43px; }
  .partnership-heading > p { padding-left: 20px; font-size: 14px; }
  .partnership-grid { gap: 14px; }.partnership-card { padding: 21px 18px; }
  .partnership-card h3 { font-size: 20px; }
  .partnership-link { padding-left: 10px; font-size: 11px; }
  .rhythm-layout { grid-template-columns: minmax(0,.7fr) minmax(0,1fr); gap: 26px; }
  .rhythm-card { padding: 18px 20px; }.rhythm-card p { font-size: 14px; }
  .rhythm-copy h2 { font-size: 43px; }
}
@media (max-width:760px) {
  .process-partnership { padding: 52px 0; }.process-rhythm { padding: 55px 0; }
  .partnership-heading { grid-template-columns: minmax(0,1fr); margin-inline: 0; gap: 23px; }
  .partnership-heading h2 { max-width: 560px; margin-top: 22px; font-size: clamp(38px,7vw,49px); }
  .partnership-heading > p { max-width: 540px; margin: 0; font-size: 15px; }
  .partnership-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .partnership-card { min-height: 255px; padding: 24px; }
  .partnership-card h3 { font-size: 24px; }.partnership-card > p { font-size: 15px; max-width: 530px; }
  .partnership-link { font-size: 13px; padding-left: 17px; }
  .rhythm-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .rhythm-copy { max-width: 560px; }.rhythm-copy h2 { font-size: 48px; margin: 25px 0; }
  .rhythm-card { padding: 22px; }.rhythm-card p { font-size: 15px; }
  .partnership-orb-left { left: -195px; }.partnership-orb-right { right: -220px; }
}
@media (max-width:440px) {
  .working-container { width: calc(100% - 36px); }
  .working-kicker { font-size: 9px; gap: 12px; }
  .partnership-heading h2 { font-size: 39px; }
  .rhythm-copy h2 { font-size: clamp(39px,10.5vw,46px); }
  .rhythm-grid { grid-template-columns: minmax(0,1fr); }
  .rhythm-card { min-height: 190px; padding: 22px 26px; }
}
@media (prefers-reduced-motion:reduce) {
  [data-working-section] *,[data-working-section] *::before,[data-working-section] *::after { animation: none !important; transition: none !important; }
  .working-motion .working-reveal { opacity: 1; transform: none; }
  [data-working-card]:hover,.partnership-card:hover .partnership-icon,.rhythm-card:hover .rhythm-icon { transform: none; }
  .working-orb { translate: none; }
}
