/* Generated design b02-research-brief-2 (docs/design/pool), prefix sff- */
:root{--sff-ink:#212424;--sff-muted:#5e6768;--sff-line:#ced7d9;--sff-soft:#edf4f5;--sff-accent:#16a386;--sff-accent-soft:#dff7f4;--sff-white:#fff;--sff-width:1180px;--sff-copy:760px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sff-white);color:var(--sff-ink);font-family:"Trebuchet MS","Segoe UI",Verdana,sans-serif;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
a{color:#147460;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--sff-accent);outline-offset:3px}
img,svg{max-width:100%}
.sff-skip{position:absolute;left:12px;top:-80px;z-index:100;padding:10px 15px;background:var(--sff-ink);color:var(--sff-white)}
.sff-skip:focus{top:12px}
.sff-header{border-bottom:1px solid var(--sff-line);background:var(--sff-white)}
.sff-header-inner{max-width:var(--sff-width);margin:auto;padding:18px 20px 0}
.sff-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.sff-brand-name{color:var(--sff-ink);font-size:1.12rem;font-weight:800;letter-spacing:-.02em;text-decoration:none}
.sff-tagline{max-width:560px;margin:2px 0 0;color:var(--sff-muted);font-size:.82rem}
.sff-nav{display:flex;gap:3px;margin-top:14px;overflow-x:auto;scrollbar-width:thin}
.sff-nav a{display:flex;align-items:center;min-height:44px;padding:7px 12px;border-bottom:3px solid transparent;color:var(--sff-ink);font-size:.88rem;font-weight:700;text-decoration:none;white-space:nowrap}
.sff-nav a[aria-current="page"]{border-color:var(--sff-accent);color:var(--sff-accent)}
.sff-shell{max-width:var(--sff-width);margin:auto;padding:42px 20px 72px}
.sff-kicker,.sff-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--sff-accent);font-size:.75rem;font-weight:800;letter-spacing:.12em;line-height:1.3;text-transform:uppercase}
.sff-kicker:before,.sff-eyebrow:before{width:34px;height:2px;background:var(--sff-accent);content:""}
h1,h2,h3{line-height:1.14;letter-spacing:-.035em}
h1{max-width:900px;margin:0 0 20px;font-size:clamp(1.9rem,4.4vw,3.5rem)}
h2{margin:0 0 18px;font-size:clamp(1.55rem,4vw,2.25rem)}
h3{font-size:1.05rem}
.sff-lead,.sff-standfirst{max-width:850px;margin:0 0 18px;font-size:clamp(1.12rem,2.2vw,1.38rem);line-height:1.55}
.sff-meta{margin:7px 0;color:var(--sff-muted);font-size:.83rem}
.sff-disclosure{max-width:850px;margin:24px 0;padding:14px 17px;border-left:3px solid var(--sff-accent);background:var(--sff-soft);color:#3e4445;font-size:.85rem}
.sff-disclosure strong{display:block;margin-bottom:2px;color:var(--sff-ink);font-size:.71rem;letter-spacing:.1em;text-transform:uppercase}
.sff-finder{display:grid;gap:10px;max-width:680px;margin-top:28px;padding:22px;border:1px solid var(--sff-line);background:var(--sff-soft)}
.sff-finder label{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sff-finder-row{display:grid;gap:10px}
.sff-finder select,.sff-finder button{min-height:48px;border:1px solid #7b8687;border-radius:0;font:inherit}
.sff-finder select{width:100%;padding:8px 12px;background:var(--sff-white);color:var(--sff-ink)}
.sff-finder button,.sff-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border:1px solid var(--sff-ink);background:var(--sff-ink);color:var(--sff-white);font-weight:800;text-decoration:none;cursor:pointer}
.sff-section{margin-top:70px}
.sff-section-head{padding-top:13px;border-top:2px solid var(--sff-ink)}
.sff-stats{margin-top:54px}
.sff-stat-grid{display:grid;gap:1px;background:var(--sff-line);border:1px solid var(--sff-line)}
.sff-stat{min-width:0;padding:23px;background:var(--sff-white)}
.sff-stat-label{margin:0 0 8px;color:var(--sff-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase}
.sff-stat-value{color:var(--sff-accent);font-size:clamp(1.5rem,4vw,2.2rem);overflow-wrap:normal;word-break:normal;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}
.sff-stat-note,.sff-note{margin:9px 0 0;color:var(--sff-muted);font-size:.78rem;line-height:1.5}
.sff-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--sff-line)}
table{width:100%;border-collapse:collapse;font-size:.91rem;font-variant-numeric:tabular-nums}
th,td{padding:11px 13px;border-bottom:1px solid var(--sff-line);text-align:left;vertical-align:top}
thead th{background:var(--sff-ink);color:var(--sff-white);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
tbody tr:nth-child(even){background:var(--sff-soft)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
.sff-table-action{margin-top:18px}
.sff-categories{display:grid;gap:1px;background:var(--sff-line);border:1px solid var(--sff-line)}
.sff-category{padding:25px;background:var(--sff-white)}
.sff-index{display:block;margin-bottom:24px;color:var(--sff-accent);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}
.sff-category h3{margin:0 0 9px;font-size:1.3rem}
.sff-category p{margin:0 0 18px;color:var(--sff-muted)}
.sff-featured{display:grid;gap:14px}
.sff-feature{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--sff-line)}
.sff-feature-index{color:var(--sff-accent);font-size:1.3rem;font-weight:800}
.sff-feature a{color:var(--sff-ink);font-size:1.12rem;font-weight:800}
.sff-feature-pick{display:block;color:var(--sff-muted);font-size:.82rem}
.sff-feature-pick strong{color:var(--sff-accent)}
.sff-method{padding:28px;background:var(--sff-ink);color:var(--sff-white)}
.sff-method .sff-kicker{color:#7ef0da}
.sff-method .sff-kicker:before{background:#7ef0da}
.sff-method ol{padding-left:22px}
.sff-method li{margin:12px 0}
.sff-method a{color:var(--sff-white)}
.sff-state-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--sff-line);border:1px solid var(--sff-line)}
.sff-state-grid a{display:flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--sff-white);color:var(--sff-ink);font-weight:700;text-decoration:none}
.sff-footer{border-top:1px solid var(--sff-line);background:var(--sff-soft)}
.sff-footer-inner{max-width:var(--sff-width);margin:auto;padding:42px 20px}
.sff-footer-grid{display:grid;gap:30px}
.sff-footer h2{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}
.sff-footer ul{margin:0;padding:0;list-style:none}
.sff-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--sff-ink)}
.sff-legal{max-width:760px;margin:38px 0 5px;padding-top:20px;border-top:1px solid var(--sff-line);color:var(--sff-muted);font-size:.8rem}
.sff-copyright{margin:0;color:var(--sff-muted);font-size:.8rem}
.sff-layout{display:block}
.sff-toc{display:none}
.sff-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 24px;padding:0;list-style:none;color:var(--sff-muted);font-size:.79rem}
.sff-breadcrumbs li:not(:last-child):after{margin-left:5px;content:"/"}
.sff-page-head{margin-bottom:46px}
.sff-rank{padding:25px;background:var(--sff-ink);color:var(--sff-white)}
.sff-rank-value{display:block;color:#66f0d5;font-size:clamp(2.6rem,6vw,4rem);white-space:nowrap;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.sff-rank-label{display:block;margin-top:6px;font-weight:700}
.sff-rank-scale{position:relative;height:12px;margin:24px 0 14px;background:repeating-linear-gradient(90deg,#777 0,#777 1px,transparent 1px,transparent 2%)}
.sff-rank-scale:after{position:absolute;top:-5px;left:80%;width:4px;height:22px;background:#66f0d5;content:""}
.sff-rank .sff-note{color:#ddd}
.sff-pickbox{margin-top:70px;padding:26px;background:var(--sff-soft);border-top:5px solid var(--sff-accent)}
.sff-pick-intro{max-width:760px}
.sff-card{margin-top:28px;padding:24px;background:var(--sff-white);border:1px solid var(--sff-line)}
.sff-card h2{font-size:clamp(1.35rem,3vw,1.8rem)}
.sff-badge{display:inline-block;margin-bottom:13px;padding:4px 8px;background:var(--sff-accent-soft);color:#0d7d65;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sff-price{margin:10px 0;color:var(--sff-accent);font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums}
.sff-verdict{max-width:750px}
.sff-lists{display:grid;gap:18px;margin:22px 0}
.sff-list h3{margin:0 0 7px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.sff-list ul{margin:0;padding-left:19px}
.sff-card-footer{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--sff-line)}
.sff-short{max-width:260px;color:var(--sff-muted);font-size:.7rem;line-height:1.4}
.sff-calc form{display:grid;gap:15px;padding:22px;border:1px solid var(--sff-line);background:var(--sff-soft)}
.sff-calc label{display:grid;gap:6px;font-size:.78rem;font-weight:800;text-transform:uppercase}
.sff-calc select{min-height:46px;padding:8px 12px;background:var(--sff-white);border:1px solid #758081;color:var(--sff-ink);font:inherit}
.sff-calc output{display:block;padding:20px;background:var(--sff-ink);color:var(--sff-white);font-size:1.2rem;font-weight:800;font-variant-numeric:tabular-nums}
.sff-highlight{background:var(--sff-accent-soft)!important;box-shadow:inset 4px 0 var(--sff-accent)}
.sff-prose{max-width:780px}
.sff-prose p,.sff-prose li{max-width:72ch}
.sff-faq details{border-top:1px solid var(--sff-line)}
.sff-faq details:last-child{border-bottom:1px solid var(--sff-line)}
.sff-faq summary{display:flex;align-items:center;min-height:56px;padding:10px 35px 10px 0;font-weight:800;cursor:pointer}
.sff-faq [data-part="answer"]{max-width:760px;padding:0 20px 17px 0}
.sff-related ul,.sff-sources ol{padding-left:20px}
.sff-related li,.sff-sources li{margin:9px 0}
.sff-sources{font-size:.86rem}
@media(min-width:620px){
.sff-finder-row{grid-template-columns:1fr auto}
.sff-stat-grid{grid-template-columns:repeat(3,1fr)}
.sff-categories{grid-template-columns:repeat(3,1fr)}
.sff-state-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.sff-footer-grid{grid-template-columns:repeat(3,1fr)}
.sff-lists{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:980px){
.sff-header-inner{padding-left:32px;padding-right:32px}
.sff-shell{padding:66px 32px 100px}
.sff-layout{display:grid;grid-template-columns:170px minmax(0,820px);gap:70px;align-items:start}
.sff-main-column{grid-column:2}
.sff-toc{display:block;grid-column:1;grid-row:1;position:sticky;top:24px;padding-top:8px}
.sff-toc h2{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.sff-toc ul{margin:0;padding:0;list-style:none}
.sff-toc a{display:flex;align-items:center;min-height:38px;border-left:1px solid var(--sff-line);padding:5px 0 5px 12px;color:var(--sff-muted);font-size:.78rem;text-decoration:none}
.sff-toc a:hover{border-color:var(--sff-accent);color:var(--sff-ink)}
.sff-stat-grid{grid-template-columns:repeat(4,1fr)}
.sff-rank-stats{display:grid;grid-template-columns:1fr 1.7fr;gap:1px;background:var(--sff-line);border:1px solid var(--sff-line)}
.sff-rank-stats .sff-stat-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.sff-state-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.sff-method{padding:44px}
}
.sff-stat-value{color:var(--sff-accent);font-size:clamp(1.8rem,5vw,3rem);font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}
@media(min-width:980px){
.sff-header-inner{padding-left:32px;padding-right:32px}
.sff-shell{padding:66px 32px 100px}
.sff-layout{display:grid;grid-template-columns:170px minmax(0,820px);gap:70px;align-items:start}
.sff-main-column{grid-column:2}
.sff-toc{display:block;grid-column:1;grid-row:1;position:sticky;top:24px;padding-top:8px}
.sff-toc h2{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.sff-toc ul{margin:0;padding:0;list-style:none}
.sff-toc a{display:flex;align-items:center;min-height:38px;border-left:1px solid var(--sff-line);padding:5px 0 5px 12px;color:var(--sff-muted);font-size:.78rem;text-decoration:none}
.sff-toc a:hover{border-color:var(--sff-accent);color:var(--sff-ink)}
.sff-stat-grid{grid-template-columns:repeat(4,1fr)}
.sff-rank-stats{display:grid;grid-template-columns:1fr 1.7fr;gap:1px;background:var(--sff-line);border:1px solid var(--sff-line)}
.sff-rank-stats .sff-stat-grid{border:0}
.sff-state-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.sff-method{padding:44px}
}
