/* Spring journal: scoped styles. Important margins override the legacy reset. */
body:has(.spring-library),body:has(.spring-article-page){background:#f2f5f8}
.spring-library,.spring-article-page{--ink:#192f44;--muted:#536575;--blue:#0053a2;--line:#dce5ed;--wash:#e9f0f7;display:block;width:calc(100% - 64px);max-width:1180px;margin:0 auto;padding:28px 0 80px;color:var(--ink);font-family:Manrope,sans-serif}
.spring-library *,.spring-article-page *{box-sizing:border-box}.spring-library [hidden],.spring-article-page [hidden]{display:none!important}
.spring-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:32px;font-size:13px;color:var(--muted)}.spring-breadcrumb a{color:var(--muted)}.spring-breadcrumb a:hover{color:var(--blue)}
.spring-library__intro{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end;padding-bottom:32px;border-bottom:2px solid var(--blue)}.spring-eyebrow{display:block;color:var(--blue);font-size:13px;font-weight:600;margin-bottom:14px}
.spring-library h1,.spring-article-heading h1{font-family:Commissioner,sans-serif;font-size:46px;line-height:1.08;font-weight:650;text-transform:none;letter-spacing:-.025em;color:var(--ink);margin:0!important}
.spring-library__intro p{font-size:16px;line-height:1.8;color:var(--muted);margin:0!important;max-width:450px}
.spring-library__toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0}.spring-filters{display:flex;flex-wrap:wrap;gap:8px}.spring-filters button{appearance:none;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:4px;color:var(--muted);font:500 12px/1.4 Manrope,sans-serif;cursor:pointer}.spring-filters button[aria-pressed=true]{color:#fff;background:var(--blue);border-color:var(--blue)}.spring-filters button:hover{border-color:var(--blue)}.spring-results{font-size:12px;color:var(--muted);white-space:nowrap}
.spring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:100%;margin-top:26px}.spring-card{min-width:0;background:#fff;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.spring-card__image{display:block;aspect-ratio:2.3;overflow:hidden;background:var(--wash)}.spring-card__image img{display:block;width:100%;height:100%;object-fit:cover}.spring-card__content{padding:24px 28px 28px}.spring-kicker{display:block;color:var(--blue);font-size:12px;line-height:1.5;font-weight:650;margin-bottom:12px}
.spring-card h2{font:600 25px/1.25 Commissioner,sans-serif;text-transform:none;margin:0 0 14px!important}.spring-card h2 a{color:var(--ink);white-space:normal}.spring-card h2 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.spring-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0!important}
.spring-article-heading{display:grid;grid-template-columns:1.2fr 1fr;width:100%;padding:0;margin:0 0 44px;background:var(--wash);border-radius:6px;overflow:hidden}.spring-article-heading__text{padding:36px 40px;align-self:center}.spring-article-heading h1{font-size:37px;line-height:1.14;margin-bottom:20px!important}.spring-article-heading .spring-kicker{margin-bottom:18px}.spring-article-heading .spring-deck{font-size:15px;line-height:1.75;color:var(--muted);margin:0 0 24px!important}.spring-reading-time{font-size:12px;color:var(--muted)}.spring-article-hero{margin:0;min-width:0;height:100%}.spring-article-hero img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover}
.spring-article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start;width:100%;max-width:1080px;margin:0 auto}.spring-article-toc{position:sticky;top:24px;min-width:0}.spring-article-toc nav{width:100%}.spring-article-toc summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:15px;font-weight:700;color:var(--ink);padding-bottom:18px}.spring-article-toc summary::-webkit-details-marker{display:none}.spring-toc-toggle{font-size:11px;font-weight:500;color:var(--blue)}.spring-article-toc details[open] .spring-toc-open,.spring-article-toc details:not([open]) .spring-toc-close{display:none}.spring-article-toc ol{list-style:none;padding:0;margin:0;border-left:1px solid #c7d4e0}.spring-article-toc li{margin:0;padding:0}.spring-article-toc a{display:block;padding:9px 0 9px 16px;color:var(--muted);font-size:13px;line-height:1.6;white-space:normal;overflow-wrap:break-word}.spring-article-toc a:hover,.spring-article-toc a:focus-visible{color:var(--blue);background:var(--wash)}
.spring-article-main{min-width:0;background:#fff;border-radius:6px;padding:36px 40px 40px}.spring-articles{font:16px/1.85 Manrope,sans-serif;color:#283c4b;max-width:100%;overflow-wrap:break-word}.spring-articles p{font-size:inherit;line-height:inherit;margin:0 0 20px!important}.spring-articles>p:first-of-type{font-size:18px;line-height:1.8;color:var(--ink)}.spring-articles h2{font:600 28px/1.25 Commissioner,sans-serif;letter-spacing:-.015em;color:var(--ink);text-transform:none;margin:48px 0 20px!important;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:24px}.spring-articles h3{font:600 21px/1.4 Commissioner,sans-serif;color:var(--ink);text-transform:none;margin:28px 0 12px!important}.spring-articles strong{font-weight:700}.spring-articles a{color:var(--blue);text-decoration:underline;text-decoration-color:#8eafce;text-underline-offset:3px;white-space:normal}.spring-articles a:hover{text-decoration-color:var(--blue)}
.spring-articles .article-note{padding:22px 24px;margin:26px 0;background:#eef4fa;border-left:3px solid var(--blue);border-radius:0 4px 4px 0;font-size:15px}.spring-articles .article-note p:last-child{margin-bottom:0!important}.spring-articles .table-scroll{overflow-x:auto;max-width:100%;margin:28px 0;border:1px solid var(--line);border-radius:4px}.spring-articles table{border-collapse:collapse;width:100%;min-width:580px;font-size:13px;line-height:1.65}.spring-articles th,.spring-articles td{padding:14px 16px;vertical-align:top;text-align:left;border:0;border-bottom:1px solid var(--line)}.spring-articles th{color:var(--ink);background:var(--wash);font-size:12px;font-weight:700;text-transform:none}.spring-articles td{color:#344957;background:#fff}.spring-articles tr:nth-child(even) td{background:#f6f8fb}.spring-articles tr:last-child td{border-bottom:0}.spring-articles table p{font-size:inherit;line-height:inherit;margin:0 0 6px!important}.spring-articles table p:last-child{margin:0!important}
.spring-articles .spring-sources{margin-top:36px;font-size:13px;color:var(--muted)}.spring-articles .spring-sources h2{font-size:22px}.spring-articles .spring-sources ul{list-style:disc;padding-left:18px;margin:0}.spring-articles .spring-sources li{margin-bottom:10px}.spring-articles .spring-sources a{overflow-wrap:anywhere}.spring-back{display:inline-block;padding:12px 18px;margin-top:24px;border:1px solid var(--line);border-radius:4px;font-size:13px;color:var(--blue)}
.spring-related{margin-top:48px}.spring-related__heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:22px}.spring-related h2{font:600 28px/1.2 Commissioner,sans-serif;text-transform:none;color:var(--ink);margin:0!important}.spring-related__heading a{font-size:13px;color:var(--blue)}.spring-related__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spring-related__item{display:flex;gap:20px;align-items:center;padding:18px;background:#fff;border-radius:4px;white-space:normal}.spring-related__item img{width:100px;height:88px;object-fit:cover;flex-shrink:0;border-radius:2px}.spring-related__item .spring-kicker{margin-bottom:6px;font-size:11px}.spring-related__title{font:600 18px/1.35 Commissioner,sans-serif;color:var(--ink)}
.spring-library a:focus-visible,.spring-article-page a:focus-visible,.spring-library button:focus-visible,.spring-article-page summary:focus-visible,.spring-articles .table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:1100px){.spring-library__intro{gap:32px}.spring-library h1{font-size:40px}.spring-library__toolbar{align-items:flex-start}.spring-results{padding-top:11px}.spring-article-heading__text{padding:30px}.spring-article-heading h1{font-size:32px}.spring-article-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}.spring-article-main{padding:28px}}
@media(max-width:900px){.spring-article-layout{display:flex;flex-direction:column;gap:20px}.spring-article-main{width:100%}.spring-article-toc{position:static;width:100%;padding:18px 24px;background:var(--wash);border-radius:4px}.spring-article-toc summary{padding:0}.spring-article-toc details[open] summary{padding-bottom:14px}.spring-article-heading{grid-template-columns:1.2fr 1fr}.spring-article-heading h1{font-size:29px}.spring-article-heading .spring-deck{font-size:14px}.spring-article-heading__text{padding:26px}}
@media(max-width:700px){.spring-library,.spring-article-page{width:calc(100% - 32px);padding-top:20px;padding-bottom:44px}.spring-breadcrumb{margin-bottom:24px;font-size:12px}.spring-library__intro{display:block;padding-bottom:24px}.spring-library h1{font-size:34px;margin-bottom:18px!important}.spring-library__intro p{font-size:14px}.spring-eyebrow{font-size:11px;margin-bottom:12px}.spring-library__toolbar{display:block;margin:20px 0}.spring-filters{gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.spring-filters button{padding:9px 11px;font-size:12px;white-space:nowrap;flex-shrink:0}.spring-results{display:block;margin-top:12px;padding:0;font-size:11px}.spring-grid{grid-template-columns:1fr;gap:22px;margin-top:20px}.spring-card__content{padding:20px}.spring-card h2{font-size:24px}.spring-card p{font-size:14px}.spring-card__image{aspect-ratio:2}.spring-article-heading{display:flex;flex-direction:column;margin-bottom:22px}.spring-article-heading__text{padding:24px}.spring-article-heading h1{font-size:30px}.spring-article-heading .spring-deck{margin-bottom:16px!important}.spring-article-hero img{min-height:0;height:auto;aspect-ratio:1.8;object-fit:cover}.spring-article-main{padding:24px 20px}.spring-articles{font-size:15px;line-height:1.8}.spring-articles>p:first-of-type{font-size:17px}.spring-articles h2{font-size:25px;margin-top:36px!important;padding-top:24px}.spring-articles h3{font-size:21px}.spring-articles .article-note{padding:18px;font-size:14px}.spring-articles th,.spring-articles td{padding:12px}.spring-related__grid{grid-template-columns:1fr}.spring-related__item{padding:16px;gap:16px}.spring-related__item img{width:80px;height:80px}.spring-related__title{font-size:18px}.spring-related h2{font-size:26px}}
/* Keep technical comparison tables tabular on phones; the shop's global mobile rule stacks cells. */
.spring-articles table{display:table}.spring-articles thead{display:table-header-group}.spring-articles tbody{display:table-row-group}.spring-articles tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.spring-articles th,.spring-articles td{display:table-cell}.spring-articles td::before{content:none}.spring-articles tr:nth-child(even) td{background:#f6f8fb!important}
