@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--ink:#14211e;--muted:#56635f;--paper:#f4f6f2;--surface:#fff;--line:#cbd4cf;--teal:#086b58;--teal-dark:#064b40;--coral:#c94f38;--yellow:#e5bb46;--blue:#285f85;--shadow:0 12px 34px #14211e17;--shell:min(1180px, calc(100% - 40px));font-synthesis:none;letter-spacing:0;font-family:IBM Plex Sans Variable,sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:linear-gradient(#14211e09 1px, transparent 1px), linear-gradient(90deg, #14211e09 1px, transparent 1px), var(--paper);background-size:34px 34px;min-width:320px;margin:0;line-height:1.65}a{color:var(--teal-dark);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--coral)}img{max-width:100%;height:auto}h1,h2,h3{letter-spacing:0;text-wrap:balance;margin:0;font-family:Newsreader Variable,serif;font-weight:650;line-height:1.08}h1{max-width:960px;font-size:clamp(2.8rem,7vw,6.1rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}h3{font-size:1.45rem}p{margin:0}.shell{width:var(--shell);margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#f4f6f2f7;position:relative}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);background:var(--yellow);border-radius:4px;place-items:center;width:38px;height:38px;font-size:.78rem;display:inline-grid}nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;display:flex}nav a{color:var(--ink);font-size:.9rem;font-weight:650;text-decoration:none}.repo-link{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:4px;padding:8px 12px}.repo-link:hover{border-color:var(--coral);background:var(--coral);color:#fff}.page-hero{border-bottom:1px solid var(--line);background:#ffffffb3;padding:78px 0 58px}.page-hero p:not(.eyebrow){max-width:780px;color:var(--muted);margin-top:22px;font-size:1.12rem}.page-hero .shell>.eyebrow+h1{margin-top:12px}.hub-hero{padding-block:54px 44px}.hub-hero h1{max-width:1080px;font-size:clamp(3.2rem,5.2vw,4.8rem)}.hub-hero .newsletter-cta{margin-top:54px}.eyebrow,.sponsor-label{color:var(--coral);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:750}.content-section{border-bottom:1px solid var(--line);padding:76px 0}.section-heading{gap:10px;max-width:800px;margin-bottom:34px;display:grid}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.prose{max-width:800px}.prose>*+*{margin-top:22px}.prose h2{margin-top:58px}.prose h3{margin-top:34px}.prose ul,.prose ol{padding-left:1.3rem}.definition{border-left:5px solid var(--yellow);padding-left:22px;font-size:1.16rem}.definition strong{color:var(--teal-dark)}.button-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button,.button-secondary{border:1px solid var(--ink);border-radius:4px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.button{background:var(--ink);color:#fff}.button-secondary{color:var(--ink);background:0 0}.button:hover,.button-secondary:hover{border-color:var(--coral);background:var(--coral);color:#fff}.category-grid,.job-grid,.sponsor-grid,.metric-grid,.comparison-grid,.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.category-card,.job-card,.sponsor-card,.metric,.comparison-card,.faq-item{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);box-shadow:var(--shadow);border-radius:6px;gap:12px;padding:24px;text-decoration:none;display:grid}.category-card:hover,.sponsor-card:hover{border-color:var(--coral);color:var(--ink);transform:translateY(-2px)}.category-card .count{color:var(--coral);font-weight:700}.newsletter-cta{border:1px solid var(--ink);background:var(--yellow);box-shadow:var(--shadow);border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(320px,480px);align-items:center;gap:38px;padding:34px;display:grid}.newsletter-cta>div{gap:12px;display:grid}.newsletter-cta h2{font-size:clamp(2rem,4vw,3.2rem)}.newsletter-cta iframe{background:#fff;border:0;border-radius:4px;width:100%;height:150px}.newsletter-cta.compact{padding:24px}.page-newsletter{padding-block:72px}.sponsor-band{gap:12px;display:grid}.sponsor-grid{grid-template-columns:repeat(3,1fr)}.sponsor-card img{object-fit:contain;object-position:left center;width:auto;height:42px}.sponsor-empty{border:1px dashed var(--teal);max-width:700px;color:var(--ink);background:#ffffffad;border-radius:6px;gap:8px;padding:22px;text-decoration:none;display:grid}.table-scroll{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:6px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:15px 18px}thead th{background:var(--ink);color:#fff;text-transform:uppercase;font-size:.8rem}tbody th{width:30%}tbody tr:last-child>*{border-bottom:0}.breadcrumbs{border-bottom:1px solid var(--line);background:#ffffffb8}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:8px;margin-block:0;padding-block:12px;font-size:.82rem;list-style:none;display:flex}.breadcrumbs li+li:before{color:var(--line);content:"/";margin-right:8px}.breadcrumbs a{color:var(--ink);text-decoration:none}.catalog-hero{background:linear-gradient(115deg,#e5bb4629,#0000 42%),#ffffffc2;padding-block:58px}.catalog-hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);align-items:start;gap:54px;display:grid}.catalog-hero h1{max-width:900px;margin-top:12px;font-size:clamp(2.8rem,5vw,4.8rem)}.catalog-deck{max-width:760px!important}.source-panel{border:1px solid var(--line);border-left:5px solid var(--yellow);background:var(--surface);box-shadow:var(--shadow);border-radius:6px;padding:24px}.source-panel h2,.catalog-methodology h2{margin-top:8px;font-size:1.65rem}.source-panel>p:not(.eyebrow){color:var(--muted);margin-top:12px;font-size:.94rem}.catalog-facts{gap:0;margin:20px 0 0;display:grid}.catalog-facts div{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:12px;padding-block:10px;display:grid}.catalog-facts dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.catalog-facts dd{margin:0;font-size:.88rem;font-weight:650}.catalog-jump-band{border-bottom:1px solid var(--line);background:var(--ink);color:#fff}.catalog-jump-nav{flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:52px;display:flex}.catalog-jump-nav span{color:#aebcb7;text-transform:uppercase;font-size:.76rem;font-weight:700}.catalog-jump-nav a{color:#fff;font-size:.88rem;font-weight:650;text-decoration:none}.catalog-jump-nav a:hover{color:var(--yellow)}.catalog-answer-section{background:#ffffff80}.catalog-answer-grid,.evaluation-layout,.reference-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:64px;display:grid}.catalog-answer-grid .section-heading,.evaluation-layout .section-heading{margin-bottom:0}.catalog-answer p,.evaluation-content>p{color:var(--ink);font-size:1.06rem}.catalog-section .section-heading{max-width:850px}.catalog-browser{gap:24px;display:grid}.catalog-toolbar{border:1px solid var(--line);background:#ffffffc7;border-radius:6px;justify-content:space-between;align-items:end;gap:20px;padding:18px;display:flex}.catalog-search{gap:6px;width:min(100%,560px);display:grid}.catalog-search label{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.catalog-search input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:4px;padding:10px 14px}.catalog-search input:focus{border-color:var(--teal);outline:3px solid #086b5829}.catalog-count{color:var(--teal-dark);font-variant-numeric:tabular-nums;flex:none;padding-bottom:12px;font-size:.9rem;font-weight:750}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tool-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-rows:auto 1fr auto;gap:16px;min-width:0;min-height:230px;padding:22px;display:grid;box-shadow:0 5px 18px #14211e0d}.tool-card:hover{border-color:var(--teal)}.tool-card[hidden]{display:none}.tool-card-heading{gap:7px;display:grid}.tool-source-domain{overflow-wrap:anywhere;color:var(--coral);font-size:.75rem;font-weight:750}.tool-card h3{font-size:1.55rem}.tool-card h3 a{color:var(--ink);text-decoration:none}.tool-card h3 a:hover{color:var(--teal-dark);text-decoration:underline}.tool-card>p{color:var(--muted);font-size:.94rem}.tool-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 18px;padding-top:14px;display:flex}.tool-card-actions a{font-size:.84rem;font-weight:700;text-decoration:none}.catalog-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;padding:32px}.evaluation-content{gap:28px;display:grid}.evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.evaluation-grid li{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:78px;padding:16px;display:grid}.evaluation-grid span{color:var(--coral);font-size:.8rem;font-weight:750}.evaluation-note{border-left:4px solid var(--yellow);padding-left:18px;color:var(--muted)!important;font-size:.94rem!important}.reference-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.reference-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.reference-list a{border-top:1px solid var(--line);color:var(--ink);padding:15px 0;font-weight:650;text-decoration:none;display:block}.reference-list a:hover{color:var(--coral)}.catalog-methodology{border:1px solid var(--ink);background:var(--yellow);border-radius:6px;padding:26px}.catalog-methodology>p:not(.eyebrow){margin-top:14px}.catalog-category-grid{align-items:stretch}.catalog-category-card{grid-template-rows:auto auto 1fr auto}.catalog-category-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:.76rem;font-weight:700;display:flex}.catalog-process-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.catalog-process-grid article{border-top:3px solid var(--ink);padding-top:18px}.catalog-process-grid article>span{color:var(--coral);font-size:.78rem;font-weight:750}.catalog-process-grid h3{margin-top:12px}.catalog-process-grid p{color:var(--muted);margin-top:10px}.catalog-data-strip{border:1px solid var(--ink);background:var(--yellow);border-radius:6px;justify-content:space-between;align-items:center;gap:32px;margin-top:58px;padding:26px;display:flex}.catalog-data-strip h2{margin-top:6px;font-size:1.65rem}.catalog-data-strip p:not(.eyebrow){max-width:760px;margin-top:8px}.entry-hero{padding-block:56px}.entry-hero-grid,.entry-context-grid,.entry-evaluation-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);align-items:start;gap:58px;display:grid}.entry-hero h1{margin-top:12px;font-size:clamp(2.8rem,5vw,4.8rem)}.entry-source-panel,.entry-boundary-note{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:24px}.entry-boundary-note{border-left:5px solid var(--yellow)}.entry-boundary-note h2{margin-top:8px;font-size:1.65rem}.entry-boundary-note>p:not(.eyebrow){color:var(--muted);margin-top:12px}.entry-answer>p:first-child{font-size:1.04rem}.entry-answer blockquote{border-left:5px solid var(--yellow);background:var(--surface);margin-inline:0;padding:20px}.entry-answer blockquote p{color:var(--ink);font-family:Newsreader Variable,serif;font-size:1.35rem;font-weight:600;line-height:1.3}.entry-answer blockquote cite{color:var(--muted);margin-top:10px;font-family:IBM Plex Sans Variable,sans-serif;font-size:.78rem;font-style:normal;display:block}.verification-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.verification-list li{border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:14px;padding:17px 18px;display:grid}.verification-list span{color:var(--coral);font-size:.8rem;font-weight:750}.verification-list p{color:var(--ink);font-weight:600}.entry-evaluation-grid .section-heading{margin-bottom:0}.related-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.related-entry-grid a{border:1px solid var(--line);background:var(--surface);min-height:150px;color:var(--ink);border-radius:6px;gap:10px;padding:18px;text-decoration:none;display:grid}.related-entry-grid a:hover{border-color:var(--teal)}.related-entry-grid span{color:var(--muted);font-size:.86rem}.related-links,.tag-list{flex-wrap:wrap;gap:10px;padding:0;list-style:none;display:flex}.related-links a,.tag-list li{border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 12px;text-decoration:none;display:inline-flex}.lifecycle-figure{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;margin:36px 0 0;padding:18px}.lifecycle-figure figcaption{color:var(--muted);margin-top:10px;font-size:.84rem}.site-footer{border-top:7px solid var(--ink);background:var(--ink);color:#eef3f0;padding-top:58px}.footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:38px;display:grid}.site-footer h2{text-transform:uppercase;margin-bottom:14px;font-family:IBM Plex Sans Variable,sans-serif;font-size:.8rem}.site-footer p{color:#b9c6c1;max-width:430px;margin-top:16px}.site-footer a{color:#eef3f0;margin:8px 0;display:block}.footer-brand{margin:0!important;display:inline-flex!important}.footer-brand .brand-mark{color:var(--ink);border-color:#fff}.footer-bottom{color:#9fb0aa;border-top:1px solid #3b4b46;margin-top:48px;padding-block:22px;font-size:.84rem}.updated{font-size:.82rem}.text-link{font-weight:700}@media (width<=900px){.header-inner{flex-direction:column;align-items:flex-start;padding-block:16px}nav{justify-content:flex-start}.category-grid,.job-grid,.metric-grid,.comparison-grid,.faq-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.newsletter-cta{grid-template-columns:1fr}.catalog-hero-grid,.catalog-answer-grid,.evaluation-layout,.reference-layout,.entry-hero-grid,.entry-context-grid,.entry-evaluation-grid{grid-template-columns:1fr;gap:36px}.catalog-process-grid,.related-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){:root{--shell:min(1180px, calc(100% - 24px))}h1{font-size:2.7rem}.hub-hero .shell{flex-direction:column;display:flex}.hub-hero h1{order:2;font-size:2.25rem}.hub-hero>.shell>.eyebrow{order:1}.hub-hero .definition{order:4}.hub-hero .button-row{order:5}.hub-hero .newsletter-cta{order:3;gap:12px;margin-top:24px;padding:16px}.hub-hero .newsletter-cta h2{font-size:1.65rem}.hub-hero .newsletter-cta>div>p:not(.eyebrow),.hub-hero .newsletter-cta>div>.text-link{display:none}.page-hero{padding:52px 0 42px}.content-section{padding:54px 0}.category-grid,.job-grid,.sponsor-grid,.metric-grid,.comparison-grid,.faq-grid,.footer-grid{grid-template-columns:1fr}.newsletter-cta{padding:22px}nav{gap:12px}th,td{padding:12px}tbody th{width:40%}.catalog-hero h1,.entry-hero h1{font-size:2.45rem}.catalog-toolbar,.catalog-data-strip{flex-direction:column;align-items:stretch}.catalog-count{padding-bottom:0}.tool-grid,.evaluation-grid,.catalog-process-grid,.related-entry-grid{grid-template-columns:1fr}.catalog-jump-nav{gap:8px 16px;padding-block:10px}.catalog-jump-nav span{width:100%}.source-panel,.catalog-methodology,.entry-source-panel,.entry-boundary-note{padding:20px}.catalog-facts div{grid-template-columns:96px 1fr}}
