.pms-motion { min-width:0;margin:0;scroll-margin-top:108px;border:1px solid #d7e2d4;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 22px 64px rgba(26,49,32,.055); }
.pms-motion-heading { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border-bottom:1px solid #e1e8de;background:#fcfdfa; }
.pms-motion-heading>div:first-child { display:grid;gap:9px;min-width:0; }
.pms-motion-heading>div:first-child>span { color:#4b6e57;font:600 11px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.14em; }
.pms-motion-heading strong { color:#132126;font-size:20px;font-weight:650;line-height:1.5;text-wrap:balance; }
.pms-motion-top-tools { flex:none;display:flex;align-items:center;gap:18px; }
.pms-motion-top-tools>span { color:#627262;font-size:12px;line-height:1.6; }
.pms-motion-stage { aspect-ratio:8/5;position:relative;overflow:hidden;background:#f3f7ef; }
.pms-motion-video { display:block;width:100%;height:100%;object-fit:contain;background:#f3f7ef; }
.pms-motion-caption { padding:24px 30px 20px; }
.pms-motion-controls { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px; }
.pms-motion-system { display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#355640;font-size:14px;font-weight:600;line-height:1.7; }
.pms-motion-system i { color:#688460;font-style:normal;font-weight:400; }
.pms-motion-toggle { min-height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border:1px solid #b8cdb5;border-radius:6px;background:#f7faf3;color:#294e36;font-size:13px;font-weight:600;transition:background .2s,border-color .2s; }
.pms-motion-toggle svg { fill:currentColor; }
.pms-motion-toggle:hover { background:#eaf3e2;border-color:#9db995; }
.pms-motion-phases { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.pms-motion-phases button { min-width:0;min-height:76px;display:flex;align-items:center;gap:12px;padding:17px 18px;color:#526850;border:1px solid #dce6d8;border-radius:8px;background:#f8faf5;text-align:left;transition:background .2s,border-color .2s,color .2s; }
.pms-motion-phases button>span { flex:none;font:500 12px ui-monospace,Consolas,monospace;color:#617d59; }
.pms-motion-phases b { font-size:15px;line-height:1.6;font-weight:600; }
.pms-motion-phases button>i { margin-left:auto;font-style:normal; }
.pms-motion-phases button[aria-pressed="true"] { border-color:#a8c99a;background:#eaf3e3;color:#244c34; }
.pms-motion-phases button[aria-pressed="true"]>span { color:#365b2f; }
.pms-motion-phases button:hover { border-color:#9fbd94;background:#eef5e8; }
.pms-motion button:focus-visible { outline:3px solid #087086;outline-offset:3px; }
.pms-motion button:active { transform:translateY(1px); }
.pms-motion button:disabled { cursor:default;opacity:.65; }
.pms-motion-description { max-width:800px;min-height:1.9em;margin:18px 0 0;color:#536b58;font-size:16px;line-height:1.9;overflow-wrap:anywhere; }
.pms-motion-status { min-height:1.7em;margin:5px 0 0;color:#49674e;font-size:12px;line-height:1.7; }
.pms-motion-status:empty { display:none; }
.pms-motion.is-media-error .pms-motion-status { color:#8a4a24; }
.pms-motion-fallback { margin:15px 0 0;color:#536b58;font-size:14px;line-height:1.8; }
.pms-motion-fallback a { color:#245b46;text-decoration:underline;text-underline-offset:3px; }
.pms-overview .pms-body { max-width:650px;line-height:2; }
.pms-overview .section-heading { row-gap:25px; }
@media(max-width:820px) {
  .pms-motion { scroll-margin-top:92px; }
  .pms-motion-heading { padding:23px 24px;align-items:flex-start; }
  .pms-motion-heading strong { font-size:19px; }
  .pms-motion-top-tools { flex-direction:column;align-items:flex-end;gap:8px; }
  .pms-motion-caption { padding:22px 24px; }
  .pms-motion-phases { gap:8px; }
  .pms-motion-phases button { gap:8px;padding:14px 12px; }
  .pms-motion-phases button>i { display:none; }
  .pms-motion-phases b { font-size:14px; }
}
@media(max-width:600px) {
  .pms-motion { border-radius:12px;scroll-margin-top:84px; }
  .pms-motion-stage { aspect-ratio:16/19; }
  .pms-motion-heading { gap:14px;padding:21px 19px;flex-direction:column; }
  .pms-motion-top-tools { width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:14px; }
  .pms-motion-heading strong { font-size:19px; }
  .pms-motion-caption { padding:18px; }
  .pms-motion-controls { gap:16px;align-items:flex-start;flex-direction:column;padding-bottom:18px; }
  .pms-motion-system { gap:7px;font-size:12px; }
  .pms-motion-toggle { min-height:46px;font-size:14px; }
  .pms-motion-phases { grid-template-columns:1fr;gap:8px; }
  .pms-motion-phases button { min-height:52px;padding:12px 15px;gap:14px; }
  .pms-motion-phases button>i { display:block; }
  .pms-motion-phases b { font-size:15px; }
  .pms-motion-description { margin-top:17px;min-height:0;font-size:16px; }
  .pms-overview .pms-body { line-height:1.95; }
}
@media(prefers-reduced-motion:reduce) { .pms-motion button { transition:none; }.pms-motion button:active { transform:none; } }

.architecture-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.architecture-links>a{position:relative;min-width:0;padding:26px 48px 26px 25px;border:1px solid #d7e2d4;border-radius:10px;background:#f7faf4;transition:background .25s,border-color .25s}
.architecture-links>a:hover{background:#edf5e6;border-color:#a8c99a}
.architecture-links>a:focus-visible{outline:3px solid #087086;outline-offset:4px}
.architecture-links>a>span{color:#526c4b;font:600 11px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.08em}
.architecture-links h3{margin:12px 0 8px;color:#132126;font-size:23px;line-height:1.4;overflow-wrap:anywhere}
.architecture-links p{margin:0;color:#5b6f60;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.architecture-links>a>b{position:absolute;right:24px;top:28px;color:#315e43;font-size:19px;font-weight:500}
@media(min-width:961px){.architecture .pms-motion-stage{max-width:832px;margin-inline:auto}}
@media(max-width:820px){.architecture-links{grid-template-columns:1fr;gap:12px}.architecture-links>a{padding:22px 52px 22px 23px}.architecture-links h3{font-size:22px}.architecture-links p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.architecture-links>a{transition:none}}
