*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 210 25% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 18 88% 40%;--primary-foreground: 0 0% 100%;--secondary: 216 22% 95%;--secondary-foreground: 222 47% 11%;--muted: 216 22% 95%;--muted-foreground: 215 19% 35%;--accent: 216 22% 95%;--accent-foreground: 222 47% 11%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 215 22% 89%;--input: 215 22% 89%;--ring: 18 88% 40%;--radius: .75rem;--sidebar-background: 0 0% 98%;--sidebar-foreground: 240 5.3% 26.1%;--sidebar-primary: 240 5.9% 10%;--sidebar-primary-foreground: 0 0% 98%;--sidebar-accent: 240 4.8% 95.9%;--sidebar-accent-foreground: 240 5.9% 10%;--sidebar-border: 220 13% 91%;--sidebar-ring: 18 88% 40%}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%;--sidebar-background: 240 5.9% 10%;--sidebar-foreground: 240 4.8% 95.9%;--sidebar-primary: 18 88% 48%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 240 3.7% 15.9%;--sidebar-accent-foreground: 240 4.8% 95.9%;--sidebar-border: 240 3.7% 15.9%;--sidebar-ring: 18 88% 40%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.\!invisible{visibility:hidden!important}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.left-2{left:.5rem}.right-2{right:.5rem}.top-2{top:.5rem}.z-50{z-index:50}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-px{height:1px}.max-h-96{max-height:24rem}.w-10{width:2.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:transparent}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity, 1))}.p-1{padding:.25rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2\.5{padding-left:.625rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pt-0{padding-top:0}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-zinc-400{--tw-text-opacity: 1;color:rgb(161 161 170 / var(--tw-text-opacity, 1))}.text-zinc-50{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.\!running{animation-play-state:running!important}.running{animation-play-state:running}:root{--brand-ink: #141414;--brand-paper: #F3F2EE;--brand-rust: #C2511C;--brand-white: #FFFFFF;--brand-line: #D9D7D0;--brand-muted: #5E5D58}a:is(:hover,:focus-visible) .parser-mark rect:not(.parser-mark-datum){animation:parser-mark-scan .42s ease-in-out both;animation-delay:calc(var(--i) * 55ms)}a:is(:hover,:focus-visible) .parser-mark-datum{animation:parser-mark-extract .75s cubic-bezier(.3,0,.2,1) .12s both}@keyframes parser-mark-scan{0%,to{opacity:1}45%{opacity:.35}}@keyframes parser-mark-extract{0%{transform:translate(0)}30%{transform:translate(-12px,-12px)}70%{transform:translate(5px,5px)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){a .parser-mark rect{animation:none!important}}@keyframes shine{0%{transform:translate(-100%) rotate(45deg);opacity:0}20%{opacity:.3}50%{opacity:.3}80%{opacity:0}to{transform:translate(100%) rotate(45deg);opacity:0}}.animate-shine{animation:shine 4s cubic-bezier(.4,0,.2,1) infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}@keyframes neon-pulse{0%,to{box-shadow:0 0 5px #c2410c4d,0 0 10px #c2410c33,0 0 15px #c2410c1a,inset 0 0 2px #c2410c33}50%{box-shadow:0 0 8px #c2410c66,0 0 15px #c2410c4d,0 0 25px #c2410c33,inset 0 0 5px #c2410c4d}}.enterprise-card-shine{position:relative;overflow:visible!important;animation:neon-pulse 4s ease-in-out infinite;border:1.5px solid rgba(194,65,12,.35);transform-style:preserve-3d;backface-visibility:hidden;will-change:box-shadow}.enterprise-card-shine:before,.enterprise-card-shine:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(45deg,#c2410c80,#9a341080);z-index:-1;filter:blur(8px);animation:neon-pulse 3s ease-in-out infinite}.enterprise-card-shine:after{filter:blur(16px);animation:neon-pulse 3s ease-in-out infinite reverse}.enterprise-card-shine:hover:after{opacity:1}@keyframes shine-rotate{0%{transform:translate(-100%) translateY(-100%) rotate(25deg)}50%{transform:translate(100%) translateY(100%) rotate(25deg)}to{transform:translate(-100%) translateY(-100%) rotate(25deg)}}@keyframes neon-pulse-green{0%,to{box-shadow:0 0 3px #22c55e66,0 0 6px #22c55e4d,0 0 12px #22c55e33}50%{box-shadow:0 0 5px #22c55e80,0 0 10px #22c55e66,0 0 15px #22c55e4d}}.neon-badge-green{position:relative;animation:neon-pulse-green 3s infinite;background:#22c55ef2;border:1px solid rgba(34,197,94,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.neon-badge-green:before{content:"";position:absolute;inset:-1px;background:linear-gradient(90deg,#22c55ecc,#16a34acc);opacity:.15;border-radius:inherit;z-index:-1}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media(hover:hover)and (pointer:fine){.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-zinc-50:hover{--tw-text-opacity: 1;color:rgb(250 250 250 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}


.ent{--paper:#f4f4f0;--paper-2:#eaeae5;--panel:#fbfbf8;--white:#ffffff;--ink:#131311;--ink-2:#484843;--ink-3:#63635b;--rule-0:#e4e4de;--rule-1:#d3d3cb;--rule-2:#878780;--row-hover:#eaeae5;--accent:#c2410c;--accent-hover:#a2360a;--accent-active:#8a2e08;--black:#000000;--band:#131311;--band-2:#1d1d1a;--band-3:#232320;--band-ink:#f4f4f0;--band-ink-2:#b8b8ae;--band-ink-3:#9a9a90;--band-rule:#34342f;--band-ui:#8a8a80;--band-guide-0:#20201d;--band-guide-1:#2d2d29;--accent-dark:#ef6a3f;--sans:"Archivo", "Helvetica Neue", Arial, sans-serif;--mono:"Chivo Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--pad:32px;--bleed:0px;
  background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-align:left;overflow-x:clip;min-height:100vh;position:relative}
@media(max-width:1199px){.ent{--pad:24px}}
/* with the guides on screen, ruled blocks run out to them (half a gutter past the text edge) */
@media(min-width:960px){.ent{--bleed:12px}}
@media(max-width:639px){.ent{--pad:16px}}
.ent *,.ent *::before,.ent *::after{box-sizing:border-box}
:where(.ent) svg{display:inline-block;flex:none}
.ent ::selection{background:var(--ink);color:var(--paper)}
.ent-band ::selection{background:var(--band-ink);color:var(--band)}
:where(.ent) a{color:inherit;text-decoration:none}
:where(.ent) button{font:inherit;color:inherit;cursor:pointer}
:where(.ent) th{font-weight:inherit;text-align:left}
.ent :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ent-band :focus-visible{outline-color:var(--band-ink)}
.ent .ent-inset:focus-visible{outline-offset:-2px}
.ent-skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:600;word-spacing:.08em;}
.ent-skip:focus{top:8px}

.ent-wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad);width:100%}
.ent-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.gc{grid-column:var(--c,1/-1);min-width:0}
@media(max-width:899px){.ent-g{grid-template-columns:minmax(0,1fr)}.gc{grid-column:1/-1}}
.ent-main{position:relative;display:block;scroll-margin-top:56px}
.ent-main:focus{outline:none}
.ent-sec{position:relative;z-index:1;scroll-margin-top:72px}

/* The visible grid: five continuous hairlines (columns 1 | 4 | 7 | 10 | end). Content aligns to them: ruled
   blocks start and end on a line, text sits half a gutter inside. Nothing is knocked out of a line. Each line
   is its own 1px box, so it stays one crisp pixel at any width. */
.ent-guides{position:absolute;inset:0;z-index:0;pointer-events:none;--g1:var(--rule-1)}
.ent-guides-in{max-width:1280px;height:100%;margin:0 auto;padding:0 var(--pad);position:relative}
.ent-guides-lines{display:none}
@media(min-width:960px){
  .ent-guides-lines{display:block;position:absolute;top:0;bottom:0;left:calc(var(--pad) - 12px);right:calc(var(--pad) - 12px)}
  .ent-guides-lines i{position:absolute;top:0;bottom:0;width:1px;background:var(--g1)}
  .ent-guides-lines i:nth-child(1){left:0}
  .ent-guides-lines i:nth-child(2){left:25%}
  .ent-guides-lines i:nth-child(3){left:50%}
  .ent-guides-lines i:nth-child(4){left:75%}
  .ent-guides-lines i:nth-child(5){right:0}
}
.ent-guides--band{--g1:var(--band-guide-1)}
.ent-wrap--over{position:relative;z-index:1}

.ent-chapter{margin:0 calc(var(--bleed) * -1);padding:16px var(--bleed) 0;border-top:1px solid var(--ink)}
.ent-chapter--bare{border-top:0;padding-top:0}
.ent-side{position:sticky;top:88px}
.ent-side--static{position:static}
.ent-side-num{font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:500;color:var(--ink)}
.ent-side-name{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink);margin-top:4px}
.ent-side-sub{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);margin-top:8px;max-width:22ch}
@media(max-width:899px){
  .ent-side{position:static;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px;margin-bottom:16px}
  .ent-side-name,.ent-side-sub{margin-top:0}
}
/* "right" opener: the label stands in columns 10-12, level with the headline */
.ent-g--right{row-gap:16px}
@media(max-width:899px){.ent-right-label{order:2}.ent-right-label .ent-side{margin:0}}
/* "aside" opener: the headline and its caption live in the left column; the left column is sticky */
.ent-aside-in{position:sticky;top:88px}
.ent-aside-label{margin-top:24px}
@media(max-width:899px){.ent-aside-in{position:static}.ent-aside-label{margin:16px 0 32px}.ent-aside-label .ent-side{margin:0}}

/* ---- type roles ---- */
.ent-display{font-family:var(--sans);font-weight:600;letter-spacing:-0.03em;word-spacing:0.05em;font-size:76px;line-height:0.98;}
@media(max-width:1199px){.ent-display{font-size:61px;line-height:0.98;}}
@media(max-width:899px){.ent-display{font-size:49px;line-height:0.98;}}
@media(max-width:639px){.ent-display{font-size:39px;line-height:0.98;}}
@media(min-width:900px) and (max-height:820px){.ent-display{font-size:61px}}
.ent-display2{font-family:var(--sans);font-weight:600;letter-spacing:-0.03em;word-spacing:0.05em;font-size:61px;line-height:1;}
@media(max-width:1199px){.ent-display2{font-size:61px;line-height:1;}}
@media(max-width:899px){.ent-display2{font-size:39px;line-height:1;}}
@media(max-width:639px){.ent-display2{font-size:39px;line-height:1;}}
.ent-h2{font-family:var(--sans);font-weight:600;letter-spacing:-0.03em;word-spacing:0.03em;font-size:39px;line-height:1.08;}
@media(max-width:1199px){.ent-h2{font-size:39px;line-height:1.08;}}
@media(max-width:899px){.ent-h2{font-size:31px;line-height:1.12;}}
@media(max-width:639px){.ent-h2{font-size:31px;line-height:1.12;}}
.ent-h3{font-family:var(--sans);font-weight:600;letter-spacing:-0.02em;word-spacing:0;font-size:25px;line-height:1.2;}
@media(max-width:1199px){.ent-h3{font-size:25px;line-height:1.2;}}
@media(max-width:899px){.ent-h3{font-size:25px;line-height:1.2;}}
@media(max-width:639px){.ent-h3{font-size:20px;line-height:1.25;}}
.ent-h2{text-wrap:balance}
/* smaller h2s: a heading in the left column, a one-line chapter title (never two 39px blocks in a row) */
.ent-h2.ent-h2--aside,.ent-h2.ent-h2--figure{font-size:31px;line-height:1.12}
.ent-strong{font-weight:600;color:var(--ink)}
.ent-lead{font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:-0.005em;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-body{font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);text-wrap:pretty;max-width:62ch}
.ent-small{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-label{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3)}
.ent-cap{font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink-2)}
.ent-cap--ink{color:var(--ink)}
.ent-fig-xl{font-family:var(--sans);font-size:39px;line-height:1;letter-spacing:-0.03em;font-weight:500;}
@media(max-width:959px){.ent-fig-xl{font-size:31px}}
@media(min-width:960px) and (max-width:1019px){.ent-fig-xl{font-size:25px}}
.ent-fig-l{font-family:var(--sans);font-size:31px;line-height:1.1;letter-spacing:-0.03em;font-weight:600;}
.nw{white-space:nowrap}
.ent-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ent-sq{display:inline-block;width:8px;height:8px;background:var(--ink);flex:none}
.ent-sq--accent{background:var(--accent)}
.ent-dash{color:var(--ink-3)}

/* ---- links, buttons, tag, callout ---- */
.ent-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-link:hover{text-decoration-color:var(--ink)}
.ent-link:active{text-decoration-thickness:2px}
.ent-alink{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-alink:hover{text-decoration-color:var(--ink)}
.ent-alink:active{text-decoration-thickness:2px}
.ent-band .ent-link,.ent-band .ent-alink{text-decoration-color:var(--band-ui)}
.ent-band .ent-link:hover,.ent-band .ent-alink:hover{text-decoration-color:var(--band-ink)}

.ent-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:4px;
  font-family:var(--sans);font-weight:600;letter-spacing:-0.005em;word-spacing:0;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer}
.ent-btn--lg{height:44px;padding:0 20px;font-size:15px}
.ent-btn--md{height:40px;padding:0 16px;font-size:14px}
.ent-btn--sm{height:36px;padding:0 14px;font-size:13px}
.ent-btn--block{display:flex;width:100%}
@media(max-width:639px){.ent-btn--lg,.ent-btn--md{display:flex;width:100%;min-height:44px}}
.ent-btn--primary{background:var(--accent);color:var(--white)}
.ent-btn--primary:hover{background:var(--accent-hover)}
.ent-btn--primary:active{background:var(--accent-active)}
.ent-btn--secondary{border-color:var(--ink);color:var(--ink);background:var(--btn-bg,var(--paper))}
.ent-btn--secondary:hover{background:var(--ink);color:var(--paper)}
.ent-btn--secondary:active{background:var(--black);color:var(--paper)}
.ent-btn--band{border-color:var(--band-ui);color:var(--band-ink);background:var(--band)}
.ent-btn--band:hover{background:var(--band-ink);color:var(--band)}
.ent-btn--band:active{background:var(--white);color:var(--band)}
/* disabled (the e-mail dialog waits for the human check): flat and quiet, the rule colours say "not now" */
.ent-btn:disabled{cursor:default}
.ent-btn--primary:disabled,.ent-btn--primary:disabled:hover{background:var(--paper-2);color:var(--ink-3);border-color:var(--rule-1)}
.ent-btn--secondary:disabled,.ent-btn--secondary:disabled:hover{background:transparent;color:var(--ink-3);border-color:var(--rule-1)}
.ent-btn--bandPrimary{background:var(--accent);color:var(--white)}
.ent-btn--bandPrimary:hover{background:var(--accent-hover)}
.ent-btn--bandPrimary:active{background:var(--accent-active)}

.ent-tag{display:inline-block;border:1px solid var(--rule-2);border-radius:2px;padding:3px 6px;font-family:var(--sans);font-size:11px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink);background:transparent;white-space:nowrap}
.ent-mk{position:absolute;top:-10px;right:-11px;width:16px;height:16px;border-radius:2px;background:var(--accent);color:var(--white);
  font-family:var(--mono);font-weight:600;font-size:11px;line-height:16px;text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums}
@media(max-width:639px){.ent-mk{width:18px;height:18px;line-height:18px}}


/* ---- nav ---- */
.ent-nav{position:sticky;top:0;z-index:50;height:56px;background:var(--paper);border-bottom:1px solid var(--rule-1)}
.ent-nav-inner{height:56px;display:flex;align-items:center}
.ent-nav-logo{display:inline-flex;align-items:center}
.ent-nav-links{display:flex}
.ent-nav-list{display:flex;gap:24px;margin:0;padding:0;list-style:none}
/* a bar link is two boxes: the link itself, as tall as the bar (the pointer goes from it down into its sheet without
   leaving the item, and a touch target is the whole bar high), and inside it the label box (.ent-nav-t), which carries
   the focus ring, round the label alone; the label (.ent-nav-l) carries the underline */
.ent-nav-item{display:flex}
.ent-nav-item>.ent-nav-link{display:inline-flex;align-items:center}
.ent-nav-link{font-family:var(--sans);font-size:14px;line-height:1.2;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink-2);padding:0;border:0;background:none;text-decoration:none}
.ent-nav-t{display:inline-flex;align-items:center;gap:6px;padding:4px 0}
.ent-nav-l{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px}
.ent-nav-link:active .ent-nav-l{text-decoration-thickness:2px}
.ent .ent-nav-link:focus-visible{outline:none}
.ent .ent-nav-link:focus-visible .ent-nav-t{outline:2px solid var(--ink);outline-offset:2px}
.ent-nav-right{display:flex;align-items:center;gap:16px;margin-left:auto}
.ent-nav-signin{color:var(--ink)}
@media(min-width:900px){
  .ent-nav-inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
  .ent-nav-logo{grid-column:1/4;justify-self:start}
  .ent-nav-links{grid-column:4/10;align-self:stretch}
  .ent-nav-right{grid-column:10/13;justify-content:flex-end}
}

/* a menu button: the label and the chevron are in the label box; the open and the current menu keep the hover look
   (same specificity, so the later rule wins: current < hover < open) */
.ent-nav-trigger{align-self:stretch;cursor:pointer}
.ent-nav-trigger[data-current] .ent-nav-l{text-decoration-color:var(--rule-2)}
@media(hover:hover){.ent-nav-link:hover{color:var(--ink)}.ent-nav-link:hover .ent-nav-l{text-decoration-color:var(--ink)}}
.ent-nav-trigger[aria-expanded="true"] .ent-nav-l{text-decoration-color:var(--ink)}
.ent-nav-trigger[aria-expanded="true"],.ent-nav-trigger[data-current]{color:var(--ink)}
.ent-nav-caret{flex:none}
.ent-nav-trigger[aria-expanded="true"] .ent-nav-caret{transform:rotate(180deg)}

/* the sheet: hangs from the bar, ink rule on top (it covers the bar's own hairline) and at the bottom, paper, no shadow.
   From 1000px the dividers are the page's quarter lines (intro | titles | notes); below, the intro is a strip
   above the list and the dividers are the list's own (a third, then the edge) */
.ent-navp{position:absolute;top:100%;left:calc(max(0px,(100% - 1280px) / 2) + var(--pad) - 12px);width:calc(min(100%,1280px) - 2 * var(--pad) + 24px);z-index:1;max-height:calc(100vh - 56px);overflow-y:auto;background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.ent-navp[hidden]{display:none}
.ent .ent-navp:focus,.ent .ent-navp:focus-visible{outline:none}
.ent-navp-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}
.ent-navp-lines{position:relative;grid-area:2/1;z-index:1;pointer-events:none}
.ent-navp-lines i{position:absolute;top:0;bottom:0;width:1px;background:var(--rule-1)}
.ent-navp-lines i:nth-child(1){left:0}
.ent-navp-lines i:nth-child(2){left:33.3333%}
.ent-navp-lines i:nth-child(3),.ent-navp-lines i:nth-child(4){display:none}
.ent-navp-lines i:nth-child(5){right:0}
.ent-navp-intro{grid-area:1/1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding:16px 12px;border:solid var(--rule-1);border-width:0 1px 1px}
.ent-navp-name{margin:0;white-space:nowrap;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink)}
.ent-navp-sub{margin:0;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);text-wrap:pretty}
.ent-navp-list{grid-area:2/1;min-height:284px;margin:0;padding:0;list-style:none}
/* the columns sheet: below 1000px two lists side by side under the strip (divider at the middle), then the two
   ways out as full rows; from 1000px the lists are the second and third quarter and the ways out the fourth */
.ent-navp-in--cols{--pitch:40px}
.ent-navp-in--cols .ent-navp-lines{grid-area:2/1}
.ent-navp-in--cols .ent-navp-lines i:nth-child(2){left:50%}
.ent-navp-cols{grid-area:2/1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:170px}
.ent-navp-col{min-width:0}
.ent-navp-colh{display:flex;align-items:center;height:var(--pitch);margin:0;padding:0 12px;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3)}
.ent-navp-col ul,.ent-navp-more{margin:0;padding:0;list-style:none}
.ent-navp-col li{border-top:1px solid var(--rule-1)}
.ent-navp-more{grid-area:3/1;border:solid var(--rule-1);border-width:1px 1px 0}
@media(pointer:coarse){.ent-navp-in--cols{--pitch:44px}}
@media(min-width:1000px){
  .ent-navp-in{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ent-navp-lines{position:absolute;inset:0;grid-area:auto}
  .ent-navp-lines i:nth-child(2){left:25%}
  .ent-navp-lines i:nth-child(3){display:block;left:50%}
  .ent-navp-intro{grid-area:auto;grid-column:1;display:block;padding:24px 12px;border:0}
  .ent-navp-sub{margin:8px 0 0;max-width:26ch}
  .ent-navp-list{grid-area:auto;grid-column:2/5}
  .ent-navp-in--cols{min-height:284px}
  .ent-navp-in--cols .ent-navp-lines{grid-area:auto}
  .ent-navp-in--cols .ent-navp-lines i:nth-child(2){left:25%}
  .ent-navp-in--cols .ent-navp-lines i:nth-child(4){display:block;left:75%}
  .ent-navp-in--cols .ent-navp-intro{grid-row:1}
  .ent-navp-cols{display:contents}
  .ent-navp-col{grid-row:1}
  .ent-navp-more{grid-area:1/4;border:0}
}
.ent-navp-list>li+li,.ent-navp-more>li+li{border-top:1px solid var(--rule-1)}
.ent-navp-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:baseline;align-content:center;min-height:56px;color:var(--ink)}
/* the focus ring is drawn over the divider lines, not cut by them */
.ent-navp-row:focus-visible{position:relative;z-index:2}
.ent-navp-t{padding:16px 12px;font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:-0.005em;font-weight:600;word-spacing:.08em;text-wrap:balance;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px}
.ent-navp-row:active .ent-navp-t{text-decoration-thickness:2px}
.ent-navp-n{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 12px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);text-wrap:pretty}
.ent-navp-n svg{flex:none;align-self:flex-start;margin-top:3px;color:var(--ink)}
.ent-navp-row--end .ent-navp-t{font-weight:400;color:var(--ink-2)}
.ent-navp-go{font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-navp-row[aria-current="page"] .ent-navp-t::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;background:var(--ink)}
/* a link of a column: the name alone, one pitch tall, the hairline above it (the label above the first) */
.ent-navp-link{display:flex;align-items:center;min-height:calc(var(--pitch) - 1px);padding:6px 12px;font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink);text-wrap:balance;overflow-wrap:anywhere}
.ent-navp-link:focus-visible{position:relative;z-index:2}
/* the last link of a column ("All use cases"): the way to the whole list, a bold name with the arrow at the right */
.ent-navp-link--all{justify-content:space-between;gap:8px;font-weight:600}
.ent-navp-link--all svg{flex:none}
.ent-navp-lt{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px}
.ent-navp-link:active .ent-navp-lt{text-decoration-thickness:2px}
.ent-navp-link[aria-current="page"] .ent-navp-lt::after{content:"";display:inline-block;width:8px;height:8px;margin-left:8px;background:var(--ink)}
/* the ways out: in the strip layout rows (title | line, the divider at a third), in the fourth quarter two cells, each two pitches tall, title over line */
.ent-navp-more .ent-navp-row{position:relative}
.ent-navp-more .ent-navp-row::before{content:"";position:absolute;top:0;bottom:0;left:33.3333%;width:1px;background:var(--rule-1)}
@media(min-width:1000px){
  .ent-navp-more .ent-navp-row{grid-template-columns:minmax(0,1fr);min-height:calc(var(--pitch) * 2)}
  .ent-navp-more .ent-navp-row::before{display:none}
  .ent-navp-more>li+li .ent-navp-row{min-height:calc(var(--pitch) * 2 - 1px)}
  .ent-navp-more .ent-navp-t{padding:12px 12px 0}
  .ent-navp-more .ent-navp-n{padding:2px 12px 12px}
}
@media(hover:hover){
  .ent-navp-link:hover{background:var(--row-hover)}
  .ent-navp-link:hover .ent-navp-lt{text-decoration-color:var(--ink)}
  .ent-navp-row:hover{background:var(--row-hover)}
  .ent-navp-row:hover .ent-navp-t{text-decoration-color:var(--ink)}
  .ent-navp-row--end:hover .ent-navp-go{text-decoration-color:var(--ink)}
}

/* ---- the full-screen menu (below 900px): accordion sections, one open at a time ---- */
.ent-menu-btn{display:none;height:36px;padding:0 14px;border:1px solid var(--rule-2);border-radius:4px;background:transparent;font-family:var(--sans);font-size:14px;line-height:1;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-menu-btn:active{background:var(--paper-2)}
@media(max-width:899px){.ent-nav-links,.ent-nav-signin{display:none}.ent-menu-btn{display:inline-flex;align-items:center}.ent-nav-right{gap:8px}}
.ent-menu{position:fixed;inset:56px 0 0 0;z-index:49;background:var(--paper);overflow:auto;padding:0 var(--pad) 32px}
.ent-menu-list{margin:0;padding:0;list-style:none}
/* the rule belongs to the li; the row bleeds half a step past it so the inset focus ring clears the numeral (text stays on the content edge) */
.ent-menu-item{border-bottom:1px solid var(--rule-1)}
.ent-menu-row{display:flex;align-items:center;gap:16px;min-height:55px;margin:0 -8px;padding:0 8px;font-family:var(--sans);font-size:20px;line-height:1.2;letter-spacing:-0.005em;font-weight:500;word-spacing:.08em;color:var(--ink);background:none;border:0;text-align:left}
.ent-menu-acc{width:calc(100% + 16px)}
.ent-menu-row:active{background:var(--paper-2)}
.ent-menu-num{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3);min-width:24px}
.ent-menu-lbl{flex:1 1 auto;min-width:0}
.ent-menu-i{position:relative;flex:none;width:11px;height:11px;margin-right:4px}
.ent-menu-i::before,.ent-menu-i::after{content:"";position:absolute;background:var(--ink)}
.ent-menu-i::before{left:0;top:5px;width:11px;height:1px}
.ent-menu-i::after{left:5px;top:0;width:1px;height:11px}
.ent-menu-row[aria-expanded="true"] .ent-menu-i::after{transform:scaleY(0)}
.ent-menu-sub{margin:0;padding:0 0 8px;list-style:none}
.ent-menu-sub ul{margin:0;padding:0;list-style:none}
/* two labelled lists in the Solutions section: the label starts where the link text does */
.ent-menu-subh{margin:0;padding:16px 8px 4px 40px;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3)}
.ent-menu-sublink{display:flex;align-items:center;min-height:44px;margin:0 -8px;padding:0 8px 0 48px;font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink-2)}
.ent-menu-sublink[aria-current="page"]{color:var(--ink);font-weight:600}
.ent-menu-sublink--all{color:var(--ink);font-weight:600}
@media(hover:hover){
  .ent-menu-btn:hover,.ent-menu-row:hover{background:var(--row-hover)}
  .ent-menu-sublink:hover{background:var(--row-hover);color:var(--ink)}
}
.ent-menu-actions{display:grid;gap:12px;margin-top:24px}
.ent-menu-actions .ent-alink{min-height:44px}

/* ---- footer: brand and sales, then the columns on the quarter lines, then the legal line ---- */
.ent-foot-rule{border-top:1px solid var(--band-rule);margin:0 calc(var(--bleed) * -1)}
.ent-foot-brand{padding:48px 0;row-gap:24px;align-items:start}
.ent-foot-tag{margin:12px 0 0}
.ent-foot-sales{margin-top:0;gap:16px}
/* level with the logo's own centre */
@media(min-width:900px){.ent-foot-sales{margin-top:5px}}
.ent-foot-grid{border-top:1px solid var(--band-rule);margin:0 calc(var(--bleed) * -1);padding:48px var(--bleed) 0}
.ent-foot-title{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--band-ink-3);margin:0 0 16px}
/* the fourth quarter holds two groups (Resources, then Legal) */
.ent-foot-grp+.ent-foot-grp{margin-top:32px}
.ent-foot-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;justify-items:start}
.ent-foot-link{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--band-ink-2);text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px}
.ent-foot-link:active{text-decoration-thickness:2px}
@media(hover:hover){.ent-foot-link:hover{color:var(--band-ink);text-decoration-color:var(--band-ink)}}
.ent-foot-bottom{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between;align-items:baseline;border-top:1px solid var(--band-rule);margin:64px calc(var(--bleed) * -1) 0;padding:24px var(--bleed) 72px}
.ent-foot-right{display:flex;gap:24px;flex-wrap:wrap}
/* where the guides run (from 960px) and the line is wider than the first column, it wraps before the first guide */
@media(min-width:960px) and (max-width:1199px){.ent-foot-copy{max-width:calc(25% - 12px)}}
/* below 900px the four columns become two by two, rules running edge to edge */
@media(max-width:899px){
  .ent-foot-brand{padding:48px 0 32px}
  .ent-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0;padding-top:0}
  .ent-foot-grid>.gc{grid-column:auto;border-top:1px solid var(--band-rule);padding:24px 0 16px}
  .ent-foot-grid>.gc:nth-child(odd){padding-right:12px}
  .ent-foot-grid>.gc:nth-child(even){padding-left:12px}
  .ent-foot-bottom{margin-top:32px}
}

/* ---- touch: 44px targets on narrow screens and coarse pointers, same look ---- */
@media(max-width:899px),(pointer:coarse){
  .ent-menu-btn,.ent-nav-right .ent-btn{height:44px}
  .ent-nav-logo{min-height:44px}
  .ent-foot-list{gap:0}
  /* the text starts at the top of its box, so the first lines of two columns share a baseline when one title wraps */
  .ent-foot-link{display:inline-flex;align-items:flex-start;min-height:44px;padding:12px 0}
  .ent-foot-right{gap:0 24px}
  .ent-foot-bottom{padding-top:16px}
}

/* a tablet in landscape: the bar's plain links are as tall as the bar, Sign in is a full touch target too */
@media(min-width:900px) and (pointer:coarse){.ent-nav-right{align-self:stretch}.ent-nav-signin{align-self:stretch;display:inline-flex;align-items:center}}

/* ---- forced colours: shapes drawn as backgrounds map to system colours ---- */
@media(forced-colors:active){
  .ent-navp-lines i,.ent-navp-more .ent-navp-row::before,.ent-menu-i::before,.ent-menu-i::after,.ent-navp-row[aria-current="page"] .ent-navp-t::after,.ent-navp-link[aria-current="page"] .ent-navp-lt::after{background:CanvasText}
  .ent-navp{border-color:CanvasText}
}

/* ---- motion: hovers on colour, the chevron turning over (no motion preference, no transition; the state is the same) ---- */
@media(prefers-reduced-motion:no-preference){
  .ent-nav-link,.ent-nav-logo,.ent-menu-btn,.ent-menu-row,.ent-menu-sublink,.ent-navp-row,.ent-navp-t,.ent-navp-link,.ent-navp-lt,.ent-foot-link{
    transition:color 120ms ease-out,background-color 120ms ease-out,border-color 120ms ease-out,text-decoration-color 120ms ease-out}
  .ent-nav-l{transition:text-decoration-color 120ms ease-out}
  .ent-nav-caret{transition:transform 160ms ease-out}
  .ent-menu-i::after{transition:transform 160ms ease-out}
  .ent-menu{animation:ent-fade 160ms ease-out both}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){.ent-navp-row:hover .ent-arrow{transform:translateX(3px)}}


/* ---- hero ---- */
.ent-hero{padding-top:32px;padding-bottom:96px}
.ent-hero-top{margin-top:48px}
.ent-hero-h1{margin:0;color:var(--ink);justify-self:start;width:fit-content}
.ent-hero-row{margin-top:24px;row-gap:48px}
.ent-hero-lead{margin:0;max-width:34em;text-wrap:balance}
.ent-hero-micro{margin:16px 0 0}
.ent-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
@media(max-width:639px){.ent-cta-row{flex-direction:column;align-items:stretch}.ent-hero-top{margin-top:32px}}

/* the film, Figure 1: a frame in the sheet's language (header strip, a still cut from the film with the field it reads outlined,
   the film's clock as a ruler with a pin on each of its six uses) in columns 7-12 beside the lead and the CTAs, its legend (a caption and
   a key to the pins) in columns 1-6 ending on the frame's foot, and the native <dialog> it opens. The key is shown only where the
   frame is at its full 620px (1280px and wider), so that its last rule is exactly the frame's foot; from 900 to 1279px the caption
   names the six kinds of paper instead. Below 900px everything stacks: the offer, the figure, its legend (key included). */
@media(min-width:900px){
  .ent-hero-row{row-gap:0;grid-template-rows:auto 1fr}
  .ent-hero-main{grid-row:1}
  .ent-fig{grid-row:1 / span 2}
  .ent-fig-cap{grid-row:2;align-self:end}
}
.ent-fig{margin:0;align-self:start}
/* the frame is the container: a figure narrower than 400px (a phone) drops "with sound" from the strip */
.ent-fig-frame{container-type:inline-size}
.ent-fig-open{display:block;width:100%;padding:0;margin:0;border:0;background:none;text-align:left;cursor:pointer}
/* the ring sits inside the frame (it touches its neighbours), drawn by a layer over the still that fills the button */
.ent .ent-fig-open{position:relative}
.ent .ent-fig-open:focus-visible{outline:none}
.ent-fig-open:focus-visible::after{content:"";position:absolute;inset:0;z-index:3;outline:2px solid var(--ink);outline-offset:-2px;pointer-events:none}
.ent-fig-still{position:relative;display:block;background:var(--paper-2)}
.ent-fig-layer{display:block;position:relative}
.ent-fig-layer picture,.ent-fig-layer img{display:block;width:100%}
.ent-fig-layer img{height:auto;aspect-ratio:16/7}
/* the pages a pin points at, laid over the still one at a time (it shows instantly: things appear) */
.ent-fig-pv{position:absolute;inset:0;background:var(--panel)}
.ent-fig-pv[hidden]{display:none}
/* the field the film reads: the sheet's outline (1.5px, 2px off) and numbered marker, over the picture */
.ent-fig-hl{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);outline:1.5px solid var(--accent);outline-offset:2px}
/* play: the page's rust square, 48px, in the still's top-right corner on the strip's own 16px inset (every cut leaves it empty) */
.ent-fig-play{position:absolute;z-index:2;right:16px;top:16px;display:grid;place-items:center;width:48px;height:48px;background:var(--accent);color:var(--white)}
.ent-fig-play svg{width:12px;height:14px;margin-left:3px}
@media (hover:hover){.ent-fig-open:hover .ent-fig-play{background:var(--accent-hover)}.ent-fig-open:hover .ent-fig-go{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}}
/* the ruler: the film's clock, 0 to 1:18, with no caption (the legend is the key); the pins carry the field's number */
.ent-ruler.ent-fig-ruler{padding-top:8px;padding-bottom:8px}
.ent-fig-ruler .ent-ruler-track{margin-top:0}
.ent-fpins{position:relative;height:22px}
.ent-fpin{position:absolute;top:0;left:var(--x);height:22px;display:flex;align-items:flex-end;padding:0;border:0;background:none;cursor:pointer}
.ent-fpin::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--accent)}
/* the hit area is the tag, its stem and a margin around them (24px at least, so the six never overlap on a phone; 44px tall on a coarse pointer) */
.ent-fpin::after{content:"";position:absolute;inset:-2px -4px -6px}
@media (pointer:coarse){.ent-fpin::after{inset:-16px -4px -6px}}
.ent-fpin .ent-mk{position:static}
@media (hover:hover){.ent-fpin:hover .ent-mk{background:var(--accent-hover)}}
.ent-fpin:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@container (max-width:400px){.ent-fig-snd{display:none}}
/* the legend: a caption of Small (its run-in label "Figure 1" first) and the key to the pins (ruled rows: the page's table rules) */
.ent-fig-cap{margin:0;display:grid;row-gap:8px;align-content:end}
@media(min-width:900px){.ent-fig-cap{margin-top:32px}}
.ent-fig-cap p{margin:0}
.ent-fig-cap-l{margin-right:4px;color:var(--ink)}
.ent-fig-cap-t{text-wrap:pretty;max-width:62ch}
.ent-fig-key{display:none;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:24px}
.ent-fig-key li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;column-gap:16px;min-height:32px;border-bottom:1px solid var(--rule-1)}
.ent-fig-key-n{box-sizing:border-box;width:16px;height:16px;border:1px solid var(--rule-2);border-radius:2px;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;line-height:14px;text-align:center;color:var(--ink-2)}
.ent-fig-key li.is-on .ent-fig-key-n{border-color:var(--accent);background:var(--accent);color:var(--white);font-weight:600;line-height:16px}
.ent-fig-key-t{font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;line-height:1.4;color:var(--ink-3)}
.ent-fig-key-w{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
@media(max-width:899px){.ent-fig-cap{margin-top:-24px}}
/* the key where it fits: stacked tablets, and 1280px and wider (the frame at its full width) */
@media (min-width:640px) and (max-width:899px),(min-width:1280px){.ent-fig-key{display:grid}}
/* where it is not shown the caption names the six kinds of paper (the sentence the key would say) */
.ent-fig-k,.ent-fig-n{display:none}.ent-fig-w{display:inline}
@media(max-width:639px),(min-width:900px) and (max-width:1279px){.ent-fig-k{display:inline}}
@media(max-width:639px){
  .ent-fig-w{display:none}.ent-fig-n{display:inline}
  .ent-fig-layer img{aspect-ratio:5/3}
  .ent-fig-hl{left:var(--nx,var(--x));top:var(--ny,var(--y));width:var(--nw,var(--w));height:var(--nh,var(--h))}
}
.ent-film-dlg{width:min(1120px,calc(100vw - 32px),calc((100dvh - 160px) * 16 / 9));max-width:none;padding:0;border:1px solid var(--ink);border-radius:2px;background:var(--panel);color:var(--ink)}
.ent-film-dlg::backdrop{background:rgba(19,19,17,.62)}
.ent-film{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--ink)}
.ent-film-x{min-height:28px;padding:0 10px;border:1px solid var(--rule-2);border-radius:4px;background:var(--panel);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink);cursor:pointer}
.ent-film-x:hover{border-color:var(--ink)}
@media (pointer:coarse){.ent-film-x{min-height:40px}}
@media(max-width:639px){.ent-film-cap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
.ent-film-note{margin:0;padding:8px 16px}
html:has(.ent-film-dlg[open]){overflow:hidden;scrollbar-gutter:stable}

/* the title block opens the sheet; its cell rules are the page's own guide lines */
.ent-tb{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-1);margin:0 calc(var(--bleed) * -1)}
.ent-tb-g{padding:12px var(--bleed)}
.ent-tb-cell{grid-column:span 3;min-width:0;position:relative}
.ent-tb-cell:not(:first-child)::before{content:"";position:absolute;left:-13px;top:-12px;bottom:-12px;border-left:1px solid var(--rule-1)}
@media(min-width:960px){.ent-tb-cell::before{display:none}}
.ent-tb-cell dd{margin:4px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:899px){
  .ent-tb-g{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .ent-tb-cell{grid-column:auto}
  /* an odd last cell (a title block of 1 or 3) has the row to itself: a value that fills half a phone's width is not cut short by an empty neighbour */
  .ent-tb-cell:last-child:nth-child(odd){grid-column:1/-1}
  .ent-tb-cell::before{display:none}
  .ent-tb-cell:nth-child(even){border-left:1px solid var(--rule-1);padding-left:16px}
}

.ent-insp{border:1px solid var(--ink);border-radius:2px;background:var(--panel);margin:0 calc(var(--bleed) * -1)}
.ent-insp-hd{min-height:36px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:4px 16px;background:var(--paper-2);border-bottom:1px solid var(--rule-1);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-2)}
.ent-insp-hd .ent-grow{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.ent-j-key,.ent-j-punct{color:var(--ink-3)}
.ent-j-str,.ent-j-num{color:var(--ink)}
.ent-j-hit{color:var(--accent);font-weight:500}
.ent-insp-note{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);margin:8px 0 0;max-width:80ch}

/* ---- the ruler ---- */
.ent-ruler{position:relative;padding:12px 24px 14px;background:var(--panel);border-top:1px solid var(--rule-1)}
.ent-ruler-track{position:relative;margin-top:8px}
.ent-axis{position:relative;height:28px;border-bottom:1px solid currentColor;color:var(--ink)}
.ent-axis-l{position:absolute;top:0;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3);white-space:nowrap;transform:translateX(-50%)}
.ent-axis-l--first{transform:none}
.ent-axis-l--last{transform:translateX(-100%)}
@media(max-width:639px){.ent-axis-l--mid{display:none}.ent-ruler{padding:12px 16px 14px}}
.ent-ticks{position:absolute;left:0;bottom:0;width:100%;height:12px;overflow:visible}
/* the 1,000 line: 2px orange at the end of the scale, wherever the scale is drawn */
.ent-limit{position:relative}
.ent-limit-line{position:absolute;top:0;bottom:0;right:-1px;width:2px;background:var(--accent)}
.ent-limit .ent-axis-l--last,.ent-scale-track .ent-axis-l--last{margin-left:-8px}

/* no limit: the plans table's mini-bar runs the whole cell, then a chevron past its end says it goes on (drawn with
   borders: the fonts have no arrow glyph). The cell's own 16px padding is all the room there is: a small chevron, set against the bar's end */
.ent-minibar--open{position:relative}
.ent-minibar--open::after{content:"";position:absolute;left:100%;top:50%;width:8px;height:8px;margin:-5px 0 0 1px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:rotate(45deg);transform-origin:center}

/* ---- exhibits: a heading, one sentence and a ruled table (the page kit's Table) under a chapter's chart or table ---- */
.ent-exh{margin-top:64px}
/* a heavier rule after a column ends one group of figures and starts another in another unit (stacked tables drop their borders) */
.ent-tbl .ent-tbl-split{border-right-color:var(--ink-3)}
@media(max-width:899px){.ent-exh{margin-top:48px}}

/* ---- controls ---- */
.ent-seg{display:inline-flex;max-width:100%}
.ent-seg button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;margin:0 0 0 -1px;border:1px solid var(--rule-2);background:var(--panel);color:var(--ink-2);font-family:var(--sans);font-size:14px;line-height:1;letter-spacing:0;font-weight:600;word-spacing:.08em;white-space:nowrap}
.ent-seg button:first-child{margin-left:0;border-radius:4px 0 0 4px}
.ent-seg button:last-child{border-radius:0 4px 4px 0}
.ent-seg button:hover{background:var(--row-hover)}
.ent-seg button:active{background:var(--paper-2)}
.ent-seg button[aria-checked="true"]{z-index:1;background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ent-seg button[aria-checked="true"]:hover{background:var(--ink)}
.ent-seg button:focus-visible{outline-offset:-2px;z-index:2}
.ent-seg button[aria-checked="true"]:focus-visible{outline-color:var(--paper)}
.ent-seg--plans{display:flex;width:100%}
.ent-seg--plans button{flex:1 1 0;min-width:0;height:44px;padding:0 6px}
@media(max-width:359px){.ent-seg--plans button{font-size:13px;padding:0 4px;gap:6px}}
.ent-seg .ent-pct{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:400}
.ent-field{position:relative;display:flex;align-items:center;height:44px;background:var(--panel);border:1px solid var(--rule-2);border-radius:4px}
.ent-field:hover{border-color:var(--ink-3)}
.ent-field:focus-within{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:0}
.ent .ent-input:focus-visible{outline:none}
/* the control fills its 44px frame: the frame's 1px border takes 2px of the content box, so the input is 2px taller than the
   percentage and pulled back over the border (it stays transparent: the frame still draws the border). Without it the
   input is 42px tall and the border strip above and below it is not part of it */
.ent-input{flex:1 1 auto;min-width:0;height:calc(100% + 2px);margin:-1px 0;border:0;background:transparent;padding:0 4px 0 12px;font-family:var(--mono);font-size:15px;word-spacing:0;color:var(--ink);outline:none;font-variant-numeric:tabular-nums}
.ent-unit{padding-right:12px;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-controls{display:grid;gap:24px;max-width:520px}
.ent-controls p{margin:0}
.ent-controls .ent-small{margin-top:8px}
/* the rules of credits beside the toggle: three short lines, a square marker each */
.ent-cr{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-cr li{position:relative;padding-left:16px}
.ent-cr li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--ink)}

/* ---- plans ---- */
.ent-pt{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;background:var(--panel);border-left:1px solid var(--rule-1)}
.ent-pt th,.ent-pt td{background:var(--panel);--btn-bg:var(--panel);border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);vertical-align:top;padding:0 16px;text-align:left}
.ent-pt .is-feat{background:var(--white);--btn-bg:var(--white)}
.ent-pt thead tr:first-child>*{border-top:1px solid var(--ink)}
.ent-pt thead tr:first-child>.is-feat{border-top:2px solid var(--accent)}
.ent-pt .ent-pt-badgerow>*{height:25px;padding-top:6px;padding-bottom:0;border-bottom:0}
.ent-pt .ent-pt-badgerow>.ent-pt-ctl{padding:24px 16px}
.ent-pt-badge{display:block;font-family:var(--sans);font-size:11px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--accent)}
.ent-pt .ent-pt-namerow>*{padding-top:16px;padding-bottom:0;border-bottom:0;font-family:var(--sans);font-size:20px;line-height:1.3;letter-spacing:-0.005em;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pt .ent-pt-pricerow>*{padding-top:4px;padding-bottom:0;border-bottom:0}
.ent-pt .ent-pt-forrow>*{padding-top:8px;padding-bottom:0;border-bottom:0}
.ent-pt .ent-pt-ctarow>*{padding-top:16px;padding-bottom:24px}
.ent-price{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.ent-unit-mo{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-pt-sub{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);margin:8px 0 0;text-wrap:balance}
.ent-pt-for{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);margin:0}
.ent-pt .ent-pt-grp>*{padding-top:24px;padding-bottom:12px;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3)}
.ent-pt .ent-pt-grp>th{color:var(--ink)}
.ent-pt .ent-pt-row>*{padding-top:12px;padding-bottom:12px;height:48px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;}
.ent-pt .ent-pt-row>td{color:var(--ink);font-weight:500}
.ent-pt .ent-pt-row>th small{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pt .ent-pt-row>td small{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;font-weight:400;color:var(--ink-3)}
.ent-pt .ent-pt-row:hover>*{background:var(--row-hover)}
.ent-pt .ent-pt-row:hover>.is-feat{background:var(--panel)}
.ent-minibar{display:block;height:4px;background:var(--ink);margin-top:8px;transform-origin:left center}
.ent-incl-list{margin:0;padding:0;list-style:none}
.ent-incl-list li{display:inline}
.ent-incl-list li+li::before{content:" · ";white-space:pre;color:var(--ink-3)}
.ent-pt .ent-pt-note>*{padding-top:16px;padding-bottom:16px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-pt .ent-pt-note>th{font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-incl{margin-top:24px;padding-top:16px;border-top:1px solid var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-incl p{margin:0 0 8px}

.ent-sel{max-width:720px}
.ent-sel-head{border-top:1px solid var(--ink);border-left:1px solid var(--rule-1);border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);background:var(--panel);--btn-bg:var(--panel);padding:24px 16px 16px}
.ent-sel-spec{margin:0;background:var(--panel);border:1px solid var(--rule-1);border-top:0}
.ent-sel-grp{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink);padding:24px 16px 12px;border-bottom:1px solid var(--rule-1);margin:0}
/* label, dotted leader, value: the value never wraps and takes the room it needs (the label gives way, the leader may vanish);
   a note under a figure ("None" / "your own model key") is a second line of the value, on its right edge */
.ent-sel-row{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule-1);min-height:48px}
.ent-sel-row::after{content:"";order:1;flex:1 1 0;min-width:0;border-bottom:1px dotted var(--rule-2);transform:translateY(-4px)}
.ent-sel-row dt{flex:0 1 auto;max-width:64%;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;}
.ent-sel-row dt small{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-sel-row dd{order:2;margin:0;flex:0 0 auto;max-width:56%;display:flex;flex-direction:column;align-items:flex-end;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink);text-align:right}
.ent-sel-fig{white-space:nowrap}
.ent-sel-row dd small{font:inherit;font-weight:400;color:var(--ink-3)}

/* ---- ink band + footer ---- */
.ent-band{position:relative;background:var(--band);color:var(--band-ink)}
.ent-band .ent-small{color:var(--band-ink-3)}

/* ---- sunk bands (the sunk bands): paper-2, the band's edge is the chapter rule ---- */
.ent-sunk{background:var(--paper-2)}
.ent-guides--sunk{--g1:var(--rule-1)}
.ent-pr-sec,.ent-dh-sec,.ent-pg-sec{padding:64px 0 96px}
@media(max-width:899px){.ent-pr-sec,.ent-dh-sec,.ent-pg-sec{padding:48px 0 64px}}

/* ---- process: ports -> one extraction block -> ports. The block stands one step up (panel on paper-2);
        the connectors keep 8px off the guide lines they cross ---- */
.ent-flow{list-style:none;margin:48px 0 0;padding:0;row-gap:0}
.ent-flow-step{position:relative;min-width:0}
@supports(grid-template-rows:subgrid){
  .ent-flow-step{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
}
.ent-flow-hd{margin:0 0 16px;color:var(--ink)}
.ent-flow-n{font-family:var(--mono);font-size:13px;line-height:1.3;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:500;margin-right:4px}
.ent-flow-fig{position:relative;min-height:144px}
.ent-ports{list-style:none;margin:0;padding:0}
.ent-ports--in{margin-right:-4px}
.ent-ports--out{margin-left:-4px}
.ent-port{display:flex;align-items:center;height:48px}
.ent-port .ent-sq{margin-right:12px}
.ent-port-t{font-family:var(--sans);font-size:14px;line-height:1.3;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink);white-space:nowrap}
.ent-port-ln{flex:1 1 auto;height:1px;background:var(--ink);margin-left:12px}
.ent-ports--out .ent-port-ln{flex:0 0 14px;margin:0}
.ent-bus{position:absolute;top:24px;height:96px;width:1px;background:var(--ink)}
.ent-bus--out{right:-4px}
.ent-bus--in{left:-4px}
.ent-conn{position:absolute;top:66px;width:20px;height:12px;color:var(--ink)}
.ent-conn i{position:absolute;left:0;right:2px;top:5px;height:1px;background:currentColor}
.ent-conn svg{position:absolute;right:0;top:0}
.ent-conn--in{left:-20px}
.ent-conn--out{left:100%}
.ent-flow-down{display:none}
.ent-xb{min-height:144px;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--ink);border-radius:2px;background:var(--panel)}
.ent-xb-top{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr)}
.ent-xb-cell{padding:12px 16px;min-width:0}
.ent-xb-t{margin:0;font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-xb-n{margin:4px 0 0;font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-xb-join{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--rule-1);border-right:1px solid var(--rule-1);color:var(--ink)}
.ent-xb-bot{padding:12px 16px 14px;background:var(--paper-2);border-top:1px solid var(--rule-1)}
.ent-xb-whole{display:block;font-family:var(--sans);font-size:14px;line-height:1.3;letter-spacing:0;font-weight:500;word-spacing:.08em;color:var(--ink)}
.ent-xb-bot .ent-ruler-track{margin-top:8px}
.ent-flow-copy{margin-top:24px}
.ent-flow-t{margin:0;font-family:var(--sans);font-size:20px;line-height:1.25;letter-spacing:-0.02em;font-weight:600;word-spacing:.08em;color:var(--ink);text-wrap:balance}
.ent-flow-b{margin:8px 0 0;font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:54ch;text-wrap:pretty}
@media(max-width:899px){
  .ent-flow{margin-top:32px}
  .ent-flow-step{display:block;grid-row:auto}
  .ent-flow-fig,.ent-xb{min-height:0}
  .ent-bus,.ent-conn,.ent-port-ln{display:none}
  .ent-ports--in,.ent-ports--out{margin:0;border-top:1px solid var(--rule-1)}
  .ent-port{height:44px;border-bottom:1px solid var(--rule-1)}
  .ent-xb-top{min-height:96px}
  .ent-flow-down{display:block;margin:24px 0;transform:rotate(90deg);color:var(--ink)}
}
@media(max-width:639px){
  .ent-xb-top{grid-template-columns:minmax(0,1fr)}
  .ent-xb-join{height:40px;border:0;border-top:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1)}
  .ent-xb-join svg{transform:rotate(90deg)}
}

/* ---- the content area of a labelled chapter (cols 4-12) is nine columns of the same size ---- */
.ent-g9{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px}
@media(max-width:899px){.ent-g9{grid-template-columns:minmax(0,1fr)}}

/* ---- applications: a ruled index, the whole row is the link; the left column carries a sample ---- */
.ent-spl{margin:32px calc(var(--bleed) * -1) 0;background:var(--panel);border:1px solid var(--rule-1);border-top-color:var(--ink);border-radius:2px}
.ent-spl-hd{display:flex;align-items:center;gap:12px;min-height:36px;padding:4px 12px;background:var(--paper-2);border-bottom:1px solid var(--rule-1);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-2)}
.ent-spl-file{min-width:0;overflow-wrap:anywhere}
.ent-spl-idx{margin-left:auto;color:var(--ink-3)}
.ent-spl-bd{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;}
.ent-spl-bd dt,.ent-spl-bd dd{margin:0;padding:8px 12px;border-bottom:1px solid var(--rule-1)}
.ent-spl-bd dt{color:var(--ink-3);padding-right:16px}
.ent-spl-bd dd{color:var(--ink);text-align:right;overflow-wrap:anywhere}
.ent-spl-cap{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);padding:10px 12px}
@media(max-width:899px){.ent-spl{display:none}}
.ent-idx{list-style:none;margin:0 calc(var(--bleed) * -1);padding:0}
.ent-idx-row{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:24px;row-gap:8px;align-items:baseline;min-height:112px;padding:24px var(--bleed);border-bottom:1px solid var(--rule-1)}
.ent-idx-row:hover{background:var(--row-hover)}
.ent-idx-id{grid-column:1/5;display:flex;align-items:baseline;gap:16px;min-width:0}
.ent-idx-n{font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3);flex:none;min-width:28px}
.ent-idx-row.is-active .ent-idx-n{color:var(--ink)}
.ent-idx-t{margin:0;color:var(--ink);min-width:0}
.ent-idx-t{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px}
.ent-idx-row:hover .ent-idx-t{text-decoration-color:var(--ink)}
.ent-idx-row:active .ent-idx-t{text-decoration-thickness:2px}
/* the row's link: an empty cover with a hidden name ("Contracts, see solution"), so the heading stays plain */
.ent-idx-cover{position:absolute;inset:0;z-index:1}
.ent .ent-idx-cover:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.ent-idx-d{grid-column:5/8;min-width:0}
.ent-idx-desc{margin:0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:48ch;text-wrap:pretty}
.ent-idx-fields{margin:8px 0 0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3);text-wrap:balance}
.ent-idx-fl{font-family:var(--sans);font-size:11px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;margin-right:8px}
.ent-idx-fld{white-space:nowrap}
.ent-idx-fld:not(:last-child)::after{content:" \00b7";white-space:pre}
.ent-idx-go{grid-column:8/10;justify-self:end;display:inline-flex;align-items:flex-start;gap:8px;text-align:right;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-idx-go svg{margin-top:3px}
.ent-idx-go span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-idx-row:hover .ent-idx-go span{text-decoration-color:var(--ink)}
.ent-idx-row:active .ent-idx-go span{text-decoration-thickness:2px}
@media(max-width:1099px){
  .ent-idx-id{grid-column:1/6}
  .ent-idx-d{grid-column:6/10}
  .ent-idx-go{grid-column:6/10;grid-row:2;justify-self:start;margin-top:8px;text-align:left}
}
@media(max-width:899px){
  .ent-idx-row{grid-template-columns:minmax(0,1fr);min-height:0}
  .ent-idx-id,.ent-idx-d,.ent-idx-go{grid-column:1/-1;grid-row:auto}
  .ent-idx-go{margin-top:8px}
}

/* ---- applications, the rest of the chapter: the list headings, the compact industry links (three columns on the quarter
   lines of the content area, the same ruled language as the rows), and the foot with the way to every page ---- */
.ent-ap-group{margin:0;padding:24px 0 8px}
.ent-ap-group--next{padding-top:48px}
.ent-ap-inds{list-style:none;margin:0 calc(var(--bleed) * -1);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ent-ap-ind{border-bottom:1px solid var(--rule-1)}
.ent-ap-link{display:flex;align-items:baseline;gap:12px;min-height:64px;padding:16px var(--bleed);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-ap-link:hover{background:var(--row-hover)}
.ent-ap-ind.is-active .ent-idx-n{color:var(--ink)}
.ent-ap-link .ent-idx-n{min-width:32px}
.ent-ap-name{min-width:0;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:5px}
.ent-ap-link:hover .ent-ap-name{text-decoration-color:var(--ink)}
.ent-ap-link svg{margin-left:auto;align-self:center}
.ent .ent-ap-link:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.ent-ap-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 32px;padding:24px 0 0}
.ent-ap-other{margin:0;max-width:56ch;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
@media(max-width:899px){.ent-ap-inds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.ent-ap-inds{grid-template-columns:minmax(0,1fr)}.ent-ap-group--next{padding-top:32px}}
@media(prefers-reduced-motion:no-preference){.ent-ap-link,.ent-ap-name{transition:background-color 120ms ease-out,text-decoration-color 120ms ease-out}}

/* ---- interface: copy left, two listings right, on the ink band ---- */
.ent-band .ent-chapter{border-top-color:var(--band-ui)}
.ent-band .ent-side-num,.ent-band .ent-side-name{color:var(--band-ink)}
.ent-band .ent-side-sub{color:var(--band-ink-3)}
.ent-band .ent-label{color:var(--band-ink-3)}
.ent-band .ent-body{color:var(--band-ink-2)}
.ent-band .ent-cap{color:var(--band-ink-2)}
.ent-band .ent-cap--ink{color:var(--band-ink)}
.ent-band .ent-sq{background:var(--band-ink)}
.ent-band .ent-tag{border-color:var(--band-ui);color:var(--band-ink)}
.ent-band .ent-axis{color:var(--band-ink-2)}
.ent-band .ent-axis-l{color:var(--band-ink-3)}
.ent-api{padding:96px 0}
@media(max-width:899px){.ent-api{padding:64px 0}}
@media(max-width:639px){.ent-api{padding:48px 0 64px}}
.ent-api-g{row-gap:48px;align-items:start}
.ent-api-copy{display:flex;flex-direction:column;align-items:flex-start}
.ent-api-num{margin:0 0 16px}
.ent-api-sub{margin:24px 0 0;max-width:46ch}
.ent-api-bul{list-style:none;margin:32px 0 24px;padding:0;border-top:1px solid var(--band-rule);align-self:stretch;max-width:100%}
.ent-api-b{display:grid;grid-template-columns:8px minmax(0,1fr);column-gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--band-rule)}
.ent-api-b .ent-sq{margin-top:7px}
.ent-api-bt{margin:0;font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--band-ink)}
.ent-api-bb{margin:4px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--band-ink-2)}
.ent-api-ev{margin:8px 0 0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--band-ink-2)}
.ent-api-ev span{font-family:var(--sans);font-weight:600;font-stretch:75%;text-transform:uppercase;letter-spacing:0.07em;font-size:11px;color:var(--band-ink-3);margin-right:8px}
.ent-api-docs{margin-top:0}
.ent-api-code{margin:0 calc(var(--bleed) * -1)}
.ent-ls-pair{display:flex;flex-direction:column}
.ent-ls{margin:0;min-width:0;display:flex;flex-direction:column;background:var(--band-2);border:1px solid var(--band-rule)}
.ent-ls-pair .ent-ls:first-child{border-radius:2px 2px 0 0}
.ent-ls-pair .ent-ls:last-child{margin-top:-1px;border-radius:0 0 2px 2px}
.ent-ls-hd{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:36px;padding:4px 0 4px 16px;background:var(--band-3);border-bottom:1px solid var(--band-rule);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--band-ink-2)}
.ent-ls-name{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.ent-ls-end{margin-left:auto;display:flex;align-items:center;gap:12px}
.ent-ls-lang{padding-right:16px;color:var(--band-ink-3);white-space:nowrap}
.ent-ls-end .ent-ls-lang:last-child{padding-right:16px}
.ent-copy{align-self:stretch;min-width:76px;min-height:36px;margin:-4px 0;padding:0 16px;border:0;border-left:1px solid var(--band-rule);border-radius:0;background:transparent;color:var(--band-ink);font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:-0.005em;word-spacing:0;line-height:1}
.ent-ls-end .ent-copy{margin-left:-12px}
.ent-copy:hover{background:var(--band-ink);color:var(--band)}
.ent-copy:active{background:var(--white);color:var(--band)}
.ent .ent-copy:focus-visible,.ent .ent-ls-bd:focus-visible{outline-offset:-2px}
.ent-ls-bd{flex:1 1 auto;display:grid;grid-template-columns:40px minmax(0,1fr);align-content:start;overflow-x:auto;padding:12px 0;font-family:var(--mono);font-size:13px;line-height:1.7;letter-spacing:0;font-weight:400;word-spacing:0;line-height:22px}
.ent-ls-gut{position:sticky;left:0;z-index:1;background:var(--band-2);border-right:1px solid var(--band-rule);padding-right:12px;text-align:right;color:var(--band-ink-3);user-select:none}
.ent-ls-gut span,.ent-ls-l{display:block;min-height:22px}
.ent-ls-code{margin:0;padding:0 24px 0 16px;font:inherit;color:var(--band-ink);white-space:pre}
.ent-ls .ent-j-key,.ent-ls .ent-j-punct,.ent-sh-punct,.ent-sh-prompt,.ent-sh-com{color:var(--band-ink-3)}
.ent-ls .ent-j-str,.ent-sh-str,.ent-sh-url,.ent-sh-cmd{color:var(--band-ink)}
.ent-sh-cmd{font-weight:500}
.ent-sh-flag{color:var(--band-ink-2)}
.ent-ls .ent-j-num,.ent-sh-var{color:var(--accent-dark)}
.ent-api-cap{margin:32px 0 0;padding-top:16px;border-top:1px solid var(--band-rule);align-self:stretch}
@media(max-width:639px){
  .ent-ls-bd{font-size:12px}
  .ent-ls-hd{padding-left:12px;gap:4px 8px}
  .ent-ls-lang{padding-right:8px}
  .ent-copy{min-width:64px;padding:0 12px}
}

/* ---- data handling: four ruled columns on the sunk band; the rules are the guide lines ---- */
.ent-dh-top{align-items:end;row-gap:16px}
.ent-dh-link{justify-self:end}
@media(max-width:899px){.ent-dh-link{justify-self:start;margin-bottom:0}}
.ent-dh{list-style:none;margin:48px calc(var(--bleed) * -1) 0;padding:0 var(--bleed);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-1)}
.ent-dh-cell{grid-column:span 3;position:relative;min-width:0;padding:24px 0 32px}
@media(max-width:959px){.ent-dh-cell:not(:first-child)::before{content:"";position:absolute;left:-13px;top:0;bottom:0;border-left:1px solid var(--rule-1)}}
.ent-dh-hd{margin:0;display:flex;align-items:baseline;gap:8px}
.ent-dh-n{font-family:var(--mono);font-size:13px;line-height:1.3;letter-spacing:0;font-weight:400;word-spacing:0;font-stretch:100%;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.ent-dh-v{margin:24px 0 0;color:var(--ink)}
@media(max-width:1099px){.ent-dh-v{font-size:25px}}
.ent-dh-b{margin:12px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:30ch;text-wrap:pretty}
.ent-dh-note{margin:24px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:72ch;text-wrap:pretty}
@media(max-width:899px){
  .ent-dh-cell{grid-column:auto;display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:baseline;padding:16px 0 20px;border-top:1px solid var(--rule-1)}
  .ent-dh-cell:first-child{border-top:0}
  .ent-dh-cell::before{display:none}
  .ent-dh-hd{grid-column:1}
  .ent-dh-v{grid-column:2;margin:0;font-size:25px}
  .ent-dh-b{grid-column:1/-1;margin-top:8px;max-width:none}
}
@media(max-width:359px){.ent-dh-cell{grid-template-columns:104px minmax(0,1fr)}}

/* ---- questions: a ruled accordion; the open row lifts to the panel step ---- */
.ent-acc-grp+.ent-acc-grp{margin-top:48px}
.ent-acc-gl{margin:0}
.ent-acc{list-style:none;margin:16px calc(var(--bleed) * -1) 0;padding:0;border-top:1px solid var(--rule-1)}
.ent-acc-item{border-bottom:1px solid var(--rule-1)}
.ent-acc-item.is-open{background:var(--panel)}
.ent-acc-h{margin:0;font:inherit;letter-spacing:inherit}
.ent-acc-btn{display:grid;grid-template-columns:40px minmax(0,1fr) 11px;column-gap:16px;align-items:baseline;width:100%;min-height:56px;padding:16px 0;border:0;border-radius:0;background:transparent;text-align:left;color:var(--ink)}
@media(min-width:960px){.ent-acc-btn{grid-template-columns:48px minmax(0,1fr) 11px;padding-left:var(--bleed);padding-right:var(--bleed)}}
.ent-acc-btn:hover{background:var(--row-hover)}
.ent-acc-btn:active{background:var(--paper-2)}
.ent .ent-acc-btn:focus-visible{outline-offset:-2px}
.ent-acc-n{font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:500;color:var(--ink-3)}
.ent-acc-q{font-family:var(--sans);font-size:18px;line-height:1.35;letter-spacing:-0.01em;font-weight:600;word-spacing:.08em;color:var(--ink);text-wrap:pretty}
.ent-acc-i{position:relative;align-self:start;margin-top:7px;width:11px;height:11px}
.ent-acc-i::before,.ent-acc-i::after{content:"";position:absolute;background:var(--ink)}
.ent-acc-i::before{left:0;top:5px;width:11px;height:1px}
.ent-acc-i::after{left:5px;top:0;width:1px;height:11px}
.ent-acc-btn[aria-expanded="true"] .ent-acc-i::after{transform:scaleY(0)}
.ent-acc-p{display:grid;grid-template-rows:0fr;visibility:hidden}
.ent-acc-item.is-open .ent-acc-p{grid-template-rows:1fr;visibility:visible}
.ent-acc-pi{min-height:0;overflow:hidden}
.ent-acc-a{margin:0;padding:0 var(--ar,48px) 24px var(--ai,56px);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:calc(62ch + var(--ai,56px) + var(--ar,48px));text-wrap:pretty}
.ent-acc-item{--ai:56px}
.ent-acc-a .ent-link{white-space:nowrap}
@media(min-width:960px){.ent-acc-item{--ai:76px}}
@media(max-width:399px){.ent-acc-item{--ai:44px;--ar:16px}.ent-acc-btn{column-gap:8px;grid-template-columns:36px minmax(0,1fr) 11px}}

/* ---- order: the ordering scale, then the decision, on the ink band the footer carries on ---- */
.ent-band .ent-lead{color:var(--band-ink-2)}
.ent-band .ent-display2{color:var(--band-ink)}
.ent-ord{padding:96px 0 64px}
@media(max-width:899px){.ent-ord{padding:64px 0 48px}}
@media(max-width:639px){.ent-ord{padding:48px 0 48px}}
.ent-scale{margin:0;padding:24px 0 0}
.ent-scale-cap{margin:0 0 8px;color:var(--band-ink-3)}
.ent-scale-track{position:relative}
.ent-scale-pins{list-style:none;margin:0;padding:0;position:relative;height:56px}
.ent-scale-pin{position:absolute;top:calc(var(--row,0) * 28px);height:calc(100% - var(--row,0) * 28px);border-left:1px solid var(--band-ink-3);padding:6px 0 0 8px;white-space:nowrap;font-family:var(--sans);font-size:14px;line-height:1.3;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--band-ink)}
.ent-scale-pin--end{border-left:0;padding:6px 16px 0 0;transform:translateX(-100%);text-align:right}
.ent-scale-val{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:400;color:var(--band-ink-2);margin-left:8px}
.ent-scale-more{margin-left:8px;vertical-align:-1px}
.ent-ord-g{margin-top:96px;row-gap:48px;align-items:start}
@media(max-width:899px){.ent-ord-g{margin-top:64px}}
.ent-ord-h{margin:0}
.ent-ord-l1{display:inline}
@media(min-width:640px){.ent-ord-l1{display:block}}
.ent-ord-sub{margin:24px 0 0;max-width:30ch;text-wrap:pretty}
.ent-ord-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px}
.ent-ord-btns{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:639px){.ent-ord-btns{flex-direction:column;width:100%}}
.ent-ord-note{margin:0}
.ent-ord-side{margin:0 calc(var(--bleed) * -1)}
.ent-ord-cap{margin:0;padding:0 var(--bleed) 12px;display:flex;align-items:baseline;gap:8px}
.ent-ord-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--band-ui)}
.ent-ord-row{display:grid;grid-template-columns:minmax(0,112px) minmax(0,1fr);column-gap:16px;padding:20px var(--bleed);border-bottom:1px solid var(--band-rule)}
.ent-ord-lb{margin:3px 0 0}
.ent-ord-t{margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--band-ink-2);text-wrap:pretty}
.ent-ord-link{color:var(--band-ink);font-weight:600;white-space:nowrap}
@media(max-width:899px){.ent-ord-row:last-child{border-bottom:0}.ent-ord-cap{display:none}}
@media(max-width:639px){.ent-ord-row{grid-template-columns:minmax(0,1fr);row-gap:8px}}


/* ==== inner pages: the page kit (components/.../enterprise/page) ==== */
/* Tailwind's reset gives <code> / <pre> its own system monospace: inside the page they take the page's font (Chivo Mono
   where a rule says so). Zero specificity, so any class wins. */
:where(.ent) code,:where(.ent) kbd,:where(.ent) samp,:where(.ent) pre{font-family:inherit}
.ent-display3{font-family:var(--sans);font-weight:600;letter-spacing:-0.03em;word-spacing:0.04em;font-size:49px;line-height:1.04;}
@media(max-width:1199px){.ent-display3{font-size:49px;line-height:1.04;}}
@media(max-width:899px){.ent-display3{font-size:39px;line-height:1.06;}}
@media(max-width:639px){.ent-display3{font-size:31px;line-height:1.1;}}
.ent-display3{text-wrap:balance}

/* ---- section: the chapter opener of an inner page. Paper sections have no padding above (the previous block's
        padding is the gap and the ink rule opens the chapter); a band has the same padding on both sides ---- */
.ent-ps{--pb:96px;padding-bottom:var(--pb)}
.ent-ps--md{--pb:64px}
.ent-ps--sm{--pb:32px}
@media(max-width:899px){.ent-ps{--pb:64px}.ent-ps--md{--pb:48px}.ent-ps--sm{--pb:24px}}
.ent-ps--tone{padding-top:var(--pb);scroll-margin-top:calc(72px - var(--pb))}
.ent-ps-h{margin:0}
.ent-ps-lead{margin:24px 0 0;max-width:58ch;text-wrap:pretty}
.ent-ps-lead--only{margin-top:0}
.ent-ps-body{margin-top:48px}
@media(max-width:899px){.ent-ps-body{margin-top:32px}}
.ent-ps-nonum{margin-top:0}
.ent-rail{position:sticky;top:88px}
@media(max-width:899px){.ent-rail{position:static;margin-bottom:24px}}

/* ---- page head: title block, h1, lead, actions ---- */
.ent-ph{padding-top:32px;padding-bottom:96px}
@media(max-width:899px){.ent-ph{padding-bottom:64px}}
@media(max-width:639px){.ent-ph{padding-bottom:48px}}
.ent-ph-top{margin-top:48px}
@media(max-width:639px){.ent-ph-top{margin-top:32px}}
.ent-ph-h1{margin:0;color:var(--ink);justify-self:start;width:fit-content;max-width:100%;overflow-wrap:break-word}
.ent-ph-row{margin-top:24px;row-gap:48px}
.ent-ph-lead{margin:0;max-width:36em;text-wrap:pretty}
.ent-ph-note{margin:16px 0 0;max-width:62ch}
/* dense: the head hands over to a working surface (a form), not to a chapter */
.ent-ph--dense{padding-bottom:48px}
@media(max-width:639px){.ent-ph--dense{padding-bottom:32px}}
/* a title-block value "A · B": each part is one atomic box, so it breaks between parts and wraps inside a part only when
   the part alone is wider than its cell (a nowrap span would spill out of it) */
.ent-tb-part{display:inline-block;max-width:100%}

/* a block set directly in a Section runs out to the guide lines */
.ent-bleed{margin-left:calc(var(--bleed) * -1);margin-right:calc(var(--bleed) * -1)}

/* ---- split and panel ---- */
.ent-split{row-gap:48px}
@media(min-width:900px){.ent-split-main{padding-right:16px}}
@media(min-width:900px){.ent-split-stick{position:sticky;top:88px}}
@media(max-width:899px){.ent-split--first .ent-split-side{order:-1}}
/* with a lead: lead and main are the left column (a paper ground takes the quarter guide out from behind the text), the
   side spans both rows; the main row absorbs the height difference, so the ground runs to the bottom of a taller side */
@media(min-width:900px){
  .ent-split--lead{row-gap:0;grid-template-rows:auto 1fr;align-items:start}
  .ent-split--lead>.ent-split-lead{grid-row:1;padding:0 16px 48px 0;background:var(--paper)}
  .ent-split--lead>.ent-split-side{grid-row:1 / span 2}
  .ent-split--lead>.ent-split-main{grid-row:2;align-self:stretch;background:var(--paper)}
}
.ent-pn{--btn-bg:var(--panel);background:var(--panel);border:1px solid var(--rule-1);border-top-color:var(--ink);border-radius:2px}
.ent-pn--white{--btn-bg:var(--white);background:var(--white)}
.ent-pn--bleed{margin:0 calc(var(--bleed) * -1)}
.ent-pn-hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;min-height:36px;padding:4px 16px;background:var(--paper-2);border-bottom:1px solid var(--rule-1)}
.ent-pn-t{margin:0;color:var(--ink)}
.ent-pn-m{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-pn-bd{padding:24px}
@media(max-width:639px){.ent-pn-bd{padding:16px}}

/* ---- ruled index: the Applications rows, with a quiet static form and a 20px title ---- */
.ent-ri-static:hover{background:none}
/* on a sunk section the row wash is the section's own ground (--row-hover is --paper-2): a link row steps up to paper there */
.ent-sunk .ent-idx-row:hover{background:var(--paper)}
.ent-sunk .ent-ri-static:hover{background:none}
.ent-ri-bare .ent-idx-id{grid-column:1/8}
.ent-ri--md .ent-idx-t{font-size:20px;line-height:1.25}
.ent-ri-meta{margin-top:8px}
@media(max-width:899px){.ent-ri-bare .ent-idx-id{grid-column:1/-1}}
/* wide: the index spans twelve columns (the rows above are drawn on nine, the content area of a side section): title on the
   left half, details from the centre line, the way on at the right; rows with no link are 88px at least, not 112 */
@media(min-width:900px){
  .ent-ri--wide .ent-idx-row{grid-template-columns:repeat(12,minmax(0,1fr))}
  .ent-ri--wide .ent-idx-id{grid-column:1/7}
  .ent-ri--wide .ent-idx-d{grid-column:7/11}
  .ent-ri--wide .ent-idx-go{grid-column:11/13;grid-row:auto;justify-self:end;margin-top:0;text-align:right}
  .ent-ri--wide .ent-ri-static{min-height:88px}
}
/* from 1200px the details stop on the 75% line instead of running through it */
@media(min-width:1200px){
  .ent-ri--wide .ent-idx-d{grid-column:7/10}
  .ent-ri--wide .ent-idx-go{grid-column:10/13}
}
/* a row with no link has no "way on" column: its details run to the right edge (after the 1200px rule, which it overrides) */
@media(min-width:900px){.ent-ri--wide .ent-ri-static .ent-idx-d{grid-column:7/13}}
.ent-ri--wide .ent-idx-desc{max-width:52ch}

/* ---- table ---- */
.ent-tbl-block{min-width:0}
.ent-tbl{width:calc(100% + var(--bleed) * 2);margin:0 calc(var(--bleed) * -1);table-layout:fixed;border-collapse:separate;border-spacing:0;background:var(--panel);border-left:1px solid var(--rule-1)}
.ent-tbl th,.ent-tbl td{padding:12px 16px;vertical-align:top;text-align:left;border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
@media(min-width:960px){.ent-tbl tr>:first-child{padding-left:11px}}
.ent-tbl thead th{padding-top:16px;padding-bottom:12px;vertical-align:bottom;border-top:1px solid var(--ink);font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3)}
.ent-tbl thead th.is-feat{border-top:2px solid var(--accent);color:var(--ink)}
.ent-tbl-corner--empty{padding:0}
.ent-tbl tbody th[scope="row"]{color:var(--ink);font-weight:600}
.ent-tbl-name{display:block}
.ent-tbl-v{min-width:0}
.ent-tbl tbody th small{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;font-weight:400;color:var(--ink-3)}
.ent-tbl td.is-mono{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);word-spacing:0}
.ent-tbl .is-end{text-align:right}
.ent-tbl td.is-feat,.ent-tbl thead th.is-feat{background:var(--white)}
.ent-tbl td.is-feat{color:var(--ink)}
.ent-tbl tr.is-row-feat>:first-child{border-left:2px solid var(--accent)}
.ent-tbl .ent-tbl-grp th{padding-top:24px;padding-bottom:12px;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink);background:var(--panel)}
.ent-tbl tbody tr:not(.ent-tbl-grp):hover>*{background:var(--row-hover)}
.ent-tbl tbody tr:not(.ent-tbl-grp):hover>.is-feat{background:var(--panel)}
.ent-tbl-note{margin:12px 0 0;max-width:80ch}
.ent-tbl-scroll{overflow-x:auto;margin:0 calc(var(--bleed) * -1)}
.ent-tbl-scroll .ent-tbl{margin:0;width:100%;min-width:640px}
.ent-tbl-scroll:focus-visible{outline-offset:-2px}

@media(max-width:899px){
  .ent-tbl--desktop thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ent-tbl--desktop,.ent-tbl--desktop tbody,.ent-tbl--desktop tr,.ent-tbl--desktop th,.ent-tbl--desktop td{display:block;width:100%}
  .ent-tbl--desktop{border-right:1px solid var(--rule-1)}
  .ent-tbl--desktop tr{border-bottom:1px solid var(--rule-1);padding:8px 0}
  .ent-tbl--desktop tbody:last-child tr:last-child{border-bottom:0}
  .ent-tbl--desktop th,.ent-tbl--desktop td{border:0 !important;padding:6px 16px}
  .ent-tbl--desktop tbody th[scope="row"]{padding-top:8px;font-size:16px}
  .ent-tbl--desktop td{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px}
  .ent-tbl--desktop td::before{content:attr(data-label);font-family:var(--sans);font-size:11px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
  .ent-tbl--desktop td.is-end{text-align:left}
  .ent-tbl--desktop tr.is-row-feat{border-left:2px solid var(--accent)}
  .ent-tbl--desktop .ent-tbl-grp{padding:0;border-bottom:0}
  .ent-tbl--desktop .ent-tbl-grp th{padding-top:24px;padding-bottom:8px;border-top:1px solid var(--rule-1) !important}
}

@media(max-width:639px){
  .ent-tbl--narrow thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .ent-tbl--narrow,.ent-tbl--narrow tbody,.ent-tbl--narrow tr,.ent-tbl--narrow th,.ent-tbl--narrow td{display:block;width:100%}
  .ent-tbl--narrow{border-right:1px solid var(--rule-1)}
  .ent-tbl--narrow tr{border-bottom:1px solid var(--rule-1);padding:8px 0}
  .ent-tbl--narrow tbody:last-child tr:last-child{border-bottom:0}
  .ent-tbl--narrow th,.ent-tbl--narrow td{border:0 !important;padding:6px 16px}
  .ent-tbl--narrow tbody th[scope="row"]{padding-top:8px;font-size:16px}
  .ent-tbl--narrow td{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px}
  .ent-tbl--narrow td::before{content:attr(data-label);font-family:var(--sans);font-size:11px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
  .ent-tbl--narrow td.is-end{text-align:left}
  .ent-tbl--narrow tr.is-row-feat{border-left:2px solid var(--accent)}
  .ent-tbl--narrow .ent-tbl-grp{padding:0;border-bottom:0}
  .ent-tbl--narrow .ent-tbl-grp th{padding-top:24px;padding-bottom:8px;border-top:1px solid var(--rule-1) !important}
}

/* ---- before / after ---- */
.ent-ba{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 calc(var(--bleed) * -1);border-top:1px solid var(--ink)}
.ent-ba-col{border:1px solid var(--rule-1);border-top:0;min-width:0}
.ent-ba-col--before{background:var(--paper-2)}
.ent-ba-col--after{background:var(--panel);margin-left:-1px}
.ent-ba-hd{margin:0;padding:24px 24px 12px;color:var(--ink)}
.ent-ba-list{list-style:none;margin:0;padding:0}
.ent-ba-li{display:grid;grid-template-columns:8px minmax(0,1fr);column-gap:16px;align-items:baseline;padding:16px 24px;border-top:1px solid var(--rule-1);font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-ba-col--after .ent-ba-li{color:var(--ink)}
.ent-ba-dash{text-align:center}
.ent-ba-sq{transform:translateY(-1px)}
@media(max-width:899px){
  .ent-ba{grid-template-columns:minmax(0,1fr)}
  .ent-ba-col--after{margin-left:0;margin-top:-1px}
}
@media(max-width:639px){.ent-ba-hd{padding:16px 16px 12px}.ent-ba-li{padding:16px}}

/* ---- field list: ruled cells that share their edges; fillers complete the last row of each layout ---- */
.ent-fl{--cols:3;list-style:none;margin:0 calc(var(--bleed) * -1);padding:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));background:var(--panel);border-top:1px solid var(--ink);border-left:1px solid var(--rule-1)}
.ent-fl--2{--cols:2}
.ent-fl--4{--cols:4}
.ent-fl-c{min-width:0;min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 16px;border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1)}
@media(min-width:960px){.ent-fl-c{padding-left:12px;padding-right:12px}}
.ent-fl-n{font-family:var(--mono);font-size:13px;line-height:1.5;color:var(--ink);word-spacing:0;overflow-wrap:anywhere}
.ent-fl-note{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-fl-fill--mid{display:none}
@media(max-width:959px){.ent-fl{--cols:2}.ent-fl-fill--wide{display:none}.ent-fl-fill--mid{display:block}}
@media(max-width:479px){.ent-fl{--cols:1}.ent-fl-fill--mid{display:none}}

/* ---- facts: ruled columns on the guide lines, a big value in each ---- */
.ent-facts{--n:4;list-style:none;margin:0 calc(var(--bleed) * -1);padding:0 var(--bleed);display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));column-gap:24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-1)}
.ent-facts--3{--n:3}
.ent-facts-c{position:relative;min-width:0;padding:24px 0 32px}
.ent-facts-hd{margin:0;display:flex;align-items:baseline;gap:8px}
.ent-facts-n{font-family:var(--mono);font-size:13px;line-height:1.3;letter-spacing:0;font-weight:400;word-spacing:0;font-stretch:100%;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.ent-facts-v{margin:24px 0 0;color:var(--ink)}
.ent-facts-b{margin:12px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:30ch;text-wrap:pretty}
@media(max-width:1099px){.ent-facts-v{font-size:25px}}
/* below 960px there are no guides to stand in for the cell rules: two columns with their own rule, then a stacked list */
@media(max-width:959px){
  .ent-facts{--n:2}
  .ent-facts-c:nth-child(even)::before{content:"";position:absolute;left:-13px;top:0;bottom:0;border-left:1px solid var(--rule-1)}
}
@media(max-width:899px){
  .ent-facts{--n:1;padding:0}
  .ent-facts-c{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:baseline;padding:16px 0 20px}
  .ent-facts-c::before{display:none}
  .ent-facts-hd{grid-column:1}
  .ent-facts-v{grid-column:2;margin:0;font-size:25px}
  .ent-facts-b{grid-column:1/-1;margin-top:8px;max-width:none}
}
@media(max-width:359px){.ent-facts-c{grid-template-columns:104px minmax(0,1fr)}}

/* ---- prose: long-form text ---- */
.ent-prose{position:relative;max-width:68ch;background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.625;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);text-wrap:pretty;overflow-wrap:break-word}
.ent-prose>:first-child{margin-top:0}
.ent-prose>:last-child{margin-bottom:0}
.ent-prose p{margin:16px 0}
.ent-prose h2,.ent-prose h3,.ent-prose h4{color:var(--ink);text-wrap:balance;scroll-margin-top:80px}
.ent-prose h2{margin:64px 0 16px;font-family:var(--sans);font-size:31px;line-height:1.12;letter-spacing:-0.03em;font-weight:600;word-spacing:0.03em}
.ent-prose h3{margin:48px 0 12px;font-family:var(--sans);font-size:25px;line-height:1.2;letter-spacing:-0.02em;font-weight:600;}
.ent-prose h4{margin:32px 0 8px;font-family:var(--sans);font-size:20px;line-height:1.25;letter-spacing:-0.02em;font-weight:600;word-spacing:.08em;}
.ent-prose a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-prose a:hover{text-decoration-color:var(--ink)}
.ent-prose a:active{text-decoration-thickness:2px}
.ent-prose strong,.ent-prose b,.ent-prose em,.ent-prose i{font-style:normal;font-weight:600;color:var(--ink)}
.ent-prose ul,.ent-prose ol{margin:16px 0;padding-left:24px}
.ent-prose ul{list-style:square}
.ent-prose ol{list-style:decimal}
.ent-prose li{margin:8px 0;padding-left:4px}
.ent-prose li::marker{color:var(--ink)}
.ent-prose ol>li::marker{font-family:var(--mono);font-size:13px;color:var(--ink-3)}
.ent-prose li>ul,.ent-prose li>ol,.ent-prose li>p{margin:8px 0}
.ent-prose blockquote{margin:32px 0;padding:0 0 0 24px;border-left:2px solid var(--ink);font-family:var(--sans);font-size:20px;line-height:1.5;letter-spacing:-0.005em;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-prose blockquote p{margin:8px 0}
.ent-prose blockquote cite,.ent-prose blockquote footer{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;font-style:normal;font-weight:400;color:var(--ink-3)}
.ent-prose hr{margin:48px 0;border:0;border-top:1px solid var(--rule-1)}
.ent-prose :not(pre)>code,.ent-prose kbd{font-family:var(--mono);font-size:13px;word-spacing:0;padding:1px 5px;border-radius:2px;background:var(--paper-2);color:var(--ink)}
.ent-prose pre:not(.ent-ls-code){margin:24px 0;padding:16px 24px;overflow-x:auto;background:var(--panel);border:1px solid var(--rule-1);border-radius:2px;font-family:var(--mono);font-size:13px;line-height:1.7;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink)}
.ent-prose table:not(.ent-tbl){width:100%;margin:32px 0;border-collapse:separate;border-spacing:0;border-top:1px solid var(--ink)}
.ent-prose table:not(.ent-tbl) th,.ent-prose table:not(.ent-tbl) td{padding:12px 16px 12px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule-1);font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-prose table:not(.ent-tbl) th{font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink-3);vertical-align:bottom}
.ent-prose figure{margin:32px 0}
.ent-prose figcaption{margin-top:8px;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-prose img{display:block;max-width:100%;height:auto;border:1px solid var(--rule-1);border-radius:2px}
.ent-prose .ent-scroll{overflow-x:auto;margin:32px 0}
.ent-prose .ent-scroll>table{margin:0;min-width:520px}

/* in a Section the reading column is six of the nine columns: its edges are the quarter lines, less half a gutter each side;
   the paper ground takes the centre guide out from behind the text */
@media(min-width:900px){.ent-ps .ent-prose{max-width:min(68ch,calc(66.667% - 8px))}}

/* ---- callout, toc ---- */
.ent-co{margin:32px 0;padding:16px 24px;background:var(--panel);border:1px solid var(--rule-1);border-left:2px solid var(--ink);border-radius:2px}
.ent-co--key{border-left-color:var(--accent)}
.ent-co-t{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.ent-co-l{color:var(--ink)}
.ent-co-b{font-family:var(--sans);font-size:16px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-co-b>:first-child{margin-top:0}
.ent-co-b>:last-child{margin-bottom:0}
.ent-toc-t{margin:0 0 12px}
.ent-toc-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ent-toc-a{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:baseline;min-height:44px;padding:10px 4px;border-bottom:1px solid var(--rule-1);font-family:var(--sans);font-size:14px;line-height:1.35;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-toc-a:hover{background:var(--row-hover);color:var(--ink)}
.ent-toc-n{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}

/* ---- closing band ---- */
.ent-cb{padding:96px 0 64px}
@media(max-width:899px){.ent-cb{padding:64px 0 48px}}
@media(max-width:639px){.ent-cb{padding:48px 0 48px}}
.ent-cb-g{row-gap:48px;align-items:start}
.ent-cb-h{margin:0;text-wrap:balance}
.ent-cb-lead{margin:24px 0 0;max-width:34ch;text-wrap:pretty}
.ent-cb-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:32px}
.ent-cb-btns{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:639px){.ent-cb-btns{flex-direction:column;width:100%}}
.ent-cb-note{margin:0}
/* the chapter rule is the top border of the rows: no second rule 16px below it */
.ent-cb .ent-ord-side{margin-top:-16px}
.ent-cb .ent-ord-rows{border-top:0}

/* ---- faq: the home's accordion, with or without an index column ---- */
.ent-faq--plain .ent-acc-btn{grid-template-columns:minmax(0,1fr) 11px}
.ent-faq--plain .ent-acc-item{--ai:var(--bleed)}
.ent-acc-a>:first-child{margin-top:0}
.ent-acc-a>p{margin:8px 0}
.ent-acc-a>p:only-child{margin:0}
.ent-acc-a>:last-child{margin-bottom:0}

/* ---- code on paper: the home's listing, one step lighter ---- */
.ent-ls--paper{background:var(--panel);border-color:var(--rule-1)}
.ent-ls--paper .ent-ls-hd{background:var(--paper-2);border-bottom-color:var(--rule-1);color:var(--ink-2)}
.ent-ls--paper .ent-ls-lang{color:var(--ink-3)}
.ent-ls--paper .ent-ls-gut{background:var(--panel);border-right-color:var(--rule-1);color:var(--ink-3)}
.ent-ls--paper .ent-ls-code{color:var(--ink)}
.ent-ls--paper .ent-copy{color:var(--ink);border-left-color:var(--rule-1)}
.ent-ls--paper .ent-copy:hover{background:var(--ink);color:var(--paper)}
.ent-ls--paper .ent-copy:active{background:var(--black);color:var(--paper)}
.ent-ls--paper .ent-j-key,.ent-ls--paper .ent-j-punct,.ent-ls--paper .ent-sh-punct,.ent-ls--paper .ent-sh-prompt,.ent-ls--paper .ent-sh-com{color:var(--ink-3)}
.ent-ls--paper .ent-j-str,.ent-ls--paper .ent-sh-str,.ent-ls--paper .ent-sh-url,.ent-ls--paper .ent-sh-cmd{color:var(--ink)}
.ent-ls--paper .ent-sh-flag{color:var(--ink-2)}
.ent-ls--paper .ent-j-num,.ent-ls--paper .ent-sh-var{color:var(--accent)}

/* a scrollable block that takes the keyboard (see Prose): the ring goes inside its edge */
.ent-prose pre:focus-visible,.ent-prose .ent-scroll:focus-visible{outline-offset:-2px}

/* ---- tabs ---- */
.ent-tabs-bar{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule-1)}
.ent-tabs-bar--sticky{position:sticky;top:56px;z-index:5;background:var(--paper)}
.ent-tabs-list{display:flex;overflow-x:auto;scrollbar-width:thin}
.ent-tab{position:relative;flex:none;min-height:48px;padding:0 24px;border:0;border-radius:0;background:transparent;color:var(--ink-2);font-family:var(--sans);font-size:14px;line-height:1;letter-spacing:0;font-weight:600;word-spacing:.08em;white-space:nowrap}
.ent-tab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}
.ent-tab[aria-selected="true"]{color:var(--ink)}
.ent-tab[aria-selected="true"]::after{background:var(--ink)}
@media(hover:hover){.ent-tab:hover{background:var(--row-hover);color:var(--ink)}}
.ent-tabs-panel{padding-top:24px}
.ent-tabs-panel[hidden]{display:none}
.ent-tabs-panel>:first-child{margin-top:0}

/* ---- steps ---- */
.ent-steps{list-style:none;margin:0 calc(var(--bleed) * -1);padding:0;border-top:1px solid var(--ink)}
.ent-step{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:24px var(--bleed) 32px;border-bottom:1px solid var(--rule-1)}
@media(max-width:479px){.ent-step{grid-template-columns:32px minmax(0,1fr)}}
.ent-step-n{font-family:var(--mono);font-size:13px;line-height:1.3;letter-spacing:0;font-weight:400;word-spacing:0;font-weight:500;color:var(--ink-3);padding-top:6px}
.ent-step-c{min-width:0}
.ent-step-t{margin:0;color:var(--ink);text-wrap:balance}
.ent-step-b{display:grid;gap:16px;margin-top:16px}
.ent-step-b>p{margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.ent-step-b p code{font-family:var(--mono);font-size:13px;word-spacing:0;padding:1px 5px;border-radius:2px;background:var(--paper-2);color:var(--ink)}
.ent-step-b>.ent-ls{margin:0}
@media(max-width:639px){.ent-step{grid-template-columns:40px minmax(0,1fr);column-gap:8px}}

/* ---- pager ---- */
.ent-pager{margin-top:48px}
.ent-pager-l{list-style:none;margin:0 calc(var(--bleed) * -1);padding:0;display:flex;flex-wrap:wrap;border-top:1px solid var(--ink);border-left:1px solid var(--rule-1)}
.ent-pager-a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 16px;border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);background:var(--panel);font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-2)}
.ent-pager-a--step{font-family:var(--sans);font-size:14px;line-height:1;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pager-a:hover{background:var(--row-hover);color:var(--ink)}
.ent-pager-a.is-current{background:var(--ink);color:var(--paper)}
.ent-pager-a>.ent-pager-back{transform:rotate(180deg)}
/* on a phone the Newer / Older cells keep their arrow and give up the word (it stays in the accessible name) */
@media(max-width:479px){.ent-pager-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ent-pager-a--step{padding:0 14px}}
.ent-pager-a:hover>.ent-pager-back{transform:rotate(180deg) translateX(3px)}

/* ---- forms ---- */
.ent-form{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ent-form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
/* two-up from 640px, and only where the form itself is at least 424px wide (two fields of 200px and the gutter): a
   half-width panel just above 900px is not, and its fields stack. The form is the container; without container queries
   (Firefox before 110) the fields simply stack */
.ent-form{container-type:inline-size}
@media(min-width:640px){@container (min-width:424px){.ent-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}}
/* one flexible, shrinkable track: the default implicit track is auto, so a control's intrinsic width (an input's ~216px)
   would widen it past its column and the two-up rows would spill out of the panel */
.ent-fld{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;min-width:0}
.ent-fld-l{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;font-family:var(--sans);font-size:13px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-fld-opt{font-weight:400;color:var(--ink-3)}
.ent-fld-hint{margin:0;max-width:62ch;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-fld-err{margin:0;display:flex;gap:10px;align-items:baseline;max-width:62ch;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-fld-err .ent-sq{transform:translateY(-1px)}
.ent-input--sans{font-family:var(--sans);font-size:16px}
.ent-input::placeholder,.ent-textarea::placeholder{color:var(--ink-3);opacity:1}
.ent-input:disabled{color:var(--ink-3);cursor:default}
.ent-field[data-disabled]{background:var(--paper-2);border-color:var(--rule-1)}
.ent-field[data-invalid]{border-color:var(--ink)}
.ent-field[data-invalid],.ent-field[data-invalid]:focus-within{border-left:2px solid var(--accent)}
.ent-field[data-invalid] .ent-input{padding-left:11px}
.ent-select{appearance:none;-webkit-appearance:none;padding:0 40px 0 12px;border-radius:4px;cursor:pointer;text-overflow:ellipsis;color:var(--ink)}
.ent-select-caret{position:absolute;right:14px;top:50%;margin-top:-3px;pointer-events:none;color:var(--ink)}
.ent-textarea{display:block;width:100%;min-height:112px;padding:10px 12px;resize:vertical;font-family:var(--sans);font-size:16px;line-height:1.5;word-spacing:0;color:var(--ink);background:var(--panel);border:1px solid var(--rule-2);border-radius:4px}
.ent-textarea:hover{border-color:var(--ink-3)}
.ent .ent-textarea:focus-visible{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.ent-textarea[data-invalid]{border-color:var(--ink)}
.ent-textarea[data-invalid],.ent .ent-textarea[data-invalid]:focus-visible{border-left:2px solid var(--accent);padding-left:11px}
.ent-textarea:disabled{background:var(--paper-2);border-color:var(--rule-1);color:var(--ink-3)}
.ent-fset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:24px}
.ent-fset-l{padding:0;margin:0 0 24px;font-family:var(--sans);font-size:12px;line-height:1.3;letter-spacing:0.07em;font-weight:600;word-spacing:.08em;font-stretch:75%;text-transform:uppercase;color:var(--ink)}

.ent-opt-wrap{display:grid;gap:4px}
.ent-opt{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-opt input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:1px solid var(--rule-2);border-radius:2px;background-color:var(--panel);background-repeat:no-repeat;background-position:center;cursor:pointer}
.ent-opt input:hover{border-color:var(--ink-3)}
.ent-opt input:disabled{background-color:var(--paper-2);border-color:var(--rule-1);cursor:default}
.ent-opt input[type="checkbox"]:checked{border-color:var(--ink);background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 6.8' fill='none' stroke='%23f4f4f0' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E")}
.ent-opt input[type="radio"]:checked{border-color:var(--ink);background-image:linear-gradient(var(--ink),var(--ink));background-size:10px 10px}
.ent-opt input[data-invalid]{border-left:2px solid var(--accent)}
.ent .ent-opt input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ent-opt-t{min-width:0;padding-top:1px}
.ent-opt-t small{display:block;margin-top:2px;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-opt-msg{padding-left:32px}
.ent-rg{min-width:0;margin:0;padding:0;border:0}
.ent-rg>.ent-fld-l{padding:0;margin-bottom:8px}
.ent-rg>.ent-fld-err,.ent-rg>.ent-fld-hint{margin-top:8px}
.ent-rg--inline .ent-rg-list{display:flex;flex-wrap:wrap;gap:0 24px}
.ent-opt--row{padding:12px 16px;margin-top:-1px;background:var(--panel);border:1px solid var(--rule-1)}
.ent-rg-list .ent-opt--row:first-child{margin-top:0;border-top-color:var(--ink)}
.ent-opt--row:has(input:checked){background:var(--white);border-left:2px solid var(--ink);padding-left:15px}
@media(hover:hover){.ent-opt--row:hover{background:var(--row-hover)}.ent-opt--row:has(input:checked):hover{background:var(--white)}}

.ent-fs-live:empty{display:none}
.ent-fs-msg{display:grid;grid-template-columns:8px minmax(0,1fr);column-gap:12px;padding:16px;background:var(--panel);border:1px solid var(--rule-1);border-left:2px solid var(--ink);border-radius:2px}
.ent-fs-msg--error{border-left-color:var(--accent)}
.ent-fs-msg>.ent-sq{margin-top:7px}
.ent-fs-t{margin:0;font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-fs-b{margin:0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-fs-t+.ent-fs-b{margin-top:4px}
.ent-fs-issues{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;}
.ent-fs-msg:focus{outline:none}
.ent-fs-msg:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ent-captcha{min-width:0}
.ent-captcha .turnstile-container{margin:0 !important}
.ent-captcha .turnstile-loading{background:var(--paper-2) !important;border:1px solid var(--rule-1) !important;border-radius:4px !important}
.ent-captcha .turnstile-loading>div{display:none}
@media(max-width:389px){.ent-captcha .turnstile-container{zoom:.94}}
@media(max-width:359px){.ent-captcha .turnstile-container{zoom:.84}}
.ent-btn[aria-disabled="true"]{cursor:progress}
.ent-btn--primary[aria-busy="true"]{background:var(--accent-active)}
.ent-btn--secondary[aria-busy="true"]{background:var(--paper-2)}

/* ---- touch targets, motion, forced colours ---- */
@media(max-width:899px),(pointer:coarse){
  .ent-fs-issues a{display:inline-flex;align-items:center;min-height:44px;padding:0}
  .ent-opt input{width:24px;height:24px}
}
@media(prefers-reduced-motion:no-preference){
  .ent-tab,.ent-toc-a,.ent-pager-a,.ent-textarea,.ent-opt input,.ent-opt--row{transition:color 120ms ease-out,background-color 120ms ease-out,border-color 120ms ease-out}
  .ent-tbl th,.ent-tbl td{transition:background-color 160ms ease-out}
}
@media(forced-colors:active){
  .ent-opt input{appearance:auto;-webkit-appearance:auto}
  .ent-tab[aria-selected="true"]::after{background:Highlight}
  .ent-co,.ent-fs-msg{border-left-color:CanvasText}
  .ent-co--key,.ent-fs-msg--error,.ent-field[data-invalid]{border-left-color:Highlight}
  .ent-ba-sq{background:CanvasText}
}



/* ---- playground: the test bench. Input and output share ONE ink frame (they share their middle edge); the rating
        and offer rows under them share the frame's edges and the same 4 | 8 split. The chapter sits on the sunk band,
        so every control lives on the panel step. ---- */
.ent-pg-lead{margin:24px 0 0;max-width:58ch}
.ent-pg-note{margin:16px 0 0;max-width:66ch}
.ent-pgw{margin-top:48px}
.ent-pg-bench{--btn-bg:var(--panel);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);margin:0 calc(var(--bleed) * -1);background:var(--panel);border:1px solid var(--ink);border-radius:2px}
@media(max-width:899px){.ent-pg-bench{grid-template-columns:minmax(0,1fr)}}
.ent-pg-pane{display:flex;flex-direction:column;min-width:0}
.ent-pg-in{border-right:1px solid var(--rule-1)}
.ent-pg-hd{min-height:36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;padding:4px 16px;background:var(--paper-2);border-bottom:1px solid var(--rule-1);font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-2)}
.ent-pg-hd .ent-label{color:var(--ink)}
.ent-pg-hd-r{color:var(--ink-3);text-align:right}

/* the drop zone: a dashed 1px rule while it waits for a file, a solid one while it works */
.ent-pg-zone{flex:1 1 auto;display:flex;margin:24px 24px 0;min-height:264px;border:1px dashed var(--rule-2);border-radius:2px;background:var(--panel)}
@media(max-width:639px){.ent-pg-zone{margin:16px 16px 0;min-height:0}}
.ent-pg-zone[data-phase="idle"],.ent-pg-zone[data-phase="dragging"]{cursor:pointer}
.ent-pg-zone[data-phase="idle"][data-over="false"]:hover{border-color:var(--ink-3)}
/* once a file is in play the zone is just the pane's text (no card); a file dragged over it draws the solid ink edge again */
.ent-pg-zone[data-solid="true"]{border-color:transparent}
.ent-pg-zone[data-over="true"]{border-style:solid;border-color:var(--ink);background:var(--white)}
.ent-pg-zin{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;min-width:0;padding:24px}
@media(max-width:639px){.ent-pg-zin{padding:16px}}
.ent-pg-zt{margin:0;font-family:var(--sans);font-size:20px;line-height:1.25;letter-spacing:-0.02em;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pg-zs{margin:8px 0 24px;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);max-width:30ch}
.ent-pg-file{margin:8px 0 0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink);overflow-wrap:anywhere;max-width:100%}
.ent-pg-meta{margin:4px 0 0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-pg-msg{display:flex;gap:10px;align-items:baseline;margin:16px 0 24px;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-pg-msg .ent-sq{transform:translateY(-1px)}
.ent-pg-act{display:flex;flex-wrap:wrap;gap:12px;padding-top:24px;width:100%}
.ent-pg-zin>.ent-pg-act:first-child{margin-top:0;padding-top:0}
.ent-pg-steps{list-style:none;margin:24px 0 0;padding:0;width:100%;border-top:1px solid var(--rule-1)}
.ent-pg-step{display:flex;align-items:center;gap:12px;min-height:36px;border-bottom:1px solid var(--rule-1);font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pg-step i{width:8px;height:8px;flex:none;border:1px solid var(--rule-2)}
.ent-pg-step[data-s="done"]{color:var(--ink-2)}
.ent-pg-step[data-s="done"] i{background:var(--ink);border-color:var(--ink)}
.ent-pg-step[data-s="now"]{color:var(--ink);font-weight:600}
.ent-pg-step[data-s="now"] i{background:var(--accent);border-color:var(--accent)}
.ent-pg-prog{width:100%;height:4px;margin-top:24px;background:var(--rule-1)}
.ent-pg-prog i{display:block;height:100%;background:var(--ink);transform:scaleX(var(--p,0));transform-origin:left center}
.ent-pg-time{margin:8px 0 0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-pg-specs{margin:24px 0 0;border-top:1px solid var(--rule-1)}
.ent-pg-spec{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:16px;align-items:baseline;margin:0;padding:10px 16px;border-bottom:1px solid var(--rule-1)}
.ent-pg-spec:last-child{border-bottom:0}
.ent-pg-spec dt{font-family:var(--sans);font-size:13px;line-height:1.1;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pg-spec dd{margin:0;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink);overflow-wrap:anywhere}
.ent-pg-captcha{padding:0 16px}
.ent-pg-captcha:empty{display:none}
.ent-pg-captcha .turnstile-container{margin:0 !important}
.ent-pg-captcha:has(iframe){padding-top:8px;padding-bottom:8px}
/* the shared widget centres itself and loads behind a shimmering skeleton: left-aligned here, and a flat placeholder */
.ent-pg-box .turnstile-container{margin:0 !important}
.ent-pg-box .turnstile-loading{background:var(--paper-2) !important;border:1px solid var(--rule-1) !important;border-radius:4px !important}
.ent-pg-box .turnstile-loading>div{display:none}
/* the widget is 300px wide: on the narrowest phones it is scaled to sit inside the pane and the dialog */
@media(max-width:359px){
  .ent-pg-captcha{padding-left:8px;padding-right:8px}
  .ent-pg-captcha .turnstile-container,.ent-pg-box .turnstile-container{zoom:.88}
}

/* one column: the input pane dissolves into the bench, so the drop zone is followed at once by the result and its
   export buttons (the reason for the visit) and the spec list closes the bench instead of standing between them */
@media(max-width:899px){
  .ent-pg-in{display:contents}
  .ent-pg-zone{margin-bottom:24px}
  .ent-pg-out{order:1;border-top:1px solid var(--rule-1);scroll-margin-top:72px}
  .ent-pg-row{order:2}
  .ent-pg-specs{order:3;margin-top:0}
}

/* the output pane */
.ent-pg-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:12px 16px;border-bottom:1px solid var(--rule-1)}
.ent-pg-exports{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:639px){
  .ent-pg-exports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .ent-pg-exports>:first-child,.ent-pg-exports>:nth-child(2):last-child{grid-column:1/-1}
  .ent-pg-exports .ent-btn{width:100%}
}
.ent-pg-lock{margin:0;padding:10px 16px;border-bottom:1px solid var(--rule-1);font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pg-lock strong{display:inline-block;max-width:100%;vertical-align:bottom;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.ent-pg-link{margin-left:8px;padding:0;border:0;background:none;font:inherit;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--rule-2)}
.ent-pg-link:hover{text-decoration-color:var(--ink)}
.ent-pg-link:active{text-decoration-thickness:2px}
/* 44px to hit, without making the sentence it sits in taller */
@media(max-width:899px),(pointer:coarse){.ent-pg-link{display:inline-block;padding:13px 8px;margin:-13px -8px -13px 0}}
.ent-pg-view{position:relative;display:flex;flex-direction:column;height:440px}
.ent-pg-scroll{flex:1 1 auto;min-height:0;overflow:auto;background:var(--panel)}
/* one column: the page scrolls, so the window is short (it scrolls inside only for long tables) and fits its content */
@media(max-width:899px){.ent-pg-view{height:auto}.ent-pg-scroll{flex:0 1 auto;max-height:320px}}
/* locked: the table can be read but not selected, so Ctrl+A, a drag into Excel or Ctrl+C anywhere carries nothing away */
.ent-pg-scroll[data-locked="true"]{-webkit-user-select:none;user-select:none}
.ent .ent-pg-scroll:focus-visible{outline-offset:-2px}
/* the sticky header and row numbers would cover an inset outline: draw the ring on top, from the wrapper */
@supports selector(:has(a)){
  .ent .ent-pg-scroll:focus-visible{outline:none}
  .ent-pg-view:has(.ent-pg-scroll:focus-visible)::after{content:"";position:absolute;inset:0;z-index:5;border:2px solid var(--ink);pointer-events:none}
}
.ent-pg-more{margin:0;padding:10px 16px;border-top:1px solid var(--rule-1);font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pg-grid{border-collapse:separate;border-spacing:0;min-width:100%;font-family:var(--sans)}
.ent-pg-grid th,.ent-pg-grid td{height:36px;max-width:280px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);background:var(--panel)}
.ent-pg-grid td{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-pg-grid td.is-num{font-family:var(--mono);font-size:13px;line-height:1.6;letter-spacing:0;font-weight:400;word-spacing:0;text-align:right}
.ent-pg-grid th.is-num{text-align:right}
.ent-pg-grid tbody tr:hover>td{background:var(--row-hover)}
.ent-pg-grid thead th{position:sticky;z-index:2;background:var(--paper-2)}
.ent-pg-grid .ent-pg-ltr th{top:0;height:24px;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3)}
.ent-pg-grid .ent-pg-fld th{top:24px;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:0;font-weight:600;word-spacing:0;color:var(--ink)}
.ent-pg-grid .ent-pg-rn{position:sticky;left:0;z-index:1;width:48px;min-width:48px;padding:0 8px;text-align:right;font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;color:var(--ink-3);background:var(--paper-2)}
.ent-pg-grid thead .ent-pg-rn{z-index:3}
.ent-pg-code{display:grid;grid-template-columns:40px minmax(0,1fr);align-content:start;padding:12px 0;font-family:var(--mono);font-size:13px;line-height:1.7;letter-spacing:0;font-weight:400;word-spacing:0;line-height:22px}
.ent-pg-gut{position:sticky;left:0;z-index:1;background:var(--panel);border-right:1px solid var(--rule-1);padding-right:12px;text-align:right;color:var(--ink-3);user-select:none}
.ent-pg-gut span,.ent-pg-code .ent-ls-l{display:block;min-height:22px}
.ent-pg-code pre{margin:0;padding:0 24px 0 16px;font:inherit;white-space:pre;color:var(--ink)}
.ent-pg-code .ent-j-num{font-weight:500}
@media(max-width:639px){.ent-pg-code{font-size:12px}}
.ent-pg-empty{padding:24px 16px 16px}
.ent-pg-empty p{margin:0}
.ent-pg-empty-t{font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pg-empty-b{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3);margin-top:4px !important;max-width:52ch}
.ent-pg-ghost{flex:1 1 0px;min-height:0;display:grid;grid-template-columns:48px repeat(5,minmax(0,1fr));align-content:start;margin-top:8px;border-top:1px solid var(--rule-1);overflow:hidden}
.ent-pg-ghost i{display:block;height:36px;border-right:1px solid var(--rule-1);border-bottom:1px solid var(--rule-1);font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:0;font-weight:400;word-spacing:0;font-style:normal;line-height:36px;padding:0 8px;color:var(--ink-3)}
.ent-pg-ghost i.h{height:24px;line-height:24px;background:var(--paper-2)}
.ent-pg-ghost i.n{text-align:right;background:var(--paper-2)}
@media(max-width:899px){.ent-pg-ghost{display:none}.ent-pg-empty{padding-bottom:24px}}

/* the two rows under the panes */
.ent-pg-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;border-top:1px solid var(--rule-1);background:var(--panel)}
.ent-pg-row>*{padding:16px}
@media(max-width:899px){.ent-pg-row{grid-template-columns:minmax(0,1fr)}.ent-pg-row>*+*{padding-top:0}}
.ent-pg-row .ent-cap{margin:0}
.ent-pg-row-s{margin:4px 0 0;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
.ent-pg-offer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}
.ent-pg-offer-t{margin:0;font-family:var(--sans);font-size:16px;line-height:1.3;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pg-offer-b{margin:4px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2);max-width:52ch}
.ent-pg-stars{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}
.ent-pg-star-set{display:flex;margin-left:-8px}
.ent-pg-star{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink-3)}
.ent-pg-star:hover:not(:disabled){background:var(--row-hover)}
.ent-pg-star:active:not(:disabled){background:var(--paper-2)}
.ent-pg-star:disabled{cursor:default}
.ent-pg-star svg{fill:none}
.ent-pg-star[data-on="true"]{color:var(--ink)}
.ent-pg-star[data-on="true"] svg{fill:currentColor}
@media(max-width:899px),(pointer:coarse){.ent-pg-star{width:44px;height:44px}.ent-pg-star-set{margin-left:-12px}}
.ent-pg-star-l{font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:600;word-spacing:.08em;color:var(--ink);min-height:20px}
.ent-pg-cm{display:grid;gap:8px;margin-top:16px;max-width:560px}
.ent-pg-ta{display:block;width:100%;min-height:72px;padding:10px 12px;resize:vertical;font-family:var(--sans);font-size:16px;line-height:1.4;color:var(--ink);background:var(--panel);border:1px solid var(--rule-2);border-radius:4px}
.ent-pg-ta:hover{border-color:var(--ink-3)}
.ent-pg-ta:focus-visible{border-color:var(--ink)}
.ent-pg-thanks{margin:16px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-pg-thanks:focus{outline:none}

/* the e-mail dialog: one ruled panel on a flat scrim, no shadow */
.ent-pg-dlg{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(19,19,17,.62);--btn-bg:var(--panel)}
.ent-pg-box{width:100%;max-width:456px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--panel);border:1px solid var(--ink);border-radius:2px}
.ent-pg-box-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;padding:0 0 0 16px;background:var(--paper-2);border-bottom:1px solid var(--rule-1)}
.ent-pg-box-hd .ent-label{color:var(--ink)}
.ent-pg-x{align-self:stretch;min-width:72px;padding:0 16px;border:0;border-left:1px solid var(--rule-1);border-radius:0;background:transparent;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:-0.005em;word-spacing:0;color:var(--ink)}
.ent-pg-x:hover{background:var(--ink);color:var(--paper)}
.ent-pg-x:active{background:var(--black);color:var(--paper)}
.ent .ent-pg-x:focus-visible{outline-offset:-2px}
.ent-pg-box-bd{padding:24px}
.ent-pg-box-t{margin:0;font-family:var(--sans);font-size:20px;line-height:1.25;letter-spacing:-0.02em;font-weight:600;word-spacing:.08em;color:var(--ink)}
.ent-pg-box-s{margin:8px 0 0;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-pg-box form{display:grid;gap:16px;margin-top:24px}
.ent-pg-box .ent-input{font-family:var(--sans);font-size:16px;padding-left:12px}
.ent-pg-box .ent-input::placeholder{color:var(--ink-3);opacity:1}
.ent-pg-box-err{margin:0;display:flex;gap:10px;align-items:baseline;font-family:var(--sans);font-size:14px;line-height:1.45;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink)}
.ent-pg-box-err .ent-sq{transform:translateY(-1px)}
.ent-pg-box-act{display:flex;flex-wrap:wrap;gap:12px}
.ent-pg-box-wait{margin:0;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-2)}
.ent-pg-box-fine{margin:0;font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:0;font-weight:400;word-spacing:.08em;color:var(--ink-3)}
@media(max-width:639px){
  .ent-pg-dlg{align-items:flex-end;padding:0}
  .ent-pg-box{max-width:none;max-height:100dvh;border-width:1px 0 0}
  .ent-pg-box-act{flex-direction:column}
  .ent-pg-box-act .ent-btn{width:100%}
}
@media(max-width:339px){.ent-pg-box-bd{padding-left:10px;padding-right:10px}}

.ent .ent-sec:focus,.ent .ent-sec:focus-visible{outline:none}

/* ---- touch: 40-44px targets on narrow screens and coarse pointers, same look ---- */
@media(max-width:899px),(pointer:coarse){
  .ent-btn--sm,.ent-seg button{height:40px}
  .ent-copy,.ent-pg-x{min-height:44px}
  .ent-alink{min-height:44px}
  .ent-dh-link{min-height:44px}
  .ent-pg{display:flex;align-items:center;width:fit-content;min-height:44px}
}

/* ---- motion: everything below only applies when motion is allowed ---- */
@media(prefers-reduced-motion:no-preference){
  .ent-btn,.ent-link,.ent-alink,.ent-seg button,.ent-field,.ent-copy,.ent-idx-row,.ent-idx-t,.ent-idx-go span,.ent-acc-btn,.ent-pg-star,.ent-pg-x,.ent-pg-link,.ent-pg-zone,.ent-pg-ta{
    transition:color 120ms ease-out,background-color 120ms ease-out,border-color 120ms ease-out,text-decoration-color 120ms ease-out}
  .ent-pt th,.ent-pt td{transition:background-color 160ms ease-out}
  .ent-acc-btn,.ent-acc-item{transition:background-color 120ms ease-out}
  .ent-acc-i::after{transition:transform 160ms ease-out}
  .ent-acc-p{transition:grid-template-rows 200ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 200ms}
  .ent-acc-item.is-open .ent-acc-p{transition:grid-template-rows 200ms cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}
  .ent-arrow{transition:transform 120ms ease-out}
  a:hover>.ent-arrow,button:hover>.ent-arrow,.ent-alink:hover .ent-arrow,.ent-idx-row:hover .ent-arrow{transform:translateX(3px)}
  @keyframes ent-fade{from{opacity:0}to{opacity:1}}
  .ent-pg-dlg,.ent-film-dlg[open]{animation:ent-fade 160ms ease-out both}
  .ent-fig-play,.ent-fpin .ent-mk,.ent-fig-key-n{transition:background-color 120ms ease-out,border-color 120ms ease-out}
  .ent-fig-open:hover .ent-arrow{transform:translateX(3px)}
  .ent-rv{animation:ent-fade 200ms ease-out both;animation-delay:var(--d,0ms)}
  [data-reveal="armed"] .ent-grow-x{transform:scaleX(0)}
  [data-reveal="in"] .ent-grow-x{transform:scaleX(1);transition:transform 700ms cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 80ms)}
  [data-reveal="in"] .ent-minibar.ent-grow-x{transition:transform 500ms cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 60ms)}
}
@media (prefers-reduced-motion:reduce){
  .ent *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}

/* ---- forced colours (Windows High Contrast): shapes drawn as backgrounds map to system colours ---- */
@media(forced-colors:active){
  .ent-minibar,.ent-cr li::before,.ent-sq,.ent-bus,.ent-port-ln,.ent-acc-i::before,.ent-acc-i::after,.ent-pg-prog i,.ent-pg-step[data-s="done"] i{background:CanvasText}
  .ent-pg-step[data-s="now"] i{background:Highlight}
  .ent-pg-dlg{background:rgba(0,0,0,.6)}
  .ent-sq--accent,.ent-limit-line,.ent-mk,.ent-fig-play,.ent-fpin::before{background:Highlight}
  .ent-guides-lines i,.ent-scale-pin{background:GrayText}
  .ent-mk{color:HighlightText}
  .ent-btn{border-color:ButtonText}
  .ent-fig-hl{outline-color:Highlight}
  .ent-gl{border-left-color:GrayText}
  .ent-minibar--open::after{border-color:CanvasText}
}


/* the comparison table: four text columns, so the cell text is the dense 14px of the kit and a price keeps its figure whole */
.cmp-tbl .ent-tbl td{overflow-wrap:break-word}
.cmp-tbl .ent-tbl-name{text-wrap:balance}
/* the notes under the table sit on a paper ground, so a quarter guide does not run through the text */
.cmp-tbl .ent-tbl-note{max-width:74ch;padding-right:16px;background:var(--paper);position:relative}

/* inline links in the table and in its notes: the box stays the height of the text, the tap area grows to 44px on touch */
@media(max-width:899px),(pointer:coarse){.cmp-tbl .ent-link{padding:15px 0;margin:-15px 0}}

/* "where each path fits": short names and a sentence each, so the name takes three columns and the text starts on the
   centre line (the kit's wider name column would leave a gap after "Manual entry"). From 1100px the link label has the two
   columns at the right; below, as in the kit, it sits under the text. */
@media(min-width:900px){
  .cmp-fit .ent-idx-id{grid-column:1/4}
  .cmp-fit .ent-idx-d{grid-column:4/10}
  .cmp-fit .ent-idx-desc{max-width:52ch}
  .cmp-fit .ent-idx-go{grid-column:4/10}
}
@media(min-width:1100px){
  .cmp-fit .ent-idx-d{grid-column:4/8}
  .cmp-fit .ent-idx-go{grid-column:8/10}
}

/* go.parserai.co: o que o page kit do parser-website não cobre (vendor/*.css é cópia, não editar lá). */

/* o nav da LP não tem os menus do site: logo à esquerda, Sign in + Start free à direita */
.ent-nav-logo{grid-column:1/4}

/* a linha "In Parser" sob cada item do capítulo 02 */
.ent-ri-meta .ent-idx-fl{margin-right:8px}

/* a nota de marca registrada no rodapé fica no tom das legendas da faixa escura */
.ent-foot-brand .ent-foot-tag{color:var(--band-ink-3)}
