@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--night: #111923;--night-2: #18232e;--paper: #e9f0f6;--ink: #18202a;--rule-dark: #41505e;--rule-light: #87949e;--cyan: #5dd8c8;--coral: #ff6d5f;--blue: #1546a0;font-family:IBM Plex Sans,sans-serif;color:var(--paper);background:var(--night);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--night)}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.site{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 72% 12%,rgba(93,216,200,.13),transparent 31%),var(--night)}.shell{width:min(1400px,calc(100% - 48px));margin-inline:auto}.eyebrow{margin:0;font:600 11px/1.2 IBM Plex Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule-dark);font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.09em;text-transform:uppercase}.wordmark{display:flex;align-items:center;gap:12px}.wordmark b{padding:10px;color:var(--night);background:var(--cyan);letter-spacing:-.02em}.wordmark span{color:#9aabb8}.nav>div{display:flex;gap:30px}.nav>div a{transition:color .2s ease}.nav>div a:hover{color:var(--cyan)}.hero{min-height:720px;padding:72px 0;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:5vw}.hero-copy .eyebrow{color:var(--cyan)}.hero h1{margin:30px 0;font:500 clamp(64px,7vw,118px)/.8 "Barlow Condensed",sans-serif;letter-spacing:-.035em;text-transform:uppercase}.hero h1 em{color:var(--coral);font-style:normal}.lede{max-width:510px;margin:0;color:#a8b8c5;font-size:17px;line-height:1.65}.text-link{margin-top:36px;display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--cyan);padding-bottom:9px;font:600 11px IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.text-link span{color:var(--cyan)}.diagram-stage{min-height:520px;padding:72px 45px;position:relative;display:grid;place-items:center;border:1px solid var(--rule-dark);background-image:linear-gradient(#263443 1px,transparent 1px),linear-gradient(90deg,#263443 1px,transparent 1px);background-size:38px 38px;overflow:hidden}.role-diagram{width:100%;display:flex;align-items:center;justify-content:center;gap:24px}.role-unit{min-width:120px;padding:15px;position:relative;border:1px solid currentColor;color:var(--paper);background:var(--night)}.role-unit:nth-child(2n){color:var(--cyan)}.role-unit span{display:block;margin-bottom:24px;font:500 10px/1 IBM Plex Mono,monospace;opacity:.6}.role-unit b{font:600 12px/1.2 IBM Plex Mono,monospace}.role-unit i{width:25px;height:1px;position:absolute;right:-25px;bottom:22px;background:currentColor}.axis{position:absolute;color:#718392;font:500 9px IBM Plex Mono,monospace;letter-spacing:.12em}.axis-x{right:20px;bottom:18px}.axis-y{left:18px;top:20px;writing-mode:vertical-rl}.plate-id{position:absolute;right:24px;top:24px;color:var(--coral);text-align:right;font:600 11px/1.5 IBM Plex Mono,monospace;text-transform:uppercase}.catalog{padding:100px 0;color:var(--ink);background:var(--paper)}.section-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:38px;border-bottom:1px solid var(--rule-light);font:600 11px IBM Plex Mono,monospace;text-transform:uppercase}.section-head p{margin:0 0 15px}.section-head p:last-child{color:#63717d}.pattern-selector{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--rule-light)}.pattern-selector button{min-height:190px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;border:0;border-right:1px solid var(--rule-light);background:transparent;text-align:left;cursor:pointer;transition:color .18s ease,background .18s ease}.pattern-selector button:last-child{border-right:0}.pattern-selector button:hover{background:#1546a014}.pattern-selector button.active{color:var(--paper);background:var(--blue)}.pattern-selector span{font:500 10px IBM Plex Mono,monospace}.pattern-selector b{margin:60px 0 10px;font-size:17px}.pattern-selector small{color:inherit;line-height:1.35;opacity:.68}.pattern-detail{margin-top:28px;display:grid;grid-template-columns:1fr 1.4fr .6fr;border:1px solid var(--rule-light)}.pattern-detail>div,.pattern-detail pre{min-height:300px;margin:0;padding:25px;border-right:1px solid var(--rule-light)}.pattern-detail>*:last-child{border-right:0}.pattern-detail span{font:600 10px IBM Plex Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.detail-intent h2{margin:45px 0 18px;font-size:clamp(28px,2.7vw,43px);line-height:1.04;letter-spacing:-.035em}.detail-intent p,.detail-related p{color:#53616d;line-height:1.6}.pattern-detail pre{overflow:auto;color:var(--paper);background:var(--ink);font:13px/1.8 IBM Plex Mono,monospace}.detail-related{display:flex;flex-direction:column}.detail-status{margin-top:auto;padding-top:14px;color:#2e655e;border-top:1px solid var(--rule-light)}.detail-status:before{content:"●";margin-right:8px;color:#2e9f8f}.method{padding:120px 0;color:var(--paper);display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.method-title .eyebrow{color:var(--cyan)}.method h2{max-width:520px;margin:24px 0 0;font:500 clamp(48px,5.5vw,84px)/.87 "Barlow Condensed",sans-serif;letter-spacing:-.025em;text-transform:uppercase}.method ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule-dark)}.method li{min-height:130px;padding:26px 0;display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid var(--rule-dark)}.method li>span{color:var(--coral);font:600 11px IBM Plex Mono,monospace}.method li b{font-size:20px}.method li p{margin:10px 0 0;color:#a8b8c5;line-height:1.55}.principle{color:var(--ink);background:var(--cyan)}.principle-grid{min-height:480px;padding:80px 0;display:grid;grid-template-columns:.35fr 1.65fr;gap:6vw;align-content:center}.principle blockquote{max-width:1050px;margin:0;font:500 clamp(42px,5.8vw,82px)/.92 "Barlow Condensed",sans-serif;letter-spacing:-.025em;text-transform:uppercase}.principle a{grid-column:2;width:fit-content;padding-bottom:7px;border-bottom:1px solid currentColor;font:600 11px IBM Plex Mono,monospace;text-transform:uppercase}.principle a span{margin-left:18px}.footer{min-height:130px;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;color:#8799a7;border-top:1px solid var(--rule-dark);font:500 10px IBM Plex Mono,monospace;text-transform:uppercase}@media(max-width:980px){.hero{grid-template-columns:1fr;padding:90px 0}.diagram-stage{margin-top:32px}.pattern-selector{grid-template-columns:repeat(3,1fr)}.pattern-selector button:nth-child(3){border-right:0}.pattern-selector button:nth-child(-n+3){border-bottom:1px solid var(--rule-light)}.pattern-detail{grid-template-columns:1fr}.pattern-detail>div,.pattern-detail pre{min-height:230px;border-right:0;border-bottom:1px solid var(--rule-light)}.pattern-detail>*:last-child{border-bottom:0}}@media(max-width:680px){.shell{width:calc(100% - 28px)}.nav{height:72px}.wordmark span,.nav div a:first-child{display:none}.hero{min-height:auto;padding:70px 0}.hero h1{font-size:clamp(56px,18vw,76px)}.diagram-stage{min-height:570px;padding:72px 20px}.role-diagram{flex-direction:column;align-items:stretch}.role-unit{width:100%;min-width:0}.role-unit i{width:1px;height:25px;right:auto;left:50%;bottom:-25px}.catalog{padding:72px 0}.section-head{grid-template-columns:1fr}.pattern-selector{grid-template-columns:1fr 1fr}.pattern-selector button{min-height:170px}.pattern-selector button:nth-child(odd){border-right:1px solid var(--rule-light)}.pattern-selector button:nth-child(2n){border-right:0}.pattern-selector button:nth-child(-n+4){border-bottom:1px solid var(--rule-light)}.pattern-selector b{margin-top:45px}.method{padding:82px 0;grid-template-columns:1fr}.method ol{margin-top:45px}.principle-grid{min-height:520px;padding:70px 0;grid-template-columns:1fr}.principle blockquote,.principle a{grid-column:1}.principle blockquote{margin:35px 0}.footer{padding:35px 0;grid-template-columns:1fr auto}.footer>p:first-of-type{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
