/* Ufan structure v3
   Core architecture stays unchanged: fixed desktop sides + scrolling 410px center.
   This layer rebuilds the content rhythm around full management + platform expansion. */

:root{
  --u-ink:#27242b;
  --u-muted:#706b77;
  --u-line:#ebe6f2;
  --u-pink:#e46c9d;
  --u-violet:#9c7be7;
  --u-lilac:#eee9fa;
  --u-peach:#fbe7df;
}

/* shared rhythm */
.content-bg>section{scroll-margin-top:94px}
.section-lead{
  margin:14px 0 0;
  color:var(--u-muted);
  font-size:11px;
  line-height:1.9;
}

/* Intro / manifesto */
.intro-story{
  padding-bottom:52px !important;
}
.intro-story .manifest-en{
  margin-bottom:20px;
}

/* Role design: one clear contrast, no cards */
.role-split{
  padding:48px 26px 54px;
  background:linear-gradient(155deg,#fffafd 0%,#f8f4ff 60%,#fffefd 100%);
  border-top:1px solid var(--u-line);
  border-bottom:1px solid var(--u-line);
}
.role-split>h2{
  margin:12px 0 30px;
  font-size:28px;
  line-height:1.45;
  letter-spacing:-.035em;
  color:var(--u-ink);
}
.role-line{
  padding:20px 0;
  border-top:1px solid var(--u-line);
}
.role-line:last-of-type{border-bottom:1px solid var(--u-line)}
.role-line small{
  display:block;
  margin-bottom:8px;
  font:700 9px/1 'Manrope',sans-serif;
  letter-spacing:.12em;
  color:var(--u-violet);
}
.role-line b{
  display:block;
  font:700 13px/1.55 'Manrope',sans-serif;
  letter-spacing:.015em;
  color:var(--u-ink);
}
.role-line p{
  margin:8px 0 0;
  font-size:10px;
  line-height:1.8;
  color:var(--u-muted);
}
.role-arrow{
  margin:-1px 0;
  padding:8px 0;
  text-align:center;
  font-size:16px;
  color:#b08adf;
}
.role-ufan b{
  background:linear-gradient(90deg,var(--u-pink),var(--u-violet));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Services — editorial list, expansion gets emphasis */
.service-system{
  padding:54px 26px 46px;
  background:#fffefd;
}
.service-list{
  margin-top:26px;
  border-bottom:1px solid var(--u-line);
}
.service-list article{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  padding:24px 0;
  border-top:1px solid var(--u-line);
}
.service-list article>span{
  font:700 24px/1 'Manrope',sans-serif;
  letter-spacing:-.05em;
  color:#a47adb;
}
.service-list small{
  display:block;
  margin-bottom:6px;
  font:700 9px/1 'Manrope',sans-serif;
  letter-spacing:.12em;
  color:#a45fcf;
}
.service-list h3{
  margin:0 0 8px;
  font-size:17px;
  line-height:1.55;
  color:var(--u-ink);
}
.service-list p{
  margin:0;
  font-size:10px;
  line-height:1.9;
  color:var(--u-muted);
}
.service-list article.is-expansion{
  margin:10px -14px 0;
  padding:24px 14px;
  border:1px solid #eadcf7;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(248,221,234,.52),rgba(238,233,250,.72));
}
.service-list article.is-expansion>span{color:var(--u-pink)}
.service-list article.is-expansion small{color:var(--u-violet)}

/* Expansion = core business, visually distinct and central */
.expansion{
  margin:0 -12px;
  padding:58px 34px 54px;
  background:
    radial-gradient(circle at 0% 0%,rgba(251,231,223,.9),transparent 30%),
    radial-gradient(circle at 100% 12%,rgba(205,189,241,.54),transparent 32%),
    linear-gradient(180deg,#fffefd,#faf8fe);
  border-top:1px solid var(--u-line);
  border-bottom:1px solid var(--u-line);
}
.expansion .heading h2{font-size:28px;line-height:1.45}
.bridge-visual{
  margin:28px 0 30px;
  display:grid;
  grid-template-columns:70px 18px 78px 18px 1fr;
  align-items:center;
  gap:3px;
}
.bridge-creator,
.bridge-hub{
  min-height:70px;
  padding:13px 8px;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  border:1px solid var(--u-line);
}
.bridge-creator{background:#fff}
.bridge-hub{
  background:linear-gradient(135deg,#f8ddea,#eee9fa);
  border-color:#e4d7f2;
  box-shadow:0 10px 28px rgba(132,94,177,.12);
}
.bridge-creator small,.bridge-hub small{
  font:700 7px/1.3 'Manrope',sans-serif;
  letter-spacing:.08em;
  color:#8d8394;
}
.bridge-creator b,.bridge-hub b{
  margin-top:5px;
  font:700 15px/1 'Manrope',sans-serif;
  color:var(--u-ink);
}
.bridge-hub b{color:#9c5fd0}
.bridge-flow{text-align:center;color:#b98ad6;font-size:14px}
.bridge-platforms{
  display:grid;
  gap:5px;
}
.bridge-platforms span{
  display:block;
  padding:7px 8px;
  border:1px solid #e8e1ef;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  text-align:center;
  font:700 8px/1 'Manrope',sans-serif;
  color:#5f5967;
}
.expansion-paths{
  border-bottom:1px solid var(--u-line);
}
.expansion-paths article{
  padding:20px 0;
  border-top:1px solid var(--u-line);
}
.expansion-paths small{
  display:block;
  margin-bottom:5px;
  font:700 8px/1 'Manrope',sans-serif;
  letter-spacing:.12em;
  color:#9b69d0;
}
.expansion-paths h3{
  margin:0 0 6px;
  font-size:15px;
  color:var(--u-ink);
}
.expansion-paths p{
  margin:0;
  font-size:10px;
  line-height:1.8;
  color:var(--u-muted);
}

/* Operating cycle — process, not cards */
.record{
  padding:54px 26px 48px !important;
  margin:0 !important;
  background:#fffefd !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.cycle-list{
  margin-top:28px;
  border-bottom:1px solid var(--u-line);
}
.cycle-list article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:center;
  padding:17px 0;
  border-top:1px solid var(--u-line);
}
.cycle-list i{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f9ddea,#eee9fb);
  color:#9b62d2;
  font:700 9px/1 'Manrope',sans-serif;
  font-style:normal;
}
.cycle-list small{
  display:block;
  margin-bottom:3px;
  font:700 8px/1 'Manrope',sans-serif;
  letter-spacing:.1em;
  color:#9f78ca;
}
.cycle-list b{
  display:block;
  font-size:13px;
  line-height:1.6;
  color:var(--u-ink);
}

/* Concrete operations */
.operations{
  padding:54px 26px 46px;
  background:linear-gradient(180deg,#faf8fd 0%,#fffefd 100%);
  border-top:1px solid var(--u-line);
  border-bottom:1px solid var(--u-line);
}
.operation-list{
  margin-top:26px;
  border-bottom:1px solid var(--u-line);
}
.operation-list article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  padding:20px 0;
  border-top:1px solid var(--u-line);
}
.operation-list>article>span{
  font:700 11px/1 'Manrope',sans-serif;
  color:#a471d9;
  padding-top:4px;
}
.operation-list h3{
  margin:0 0 5px;
  font-size:15px;
  color:var(--u-ink);
}
.operation-list p{
  margin:0;
  font-size:10px;
  line-height:1.85;
  color:var(--u-muted);
}
.dm-note{
  margin-top:24px;
  padding:18px 18px 19px;
  border-radius:20px;
  background:linear-gradient(135deg,#fff6f9,#f4effd);
  border:1px solid #eadff2;
}
.dm-note small{
  display:block;
  margin-bottom:6px;
  font:700 8px/1 'Manrope',sans-serif;
  letter-spacing:.12em;
  color:#a55dc5;
}
.dm-note b{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  line-height:1.55;
  color:var(--u-ink);
}
.dm-note p{
  margin:0;
  font-size:9px;
  line-height:1.85;
  color:var(--u-muted);
}

/* Examples — editorial notes */
.cases{
  margin:0 -12px !important;
  padding:54px 34px 48px !important;
  background:linear-gradient(155deg,#fff9fc 0%,#f8f5ff 62%,#fffefd 100%) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.case-track{
  display:block !important;
  margin-top:24px;
  border-bottom:1px solid var(--u-line);
}
.case-card{
  width:100% !important;
  padding:22px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-top:1px solid var(--u-line) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.case-top{
  display:flex !important;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.case-top span{
  color:#9c6bd2 !important;
  font:700 9px/1 'Manrope',sans-serif;
}
.case-top b{font-size:10px !important;color:#736c79 !important}
.case-card h3{
  margin:0 0 10px !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:var(--u-ink);
}
.case-card h3 em{
  display:inline-block;
  margin-top:2px;
  font-size:19px !important;
  font-style:normal;
  background:linear-gradient(90deg,var(--u-pink),var(--u-violet));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
.case-body{
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  font-size:10px !important;
  line-height:1.9 !important;
  color:var(--u-muted) !important;
}

/* Partnership */
.partnership{
  padding:56px 26px 54px;
  background:#fffefd;
}
.partnership-en{
  margin:14px 0 18px;
  font:700 34px/1.12 'Manrope',sans-serif;
  letter-spacing:-.05em;
  background:linear-gradient(90deg,#e46c9d,#9c7be7);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.partnership h2{
  margin:0 0 16px;
  font-size:26px;
  line-height:1.5;
  color:var(--u-ink);
}
.partnership>p{
  margin:0;
  font-size:10px;
  line-height:1.9;
  color:var(--u-muted);
}
.partnership-points{
  margin-top:24px;
  border-bottom:1px solid var(--u-line);
}
.partnership-points span{
  display:block;
  padding:14px 0;
  border-top:1px solid var(--u-line);
  font-size:11px;
  font-weight:700;
  color:#5f5864;
}
.partnership-points span:before{
  content:'↗';
  margin-right:9px;
  color:#a96fd5;
}

/* Steps */
.steps-v3{
  padding:52px 26px 44px !important;
  background:linear-gradient(180deg,#faf8fd,#fffefd) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.steps-v3>article{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-top:1px solid var(--u-line) !important;
  border-radius:0 !important;
  background:transparent !important;
}
.steps-v3>article:last-of-type{border-bottom:1px solid var(--u-line) !important}
.steps-v3>article>div{
  padding:20px 0 20px 48px !important;
  position:relative;
}
.steps-v3 article span{
  position:absolute;
  left:0;
  top:24px;
  color:#9c70d8 !important;
  font:700 10px/1 'Manrope',sans-serif !important;
}
.steps-v3 article h3{
  margin:0 0 6px !important;
  color:var(--u-ink) !important;
  font-size:15px !important;
}
.steps-v3 article p{
  font-size:10px !important;
  line-height:1.85 !important;
  color:var(--u-muted) !important;
}
.steps-v3 .contact-button{
  width:auto !important;
  min-width:196px;
  margin:14px 0 0 !important;
}

/* FAQ gets quieter */
.faq{
  margin:0 !important;
  padding:54px 26px 48px !important;
  background:#fffefd !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.faq-list{margin-top:24px}
.faq-list article{border-color:var(--u-line) !important}

/* Final CTA: no person image dependency */
.final-cta{
  margin:0 -12px !important;
  padding:58px 34px 54px !important;
  background:
    radial-gradient(circle at 100% 0%,rgba(205,189,241,.45),transparent 34%),
    radial-gradient(circle at 0% 100%,rgba(248,221,234,.62),transparent 34%),
    #fffafd !important;
  border:0 !important;
  border-radius:0 !important;
}
.final-cta>img{display:none !important}
.final-message small{
  letter-spacing:.1em !important;
}
.final-message h2{
  font-size:34px !important;
  line-height:1.32 !important;
}

@media(min-width:768px){
  .service-system,.record,.operations,.partnership,.steps-v3,.faq{padding-left:30px;padding-right:30px}
  .expansion,.cases,.final-cta{margin-left:-12px !important;margin-right:-12px !important}
}
