.niwa-platforms--wordpress { padding-block:40px 80px; text-align:center; }
.niwa-platforms--wordpress > p { margin-bottom:32px; font-size:13px; color:var(--pt-muted); }
.niwa-platforms ul { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px 34px; list-style:none; padding:0; margin:0; }
.niwa-platforms li { display:flex; align-items:center; gap:9px; font-size:12px; white-space:nowrap; }
.niwa-platforms img { width:27px; height:27px; object-fit:contain; filter:grayscale(1); opacity:.72; }
.niwa-platforms--mcp { width:100%; }
.niwa-platforms--mcp ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 10px; }
.niwa-platforms--mcp li { flex-direction:column; gap:12px; font-size:10px; }
.niwa-platforms--mcp img { width:30px; height:30px; }
.niwa-mcp-map { display:grid; align-content:center; gap:56px; min-height:540px; padding:45px 28px; }
.niwa-mcp-map__hub { display:grid; justify-items:center; gap:20px; }
.niwa-mcp-map__hub img { width:85px; height:auto; filter:brightness(0); }
.niwa-mcp-map__hub span { font-size:11px; color:var(--pt-muted); }
/* The request, Niwa's reply, then the work itself. */
.niwa-workflow { width:min(1000px,100%); margin-inline:auto; padding-block:110px 140px; }
.niwa-workflow__conversation { display:grid; gap:64px; margin-bottom:36px; }
.niwa-workflow__user { width:fit-content; max-width:620px; margin-left:auto; padding:22px 27px; border-radius:22px 22px 5px 22px; background:#e8e5ee; font-size:17px; line-height:1.7; }
.niwa-workflow__reply { max-width:660px; padding-right:24px; font-size:17px; line-height:1.7; }
.niwa-workflow__speaker { display:block; margin-bottom:9px; font-size:11px; font-weight:500; color:#777180; }
.niwa-workflow__visual { position:relative; min-width:0; margin-inline:auto; }
.niwa-workflow.is-ready .niwa-workflow__user { opacity:0; transform:translateX(22px); transition:opacity .7s,transform .9s cubic-bezier(.22,1,.36,1); }
.niwa-workflow.is-ready .niwa-workflow__reply { opacity:0; transform:translateY(10px); transition:opacity .7s,transform .9s cubic-bezier(.22,1,.36,1); }
.niwa-workflow.is-visible .niwa-workflow__user, .niwa-workflow.is-visible .niwa-workflow__reply { opacity:1; transform:none; }
.niwa-workflow.is-visible .niwa-workflow__reply { transition-delay:.85s; }
.niwa-product-scene { width:100%; }
.niwa-product-scene__images { position:relative; width:min(700px,100%); margin-inline:auto; aspect-ratio:1; overflow:hidden; }
.has-product-motion .niwa-product-scene { height:calc(100svh + 900px); }
.has-product-motion .niwa-product-scene__images { position:sticky; top:calc((100svh - var(--product-size)) / 2); width:var(--product-size); }
.niwa-product-scene__images img { display:block; width:100%; height:100%; object-fit:cover; }
.niwa-product-scene__lifestyle { position:absolute; inset:0; }
.has-product-motion .niwa-product-scene__lifestyle { opacity:0; }
.has-product-motion.is-product-complete .niwa-product-scene__lifestyle { opacity:1; }
.niwa-product-scene__assembly { display:none; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.has-product-motion:not(.is-product-complete) .niwa-product-scene__assembly { display:block; }
@media(max-width:980px) { .niwa-mcp-map { padding-inline:0; } }
@media(max-width:700px) {
  .niwa-platforms--wordpress { padding-block:25px 45px; }
  .niwa-platforms--wordpress ul { gap:23px 25px; }
  .niwa-platforms--wordpress li { font-size:10px; }
  .niwa-platforms--wordpress img { width:23px; height:23px; }
  .niwa-workflow { padding-block:85px 115px; }
  .niwa-workflow__conversation { gap:23px; margin-bottom:25px; }
  .niwa-workflow__user { max-width:92%; padding:17px 20px; border-radius:19px 19px 4px 19px; font-size:14px; }
  .niwa-workflow__reply { max-width:92%; padding:0; font-size:14px; }
  .niwa-mcp-map { min-height:460px; gap:40px; padding-block:20px; }
}
@media(prefers-reduced-motion:reduce) { .niwa-workflow * { transition:none !important; animation:none !important; } }
.niwa-motion-paused .niwa-workflow * { transition:none !important; animation:none !important; }
