﻿:root{--eh-font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--eh-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--eh-font-display: "Fraunces", "IBM Plex Sans", serif;--eh-bg: #f8f6f1;--eh-bg-elev: #ffffff;--eh-bg-sunken: #efece5;--eh-ink: #0b0d10;--eh-ink-soft: #3a4049;--eh-ink-muted: #6b717a;--eh-rule: #d9d5cc;--eh-rule-soft: #e8e4dc;--eh-accent: #1e40af;--eh-accent-hover: #1d4ed8;--eh-accent-on: #ffffff;--eh-signal: #c2410c;--eh-code-bg: #1f2228;--eh-code-fg: #e7e5e0;--eh-shadow: 0 1px 0 rgba(10, 13, 16, 0.04), 0 10px 30px -20px rgba(10, 13, 16, 0.25);--bulma-family-primary: var(--eh-font-sans);--bulma-family-secondary: var(--eh-font-display);--bulma-family-code: var(--eh-font-mono);--bulma-body-background-color: var(--eh-bg);--bulma-body-color: var(--eh-ink);--bulma-text: var(--eh-ink);--bulma-text-strong: var(--eh-ink);--bulma-text-weak: var(--eh-ink-muted);--bulma-link: var(--eh-accent);--bulma-link-hover: var(--eh-accent-hover);--bulma-link-active: var(--eh-accent-hover);--bulma-primary-h: 222;--bulma-primary-s: 70%;--bulma-primary-l: 40%;--bulma-info-h: 222;--bulma-info-s: 70%;--bulma-info-l: 40%;--bulma-scheme-main: var(--eh-bg);--bulma-scheme-main-bis: var(--eh-bg-sunken);--bulma-scheme-main-ter: var(--eh-bg-elev);--bulma-border: var(--eh-rule);--bulma-border-weak: var(--eh-rule-soft);--bulma-radius: 2px;--bulma-radius-small: 1px;--bulma-radius-large: 4px;--bulma-radius-rounded: 2px}[data-theme=dark]{--eh-bg: #0b0d10;--eh-bg-elev: #14171c;--eh-bg-sunken: #07080a;--eh-ink: #e8e6e1;--eh-ink-soft: #b7b4ac;--eh-ink-muted: #7a7870;--eh-rule: #2a2e35;--eh-rule-soft: #1c2025;--eh-accent: #7aa7ff;--eh-accent-hover: #a5c0ff;--eh-accent-on: #0b0d10;--eh-signal: #ff9d5c;--eh-code-bg: #0f1114;--eh-code-fg: #e8e6e1;--eh-shadow: 0 1px 0 rgba(0,0,0,0.4), 0 20px 40px -20px rgba(0,0,0,0.7);--bulma-primary-l: 68%;--bulma-info-l: 68%;color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--eh-bg: #0b0d10;--eh-bg-elev: #14171c;--eh-bg-sunken: #07080a;--eh-ink: #e8e6e1;--eh-ink-soft: #b7b4ac;--eh-ink-muted: #7a7870;--eh-rule: #2a2e35;--eh-rule-soft: #1c2025;--eh-accent: #7aa7ff;--eh-accent-hover: #a5c0ff;--eh-accent-on: #0b0d10;--eh-signal: #ff9d5c;--eh-code-bg: #0f1114;--eh-code-fg: #e8e6e1;--eh-shadow: 0 1px 0 rgba(0,0,0,0.4), 0 20px 40px -20px rgba(0,0,0,0.7);--bulma-primary-l: 68%;--bulma-info-l: 68%;color-scheme:dark}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background-color:var(--eh-bg);color:var(--eh-ink);font-family:var(--eh-font-sans);font-feature-settings:"ss01","cv11";font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65;min-height:100vh;display:flex;flex-direction:column}body>.container,body>.page-shell{flex:1 0 auto}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 80% -10%, rgba(30,64,175,.06), rgba(0,0,0,0) 60%),radial-gradient(800px 500px at -10% 110%, rgba(194,65,12,.04), rgba(0,0,0,0) 60%)}@media (prefers-color-scheme: dark){[data-theme=dark] body::before,:root:not([data-theme=light]) body::before{background:radial-gradient(1000px 500px at 80% -5%, rgba(122,167,255,.1), rgba(0,0,0,0) 60%),radial-gradient(800px 500px at -10% 110%, rgba(255,157,92,.06), rgba(0,0,0,0) 60%)}}[data-theme=dark] body::before{background:radial-gradient(1000px 500px at 80% -5%, rgba(122,167,255,.1), rgba(0,0,0,0) 60%),radial-gradient(800px 500px at -10% 110%, rgba(255,157,92,.06), rgba(0,0,0,0) 60%)}::selection{background:var(--eh-accent);color:var(--eh-accent-on)}:focus-visible{outline:2px solid var(--eh-accent);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--eh-ink);color:var(--eh-bg);padding:.6rem 1rem;font-family:var(--eh-font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;z-index:1000}.skip-link:focus{left:1rem;top:1rem}h1,h2,h3,h4,h5,h6,.title{font-family:var(--eh-font-sans);font-weight:600;letter-spacing:-.015em;color:var(--eh-ink)}.title{color:var(--eh-ink)}.hero-display,.display-serif{font-family:var(--eh-font-display);font-style:italic;font-weight:300;letter-spacing:-.02em;font-feature-settings:"ss01"}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:var(--eh-ink);line-height:1.2}.content h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.6rem);margin-top:2rem}.content h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,1.9rem);margin-top:2.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--eh-rule)}.content h3{font-size:1.25rem;margin-top:2rem}.content p,.content li{color:var(--eh-ink-soft)}.content strong{color:var(--eh-ink)}.content a{color:var(--eh-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb, var(--eh-accent) 45%, rgba(0,0,0,0));transition:text-decoration-color 120ms ease,color 120ms ease}.content a:hover{color:var(--eh-accent-hover);text-decoration-color:currentColor}.content blockquote{border-left:2px solid var(--eh-accent);background:rgba(0,0,0,0);padding:.2rem 0 .2rem 1.25rem;color:var(--eh-ink-soft);font-family:var(--eh-font-display);font-style:italic;font-size:1.1rem}.content table{border-collapse:collapse;width:100%}.content table th,.content table td{border-bottom:1px solid var(--eh-rule-soft);padding:.6rem .9rem;text-align:left}.content table th{background:var(--eh-bg-sunken);font-family:var(--eh-font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--eh-ink-soft)}.content table tr:hover td{background:var(--eh-bg-sunken)}.content img{max-width:100%;height:auto;border-radius:2px}.content figure.image{margin:1.5rem 0}.content :not(pre)>code{background:color-mix(in srgb, var(--eh-ink) 8%, rgba(0,0,0,0));color:var(--eh-ink);padding:.1em .35em;border-radius:2px;font-family:var(--eh-font-mono);font-size:.88em;border:1px solid var(--eh-rule-soft)}pre code{background:rgba(0,0,0,0) !important;border:0 !important;padding:0 !important;color:inherit;font-size:inherit}pre{padding:1.1rem 1.25rem;overflow:auto;border-radius:4px;margin:1.25rem 0;border:1px solid var(--eh-rule);font-family:var(--eh-font-mono);font-size:.88rem;line-height:1.55;box-shadow:var(--eh-shadow);position:relative}pre[data-linenos]{padding:1.1rem 0}pre table td{padding:0;border:0;background:rgba(0,0,0,0) !important}pre table td:first-of-type{padding-left:1rem;padding-right:1rem;user-select:none;opacity:.45}pre table td:last-of-type{padding-right:1rem}pre table{width:100%;border-collapse:collapse;background:rgba(0,0,0,0)}pre mark{display:block;background-color:color-mix(in srgb, var(--eh-signal) 18%, rgba(0,0,0,0))}pre .z-code,pre .z-hl{background-color:rgba(0,0,0,0) !important}pre .z-hl{display:block;background-color:color-mix(in srgb, var(--eh-signal) 14%, rgba(0,0,0,0)) !important}pre .z-carriage-return{background-color:rgba(0,0,0,0) !important;text-decoration:none !important}.navbar{background-color:color-mix(in srgb, var(--eh-bg) 85%, rgba(0,0,0,0));backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--eh-rule);position:sticky;top:0;z-index:30}.navbar.is-white{background-color:color-mix(in srgb, var(--eh-bg) 85%, rgba(0,0,0,0))}@media (min-width: 1024px){.navbar{padding-left:max(1.5rem,50% - 672px);padding-right:max(1.5rem,50% - 672px)}}.navbar-brand{align-items:center;padding-left:.25rem}.navbar-item,.navbar-link{color:var(--eh-ink-soft) !important;font-weight:500;font-size:.95rem;letter-spacing:-.005em;transition:color 120ms ease,background 120ms ease;background:rgba(0,0,0,0);position:relative}.navbar-item:hover,.navbar-item.is-active,.navbar-link:hover,.navbar-link.is-active{color:var(--eh-ink) !important;background:rgba(0,0,0,0) !important}.navbar-item .subtitle,.navbar-link .subtitle{font-size:inherit !important;color:inherit;margin:0 !important;font-weight:500}.navbar-start>.navbar-item:not(.has-dropdown):not(.is-hidden-desktop)::after,.navbar-start>.has-dropdown>.navbar-link::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.55rem;height:1px;background:var(--eh-ink);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease}.navbar-start>.navbar-item:not(.has-dropdown):hover::after,.navbar-start>.has-dropdown:hover>.navbar-link::after{transform:scaleX(1)}.navbar-dropdown{background-color:var(--eh-bg-elev) !important;border:1px solid var(--eh-rule) !important;border-radius:4px !important;box-shadow:var(--eh-shadow) !important;padding:.5rem !important;min-width:20rem}.navbar-dropdown .navbar-item{border-radius:2px;padding:.55rem .8rem;font-size:.9rem}.navbar-dropdown .navbar-item:hover{background:var(--eh-bg-sunken) !important;color:var(--eh-ink) !important}.navbar-dropdown .dropdown-divider{border-color:var(--eh-rule-soft);margin:.35rem 0}.navbar-link:not(.is-arrowless)::after{border-color:var(--eh-ink-muted);border-width:1px}.navbar-burger{color:var(--eh-ink) !important}.navbar-burger span{background-color:currentColor;height:1px !important}.brand-lockup{display:flex;align-items:center;gap:.7rem;text-decoration:none !important;padding:.5rem .75rem}.brand-lockup .brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--eh-ink);color:var(--eh-bg);border-radius:3px;font-family:var(--eh-font-mono);font-weight:600;font-size:1rem;letter-spacing:-.02em;position:relative;overflow:hidden}.brand-lockup .brand-mark::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(0,0,0,0) 48%, color-mix(in srgb, var(--eh-signal) 70%, rgba(0,0,0,0)) 50%, rgba(0,0,0,0) 52%)}.brand-lockup .brand-word{font-family:var(--eh-font-sans);font-weight:600;font-size:1.05rem;color:var(--eh-ink);letter-spacing:-.01em}.brand-lockup .brand-word em{font-family:var(--eh-font-display);font-style:italic;font-weight:300;color:var(--eh-accent)}.theme-toggle{appearance:none;background:rgba(0,0,0,0);border:1px solid var(--eh-rule);color:var(--eh-ink-soft);width:36px;height:36px;border-radius:3px;display:inline-grid;place-items:center;cursor:pointer;margin:0 .4rem;transition:border-color 140ms ease,color 140ms ease,background 140ms ease}.theme-toggle svg{width:16px;height:16px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}.theme-toggle:hover{color:var(--eh-ink);border-color:var(--eh-ink-soft);background:var(--eh-bg-sunken)}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}.page-shell{max-width:72rem;margin:0 auto;padding:0 1.25rem;width:100%}.container{padding:0 1.25rem}@media (min-width: 1024px){.container{padding:0 2rem}}@media (max-width: 768px){.container{padding:0 1rem}}.breadcrumb{font-family:var(--eh-font-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-top:1.25rem;margin-bottom:1.25rem}.breadcrumb a{color:var(--eh-ink-muted)}.breadcrumb a:hover{color:var(--eh-ink)}.breadcrumb li.is-active a{color:var(--eh-ink);pointer-events:none}.breadcrumb li+li::before{content:"/" !important;color:var(--eh-ink-muted) !important;padding:0 .4rem}.eh-hero{padding:4rem 0 2rem;position:relative;border-bottom:1px solid var(--eh-rule);margin-bottom:3.5rem;overflow:hidden}.eh-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--eh-rule-soft) 1px, rgba(0,0,0,0) 1px),linear-gradient(90deg, var(--eh-rule-soft) 1px, rgba(0,0,0,0) 1px);background-size:48px 48px;mask-image:radial-gradient(closest-side at 70% 30%, #000, rgba(0,0,0,0) 80%);-webkit-mask-image:radial-gradient(closest-side at 70% 30%, #000, rgba(0,0,0,0) 80%);opacity:.55;pointer-events:none}.eh-hero .eh-kicker{font-family:var(--eh-font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--eh-ink-muted);display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem}.eh-hero .eh-kicker::before{content:"";width:28px;height:1px;background:var(--eh-accent);display:inline-block}.eh-hero .eh-title{font-family:var(--eh-font-sans);font-size:clamp(2.2rem,1.2rem + 4vw,4.2rem);line-height:1.02;font-weight:600;letter-spacing:-.035em;color:var(--eh-ink);margin:0 0 1.25rem;max-width:22ch}.eh-hero .eh-title em{font-family:var(--eh-font-display);font-style:italic;font-weight:300;color:var(--eh-accent)}.eh-hero .eh-lede{font-size:1.15rem;line-height:1.55;color:var(--eh-ink-soft);max-width:58ch;margin-bottom:2rem}.eh-feature{display:grid;grid-template-columns:minmax(0, 1fr);gap:2rem;align-items:center;padding:3rem 0;border-bottom:1px solid var(--eh-rule-soft)}.eh-feature:last-of-type{border-bottom:0}@media (min-width: 860px){.eh-feature{grid-template-columns:1.05fr 1fr;gap:4rem;padding:4.5rem 0}.eh-feature.is-reversed .eh-feature-media{order:2}.eh-feature.is-reversed .eh-feature-body{order:1}}.eh-feature .eh-feature-kicker{font-family:var(--eh-font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--eh-ink-muted);display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.eh-feature .eh-feature-kicker .num{color:var(--eh-accent);font-weight:600}.eh-feature .eh-feature-title{font-family:var(--eh-font-sans);font-size:clamp(1.7rem,1rem + 1.8vw,2.4rem);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0 0 .85rem;color:var(--eh-ink)}.eh-feature .eh-feature-title em{font-family:var(--eh-font-display);font-style:italic;font-weight:300}.eh-feature .eh-feature-lede{font-size:1.05rem;line-height:1.6;color:var(--eh-ink-soft);margin-bottom:1.5rem;max-width:48ch}.eh-feature .eh-feature-media{display:grid;place-items:center;position:relative}.eh-feature .eh-feature-media img,.eh-feature .eh-feature-media figure img{max-width:100%;height:auto;border-radius:4px}.eh-feature .eh-feature-frame{position:relative;padding:1.25rem;background:var(--eh-bg-elev);border:1px solid var(--eh-rule);border-radius:6px;box-shadow:var(--eh-shadow);max-width:520px}.eh-feature .eh-feature-frame::before{content:attr(data-label);position:absolute;top:-10px;left:16px;font-family:var(--eh-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--eh-ink-muted);background:var(--eh-bg);padding:0 .5rem}.eh-btn,.button.is-info,.content .button.is-info{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--eh-font-sans);font-weight:500;font-size:.95rem;padding:.7rem 1.2rem;border-radius:3px;border:1px solid var(--eh-accent);background:var(--eh-accent);color:var(--eh-accent-on) !important;text-decoration:none !important;transition:background 140ms ease,border-color 140ms ease,transform 140ms ease;letter-spacing:-.005em;box-shadow:none;height:auto}.eh-btn:hover,.button.is-info:hover,.content .button.is-info:hover{background:var(--eh-accent-hover);border-color:var(--eh-accent-hover);transform:translateY(-1px)}.eh-btn::after,.button.is-info::after,.content .button.is-info::after{content:"→";font-family:var(--eh-font-mono);transition:transform 180ms ease}.eh-btn:hover::after,.button.is-info:hover::after,.content .button.is-info:hover::after{transform:translate(3px, 0)}.eh-btn--ghost{background:rgba(0,0,0,0);color:var(--eh-ink) !important;border-color:var(--eh-rule)}.eh-btn--ghost:hover{background:var(--eh-bg-sunken);border-color:var(--eh-ink-soft);color:var(--eh-ink) !important}.button.is-large{font-size:1rem}.eh-footer{margin-top:5rem;padding:3rem 0 2.5rem;border-top:1px solid var(--eh-rule);background:var(--eh-bg-sunken);font-size:.9rem}.eh-footer .eh-footer-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:2rem}@media (min-width: 720px){.eh-footer .eh-footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.eh-footer .eh-footer-brand .brand-word{font-size:1rem}.eh-footer .eh-footer-brand p{color:var(--eh-ink-muted);margin-top:.7rem;max-width:38ch;line-height:1.55}.eh-footer .eh-footer-title{font-family:var(--eh-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--eh-ink-muted);margin-bottom:.75rem}.eh-footer ul{list-style:none;margin:0;padding:0}.eh-footer li{margin:.25rem 0}.eh-footer a{color:var(--eh-ink-soft);text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);transition:color 140ms ease,border-color 140ms ease}.eh-footer a:hover{color:var(--eh-ink);border-color:var(--eh-ink)}.eh-footer .eh-footer-meta{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--eh-rule-soft);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-family:var(--eh-font-mono);font-size:.78rem;color:var(--eh-ink-muted);letter-spacing:.04em}.eh-footer .eh-footer-meta a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}.eh-footer .eh-footer-meta a:hover{color:var(--eh-ink)}.centered{display:flex;justify-content:center;align-items:center}.responsive-image{max-width:100%;height:auto}:root{--eh-ruth-bg: #fef3d9;--eh-ruth-bg-2: #fde7b8;--eh-ruth-ink: #1f1b12;--eh-ruth-ink-soft: #4a4334;--eh-ruth-ink-muted: #7a6f55;--eh-ruth-rule: #e3c98c;--eh-ruth-accent: #b54708;--eh-ruth-link: #b54708}[data-theme=dark]{--eh-ruth-bg: #181613;--eh-ruth-bg-2: #221d16;--eh-ruth-ink: #f5efe1;--eh-ruth-ink-soft: #c9bfa6;--eh-ruth-ink-muted: #8a8170;--eh-ruth-rule: #3a3327;--eh-ruth-accent: #ff9d5c;--eh-ruth-link: #ffb07a}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--eh-ruth-bg: #181613;--eh-ruth-bg-2: #221d16;--eh-ruth-ink: #f5efe1;--eh-ruth-ink-soft: #c9bfa6;--eh-ruth-ink-muted: #8a8170;--eh-ruth-rule: #3a3327;--eh-ruth-accent: #ff9d5c;--eh-ruth-link: #ffb07a}}.eh-ruth{display:block;background:linear-gradient(180deg, var(--eh-ruth-bg) 0%, var(--eh-ruth-bg-2) 100%);border:1px solid var(--eh-ruth-rule);border-radius:6px;color:var(--eh-ruth-ink);margin:2rem auto;max-width:960px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 16px 40px -28px rgba(0,0,0,.25)}[data-theme=dark] .eh-ruth{box-shadow:0 1px 0 rgba(0,0,0,.5),0 24px 50px -30px rgba(0,0,0,.8)}.eh-ruth__top{display:grid;grid-template-columns:minmax(0, 1fr);gap:1.25rem;padding:1.75rem 1.75rem 1.5rem}@media (min-width: 640px){.eh-ruth__top{grid-template-columns:auto minmax(0, 1fr);gap:1.75rem;padding:2rem}}.eh-ruth__cover{display:block;justify-self:center;align-self:start;text-decoration:none !important;border-bottom:0 !important;line-height:0}.eh-ruth__cover img{display:block;width:100%;max-width:120px;height:auto;border-radius:3px;box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}[data-theme=dark] .eh-ruth__cover img{box-shadow:0 8px 24px -8px rgba(0,0,0,.9)}.eh-ruth__body{min-width:0;color:var(--eh-ruth-ink)}.eh-ruth__kicker{font-family:var(--eh-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--eh-ruth-accent);margin-bottom:.6rem;display:inline-block;position:relative;padding-left:1.15rem}.eh-ruth__kicker::before{content:"";position:absolute;left:0;top:50%;width:.8rem;height:1px;background:var(--eh-ruth-accent)}.eh-ruth__title-link{display:inline-block;text-decoration:none !important;color:inherit !important;border:0 !important}.eh-ruth__title-link:hover{color:var(--eh-ruth-accent) !important}.eh-ruth__title-link::after{content:none !important}.eh-ruth__title{font-family:var(--eh-font-sans);font-weight:700;font-size:1.35rem;line-height:1.15;letter-spacing:-.02em;color:var(--eh-ruth-ink);margin:0 0 .4rem;padding:0;border:0}.eh-ruth__title--hero{font-size:clamp(1.75rem,1.1rem + 2.2vw,2.5rem);letter-spacing:-.028em}.eh-ruth__subtitle{font-family:var(--eh-font-display);font-style:italic;font-weight:300;font-size:1.1rem;color:var(--eh-ruth-ink-soft);margin:0 0 1rem;line-height:1.3}.eh-ruth__description{color:var(--eh-ruth-ink-soft);font-size:.98rem;line-height:1.6;margin:0;max-width:58ch}.eh-ruth__bullets{list-style:none;padding:0;margin:.3rem 0 0}.eh-ruth__bullets>li{position:relative;padding:.4rem 0 .4rem 1.6rem;color:var(--eh-ruth-ink-soft);font-size:1rem;line-height:1.45;border:0 !important}.eh-ruth__bullets>li::before{content:"";position:absolute;left:.15rem;top:.95em;width:.6rem;height:.32rem;border-left:1.75px solid var(--eh-ruth-accent);border-bottom:1.75px solid var(--eh-ruth-accent);transform:rotate(-45deg);transform-origin:center}.eh-ruth__links{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:1px;background:var(--eh-ruth-rule);border-top:1px solid var(--eh-ruth-rule);margin:0}.eh-ruth__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.95rem .75rem;background:var(--eh-ruth-bg-2);color:var(--eh-ruth-link) !important;text-decoration:none !important;font-family:var(--eh-font-sans);font-weight:500;font-size:1rem;text-align:center;transition:background 140ms ease,color 140ms ease;border:0 !important}.eh-ruth__link::after{content:none !important}.eh-ruth__link-label{font-weight:600;letter-spacing:-.005em}.eh-ruth__link-source{font-family:var(--eh-font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--eh-ruth-ink-muted)}.eh-ruth__link:hover{background:var(--eh-ruth-bg);color:var(--eh-ruth-accent) !important}.eh-ruth__link:hover .eh-ruth__link-source{color:var(--eh-ruth-accent)}.eh-ruth--compact .eh-ruth__cover img{max-width:110px}.eh-ruth--compact .eh-ruth__title{font-size:1.25rem}.eh-ruth--flush{margin:0;max-width:none;width:100%;height:100%;display:flex;flex-direction:column}.eh-ruth--flush .eh-ruth__links{margin-top:auto}.eh-ruth--hero .eh-ruth__cover img,.eh-ruth--list .eh-ruth__cover img{max-width:160px}@media (min-width: 768px){.eh-ruth--hero .eh-ruth__cover img,.eh-ruth--list .eh-ruth__cover img{max-width:240px}}@media (min-width: 640px){.eh-ruth--list .eh-ruth__top{align-items:center}}.eh-commerce-hero{padding:2.5rem 0 1.25rem;border-bottom:1px solid var(--eh-rule);margin-bottom:2rem}.eh-commerce-hero__kicker{font-family:var(--eh-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--eh-accent);margin-bottom:1rem;position:relative;padding-left:1.25rem;display:inline-block}.eh-commerce-hero__kicker::before{content:"";position:absolute;left:0;top:50%;width:.9rem;height:1px;background:var(--eh-accent)}.eh-commerce-hero__title{font-family:var(--eh-font-sans);font-weight:600;font-size:clamp(2rem,1.2rem + 3vw,3.2rem);line-height:1.05;letter-spacing:-.03em;color:var(--eh-ink);margin:0 0 .9rem;max-width:22ch}.eh-commerce-hero__lede{font-size:1.1rem;line-height:1.55;color:var(--eh-ink-soft);max-width:62ch;margin:0}.eh-commerce-body{display:block}.eh-commerce-grid{display:grid;grid-template-columns:minmax(0, 1fr);gap:1.25rem;margin:2rem 0}@media (min-width: 860px){.eh-commerce-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem}}.eh-commerce-card{background:var(--eh-bg-elev);border:1px solid var(--eh-rule);border-radius:6px;padding:1.75rem 1.9rem;position:relative}.eh-commerce-card h2{font-family:var(--eh-font-sans);font-weight:600;font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;color:var(--eh-ink-soft);margin:0 0 1.1rem;padding-bottom:.75rem;border-bottom:1px solid var(--eh-rule-soft)}.eh-commerce-card h2::before{content:none}.eh-commerce-card>ul:not([class]),.eh-commerce-card ul:not([class]){list-style:none;padding:0;margin:0}.eh-commerce-card>ul:not([class])>li,.eh-commerce-card ul:not([class])>li{position:relative;padding:.45rem 0 .45rem 1.6rem;border:0 !important;color:var(--eh-ink-soft);font-size:.95rem;line-height:1.55}.eh-commerce-card>ul:not([class])>li::before,.eh-commerce-card ul:not([class])>li::before{content:"";position:absolute;left:0;top:.8em;width:.65rem;height:.35rem;border-left:1.5px solid var(--eh-accent);border-bottom:1.5px solid var(--eh-accent);transform:rotate(-45deg);transform-origin:center}.eh-commerce-card>ul:not([class])>li>a,.eh-commerce-card ul:not([class])>li>a{color:var(--eh-accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--eh-accent) 40%, rgba(0,0,0,0))}.eh-commerce-card>ul:not([class])>li>a:hover,.eh-commerce-card ul:not([class])>li>a:hover{border-bottom-color:currentColor;padding:0;background:rgba(0,0,0,0)}.eh-commerce-card>ul:not([class])>li>a::after,.eh-commerce-card ul:not([class])>li>a::after{content:none !important}.eh-commerce-card>ol,.eh-commerce-card ol{list-style:none;padding:0;margin:0;counter-reset:eh-step}.eh-commerce-card>ol>li,.eh-commerce-card ol>li{counter-increment:eh-step;position:relative;padding:.3rem 0 1rem 3rem;border:0 !important;color:var(--eh-ink-soft);font-size:.95rem;line-height:1.6}.eh-commerce-card>ol>li::before,.eh-commerce-card ol>li::before{content:counter(eh-step, decimal-leading-zero);position:absolute;left:0;top:.25rem;width:2rem;height:2rem;display:grid;place-items:center;font-family:var(--eh-font-mono);font-size:.82rem;font-weight:500;color:var(--eh-accent);background:color-mix(in srgb, var(--eh-accent) 12%, rgba(0,0,0,0));border-radius:3px;letter-spacing:.04em}.eh-commerce-card>ol>li p,.eh-commerce-card>ol>li img,.eh-commerce-card ol>li p,.eh-commerce-card ol>li img{margin:.6rem 0}.eh-commerce-card>ol>li img,.eh-commerce-card ol>li img{max-width:100%;border:1px solid var(--eh-rule-soft);border-radius:3px}.eh-commerce-card>ol>li strong,.eh-commerce-card ol>li strong{color:var(--eh-ink)}.eh-commerce-card p{margin:.75rem 0;color:var(--eh-ink-soft)}.eh-commerce-card strong{color:var(--eh-ink)}.eh-commerce-card a:not(.eh-btn):not(.button){color:var(--eh-accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--eh-accent) 40%, rgba(0,0,0,0));transition:border-color 140ms ease}.eh-commerce-card a:not(.eh-btn):not(.button):hover{border-bottom-color:currentColor}.eh-commerce-card--accent{background:color-mix(in srgb, var(--eh-accent) 5%, var(--eh-bg-elev));border-color:color-mix(in srgb, var(--eh-accent) 35%, var(--eh-rule))}.eh-commerce-card--accent h2{color:var(--eh-accent)}.eh-support-strip{margin:3rem 0 1rem;padding:1.75rem 2rem;background:var(--eh-bg-sunken);border:1px solid var(--eh-rule-soft);border-radius:6px;display:grid;grid-template-columns:minmax(0, 1fr);gap:1rem;align-items:center}@media (min-width: 720px){.eh-support-strip{grid-template-columns:1fr auto}}.eh-support-strip__kicker{font-family:var(--eh-font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--eh-ink-muted);margin-bottom:.3rem}.eh-support-strip p{margin:0;color:var(--eh-ink-soft);font-size:.98rem;max-width:56ch}.eh-support-strip__link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--eh-font-mono);font-size:.95rem;padding:.6rem 1rem;background:var(--eh-bg-elev);border:1px solid var(--eh-rule);border-radius:3px;color:var(--eh-ink) !important;text-decoration:none !important;transition:border-color 140ms ease,color 140ms ease,background 140ms ease;white-space:nowrap}.eh-support-strip__link::before{content:"@";font-family:var(--eh-font-mono);color:var(--eh-accent)}.eh-support-strip__link:hover{border-color:var(--eh-accent);color:var(--eh-accent) !important}.eh-order-card{position:relative;display:grid;grid-template-columns:minmax(0, 1fr);gap:1.75rem;align-items:center;padding:2rem 2rem;margin:2rem 0 2.5rem;background:var(--eh-bg-elev);border:1px solid var(--eh-rule);border-radius:6px;box-shadow:var(--eh-shadow);overflow:hidden}.eh-order-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg, var(--eh-accent), color-mix(in srgb, var(--eh-accent) 35%, rgba(0,0,0,0)))}@media (min-width: 720px){.eh-order-card{grid-template-columns:minmax(0, 1fr) auto;padding:2.25rem 2.5rem;gap:3rem}}.eh-order-card__meta{min-width:0}.eh-order-card__kicker{display:inline-block;font-family:var(--eh-font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--eh-accent);margin-bottom:.6rem;position:relative;padding-left:1.1rem}.eh-order-card__kicker::before{content:"";position:absolute;left:0;top:50%;width:.75rem;height:1px;background:var(--eh-accent)}.eh-order-card__product{font-family:var(--eh-font-sans);font-weight:600;font-size:clamp(1.35rem,1rem + 1.1vw,1.75rem);line-height:1.2;letter-spacing:-.02em;color:var(--eh-ink);margin:0;padding:0;border:0}.eh-order-card__cta{display:flex;flex-direction:column;gap:1rem;align-items:stretch}@media (min-width: 720px){.eh-order-card__cta{flex-direction:row;align-items:center;gap:1.5rem}}.eh-order-card__price{display:flex;flex-direction:column;gap:.15rem;min-width:5.5rem}.eh-order-card__price-label{font-family:var(--eh-font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--eh-ink-muted)}.eh-order-card__price-value{font-family:var(--eh-font-sans);font-weight:600;font-size:1.5rem;letter-spacing:-.015em;color:var(--eh-ink);line-height:1}.eh-order-card__button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--eh-font-sans);font-weight:500;font-size:1rem;padding:.85rem 1.6rem;border-radius:3px;border:1px solid var(--eh-accent);background:var(--eh-accent);color:var(--eh-accent-on) !important;text-decoration:none !important;letter-spacing:-.005em;transition:background 140ms ease,border-color 140ms ease,transform 140ms ease;white-space:nowrap}.eh-order-card__button::after{content:"→";font-family:var(--eh-font-mono);transition:transform 180ms ease}.eh-order-card__button:hover{background:var(--eh-accent-hover);border-color:var(--eh-accent-hover);transform:translateY(-1px);color:var(--eh-accent-on) !important}.eh-order-card__button:hover::after{transform:translateX(3px)}.content h1.title.is-size-1,.content h1:first-of-type{font-size:clamp(2rem,1.3rem + 2.6vw,3rem);font-weight:600;letter-spacing:-.028em;line-height:1.1;margin-top:1.25rem;margin-bottom:1rem;color:var(--eh-ink);border:0}.content h2{text-transform:none}.content .columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:.5rem;margin-bottom:.5rem}.content .column{padding:.75rem}.content a.box,.content .column>a.box{display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.35rem 1.4rem 1.25rem;background:var(--eh-bg-elev);color:var(--eh-ink);border:1px solid var(--eh-rule);border-radius:4px;box-shadow:none;text-decoration:none !important;position:relative;overflow:hidden;transition:border-color 160ms ease,transform 160ms ease,background 160ms ease,box-shadow 160ms ease}.content a.box::before,.content .column>a.box::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--eh-accent);transform:scaleX(0);transform-origin:left;transition:transform 220ms ease}.content a.box::after,.content .column>a.box::after{content:"Read →";position:absolute;top:1rem;right:1.25rem;font-family:var(--eh-font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--eh-ink-muted);transition:color 160ms ease,transform 220ms ease}.content a.box[href^=http]::after,.content .column>a.box[href^=http]::after{content:"Medium ↗"}.content a.box h3,.content a.box h2,.content a.box h4,.content .column>a.box h3,.content .column>a.box h2,.content .column>a.box h4{font-family:var(--eh-font-sans);font-weight:600;font-size:1.1rem;line-height:1.25;margin:0 0 .2rem;padding:0;border:0;color:var(--eh-ink);letter-spacing:-.012em;max-width:92%}.content a.box p,.content .column>a.box p{margin:0;color:var(--eh-ink-soft);font-size:.93rem;line-height:1.55}.content a.box:hover,.content a.box:focus-visible,.content .column>a.box:hover,.content .column>a.box:focus-visible{border-color:color-mix(in srgb, var(--eh-accent) 55%, var(--eh-rule));background:var(--eh-bg-elev);transform:translateY(-2px);box-shadow:var(--eh-shadow)}.content a.box:hover::before,.content a.box:focus-visible::before,.content .column>a.box:hover::before,.content .column>a.box:focus-visible::before{transform:scaleX(1)}.content a.box:hover::after,.content a.box:focus-visible::after,.content .column>a.box:hover::after,.content .column>a.box:focus-visible::after{color:var(--eh-accent);transform:translateX(3px)}.content a.box:hover h3,.content a.box:hover h2,.content a.box:hover h4,.content a.box:focus-visible h3,.content a.box:focus-visible h2,.content a.box:focus-visible h4,.content .column>a.box:hover h3,.content .column>a.box:hover h2,.content .column>a.box:hover h4,.content .column>a.box:focus-visible h3,.content .column>a.box:focus-visible h2,.content .column>a.box:focus-visible h4{color:var(--eh-accent)}.content a.box:active,.content .column>a.box:active{transform:translateY(0)}.content .column.is-flex{display:flex}.content .column.is-flex>a.box{flex:1 1 auto}.content h1.is-size-1{font-size:clamp(2rem,1.3rem + 2.6vw,3rem);font-weight:600;letter-spacing:-.03em;margin-top:1.25rem;margin-bottom:.5rem;border-bottom:0;color:var(--eh-ink)}.content h2.is-size-2{font-size:clamp(1.35rem,1.05rem + 1vw,1.7rem);font-weight:500;color:var(--eh-ink-soft);letter-spacing:-.015em;margin-top:3rem;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--eh-rule);display:flex;align-items:baseline;gap:.7rem}.content h2.is-size-2::before{content:"§";font-family:var(--eh-font-display);font-style:italic;font-weight:300;color:var(--eh-accent);font-size:1em}.content>ul:not([class]),.content .content>ul:not([class]){list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:0}.content>ul:not([class])>li,.content .content>ul:not([class])>li{margin:0;border-bottom:1px solid var(--eh-rule-soft)}.content>ul:not([class])>li>a,.content .content>ul:not([class])>li>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem .25rem;text-decoration:none;color:var(--eh-ink);font-weight:500;font-size:1rem;transition:color 140ms ease,padding-left 200ms ease,background 140ms ease}.content>ul:not([class])>li>a::after,.content .content>ul:not([class])>li>a::after{content:"→";font-family:var(--eh-font-mono);color:var(--eh-ink-muted);transition:transform 200ms ease,color 140ms ease}.content>ul:not([class])>li>a:hover,.content .content>ul:not([class])>li>a:hover{color:var(--eh-accent);padding-left:.75rem;background:var(--eh-bg-sunken)}.content>ul:not([class])>li>a:hover::after,.content .content>ul:not([class])>li>a:hover::after{color:var(--eh-accent);transform:translateX(4px)}.content>ul:not([class])>li:first-child,.content .content>ul:not([class])>li:first-child{border-top:1px solid var(--eh-rule-soft)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0s !important;transition-duration:0s !important;scroll-behavior:auto !important}}.content p:last-child{margin-bottom:0}@media (max-width: 767px){.reverse-columns{flex-direction:column-reverse;display:flex}}.eh-privacy-notice{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:200;max-width:720px;margin-left:auto;margin-right:auto;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--eh-rule-soft);background:var(--eh-bg-sunken);color:var(--eh-text);box-shadow:0 12px 32px rgba(0,0,0,.18);font-size:.92rem;line-height:1.45;display:none;align-items:center;gap:.75rem}.eh-privacy-notice.is-visible{display:flex}.eh-privacy-notice p{margin:0;flex:1}.eh-privacy-notice a{color:var(--eh-accent);text-decoration:underline}.eh-privacy-notice button{flex-shrink:0;appearance:none;background:var(--eh-accent);color:#fff;border:0;border-radius:6px;padding:.4rem .85rem;font:inherit;font-weight:600;cursor:pointer}.eh-privacy-notice button:hover{filter:brightness(1.08)}.eh-privacy-notice button:focus-visible{outline:2px solid var(--eh-accent);outline-offset:2px}