.emdash-image-media[data-astro-cid-gntmihax]{max-width:100%;height:auto}:where(:root.dark) .emdash-image--light,:where(:root.light) .emdash-image--dark{display:none}@media (prefers-color-scheme:dark){:where(:root:not(.light)) .emdash-image--light{display:none}}@media (prefers-color-scheme:light){:where(:root:not(.dark)) .emdash-image--dark{display:none}}.has-text-align-center[data-astro-cid-mlkxuqex]{text-align:center}.has-text-align-right[data-astro-cid-mlkxuqex]{text-align:right}.has-text-align-justify[data-astro-cid-mlkxuqex]{text-align:justify}.emdash-image[data-astro-cid-n7xwh6ur]{margin:1.5rem 0}.emdash-image[data-astro-cid-n7xwh6ur] img[data-astro-cid-n7xwh6ur]{max-width:100%;height:auto}.emdash-image[data-astro-cid-n7xwh6ur] figcaption[data-astro-cid-n7xwh6ur]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-image--align-left[data-astro-cid-n7xwh6ur],.emdash-image--align-right[data-astro-cid-n7xwh6ur]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-n7xwh6ur]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-n7xwh6ur]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-n7xwh6ur]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-n7xwh6ur],.emdash-image--align-full[data-astro-cid-n7xwh6ur]{width:100%}@media (width<=640px){.emdash-image--align-left[data-astro-cid-n7xwh6ur],.emdash-image--align-right[data-astro-cid-n7xwh6ur]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-oajdurik]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-oajdurik]{color:#ccc;background:#2d2d2d;border-radius:.5rem .5rem 0 0;padding:.5rem 1rem;font-family:monospace;font-size:.75rem}.emdash-code[data-astro-cid-oajdurik] pre[data-astro-cid-oajdurik]{background:#1e1e1e;border-radius:.5rem;margin:0;padding:1rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-oajdurik]+pre[data-astro-cid-oajdurik]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-oajdurik] code[data-astro-cid-oajdurik]{color:#e0e0e0;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.emdash-embed[data-astro-cid-dei2un4y]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-dei2un4y]{height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.emdash-embed-video[data-astro-cid-dei2un4y] iframe[data-astro-cid-dei2un4y],.emdash-embed-video[data-astro-cid-dei2un4y] video[data-astro-cid-dei2un4y]{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.emdash-embed-audio[data-astro-cid-dei2un4y],.emdash-embed-audio[data-astro-cid-dei2un4y] audio[data-astro-cid-dei2un4y]{width:100%}.emdash-embed[data-astro-cid-dei2un4y] figcaption[data-astro-cid-dei2un4y]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-gallery[data-astro-cid-ga26m77d]{grid-template-columns:repeat(var(--columns,3), 1fr);gap:1rem;margin:1.5rem 0;display:grid}.emdash-gallery-item[data-astro-cid-ga26m77d]{margin:0}.emdash-gallery-item[data-astro-cid-ga26m77d] img[data-astro-cid-ga26m77d]{object-fit:cover;aspect-ratio:1;width:100%;height:auto}.emdash-gallery-item[data-astro-cid-ga26m77d] figcaption[data-astro-cid-ga26m77d]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.25rem;font-size:.75rem}@media (width<=640px){.emdash-gallery[data-astro-cid-ga26m77d]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-yyss5dce]{gap:2rem;margin:1.5rem 0;display:flex}.emdash-column[data-astro-cid-yyss5dce]{flex:1;min-width:0}@media (width<=768px){.emdash-columns[data-astro-cid-yyss5dce]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-kkli74gd]{margin:2rem 0}.emdash-break-line[data-astro-cid-kkli74gd]{border:none;border-top:1px solid var(--emdash-break-color,var(--color-border,#e0e0e0))}.emdash-break-dots[data-astro-cid-kkli74gd]{text-align:center;color:var(--emdash-break-dots-color,var(--color-muted,#999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-kkli74gd]{height:2rem}iframe[data-emdash-html-block]{border:0;width:100%;margin:1.5rem 0;display:block}.emdash-html-block[data-astro-cid-is6osoga]{margin:1.5rem 0}.emdash-iframe[data-astro-cid-dajzrvbx]{aspect-ratio:16/9;width:100%;margin:1.5rem 0}.emdash-iframe[data-astro-cid-dajzrvbx] iframe{border:0;width:100%;height:100%;display:block}.emdash-video[data-astro-cid-z5buecds]{margin:1.5rem 0}.emdash-video[data-astro-cid-z5buecds] video[data-astro-cid-z5buecds]{width:100%;height:auto;max-height:70vh;display:block}.emdash-video[data-astro-cid-z5buecds] figcaption[data-astro-cid-z5buecds]{color:var(--emdash-caption-color,var(--color-muted,#666));text-align:center;margin-top:.5rem;font-size:.875rem}.emdash-table-wrapper[data-astro-cid-hzqzfoxz]{overscroll-behavior-inline:contain;max-inline-size:100%;margin-block:1.5rem;overflow-x:auto}.emdash-table[data-astro-cid-hzqzfoxz]{border-collapse:collapse;inline-size:100%;font-size:.9rem}.emdash-table[data-astro-cid-hzqzfoxz] th[data-astro-cid-hzqzfoxz],.emdash-table[data-astro-cid-hzqzfoxz] td[data-astro-cid-hzqzfoxz]{border:1px solid var(--color-border,#ddd);text-align:start;vertical-align:top;padding:.75rem;position:relative}.emdash-table[data-astro-cid-hzqzfoxz] th[data-astro-cid-hzqzfoxz] p,.emdash-table[data-astro-cid-hzqzfoxz] td[data-astro-cid-hzqzfoxz] p{margin:0}.emdash-table[data-astro-cid-hzqzfoxz] th[data-astro-cid-hzqzfoxz]{background:var(--color-surface,#f5f5f5);font-weight:600}.emdash-table[data-astro-cid-hzqzfoxz] tbody[data-astro-cid-hzqzfoxz] tr[data-astro-cid-hzqzfoxz]:nth-child(2n){background:var(--color-bg-subtle,#fafafa)}.emdash-table[data-astro-cid-hzqzfoxz] tbody[data-astro-cid-hzqzfoxz] tr[data-astro-cid-hzqzfoxz]:hover{background:var(--color-surface,#f0f0f0)}.emdash-button[data-astro-cid-pdds4tuy]{cursor:pointer;border-radius:4px;padding:.75em 1.5em;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-block}.emdash-button--default[data-astro-cid-pdds4tuy],.emdash-button--fill[data-astro-cid-pdds4tuy]{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff);border:2px solid var(--emdash-button-bg,#0073aa)}.emdash-button--default[data-astro-cid-pdds4tuy]:hover,.emdash-button--fill[data-astro-cid-pdds4tuy]:hover{background-color:var(--emdash-button-bg-hover,#005177);border-color:var(--emdash-button-bg-hover,#005177)}.emdash-button--outline[data-astro-cid-pdds4tuy]{color:var(--emdash-button-bg,#0073aa);border:2px solid var(--emdash-button-bg,#0073aa);background-color:#0000}.emdash-button--outline[data-astro-cid-pdds4tuy]:hover{background-color:var(--emdash-button-bg,#0073aa);color:var(--emdash-button-color,#fff)}.emdash-buttons[data-astro-cid-c6i63bq6]{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.emdash-buttons--vertical[data-astro-cid-c6i63bq6]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-c6i63bq6]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-yezb6sb3]{background-color:var(--emdash-cover-fallback-bg,#333);border-radius:4px;align-items:center;margin:1.5rem 0;padding:2rem;display:flex;position:relative;overflow:hidden}.emdash-cover__background[data-astro-cid-yezb6sb3]{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.emdash-cover__video[data-astro-cid-yezb6sb3]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-yezb6sb3]{z-index:1;position:absolute;inset:0}.emdash-cover__content[data-astro-cid-yezb6sb3]{z-index:2;width:100%;color:var(--emdash-cover-text-color,#fff);position:relative}.emdash-cover--align-left[data-astro-cid-yezb6sb3]{text-align:left;justify-content:flex-start}.emdash-cover--align-center[data-astro-cid-yezb6sb3]{text-align:center;justify-content:center}.emdash-cover--align-right[data-astro-cid-yezb6sb3]{text-align:right;justify-content:flex-end}.emdash-cover__content[data-astro-cid-yezb6sb3] h1,.emdash-cover__content[data-astro-cid-yezb6sb3] h2,.emdash-cover__content[data-astro-cid-yezb6sb3] h3,.emdash-cover__content[data-astro-cid-yezb6sb3] h4,.emdash-cover__content[data-astro-cid-yezb6sb3] p{color:inherit}.emdash-file[data-astro-cid-3c5ccjv4]{background-color:var(--emdash-file-bg,#f5f5f5);border:1px solid var(--emdash-file-border,#e0e0e0);border-radius:4px;align-items:center;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.emdash-file__link[data-astro-cid-3c5ccjv4]{color:var(--emdash-file-color,#333);flex:1;align-items:center;gap:.5rem;text-decoration:none;display:flex}.emdash-file__link[data-astro-cid-3c5ccjv4]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-3c5ccjv4]{width:1.5rem;height:1.5rem;color:var(--emdash-file-icon-color,#666);flex-shrink:0}.emdash-file__name[data-astro-cid-3c5ccjv4]{word-break:break-all;font-weight:500}.emdash-file__download[data-astro-cid-3c5ccjv4]{background-color:var(--emdash-button-bg,#0073aa);width:2.5rem;height:2.5rem;color:var(--emdash-button-color,#fff);border-radius:4px;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.emdash-file__download[data-astro-cid-3c5ccjv4]:hover{background-color:var(--emdash-button-bg-hover,#005177)}.emdash-file__download[data-astro-cid-3c5ccjv4] svg[data-astro-cid-3c5ccjv4]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-4yp3udrx]{border-top:4px solid var(--emdash-pullquote-border,#0073aa);border-bottom:4px solid var(--emdash-pullquote-border,#0073aa);text-align:center;margin:2rem 0;padding:1.5rem 2rem}.emdash-pullquote__text[data-astro-cid-4yp3udrx]{color:var(--emdash-pullquote-color,#333);margin:0;font-size:1.5rem;font-style:italic;line-height:1.4}.emdash-pullquote__citation[data-astro-cid-4yp3udrx]{color:var(--emdash-pullquote-citation-color,#666);margin-top:1rem;font-size:.9rem;font-style:normal}:root,[data-scheme=default],[data-scheme=auto]{--ubud-accent:#5869da;--ubud-text-primary:#15171a;--ubud-text-secondary:#5f6670;--ubud-border:#e4e7eb;--ubud-bg-primary:#fff;--ubud-bg-secondary:#f4f5f7;--ubud-bg-hero:#f4f5f7;--ubud-on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-scheme=dark]{--ubud-accent:#dc514d;--ubud-text-primary:#fff;--ubud-text-secondary:#9baac1;--ubud-border:#292622;--ubud-bg-primary:#000;--ubud-bg-secondary:#241f21;--ubud-bg-hero:#241f21;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){[data-scheme=auto]{--ubud-accent:#dc514d;--ubud-text-primary:#fff;--ubud-text-secondary:#9baac1;--ubud-border:#292622;--ubud-bg-primary:#000;--ubud-bg-secondary:#241f21;--ubud-bg-hero:#241f21;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-scheme=monza]{--ubud-accent:#d6001c;--ubud-text-primary:#d6001c;--ubud-text-secondary:#d6001c;--ubud-border:#d6001c;--ubud-bg-primary:#fff;--ubud-bg-secondary:#fff3cc;--ubud-bg-hero:#fff3cc}[data-scheme=soft-peach]{--ubud-accent:#905656;--ubud-text-primary:#241616;--ubud-text-secondary:#412727;--ubud-border:#e9dbdb;--ubud-bg-primary:#f6f0f0;--ubud-bg-secondary:#f2e9e9;--ubud-bg-hero:#f2e9e9}[data-scheme=cinnamon]{--ubud-accent:#805b00;--ubud-text-primary:#000;--ubud-text-secondary:#374c6d;--ubud-border:#807d67;--ubud-bg-primary:#f4f6ef;--ubud-bg-secondary:#e4e6e0;--ubud-bg-hero:#e4e6e0}[data-scheme=bright-gray]{--ubud-accent:#373f48;--ubud-text-primary:#3c434c;--ubud-text-secondary:#647180;--ubud-border:#dfe3e9;--ubud-bg-primary:#fff;--ubud-bg-secondary:#e7ebf0;--ubud-bg-hero:#e7ebf0}[data-scheme=iron]{--ubud-accent:#000;--ubud-text-primary:#212121;--ubud-text-secondary:#404040;--ubud-border:#bdbec2;--ubud-bg-primary:#d6d7d9;--ubud-bg-secondary:#f2f2f3;--ubud-bg-hero:#f2f2f3}[data-scheme=linen]{--ubud-accent:#b95d0e;--ubud-text-primary:#000;--ubud-text-secondary:#374c6d;--ubud-border:#ece3dc;--ubud-bg-primary:#fff;--ubud-bg-secondary:#fcf3ed;--ubud-bg-hero:#fcf3ed}[data-scheme=turbo]{--ubud-accent:#000;--ubud-text-primary:#000;--ubud-text-secondary:#000;--ubud-border:#000;--ubud-bg-primary:#fee900;--ubud-bg-secondary:#fff14a;--ubud-bg-hero:#fff14a;--ubud-on-accent:#fee900}[data-scheme=pampas]{--ubud-accent:#c31118;--ubud-text-primary:#292a2c;--ubud-text-secondary:#65605e;--ubud-border:#b2b2b2;--ubud-bg-primary:#f6f4f2;--ubud-bg-secondary:#eeedeb;--ubud-bg-hero:#eeedeb}[data-scheme=jford]{--ubud-accent:#6f760a;--ubud-text-primary:#181818;--ubud-text-secondary:#646f82;--ubud-border:#ececec;--ubud-bg-primary:#fff;--ubud-bg-secondary:#f6f6f6;--ubud-bg-hero:#f6f6f6;--ubud-on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){[data-scheme=jford]{--ubud-accent:#b5bf2e;--ubud-text-primary:#ececec;--ubud-text-secondary:#9ba5b4;--ubud-border:#2a2a2a;--ubud-bg-primary:#121212;--ubud-bg-secondary:#1c1c1c;--ubud-bg-hero:#1c1c1c;--ubud-on-accent:#121212;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{--accent:var(--accent-override,var(--ubud-accent));--on-accent:var(--ubud-on-accent,#fff);--text:var(--ubud-text-primary);--muted:var(--ubud-text-secondary);--border:var(--ubud-border);--bg:var(--ubud-bg-primary);--bg-alt:var(--ubud-bg-secondary);--bg-hero:var(--ubud-bg-hero);--font-body:var(--font-inter,-apple-system), BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-heading:var(--font-body);--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--content-width:720px;--wide-width:1120px;--gutter:20px;--radius:8px;--radius-sm:4px;--radius-full:999px;--transition:.2s ease;--logo-height:40px;--header-height:80px;--emdash-search-bg:var(--bg);--emdash-search-text:var(--text);--emdash-search-muted:var(--muted);--emdash-search-border:var(--border);--emdash-search-hover:var(--bg-alt);--emdash-search-highlight:var(--accent)}@media (width>=768px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1}main:focus{outline:none}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--transition), opacity var(--transition);text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:700;line-height:1.25}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);padding:8px 16px;position:absolute;top:-100px}.skip-link:focus{top:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.container{width:100%;max-width:calc(var(--wide-width) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:calc(var(--content-width) + 2 * var(--gutter))}.section{padding-block:48px}@media (width>=768px){.section{padding-block:64px}}.section+.section{padding-top:0}.btn{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--on-accent);font:inherit;cursor:pointer;transition:opacity var(--transition), background var(--transition);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.9375rem;font-weight:600;line-height:1;display:inline-flex}.btn:hover{opacity:.88}.btn--outline{color:var(--text);border-color:var(--border);background:0 0}.btn--outline:hover{opacity:1;border-color:var(--text)}.btn--sm{min-height:36px;padding:0 14px;font-size:.875rem}.icon{flex:none;width:20px;height:20px}.arrow-link{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.arrow-link svg{width:18px;height:18px;transition:transform var(--transition)}.arrow-link:hover svg{transform:translate(3px)}.site-header{z-index:20;position:relative}.site-header__inner{min-height:var(--header-height);align-items:center;gap:24px;display:flex}.logo{letter-spacing:-.02em;color:var(--text);flex:none;align-items:center;font-size:1.25rem;font-weight:800;display:inline-flex}.logo img{height:var(--logo-height);object-fit:contain;width:auto;max-width:220px}.site-nav{margin-inline-start:auto}.site-nav ul{margin:0;padding:0;list-style:none}.site-nav>ul{align-items:center;gap:4px;display:flex}.site-nav li{position:relative}.site-nav a{border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:8px 12px;font-weight:500;display:flex}.site-nav a:hover,.site-nav a[aria-current]{color:var(--text)}.site-nav a[aria-current=page]{color:var(--accent)}.site-nav .chevron{width:14px;height:14px}.site-nav .submenu{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);opacity:0;visibility:hidden;min-width:200px;transition:opacity var(--transition), transform var(--transition), visibility var(--transition);padding:8px;position:absolute;top:100%;left:0;transform:translateY(4px);box-shadow:0 12px 32px #00000014}.site-nav li:hover>.submenu,.site-nav li:focus-within>.submenu{opacity:1;visibility:visible;transform:translateY(0)}.header-actions{align-items:center;gap:8px;display:flex}.logo+.header-actions{margin-inline-start:auto}.icon-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:var(--bg-alt)}.menu-toggle{display:none}@media (width<=860px){.menu-toggle{display:inline-flex}.site-header .header-subscribe{display:none}.site-nav{padding:8px var(--gutter) 24px;border-bottom:1px solid var(--border);background:var(--bg);margin:0;display:none;position:absolute;top:100%;left:0;right:0}.site-header.is-open .site-nav{display:block}.site-nav>ul{flex-direction:column;align-items:stretch;gap:0}.site-nav a{border-bottom:1px solid var(--border);border-radius:0;padding:12px 0;font-size:1.0625rem}.site-nav .submenu{opacity:1;visibility:visible;box-shadow:none;background:0 0;border:0;padding:0 0 0 16px;position:static;transform:none}.site-nav .chevron{display:none}.site-header .header-actions{margin-inline-start:auto}.site-header.is-open .menu-toggle .icon-open,.site-header:not(.is-open) .menu-toggle .icon-close{display:none}}@media (width>=861px){.menu-toggle .icon-close{display:none}}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:32px;font-size:.9375rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-block:32px;display:flex}.site-footer a:hover{color:var(--text)}.site-footer__copy a{text-underline-offset:3px;text-decoration:underline}.footer-nav ul,.social-links{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.social-links{gap:4px}.social-links a{border-radius:var(--radius-full);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.social-links a:hover{background:var(--bg-alt)}.social-links svg{width:18px;height:18px}.site-footer__end{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.home-hero{padding-block:40px 56px}@media (width>=768px){.home-hero{padding-block:64px 80px}}.home-hero__title{letter-spacing:-.025em;font-size:clamp(2rem,4.5vw,3rem);font-weight:800}.home-hero__excerpt{color:var(--muted);margin-top:16px;font-size:clamp(1.125rem,2vw,1.3125rem);line-height:1.55}.home-hero__body{margin-top:24px}.home-hero__body.prose{font-size:1.0625rem}.home-hero__media img{border-radius:var(--radius);object-fit:cover;width:100%}.home-hero--split .home-hero__grid{align-items:center;gap:32px;display:grid}@media (width>=900px){.home-hero--split .home-hero__grid{grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:64px}.home-hero--image-right .home-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,540px)}.home-hero--image-right .home-hero__media{order:2}}.home-hero--split .home-hero__media img{aspect-ratio:1}.home-hero--circle .home-hero__media{margin-bottom:28px}.home-hero--circle .home-hero__media img{width:var(--circle-size,128px);height:var(--circle-size,128px);aspect-ratio:1;border-radius:50%}.home-hero--circle-small{--circle-size:96px}.home-hero--circle-medium{--circle-size:128px}.home-hero--circle-large{--circle-size:192px}.home-hero--circle-xlarge{--circle-size:256px}@media (width<=600px){.home-hero--circle-large,.home-hero--circle-xlarge{--circle-size:160px}}.home-hero--center{text-align:center}.home-hero--center .home-hero__media{max-width:731px;margin:0 auto 40px}.home-hero--center .home-hero__media img{aspect-ratio:16/10}.home-hero--center .home-hero__text{max-width:var(--content-width);margin-inline:auto}.home-hero--center .home-hero__body{text-align:start}.home-hero--wide .home-hero__media{margin-bottom:40px}.home-hero--wide .home-hero__text{max-width:var(--content-width)}.home-hero--wide .home-hero__media img{aspect-ratio:16/9}.home-hero--full{padding-top:0}.home-hero--full .home-hero__media{margin-bottom:48px}.home-hero--full .home-hero__media img{border-radius:0;height:clamp(280px,50vw,676px)}.section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:12px;display:flex}.section-head__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8125rem;font-weight:700}.section-foot{margin-top:32px}.page-head{padding-block:48px 8px}@media (width>=768px){.page-head{padding-block:72px 16px}}.page-head__eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.8125rem;font-weight:700}.page-head__title{letter-spacing:-.025em;font-size:clamp(2rem,4.5vw,2.75rem);font-weight:800}.page-head__description{color:var(--muted);margin-top:12px;font-size:1.125rem}.post-list{margin:0;padding:0;list-style:none}.post-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:20px;padding-block:24px;display:grid;position:relative}.post-list>li:first-child .post-row{padding-top:0}.post-row--has-image{grid-template-columns:minmax(0,1fr) 132px;align-items:center}@media (width<=560px){.post-row--has-image{grid-template-columns:minmax(0,1fr) 84px;gap:16px}}.post-row__title{font-size:1.25rem;font-weight:700;line-height:1.35}.post-row__title a:after{content:"";position:absolute;inset:0}.post-row:hover .post-row__title{color:var(--accent)}.post-row__excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;display:-webkit-box;overflow:hidden}.post-row__media img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.post-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 0;margin-top:8px;font-size:.875rem;display:flex}.post-meta>*+:before{content:"·";opacity:.7;margin-inline:8px}.post-meta .post-meta__tag{z-index:1;color:var(--accent);font-weight:600;position:relative}.post-row .post-meta{white-space:nowrap;flex-wrap:nowrap}.post-row .post-meta__tag{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=480px){.post-row .post-meta:has(.post-meta__tag)>span:last-child{display:none}}.post-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:40px 32px;display:grid}.post-card{flex-direction:column;display:flex;position:relative}.post-card__media{border-radius:var(--radius);background:var(--bg-alt);aspect-ratio:16/10;margin-bottom:16px;overflow:hidden}.post-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.post-card__media--empty{background:color-mix(in srgb, var(--accent) 10%, var(--bg));color:color-mix(in srgb, var(--accent) 55%, var(--bg));justify-content:center;align-items:center;font-size:4rem;font-weight:800;line-height:1;display:flex}.related .post-card__media--empty{background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.post-card:hover .post-card__media img{transform:scale(1.03)}.post-card__title{font-size:1.25rem;line-height:1.35}.post-card__title a:after{content:"";position:absolute;inset:0}.post-card:hover .post-card__title{color:var(--accent)}.post-card__excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:.9375rem;display:-webkit-box;overflow:hidden}.post-header{text-align:center;padding-block:48px 32px}@media (width>=768px){.post-header{padding-block:72px 40px}}.post-header__tag{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-size:.8125rem;font-weight:700;display:inline-block}.post-header__title{letter-spacing:-.025em;max-width:900px;margin-inline:auto;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15}.post-header__excerpt{max-width:var(--content-width);color:var(--muted);margin:16px auto 0;font-size:clamp(1.125rem,2vw,1.25rem);line-height:1.55}.post-header .post-meta{justify-content:center;margin-top:24px;font-size:.9375rem}.post-header__authors{color:var(--text);align-items:center;gap:10px;font-weight:600;display:inline-flex}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-inline-start:-10px}.avatar{width:var(--avatar-size,36px);height:var(--avatar-size,36px);object-fit:cover;background:var(--bg-alt);box-shadow:0 0 0 2px var(--bg);border-radius:50%;flex:none}.avatar--initials{color:var(--muted);font-size:calc(var(--avatar-size,36px) * .38);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.post-figure{margin:0 auto 48px}.post-figure img{object-fit:cover;border-radius:var(--radius);width:100%;max-height:680px}.post-figure figcaption{color:var(--muted);text-align:center;margin-top:12px;font-size:.875rem}.post-layout{grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [content-start] min(var(--content-width), 100% - 2 * var(--gutter)) [content-end] minmax(var(--gutter), 1fr) [full-end];display:grid}.post-layout>*{grid-column:content}.toc{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:40px;padding:20px 24px;font-size:.9375rem}.toc[hidden]{display:none}.toc__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:.8125rem;font-weight:700}.toc__list{margin:0;padding:0;list-style:none}.toc__item+.toc__item{margin-top:6px}.toc__item--nested{padding-inline-start:16px}.toc__link{color:var(--muted);line-height:1.45;display:block}.toc__link:hover,.toc__link[aria-current=true]{color:var(--accent)}@media (width>=1280px){.post-layout--toc .toc{border:0;border-inline-start:1px solid var(--border);border-radius:0;grid-area:1/content-end/span 2/full-end;align-self:start;max-width:240px;max-height:calc(100vh - 64px);margin:0 0 0 48px;padding:0 0 0 20px;position:sticky;top:32px;overflow:auto}.post-layout--toc .toc+*{grid-row:1}}.post-footer{margin-top:48px}.post-footer>*+*{margin-top:40px}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-chip{border-radius:var(--radius-full);background:var(--bg-alt);color:var(--text);align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.tag-chip:hover{background:var(--accent);color:var(--on-accent)}.tag-chip__count{color:var(--muted);font-size:.8125rem}.tag-chip:hover .tag-chip__count{color:inherit;opacity:.8}.share{border-block:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-block:20px;display:flex}.share__label{margin-inline-end:8px;font-weight:600}.share a,.share button{border:1px solid var(--border);border-radius:var(--radius-full);width:40px;height:40px;color:var(--text);cursor:pointer;transition:border-color var(--transition), color var(--transition);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.share a:hover,.share button:hover{border-color:var(--accent);color:var(--accent)}.share svg{width:18px;height:18px}.share__copied{color:var(--muted);font-size:.875rem}.author-box{border-radius:var(--radius);background:var(--bg-alt);--avatar-size:64px;gap:20px;padding:24px;display:flex}.author-box+.author-box{margin-top:16px}.author-box .avatar{box-shadow:none}.author-box__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;font-weight:700}.author-box__name{margin-top:2px;font-size:1.125rem;font-weight:700}.author-box__bio{color:var(--muted);margin-top:6px}.related{background:var(--bg-alt);margin-top:64px;padding-block:64px}.related .section-head{border-color:var(--border)}.prose{--emdash-caption-color:var(--muted);--emdash-break-color:var(--border);--emdash-break-dots-color:var(--muted);--emdash-pullquote-border:var(--accent);--emdash-pullquote-color:var(--text);--emdash-pullquote-citation-color:var(--muted);--emdash-button-bg:var(--accent);--emdash-button-bg-hover:var(--accent);--emdash-button-color:var(--on-accent);--emdash-file-bg:var(--bg-alt);--emdash-file-border:var(--border);--emdash-file-color:var(--text);--emdash-file-icon-color:var(--muted);overflow-wrap:break-word;font-size:1.125rem;line-height:1.75}.prose>*{margin-block:0}.prose>*+*{margin-block-start:1.4em}.prose>:is(h2,h1){margin-block-start:2em}.prose>:is(h3,h4,h5,h6){margin-block-start:1.75em}.prose>:is(h1,h2,h3,h4,h5,h6)+*{margin-block-start:.7em}.prose>:first-child{margin-block-start:0}.prose h1{font-size:2rem}.prose h2{font-size:1.625rem}.prose h3{font-size:1.3125rem}.prose h4{font-size:1.125rem}.prose :is(h5,h6){font-size:1rem}.prose a:where(:not([class*=emdash])){color:var(--accent);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}.prose a:where(:not([class*=emdash])):hover{text-decoration-color:currentColor}.prose :is(strong,b){font-weight:700}.prose :is(sub,sup){font-size:.75em;line-height:0}.prose :not(pre)>code{border-radius:var(--radius-sm);background:var(--bg-alt);font-family:var(--font-mono);padding:.15em .4em;font-size:.85em}.prose :is(ul,ol){padding-inline-start:1.5em}.prose li+li,.prose li>:is(ul,ol){margin-block-start:.5em}.prose li::marker{color:var(--muted)}.prose blockquote:where(:not([class*=emdash])){border-inline-start:3px solid var(--accent);margin-inline:0;padding-inline-start:1.25em;font-style:italic}.prose hr{border:0;border-block-start:1px solid var(--border);margin-block:3em}.prose img{border-radius:var(--radius)}.prose figure{margin-inline:0}.prose figcaption{color:var(--muted);text-align:center;margin-block-start:.75em;font-size:.875rem;line-height:1.5}.prose :is(.emdash-embed-video,.emdash-iframe),.prose .emdash-video video{border-radius:var(--radius);overflow:hidden}.prose .emdash-iframe{border:1px solid var(--border)}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose :is(th,td){border-bottom:1px solid var(--border);text-align:start;padding:10px 12px}.prose .emdash-table-wrapper{--color-surface:var(--bg-alt);--color-bg-subtle:color-mix(in srgb, var(--bg-alt) 50%, transparent)}@media (width<=640px){.prose{font-size:1.0625rem;line-height:1.7}}.prose .emdash-code pre{border-radius:var(--radius)!important;background:#15171a!important;padding:1rem 1.25rem!important}.prose .emdash-code code{line-height:1.7;color:#e6e8eb!important;font-family:var(--font-mono)!important;font-size:.875rem!important}.prose .emdash-code-filename{border-radius:var(--radius) var(--radius) 0 0!important;color:#b8bec6!important;font-family:var(--font-mono)!important;background:#2a2d32!important;padding:.5rem 1.25rem!important}.prose .emdash-code-filename+pre{border-radius:0 0 var(--radius) var(--radius)!important}.prose .emdash-button,.prose .emdash-file{border-radius:var(--radius)!important}.prose .drop-cap:first-letter,.prose.has-drop-cap>p:first-of-type:first-letter{float:left;color:var(--accent);margin:.08em .12em 0 0;font-size:3.6em;font-weight:800;line-height:.85}.archive-group+.archive-group{margin-top:48px}.archive-group__title{letter-spacing:-.02em;margin-bottom:8px;font-size:1.5rem;font-weight:800}.archive-group__count{color:var(--muted);margin-inline-start:8px;font-size:1rem;font-weight:500}.archive-list{margin:0;padding:0;list-style:none}.archive-item{border-bottom:1px solid var(--border);grid-template-columns:72px minmax(0,1fr);align-items:baseline;gap:16px;padding-block:12px;display:grid}.archive-item time{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;font-size:.8125rem}.archive-item a{font-weight:600}.archive-item a:hover{color:var(--accent)}.archive-tags{margin-top:64px}.search-form{gap:8px;margin-top:24px;display:flex}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;height:48px;color:var(--text);font:inherit;flex:1;padding:0 16px}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.search-form .btn{height:48px}.search-results__count{color:var(--muted);margin-bottom:16px;font-size:.9375rem}.search-result__snippet mark,.search-result__title mark{background:color-mix(in srgb, var(--accent) 20%, transparent);color:inherit;border-radius:2px;padding:0 2px}.empty{color:var(--muted);text-align:center;padding-block:48px}.empty__title{color:var(--text);margin-bottom:8px;font-size:1.25rem}.empty .btn{margin-top:20px}.subscribe{border-radius:var(--radius);background:var(--bg-hero);text-align:center;padding:40px 24px}@media (width>=768px){.subscribe{padding:56px 48px}}.subscribe__title{letter-spacing:-.02em;font-size:clamp(1.375rem,3vw,1.75rem);font-weight:800}.subscribe__description{max-width:520px;color:var(--muted);margin:10px auto 0}.subscribe__form{flex-wrap:wrap;gap:8px;max-width:480px;margin:24px auto 0;display:flex}.subscribe__form .input{flex:200px}.subscribe__form .btn{flex:1 0 auto;height:48px}@media (width>=520px){.subscribe__form .btn{flex-grow:0}}.load-more{justify-content:center;margin-top:40px;display:flex}.load-more[hidden]{display:none}.comments-section h2{margin-bottom:16px;font-size:1.25rem}.comments-section .ec-comments-heading{display:none}.comments-section{--ec-form-bg:var(--bg);--ec-form-border:var(--border);--ec-form-color:var(--text);--ec-form-user-bg:var(--bg-alt);--ec-form-user-bg-dark:var(--bg-alt);--ec-form-user-border:var(--border);--ec-form-submit-bg:var(--accent);--ec-form-submit-color:var(--on-accent)}.comments-section :is(.ec-comment-form input,.ec-comment-form textarea){border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:12px 14px}.comments-section :is(.ec-comment-form input,.ec-comment-form textarea):focus{border-color:var(--accent);outline:none}.comments-section .ec-comment-form-field+.ec-comment-form-field{margin-top:12px}.comments-section .ec-comment-form-submit{border-radius:var(--radius);background:var(--accent);min-height:44px;color:var(--on-accent);font:inherit;cursor:pointer;border:0;margin-top:12px;padding:0 20px;font-weight:600}.comments-section .ec-comment-header{align-items:baseline;gap:8px;display:flex}.comments-section .ec-comment-author{font-weight:700}.comments-section .ec-comment-date{color:var(--muted);font-size:.875rem}.comments-section .ec-comment-body{margin-top:4px}.comments-section .ec-comment-replies{border-inline-start:2px solid var(--border);margin-inline-start:20px;padding-inline-start:16px}.page-article .page-header{padding-block:48px 32px}@media (width>=768px){.page-article .page-header{padding-block:72px 40px}}.not-found{text-align:center;padding-block:96px}.not-found__code{color:var(--accent);letter-spacing:-.04em;font-size:clamp(4rem,14vw,8rem);font-weight:800;line-height:1}main:has(>.related:last-child)+.site-footer{margin-top:0}@media (width<=600px){.post-header__title{font-size:1.875rem}.post-header .post-header__authors{flex-basis:100%;justify-content:center;margin-bottom:6px}.post-header .post-meta>.post-header__authors+:before{content:none}}
