.research-service { --research-card-title-size: clamp(18px, 1.75vw, 21px); overflow: clip; color: var(--color-ink); }
.research-service__hero, .research-service__cta { background: var(--color-paper); }
.research-service__hero-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 5vw, 80px); min-height: 735px; padding-block: 42px; }
.research-service__hero h1 { max-width: 800px; margin-block: 36px 32px; font-size: clamp(48px, 5vw, 68px); line-height: 1.02; letter-spacing: -.025em; }
.research-service__hero-lead, .research-service__lead { max-width: 635px; color: var(--color-muted); font-size: 15.2px; line-height: 1.7; }
.research-service__hero-lead p + p, .research-service__lead p + p { margin-top: 16px; }
.research-service__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.research-service__art { min-width: 0; }
.research-service__art svg { display: block; width: 100%; max-width: 100%; height: auto; overflow: visible; }
.research-service__art--hero { width: min(100%, 420px); justify-self: end; }
.research-service__art--cta { width: min(100%, 170px); justify-self: center; }
.research-service__section { padding-block: 116px; }
.research-service__section--after-hero { padding-top: 70px; }
.research-service__section--dark { background: var(--color-night); color: var(--color-paper); }
.research-service__section--surface { background: var(--color-paper-deep); }
.research-service h2 { max-width: 860px; margin-top: 24px; font-size: clamp(36px, 3.8vw, 56px); line-height: 1.07; letter-spacing: -.027em; }
.research-service__intro { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: end; gap: clamp(40px, 7vw, 110px); }
.research-service__intro .research-service__lead { margin-top: 0; }
.research-service__lead { margin-top: 32px; }
.research-service__section--dark .research-service__lead, .research-service__section--dark .research-service__row-list p { color: #bdb7b0; }
.research-service__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(40px, 7vw, 110px); }
.research-service__row-list { margin-top: 64px; padding: 0; list-style: none; border-top: 1px solid rgb(22 18 16 / .15); }
.research-service__row-list li { display: grid; grid-template-columns: 6% 44% 1fr; gap: 2%; align-items: center; min-height: 101px; padding-block: 16px; border-bottom: 1px solid rgb(22 18 16 / .15); }
.research-service__row-list span, .research-service__method-grid span, .research-service__deliverable-list span, .research-service__next-list span, .research-service__process-index, .research-service__comparison span { color: var(--color-accent-text); font: 400 11px/1.5 var(--font-mono); }
.research-service__row-list h3, .research-service__method-grid h3, .research-service__process-list h3, .research-service__comparison h3 { font-size: var(--research-card-title-size); line-height: 1.25; }
.research-service__row-list p, .research-service__method-grid p, .research-service__process-list p, .research-service__comparison p { color: var(--color-muted); font-size: 14px; line-height: 1.6; }
.research-service__section--dark .research-service__row-list { border-color: rgb(243 239 231 / .16); }
.research-service__section--dark .research-service__row-list li { border-color: rgb(243 239 231 / .16); }
.research-service__section--dark .research-service__row-list span, .research-service__section--dark .research-service__next-list span { color: #d878cc; }
.research-service__method-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; margin-top: 64px; padding: 0; list-style: none; }
.research-service__method-grid li { display: flex; flex-direction: column; min-height: 260px; grid-column: span 6; padding: 28px; border: 1px solid rgb(22 18 16 / .15); border-radius: var(--radius-ui); background: var(--color-paper); }
.research-service__method-grid li:nth-child(6n + 1), .research-service__method-grid li:nth-child(6n + 5) { grid-column: span 7; }
.research-service__method-grid li:nth-child(6n + 2), .research-service__method-grid li:nth-child(6n + 6) { grid-column: span 5; }
.research-service__method-grid li:nth-child(6n + 3) { grid-column: span 4; }
.research-service__method-grid li:nth-child(6n + 4) { grid-column: span 8; }
.research-service__method-grid h3 { margin-top: auto; padding-top: 56px; }
.research-service__method-grid p { margin-top: 14px; }
.research-service__section-note { max-width: 640px; margin-top: 32px; color: var(--color-muted); font-size: 13.5px; line-height: 1.6; }
.research-service__process { margin-top: 110px; }
.research-service__process-list { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 0; list-style: none; }
.research-service__process-list::before { position: absolute; top: 7px; right: 0; left: 0; height: 1px; background: rgb(243 239 231 / .25); content: ''; }
.research-service__process-list li { position: relative; min-width: 0; min-height: 145px; padding-top: 46px; }
.research-service__process-node { position: absolute; z-index: 1; top: 0; left: 0; width: 15px; height: 15px; border: 2px solid var(--color-accent); border-radius: 50%; background: var(--color-night); box-shadow: 0 0 0 5px var(--color-night); transition: background-color .24s ease, transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.research-service__process-list li.is-filled .research-service__process-node { background: var(--color-accent); }
.research-service__process-index { color: var(--color-accent-text-dark); }
.research-service__process-list h3 { margin-top: 14px; color: var(--color-paper); }
.research-service__process-list p { margin-top: 12px; color: #bdb7b0; }
.research-service__process-list li:last-child .research-service__process-node::after { position: absolute; inset: -2px; border: 2px solid var(--color-accent); border-radius: 50%; opacity: 0; content: ''; pointer-events: none; }
.research-service__process-list li:last-child.is-celebrating .research-service__process-node { animation: research-process-complete .65s cubic-bezier(.2,.7,.2,1) both; }
.research-service__process-list li:last-child.is-celebrating .research-service__process-node::after { animation: research-process-burst .7s ease-out both; }
@keyframes research-process-complete { 0% { transform: scale(1); } 38% { transform: scale(1.5); box-shadow: 0 0 0 6px var(--color-night), 0 0 0 9px rgb(192 64 181 / .38); } 70% { transform: scale(.88); } 100% { transform: scale(1.12); box-shadow: 0 0 0 5px var(--color-night); } }
@keyframes research-process-burst { 0% { opacity: .8; transform: scale(.6); } 70% { opacity: .65; transform: scale(2.8); } 100% { opacity: 0; transform: scale(3.6); } }
.research-service__deliverable-list, .research-service__next-list { padding: 0; list-style: none; border-top: 1px solid rgb(22 18 16 / .15); }
.research-service__deliverable-list li, .research-service__next-list li { display: grid; grid-template-columns: 42px 1fr; gap: 14px; min-height: 52px; align-items: center; border-bottom: 1px solid rgb(22 18 16 / .15); font-size: 15px; }
.research-service__list-label { margin-bottom: 24px; color: #d2cbc3; font-size: 14px; }
.research-service__next-list, .research-service__next-list li { border-color: rgb(243 239 231 / .16); }
.research-service__button--light { border-color: rgb(243 239 231 / .45) !important; color: var(--color-paper) !important; }
.research-service__button--light:hover { background: var(--color-paper) !important; color: var(--color-night) !important; }
.research-service__comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 64px; }
.research-service__comparison > div { min-height: 260px; padding: 32px; border-radius: var(--radius-ui); background: var(--color-paper-deep); }
.research-service__comparison h3 { margin-top: 64px; }
.research-service__comparison p { max-width: 490px; margin-top: 14px; }
.research-service__cta { padding-block: 116px; }
.research-service__cta-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: center; gap: 56px; }
.research-service__cta h2 { max-width: 800px; margin-top: 24px; font-size: clamp(40px, 4.5vw, 64px); }
.research-service__cta p[data-scroll-write] { max-width: 610px; margin-top: 30px; color: var(--color-muted); font-size: 15.2px; line-height: 1.7; }
.research-service .service-faq { background: var(--color-paper-deep); border-top: 0; }
.research-service--motion [data-research-stagger] > * { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--research-order, 0) * 60ms); }
.research-service--motion [data-research-stagger] > *.is-visible { opacity: 1; transform: none; }
.research-service__art svg g[id], .research-service__art svg path[id] { transform-box: fill-box; transform-origin: center; }
.research-service__art--hero svg { animation: research-art-enter .9s ease-out both; }
.research-service__art--hero #tp-ux-research-hero-Group, .research-service__art--hero #tp-ux-research-hero-Group_2, .research-service__art--hero #tp-ux-research-hero-Group_7, .research-service__art--hero #tp-ux-research-hero-Group_8 { animation: research-float 5.8s ease-in-out infinite; }
.research-service__art--hero #tp-ux-research-hero-Group_2 { animation-delay: -1.3s; }
.research-service__art--hero #tp-ux-research-hero-Group_7 { animation-delay: -2.5s; }
.research-service__art--hero #tp-ux-research-hero-Group_8 { animation-delay: -3.4s; }
.research-service__art--hero #tp-ux-research-hero-Vector_9 { animation: research-dash 7s linear infinite; }
.research-service__art--cta.is-in-view #tp-ux-research-cta-InsightMark { animation: research-float 5s ease-in-out infinite; }
.research-service__art--cta.is-in-view #tp-ux-research-cta-Vector_6 { animation: research-insight 2.6s ease-in-out infinite; }
@keyframes research-art-enter { from { opacity: .25; transform: translate(14px, 12px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes research-float { 50% { transform: translateY(-8px); } }
@keyframes research-dash { to { stroke-dashoffset: -80; } }
@keyframes research-insight { 50% { opacity: .5; transform: scale(1.06); } }
@media (max-width: 1000px) { .research-service__process-list { gap: 14px; } }
@media (max-width: 767px) {
  .research-service__hero-grid, .research-service__intro, .research-service__split, .research-service__cta-grid { display: block; }
  .research-service__hero-grid { min-height: 0; padding-block: 80px; }
  .research-service__hero h1 { font-size: clamp(40px, 11vw, 52px); }
  .research-service__actions .button { width: 100%; }
  .research-service__art--hero { margin: 48px auto 0; }
  .research-service__section { padding-block: 84px; }
  .research-service__section--after-hero { padding-top: 42px; }
  .research-service h2 { font-size: clamp(32px, 9vw, 42px); }
  .research-service__intro .research-service__lead { margin-top: 28px; }
  .research-service__row-list, .research-service__method-grid, .research-service__comparison { margin-top: 48px; }
  .research-service__row-list li { grid-template-columns: 38px 1fr; gap: 6px 16px; padding-block: 22px; }
  .research-service__row-list p { grid-column: 2; }
  .research-service__split > div + div { margin-top: 48px; }
  .research-service__process { margin-top: 58px; }
  .research-service__process-list { display: block; }
  .research-service__process-list::before { top: 0; right: auto; bottom: 0; left: 7px; width: 1px; height: auto; }
  .research-service__process-list li { min-height: 122px; padding: 3px 0 28px 38px; }
  .research-service__process-list h3 { margin-top: 10px; }
  .research-service__process-list p { margin-top: 7px; }
  .research-service__cta { padding-block: 84px; }
  .research-service__art--cta { margin: 48px auto 0; }
}
@media (max-width: 767px) { .research-service__method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .research-service__method-grid li { grid-column: span 1 !important; min-height: 235px; } }
@media (max-width: 520px) { .research-service__method-grid, .research-service__comparison { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .research-service__art svg, .research-service__art svg *, .research-service__process-node { animation: none !important; transition: none !important; } .research-service--motion [data-research-stagger] > * { opacity: 1; transform: none; transition: none; } }
