body.cap-page:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,oklch(.9 .01 80 / .35) 1px,transparent 1px),linear-gradient(to bottom,oklch(.9 .01 80 / .35) 1px,transparent 1px);background-size:56px 56px;background-position:-1px -1px;mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 82%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 82%,transparent 100%)}body.cap-page>*:not(.nav):not(.mobile-nav):not(.skip-link){position:relative;z-index:1}.page-head{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(56px,7vw,96px);border-bottom:1px solid var(--rule);position:relative}.page-head:before,.page-head:after{content:"";position:absolute;width:22px;height:22px;border:1px solid var(--ink-3);pointer-events:none}.page-head:before{top:24px;left:var(--pad-x);border-right:0;border-bottom:0}.page-head:after{bottom:-1px;right:var(--pad-x);border-left:0;border-top:0}.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:14px;align-items:center;flex-wrap:wrap;row-gap:6px;padding-left:36px}@media(max-width:480px){.crumbs{padding-left:0;gap:10px}}.crumbs a{color:var(--ink-3);transition:color .15s ease}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--rule)}.crumbs .here{color:var(--ink)}.head-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);align-items:end;margin-top:36px}@media(max-width:880px){.head-grid{grid-template-columns:1fr;gap:32px}}.page-title{margin:0;max-width:14ch}.page-title-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:22px}.page-title-tag:before{content:"";width:32px;height:1px;background:var(--accent-ink)}.page-lede{margin:0;font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);line-height:1.4;letter-spacing:-.01em;color:var(--ink-2);max-width:38ch}.page-lede .drop{float:left;font-family:var(--serif);font-style:italic;font-size:4.6em;line-height:.85;margin:.05em .18em -.05em 0;color:var(--accent-ink)}.doc-body{display:flex;flex-direction:column;gap:clamp(96px,11vw,144px)}.cap{scroll-margin-top:116px}.cap .sec-head{margin-bottom:36px}.cap-sections{counter-reset:capsec}.cap-sections .cap .sec-head{counter-increment:capsec}.cap-sections .cap .sec-num b:before{content:counter(capsec,decimal-leading-zero)}.cap-sections .cap .sec-num .kl{margin-left:12px}.cap-intro{margin-top:24px;font-family:var(--serif);font-size:clamp(20px,1.7vw,26px);line-height:1.4;color:var(--ink-2);max-width:56ch;padding-left:36px;border-left:1px solid var(--rule)}.cap-masthead{margin:clamp(40px,5vw,64px) 0 0;border-radius:8px;overflow:hidden}.cap-masthead img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.cap-illus{margin:clamp(28px,3.5vw,44px) 0 0;max-width:720px;padding-left:36px;border-left:1px solid var(--rule)}.cap-illus img{width:100%;height:auto;display:block;mix-blend-mode:multiply;border-radius:4px}.cap-illus figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-top:12px}@media(max-width:720px){.cap-illus{padding-left:0;border-left:0}.cap-intro{padding-left:0;border-left:0;max-width:none}}.spec{border-top:1px solid var(--rule);counter-reset:specn}.spec-row{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:32px;padding:22px 0;border-bottom:1px solid var(--rule);align-items:baseline;transition:background .18s ease}.spec-row:hover{background:color-mix(in oklab,var(--accent) 5%,transparent)}.spec-row .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);position:relative;padding-right:16px}.spec-row .k:before{content:counter(specn,decimal-leading-zero);counter-increment:specn;color:var(--ink-3);margin-right:12px;font-size:10px}.spec-row .v{color:var(--ink);font-size:16px;line-height:1.55}.spec-row .v code{font-family:var(--mono);font-size:13px;background:#f6f1e9;padding:2px 7px;border-radius:3px;color:var(--ink);border:1px solid var(--rule)}.spec-row .v .meta{display:block;color:var(--ink-3);font-size:14px;margin-top:6px}@media(max-width:720px){.spec-row{grid-template-columns:1fr;gap:8px;padding:18px 0}}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips .chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:5px 11px;border:1px solid var(--rule);border-radius:2px;color:var(--ink-2);background:var(--bg);transition:border-color .15s ease,color .15s ease}.chips .chip:hover,.chips .chip.on{border-color:var(--ink);color:var(--ink)}.archetypes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--rule);background:var(--rule)}@media(max-width:880px){.archetypes{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.archetypes{grid-template-columns:1fr}}.arch{background:var(--bg);padding:24px 20px 22px;display:flex;flex-direction:column;gap:14px;min-height:240px;position:relative;transition:background .2s ease}.arch:hover{background:#fdf8f0}.arch .arch-no{position:absolute;top:14px;right:18px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-3)}.arch .arch-vis{aspect-ratio:16 / 10;display:grid;place-items:center;color:var(--ink-2);margin-top:10px}.arch .arch-vis svg{width:84%;height:84%;color:var(--ink)}.arch .arch-vis svg .acc{color:var(--accent-ink);stroke:currentColor}.arch .arch-t{font-family:var(--serif);font-size:26px;line-height:1;letter-spacing:-.012em;color:var(--ink)}.arch .arch-d{font-size:13px;color:var(--ink-2);line-height:1.5}.idioms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--rule);background:var(--rule)}@media(max-width:880px){.idioms{grid-template-columns:1fr}}.idiom{padding:24px 28px;background:var(--bg);position:relative;transition:background .18s ease}.idiom:hover{background:#fef8ee}.idiom .id-no{position:absolute;top:16px;right:18px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-3)}.idiom .it{font-family:var(--serif);font-size:26px;letter-spacing:-.012em;line-height:1.05;margin-bottom:10px;color:var(--ink)}.idiom .id-d{font-size:13.5px;color:var(--ink-2);line-height:1.5;max-width:30ch}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule);overflow:hidden}@media(max-width:720px){.two-col{grid-template-columns:1fr}}.two-col .pane{padding:32px;background:var(--bg);position:relative}.two-col .pane+.pane{border-left:1px solid var(--rule)}@media(max-width:720px){.two-col .pane+.pane{border-left:0;border-top:1px solid var(--rule)}}.two-col .pane .pk{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px;display:flex;align-items:center;gap:10px}.two-col .pane .pk:after{content:"";flex:1;height:1px;background:var(--rule)}.two-col .pane .pt{font-family:var(--serif);font-size:30px;letter-spacing:-.018em;line-height:1.05;margin:0 0 14px;color:var(--ink)}.two-col .pane .pd{font-size:15px;color:var(--ink-2);line-height:1.55;max-width:38ch}.two-col .pane.featured{background:#fbf4eb}.two-col .pane.featured .pk{color:var(--accent-ink)}.constraints{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule)}@media(max-width:720px){.constraints{grid-template-columns:1fr}}.constraints .col{padding:28px}.constraints .col+.col{border-left:1px solid var(--rule)}@media(max-width:720px){.constraints .col+.col{border-left:0;border-top:1px solid var(--rule)}}.constraints .col.do{background:#fbf4eb}.constraints .col .h{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.constraints .col.do .h{color:var(--accent-ink)}.constraints .col .h .count{font-family:var(--mono);color:var(--ink-3);font-size:10px}.constraints ul{list-style:none;padding:0;margin:0}.constraints li{padding:14px 0;border-bottom:1px dashed var(--rule);display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:15px;color:var(--ink);line-height:1.4;align-items:center}.constraints li:last-child{border-bottom:0}.constraints li .mk{font-family:var(--mono);font-size:10px;color:var(--accent-ink);letter-spacing:.1em;padding-top:1px}.constraints .col.dont li .mk{color:var(--ink-3)}.constraints .col.dont li{color:var(--ink-2)}.stdtable{width:100%;border-collapse:collapse;font-size:14.5px;border:1px solid var(--rule)}.stdtable th,.stdtable td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--rule);vertical-align:top}.stdtable tr:last-child td{border-bottom:0}.stdtable th{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500;background:#f6f1e9;border-bottom-color:var(--ink)}.stdtable td:first-child{font-family:var(--serif);font-size:18px;line-height:1.2;letter-spacing:-.005em;padding-right:8px}.stdtable td:first-child b{font-weight:400}.stdtable tbody tr{transition:background .15s ease}.stdtable tbody tr:hover{background:color-mix(in oklab,var(--accent) 5%,transparent)}.stdtable td.status{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.stdtable td.status>span{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--rule);border-radius:999px}.stdtable td.status>span:before{content:"";width:6px;height:6px;border-radius:50%}.stdtable td.status.met>span{color:var(--accent-ink);border-color:var(--accent-ink)}.stdtable td.status.met>span:before{background:var(--accent)}.stdtable td.status.partial>span{color:var(--ink-2)}.stdtable td.status.partial>span:before{background:var(--ink-3)}.stdtable td.status.no>span{color:var(--ink-3)}.stdtable td.status.no>span:before{background:var(--rule);border:1px solid var(--ink-3)}@media(max-width:720px){.stdtable,.stdtable thead,.stdtable tbody,.stdtable tr,.stdtable td,.stdtable th{display:block}.stdtable thead{display:none}.stdtable tr{border-bottom:1px solid var(--rule);padding:14px}.stdtable tr:last-child{border-bottom:0}.stdtable td{border-bottom:0;padding:4px 0}.stdtable td:first-child{font-family:var(--serif);font-size:18px;padding-bottom:8px}}.cta-strip{margin-top:clamp(80px,9vw,120px);background:var(--ink);color:var(--bg);padding:clamp(48px,6vw,80px);display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:40px;align-items:end;position:relative;overflow:hidden}.cta-strip:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--accent)}.cta-strip:after{content:var(--cta-end, "");position:absolute;top:18px;right:clamp(24px,4vw,56px);font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:#ffffff59}@media(max-width:760px){.cta-strip{grid-template-columns:1fr;align-items:start}.cta-strip:after{display:none}}.cta-strip h3{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.6vw,52px);margin:0;line-height:1;letter-spacing:-.018em;color:var(--bg);max-width:18ch}.cta-strip h3 em{color:var(--accent);font-style:italic}.cta-strip .sub{margin-top:18px;font-family:var(--serif);font-size:19px;color:#ffffffb3;max-width:38ch}.foot-note{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em;margin-top:10px}@media(max-width:720px){.page-head{padding-top:40px;padding-bottom:32px}.page-head:before,.page-head:after{display:none}h1.page-title{font-size:clamp(34px,8vw,54px);line-height:1.05;max-width:none}.page-lede{font-size:18px;max-width:none}.page-lede .drop{float:none;font-size:inherit;font-style:inherit;color:inherit;margin:0}.toc{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:0}.toc .toc-k{border-bottom:0;margin-bottom:10px;padding-bottom:0}.toc ol{display:flex;flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;margin-left:calc(var(--pad-x) * -1);margin-right:calc(var(--pad-x) * -1);padding:2px var(--pad-x) 4px;scrollbar-width:none}.toc ol::-webkit-scrollbar{display:none}.toc li{flex:0 0 auto;counter-increment:tocn;scroll-snap-align:start}.toc a{grid-template-columns:auto;border:1px solid var(--rule);border-radius:999px;padding:7px 13px;margin:0;white-space:nowrap;box-shadow:none!important;transform:none!important}.toc a:before{display:none}.toc a.active{border-color:var(--ink);color:var(--ink);background:color-mix(in oklab,var(--accent) 15%,transparent)}.toc-foot{display:none}.doc{gap:24px}.doc-body{gap:clamp(56px,9vw,96px)}.cap .sec-head{padding-top:24px;padding-bottom:24px;margin-bottom:24px}}
