.build-story .guide-hero{max-width:1080px;display:block}.build-story .guide-hero-copy{max-width:850px}.build-reading{max-width:850px;margin:0 auto;padding:0 24px 40px}.build-disclosure{border-left:3px solid var(--terracotta);background:#f3eee6;margin:0 0 28px;padding:12px 18px;font-size:.93rem}.build-copy{font-size:1.08rem;line-height:1.85}.build-copy h2{margin:40px 0 18px;line-height:1.35}.build-copy p{margin:0 0 20px}.build-copy .wrapped-section{display:flow-root}.build-copy .article-photo{width:38%;max-width:310px;margin:7px 0 20px}.build-copy .float-right{float:right;margin-left:30px}.build-copy .float-left{float:left;margin-right:30px}.build-copy .article-photo img{border-radius:16px;width:100%;height:auto;display:block}.build-printable-photo{position:relative}.build-copy .article-photo img.build-printable-cover{border-radius:0;width:57.25%;height:auto;position:absolute;top:24.7%;left:21.4%}.build-copy figcaption{color:var(--text-muted,#5d6559);margin-top:8px;font-size:.82rem;line-height:1.6}.build-copy figure:not(.article-photo){margin:32px 0}.build-copy figure:not(.article-photo) img{width:100%;height:auto;display:block}.build-copy code{overflow-wrap:anywhere;font-size:.87em}.build-copy .sources{border-top:1px solid #c5cec2;margin-top:38px;padding-top:22px;font-size:.92rem}.build-copy .sources .text-link{text-underline-offset:.18em;text-decoration:underline}.build-copy .sources li{overflow-wrap:anywhere;margin-bottom:12px}.build-links{flex-wrap:wrap;gap:12px;display:flex}.build-copy .build-architecture{box-sizing:border-box;color:#333f35;background:#f3eee6;border:1px solid #bdc9bd;border-radius:22px;width:min(1200px,100vw - 40px);margin:38px 0;padding:20px;position:relative;left:50%;transform:translate(-50%)}.build-architecture>figcaption{color:inherit;margin:0 0 24px;font-size:1rem}.build-architecture .eyebrow{color:#795e4f;font-size:.75rem}.build-copy .build-architecture h2{margin:0 0 12px;font-size:clamp(1.6rem,3vw,2rem)}.build-architecture p{font-size:1rem;line-height:1.65}.build-diagram-actions,.build-diagram-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.build-architecture button{color:#333f35;min-height:44px;font:inherit;cursor:pointer;background:#e4ebe0;border:1px solid #7d9682;border-radius:10px;padding:9px 15px;font-size:.95rem;line-height:1.4}.build-architecture button:hover{background:#d6e1d1}.build-architecture button:disabled{opacity:.5;cursor:default}.build-architecture button:focus-visible,.build-diagram-preview:focus-visible,.build-diagram-viewport:focus-visible{outline-offset:3px;outline:3px solid #795e4f}.build-copy .build-diagram-hint{margin:12px 0;font-size:.9rem}.build-diagram-preview{overscroll-behavior-x:contain;border-radius:12px;max-width:100%;overflow-x:auto}.build-copy .build-architecture img.build-diagram-image{width:100%;max-width:none;height:auto;display:block}.build-copy .build-diagram-preview img.build-diagram-image{min-width:1108px}.build-diagram-summary{margin-top:18px;font-size:1rem}.build-diagram-summary summary{cursor:pointer;color:#435a49}.build-copy .build-diagram-summary p{margin:16px 0 0}.build-diagram-download{text-underline-offset:.18em;font-size:.94rem;text-decoration:underline}.build-diagram-dialog{box-sizing:border-box;color:#333f35;background:#f6f1e8;border:1px solid #7d9682;border-radius:18px;width:calc(100vw - 24px);max-width:1600px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px;inset:0}.build-diagram-dialog[open]{flex-direction:column;display:flex}.build-diagram-dialog::backdrop{background:#1e2921b8}.build-diagram-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.build-copy .build-diagram-dialog h2{margin:0;font-size:1.3rem}.build-diagram-controls{gap:8px}.build-diagram-controls output{text-align:center;min-width:48px;font-size:.95rem}.build-copy #build-diagram-zoom-hint{margin:12px 0;font-size:.9rem}.build-diagram-viewport{overscroll-behavior:contain;border:1px solid #cbbba8;border-radius:12px;flex:1;min-height:0;overflow:auto}.build-copy .build-diagram-viewport img.build-diagram-image{margin:0 auto}html:has(.build-diagram-dialog[open]){overflow:hidden}@media (max-width:680px){.build-reading{padding:0 20px 30px}.build-copy .article-photo,.build-copy .float-right,.build-copy .float-left{float:none;width:100%;max-width:430px;margin:22px auto 26px}.build-copy{font-size:1rem}}
