
/* Legal documents reuse the article system without its illustrated hero. */
.legal-document{padding:clamp(2.5rem,7vw,5rem) 0}.legal-header{border-bottom:1px solid var(--line);margin-bottom:2.25rem;padding-bottom:2rem}.legal-header h1{font-size:clamp(2rem,5vw,3.25rem)}.legal-document section{margin-top:2rem}.legal-document h2{font-size:clamp(1.25rem,3vw,1.65rem);margin-bottom:.65rem}.legal-document p{color:var(--muted);line-height:1.75;margin:.6rem 0}.legal-document a{color:var(--purple-dark);text-underline-offset:.2em}.legal-document a:focus-visible{border-radius:.2rem;outline:3px solid var(--purple);outline-offset:3px}
.article-page{overflow-wrap:break-word}.article-page nav a[aria-current=page]{color:var(--purple);font-weight:650}.prose-width{width:min(790px,calc(100% - 48px));margin-inline:auto}.figure-width{width:min(1040px,calc(100% - 48px));margin-inline:auto}.article-hero{padding:88px 0 48px;text-align:center}.article-eyebrow,.figure-label{color:var(--purple-dark);font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.article-hero h1{margin:15px auto 20px;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:680;letter-spacing:-.045em}.article-deck{margin:0 auto;max-width:740px;font-size:1.1rem;line-height:1.7}.article-meta{margin:22px 0 0;color:#7a7f91;font-size:.82rem}.banner-placeholder{aspect-ratio:16/9;min-height:0;margin-bottom:78px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#f8f6ff,var(--lavender));border:1px solid #ded8f3;border-radius:12px;box-shadow:var(--shadow)}.banner-motif{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px;color:var(--purple)}.banner-motif span{width:58px;height:38px;border:2px solid #9784e7;border-radius:7px}.banner-motif span:last-child{width:25px;height:45px;border-radius:6px}.banner-motif:before,.banner-motif:after{content:"";width:52px;border-top:1px dashed #aa9be8}.banner-motif i{font-size:1.35rem;font-style:normal}.banner-placeholder figcaption strong,.banner-placeholder figcaption small{display:block}.banner-placeholder figcaption strong{font-size:1.05rem}.banner-placeholder figcaption small{margin-top:5px;color:var(--muted)}.article-prose{font-size:1.05rem;line-height:1.75}.article-prose section{padding:12px 0 54px}.article-prose section+section{padding-top:54px;border-top:1px solid var(--line)}.article-prose h2,.route-comparison h2,.article-cta h2{margin-bottom:20px;font-size:clamp(1.65rem,3vw,2rem);font-weight:400;letter-spacing:-.03em}.article-prose h3{font-size:1rem}.article-prose p{margin-bottom:20px}.article-prose strong{color:var(--ink)}.inline-path{display:inline;padding:.15em .4em;color:#40347a;background:#f5f2ff;border-radius:4px;font:600 .91em/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.article-prose blockquote{margin:28px 0 0;padding:22px 25px;color:#30354e;background:#faf9ff;border-left:3px solid var(--purple);font-size:1.02rem}.definition-callout{margin:32px 0 0;padding:28px 30px;background:var(--lavender);border:1px solid #ded6fa;border-radius:10px}.definition-callout span{display:block;margin-bottom:7px;color:var(--purple);font-size:1.45rem;font-weight:700}.definition-callout strong{display:block}.definition-callout p{margin:7px 0 0}.architecture{margin-block:10px 78px;padding:42px;background:#fcfcff;border:1px solid var(--line);border-radius:12px}.architecture figcaption{text-align:center}.architecture figcaption strong{display:block;max-width:650px;margin:7px auto 28px;font-size:1.25rem}.architecture-flow{display:flex;flex-direction:column;align-items:center}.node{min-width:210px;padding:12px 18px;text-align:center;background:#fff;border:1px solid #d9dbe6;border-radius:8px;font-size:.9rem;font-weight:650}.node small{display:block;color:var(--muted);font-size:.72rem;font-weight:400}.node.endpoint,.node.decision{border-color:#b9aaf0}.node.direct,.node.relay{border-color:#8068df}.connector{height:29px;display:grid;place-items:center;font-style:normal}.connector.data{color:var(--purple);font-weight:800}.connector.control-line{color:#8a8e9e}.route-split{width:min(590px,100%);display:grid;grid-template-columns:1fr 1fr;gap:46px;text-align:center}.route-split>div{display:flex;flex-direction:column;align-items:center}.architecture-legend{margin-top:34px;padding-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line)}.architecture-legend>div{padding-left:16px;border-left:3px solid #aeb1bf}.architecture-legend>div:last-child{border-color:var(--purple)}.architecture-legend p{margin:5px 0 0;font-size:.83rem}.paired-lists,.model-steps{margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.paired-lists>div,.model-steps>div{padding:23px;background:#fcfcff;border:1px solid var(--line);border-radius:9px}.paired-lists h3,.model-steps h3{margin-bottom:14px}.paired-lists ul,.model-steps ol{margin:0;padding-left:20px;color:var(--muted);font-size:.92rem}.route-comparison{margin-block:10px 84px}.comparison-heading{text-align:center}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-grid article{padding:31px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--purple);border-radius:10px;box-shadow:0 12px 30px rgba(41,31,93,.05)}.route-badge{display:inline-block;padding:4px 9px;color:var(--purple-dark);background:var(--lavender);border-radius:99px;font-size:.72rem;font-weight:700}.relay-badge{background:#f2f3f8;color:#50566b}.comparison-grid h3{margin:15px 0 18px;font-size:1.25rem}.comparison-grid dl,.glossary dl{margin:0}.comparison-grid dl div+div{margin-top:17px}.comparison-grid dt,.glossary dt{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.comparison-grid dd{margin:4px 0 0;color:var(--muted);font-size:.91rem}.comparison-note{margin:20px 0 0;padding:17px;text-align:center;background:var(--lavender);border-radius:8px}.chunk-flow{margin:28px 0;padding:20px;display:flex;align-items:center;justify-content:center;gap:10px;background:#faf9ff;border:1px solid #e6e0f8;border-radius:9px;font-size:.84rem}.chunk-flow span,.chunk-flow strong{padding:7px 9px;background:#fff;border:1px solid var(--line);border-radius:5px}.chunk-flow i{color:var(--purple);font-style:normal}.fine-note{font-size:.9rem}.glossary dl{border-top:1px solid var(--line)}.glossary dl div{padding:18px 0;display:grid;grid-template-columns:170px 1fr;gap:20px;border-bottom:1px solid var(--line)}.glossary dd{margin:0;color:var(--muted)}.article-faq details{border-top:1px solid var(--line)}.article-faq details:last-child{border-bottom:1px solid var(--line)}.article-faq summary{padding:20px 28px 20px 0;cursor:pointer;color:var(--ink);font-weight:650}.article-faq details p{padding:0 20px 18px 0}.article-cta{margin-block:20px 74px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--lavender);border:1px solid #ded6f8;border-radius:12px}.article-cta h2{margin:7px 0}.article-cta p{max-width:620px;margin:0}.article-cta .button-row{margin:0;flex:0 0 auto}.back-link{color:var(--purple-dark);font-size:.9rem;font-weight:650;text-underline-offset:4px}.bimdflow-banner{margin-bottom:78px;overflow:hidden;border:1px solid #ded8f3;border-radius:12px;background:#f8f6ff;box-shadow:var(--shadow)}.bimdflow-banner img {display:block;width:100%;height:auto;}
@media(max-width:760px){.prose-width,.figure-width{width:min(100% - 32px,1040px)}.article-hero{padding:58px 0 38px;text-align:left}.article-hero h1{font-size:clamp(2.05rem,10vw,2.75rem)}.banner-placeholder{margin-bottom:56px}.architecture{padding:28px 18px}.route-split{grid-template-columns:1fr;gap:5px}.route-split .connector{height:22px}.architecture-legend,.comparison-grid,.paired-lists,.model-steps{grid-template-columns:1fr}.article-prose{font-size:1rem}.article-prose section{padding-bottom:42px}.article-prose section+section{padding-top:42px}.chunk-flow{align-items:stretch;flex-direction:column;text-align:center}.chunk-flow i{transform:rotate(90deg)}.glossary dl div{grid-template-columns:1fr;gap:5px}.article-cta{padding:30px;align-items:flex-start;flex-direction:column}.article-cta .button-row{align-items:flex-start;flex-direction:column}.architecture-flow>.connector:first-of-type{display:none}.bimdflow-banner{margin-bottom:56px;}}
@media(max-width:430px){.banner-placeholder figcaption strong{font-size:.9rem}.banner-placeholder figcaption small{font-size:.75rem}.banner-motif:before,.banner-motif:after{width:20px}.banner-motif span{width:42px;height:30px}.architecture{padding-inline:12px}.node{min-width:0;width:100%}.comparison-grid article{padding:24px 20px}.article-cta .button{width:100%}}
