/* GENERATED by scripts/build-corpus-css.mjs. Do not edit by hand.
   Source: blogs-repo/assets/blog.css, every selector namespaced under
   .corpus-body, plus src/_corpus/corpus-overrides.css appended.
   Regenerate after any change to either input. */

.corpus-body *, .corpus-body :after, .corpus-body :before{--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:rgba(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: }.corpus-body ::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:rgba(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: }.corpus-body /*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*, .corpus-body :after, .corpus-body :before{box-sizing:border-box;border:0 solid #e5e7eb}.corpus-body :after, .corpus-body :before{--tw-content:""}.corpus-body :host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}margin:0;line-height:inherit}.corpus-body hr{height:0;color:inherit;border-top-width:1px}.corpus-body abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.corpus-body h1, .corpus-body h2, .corpus-body h3, .corpus-body h4, .corpus-body h5, .corpus-body h6{font-size:inherit;font-weight:inherit}.corpus-body a{color:inherit;text-decoration:inherit}.corpus-body b, .corpus-body strong{font-weight:bolder}.corpus-body code, .corpus-body kbd, .corpus-body pre, .corpus-body samp{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}.corpus-body small{font-size:80%}.corpus-body sub, .corpus-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.corpus-body sub{bottom:-.25em}.corpus-body sup{top:-.5em}.corpus-body table{text-indent:0;border-color:inherit;border-collapse:collapse}.corpus-body button, .corpus-body input, .corpus-body optgroup, .corpus-body select, .corpus-body 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}.corpus-body button, .corpus-body select{text-transform:none}.corpus-body button, .corpus-body input:where([type=button]), .corpus-body input:where([type=reset]), .corpus-body input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}.corpus-body :-moz-focusring{outline:auto}.corpus-body :-moz-ui-invalid{box-shadow:none}.corpus-body progress{vertical-align:baseline}.corpus-body ::-webkit-inner-spin-button, .corpus-body ::-webkit-outer-spin-button{height:auto}.corpus-body [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.corpus-body ::-webkit-search-decoration{-webkit-appearance:none}.corpus-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.corpus-body summary{display:list-item}.corpus-body blockquote, .corpus-body dd, .corpus-body dl, .corpus-body figure, .corpus-body h1, .corpus-body h2, .corpus-body h3, .corpus-body h4, .corpus-body h5, .corpus-body h6, .corpus-body hr, .corpus-body p, .corpus-body pre{margin:0}.corpus-body fieldset{margin:0}.corpus-body fieldset, .corpus-body legend{padding:0}.corpus-body menu, .corpus-body ol, .corpus-body ul{list-style:none;margin:0;padding:0}.corpus-body dialog{padding:0}.corpus-body textarea{resize:vertical}.corpus-body input::-moz-placeholder, .corpus-body textarea::-moz-placeholder{opacity:1;color:#9ca3af}.corpus-body input::placeholder, .corpus-body textarea::placeholder{opacity:1;color:#9ca3af}.corpus-body [role=button], .corpus-body button{cursor:pointer}.corpus-body :disabled{cursor:default}.corpus-body audio, .corpus-body canvas, .corpus-body embed, .corpus-body iframe, .corpus-body img, .corpus-body object, .corpus-body svg, .corpus-body video{display:block;vertical-align:middle}.corpus-body img, .corpus-body video{max-width:100%;height:auto}.corpus-body [hidden]:where(:not([hidden=until-found])){display:none}scroll-behavior:smooth}--tw-bg-opacity:1;background-color:rgb(245 240 232/var(--tw-bg-opacity,1));font-family:Inter,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","liga","calt"}.corpus-body ::-moz-selection{background-color:rgba(111,163,122,.3);--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body ::selection{background-color:rgba(111,163,122,.3);--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body h1, .corpus-body h2, .corpus-body h3, .corpus-body h4{font-family:Space Grotesk,system-ui,sans-serif;color:rgb(16 22 26/var(--tw-text-opacity,1));text-wrap:balance}.corpus-body a, .corpus-body h1, .corpus-body h2, .corpus-body h3, .corpus-body h4{--tw-text-opacity:1}.corpus-body a{color:rgb(63 107 84/var(--tw-text-opacity,1));text-decoration-line:underline;text-decoration-color:rgba(63,107,84,.3);text-underline-offset:2px}.corpus-body a:hover{text-decoration-color:#3f6b54}.corpus-body .container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.corpus-body .wrap{margin-left:auto;margin-right:auto;max-width:72rem;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:768px){.wrap{padding-left:2rem;padding-right:2rem}}.corpus-body .eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.corpus-body .skip-link:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;position:fixed;top:.75rem;left:.75rem;z-index:50;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(63 107 84/var(--tw-bg-opacity,1));padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));text-decoration-line:none}.corpus-body .blog-prose{font-size:1.05rem;line-height:1.75;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}.corpus-body .blog-prose>*+*{margin-top:1.25rem}.corpus-body .blog-prose h2{margin-top:3rem;margin-bottom:.25rem;scroll-margin-top:6rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.5rem;line-height:2rem;line-height:1.25;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}@media (min-width:768px){.blog-prose h2{font-size:1.875rem;line-height:2.25rem}}.corpus-body .blog-prose h3{margin-top:2.25rem;margin-bottom:.25rem;scroll-margin-top:6rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.25rem;line-height:1.75rem;line-height:1.375;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}@media (min-width:768px){.blog-prose h3{font-size:1.5rem;line-height:2rem}}.corpus-body .blog-prose p{--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}.corpus-body .blog-prose strong{font-weight:600;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .blog-prose .serif, .corpus-body .blog-prose em.serif{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-style:normal;font-style:italic}.corpus-body .blog-prose .serif, .corpus-body .blog-prose a, .corpus-body .blog-prose em.serif{--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .blog-prose a{font-weight:500;text-decoration-line:underline;text-decoration-color:rgba(63,107,84,.4);text-underline-offset:2px}.corpus-body .blog-prose ul{list-style-type:disc}.corpus-body .blog-prose ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.corpus-body .blog-prose ul{padding-left:1.5rem}.corpus-body .blog-prose ul ::marker{color:#6fa37a}.corpus-body .blog-prose ul::marker{color:#6fa37a}.corpus-body .blog-prose ol{list-style-type:decimal}.corpus-body .blog-prose ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.corpus-body .blog-prose ol{padding-left:1.5rem}.corpus-body .blog-prose ol ::marker{font-weight:600;color:#3f6b54}.corpus-body .blog-prose ol::marker{font-weight:600;color:#3f6b54}.corpus-body .blog-prose li{padding-left:.25rem}.corpus-body .blog-prose blockquote{margin-top:1.75rem;margin-bottom:1.75rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-left-width:4px;--tw-border-opacity:1;border-color:rgb(111 163 122/var(--tw-border-opacity,1));background-color:hsla(38,37%,90%,.6);padding-top:.25rem;padding-bottom:.25rem;padding-left:1.25rem;font-family:"Instrument Serif",Georgia,serif;font-size:1.25rem;line-height:1.75rem;font-style:italic;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .blog-prose code{border-radius:.25rem;background-color:rgb(239 232 220/var(--tw-bg-opacity,1));padding:.125rem .375rem;font-size:.85em;color:rgb(36 69 58/var(--tw-text-opacity,1))}.corpus-body .blog-prose code, .corpus-body .blog-prose pre{--tw-bg-opacity:1;font-family:JetBrains Mono,ui-monospace,monospace;--tw-text-opacity:1}.corpus-body .blog-prose pre{margin-top:1.5rem;margin-bottom:1.5rem;overflow-x:auto;border-radius:.75rem;background-color:rgb(16 22 26/var(--tw-bg-opacity,1));padding:1rem;font-size:.875rem;line-height:1.25rem;color:rgb(245 240 232/var(--tw-text-opacity,1))}.corpus-body .blog-prose pre code{background-color:transparent;padding:0;color:inherit}.corpus-body .blog-prose table{margin-top:1.75rem;margin-bottom:1.75rem;width:100%;border-collapse:collapse;text-align:left;font-size:.95rem}.corpus-body .blog-prose thead{border-bottom-width:2px;border-color:rgba(63,107,84,.4)}.corpus-body .blog-prose th{vertical-align:bottom;font-family:Space Grotesk,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .blog-prose td, .corpus-body .blog-prose th{padding-top:.625rem;padding-bottom:.625rem;padding-right:1rem}.corpus-body .blog-prose td{border-bottom-width:1px;border-color:rgba(42,53,57,.1);vertical-align:top}.corpus-body .blog-prose img{margin-top:1.75rem;margin-bottom:1.75rem;height:auto;width:100%;border-radius:.75rem}.corpus-body .blog-prose hr{margin-top:2.5rem;margin-bottom:2.5rem;border-color:rgba(42,53,57,.1)}.corpus-body .answer-box{margin-top:1.75rem;margin-bottom:1.75rem;border-radius:1rem;border-width:1px;border-color:rgba(111,163,122,.3);--tw-bg-opacity:1;background-color:rgb(232 240 234/var(--tw-bg-opacity,1));padding:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}@media (min-width:768px){.answer-box{padding:1.5rem}}.corpus-body .answer-box .eyebrow{margin-bottom:.5rem;display:block}.corpus-body .faq{border-bottom-width:1px;border-color:rgba(42,53,57,.1)}.corpus-body .faq>summary{display:flex;cursor:pointer;list-style-type:none;align-items:flex-start;justify-content:space-between;gap:1rem;padding-top:1rem;padding-bottom:1rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:1.125rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .faq>summary::-webkit-details-marker{display:none}.corpus-body .faq>summary:after{content:"+";flex-shrink:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:1.5rem;line-height:2rem;line-height:1;--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1));transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .faq[open]>summary:after{content:"\2212"}.corpus-body .faq>div{margin-top:-.25rem;padding-bottom:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}.corpus-body .card{display:block;border-radius:1rem;border-width:1px;border-color:rgba(42,53,57,.1);background-color:hsla(0,0%,100%,.6);padding:1.25rem;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .card:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:rgba(111,163,122,.5);background-color:hsla(0,0%,100%,.9)}.corpus-body .pill{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;border-width:1px;border-color:rgba(111,163,122,.2);--tw-bg-opacity:1;background-color:rgb(232 240 234/var(--tw-bg-opacity,1));padding:.25rem .625rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.025em;--tw-text-opacity:1;color:rgb(36 69 58/var(--tw-text-opacity,1));text-decoration-line:none}.corpus-body .byline{align-items:flex-start;gap:.75rem;--tw-text-opacity:1;color:rgb(42 53 57/var(--tw-text-opacity,1))}.corpus-body .byline, .corpus-body .byline__avatar{display:flex;font-size:.875rem;line-height:1.25rem}.corpus-body .byline__avatar{height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgb(63 107 84/var(--tw-bg-opacity,1));font-family:Space Grotesk,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.corpus-body .byline__avatar-link{flex-shrink:0;text-decoration-line:none}.corpus-body .byline__avatar-link:hover .byline__avatar{--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);--tw-ring-color:rgba(111,163,122,.4)}.corpus-body .byline__name{--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1));text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .byline__name:hover{--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .byline__badges{margin-top:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.corpus-body .badge{display:inline-flex;align-items:center;border-radius:9999px;border-width:1px;border-color:rgba(42,53,57,.2);background-color:hsla(0,0%,100%,.6);padding:.05rem .5rem;font-family:Space Grotesk,system-ui,sans-serif;font-size:.68rem;font-weight:600;line-height:1.25rem;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}.corpus-body .badge--office{border-color:rgba(111,163,122,.3);--tw-bg-opacity:1;background-color:rgb(232 240 234/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(36 69 58/var(--tw-text-opacity,1))}.corpus-body .site-header{position:sticky;top:0;z-index:30;border-bottom-width:1px;border-color:rgba(42,53,57,.1);background-color:hsla(37,39%,94%,.9);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.corpus-body .nav-link{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1));text-decoration-line:none}.corpus-body .nav-link:hover{--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .blog-footer{position:relative;margin-top:6rem;overflow:hidden;--tw-bg-opacity:1;background-color:rgb(15 23 19/var(--tw-bg-opacity,1));color:hsla(0,0%,100%,.7)}.corpus-body .blog-footer a{color:hsla(0,0%,100%,.7);text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .blog-footer a:hover, .corpus-body .footer-eyebrow{--tw-text-opacity:1;color:rgb(111 163 122/var(--tw-text-opacity,1))}.corpus-body .footer-eyebrow{margin-bottom:1rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em}.corpus-body .footer-col a{display:block;padding-top:.2rem;padding-bottom:.2rem;font-size:.9rem;line-height:1.375}.corpus-body .footer-social-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;border-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.55);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .footer-social-icon:hover{border-color:rgba(111,163,122,.5);background-color:rgba(36,69,58,.4);--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.corpus-body .footer-legal a:hover, .corpus-body .footer-legal button:hover{--tw-text-opacity:1;color:rgb(111 163 122/var(--tw-text-opacity,1))}.corpus-body .blog-footer a.gpref{display:inline-flex;align-items:center;gap:.625rem;border-radius:9999px;border-width:1px;border-color:rgba(0,0,0,.05);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;text-decoration:none}.corpus-body .blog-footer a.gpref, .corpus-body .blog-footer a.gpref:hover{color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .blog-footer a.gpref:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity:1;box-shadow:0 6px 20px rgba(0,0,0,.22)}.corpus-body .gpref__g{display:inline-flex;flex-shrink:0}.corpus-body .footer-wordmark, .corpus-body .gpref__t strong{font-weight:700}.corpus-body .footer-wordmark{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:center;font-family:Space Grotesk,system-ui,sans-serif;line-height:.85;font-size:clamp(38px,13vw,240px);white-space:nowrap;letter-spacing:-.045em;background:linear-gradient(180deg,rgba(111,163,122,.3),rgba(111,163,122,.03));-webkit-background-clip:text;background-clip:text;color:transparent}.corpus-body .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}.corpus-body .pointer-events-none{pointer-events:none}.corpus-body .visible{visibility:visible}.corpus-body .invisible{visibility:hidden}.corpus-body .collapse{visibility:collapse}.corpus-body .static{position:static}.corpus-body .fixed{position:fixed}.corpus-body .absolute{position:absolute}.corpus-body .relative{position:relative}.corpus-body .sticky{position:sticky}.corpus-body .-top-24{top:-6rem}.corpus-body .bottom-32{bottom:8rem}.corpus-body .left-1\/4{left:25%}.corpus-body .right-1\/4{right:25%}.corpus-body .right-16{right:4rem}.corpus-body .top-10{top:2.5rem}.corpus-body .top-20{top:5rem}.corpus-body .isolate{isolation:isolate}.corpus-body .col-span-1{grid-column:span 1/span 1}.corpus-body .col-span-2{grid-column:span 2/span 2}.corpus-body .m-0{margin:0}.corpus-body .mx-auto{margin-left:auto;margin-right:auto}.corpus-body .my-8{margin-top:2rem;margin-bottom:2rem}.corpus-body .mb-1{margin-bottom:.25rem}.corpus-body .mb-2{margin-bottom:.5rem}.corpus-body .mb-2\.5{margin-bottom:.625rem}.corpus-body .mb-3{margin-bottom:.75rem}.corpus-body .mb-4{margin-bottom:1rem}.corpus-body .mb-5{margin-bottom:1.25rem}.corpus-body .mb-6{margin-bottom:1.5rem}.corpus-body .ml-2{margin-left:.5rem}.corpus-body .mr-1{margin-right:.25rem}.corpus-body .mt-0\.5{margin-top:.125rem}.corpus-body .mt-1{margin-top:.25rem}.corpus-body .mt-1\.5{margin-top:.375rem}.corpus-body .mt-10{margin-top:2.5rem}.corpus-body .mt-12{margin-top:3rem}.corpus-body .mt-14{margin-top:3.5rem}.corpus-body .mt-2{margin-top:.5rem}.corpus-body .mt-2\.5{margin-top:.625rem}.corpus-body .mt-3{margin-top:.75rem}.corpus-body .mt-4{margin-top:1rem}.corpus-body .mt-5{margin-top:1.25rem}.corpus-body .mt-6{margin-top:1.5rem}.corpus-body .mt-7{margin-top:1.75rem}.corpus-body .mt-8{margin-top:2rem}.corpus-body .block{display:block}.corpus-body .inline-block{display:inline-block}.corpus-body .inline{display:inline}.corpus-body .flex{display:flex}.corpus-body .inline-flex{display:inline-flex}.corpus-body .table{display:table}.corpus-body .grid{display:grid}.corpus-body .contents{display:contents}.corpus-body .hidden{display:none}.corpus-body .size-8{width:2rem;height:2rem}.corpus-body .h-10{height:2.5rem}.corpus-body .h-11{height:2.75rem}.corpus-body .h-12{height:3rem}.corpus-body .h-16{height:4rem}.corpus-body .h-3\.5{height:.875rem}.corpus-body .h-4{height:1rem}.corpus-body .h-5{height:1.25rem}.corpus-body .h-6{height:1.5rem}.corpus-body .h-8{height:2rem}.corpus-body .h-9{height:2.25rem}.corpus-body .h-\[300px\]{height:300px}.corpus-body .h-\[420px\]{height:420px}.corpus-body .h-full{height:100%}.corpus-body .w-10{width:2.5rem}.corpus-body .w-11{width:2.75rem}.corpus-body .w-12{width:3rem}.corpus-body .w-3\.5{width:.875rem}.corpus-body .w-32{width:8rem}.corpus-body .w-4{width:1rem}.corpus-body .w-5{width:1.25rem}.corpus-body .w-6{width:1.5rem}.corpus-body .w-8{width:2rem}.corpus-body .w-9{width:2.25rem}.corpus-body .w-\[300px\]{width:300px}.corpus-body .w-\[420px\]{width:420px}.corpus-body .w-full{width:100%}.corpus-body .min-w-0{min-width:0}.corpus-body .max-w-2xl{max-width:42rem}.corpus-body .max-w-3xl{max-width:48rem}.corpus-body .max-w-4xl{max-width:56rem}.corpus-body .max-w-\[200px\]{max-width:200px}.corpus-body .max-w-lg{max-width:32rem}.corpus-body .max-w-md{max-width:28rem}.corpus-body .max-w-prose{max-width:46rem}.corpus-body .max-w-xl{max-width:36rem}.corpus-body .max-w-xs{max-width:20rem}.corpus-body .flex-1{flex:1 1 0%}.corpus-body .flex-shrink-0{flex-shrink:0}.corpus-body .shrink{flex-shrink:1}.corpus-body .shrink-0{flex-shrink:0}.corpus-body .grow{flex-grow:1}.corpus-body .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.corpus-body .resize{resize:both}.corpus-body .list-none{list-style-type:none}.corpus-body .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.corpus-body .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.corpus-body .flex-col{flex-direction:column}.corpus-body .flex-wrap{flex-wrap:wrap}.corpus-body .items-start{align-items:flex-start}.corpus-body .items-end{align-items:flex-end}.corpus-body .items-center{align-items:center}.corpus-body .items-baseline{align-items:baseline}.corpus-body .justify-center{justify-content:center}.corpus-body .justify-between{justify-content:space-between}.corpus-body .gap-1\.5{gap:.375rem}.corpus-body .gap-10{gap:2.5rem}.corpus-body .gap-2{gap:.5rem}.corpus-body .gap-2\.5{gap:.625rem}.corpus-body .gap-3{gap:.75rem}.corpus-body .gap-4{gap:1rem}.corpus-body .gap-6{gap:1.5rem}.corpus-body .gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.corpus-body .gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.corpus-body .gap-y-10{row-gap:2.5rem}.corpus-body .gap-y-6{row-gap:1.5rem}.corpus-body .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.corpus-body .space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.corpus-body .space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.875rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem*var(--tw-space-y-reverse))}.corpus-body .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.corpus-body .overflow-hidden{overflow:hidden}.corpus-body .overflow-x-auto{overflow-x:auto}.corpus-body .truncate{overflow:hidden;text-overflow:ellipsis}.corpus-body .truncate, .corpus-body .whitespace-nowrap{white-space:nowrap}.corpus-body .rounded{border-radius:.25rem}.corpus-body .rounded-2xl{border-radius:1rem}.corpus-body .rounded-3xl{border-radius:1.5rem}.corpus-body .rounded-full{border-radius:9999px}.corpus-body .rounded-lg{border-radius:.5rem}.corpus-body .rounded-xl{border-radius:.75rem}.corpus-body .border{border-width:1px}.corpus-body .border-b{border-bottom-width:1px}.corpus-body .border-t{border-top-width:1px}.corpus-body .border-amber-100{--tw-border-opacity:1;border-color:rgb(245 212 165/var(--tw-border-opacity,1))}.corpus-body .border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.corpus-body .border-amber-500{--tw-border-opacity:1;border-color:rgb(205 138 75/var(--tw-border-opacity,1))}.corpus-body .border-amber-500\/30{border-color:rgba(205,138,75,.3)}.corpus-body .border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.corpus-body .border-amber-700{--tw-border-opacity:1;border-color:rgb(122 68 35/var(--tw-border-opacity,1))}.corpus-body .border-ink-300\/10{border-color:rgba(42,53,57,.1)}.corpus-body .border-ink-300\/15{border-color:rgba(42,53,57,.15)}.corpus-body .border-ink-300\/20{border-color:rgba(42,53,57,.2)}.corpus-body .border-ink-300\/25{border-color:rgba(42,53,57,.25)}.corpus-body .border-moss-100{--tw-border-opacity:1;border-color:rgb(201 223 208/var(--tw-border-opacity,1))}.corpus-body .border-moss-300{--tw-border-opacity:1;border-color:rgb(161 196 171/var(--tw-border-opacity,1))}.corpus-body .border-moss-500{--tw-border-opacity:1;border-color:rgb(111 163 122/var(--tw-border-opacity,1))}.corpus-body .border-moss-500\/20{border-color:rgba(111,163,122,.2)}.corpus-body .border-moss-500\/25{border-color:rgba(111,163,122,.25)}.corpus-body .border-moss-500\/30{border-color:rgba(111,163,122,.3)}.corpus-body .border-moss-500\/40{border-color:rgba(111,163,122,.4)}.corpus-body .border-moss-600{--tw-border-opacity:1;border-color:rgb(63 107 84/var(--tw-border-opacity,1))}.corpus-body .border-moss-700{--tw-border-opacity:1;border-color:rgb(36 69 58/var(--tw-border-opacity,1))}.corpus-body .border-paper\/40{border-color:hsla(37,39%,94%,.4)}.corpus-body .border-white\/10{border-color:hsla(0,0%,100%,.1)}.corpus-body .bg-amber-100{--tw-bg-opacity:1;background-color:rgb(245 212 165/var(--tw-bg-opacity,1))}.corpus-body .bg-amber-100\/25{background-color:hsla(35,80%,80%,.25)}.corpus-body .bg-amber-100\/30{background-color:hsla(35,80%,80%,.3)}.corpus-body .bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.corpus-body .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(205 138 75/var(--tw-bg-opacity,1))}.corpus-body .bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.corpus-body .bg-amber-700{--tw-bg-opacity:1;background-color:rgb(122 68 35/var(--tw-bg-opacity,1))}.corpus-body .bg-amber-700\/10{background-color:rgba(122,68,35,.1)}.corpus-body .bg-moss-100{--tw-bg-opacity:1;background-color:rgb(201 223 208/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-300{--tw-bg-opacity:1;background-color:rgb(161 196 171/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-50{--tw-bg-opacity:1;background-color:rgb(232 240 234/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-50\/60{background-color:rgba(232,240,234,.6)}.corpus-body .bg-moss-500{--tw-bg-opacity:1;background-color:rgb(111 163 122/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-500\/10{background-color:rgba(111,163,122,.1)}.corpus-body .bg-moss-600{--tw-bg-opacity:1;background-color:rgb(63 107 84/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-700{--tw-bg-opacity:1;background-color:rgb(36 69 58/var(--tw-bg-opacity,1))}.corpus-body .bg-moss-700\/25{background-color:rgba(36,69,58,.25)}.corpus-body .bg-moss-700\/60{background-color:rgba(36,69,58,.6)}.corpus-body .bg-paper{--tw-bg-opacity:1;background-color:rgb(245 240 232/var(--tw-bg-opacity,1))}.corpus-body .bg-paper-soft\/40{background-color:hsla(38,37%,90%,.4)}.corpus-body .bg-paper-soft\/70{background-color:hsla(38,37%,90%,.7)}.corpus-body .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.corpus-body .bg-white\/50{background-color:hsla(0,0%,100%,.5)}.corpus-body .bg-white\/55{background-color:hsla(0,0%,100%,.55)}.corpus-body .bg-white\/60{background-color:hsla(0,0%,100%,.6)}.corpus-body .bg-white\/70{background-color:hsla(0,0%,100%,.7)}.corpus-body .bg-white\/80{background-color:hsla(0,0%,100%,.8)}.corpus-body .bg-white\/90{background-color:hsla(0,0%,100%,.9)}.corpus-body .object-contain{-o-object-fit:contain;object-fit:contain}.corpus-body .p-0{padding:0}.corpus-body .p-1\.5{padding:.375rem}.corpus-body .p-3\.5{padding:.875rem}.corpus-body .p-4{padding:1rem}.corpus-body .p-5{padding:1.25rem}.corpus-body .p-6{padding:1.5rem}.corpus-body .p-7{padding:1.75rem}.corpus-body .p-8{padding:2rem}.corpus-body .px-1\.5{padding-left:.375rem;padding-right:.375rem}.corpus-body .px-3\.5{padding-left:.875rem;padding-right:.875rem}.corpus-body .px-4{padding-left:1rem;padding-right:1rem}.corpus-body .px-5{padding-left:1.25rem;padding-right:1.25rem}.corpus-body .px-6{padding-left:1.5rem;padding-right:1.5rem}.corpus-body .px-7{padding-left:1.75rem;padding-right:1.75rem}.corpus-body .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.corpus-body .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.corpus-body .py-10{padding-top:2.5rem;padding-bottom:2.5rem}.corpus-body .py-12{padding-top:3rem;padding-bottom:3rem}.corpus-body .py-16{padding-top:4rem;padding-bottom:4rem}.corpus-body .py-2{padding-top:.5rem;padding-bottom:.5rem}.corpus-body .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.corpus-body .py-20{padding-top:5rem;padding-bottom:5rem}.corpus-body .py-3{padding-top:.75rem;padding-bottom:.75rem}.corpus-body .py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.corpus-body .py-4{padding-top:1rem;padding-bottom:1rem}.corpus-body .py-6{padding-top:1.5rem;padding-bottom:1.5rem}.corpus-body .py-8{padding-top:2rem;padding-bottom:2rem}.corpus-body .pb-1{padding-bottom:.25rem}.corpus-body .pb-10{padding-bottom:2.5rem}.corpus-body .pb-14{padding-bottom:3.5rem}.corpus-body .pb-20{padding-bottom:5rem}.corpus-body .pb-4{padding-bottom:1rem}.corpus-body .pb-8{padding-bottom:2rem}.corpus-body .pb-9{padding-bottom:2.25rem}.corpus-body .pl-3\.5{padding-left:.875rem}.corpus-body .pr-4{padding-right:1rem}.corpus-body .pt-10{padding-top:2.5rem}.corpus-body .pt-14{padding-top:3.5rem}.corpus-body .pt-5{padding-top:1.25rem}.corpus-body .text-center{text-align:center}.corpus-body .font-heading{font-family:Space Grotesk,system-ui,sans-serif}.corpus-body .font-mono{font-family:JetBrains Mono,ui-monospace,monospace}.corpus-body .font-serif{font-family:"Instrument Serif",Georgia,serif}.corpus-body .text-2xl{font-size:1.5rem;line-height:2rem}.corpus-body .text-3xl{font-size:1.875rem;line-height:2.25rem}.corpus-body .text-4xl{font-size:2.25rem;line-height:2.5rem}.corpus-body .text-\[0\.7rem\]{font-size:.7rem}.corpus-body .text-\[0\.95rem\]{font-size:.95rem}.corpus-body .text-\[9px\]{font-size:9px}.corpus-body .text-base{font-size:1rem;line-height:1.5rem}.corpus-body .text-lg{font-size:1.125rem;line-height:1.75rem}.corpus-body .text-sm{font-size:.875rem;line-height:1.25rem}.corpus-body .text-xl{font-size:1.25rem;line-height:1.75rem}.corpus-body .text-xs{font-size:.75rem;line-height:1rem}.corpus-body .font-bold{font-weight:700}.corpus-body .font-medium{font-weight:500}.corpus-body .font-normal{font-weight:400}.corpus-body .font-semibold{font-weight:600}.corpus-body .uppercase{text-transform:uppercase}.corpus-body .normal-case{text-transform:none}.corpus-body .italic{font-style:italic}.corpus-body .leading-\[0\.95\]{line-height:.95}.corpus-body .leading-\[1\.05\]{line-height:1.05}.corpus-body .leading-\[1\.1\]{line-height:1.1}.corpus-body .leading-none{line-height:1}.corpus-body .leading-relaxed{line-height:1.625}.corpus-body .leading-snug{line-height:1.375}.corpus-body .leading-tight{line-height:1.25}.corpus-body .tracking-\[0\.14em\]{letter-spacing:.14em}.corpus-body .tracking-normal{letter-spacing:0}.corpus-body .tracking-wide{letter-spacing:.025em}.corpus-body .text-amber-100{--tw-text-opacity:1;color:rgb(245 212 165/var(--tw-text-opacity,1))}.corpus-body .text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.corpus-body .text-amber-500{--tw-text-opacity:1;color:rgb(205 138 75/var(--tw-text-opacity,1))}.corpus-body .text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.corpus-body .text-amber-700{--tw-text-opacity:1;color:rgb(122 68 35/var(--tw-text-opacity,1))}.corpus-body .text-ink-100{--tw-text-opacity:1;color:rgb(16 22 26/var(--tw-text-opacity,1))}.corpus-body .text-ink-200{--tw-text-opacity:1;color:rgb(26 35 39/var(--tw-text-opacity,1))}.corpus-body .text-ink-300{--tw-text-opacity:1;color:rgb(42 53 57/var(--tw-text-opacity,1))}.corpus-body .text-moss-100{--tw-text-opacity:1;color:rgb(201 223 208/var(--tw-text-opacity,1))}.corpus-body .text-moss-300{--tw-text-opacity:1;color:rgb(161 196 171/var(--tw-text-opacity,1))}.corpus-body .text-moss-500{--tw-text-opacity:1;color:rgb(111 163 122/var(--tw-text-opacity,1))}.corpus-body .text-moss-600{--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .text-moss-700{--tw-text-opacity:1;color:rgb(36 69 58/var(--tw-text-opacity,1))}.corpus-body .text-paper{--tw-text-opacity:1;color:rgb(245 240 232/var(--tw-text-opacity,1))}.corpus-body .text-paper\/85{color:hsla(37,39%,94%,.85)}.corpus-body .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.corpus-body .text-white\/45{color:hsla(0,0%,100%,.45)}.corpus-body .text-white\/50{color:hsla(0,0%,100%,.5)}.corpus-body .text-white\/60{color:hsla(0,0%,100%,.6)}.corpus-body .underline{text-decoration-line:underline}.corpus-body .no-underline{text-decoration-line:none}.corpus-body .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(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)}.corpus-body .outline-none{outline:2px solid transparent;outline-offset:2px}.corpus-body .outline{outline-style:solid}.corpus-body .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)}.corpus-body .ring, .corpus-body .ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.corpus-body .ring-2{--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)}.corpus-body .ring-moss-500\/50{--tw-ring-color:rgba(111,163,122,.5)}.corpus-body .blur{--tw-blur:blur(8px)}.corpus-body .blur, .corpus-body .blur-3xl{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)}.corpus-body .blur-3xl{--tw-blur:blur(64px)}.corpus-body .invert{--tw-invert:invert(100%)}.corpus-body .filter, .corpus-body .invert{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)}.corpus-body .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.corpus-body .hover\:border-moss-500:hover{--tw-border-opacity:1;border-color:rgb(111 163 122/var(--tw-border-opacity,1))}.corpus-body .hover\:bg-moss-50:hover{--tw-bg-opacity:1;background-color:rgb(232 240 234/var(--tw-bg-opacity,1))}.corpus-body .hover\:bg-moss-500:hover{--tw-bg-opacity:1;background-color:rgb(111 163 122/var(--tw-bg-opacity,1))}.corpus-body .hover\:bg-moss-600:hover{--tw-bg-opacity:1;background-color:rgb(63 107 84/var(--tw-bg-opacity,1))}.corpus-body .hover\:bg-paper\/10:hover{background-color:hsla(37,39%,94%,.1)}.corpus-body .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.corpus-body .hover\:text-moss-500:hover{--tw-text-opacity:1;color:rgb(111 163 122/var(--tw-text-opacity,1))}.corpus-body .hover\:text-moss-600:hover{--tw-text-opacity:1;color:rgb(63 107 84/var(--tw-text-opacity,1))}.corpus-body .focus\:w-56:focus{width:14rem}.corpus-body .focus\:border-moss-500:focus{--tw-border-opacity:1;border-color:rgb(111 163 122/var(--tw-border-opacity,1))}@media (min-width:640px){.sm\:inline{display:inline}.corpus-body .sm\:hidden{display:none}.corpus-body .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.corpus-body .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.corpus-body .sm\:gap-5{gap:1.25rem}.corpus-body .sm\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.corpus-body .md\:col-span-4{grid-column:span 4/span 4}.corpus-body .md\:col-span-5{grid-column:span 5/span 5}.corpus-body .md\:col-span-7{grid-column:span 7/span 7}.corpus-body .md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.corpus-body .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.corpus-body .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.corpus-body .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.corpus-body .md\:flex-row{flex-direction:row}.corpus-body .md\:items-center{align-items:center}.corpus-body .md\:gap-12{gap:3rem}.corpus-body .md\:gap-5{gap:1.25rem}.corpus-body .md\:p-10{padding:2.5rem}.corpus-body .md\:p-12{padding:3rem}.corpus-body .md\:p-5{padding:1.25rem}.corpus-body .md\:p-6{padding:1.5rem}.corpus-body .md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.corpus-body .md\:py-12{padding-top:3rem;padding-bottom:3rem}.corpus-body .md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.corpus-body .md\:py-16{padding-top:4rem;padding-bottom:4rem}.corpus-body .md\:py-20{padding-top:5rem;padding-bottom:5rem}.corpus-body .md\:py-24{padding-top:6rem;padding-bottom:6rem}.corpus-body .md\:py-28{padding-top:7rem;padding-bottom:7rem}.corpus-body .md\:pb-10{padding-bottom:2.5rem}.corpus-body .md\:pb-12{padding-bottom:3rem}.corpus-body .md\:pt-14{padding-top:3.5rem}.corpus-body .md\:pt-20{padding-top:5rem}.corpus-body .md\:text-left{text-align:left}.corpus-body .md\:text-2xl{font-size:1.5rem;line-height:2rem}.corpus-body .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.corpus-body .md\:text-5xl{font-size:3rem;line-height:1}.corpus-body .md\:text-6xl{font-size:3.75rem;line-height:1}.corpus-body .md\:text-\[2\.6rem\]{font-size:2.6rem}}@media (min-width:1024px){.lg\:inline{display:inline}.corpus-body .lg\:flex{display:flex}.corpus-body .lg\:hidden{display:none}.corpus-body .lg\:w-44{width:11rem}.corpus-body .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.corpus-body .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ===========================================================================
   Corpus formatting overrides.
   Appended to the namespaced blog.css to produce /assets/dh-corpus-body.css.

   WHY THESE EXIST. The migrated corpus pages render through the apex page.njk,
   which is tuned for the apex's own journal posts. Those have SHORT titles: a
   real journal h1 measures 48 characters and renders at lg:text-[88px] over two
   lines. The corpus carries the blog's long editorial headlines, measured at 96
   characters for the Glasgow page, and at 88px that becomes four or five lines
   that fill the viewport before any content appears. The owner reported exactly
   this. The blog itself renders the same headline at text-3xl md:text-[2.6rem],
   roughly 42px, which is why it reads better there.

   The classes on both h1s are IDENTICAL, so this is not a template bug and not
   something to fix by editing the headline. It is a sizing rule that has to
   respond to length.

   TARGETING. page.njk exposes no body or page class hook, and corpus pages are
   indistinguishable from apex journal posts at the <body> and <main> level
   (both carry data-pagefind-filter="type:journal"). The one reliable marker is
   that corpus pages contain .corpus-body inside <main>, so :has() selects them
   without touching any template Phase B owns. Unsupported browsers simply keep
   the current large heading, which is a cosmetic degrade, not a break.
   =========================================================================== */

/* ===========================================================================
   READING COLUMN. This is a regression I introduced and it is worse than any
   defect that was reported.

   The blog wraps its article in <div class="max-w-prose mx-auto">, and that
   wrapper OPENS BEFORE the breadcrumb. The chrome fix slices the article from
   the first <figure> to drop breadcrumb, eyebrow, h1 and byline in one cut, so
   it dropped the opening wrapper tag with them. Nothing replaced it, so
   .corpus-body, <main> and <body> all compute max-width:none and padding:0 and
   every one of the 13,875 pages went full bleed: measured 1430px of text at
   x=0 on a 1440px viewport, with no gutters.

   These three declarations reproduce the apex journal shell exactly, which is
   article#post-body > div.max-w-4xl.mx-auto.px-6.md:px-12. Measured after the
   fix, through the real delivery path: 896px column at x=267 with 800px of text
   at x=315 at 1440 wide, and 380px column with 332px of text at 390 wide, with
   no horizontal overflow at either size and content counts unchanged.
   =========================================================================== */
.corpus-body {
  max-width: 56rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
}
@media (min-width: 768px) {
  .corpus-body {
    padding-inline: 3rem;
  }
}

/* The headline. clamp keeps it fluid and prominent without letting a 96
   character editorial headline take five lines. Upper bound 3.5rem (56px) sits
   between the blog's 42px and the apex's 88px. */
main:has(.corpus-body) h1 {
  font-size: clamp(1.9rem, 3.6vw, 3.5rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* The subheadline under it is sized against the 88px h1; bring it back into
   proportion with the smaller headline. */
main:has(.corpus-body) h1 + p,
main:has(.corpus-body) .hero-sub {
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.6;
}

/* ---------------------------------------------------------------------------
   Content column. The carried markup uses .max-w-prose (46rem / 736px) and is
   already mx-auto centred, which is close to the apex journal's max-w-3xl
   (48rem). Left as is. What follows only constrains the things that can break
   OUT of that column.
   --------------------------------------------------------------------------- */

/* Figures, images and tables must never exceed the reading column or force a
   horizontal scrollbar, which is what a full-width blog table would do inside
   the apex's narrower shell. */
.corpus-body figure,
.corpus-body img,
.corpus-body svg,
.corpus-body table {
  max-width: 100%;
  height: auto;
}

/* Wide tables scroll inside their own box rather than the page. */
.corpus-body .table-wrap,
.corpus-body figure:has(table) {
  overflow-x: auto;
}

/* Centre standalone figures and give them breathing room, matching how the
   apex journal spaces its own media. */
.corpus-body figure {
  margin-left: auto;
  margin-right: auto;
  margin-block: 2rem;
}

/* ---------------------------------------------------------------------------
   THE HERO IMAGE.

   Document order on a corpus page is: apex hero (h1, subheadline, CTAs), then
   post-byline, then the share and AI row, then .corpus-body whose first child is
   the carried <figure>. So the image is already the first thing in the article,
   which is where the blog puts it too. What it lacked was the treatment that
   makes it read as a hero rather than as an incidental inline image.

   It is given a slight outward bleed so it is wider than the measure of the
   text, which is the usual way of signalling "this belongs to the title above",
   while staying inside the 896px column at desktop. aspect-ratio is declared so
   the 1200x630 asset reserves its box before it loads and cannot shift the page,
   which matters more now that it is lazy-loaded.
   --------------------------------------------------------------------------- */
.corpus-body > figure:first-of-type {
  margin-top: 0;
  margin-bottom: 2.25rem;
  border-radius: 1rem;
  overflow: hidden;
}

.corpus-body > figure:first-of-type img {
  display: block;
  width: 100%;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
}

/* Bleed the hero past the text measure at desktop only. At mobile the column is
   already edge to edge, so a negative margin there would push it off screen. */
@media (min-width: 768px) {
  .corpus-body > figure:first-of-type {
    margin-inline: -1.5rem;
    border-radius: 1.25rem;
  }
}

/* ===========================================================================
   DARK THEME. The carried blog stylesheet was authored for the blog's light
   surface and hardcodes its ink and paper colours, 91 rules setting an explicit
   colour. The apex ships a light/dark toggle. In light mode the carried content
   is fine, measured 14.09 contrast on body copy and 16.07 on headings. In dark
   mode the same colours land on rgb(10,10,26) and measure 1.23 and 1.08, which
   is invisible; WCAG AA needs 4.5.

   Rather than patch 91 rules, this flips the small palette they are built from.
   Measured, by frequency, the blog uses exactly three families:
     ink   #10161A / #1A2327          the text
     moss  #3F6B54 / #6FA37A / #24453A the brand green, legible on both surfaces
     paper #FFFFFF / #E8F0EA / #F5F0E8 the light backgrounds
   Only ink and paper need to change. Moss is left alone.
   =========================================================================== */

:is(.dark, [data-theme="dark"]) .corpus-body,
:is(.dark, [data-theme="dark"]) .corpus-body .blog-prose,
:is(.dark, [data-theme="dark"]) .corpus-body p,
:is(.dark, [data-theme="dark"]) .corpus-body li,
:is(.dark, [data-theme="dark"]) .corpus-body td,
:is(.dark, [data-theme="dark"]) .corpus-body th,
:is(.dark, [data-theme="dark"]) .corpus-body dd,
:is(.dark, [data-theme="dark"]) .corpus-body dt,
:is(.dark, [data-theme="dark"]) .corpus-body summary {
  color: rgba(255, 255, 255, 0.82);
}

:is(.dark, [data-theme="dark"]) .corpus-body h1,
:is(.dark, [data-theme="dark"]) .corpus-body h2,
:is(.dark, [data-theme="dark"]) .corpus-body h3,
:is(.dark, [data-theme="dark"]) .corpus-body h4,
:is(.dark, [data-theme="dark"]) .corpus-body strong,
:is(.dark, [data-theme="dark"]) .corpus-body b {
  color: rgb(241, 245, 249);
}

/* Surfaces. Every light panel the blog paints becomes a dark glass panel, which
   is the same treatment the apex gives its own cards. */
:is(.dark, [data-theme="dark"]) .corpus-body .answer-box,
:is(.dark, [data-theme="dark"]) .corpus-body .card,
:is(.dark, [data-theme="dark"]) .corpus-body figure,
:is(.dark, [data-theme="dark"]) .corpus-body table,
:is(.dark, [data-theme="dark"]) .corpus-body details,
:is(.dark, [data-theme="dark"]) .corpus-body blockquote {
  background-color: rgba(15, 23, 19, 0.72);
  border-color: rgba(111, 163, 122, 0.28);
}

/* Table header rows and zebra striping use paper tones too. */
:is(.dark, [data-theme="dark"]) .corpus-body thead,
:is(.dark, [data-theme="dark"]) .corpus-body tr:nth-child(even) {
  background-color: rgba(111, 163, 122, 0.10);
}

/* Badges and pills sit on paper; give them a translucent moss chip instead. */
:is(.dark, [data-theme="dark"]) .corpus-body .badge,
:is(.dark, [data-theme="dark"]) .corpus-body .pill {
  background-color: rgba(111, 163, 122, 0.16);
  border-color: rgba(111, 163, 122, 0.32);
  color: rgb(198, 222, 205);
}

/* Links keep moss but lift it for the darker ground. */
:is(.dark, [data-theme="dark"]) .corpus-body a {
  color: rgb(147, 197, 163);
}

/* The eyebrow label above the short answer is a muted ink; lift it too. */
:is(.dark, [data-theme="dark"]) .corpus-body .eyebrow {
  color: rgba(255, 255, 255, 0.6);
}
