/* Ufan layout v4
   Keep the stronger service content from v3, but restore the more visual LP rhythm from v2. */

:root{
  --ink:#29242e;
  --muted:#625b66;
  --rose:#d85f91;
  --rose-deep:#8459b5;
  --u-ink:#29242e;
  --u-muted:#625b66;
  --u-pink:#d85f91;
  --u-violet:#8459b5;
}

.heading>span,.section-label{color:#8459b5!important}
.manifest-en{color:#8459b5!important}
.heading h2,.manifest h2,.service-list h3{color:#29242e!important}
.manifest>p:not(.manifest-en),.section-lead,.service-list p{color:#625b66!important}

.role-intro{position:relative;overflow:hidden}
.role-intro .phone-copy{margin-bottom:20px}
.role-intro .phone-frame{margin-bottom:18px}
.role-mini{display:grid;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.role-mini>div{padding:17px 0}
.role-mini>div+div{border-top:1px solid var(--line)}
.role-mini span{display:block;margin-bottom:5px;font:700 9px/1 'Manrope',sans-serif;letter-spacing:.12em;color:#9a66d1}
.role-mini b{display:block;font:700 11px/1.55 'Manrope',sans-serif;color:var(--ink)}
.role-mini p{margin:5px 0 0;font-size:9px;line-height:1.7;color:var(--muted)}
.role-mini>div:last-child b{background:linear-gradient(90deg,#e46c9d,#9c7be7);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Services: keep the previous clean editorial list, not a dense card wall */
.service-system{background:transparent!important;padding-top:42px!important;padding-bottom:36px!important}
.service-system .section-lead{margin-bottom:22px}
.service-list{margin-top:0!important}
.service-system .service-list article{display:grid!important;grid-template-columns:38px minmax(0,1fr) 88px!important;height:auto!important;min-height:132px;align-items:center;gap:10px!important;background:none!important;border-radius:0!important;overflow:visible!important}
.service-system .service-list article>span{position:static!important;display:block!important;width:auto!important;height:auto!important;border-radius:0!important;background:none!important}
.service-system .service-list article>div{position:static!important;inset:auto!important}
.service-list article>img{display:block;width:88px;height:96px;object-fit:cover;border-radius:14px;filter:saturate(.82) contrast(.98)}
.service-list article>span{color:#8459b5!important}
.service-list small{color:#8459b5!important}
.service-list article.is-expansion{margin:8px -4px 0!important;padding:22px 14px!important;border:1px solid #e7def0!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(248,244,252,.96),rgba(255,249,251,.96))!important}
.service-list article.is-expansion>span,.service-list article.is-expansion small{color:#8459b5!important}

/* Expansion remains a hero section, but with one main graphic and lighter supporting copy */
.expansion-feature{padding-top:50px!important;padding-bottom:46px!important}
.expansion-feature .bridge-visual{margin-top:26px;margin-bottom:24px}
.expansion-feature .expansion-paths article{padding:16px 0}
.expansion-feature .expansion-paths h3{font-size:14px;line-height:1.65}

/* Restore the visual section rhythm that existed before the text-heavy v3 pass */
.record{
  margin:0 12px 32px!important;
  padding:34px 22px 30px!important;
  border:1px solid #ece7f4!important;
  border-radius:26px!important;
  background:#fffefd!important;
  box-shadow:0 16px 40px rgba(105,83,151,.065)!important;
}
.fv>img{object-position:100% 50%}
.record .record-hero{display:block;width:100%;height:164px;object-fit:cover;border-radius:20px;margin:22px 0 18px}
.record>h3{margin:0 0 6px!important;font-size:10px!important;letter-spacing:.08em;color:var(--muted)!important}
.record .metric{min-height:82px!important}
.record .record-badge{margin-top:18px!important}

.support{
  margin:0 12px 34px!important;
  border:1px solid #ece7f4!important;
  border-radius:26px!important;
  background:#fffefd!important;
  overflow:hidden;
}
.support>img{display:block;width:calc(100% + 44px);height:178px;margin:22px -22px 8px;object-fit:cover}
.support .support-list{margin-top:4px}
.support .support-list article{padding:17px 0!important}
.dm-note{margin-top:18px!important}

.partnership-strip{margin:0 12px 38px!important;padding:30px 22px!important;border-radius:26px!important;overflow:hidden}
.partnership-strip>img{height:170px!important;margin-top:18px!important;border-radius:20px!important;object-fit:cover}
.partnership-pills{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.partnership-pills span{padding:7px 10px;border:1px solid #e7def0;border-radius:999px;background:rgba(255,255,255,.8);font-size:8px;font-weight:700;color:#766c7e}

/* Previous process-line treatment for steps */
.steps{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:42px 26px 36px!important;
  margin-bottom:34px!important;
}
.steps>.heading{margin-bottom:24px}
.steps>article{position:relative;margin:0!important;padding:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.steps>article:last-of-type{border-bottom:1px solid var(--line)!important}
.steps>article>div{padding:20px 0 20px 62px!important;position:relative}
.steps article span{position:absolute;left:0;top:23px;color:#9b71de!important;font:700 9px/1.3 'Manrope',sans-serif!important;letter-spacing:.03em}
.steps article h3{margin:0 0 7px!important;font-size:16px!important;color:var(--ink)!important}
.steps article p{font-size:10px!important;line-height:1.9!important;color:var(--muted)!important}
.steps .contact-button{width:auto!important;min-width:190px;margin:14px 0 0!important;padding:10px 14px!important;font-size:11px!important}
.steps-end{margin:28px 0 0!important;font-size:16px!important;line-height:1.8!important;text-align:left!important;color:var(--ink)!important}

/* Final CTA gets a stronger visual finish again */
.final-cta>img{display:block;width:100%;height:188px;object-fit:cover;border-radius:22px;margin:18px 0}

@media(min-width:768px){
  .record,.support,.partnership-strip{margin-left:16px!important;margin-right:16px!important}
}
