@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{color-scheme:dark;--color-bg: #07110e;--color-surface-1: #0e1a16;--color-surface-2: #16231f;--color-line-1: #1a2a25;--color-line-2: #2c463d;--color-text-hi: #ffffff;--color-text-body: #b5c4be;--color-text-dim: #8fa29b;--color-text-faint: #4e5f59;--color-brand-green: #1bbc9b;--color-brand-green-text: #1bbc9b;--color-on-green: #07110e;--color-brand-ink: #07110e;--color-paper: #ffffff;--diagram-ink: #1d2426;--diagram-purple: #4c3cf7;--diagram-orange: #ff7b57;--diagram-amber: #ffc055;--diagram-mint: #4af1c7;--diagram-mint-soft: #dafcf1;--diagram-slate: #9bb1c6;--diagram-teal: #74e0dc;--diagram-teal-soft: #d2f5f5;--diagram-yellow: #ffe576;--diagram-yellow-soft: #fffad1;--diagram-mist: #e8eef4;--diagram-muted: #46504d;--color-scrim: rgb(7 17 14 / .8);--color-brand-mist: #e6efec;--color-cube-dim: #5e7a71;--color-employer-sew: var(--color-brand-green);--color-employer-linqia: var(--color-brand-green);--color-employer-vungle: #e6efec;--color-employer-bizness: #5e9a8b;--color-draft: #c77a2a;--color-chart-1: #6f93c0;--color-chart-2: #c98a69;--color-chart-3: #5fa587;--color-chart-4: #c9a95c;--color-chart-5: #c48aa2;--color-chart-other: #4a5653;--color-chart-highlight: #3f9c86;--color-chart-good: #5fa587;--color-chart-warn: #c9a95c;--color-chart-bad: #c27c71;--color-chart-on-fill: var(--color-brand-ink);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 72px;--space-9: 96px;--section-gap: clamp(var(--space-8), 8vw, calc(var(--space-9) + var(--space-5)));--block-gap: var(--space-5);--prose-max: 990px;--measure: 68ch;--dot-pitch: 22px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--radius-pill: 999px;--shadow-lift: 0 30px 60px rgba(0, 0, 0, .28);--shadow-pop: 0 8px 24px rgba(0, 0, 0, .16);--shadow-lift-filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .28));--shadow-bar: 0 12px 24px -18px rgba(0, 0, 0, .35);--font-display: "Archivo Variable", "Archivo", "Arial Black", system-ui, sans-serif;--font-body: "Inter Variable", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--type-display-xl: clamp(56px, 10vw, 160px);--type-display-l: clamp(44px, 5.4vw, 76px);--type-display-m: clamp(26px, 3.2vw, 46px);--type-heading: clamp(24px, 2.4vw, 32px);--type-body-l: clamp(17px, 1.5vw, 20px);--type-body: 17px;--type-body-s: 15px;--type-title-card: 20px;--type-label: 12px;--type-label-s: 11px;--ease-out: cubic-bezier(.2, .8, .2, 1);--dur-fast: .15s;--dur-base: .25s;--dur-slow: .45s;--dur-reveal: .8s;--dur-intro: 1.2s;--header-h: 72px;--tenure-col-1: 190px;--tenure-col-3: 270px;--page-max: 1440px;--page-pad: clamp(var(--space-4), 5vw, var(--space-8))}[data-theme=light]{color-scheme:light;--color-bg: #f6f8f7;--color-surface-1: #ffffff;--color-surface-2: #eaf0ee;--color-line-1: #dce3e0;--color-line-2: #c5cfcb;--color-text-hi: #07110e;--color-text-body: #33433f;--color-text-dim: #56645f;--color-text-faint: #a9b4b0;--color-brand-green-text: #0b7a63;--color-employer-vungle: #14201c;--color-draft: #a85a12;--color-chart-1: #7ea6d6;--color-chart-2: #e7a07c;--color-chart-3: #7cc4a2;--color-chart-4: #e9c46a;--color-chart-5: #e2a3bd;--color-chart-other: #c3cbc8;--color-chart-highlight: #4fa894;--color-chart-good: #7cc4a2;--color-chart-warn: #ebc672;--color-chart-bad: #e39486}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-body);font-family:var(--font-body);font-size:var(--type-body);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;transition:background-color var(--dur-slow) ease,color var(--dur-slow) ease}img,video,svg{max-width:100%}img,video{height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;color:var(--color-text-hi)}p{margin:0}:focus-visible{outline:2px solid var(--color-brand-green-text);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-brand-green);color:var(--color-on-green)}.jd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jd-skip{position:absolute;left:var(--space-4);top:-100px;z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-brand-green);color:var(--color-on-green);font-weight:600}.jd-skip:focus{top:var(--space-4)}.jd-container{width:100%;max-width:var(--page-max);margin:0 auto;padding:0 var(--page-pad)}.jd-display-xl,.jd-display-l,.jd-display-m,.jd-heading{font-family:var(--font-display);font-weight:800;font-stretch:125%;color:var(--color-text-hi)}.jd-display-xl{font-size:var(--type-display-xl);line-height:.86;letter-spacing:-.02em;text-transform:uppercase}.jd-hero-name{font-size:clamp(48px,8vw,128px)}.jd-display-l{font-size:var(--type-display-l);line-height:.9;text-transform:uppercase}.jd-display-m{font-size:var(--type-display-m);line-height:1.08;letter-spacing:-.015em}.jd-heading{font-size:var(--type-heading);line-height:1.1}.jd-body-l{font-size:var(--type-body-l);line-height:1.65}.jd-body{font-size:var(--type-body);line-height:1.75}.jd-body-s{font-size:var(--type-body-s);line-height:1.6}.jd-title-card{font-size:var(--type-title-card);line-height:1.25;font-weight:600;color:var(--color-text-hi)}.jd-label,.jd-label-s{font-family:var(--font-mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;color:var(--color-text-dim)}.jd-label{font-size:var(--type-label)}.jd-label-s{font-size:var(--type-label-s)}.jd-accent-dot{color:var(--color-brand-green-text)}h1,h2,h3,[class*=__title]{text-wrap:balance}.jd-prose p{text-wrap:pretty}a[target=_blank]:not(:has(img)):after,a[href^=http]:not([href*="idiaz.design"]):not(:has(img)):after{content:" ↗";content:" ↗" / "";display:inline-block;text-decoration:none;font-family:var(--font-body);font-weight:inherit}.jd-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-hi);font-family:var(--font-body);font-size:var(--type-body-s);font-weight:600;line-height:1.2;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),background-color var(--dur-base) ease,color var(--dur-base) ease}.jd-button:hover{transform:translateY(-2px)}.jd-button--primary{background:var(--color-brand-green);color:var(--color-on-green)}.jd-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-hi);font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}.jd-pill--green{background:var(--color-brand-green);color:var(--color-on-green)}.jd-filter-chip{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-hi);font-size:var(--type-body-s);font-weight:600;cursor:pointer;transition:background-color var(--dur-base) ease,color var(--dur-base) ease}.jd-filter-chip:hover{background:var(--color-line-2)}.jd-filter-chip[aria-pressed=true]{background:var(--color-text-hi);color:var(--color-bg);box-shadow:none}.jd-theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer}.jd-theme-toggle__track{position:relative;display:block;width:52px;height:28px;border-radius:var(--radius-pill);background:var(--color-surface-2);box-shadow:inset 0 0 0 1.5px var(--color-text-dim);transition:background-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.jd-theme-toggle__thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-text-hi);transition:transform var(--dur-base) var(--ease-out),background-color var(--dur-base) ease}.jd-theme-toggle[aria-checked=true] .jd-theme-toggle__track{background:var(--color-brand-green);box-shadow:none}.jd-theme-toggle[aria-checked=true] .jd-theme-toggle__thumb{transform:translate(24px);background:var(--color-on-green)}.jd-theme-toggle__icon{display:block;fill:var(--color-bg);stroke:var(--color-bg)}.jd-theme-toggle__icon--moon{display:none;fill:var(--color-brand-green);stroke:none}.jd-theme-toggle[aria-checked=true] .jd-theme-toggle__icon--sun{display:none}.jd-theme-toggle[aria-checked=true] .jd-theme-toggle__icon--moon{display:block}.jd-theme-toggle:focus-visible{outline:none}.jd-theme-toggle:focus-visible .jd-theme-toggle__track{outline:2px solid var(--color-brand-green-text);outline-offset:3px}.jd-draft-marker{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);border:1.5px dashed var(--color-line-2)}.jd-draft-marker__label{font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-draft);line-height:1.4}.jd-draft-marker--inline{display:inline;padding:0;border:0;border-radius:0;text-decoration:underline dashed var(--color-draft);text-decoration-thickness:1.5px;text-underline-offset:4px}.jd-draft-marker--inline .jd-draft-marker__label{display:inline-block;margin-left:.5em;font-size:9px;vertical-align:super;text-decoration:none}.jd-mark{display:block;overflow:visible;flex:none}.jd-mark__top{fill:var(--color-brand-green)}.jd-mark__left{fill:var(--color-brand-mist)}[data-theme=light] .jd-mark__left{fill:var(--color-brand-ink)}.jd-mark__right{fill:var(--color-cube-dim)}.jd-mark--assemble .jd-mark__dot{transform-box:fill-box;transform-origin:center;animation:jd-assemble .5s var(--ease-out) both;animation-delay:calc(var(--jd-base-delay, 0s) + var(--d, 0s))}@keyframes jd-assemble{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}.jd-mark.is-hopping{transform-origin:50% 90%;animation:jd-hop .85s var(--ease-out)}.jd-mark.is-hopping .jd-mark__dot{transform-box:fill-box;transform-origin:center;animation:jd-dot-pop .4s var(--ease-out);animation-delay:calc(.12s + var(--d, 0s) * .45)}.jd-mark--assemble.is-hopping .jd-mark__dot{animation:jd-assemble .5s var(--ease-out) both,jd-dot-pop .4s var(--ease-out);animation-delay:calc(var(--jd-base-delay, 0s) + var(--d, 0s)),calc(.12s + var(--d, 0s) * .45)}@keyframes jd-hop{0%{transform:none}14%{transform:scale(1.14,.84)}36%{transform:translateY(-20%) rotate(-8deg) scale(.92,1.1)}52%{transform:translateY(-23%) rotate(5deg)}72%{transform:scale(1.12,.88)}86%{transform:scale(.96,1.04)}to{transform:none}}@keyframes jd-dot-pop{0%,to{transform:none}45%{transform:scale(1.5)}}.jd-progress-bar{position:fixed;left:0;top:0;z-index:60;width:100%;height:3px;background:var(--color-brand-green);transform:scaleX(var(--jd-progress, 0));transform-origin:0 50%;pointer-events:none}@supports (animation-timeline: scroll()){.jd-progress-bar{animation:jd-progress linear both;animation-timeline:scroll(root)}@keyframes jd-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.jd-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid transparent;transition:border-color var(--dur-base) ease,background-color var(--dur-slow) ease}.jd-header.is-scrolled{border-bottom-color:var(--color-line-1)}.jd-header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--header-h);padding-top:var(--space-2);padding-bottom:var(--space-2)}.jd-header__brand{display:inline-flex;align-items:center;gap:var(--space-3);font-weight:600;font-size:var(--type-body);line-height:1.2;color:var(--color-text-hi)}.jd-header__end{display:flex;align-items:center;gap:var(--space-3) var(--space-5)}.jd-header__nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.jd-header__link{padding:var(--space-3) 0;font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-hi);background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 calc(100% - 6px);transition:background-size var(--dur-slow) var(--ease-out),color var(--dur-base) ease}.jd-header__link:hover,.jd-header__link[aria-current=page]{background-size:100% 1.5px}.jd-header__link[aria-current=page]{color:var(--color-brand-green-text)}.jd-header__menu{display:none;min-height:40px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;box-shadow:inset 0 0 0 1px var(--color-text-dim);color:var(--color-text-hi);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-weight:500;line-height:1.4}@media (max-width: 860px){.jd-header__menu{display:inline-flex;align-items:center}.jd-header__brand-text{font-size:var(--type-body-s)}.jd-header__nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity var(--dur-fast) ease,transform var(--dur-fast) ease,visibility 0s linear var(--dur-fast);position:absolute;top:100%;left:var(--page-pad);right:var(--page-pad);flex-direction:column;gap:0;padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1);box-shadow:var(--shadow-lift)}.jd-header__nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity var(--dur-base) ease,transform var(--dur-slow) var(--ease-out),visibility 0s}.jd-header__link{padding:var(--space-4) 0;background-image:none}.jd-header__nav.is-open .jd-header__link{animation:jd-menu-link var(--dur-slow) var(--ease-out) both}.jd-header__nav.is-open .jd-header__link:nth-child(2){animation-delay:40ms}.jd-header__nav.is-open .jd-header__link:nth-child(3){animation-delay:80ms}.jd-header__nav.is-open .jd-header__link:nth-child(4){animation-delay:.12s}.jd-header__nav.is-open .jd-header__link:nth-child(5){animation-delay:.16s}.jd-header__nav.is-open .jd-header__link:nth-child(n+6){animation-delay:.2s}@keyframes jd-menu-link{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion: reduce){.jd-header__nav,.jd-header__nav.is-open{transform:none}.jd-header__nav.is-open .jd-header__link{animation:none}}.jd-header__link+.jd-header__link{border-top:1px solid var(--color-line-1)}}@media (max-width: 420px){.jd-header__brand-text{display:none}}.jd-footer{margin-top:var(--space-8)}.jd-footer__inner{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-7);padding-bottom:var(--space-6);border-top:1px solid var(--color-line-1)}.jd-footer__email{align-self:flex-start;max-width:100%;font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-display-m);line-height:1.08;overflow-wrap:anywhere;padding-block:var(--space-1);color:var(--color-text-hi);transition:color var(--dur-base) ease}.jd-footer__email:hover{color:var(--color-brand-green-text)}@media (max-width: 520px){.jd-footer__email{font-stretch:100%;font-size:clamp(16px,5.4vw,22px)}}.jd-footer__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-dim)}.jd-footer__meta a{display:inline-block;padding-block:var(--space-1);color:var(--color-text-hi)}.jd-footer__meta>span:first-child a{text-decoration:underline;text-underline-offset:3px}.jd-footer__meta a:hover{color:var(--color-brand-green-text)}.jd-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.jd-footer__links a{display:inline-block;padding:var(--space-1) 0}.jd-loader{position:fixed;inset:0;z-index:90;display:none;flex-direction:column;justify-content:flex-end;gap:var(--space-4);padding:clamp(20px,5vw,var(--space-8));background:var(--color-bg)}.jd-has-loader .jd-loader{display:flex;animation:jd-loader-lift 2.3s cubic-bezier(.7,0,.2,1) forwards}@keyframes jd-loader-lift{0%,78%{transform:translateY(0)}to{transform:translateY(-100%);visibility:hidden}}.jd-loader__stage{flex-grow:1;display:flex;align-items:center;justify-content:center}.jd-loader__stage .jd-mark{width:min(220px,50vw);height:auto}.jd-loader__row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4)}.jd-loader__count{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:clamp(64px,12vw,180px);line-height:.8;color:var(--color-brand-green-text);font-variant-numeric:tabular-nums}.jd-loader__track{height:2px;background:var(--color-line-1)}.jd-loader__bar{height:100%;background:var(--color-brand-green);transform-origin:0 50%;animation:jd-grow 1.7s cubic-bezier(.4,0,.2,1) forwards}@keyframes jd-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.jd-contents{position:sticky;top:calc(var(--header-h) + var(--space-5));flex:0 1 260px;padding-top:var(--space-6)}.jd-contents__summary{display:block;padding-bottom:var(--space-2);list-style:none;cursor:default}.jd-contents__summary::-webkit-details-marker{display:none}.jd-contents__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.jd-contents__link{--rule: var(--space-6);position:relative;display:flex;align-items:baseline;gap:var(--space-5);padding:var(--space-2) 0;font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-dim);transition:color var(--dur-base) ease,padding-left var(--dur-slow) var(--ease-out)}.jd-contents__num{flex:none;font-variant-numeric:tabular-nums}.jd-contents__text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.jd-contents__link:before{content:"";position:absolute;left:0;top:calc(var(--space-2) + .8em - 1px);width:calc(var(--rule) - var(--space-2));height:2px;background:var(--color-text-hi);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}.jd-contents__link:hover{color:var(--color-text-hi)}.jd-contents__link.is-active{padding-left:var(--rule);color:var(--color-text-hi)}.jd-contents__link.is-active:before{transform:scaleX(1)}.jd-contents__top{margin-top:var(--space-3)}.jd-contents__top .jd-contents__num{visibility:hidden}.jd-contents__top:before{content:none}.jd-contents__sub-wrap{display:grid;grid-template-rows:1fr}.jd-contents.is-ready .jd-contents__sub-wrap{transition:grid-template-rows var(--dur-slow) var(--ease-out)}.jd-contents__sub{min-height:0;overflow:hidden;margin:0 0 0 calc(2ch + var(--space-5));padding:0;list-style:none;font-size:var(--type-body-s);border-left:1px solid var(--color-line-2)}.jd-contents__sub>li:last-child{padding-bottom:var(--space-2)}.jd-contents__sublink{position:relative;display:block;padding:var(--space-1) 0 var(--space-1) var(--space-4);line-height:1.5;color:var(--color-text-dim);transition:color var(--dur-base) ease}.jd-contents__sublink:hover,.jd-contents__sublink.is-active{color:var(--color-text-hi)}.jd-contents__sublink:before{content:"";position:absolute;left:-1px;top:var(--space-1);bottom:var(--space-1);width:2px;background:var(--color-text-hi);transform:scaleY(0);transition:transform var(--dur-slow) var(--ease-out)}.jd-contents__sublink.is-active:before{transform:scaleY(1)}@media (min-width: 901px){.jd-contents.has-js .jd-contents__item:not(.is-open) .jd-contents__sub-wrap{grid-template-rows:0fr}.jd-contents.has-js .jd-contents__item:not(.is-open) .jd-contents__sub{visibility:hidden}}@media (prefers-reduced-motion: reduce){.jd-contents.is-ready .jd-contents__sub-wrap,.jd-contents__sublink:before{transition:none}}@media (min-width: 901px){.jd-case__layout>.jd-contents{order:2;margin-left:auto}.jd-contents__summary{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media (max-width: 900px){.jd-contents{position:static;flex-basis:100%;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-1)}.jd-contents__summary{display:flex;justify-content:space-between;align-items:center;padding:0;cursor:pointer}.jd-contents__summary:after{content:"+";font-family:var(--font-mono);font-size:16px;color:var(--color-text-hi)}.jd-contents[open] .jd-contents__summary:after{content:"−"}.jd-contents[open] .jd-contents__list{padding-top:var(--space-3)}}.jd-dot-field-hero{position:relative;min-height:min(640px,80vh);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);padding:clamp(24px,4vw,56px) 0 clamp(40px,5vw,72px);--mx: -999px;--my: -999px}.jd-dot-field-hero__base,.jd-dot-field-hero__glow{position:absolute;inset:0 calc(-1 * var(--page-pad));background-size:var(--dot-pitch) var(--dot-pitch);pointer-events:none}.jd-dot-field-hero__base{background-image:radial-gradient(circle,var(--color-line-2) 1.5px,transparent 1.8px);opacity:.8;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.jd-dot-field-hero__glow{background-image:radial-gradient(circle,var(--color-brand-green) 2.2px,transparent 2.6px);-webkit-mask-image:radial-gradient(260px circle at var(--mx) var(--my),#000 0%,rgba(0,0,0,.35) 45%,transparent 100%);mask-image:radial-gradient(260px circle at var(--mx) var(--my),#000 0%,rgba(0,0,0,.35) 45%,transparent 100%)}.jd-dot-field-hero__copy{position:relative;z-index:1;flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.jd-dot-field-hero__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4)}.jd-dot-field-hero__intro{max-width:720px;color:var(--color-text-body)}.jd-dot-field-hero__intro strong{font-weight:600;color:var(--color-brand-green-text)}.jd-dot-field-hero__art{position:relative;z-index:1;flex:1 1 300px;display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.jd-dot-field-hero__art .jd-mark{width:min(300px,70vw);height:auto}@media (max-width: 720px){.jd-dot-field-hero{min-height:0}.jd-dot-field-hero__art{display:none}.jd-dot-field-hero__intro{font-size:var(--type-body-s);line-height:1.6}}@media (max-width: 860px){.jd-dot-field-hero__copy{background:var(--color-bg);box-shadow:0 0 var(--space-5) var(--space-5) var(--color-bg);transition:background-color var(--dur-slow) ease,box-shadow var(--dur-slow) ease}}.jd-career-deck{--card-w: min(72cqi, 280px);--deck-spread: min(calc(var(--card-w) * .62), calc((100cqi - var(--card-w)) / 2 + var(--card-w) * .24));container-type:inline-size;position:relative;height:290px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}.jd-career-card{position:absolute;width:var(--card-w);height:240px;padding:var(--space-5);border:0;border-radius:var(--radius-xl);text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;background:var(--color-surface-1);color:var(--color-text-hi);box-shadow:var(--shadow-lift);transform:translate(calc(var(--d, 0) * var(--deck-spread))) rotate(calc(var(--d, 0) * 4deg)) scale(.9);transition:transform var(--dur-reveal) var(--ease-out),background-color var(--dur-slow) ease,color var(--dur-slow) ease,opacity var(--dur-slow) ease;z-index:var(--z, 1)}.jd-career-card:nth-child(odd){--jd-employer: var(--color-brand-green);--jd-on-employer: var(--color-on-green)}.jd-career-card:nth-child(2n){--jd-employer: var(--color-employer-vungle);--jd-on-employer: var(--color-bg)}.jd-career-card[aria-pressed=true]{background:var(--jd-employer);color:var(--jd-on-employer);transform:translate(0) rotate(0) scale(1)}.jd-career-card[aria-pressed=false]{box-shadow:var(--shadow-lift),inset 0 0 0 1px var(--color-line-2)}.jd-career-card.is-far{opacity:0;pointer-events:none}.jd-career-card>*{transition:opacity var(--dur-slow) ease}@container (max-width: 760px){.jd-career-card[aria-pressed=false]>*{opacity:0}}.jd-career-card__top{display:flex;justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;font-weight:500;line-height:1.4}.jd-career-card__body{display:flex;flex-direction:column;gap:var(--space-2)}.jd-career-card__year{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:46px;line-height:.85}.jd-career-card__years{display:flex;flex-direction:column;gap:var(--space-1)}.jd-career-card__year-end{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-title-card);line-height:1}.jd-career-card__company{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-title-card);line-height:1.05}.jd-career-card__role{font-size:var(--type-body-s);font-weight:600;line-height:1.4;opacity:.8}@media (max-width: 520px){.jd-career-deck{height:260px;--card-w: min(64cqi, 280px);--deck-spread: calc(var(--card-w) * .24);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.jd-career-card{height:220px;padding:var(--space-4)}.jd-career-card__year{font-size:40px}.jd-career-card__year-end{font-size:var(--type-body)}.jd-career-card__company{font-size:16px}}.jd-project-grid{container:jd-projects / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-5)}.jd-project-card{display:flex;flex-direction:column;gap:var(--space-3);transition:transform var(--dur-slow) var(--ease-out)}.jd-project-card__media{position:relative;aspect-ratio:16 / 10;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface-2)}.jd-project-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.jd-project-card__title{font-size:var(--type-title-card);font-weight:600;line-height:1.25;color:var(--color-text-hi)}.jd-project-card__result{font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-dim)}.jd-project-card__lock{position:absolute;top:var(--space-3);left:var(--space-3);z-index:1}.jd-coming-soon-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1.5px dashed var(--color-line-2);background:transparent}.jd-coming-soon-card__label{color:var(--color-brand-green-text)}.jd-coming-soon-card__text{font-size:var(--type-body);color:var(--color-text-hi)}.jd-work-bar{position:fixed;top:var(--header-h);left:0;right:0;z-index:45;background:color-mix(in srgb,var(--color-surface-1) 92%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--color-line-1);box-shadow:var(--shadow-bar);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--dur-base) ease,transform var(--dur-base) ease}.jd-work-bar.is-on{opacity:1;transform:none;pointer-events:auto}.jd-work-bar__inner{display:flex;gap:var(--space-2);padding-top:var(--space-2);padding-bottom:var(--space-2);overflow-x:auto;scrollbar-width:none}.jd-work-bar__inner::-webkit-scrollbar{display:none}.jd-work-bar .jd-filter-chip{flex:none;white-space:nowrap}@media (prefers-reduced-motion: reduce){.jd-work-bar{transition:none}}.jd-work{display:flex;flex-direction:column;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-line-1);scroll-margin-top:calc(var(--header-h) + var(--space-3))}.jd-work__head,.jd-work__employer-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3)}.jd-work__employer{display:flex;flex-direction:column;gap:var(--space-5)}.jd-work__employer[hidden]{display:none}.jd-work__employer-about{display:flex;flex-direction:column;gap:var(--space-5)}@media (max-width: 720px){.jd-work__employer-about{order:1}}.jd-work__employer-head{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-line-1)}.jd-work__employer-title{display:flex;align-items:center;gap:var(--space-3)}.jd-work__employer-badge{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover}.jd-work__employer-link{align-self:flex-start;font-family:var(--font-mono);font-size:14px;color:var(--color-brand-green-text);text-decoration:underline;text-underline-offset:3px}.jd-work__employer-link:hover{text-decoration-thickness:2px}.jd-work__employer-intro{margin:0;max-width:68ch;font-size:var(--type-body);line-height:1.65;color:var(--color-text-body)}.jd-metric-grid.jd-metric-grid--xl{container-name:jd-tiles-xl}.jd-metric-grid--xl .jd-metric-tile{padding:var(--space-6) var(--space-6) var(--space-5)}.jd-metric-grid--xl .jd-metric-tile__value{font-size:var(--type-display-l)}.jd-prose h3+.jd-metric-grid--xl{margin-top:var(--space-3)}.jd-before-after--media .jd-before-after__image{width:100%;height:auto;margin-top:var(--space-2);border-radius:var(--radius-md)}.jd-before-after--media .jd-before-after__image+.jd-before-after__image{margin-top:0}.jd-prose .jd-before-after--media .jd-before-after__list{gap:var(--space-2)}.jd-prose .jd-before-after--media .jd-before-after__list li{font-size:var(--type-body-s);line-height:1.55}.jd-prose .jd-before-after--media .jd-before-after__list li+li{margin-top:0}.jd-show-more>summary{display:inline-flex;list-style:none;cursor:pointer}.jd-show-more>summary::-webkit-details-marker{display:none}.jd-show-more[open]>summary{margin-bottom:var(--space-4)}.jd-show-more__close,.jd-show-more[open] .jd-show-more__open{display:none}.jd-show-more[open] .jd-show-more__close{display:inline}.jd-sitemap .jd-sitemap__sections:empty{display:none}.jd-sitemap .jd-sitemap__area:has(.jd-sitemap__sections:empty){padding-bottom:14px}.jd-milestones{display:flex;flex-direction:column;gap:var(--space-2)}.jd-milestones__list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.jd-milestones__item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--type-body-s);line-height:1.4}.jd-milestones__item+.jd-milestones__item:before{content:"→";color:var(--color-text-faint)}.jd-milestones__item a{color:var(--color-brand-green-text);text-decoration:underline;text-underline-offset:3px}.jd-milestones__item a:hover{text-decoration-thickness:2px}.jd-milestones__year{margin-right:.4em;font-family:var(--font-mono);font-weight:500}.jd-prose .jd-milestones__list{flex-direction:row;counter-reset:none}.jd-prose .jd-milestones__item{padding-left:0;font-size:var(--type-body-s);line-height:1.4}.jd-prose .jd-milestones__item:before{content:none}.jd-prose .jd-milestones__item+.jd-milestones__item:before{content:"→";position:static;font-family:inherit;font-size:inherit;color:var(--color-text-faint)}.jd-resume-job{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--color-text-hi);break-inside:avoid}.jd-resume-job[hidden]{display:none}.jd-resume-job__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-5)}.jd-resume-job__company{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-heading);line-height:1.1}.jd-resume-job__dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--jd-employer)}.jd-resume-job__role{font-size:var(--type-body);font-weight:600;color:var(--color-text-hi)}.jd-resume-job__bullets{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.jd-resume-job__bullets li{max-width:var(--measure);font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-body)}.jd-resume-job__cases{display:flex;flex-direction:column;gap:var(--space-3)}.jd-case-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--space-3)}.jd-case-link{min-width:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-1);transition:transform var(--dur-slow) var(--ease-out)}.jd-case-link__thumb{flex:0 0 96px;width:96px;aspect-ratio:16 / 10;object-fit:cover;border-radius:var(--radius-sm)}.jd-case-link__text{min-width:0;display:flex;flex-direction:column;gap:2px}.jd-case-link__label{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);font-weight:500;line-height:1.4}.jd-case-link__title{font-size:var(--type-body-s);font-weight:600;line-height:1.35;color:var(--color-text-hi)}.jd-tenure-row{display:grid;grid-template-columns:var(--tenure-col-1) minmax(0,1fr) var(--tenure-col-3);align-items:center;column-gap:var(--space-6);row-gap:var(--space-2);padding:var(--space-4) 0;border-top:1px solid var(--color-line-1)}.jd-tenure-row__years{white-space:nowrap;font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-title-card);color:var(--color-text-hi)}.jd-tenure-row__main{min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.jd-tenure-row__company{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-heading);line-height:1.1;color:var(--color-text-hi)}.jd-tenure-row__track{display:block;height:6px;border-radius:var(--radius-pill);background:var(--color-surface-2);overflow:hidden}.jd-tenure-row__bar{display:block;height:100%;border-radius:var(--radius-pill);background:var(--jd-employer);transform-origin:0 50%;animation:jd-grow var(--dur-intro) var(--ease-out) .3s both}.jd-tenure-row__meta{white-space:nowrap}.jd-tenure-row__meta b{font-weight:500;color:var(--color-text-hi)}@media (max-width: 900px){.jd-tenure-row{grid-template-columns:minmax(0,1fr) auto}.jd-tenure-row__main{grid-column:1 / -1;grid-row:2}.jd-tenure-row__meta{text-align:right}}@media (max-width: 520px){.jd-tenure-row{grid-template-columns:minmax(0,1fr)}.jd-tenure-row__main{grid-row:auto}.jd-tenure-row__meta{text-align:left;white-space:normal}}.jd-facts-panel{container:jd-facts / inline-size;display:flex;flex-wrap:wrap;margin:0;border-radius:var(--radius-lg);background:var(--color-surface-1);overflow:hidden}.jd-facts-panel__item{flex:1 1 180px;display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-4);border-left:1px solid var(--color-line-1)}.jd-facts-panel__item:first-child{border-left:0}.jd-facts-panel__value{margin:0;font-size:var(--type-body-s);font-weight:600;line-height:1.6;color:var(--color-text-hi)}.jd-facts-panel__value a{display:inline-block;padding-block:3px}.jd-facts-panel__value a{color:var(--color-brand-green-text);text-decoration:underline;text-underline-offset:3px}.jd-facts-panel__dots{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-1)}.jd-facts-panel__dot{width:8px;height:8px;border-radius:50%;background:var(--color-brand-green);animation:jd-assemble .4s var(--ease-out) both}@container jd-facts (400px <= width < 720px){.jd-facts-panel:has(>:nth-child(4):last-child)>.jd-facts-panel__item{flex-basis:50%;border-top:0;border-left:1px solid var(--color-line-1)}.jd-facts-panel:has(>:nth-child(4):last-child)>.jd-facts-panel__item:nth-child(odd){border-left:0}.jd-facts-panel:has(>:nth-child(4):last-child)>.jd-facts-panel__item:nth-child(n+3){border-top:1px solid var(--color-line-1)}}.jd-metric-grid{container:jd-tiles / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.jd-metric-tile{grid-row:span 2;display:grid;grid-template-rows:subgrid;align-content:start;row-gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface-1)}.jd-metric-tile__value{align-self:end;font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-display-m);line-height:1;font-variant-numeric:tabular-nums;color:var(--color-brand-green-text)}.jd-metric-tile__label{font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-dim)}.jd-cover{position:relative;margin:0;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface-2);aspect-ratio:16 / 8}.jd-cover__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.jd-cover-caption{max-width:var(--prose-max);margin-top:calc(-1 * var(--space-5));font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.12em;line-height:1.4;color:var(--color-text-dim);font-weight:500;text-transform:uppercase}.jd-prose{flex:999 1 560px;min-width:0;max-width:var(--prose-max);display:flex;flex-direction:column;gap:var(--space-5);color:var(--color-text-body)}.jd-prose>*{margin:0}.jd-prose h2{margin-top:var(--space-8);text-wrap:balance;scroll-margin-top:calc(var(--header-h) + var(--space-5));font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-heading);line-height:1.1}.jd-prose h3{margin-top:var(--space-6);text-wrap:balance;font-size:var(--type-title-card);font-weight:600;line-height:1.25}.jd-prose p{font-size:var(--type-body);line-height:1.75}.jd-prose strong,.jd-prose b{color:var(--color-text-hi);font-weight:600}.jd-prose a{color:var(--color-brand-green-text);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.jd-prose ul,.jd-prose ol{padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.jd-prose ol{counter-reset:jd-ol}.jd-prose li{position:relative;padding-left:var(--space-5);font-size:var(--type-body);line-height:1.75}.jd-prose ul>li:before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--color-brand-green)}.jd-prose ol>li:before{counter-increment:jd-ol;content:counter(jd-ol);position:absolute;left:0;top:.2em;font-family:var(--font-mono);font-size:var(--type-label);color:var(--color-brand-green-text)}.jd-prose li ul,.jd-prose li ol{margin-top:var(--space-2)}.jd-prose video,.jd-prose iframe{width:100%;border-radius:var(--radius-md);background:var(--color-surface-1)}.jd-prose :where(p,li,h2,h3){max-width:var(--measure)}.jd-prose>:is(.jd-figure,.jd-gallery,.jd-metric-grid,.jd-callout,.jd-outcome-list,video,iframe){margin-block:var(--block-gap)}.jd-figure{display:flex;flex-direction:column;gap:var(--space-3);margin:0}.jd-figure img,.jd-figure video{width:100%;border-radius:var(--radius-md);background:var(--color-surface-1);transition:transform var(--dur-reveal) var(--ease-out)}.jd-figure>img{width:auto;max-width:100%;max-height:min(85vh,900px);align-self:center}.jd-gallery .jd-figure>img{width:100%;max-height:none}.jd-figure__image--zoom{cursor:zoom-in}.jd-figure figcaption{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.12em;line-height:1.4;color:var(--color-text-dim);font-weight:500;text-transform:uppercase}.jd-figure .jd-figure__image--on-white{background:var(--color-paper)}.jd-figure .jd-figure__image--clear{background:transparent}[data-theme=dark] .jd-figure .jd-figure__image--on-white-dark{background:var(--color-paper)}.jd-figure .jd-figure__image--for-dark{display:none}[data-theme=dark] .jd-figure .jd-figure__image--for-dark{display:block}[data-theme=dark] .jd-figure .jd-figure__image--for-light{display:none}@media print{[data-theme] .jd-figure .jd-figure__image--for-dark{display:none}[data-theme] .jd-figure .jd-figure__image--for-light{display:block}}.jd-figure--phone video{width:auto;max-width:100%;max-height:min(80vh,640px);align-self:center;border-radius:var(--radius-lg)}.jd-gallery{display:grid;gap:var(--space-4)}.jd-gallery--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.jd-gallery--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.jd-gallery--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.jd-gallery img{cursor:zoom-in}@media (max-width: 900px){.jd-gallery--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.jd-callout{--jd-rule: var(--color-brand-green);padding:var(--space-1) 0 var(--space-1) var(--space-6);color:var(--color-text-hi);font-size:var(--type-heading);font-weight:500;line-height:1.4;text-wrap:pretty}.jd-prose .jd-callout{max-width:none;font-size:var(--type-heading);line-height:1.4}.jd-persona-grid{container:jd-cards / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4)}.jd-persona-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-2)}.jd-persona-card b{display:block;font-weight:600;color:var(--color-text-hi)}.jd-persona-card span{font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-dim)}.jd-outcome-list{border-top:1px solid var(--color-line-1)}.jd-outcome-list__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 2px;border:0;background:none;text-align:left;font-size:var(--type-title-card);font-weight:600;line-height:1.25;color:var(--color-text-hi);cursor:pointer}.jd-outcome-list__icon{position:relative;flex:none;width:14px;height:14px}.jd-outcome-list__icon:before,.jd-outcome-list__icon:after{content:"";position:absolute;background:var(--color-brand-green);border-radius:1px}.jd-outcome-list__icon:before{top:6px;left:0;width:14px;height:2px}.jd-outcome-list__icon:after{top:0;left:6px;width:2px;height:14px;transition:transform var(--dur-base) ease}.jd-lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5) var(--space-5);background:var(--color-scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) ease,visibility 0s linear var(--dur-fast)}.jd-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-fast) ease}.jd-lightbox__image{max-width:100%;max-height:100%;border-radius:var(--radius-md);filter:var(--shadow-lift-filter);opacity:0;transition:opacity var(--dur-base) ease}.jd-lightbox.is-open:not(.is-loading) .jd-lightbox__image{opacity:1;transition-delay:var(--dur-fast)}.jd-lightbox__video{max-width:100%;max-height:100%;border-radius:var(--radius-md);background:#000;box-shadow:var(--shadow-lift)}.jd-lightbox [hidden]{display:none}.jd-figure--video{position:relative}.jd-video-enlarge{position:absolute;top:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--radius-pill);background:#07110e99;color:#fff;font-size:var(--type-title-card);line-height:1;cursor:zoom-in;transition:background-color var(--dur-base) ease}.jd-video-enlarge:hover{background:#07110ed9}.jd-video-enlarge:focus-visible{outline:2px solid var(--color-brand-green);outline-offset:2px}.jd-lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4);display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:var(--radius-pill);background:#ffffff1f;color:#fff;font-size:var(--type-heading);line-height:1;cursor:pointer;transition:background-color var(--dur-base) ease}.jd-lightbox__close:hover{background:#ffffff3d}html.jd-lightbox-open{overflow:hidden}.jd-case{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-4)}.jd-case__head{display:flex;flex-direction:column;gap:var(--space-4)}.jd-case__eyebrow{color:var(--color-brand-green-text)}.jd-case__title{max-width:980px}.jd-case__layout{display:flex;flex-wrap:wrap;gap:var(--space-6) var(--space-7);align-items:flex-start}.jd-case__foot{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-line-1)}.jd-case__foot-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-5)}.jd-case__foot-link{flex:none;display:inline-flex;gap:var(--space-2);padding:var(--space-2) 0;font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-hi);transition:color var(--dur-base) ease;font-weight:500;line-height:1.4}.jd-case__foot-link:hover{color:var(--color-brand-green-text)}.jd-resume{display:grid;grid-template-columns:minmax(260px,368px) minmax(0,1fr);gap:var(--space-6) var(--space-7);padding-top:var(--space-5)}.jd-resume__aside{position:sticky;top:calc(var(--header-h) + var(--space-5));align-self:flex-start;display:flex;flex-direction:column;gap:var(--space-5)}.jd-resume__intro,.jd-resume__contact,.jd-resume__block{display:flex;flex-direction:column}.jd-resume__intro{gap:var(--space-4)}.jd-resume__contact{gap:var(--space-2);font-size:var(--type-body-s);color:var(--color-text-hi);line-height:1.6}.jd-resume__contact a:hover{color:var(--color-brand-green-text)}.jd-resume__email{color:var(--color-brand-green-text);font-weight:600}.jd-resume__role{font-size:var(--type-body);font-weight:600;color:var(--color-text-hi)}.jd-resume__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.jd-resume__block{gap:var(--space-2)}.jd-resume__school{font-size:var(--type-body-s);font-weight:600;line-height:1.6;color:var(--color-text-hi)}.jd-resume__meta{font-size:var(--type-body-s);color:var(--color-text-dim);line-height:1.6}.jd-resume__skills{margin:0;padding:0;list-style:none}.jd-resume__skills li{padding:var(--space-3) 0;border-top:1px solid var(--color-line-1);font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-body)}.jd-resume__main{min-width:0;display:flex;flex-direction:column;gap:var(--space-5)}.jd-resume__main-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.jd-resume__filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media (max-width: 1000px){.jd-resume{grid-template-columns:minmax(0,1fr)}.jd-resume__aside{position:static}}.jd-about-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6) var(--space-7);padding:var(--space-4) 0 var(--space-7)}.jd-about-hero__copy{flex:1.2 1 440px;min-width:0;display:flex;flex-direction:column;gap:var(--space-4)}.jd-about-hero__eyebrow{color:var(--color-brand-green-text)}.jd-about-hero__role{font-size:var(--type-body-l);font-weight:600;color:var(--color-text-hi);line-height:1.65}.jd-about-hero__contact{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--type-body);color:var(--color-text-hi)}.jd-about-hero__contact a{color:var(--color-brand-green-text);font-weight:600}.jd-about-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.jd-about-section{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-7) 0;border-top:1px solid var(--color-line-1)}.jd-about-section__body{max-width:1040px;display:flex;flex-direction:column;gap:var(--space-4)}.jd-about-section__body p{max-width:var(--measure)}.jd-about-section__list{display:flex;flex-direction:column}.jd-in{animation:jd-rise .9s var(--ease-out) both;animation-delay:calc(var(--jd-intro-delay, 0s) + var(--i, 0) * .13s)}.jd-in--fade{animation-name:jd-fade}.jd-has-loader{--jd-intro-delay: 2.15s}@keyframes jd-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.jd-js .jd-reveal{opacity:0;translate:0 28px;transition:opacity var(--dur-reveal) var(--ease-out),translate var(--dur-reveal) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.jd-js .jd-reveal.is-in{opacity:1;translate:none}.jd-dot-field-hero__base{animation:jd-fade var(--dur-intro) ease both;animation-delay:calc(var(--jd-intro-delay, 0s) - .05s)}@keyframes jd-fade{0%{opacity:0}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.jd-has-loader .jd-loader{display:none}.jd-js .jd-reveal{opacity:1;translate:none}}@media print{@page{margin:14mm}:root,[data-theme]{--color-bg: #ffffff;--color-surface-1: #ffffff;--color-text-hi: #000000;--color-text-body: #222222;--color-text-dim: #555555;--color-line-1: #dddddd;--color-brand-green-text: #0b7a63}body{font-size:11pt}.jd-header,.jd-footer,.jd-progress-bar,.jd-loader,.jd-resume__actions,.jd-resume__filters,.jd-resume-job__cases,.jd-lightbox,.jd-skip{display:none!important}.jd-resume-job[hidden]{display:flex!important}.jd-resume__aside{position:static}.jd-resume{display:block;padding-top:0}.jd-resume__aside{gap:10pt}.jd-resume__intro{gap:4pt}.jd-resume__intro .jd-display-l{font-size:28pt;line-height:1}.jd-resume__contact{flex-direction:row;flex-wrap:wrap;gap:0 14pt}.jd-resume__skills li{padding:1pt 0;border-top:0}.jd-resume__main{display:block;margin-top:16pt}.jd-resume__main-head{break-after:avoid}.jd-resume-job{break-inside:auto;gap:5pt;padding:10pt 0 6pt}.jd-resume-job__head,.jd-resume-job__role{break-after:avoid}.jd-resume-job__company{font-size:14pt}.jd-resume-job__bullets{gap:3pt}.jd-resume-job__bullets li{break-inside:avoid;font-size:10pt;line-height:1.45}.jd-resume .jd-milestones{display:none}*,*:before,*:after{animation:none!important;transition:none!important;box-shadow:none!important}.jd-js .jd-reveal{opacity:1;translate:none}}.jd-prose .jd-muted{color:var(--color-text-dim)}.jd-recommendation-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) 0;border-top:1px solid var(--color-text-hi);break-inside:avoid}.jd-recommendation-card[hidden]{display:none}.jd-recommendation-card__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5)}.jd-recommendation-card__who{display:flex;align-items:center;gap:var(--space-3)}.jd-recommendation-card__face{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--jd-employer)}.jd-recommendation-card__face--initials{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-2);color:var(--color-text-hi);font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em}.jd-recommendation-card__name{display:inline-flex;align-items:center;font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-heading);line-height:1.1}.jd-recommendation-card__headline{font-size:var(--type-body-s);font-weight:600;line-height:1.6;color:var(--color-text-hi)}.jd-recommendation-card__quote{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-2) 0 0;padding-left:var(--space-5);--jd-rule: var(--jd-employer)}.jd-callout,.jd-recommendation-card__quote{background:radial-gradient(circle at 3px 3px,var(--jd-rule) 2.5px,transparent 3px) 0 2px / 6px 12px repeat-y}.jd-recommendation-card__quote p{max-width:var(--measure);font-size:var(--type-body);line-height:1.75;color:var(--color-text-body)}.jd-project-card,.jd-case-link{border-radius:var(--radius-lg);outline-offset:6px;transition:transform var(--dur-slow) var(--ease-out)}.jd-project-card__media{transition:box-shadow var(--dur-slow) var(--ease-out)}.jd-project-card__image,.jd-case-link__thumb{transition:transform var(--dur-reveal) var(--ease-out)}.jd-project-card__title,.jd-case-link__title{transition:color var(--dur-base) ease}.jd-project-card__arrow{display:inline-block;opacity:0;transform:translate(-6px);transition:opacity var(--dur-base) ease,transform var(--dur-slow) var(--ease-out)}@media (hover: hover){.jd-project-card:hover,.jd-case-link:hover{transform:translateY(-6px)}.jd-project-card:hover .jd-project-card__media{box-shadow:var(--shadow-lift)}.jd-project-card:hover .jd-project-card__image,.jd-case-link:hover .jd-case-link__thumb{transform:scale(1.025)}.jd-project-card:hover .jd-project-card__title,.jd-case-link:hover .jd-case-link__title{color:var(--color-brand-green-text)}.jd-project-card:hover .jd-project-card__arrow{opacity:1;transform:none}.jd-career-card[aria-pressed=false]:hover{transform:translate(calc(var(--d, 0) * var(--deck-spread))) translateY(-8px) rotate(calc(var(--d, 0) * 4deg)) scale(.92)}}.jd-project-card:focus-visible,.jd-case-link:focus-visible{transform:translateY(-6px);outline:2px solid var(--color-brand-green-text)}.jd-project-card:focus-visible .jd-project-card__title,.jd-case-link:focus-visible .jd-case-link__title{color:var(--color-brand-green-text)}.jd-project-card:focus-visible .jd-project-card__arrow{opacity:1;transform:none}.jd-career-card:focus-visible{outline:2px solid var(--color-brand-green-text);outline-offset:4px;border-radius:var(--radius-xl)}.jd-project-card:active,.jd-case-link:active{transform:translateY(-2px) scale(.99);transition-duration:var(--dur-fast)}.jd-project-card:active .jd-project-card__media{box-shadow:none}.jd-career-card:active{transition-duration:var(--dur-fast);filter:brightness(.96)}:root{--case-bar-h: 56px}.jd-case__sentinel{display:block;height:1px;margin-top:calc(-1 * var(--space-6))}.jd-case-bar{position:sticky;top:var(--header-h);z-index:45;width:100vw;margin-left:calc(50% - 50vw);height:var(--case-bar-h);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px);border-top:1px solid var(--color-line-1);border-bottom:1px solid var(--color-line-1);transition:background-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.jd-case-bar.is-compact{background:color-mix(in srgb,var(--color-surface-1) 92%,transparent);box-shadow:var(--shadow-bar)}.jd-case-bar__inner{height:100%;display:flex;align-items:center;gap:var(--space-4)}.jd-case-bar__lead{flex:none;display:flex;width:0;margin-right:calc(-1 * var(--space-4));opacity:0;overflow:hidden;transition:width var(--dur-slow) var(--ease-out),margin var(--dur-slow) var(--ease-out),opacity var(--dur-base) ease}.jd-case-bar.is-compact .jd-case-bar__lead{width:56px;margin-right:0;opacity:1}.jd-case-bar__thumb{width:56px;height:36px;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-surface-2)}.jd-case-bar__text{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.jd-case-bar__crumbs{display:flex;align-items:baseline;min-width:0;margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);font-weight:500;line-height:1.4}.jd-case-bar__crumbs li{flex:none;white-space:nowrap}.jd-case-bar__crumbs li:last-child{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.jd-case-bar__crumbs li+li:before{content:"/";margin:0 var(--space-2);color:var(--color-text-dim)}.jd-case-bar__crumbs a{display:inline-block;padding:var(--space-2) 0;color:var(--color-text-dim)}.jd-case-bar__crumbs a:hover{color:var(--color-brand-green-text)}.jd-case-bar__crumbs [aria-current=page]{color:var(--color-text-hi)}.jd-case-bar__meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-height:0;opacity:0;transition:max-height var(--dur-base) var(--ease-out),opacity var(--dur-base) ease}.jd-case-bar.is-compact .jd-case-bar__meta{max-height:20px;opacity:1}.jd-case-bar.is-compact .jd-case-bar__crumbs a{padding:2px 0}.jd-case-bar__stats{flex:none;display:flex;gap:var(--space-5);opacity:0;transform:translateY(-4px);transition:opacity var(--dur-base) ease,transform var(--dur-base) var(--ease-out)}.jd-case-bar.is-compact .jd-case-bar__stats{opacity:1;transform:none}.jd-case-bar__stat{--stat-label-w: 190px;position:relative;display:flex;flex-direction:column;line-height:1.2}.jd-case-bar__stat b{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-body-s);color:var(--color-brand-green-text);white-space:nowrap}.jd-case-bar__stat-label{max-width:var(--stat-label-w);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--type-label);color:var(--color-text-dim)}.jd-case-bar__stat-full{position:absolute;top:calc(100% + var(--space-3));right:0;width:max-content;max-width:260px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line-1);border-radius:var(--radius-md);background:var(--color-surface-1);box-shadow:var(--shadow-pop);font-size:var(--type-label);line-height:1.4;color:var(--color-text-hi);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) ease,visibility var(--dur-fast)}.jd-case-bar__stat-full b{font-size:inherit}.jd-case-bar__stat:hover .jd-case-bar__stat-full{opacity:1;visibility:visible}@media (min-width: 1440px){.jd-case-bar__stat{--stat-label-w: 140px}}@media (max-width: 1439px){.jd-case-bar__stat--extra{display:none}}@media (max-width: 1000px){.jd-case-bar__stats{display:none}}@media (max-width: 520px){:root{--case-bar-h: 52px}.jd-case-bar__crumbs{font-size:var(--type-label-s);letter-spacing:.12em}.jd-case-bar__crumbs li+li:before{margin:0 var(--space-1)}.jd-case-bar.is-compact .jd-case-bar__lead{width:40px}.jd-case-bar__thumb{width:40px;height:28px}}.jd-case .jd-contents{top:calc(var(--header-h) + var(--case-bar-h) + var(--space-5))}@media (min-width: 901px){.jd-case .jd-contents{max-height:calc(100vh - var(--header-h) - var(--case-bar-h) - var(--space-5) * 2);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}.jd-case .jd-prose h2,.jd-case .jd-prose h3{scroll-margin-top:calc(var(--header-h) + var(--case-bar-h) + var(--space-5))}@media print{.jd-case-bar{display:none!important}}.jd-case__brand{display:flex;align-items:center;gap:var(--space-4)}.jd-case__badge{flex:none;width:72px;height:72px;object-fit:contain}.jd-case__brand-text{display:flex;flex-direction:column;gap:var(--space-1)}.jd-case__badge-caption{font-size:var(--type-body-s);color:var(--color-text-dim);line-height:1.6}.jd-case-bar__badge{flex:none;width:40px;height:40px;object-fit:contain}@media (max-width: 520px){.jd-case__badge{width:56px;height:56px}.jd-case-bar__badge{width:34px;height:34px}}.jd-user-flow{container-type:inline-size;--uf-num: 32px;--uf-arrow: var(--space-5);--uf-bracket: 0px;--uf-row-gap: var(--space-5);--uf-cols: var(--uf-num) minmax(0, 1fr) var(--uf-bracket);display:flex;flex-direction:column;gap:var(--space-4)}.jd-user-flow--loop{--uf-bracket: var(--space-6)}.jd-user-flow--lanes{--uf-cols: var(--uf-num) minmax(0, 1fr) var(--uf-arrow) minmax(0, 1.15fr) var(--uf-bracket)}.jd-user-flow__head{display:grid;grid-template-columns:var(--uf-cols);column-gap:var(--space-4);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--color-text-dim)}.jd-user-flow__key{display:inline-flex;align-items:center;gap:var(--space-2)}.jd-user-flow__key--user{grid-column:2}.jd-user-flow__key--system{grid-column:4}.jd-user-flow__key:before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--color-brand-green)}.jd-user-flow__key--system:before{border-radius:3px;background:var(--color-surface-2);box-shadow:inset 0 0 0 1px var(--color-line-2)}.jd-prose ol.jd-user-flow__list{display:flex;flex-direction:column;gap:var(--uf-row-gap);margin:0;padding:0}.jd-prose .jd-user-flow__step{position:relative;display:grid;grid-template-columns:var(--uf-cols);column-gap:var(--space-4);row-gap:var(--space-3);align-items:start;max-width:none;padding:0;font-size:var(--type-body-s);line-height:1.5}.jd-prose .jd-user-flow__step:before{content:none}.jd-user-flow__num{position:relative;z-index:1;grid-column:1;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:var(--uf-num);height:var(--uf-num);border-radius:50%;background:var(--color-brand-green);color:var(--color-on-green);font-family:var(--font-mono);font-size:var(--type-label);font-weight:500}.jd-prose .jd-user-flow__step:not(:last-child):after{content:"";position:absolute;top:calc(var(--uf-num) + 6px);bottom:calc(-1 * var(--uf-row-gap) + 6px);left:calc(var(--uf-num) / 2 - 3px);width:6px;background:radial-gradient(circle at 3px 3px,var(--color-text-faint) 2px,transparent 2.5px) 0 0 / 6px 10px repeat-y}.jd-user-flow__card{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--space-1);padding-top:3px}.jd-user-flow__title{font-size:var(--type-body);font-weight:600;line-height:1.5;color:var(--color-text-hi)}.jd-user-flow__note{color:var(--color-text-dim)}.jd-user-flow__arrow{grid-column:3;grid-row:1;justify-self:center;line-height:var(--uf-num);font-size:var(--type-body);color:var(--color-text-faint)}.jd-user-flow__system{grid-column:4;grid-row:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-body)}.jd-user-flow__bracket{position:absolute;top:0;right:2px;bottom:calc(-1 * var(--uf-row-gap));width:calc(var(--uf-bracket) - var(--space-3));border-right:2px dashed var(--color-brand-green-text)}.is-loop-top .jd-user-flow__bracket{top:calc(var(--uf-num) / 2 - 1px);border-top:2px dashed var(--color-brand-green-text);border-top-right-radius:var(--radius-md)}.is-loop-top .jd-user-flow__bracket:before{content:"";position:absolute;top:-7px;left:-8px;border:6px solid transparent;border-right:8px solid var(--color-brand-green-text);border-left:0}.is-loop-bottom .jd-user-flow__bracket{bottom:auto;height:calc(var(--uf-num) / 2 + 1px);border-bottom:2px dashed var(--color-brand-green-text);border-bottom-right-radius:var(--radius-md)}.is-loop-top.is-loop-bottom .jd-user-flow__bracket{height:2px}.jd-prose .jd-user-flow__loop{display:flex;align-self:flex-end;align-items:center;gap:var(--space-2);max-width:none;margin:0;font-size:var(--type-body-s);font-weight:600;line-height:1.4;color:var(--color-brand-green-text);text-align:right}.jd-user-flow__loop-icon{font-size:var(--type-body)}.jd-user-flow__loop-steps{font-family:var(--font-mono);font-size:var(--type-label);font-weight:500}@container (max-width: 560px){.jd-user-flow>*{--uf-cols: var(--uf-num) minmax(0, 1fr) var(--uf-bracket)}.jd-user-flow--loop>*{--uf-bracket: var(--space-5)}.jd-user-flow__head{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}.jd-user-flow__arrow{display:none}.jd-user-flow__system{grid-column:2;grid-row:2}.jd-prose .jd-user-flow__loop{align-self:stretch;justify-content:flex-end}}.jd-not-found{min-height:60vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-4);padding:var(--space-8) 0}.jd-not-found__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.jd-diagram{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1)}.jd-diagram__viewport{overflow-x:auto;overscroll-behavior-x:contain;border-radius:var(--radius-sm)}.jd-diagram__image{width:100%;border-radius:var(--radius-sm);background:var(--color-paper)}.jd-diagram__caption{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.12em;line-height:1.4;color:var(--color-text-dim);font-weight:500;text-transform:uppercase}.jd-diagram__hint{color:var(--color-brand-green-text)}.jd-tree .jd-tree__root{width:fit-content;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-brand-green);color:var(--color-on-green);font-size:var(--type-body);font-weight:600;line-height:1.4}.jd-tree .jd-tree__branches{display:flex;flex-direction:column;gap:var(--space-5);margin:0;padding:var(--space-5) 0 0;list-style:none}.jd-tree .jd-tree__branch{position:relative;padding-left:var(--space-6);font-size:var(--type-body-s)}.jd-tree .jd-tree__branch:before,.jd-tree .jd-tree__branch:after{content:"";position:absolute;left:14px;width:2px;height:auto;border-radius:0;background:var(--color-text-dim)}.jd-tree .jd-tree__branch:before{top:calc(-1 * var(--space-5));bottom:0}.jd-tree .jd-tree__branch:last-child:before{bottom:auto;height:calc(var(--space-5) + 15px)}.jd-tree .jd-tree__branch:after{top:14px;width:14px;height:2px}.jd-tree .jd-tree__branch-title{width:fit-content;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-brand-green) 18%,transparent);color:var(--color-brand-green-text);font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}[data-theme=light] .jd-tree .jd-tree__branch-title{background:color-mix(in srgb,var(--color-brand-green) 8%,transparent)}.jd-tree .jd-tree__children{container:jd-cards-s / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.jd-tree .jd-tree__child{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2)}.jd-tree .jd-tree__child:before,.jd-tree .jd-tree__child:after{display:none}.jd-tree .jd-tree__child-title{color:var(--color-text-hi);font-size:var(--type-body-s);font-weight:600;line-height:1.35}.jd-tree .jd-tree__notes{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0 0;padding:var(--space-2) 0 0;border-top:1px solid var(--color-line-1);list-style:none}.jd-tree .jd-tree__notes li{position:relative;padding-left:var(--space-3);color:var(--color-text-dim);font-size:var(--type-body-s);line-height:1.45}.jd-tree .jd-tree__notes li:before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--color-text-faint)}.jd-swimlane{--sl-ink: var(--diagram-ink);--sl-purple: var(--diagram-purple);--sl-orange: var(--diagram-orange);--sl-amber: var(--diagram-amber);--sl-mint: var(--diagram-mint);--sl-slate: var(--diagram-slate);--sl-teal: var(--diagram-teal);--sl-teal-soft: var(--diagram-teal-soft);--sl-yellow: var(--diagram-yellow);--sl-yellow-soft: var(--diagram-yellow-soft);overflow-x:auto;overscroll-behavior-x:contain;border-radius:var(--radius-lg);background:var(--color-paper)}.jd-swimlane__svg{display:block;width:100%;height:auto;font-family:var(--font-body)}.jd-swimlane__lane--teal .jd-swimlane__lane-body{fill:var(--sl-teal-soft)}.jd-swimlane__lane--teal .jd-swimlane__lane-head{fill:var(--sl-teal)}.jd-swimlane__lane--yellow .jd-swimlane__lane-body{fill:var(--sl-yellow-soft)}.jd-swimlane__lane--yellow .jd-swimlane__lane-head{fill:var(--sl-yellow)}.jd-swimlane__lane-title{fill:var(--sl-ink);font-size:13px;font-weight:600;text-anchor:middle}.jd-swimlane__group{fill:var(--sl-teal)}.jd-swimlane__edge{fill:none;stroke:var(--sl-ink);stroke-width:2;stroke-linejoin:round}.jd-swimlane__edge--dashed{stroke-dasharray:.1 5;stroke-linecap:round;stroke-width:2.4}.jd-swimlane__arrowhead{fill:none;stroke:var(--sl-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jd-swimlane__node text,.jd-swimlane__pill text{fill:var(--sl-ink);font-weight:600;text-anchor:middle}.jd-swimlane__node text{font-size:11.5px}.jd-swimlane__pill text{font-size:10.5px}.jd-swimlane__node--action rect,.jd-swimlane__pill--action rect{fill:var(--sl-purple)}.jd-swimlane__node--action text,.jd-swimlane__pill--action text{fill:#fff}.jd-swimlane__node--fail rect,.jd-swimlane__pill--fail rect{fill:var(--sl-orange)}.jd-swimlane__node--warn rect{fill:var(--sl-amber)}.jd-swimlane__node--success rect,.jd-swimlane__pill--success rect{fill:var(--sl-mint)}.jd-swimlane__node--email rect{fill:var(--sl-slate)}.jd-swimlane__mark{fill:var(--sl-ink);font-size:13px;font-weight:800;text-anchor:middle;paint-order:stroke}.jd-before-after{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin:var(--space-5) 0}.jd-before-after__side{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1)}.jd-before-after__side--after{background:var(--color-surface-2)}.jd-before-after .jd-before-after__tag{margin:0;font-family:var(--font-mono);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);font-weight:500;line-height:1.4}.jd-before-after__side--after .jd-before-after__tag{color:var(--color-brand-green-text)}.jd-before-after .jd-before-after__title{margin:0;font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:var(--type-heading);line-height:1.1}.jd-before-after .jd-before-after__summary{margin:0;font-size:var(--type-body-s);color:var(--color-text-dim);line-height:1.6}.jd-before-after__list{margin:var(--space-1) 0 0;padding-left:1.1em;font-size:var(--type-body-s);line-height:1.6}.jd-before-after__list li+li{margin-top:var(--space-2)}@media (max-width: 700px){.jd-before-after{grid-template-columns:1fr}}.jd-sitemap{--sm-ink: var(--diagram-ink);--sm-line: var(--diagram-ink);--sm-purple: var(--diagram-purple);--sm-slate: var(--diagram-slate);display:flex;flex-direction:column;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-paper);color:var(--sm-ink)}.jd-sitemap ul{margin:0;padding:0;list-style:none}.jd-sitemap ul>li{padding-left:0;font-size:inherit;line-height:inherit}.jd-sitemap ul>li:before{content:none}.jd-sitemap .jd-sitemap__legend{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)!important}.jd-sitemap .jd-sitemap__area{--sm-strong: var(--diagram-slate);--sm-soft: var(--diagram-mist);padding:14px 14px var(--space-1);border-radius:var(--radius-md);background:var(--sm-soft)}.jd-sitemap .jd-sitemap__area--teal{--sm-strong: var(--diagram-teal);--sm-soft: var(--diagram-teal-soft)}.jd-sitemap .jd-sitemap__area--yellow{--sm-strong: var(--diagram-yellow);--sm-soft: var(--diagram-yellow-soft)}.jd-sitemap .jd-sitemap__area--mint{--sm-strong: var(--diagram-mint);--sm-soft: var(--diagram-mint-soft)}.jd-sitemap .jd-sitemap__area-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}.jd-sitemap .jd-sitemap__area-title{max-width:none;margin:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--sm-strong);font-family:var(--font-body);font-size:var(--type-body-s);font-weight:600;line-height:1.3;color:var(--sm-ink)}.jd-sitemap .jd-sitemap__count{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.12em;color:var(--diagram-muted)}.jd-sitemap .jd-sitemap__sections{display:block;column-width:176px;column-gap:var(--space-3);margin-top:var(--space-3)!important}.jd-sitemap .jd-sitemap__section{break-inside:avoid;margin-bottom:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-paper)}.jd-sitemap .jd-sitemap__section-title{margin:0;font-size:var(--type-body-s);font-weight:600;line-height:1.3}.jd-sitemap .jd-sitemap__items{display:flex;flex-direction:column;gap:var(--space-1)}.jd-sitemap .jd-sitemap__item{display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--sm-soft);font-size:var(--type-label);line-height:1.35;color:var(--sm-ink)}.jd-sitemap .jd-sitemap__item--email{background:var(--sm-slate)}.jd-sitemap .jd-sitemap__item--key{background:var(--sm-purple);color:#fff;font-weight:600}.jd-sitemap .jd-sitemap__legend .jd-sitemap__item{align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.jd-sitemap .jd-sitemap__icon{flex:none;font-size:var(--type-label-s);line-height:16px}.jd-sitemap .jd-sitemap__hub-row{position:relative;padding-top:20px}.jd-sitemap .jd-sitemap__hub-row:before{content:"";position:absolute;top:0;left:22px;height:20px;border-left:2px solid var(--sm-line)}.jd-sitemap .jd-sitemap__hub{display:inline-block;margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--sm-ink);font-size:var(--type-body-s);font-weight:600;color:#fff}.jd-sitemap .jd-sitemap__tree{padding-left:44px!important}.jd-sitemap .jd-sitemap__branch{position:relative;padding-top:14px}.jd-sitemap .jd-sitemap__branch:before{content:"";width:0;height:auto;border-radius:0;background:none;position:absolute;top:0;bottom:0;left:-22px;border-left:2px solid var(--sm-line)}.jd-sitemap .jd-sitemap__branch:last-child:before{bottom:auto;height:33px}.jd-sitemap .jd-sitemap__branch:after{height:0;background:none}.jd-sitemap .jd-sitemap__branch:after{content:"";position:absolute;top:31px;left:-22px;width:22px;border-top:2px solid var(--sm-line)}.jd-prose [id]:not(h2){scroll-margin-top:calc(var(--header-h) + var(--case-bar-h) + var(--space-5))}.jd-prose>:is(.jd-step-flow,.jd-role-map,.jd-timeline,.jd-bar-compare,.jd-priority-grid,.jd-carousel,.jd-zoom-canvas,.jd-compare,.jd-persona-grid){margin-block:var(--block-gap)}sup.jd-est{margin-left:.3em;font-family:var(--font-mono);font-size:var(--type-label-s);font-stretch:100%;font-weight:500;letter-spacing:.08em;line-height:0;color:var(--color-text-dim);vertical-align:super;cursor:help}p.jd-est-note{margin:0;max-width:none;font-size:var(--type-label);line-height:1.5;color:var(--color-text-dim)}.jd-metric-grid+p.jd-est-note{margin-top:calc(-1 * var(--space-3))}ol.jd-step-flow{display:grid;grid-template-columns:repeat(var(--jd-cols, 3),minmax(0,1fr));gap:var(--space-5) var(--space-6);margin:0;padding:0;list-style:none}ol.jd-step-flow>li{position:relative;display:flex;flex-direction:column;gap:var(--space-1);max-width:none;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-1);font-size:var(--type-body-s);line-height:1.5}ol.jd-step-flow>li:before{content:none}ol.jd-step-flow>li:not(:last-child):not(.jd-step-flow__step--row-end):after{content:"→";position:absolute;top:50%;right:calc(-1 * var(--space-6));width:var(--space-6);transform:translateY(-50%);text-align:center;color:var(--color-text-dim)}.jd-step-flow__num{position:absolute;top:var(--space-4);right:var(--space-4);font-family:var(--font-mono);font-size:var(--type-label-s);color:var(--color-text-dim)}.jd-step-flow__label{font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brand-green-text)}.jd-step-flow__date{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.04em;color:var(--color-text-dim)}.jd-step-flow__text{margin-top:var(--space-1);color:var(--color-text-body)}.jd-step-flow__text b,.jd-step-flow__text strong{color:var(--color-text-hi)}.jd-prose a.jd-step-flow__more,a.jd-step-flow__more{margin-top:auto;padding-top:var(--space-2);font-size:var(--type-body-s);color:var(--color-brand-green-text);text-decoration:none}a.jd-step-flow__more:hover{text-decoration:underline}.jd-step-flow--compact>li{padding:var(--space-3) var(--space-4)}.jd-role-map{display:flex;flex-direction:column}p.jd-role-map__label{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim)}ul.jd-role-map__nodes{container:jd-cards / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}ul.jd-role-map__nodes>li{display:flex;flex-direction:column;gap:var(--space-1);max-width:none;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-1);font-size:var(--type-body-s);line-height:1.5}ul.jd-role-map__nodes>li:before{content:none}.jd-role-map__title{font-weight:600;color:var(--color-text-hi)}.jd-role-map__text{color:var(--color-text-dim)}.jd-role-map__row--me ul.jd-role-map__nodes{grid-template-columns:minmax(0,520px);justify-content:center}ul.jd-role-map__nodes>li.jd-role-map__node--me{align-items:center;text-align:center;background:var(--color-surface-2)}.jd-role-map__node--me .jd-role-map__title:before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:50%;background:var(--color-brand-green);vertical-align:.1em}p.jd-role-map__link{position:relative;display:flex;justify-content:center;gap:var(--space-6);max-width:none;margin:0;padding:var(--space-3) 0;font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.04em;line-height:1.4;color:var(--color-text-dim)}p.jd-role-map__link:before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:2px dotted var(--color-line-2)}p.jd-role-map__link span{position:relative;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg)}ol.jd-timeline{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}ol.jd-timeline>li{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);max-width:none;padding:0 0 var(--space-6) var(--space-7);font-size:var(--type-body);line-height:1.6}ol.jd-timeline>li:last-child{padding-bottom:0}ol.jd-timeline>li:before{content:"";position:absolute;top:4px;left:4px;width:12px;height:12px;border-radius:50%;background:var(--color-brand-green)}ol.jd-timeline>li:not(:last-child):after{content:"";position:absolute;top:22px;bottom:2px;left:7px;width:6px;background:radial-gradient(circle at 3px 3px,var(--color-text-faint) 2px,transparent 2.5px) 0 0 / 6px 10px repeat-y}.jd-timeline__date{font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;line-height:20px;text-transform:uppercase;color:var(--color-brand-green-text)}.jd-timeline__tag{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-2);font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.jd-timeline__text{flex-basis:100%;max-width:var(--measure);color:var(--color-text-body)}@media (min-width: 901px){ol.jd-timeline--row{flex-direction:row}ol.jd-timeline--row>li{flex:1 1 0;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;padding:var(--space-6) var(--space-5) 0 0}ol.jd-timeline--row>li:before{top:0;left:0}ol.jd-timeline--row>li:not(:last-child):after{inset:3px 6px auto 20px;width:auto;height:6px;background:radial-gradient(circle at 3px 3px,var(--color-text-faint) 2px,transparent 2.5px) 0 0 / 10px 6px repeat-x}}figure.jd-bar-compare{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1)}ul.jd-bar-compare__legend{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0;padding:0;list-style:none}ul.jd-bar-compare__legend>li{display:flex;align-items:center;gap:var(--space-2);padding:0;font-size:var(--type-label);line-height:1.4;color:var(--color-text-dim)}ul.jd-bar-compare__legend>li:before{content:none}.jd-bar-compare__swatch{width:12px;height:12px;border-radius:50%}.jd-bar-compare__rows{display:flex;flex-direction:column;gap:var(--space-4)}.jd-bar-compare__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2) var(--space-4);align-items:baseline}.jd-bar-compare__label{font-size:var(--type-body-s);font-weight:600;color:var(--color-text-hi)}.jd-bar-compare__value{grid-row:1;grid-column:2;font-family:var(--font-mono);font-size:var(--type-label);font-variant-numeric:tabular-nums;color:var(--color-text-body);text-align:right}.jd-bar-compare__track{grid-column:1 / -1;display:block;height:20px}.jd-bar-compare__bar{display:flex;gap:2px;height:100%}.jd-bar-compare__part{display:block;min-width:4px;border-radius:4px}.jd-bar-compare__part--0{background:var(--color-brand-green)}.jd-bar-compare__part--1{background:repeating-linear-gradient(135deg,var(--color-text-dim) 0 1.5px,transparent 1.5px 6px),var(--color-line-2)}figcaption.jd-bar-compare__caption{font-size:var(--type-label);line-height:1.5;color:var(--color-text-dim)}ol.jd-priority-grid{container:jd-cards / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}ol.jd-priority-grid>li{display:flex;flex-direction:column;gap:var(--space-2);max-width:none;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-1);font-size:var(--type-body-s);line-height:1.55}ol.jd-priority-grid>li:before{content:none}.jd-priority-card__num{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:32px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--color-brand-green-text)}.jd-priority-card__title{font-size:var(--type-body);font-weight:600;line-height:1.35;color:var(--color-text-hi)}.jd-priority-card__body{color:var(--color-text-body)}.jd-prose a.jd-priority-card__link,a.jd-priority-card__link{margin-top:auto;padding-top:var(--space-1);color:var(--color-brand-green-text);text-decoration:none}a.jd-priority-card__link:hover{text-decoration:underline}p.jd-persona-card__eyebrow{margin:0;max-width:none;font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;color:var(--color-brand-green-text)}p.jd-persona-card__body{margin:0;max-width:none;font-size:var(--type-body-s);line-height:1.6;color:var(--color-text-body)}.jd-persona-card .jd-persona-card__body b,.jd-persona-card .jd-persona-card__body strong{display:inline}ul.jd-persona-card__list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}ul.jd-persona-card__list>li{position:relative;max-width:none;padding-left:var(--space-4);font-size:var(--type-body-s);line-height:1.55;color:var(--color-text-body)}ul.jd-persona-card__list>li:before{content:"";position:absolute;top:.62em;left:2px;width:6px;height:6px;border-radius:50%;background:var(--color-brand-green)}p.jd-persona-card__source{margin:auto 0 0;padding-top:var(--space-1);max-width:none;font-size:var(--type-label);line-height:1.5;color:var(--color-text-dim)}.jd-before-after--arrow{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.jd-before-after__arrow{align-self:center;font-size:var(--type-heading);color:var(--color-text-dim)}@media (max-width: 700px){.jd-before-after--arrow{grid-template-columns:minmax(0,1fr)}.jd-before-after__arrow{justify-self:center;transform:rotate(90deg)}}details.jd-disclosure{border-bottom:1px solid var(--color-line-1)}.jd-prose>details.jd-disclosure+details.jd-disclosure{margin-top:calc(-1 * var(--space-5));border-top:0}details.jd-disclosure>summary{list-style:none}details.jd-disclosure>summary::-webkit-details-marker{display:none}details.jd-disclosure[open]>summary .jd-outcome-list__icon:after{transform:scaleY(0)}.jd-disclosure__meta{display:block;margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim)}.jd-disclosure__panel{display:flex;flex-direction:column;gap:var(--space-4);padding:0 2px var(--space-5)}figure.jd-carousel{position:relative;display:flex;flex-direction:column;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-4) 0;border-radius:var(--radius-lg);background:var(--color-surface-2)}.jd-carousel__flow-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);padding:0 var(--space-5)}.jd-carousel__heading{font-size:var(--type-body);font-weight:600;color:var(--color-text-hi)}.jd-carousel__badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-1);font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.jd-carousel__desc{flex-basis:100%;font-size:var(--type-body-s);line-height:1.5;color:var(--color-text-body)}.jd-carousel__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);padding:0 var(--space-5)}p.jd-carousel__title{display:flex;align-items:baseline;gap:var(--space-3);margin:0;max-width:none}.jd-carousel__nav{margin-left:auto}.jd-carousel__kind{font-family:var(--font-mono);font-size:var(--type-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-hi)}.jd-carousel__total,.jd-carousel__count{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.04em;color:var(--color-text-dim);font-variant-numeric:tabular-nums}.jd-carousel__nav{display:flex;align-items:center;gap:var(--space-2)}.jd-carousel__count{min-width:56px;text-align:right}.jd-carousel__arrow{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--color-surface-1);color:var(--color-text-hi);font-size:var(--type-body);cursor:pointer;transition:background-color var(--dur-base) ease,opacity var(--dur-base) ease}.jd-carousel__arrow:hover:not(:disabled){background:var(--color-line-2)}.jd-carousel__arrow:disabled{opacity:.35;cursor:default}.jd-carousel__chips,.jd-compare__chips{display:flex;gap:var(--space-2)}.jd-carousel__chips{overflow-x:auto;padding:0 var(--space-5);scrollbar-width:none}.jd-carousel__chips::-webkit-scrollbar{display:none}.jd-carousel .jd-filter-chip,.jd-compare .jd-filter-chip{flex:none;min-height:36px;padding:0 var(--space-3);background:var(--color-surface-1);white-space:nowrap}.jd-carousel .jd-filter-chip:hover,.jd-compare .jd-filter-chip:hover{background:var(--color-line-2)}.jd-carousel .jd-filter-chip[aria-pressed=true],.jd-compare .jd-filter-chip[aria-pressed=true]{background:var(--color-text-hi);color:var(--color-bg)}.jd-carousel__viewport{position:relative}.jd-carousel__viewport:before,.jd-carousel__viewport:after{content:"";position:absolute;top:0;bottom:0;z-index:1;width:var(--space-6);pointer-events:none;opacity:0;transition:opacity var(--dur-base) ease}.jd-carousel__viewport:before{left:0;background:linear-gradient(90deg,var(--color-surface-2),transparent)}.jd-carousel__viewport:after{right:0;background:linear-gradient(270deg,var(--color-surface-2),transparent)}.jd-carousel.can-l .jd-carousel__viewport:before,.jd-carousel.can-r .jd-carousel__viewport:after{opacity:1}ul.jd-carousel__track{position:relative;display:flex;flex-direction:row;gap:var(--space-4);margin:0;padding:0 var(--space-5) var(--space-1);list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-5);scrollbar-width:none;cursor:grab}ul.jd-carousel__track::-webkit-scrollbar{display:none}ul.jd-carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}ul.jd-carousel__track:focus-visible{outline-offset:-2px}ul.jd-carousel__track>li{position:relative;flex:0 0 auto;display:flex;flex-direction:column;gap:var(--space-2);max-width:none;padding:0;scroll-snap-align:start;font-size:inherit}ul.jd-carousel__track>li:before{content:none}.jd-carousel__stage{display:flex;align-items:center;justify-content:center}.jd-carousel__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface-1);-webkit-user-drag:none}.jd-carousel__slide--clear .jd-carousel__stage img{border-radius:0;background:transparent}.jd-carousel--web ul.jd-carousel__track>li{width:calc(100% - var(--space-7))}.jd-carousel--web .jd-carousel__stage{position:relative;aspect-ratio:var(--carousel-ratio, 16 / 10)}.jd-carousel--web .jd-carousel__slide:not(.jd-carousel__slide--tall) .jd-carousel__stage img{position:absolute;inset:0;margin:auto}.jd-carousel--mobile ul.jd-carousel__track>li,.jd-carousel--watch ul.jd-carousel__track>li{width:min-content}.jd-carousel--mobile .jd-carousel__stage{height:clamp(380px,52vw,500px);justify-content:flex-start}.jd-carousel--watch .jd-carousel__stage{height:240px;justify-content:flex-start}.jd-carousel--mobile .jd-carousel__stage img,.jd-carousel--watch .jd-carousel__stage img{width:auto;height:100%;max-width:none}.jd-carousel--mobile .jd-carousel__stage img{border-radius:var(--radius-lg)}.jd-carousel__slide--tall .jd-carousel__stage{align-items:flex-start;overflow-y:auto;scrollbar-width:thin;border-radius:var(--radius-lg)}.jd-carousel--mobile .jd-carousel__slide--tall .jd-carousel__stage{width:calc(clamp(380px,52vw,500px)*.48)}.jd-carousel--mobile .jd-carousel__slide--tall .jd-carousel__stage img,.jd-carousel--web .jd-carousel__slide--tall .jd-carousel__stage img{width:100%;height:auto;max-height:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}p.jd-carousel__cap{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;max-width:var(--measure);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase;color:var(--color-text-dim)}p.jd-carousel__cap b{color:var(--color-text-hi);font-weight:500}.jd-carousel__step{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--color-brand-green);color:var(--color-on-green);letter-spacing:0}.jd-carousel--steps ul.jd-carousel__track{gap:var(--space-6)}.jd-carousel--steps ul.jd-carousel__track>li:not(:last-child):after{content:"→";position:absolute;top:40%;right:calc(-1 * var(--space-6));width:var(--space-6);text-align:center;color:var(--color-text-dim)}.jd-carousel.is-static .jd-carousel__arrow,.jd-carousel.is-static .jd-carousel__progress{visibility:hidden}.jd-carousel__progress{height:3px;margin:0 var(--space-5);border-radius:3px;background:var(--color-line-2);overflow:hidden}.jd-carousel__progress i{display:block;height:100%;border-radius:3px;background:var(--color-brand-green);transition:width var(--dur-base) ease,margin-left var(--dur-base) ease}figcaption.jd-carousel__note{padding:0 var(--space-5);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase;color:var(--color-text-dim)}figure.jd-zoom-canvas{--z: .3;margin:0;border-radius:var(--radius-lg);background:var(--color-surface-1);overflow:hidden}.jd-zoom-canvas__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5)}p.jd-zoom-canvas__title{margin:0;max-width:none;font-size:var(--type-body-s);font-weight:600;line-height:1.4;color:var(--color-text-hi)}.jd-zoom-canvas__hint{font-weight:400;color:var(--color-text-dim)}.jd-zoom-canvas__controls{display:flex;align-items:center;gap:var(--space-2)}.jd-zoom-canvas__btn{min-width:40px;height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-hi);font-size:var(--type-body-s);font-weight:600;cursor:pointer;transition:background-color var(--dur-base) ease}.jd-zoom-canvas__btn:hover{background:var(--color-line-2)}.jd-zoom-canvas__level{min-width:44px;font-family:var(--font-mono);font-size:var(--type-label-s);text-align:center;font-variant-numeric:tabular-nums;color:var(--color-text-dim)}.jd-zoom-canvas__view{max-height:min(640px,70vh);overflow:auto;overscroll-behavior:contain;background-color:var(--color-surface-2);background-image:radial-gradient(var(--color-line-2) 1.5px,transparent 1.5px);background-size:var(--dot-pitch) var(--dot-pitch);cursor:grab}.jd-zoom-canvas__view.is-dragging{cursor:grabbing;user-select:none}.jd-zoom-canvas__canvas{display:flex;flex-direction:column;gap:var(--space-6);width:max-content;padding:var(--space-5)}p.jd-zoom-canvas__row-label{margin:0 0 var(--space-2);max-width:none;font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim)}ul.jd-zoom-canvas__items{display:flex;flex-direction:row;align-items:flex-start;gap:calc(80px * var(--z) + 14px);margin:0;padding:0;list-style:none}ul.jd-zoom-canvas__items>li{flex:none;display:flex;flex-direction:column;gap:var(--space-1);width:calc(var(--w) * var(--z) * 1px);max-width:none;padding:0}ul.jd-zoom-canvas__items>li:before{content:none}.jd-zoom-canvas__item-label{overflow:hidden;font-size:var(--type-label);font-weight:600;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-hi)}.jd-zoom-canvas__items img{width:100%;border-radius:var(--radius-sm);background:var(--color-surface-1);-webkit-user-drag:none}figcaption.jd-zoom-canvas__note{padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase;color:var(--color-text-dim)}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>*{grid-column:span 12}@container jd-cards (440px <= width < 680px){:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>*{grid-column:span 6}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>:nth-child(odd):last-child{grid-column:span 12}}@container jd-cards (680px <= width < 1000px){:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>*{grid-column:span 4}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>:only-child{grid-column:span 12}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):is(:has(>:nth-child(2):last-child),:has(>:nth-child(4):last-child))>*{grid-column:span 6}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(3n+5):last-child)>:nth-last-child(-n+2),:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(3n+7):last-child)>:nth-last-child(-n+4){grid-column:span 6}}@container jd-cards (width >= 1000px){:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>*{grid-column:span 3}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes)>:only-child{grid-column:span 12}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(2):last-child)>*{grid-column:span 6}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(3):last-child)>*,:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+5),:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(4n+6):last-child)>:nth-last-child(-n+6),:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(4n+7):last-child)>:nth-last-child(-n+3){grid-column:span 4}:where(.jd-persona-grid,.jd-priority-grid,.jd-role-map__row:not(.jd-role-map__row--me) .jd-role-map__nodes):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+2){grid-column:span 6}}:where(.jd-tree__children,.bn .pipeline)>*{grid-column:span 12}@container jd-cards-s (300px <= width < 520px){:where(.jd-tree__children,.bn .pipeline)>*{grid-column:span 6}:where(.jd-tree__children,.bn .pipeline)>:nth-child(odd):last-child{grid-column:span 12}}@container jd-cards-s (520px <= width < 760px){:where(.jd-tree__children,.bn .pipeline)>*{grid-column:span 4}:where(.jd-tree__children,.bn .pipeline)>:only-child{grid-column:span 12}:where(.jd-tree__children,.bn .pipeline):is(:has(>:nth-child(2):last-child),:has(>:nth-child(4):last-child))>*{grid-column:span 6}:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(3n+5):last-child)>:nth-last-child(-n+2),:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(3n+7):last-child)>:nth-last-child(-n+4){grid-column:span 6}}@container jd-cards-s (width >= 760px){:where(.jd-tree__children,.bn .pipeline)>*{grid-column:span 3}:where(.jd-tree__children,.bn .pipeline)>:only-child{grid-column:span 12}:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(2):last-child)>*{grid-column:span 6}:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(3):last-child)>*,:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+5),:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(4n+6):last-child)>:nth-last-child(-n+6),:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(4n+7):last-child)>:nth-last-child(-n+3){grid-column:span 4}:where(.jd-tree__children,.bn .pipeline):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+2){grid-column:span 6}}:where(.jd-metric-grid:not(.jd-metric-grid--xl))>*{grid-column:span 12}@container jd-tiles (456px <= width < 692px){:where(.jd-metric-grid:not(.jd-metric-grid--xl))>*{grid-column:span 6}:where(.jd-metric-grid:not(.jd-metric-grid--xl))>:nth-child(odd):last-child{grid-column:span 12}}@container jd-tiles (692px <= width < 928px){:where(.jd-metric-grid:not(.jd-metric-grid--xl))>*{grid-column:span 4}:where(.jd-metric-grid:not(.jd-metric-grid--xl))>:only-child{grid-column:span 12}:where(.jd-metric-grid:not(.jd-metric-grid--xl)):is(:has(>:nth-child(2):last-child),:has(>:nth-child(4):last-child))>*{grid-column:span 6}:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(3n+5):last-child)>:nth-last-child(-n+2),:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(3n+7):last-child)>:nth-last-child(-n+4){grid-column:span 6}}@container jd-tiles (width >= 928px){:where(.jd-metric-grid:not(.jd-metric-grid--xl))>*{grid-column:span 3}:where(.jd-metric-grid:not(.jd-metric-grid--xl))>:only-child{grid-column:span 12}:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(2):last-child)>*{grid-column:span 6}:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(3):last-child)>*,:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+5),:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(4n+6):last-child)>:nth-last-child(-n+6),:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(4n+7):last-child)>:nth-last-child(-n+3){grid-column:span 4}:where(.jd-metric-grid:not(.jd-metric-grid--xl)):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+2){grid-column:span 6}}:where(.jd-metric-grid--xl)>*{grid-column:span 12}@container jd-tiles-xl (456px <= width < 1600px){:where(.jd-metric-grid--xl)>*{grid-column:span 6}:where(.jd-metric-grid--xl)>:nth-child(odd):last-child{grid-column:span 12}}@container jd-tiles-xl (1600px <= width < 2400px){:where(.jd-metric-grid--xl)>*{grid-column:span 4}:where(.jd-metric-grid--xl)>:only-child{grid-column:span 12}:where(.jd-metric-grid--xl):is(:has(>:nth-child(2):last-child),:has(>:nth-child(4):last-child))>*{grid-column:span 6}:where(.jd-metric-grid--xl):has(>:nth-child(3n+5):last-child)>:nth-last-child(-n+2),:where(.jd-metric-grid--xl):has(>:nth-child(3n+7):last-child)>:nth-last-child(-n+4){grid-column:span 6}}@container jd-tiles-xl (width >= 2400px){:where(.jd-metric-grid--xl)>*{grid-column:span 3}:where(.jd-metric-grid--xl)>:only-child{grid-column:span 12}:where(.jd-metric-grid--xl):has(>:nth-child(2):last-child)>*{grid-column:span 6}:where(.jd-metric-grid--xl):has(>:nth-child(3):last-child)>*,:where(.jd-metric-grid--xl):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+5),:where(.jd-metric-grid--xl):has(>:nth-child(4n+6):last-child)>:nth-last-child(-n+6),:where(.jd-metric-grid--xl):has(>:nth-child(4n+7):last-child)>:nth-last-child(-n+3){grid-column:span 4}:where(.jd-metric-grid--xl):has(>:nth-child(4n+5):last-child)>:nth-last-child(-n+2){grid-column:span 6}}:where(.jd-project-grid)>*{grid-column:span 12}@container jd-projects (560px <= width < 860px){:where(.jd-project-grid)>*{grid-column:span 6}:where(.jd-project-grid)>:nth-child(odd):last-child:not(:only-child){grid-column:4 / span 6}}@container jd-projects (860px <= width < 1180px){:where(.jd-project-grid)>*{grid-column:span 4}:where(.jd-project-grid):has(>:nth-child(3n+4):last-child)>:nth-last-child(2){grid-column:1 / span 4}}@container jd-projects (width >= 1180px){:where(.jd-project-grid)>*{grid-column:span 3}:where(.jd-project-grid):has(>:nth-child(4n+5):last-child)>:nth-last-child(2){grid-column:1 / span 3}}@media (max-width: 640px){.jd-project-grid{gap:var(--space-4)}.jd-project-card{display:grid;grid-template-columns:clamp(120px,38%,200px) 1fr;grid-template-rows:auto 1fr;column-gap:var(--space-4);row-gap:var(--space-1);align-items:start}.jd-project-card__media{grid-row:1 / span 2}.jd-project-card__title{font-size:16px}.jd-project-card__result{font-size:13px;line-height:1.5}.jd-project-card__lock{top:6px;left:6px;transform:scale(.75);transform-origin:top left;white-space:nowrap}.jd-facts-panel__item{flex-basis:100%;border-left:0;border-top:1px solid var(--color-line-1)}.jd-facts-panel__item:first-child{border-top:0}.jd-cover{aspect-ratio:16 / 10;border-radius:var(--radius-lg)}.jd-gallery--cols-2,.jd-gallery--cols-3{grid-template-columns:minmax(0,1fr)}.jd-diagram{padding:var(--space-4)}.jd-sitemap{padding:var(--space-3)}.jd-sitemap .jd-sitemap__area{padding:10px}.jd-sitemap .jd-sitemap__hub-row:before{left:14px}.jd-sitemap .jd-sitemap__tree{padding-left:28px!important}.jd-sitemap .jd-sitemap__branch:before,.jd-sitemap .jd-sitemap__branch:after{left:-14px}.jd-sitemap .jd-sitemap__branch:after{width:14px}ol.jd-step-flow{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}ol.jd-step-flow>li:not(:last-child):not(.jd-step-flow__step--row-end):after,ol.jd-step-flow>li.jd-step-flow__step--row-end:not(:last-child):after{content:"↓";position:absolute;text-align:center;color:var(--color-text-dim);top:auto;right:auto;bottom:calc(-1 * var(--space-6));left:0;width:100%;height:var(--space-6);line-height:var(--space-6);transform:none}p.jd-role-map__link{gap:var(--space-3)}.jd-carousel__bar,.jd-carousel__flow-head,.jd-carousel__chips,figcaption.jd-carousel__note{padding-inline:var(--space-4)}ul.jd-carousel__track{padding-inline:var(--space-4);scroll-padding-inline:var(--space-4);gap:var(--space-3)}.jd-carousel__progress{margin-inline:var(--space-4)}.jd-carousel--web ul.jd-carousel__track>li{width:calc(100% - var(--space-6))}.jd-carousel--mobile .jd-carousel__stage{height:400px}.jd-carousel--mobile .jd-carousel__slide--tall .jd-carousel__stage{width:192px}.jd-zoom-canvas__bar,figcaption.jd-zoom-canvas__note{padding-inline:var(--space-4)}.jd-zoom-canvas__hint{display:none}}figure.jd-compare{display:flex;flex-direction:column;gap:var(--space-3);margin:0;min-width:0}figure.jd-compare--narrow{width:100%;max-width:400px;margin-inline:auto}.jd-compare__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.jd-compare__chips{flex-wrap:wrap}.jd-compare__hint{font-family:var(--font-mono);font-size:var(--type-label-s);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.jd-prose a.jd-compare__full,a.jd-compare__full{margin-left:auto;font-size:var(--type-label);color:var(--color-brand-green-text);text-decoration:underline;text-underline-offset:3px}.jd-compare__frame{--x: 50%;position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface-1);touch-action:pan-y}.jd-compare--slide .jd-compare__frame{cursor:ew-resize;user-select:none}.jd-compare__set{position:relative}.jd-compare__img{display:block;width:100%;height:auto;-webkit-user-drag:none}.jd-compare__img[hidden],.jd-compare__set[hidden]{display:none}.jd-compare--slide .jd-compare__img--1{position:absolute;inset:0 0 auto;clip-path:inset(0 0 0 var(--x))}.jd-compare__tag{position:absolute;top:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.08em;line-height:1.3;text-transform:uppercase;color:var(--color-text-hi);pointer-events:none}.jd-compare__tag--left{left:var(--space-3)}.jd-compare__tag--right{right:var(--space-3)}.jd-compare__handle{position:absolute;top:0;bottom:0;left:var(--x);z-index:2;width:0;outline:none}.jd-compare__handle:before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--color-brand-green)}.jd-compare__handle span{position:absolute;top:min(50%,360px);left:-22px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--color-brand-green);color:var(--color-on-green);font-size:var(--type-body-s);font-weight:700;letter-spacing:2px;transform:translateY(-50%)}.jd-compare__handle:focus-visible span{outline:2px solid var(--color-text-hi);outline-offset:3px}.jd-compare--tall .jd-compare__frame{max-height:min(80vh,760px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}figcaption.jd-compare__caption{font-family:var(--font-mono);font-size:var(--type-label-s);font-weight:500;letter-spacing:.08em;line-height:1.45;text-transform:uppercase;color:var(--color-text-dim)}@media (prefers-reduced-motion: reduce){ul.jd-carousel__track{scroll-behavior:auto}.jd-carousel__progress i{transition:none}}
