
:root{--font-heading:"Golos Text",system-ui,sans-serif;--font-body:"Encode Sans",system-ui,sans-serif;--font-editorial:"Newsreader",Georgia,"Times New Roman",serif;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#4c606b;font-family:var(--font-body);font-size:16px;line-height:1.6;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3,h4,p,dl,dd,figure{margin:0}img{max-width:100%}
.container{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.sx-header{border-bottom:1px solid #d2dcdc;background:#fff}
.sx-header .container{display:flex;align-items:center;gap:22px;min-height:84px;flex-wrap:wrap}
.sx-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#183746;font-family:var(--font-heading);font-weight:700;font-size:26px;letter-spacing:-.02em}
.sx-brand svg{width:34px;height:34px}
.sx-note{padding-left:20px;border-left:1px solid #d2dcdc;font-size:13px;line-height:1.4;color:#4c606b;max-width:170px}
.sx-nav{margin-left:auto;display:flex;gap:24px;flex-wrap:wrap}
.sx-nav a{color:#183746;text-decoration:none;font-size:15px}.sx-nav a:hover{color:#087b79}
.sx-foot{border-top:1px solid #d2dcdc;padding:28px 0 40px;font-size:13px;color:#66777d}
.sx-foot a{color:#087b79}
.sx-live{display:inline-flex;margin-top:16px;font-size:15px;font-weight:600;color:#087b79;text-decoration:none}
@media (max-width:760px){.sx-note{display:none}.sx-nav{margin-left:0;width:100%;padding-bottom:14px}}

/* ===== Scopeframe research layer ===== */
.sfr{--ink:#183746;--txt:#4c606b;--mute:#66777d;--act:#087b79;--acc:#96beb6;--rule:#d2dcdc;--mist:#f3f6f5;--tint:#e8f3f1;--warn:#a85838;--exc:#a4262c;--warn-t:#f6ece7;--exc-t:#f7e6e6;color:var(--txt);padding-block:40px 96px}
.sfr .sr-only,.sfr-nav-slot .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sfr-label{display:block;font-family:var(--font-body);font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9a4e31}
.sfr h1{font-family:var(--font-editorial);font-weight:400;color:var(--ink);font-size:clamp(40px,5vw,66px);line-height:1.03;letter-spacing:-.018em;text-wrap:balance}
.sfr-h2,.sfr-qlist h2,.sfr-sources h2,.sfr-plan h3{font-family:var(--font-editorial);font-weight:400;color:var(--ink);font-size:clamp(28px,3vw,38px);line-height:1.1;letter-spacing:-.01em}
.sfr a{color:inherit}
.sfr-go{display:inline-flex;gap:6px;align-items:center;font-size:15px;font-weight:600;color:var(--act)!important;text-decoration:none}
.sfr-go:hover{color:var(--ink)!important}
.sfr-go-quiet{font-weight:500;color:var(--txt)!important;margin-left:18px}
.sfr-caveat{margin-top:14px;font-size:13px;line-height:1.6;color:var(--mute)}
.sfr :focus-visible,.sfr-nav-slot :focus-visible{outline:2px solid var(--act,#087b79);outline-offset:2px}

/* breadcrumb */
.sfr-crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;padding:0;margin:0 0 36px;font-size:13px;color:var(--mute)}
.sfr-crumbs li+li::before{content:"/";margin-right:10px;color:#a4b7bd}
.sfr-crumbs a{text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
.sfr-crumbs a:hover{color:var(--act)}

/* hub hero */
.sfr-hub-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:end;padding-bottom:56px;border-bottom:1px solid var(--rule)}
.sfr-hub-copy h1{margin:18px 0 22px}
.sfr-decide{font-family:var(--font-editorial);font-style:italic;font-size:clamp(19px,1.8vw,23px);line-height:1.45;color:var(--txt);max-width:560px}
.sfr-stats{display:flex;margin-top:36px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sfr-stats div{flex:1;padding:16px 20px 14px}
.sfr-stats div:first-child{padding-left:0}
.sfr-stats div+div{border-left:1px solid var(--rule)}
.sfr-stats dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.sfr-stats dd{margin:6px 0 0;font-family:var(--font-editorial);font-size:30px;line-height:1.1;color:var(--ink)}
.sfr-hub-photo{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mist)}
.sfr-hub-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sfr-notch{position:absolute;right:0;bottom:0;width:64px;height:64px;background:#fff;padding:14px}
.sfr-notch svg{width:100%;height:100%;display:block}

/* feature frame */
.sfr-feature{padding:64px 0;border-bottom:1px solid var(--rule)}

/* question rows */
.sfr-qlist{padding-top:64px}
.sfr-qlist ol{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--ink)}
.sfr-qlist li{border-bottom:1px solid var(--rule)}
.sfr-qlist li a{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.25fr) auto;gap:8px 28px;align-items:baseline;padding:22px 0;text-decoration:none}
.sfr-qnum{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--mute)}
.sfr-qtitle{font-family:var(--font-editorial);font-size:21px;line-height:1.3;color:var(--ink);transition:color .15s}
.sfr-qsum{font-size:15px;line-height:1.6;color:var(--txt)}
.sfr-qlist li a:hover .sfr-qtitle,.sfr-qlist li a:focus-visible .sfr-qtitle{color:var(--act)}
.sfr-qlist .sfr-go{white-space:nowrap;font-size:14px}

/* reference strip */
.sfr-refstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:64px;border:1px solid var(--rule)}
.sfr-refstrip a{display:flex;flex-direction:column;gap:8px;padding:22px 24px;text-decoration:none;font-size:15px;line-height:1.5}
.sfr-refstrip a+a{border-left:1px solid var(--rule)}
.sfr-refstrip a:hover{background:var(--mist)}
.sfr-refstrip .sfr-go{margin-top:auto;font-size:14px}

/* quality */
.sfr-quality{margin-top:64px;background:var(--mist);border-top:2px solid var(--acc);padding:32px 32px 26px}
.sfr-quality dl{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0 0}
.sfr-quality dl div{padding-right:24px}
.sfr-quality dl div+div{border-left:1px solid var(--rule);padding-left:24px}
.sfr-quality dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.sfr-quality dd{margin:8px 0 0}
.sfr-qv{font-family:var(--font-editorial);font-size:48px;line-height:1;color:var(--ink)}
.sfr-qof{font-size:15px;color:var(--mute);margin-left:4px}
.sfr-qbar{display:block;height:1px;background:var(--rule);margin-top:14px}
.sfr-qbar i{display:block;height:1px;background:var(--act)}

/* prev / next */
.sfr-prevnext{display:grid;grid-template-columns:1fr 1fr;margin-top:64px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.sfr-prevnext a{display:flex;flex-direction:column;gap:8px;padding:24px 0;text-decoration:none;font-family:var(--font-editorial);font-size:22px;line-height:1.25;color:var(--ink)}
.sfr-prevnext a.is-next{text-align:right;align-items:flex-end;border-left:1px solid var(--rule);padding-left:24px}
.sfr-prevnext a:first-child:not(.is-next){padding-right:24px}
.sfr-prevnext a:hover{color:var(--act)}

/* page */
.sfr-page h1{max-width:900px;margin-top:12px;font-size:clamp(36px,4.4vw,58px)}
.sfr-meta{display:flex;flex-wrap:wrap;margin:28px 0 44px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:13px;color:var(--mute)}
.sfr-meta span{padding:0 18px;border-left:1px solid var(--rule)}
.sfr-meta span:first-child{padding-left:0;border-left:0;color:var(--ink);font-weight:600}
.sfr-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.sfr-article{max-width:720px;min-width:0}
.sfr-article>p,.sfr-article>ul,.sfr-article>ol,.sfr-article>blockquote{font-family:var(--font-editorial);font-size:19px;line-height:1.7;color:#3b505b;margin-top:20px}
.sfr-article>p:first-child{font-size:21px;line-height:1.6;color:var(--ink)}
.sfr-article h2{font-family:var(--font-editorial);font-weight:500;color:var(--ink);font-size:clamp(25px,2.4vw,31px);line-height:1.2;margin-top:52px}
.sfr-article h3{font-family:var(--font-editorial);font-weight:500;color:var(--ink);font-size:23px;line-height:1.25;margin-top:40px}
.sfr-article h4{font-size:16px;font-weight:600;color:var(--ink);margin-top:28px}
.sfr-article ul,.sfr-article ol{padding-left:24px}
.sfr-article li{margin-top:8px}
.sfr-article li::marker{color:var(--act)}
.sfr-article strong{color:var(--ink)}
.sfr-article a{color:var(--act);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
.sfr-article a:hover{color:var(--ink)}
.sfr-article hr{border:0;border-top:1px solid var(--rule);margin:40px 0}
.sfr-article code{font-size:.85em;background:var(--mist);padding:2px 6px}
.sfr-article blockquote{border-left:2px solid var(--acc);padding-left:20px;margin-left:0}
.sfr-table{overflow-x:auto;margin-top:24px;border:1px solid var(--rule);max-width:100%}
.sfr-table table{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:14px;line-height:1.55;min-width:560px}
.sfr-table th{background:var(--mist);text-align:left;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:bottom}
.sfr-table td{padding:12px 14px;border-top:1px solid var(--rule);vertical-align:top;color:var(--txt)}
.sfr-table td:first-child{font-weight:600;color:var(--ink)}
.sfr-table .num{text-align:right}
.sfr-sources{margin-top:56px;background:var(--mist);padding:28px 28px 20px}
.sfr-sources h2{font-size:26px!important;margin:0!important}
.sfr-sources ol{list-style:none;counter-reset:s;padding:0;margin:18px 0 0}
.sfr-sources li{counter-increment:s;position:relative;padding:12px 0 12px 40px;border-top:1px solid var(--rule);font-family:var(--font-body);font-size:15px}
.sfr-sources li::before{content:counter(s);position:absolute;left:0;top:10px;font-family:var(--font-editorial);font-size:20px;color:#9a4e31}
.sfr-sources li a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;word-break:break-word}
.sfr-sources li a:hover{color:var(--act)}
.sfr-sources li span{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.sfr-side{position:sticky;top:24px;background:var(--mist);border-top:2px solid var(--acc);padding:22px 0 18px;max-height:calc(100vh - 48px);overflow:auto}
.sfr-side>.sfr-label{padding:0 22px 12px;color:var(--ink)}
.sfr-side ol{list-style:none;margin:0;padding:0}
.sfr-side li a{display:block;padding:9px 22px;font-size:13px;line-height:1.45;color:var(--txt);text-decoration:none;border-left:2px solid transparent}
.sfr-side li a:hover{color:var(--act);background:#fff}
.sfr-side li.is-cur a{border-left-color:var(--act);color:var(--ink);font-weight:600;background:#fff}
.sfr-side-extra:empty{display:none}
.sfr-mini{margin:18px 22px 0;padding-top:18px;border-top:1px solid var(--rule);font-size:13px}
.sfr-mini .sfr-sig{width:120px;margin:10px 0}
.sfr-mini .sfr-go{display:flex;font-size:13px;margin-top:8px}
.sfr-mini .sfr-go-quiet{margin-left:0}
.sfr-working{margin-top:24px;padding:20px;border:1px solid var(--rule)}
.sfr-working .sfr-go{margin-top:14px}

/* chips & buttons (site control radius) */
.sfr-chips{display:flex;flex-wrap:wrap;gap:8px}
.sfr-chip{min-height:40px;padding:8px 14px;border:1px solid var(--rule);border-radius:3px;background:#fff;color:var(--txt);font:inherit;font-size:13px;cursor:pointer}
.sfr-chip span{color:var(--mute);margin-left:4px}
.sfr-chip[aria-pressed=true]{border-color:var(--act);background:var(--tint);color:var(--act)}
.sfr-chip:disabled{opacity:.45;cursor:default}
.sfr-btn{min-height:44px;padding:0 18px;border:1px solid var(--rule);border-radius:5px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-left:8px}
.sfr-btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}
.sfr-btn:disabled{opacity:.4;cursor:default}

/* 01 direct questions */
.sfr-start{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule)}
.sfr-start-cell{display:flex;flex-direction:column;gap:14px;padding:30px 28px;text-decoration:none;min-height:280px}
.sfr-start-cell+.sfr-start-cell{border-left:1px solid var(--rule)}
.sfr-start-cell:hover{background:var(--mist)}
.sfr-start-cell.is-dark{background:var(--ink);color:#fff}
.sfr-start-cell.is-dark .sfr-label{color:#c9e1da}
.sfr-start-cell.is-dark .sfr-start-q,.sfr-start-cell.is-dark .sfr-start-a,.sfr-start-cell.is-dark .sfr-go{color:#fff!important}
.sfr-start-q{font-family:var(--font-editorial);font-size:26px;line-height:1.18;color:var(--ink)}
.sfr-start-a{font-size:15px;line-height:1.6}
.sfr-start-cell .sfr-go{margin-top:auto}
.sfr-qtools{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:20px 40px;margin-top:40px;align-items:end}
.sfr-search input{display:block;width:100%;margin-top:10px;min-height:48px;padding:0 14px;border:1px solid #a4b7bd;border-radius:5px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.sfr-count{grid-column:1/-1;font-size:13px;color:var(--mute)}

/* 02 DIY schedule */
.sfr-gantt-wrap{overflow-x:auto;border:1px solid var(--rule)}
.sfr-gantt{min-width:880px}
.sfr-gantt-head,.sfr-gantt-row{display:grid;grid-template-columns:300px minmax(0,1fr) 120px}
.sfr-gantt-head{background:var(--mist);border-bottom:1px solid var(--rule)}
.sfr-gantt-head>.sfr-label{padding:12px 16px;color:var(--ink)}
.sfr-wks{display:grid;grid-template-columns:repeat(16,1fr);border-left:1px solid var(--rule)}
.sfr-wk{padding:12px 0;text-align:center;font-size:12px;color:var(--mute)}
.sfr-wk+.sfr-wk{border-left:1px dotted var(--rule)}
.sfr-then-h{border-left:1px solid var(--rule)}
.sfr-gantt-row+.sfr-gantt-row{border-top:1px solid var(--rule)}
.sfr-gantt-stage{display:flex;gap:12px;align-items:flex-start;padding:16px}
.sfr-gantt-stage a,.sfr-gantt-stage>span:last-child{font-size:14px;line-height:1.45;color:var(--ink);text-decoration:none}
.sfr-gantt-stage a:hover{color:var(--act)}
.sfr-gantt-stage .sfr-label{color:var(--mute);margin-bottom:4px;letter-spacing:.1em}
.sfr-tick input{width:18px;height:18px;margin-top:2px;accent-color:#087b79}
.sfr-tick-pad{width:18px;flex:none}
.sfr-gantt-track,.sfr-gantt-then{position:relative;border-left:1px solid var(--rule);min-height:72px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(6.25% - 1px),#eef2f1 calc(6.25% - 1px),#eef2f1 6.25%)}
.sfr-gantt-then{background:none}
.sfr-bar{position:absolute;top:50%;height:14px;margin-top:-7px;border:0;padding:0;background:var(--act);cursor:help}
.sfr-bar.is-decision{background:var(--ink)}
.sfr-gantt-then .sfr-bar{left:12px;right:12px}
.sfr-bar.is-open{background:repeating-linear-gradient(135deg,#fff 0 4px,var(--tint) 4px 8px);border:1px dashed var(--act)}
.is-done .sfr-bar{opacity:.45}
.is-done .sfr-gantt-stage a{text-decoration:line-through;text-decoration-color:var(--mute)}
.sfr-gate{position:absolute;z-index:3;left:8px;right:8px;top:calc(50% + 12px);background:#fff;border:1px solid var(--rule);border-top:2px solid var(--acc);padding:10px 12px;font-size:13px;line-height:1.45;color:var(--txt);opacity:0;visibility:hidden;transition:opacity .15s}
.sfr-gate strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.sfr-gantt-track:hover .sfr-gate,.sfr-gantt-then:hover .sfr-gate,.sfr-bar:focus-visible+.sfr-gate{opacity:1;visibility:visible}
.sfr-gantt-key{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;font-size:13px;color:var(--txt)}
.sfr-gantt-key i{display:inline-block;width:22px;height:8px;margin-right:8px;vertical-align:middle}
.k-bar{background:var(--act)}.k-dec{background:var(--ink)}.k-open{background:repeating-linear-gradient(135deg,#fff 0 3px,var(--tint) 3px 6px);border:1px dashed var(--act)}
.sfr-progress-txt{margin-left:auto;color:var(--mute)}

/* 03 comparisons explorer */
.sfr-explorer{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--rule)}
.sfr-ex-tabs{display:flex;flex-direction:column;border-right:1px solid var(--rule)}
.sfr-ex-tabs button{display:flex;gap:14px;align-items:baseline;text-align:left;padding:16px 20px;border:0;border-bottom:1px solid var(--rule);background:#fff;font:inherit;font-size:15px;line-height:1.4;color:var(--txt);cursor:pointer;border-left:2px solid transparent}
.sfr-ex-tabs button:last-child{border-bottom:0}
.sfr-ex-tabs button .sfr-label{color:var(--mute);letter-spacing:.08em}
.sfr-ex-tabs button:hover{background:var(--mist)}
.sfr-ex-tabs button[aria-selected=true]{border-left-color:var(--act);background:var(--tint);color:var(--ink);font-weight:600}
.sfr-ex-panel{padding:32px 36px}
.sfr-ex-panel h3{font-family:var(--font-editorial);font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.1;color:var(--ink);margin:10px 0 24px}
.sfr-ex-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);margin:0 0 24px}
.sfr-ex-grid div{padding:18px 20px 18px 0;border-bottom:1px solid var(--rule)}
.sfr-ex-grid div:nth-child(2n){padding-left:20px;border-left:1px solid var(--rule)}
.sfr-ex-grid dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.sfr-ex-grid dd{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--ink)}
.sfr-ex-next{margin-top:24px;font-family:var(--font-editorial);font-size:21px;color:var(--ink);display:flex;gap:16px;flex-wrap:wrap;align-items:baseline}

/* 04 regulatory board */
.sfr-f-regulatory>.sfr-chips{margin-bottom:24px}
.sfr-board{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.sfr-change{display:flex;flex-direction:column;gap:12px;padding:24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sfr-change[hidden]{display:none}
.sfr-jur{align-self:flex-start;padding:4px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sfr-jur-0{background:#183746}.sfr-jur-1{background:#087b79}.sfr-jur-2{background:#a85838}.sfr-jur-3{background:#526c77}.sfr-jur-4{background:#076d6b}.sfr-jur-5{background:#8a4b35}.sfr-jur-6{background:#4c606b}
.sfr-change h3{font-family:var(--font-editorial);font-weight:500;font-size:22px;line-height:1.2;color:var(--ink)}
.sfr-change-who{font-size:14px;line-height:1.55}
.sfr-change .sfr-label{color:var(--mute);letter-spacing:.1em;margin-bottom:4px;font-size:11px}
.sfr-change-status{font-size:14px;line-height:1.55;padding-top:12px;border-top:1px dashed #a4b7bd;color:var(--ink)}
.sfr-action{background:var(--mist);border-top:2px solid var(--acc);padding:14px;font-size:14px;line-height:1.55}
.sfr-action a{color:var(--act)}
.sfr-change .sfr-go{margin-top:auto;font-size:14px}
.sfr-empty{padding:24px;border:1px dashed var(--rule);color:var(--mute)}

/* 05 hiring */
.sfr-roles{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.sfr-role{display:flex;flex-direction:column;gap:10px;padding:28px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sfr-role h3{font-family:var(--font-editorial);font-weight:500;font-size:24px;line-height:1.2;color:var(--ink)}
.sfr-role-where{font-size:13px;color:var(--mute)}
.sfr-pay{font-family:var(--font-editorial);font-size:22px;line-height:1.3;color:var(--act)}
.sfr-role-work{font-size:15px;line-height:1.6}
.sfr-signal{background:var(--mist);padding:14px 16px;font-size:14px;line-height:1.5;color:var(--ink)}
.sfr-signal .sfr-label{color:var(--mute);font-size:11px;margin-bottom:4px}
.sfr-role .sfr-go{margin-top:auto;font-size:14px}

/* 06 expert grid */
.sfr-xgrid{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.sfr-xgrid li{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sfr-xgrid a{display:flex;flex-direction:column;gap:14px;height:100%;min-height:210px;padding:22px 20px;text-decoration:none;transition:background .15s,color .15s}
.sfr-xnum{font-family:var(--font-editorial);font-size:44px;line-height:1;color:#c4d3d0}
.sfr-xq{font-family:var(--font-editorial);font-size:18px;line-height:1.3;color:var(--ink)}
.sfr-xgrid a:hover,.sfr-xgrid a:focus-visible{background:var(--ink)}
.sfr-xgrid a:hover .sfr-xq,.sfr-xgrid a:focus-visible .sfr-xq{color:#fff}
.sfr-xgrid a:hover .sfr-xnum,.sfr-xgrid a:focus-visible .sfr-xnum{color:var(--acc)}

/* 07 media shelf */
.sfr-shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px}
.sfr-media{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5}
.sfr-cover{position:relative;aspect-ratio:16/9;padding:18px;margin-bottom:10px;display:flex;flex-direction:column;justify-content:space-between}
.sfr-cover .sfr-label{color:#c9e1da}
.sfr-cover-podcast{background:#183746}.sfr-cover-video{background:#076d6b}.sfr-cover-workshop{background:#4c606b}
.sfr-ico{width:52px;height:52px;fill:none;stroke:var(--acc);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;align-self:flex-start}
.sfr-wave{position:absolute;right:18px;bottom:20px;width:46%;stroke:var(--acc);stroke-width:2;stroke-linecap:round;opacity:.85}
.sfr-media>.sfr-label{color:var(--mute);font-size:11px;letter-spacing:.1em}
.sfr-media h3{font-family:var(--font-editorial);font-weight:500;font-size:21px;line-height:1.25;color:var(--ink)}
.sfr-media-who{color:var(--txt)}
.sfr-media-when{color:var(--mute);font-size:13px}
.sfr-media .sfr-go{font-size:14px;margin-top:4px}
.sfr-media .sfr-go-quiet{margin-left:0}

/* 08 quiz */
.sfr-assess{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);border:1px solid var(--rule)}
.sfr-qcard{padding:32px 36px}
.sfr-qhead{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin-bottom:22px}
.sfr-qhead .sfr-label{color:var(--mute)}
.sfr-sqs{display:flex;flex-wrap:wrap;gap:4px}
.sfr-sq{width:28px;height:28px;padding:0;border:1px solid var(--rule);background:#fff;font:inherit;font-size:11px;color:var(--mute);cursor:pointer}
.sfr-sq.is-done{background:var(--tint);border-color:var(--acc);color:var(--ink)}
.sfr-sq.is-cur{box-shadow:inset 0 -2px 0 var(--act);color:var(--ink);font-weight:600}
.sfr-gatetag{display:inline-block;padding:3px 8px;background:var(--exc);color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.sfr-qcard h3{font-family:var(--font-editorial);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.15;color:var(--ink);margin:12px 0 12px}
.sfr-evidence{font-size:14px;line-height:1.6;color:var(--mute)}
.sfr-opts{display:grid;gap:10px;margin-top:22px}
.sfr-opt{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;text-align:left;padding:14px 16px;border:1px solid var(--rule);border-radius:5px;background:#fff;font:inherit;font-size:15px;line-height:1.5;color:var(--txt);cursor:pointer}
.sfr-opt:hover{border-color:#a4b7bd;background:var(--mist)}
.sfr-opt.is-on{border-color:var(--act);background:var(--tint);color:var(--ink)}
.sfr-pts{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--act);color:var(--act);font-weight:600;font-size:14px}
.sfr-opt.is-on .sfr-pts{background:var(--act);color:#fff}
.sfr-qnav{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:26px;padding-top:20px;border-top:1px solid var(--rule)}
.sfr-score{background:var(--ink);color:#fff;padding:28px}
.sfr-score>.sfr-label{color:#c9e1da}
.sfr-score .sfr-sig{width:min(220px,100%);display:block;margin:14px auto 18px}
.sfr-sig-total{font-family:var(--font-editorial);font-size:19px;fill:#fff}
.sfr-sig-max{font-size:6px;fill:rgba(255,255,255,.7);letter-spacing:.06em}
.sfr-mini .sfr-sig-total{fill:#183746}.sfr-mini .sfr-sig-max{fill:#66777d}
.sfr-remaining{font-size:15px;line-height:1.55;color:rgba(255,255,255,.85)}
.sfr-band{border-top:1px solid rgba(255,255,255,.2);padding-top:14px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.88)}
.sfr-band .sfr-label{color:#c9e1da}
.sfr-band-means{font-family:var(--font-editorial);font-size:19px;line-height:1.35;color:#fff;margin:6px 0 10px}
.sfr-band strong,.sfr-band-means strong{color:#fff}
.sfr-override{margin-top:14px;background:var(--exc);padding:12px 14px;font-size:14px;line-height:1.5;color:#fff}
.sfr-override strong{display:block;margin-bottom:2px}
.sfr-key{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:0;margin:18px 0 0;font-size:12px;color:rgba(255,255,255,.75)}
.sfr-key i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.sfr-score-links{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}
.sfr-score .sfr-go{color:#fff!important;font-size:14px}
.sfr-clear{border:0;background:none;padding:0;font:inherit;font-size:14px;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.8}
.sfr-plan{margin-top:48px}
.sfr-plan:empty{display:none}
.sfr-plan-lede{margin-top:8px;font-size:14px;color:var(--mute)}
.sfr-plan input{width:100%;min-width:110px;min-height:38px;padding:0 10px;border:1px solid #a4b7bd;border-radius:5px;font:inherit;font-size:14px}
.sfr-plan td a{color:var(--act)}
.sfr-plan-pts{display:block;font-weight:400;color:var(--mute);font-size:13px}
.sfr-opts-page{margin:18px 0 0}
.sfr-opts-page .sfr-opt{font-family:var(--font-body)}

/* 09 scorecard */
.sfr-sc-weights{margin-bottom:28px}
.sfr-wstrip{display:flex;height:34px;margin-top:12px}
.sfr-wstrip span{display:flex;align-items:center;justify-content:center;min-width:0;color:#fff;font-size:12px;font-weight:600;transition:flex .2s}
.sfr-wstrip span+span{border-left:1px solid #fff}
.sfr-wkey{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 20px;list-style:none;padding:0;margin:12px 0 0;font-size:13px;line-height:1.4;color:var(--txt)}
.sfr-wkey i{display:inline-block;width:10px;height:10px;margin-right:8px}
.sfr-wkey b{color:var(--ink)}
.sfr-sc-table table{min-width:860px}
.sfr-sc-table th[scope=row]{background:#fff;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;border-top:1px solid var(--rule);vertical-align:top}
.sfr-sc-table th[scope=row] .sfr-label{color:var(--mute);font-size:11px}
.sfr-scorer{display:block;font-weight:400;font-size:12px;color:var(--mute);margin-top:2px}
.sfr-sc-table td:first-child{font-weight:400}
.sfr-sc-group th{background:var(--ink)!important;color:#fff!important}
.sfr-sc-group.is-light th{background:var(--mist)!important;color:var(--ink)!important}
.sfr-sc-table select,.sfr-sc-table input{width:100%;min-height:36px;padding:0 8px;border:1px solid #a4b7bd;border-radius:5px;font:inherit;font-size:13px;color:var(--ink);background:#fff}
.sfr-sc-table .sfr-cap{margin-top:6px;font-size:12px;color:var(--txt)}
.sfr-sc-table .sfr-w{width:70px;text-align:right}
.sfr-pname{font-weight:600}
.sfr-gcell.g-pass{background:var(--tint)}
.sfr-gcell.g-fail{background:var(--exc-t)}
.sfr-gcell.g-none select{border-style:dashed}
.sfr-results{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border:1px solid var(--rule)}
.sfr-result{padding:24px}
.sfr-result+.sfr-result{border-left:1px solid var(--rule)}
.sfr-total{font-family:var(--font-editorial);font-size:52px;line-height:1;color:var(--ink);margin:10px 0 16px}
.sfr-total span{font-size:16px;color:var(--mute);margin-left:4px}
.sfr-meter{position:relative;display:flex;height:8px}
.sfr-meter .z1{flex:65;background:var(--warn-t)}.sfr-meter .z2{flex:15;background:var(--tint)}.sfr-meter .z3{flex:20;background:#c9e1da}
.sfr-meter i{position:absolute;top:-4px;width:2px;height:16px;background:var(--ink);margin-left:-1px}
.sfr-meter-n{position:relative;height:18px;margin-top:4px;font-size:11px;color:var(--mute)}
.sfr-meter-n span{position:absolute;transform:translateX(-50%)}
.sfr-meter-n span:first-child{left:0;transform:none}.sfr-meter-n span:last-child{right:0;transform:none}
.sfr-cover-n{font-size:13px;color:var(--mute);margin:10px 0 14px}
.sfr-verdict{padding:12px 14px;font-size:14px;line-height:1.5}
.sfr-verdict strong{display:block}
.sfr-verdict.is-fail{background:var(--exc);color:#fff}
.sfr-verdict.is-unver{background:var(--warn-t);color:var(--ink)}
.sfr-verdict.is-pass{background:var(--mist);color:var(--ink);border-top:2px solid var(--acc)}
.sfr-scorecard .sfr-score-links{border-top:0;color:var(--txt)}

/* 10 newsletter */
.sfr-mails{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.sfr-mail{display:flex;flex-direction:column;gap:10px;border:1px solid var(--rule);text-decoration:none;padding-bottom:22px;background:#fff}
.sfr-mail:hover{border-color:#a4b7bd}
.sfr-mail-bar{display:flex;justify-content:space-between;padding:10px 20px;background:var(--mist);border-bottom:1px solid var(--rule);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink)}
.sfr-mail-bar span+span{color:var(--mute)}
.sfr-mail-from{padding:4px 20px 0;font-size:13px;color:var(--mute)}
.sfr-mail-subj{padding:0 20px;font-family:var(--font-editorial);font-size:23px;line-height:1.22;color:var(--ink)}
.sfr-mail-pre{padding:0 20px;font-size:15px;line-height:1.55;color:var(--txt)}
.sfr-mail-ed{padding:10px 20px 0;margin:0 20px;border-top:1px solid var(--rule);font-size:13px;color:var(--mute);padding-left:0;padding-right:0}
.sfr-mail .sfr-go{padding:0 20px;font-size:14px;margin-top:auto}

/* 11 market data */
.sfr-warnstrip{border-left:3px solid var(--warn);background:var(--warn-t);padding:14px 18px;font-size:15px;line-height:1.55;color:var(--ink);margin-bottom:22px}
.sfr-scale-wrap{border:0;border-top:1px solid var(--ink)}
.sfr-scale{min-width:860px}
.sfr-scale-row{display:grid;grid-template-columns:340px minmax(0,1fr);border-bottom:1px solid var(--rule)}
.sfr-scale-src{display:flex;flex-direction:column;gap:4px;padding:16px 20px 16px 0;font-size:13px;line-height:1.45;color:var(--mute)}
.sfr-scale-src strong{font-size:15px;color:var(--ink)}
.sfr-etag{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor}
.sfr-etag-published{color:var(--act)}.sfr-etag-calculated{color:var(--ink)}.sfr-etag-unverified{color:var(--warn)}.sfr-etag-quote-only{color:var(--mute)}
.sfr-scale-track{position:relative;min-height:64px;margin-right:170px;background-image:repeating-linear-gradient(90deg,var(--rule) 0,var(--rule) 1px,transparent 1px,transparent calc(15.625%))}
.sfr-scale-axis .sfr-scale-track{min-height:40px;background:none}
.sfr-scale-axis .sfr-scale-track span{position:absolute;bottom:10px;transform:translateX(-50%);font-size:12px;color:var(--mute)}
.sfr-sbar{position:absolute;top:50%;height:6px;margin-top:-3px}
.sfr-sbar-published{background:var(--act)}
.sfr-sbar-calculated{background:repeating-linear-gradient(135deg,var(--act) 0 2px,#fff 2px 4px);border:1px solid var(--act);min-width:6px}
.sfr-sbar-unverified{background:repeating-linear-gradient(135deg,var(--warn) 0 2px,#fff 2px 5px);border:1px solid var(--warn)}
.sfr-sval{position:absolute;top:50%;transform:translate(10px,-50%);white-space:nowrap;font-family:var(--font-editorial);font-size:17px;color:var(--ink)}
.sfr-scale-none{position:absolute;top:50%;left:0;transform:translateY(-50%);font-family:var(--font-editorial);font-style:italic;font-size:17px;color:var(--mute)}
.sfr-legend{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;margin:16px 0 0;font-size:13px}
.sfr-legend i{display:inline-block;width:22px;height:6px;margin-right:8px;vertical-align:middle}
.l-pub{background:var(--act)}.l-calc{background:repeating-linear-gradient(135deg,var(--act) 0 2px,#fff 2px 4px);border:1px solid var(--act)}.l-unv{background:repeating-linear-gradient(135deg,var(--warn) 0 2px,#fff 2px 5px);border:1px solid var(--warn)}.l-q{border-top:1px dashed var(--mute);height:0!important}

/* 12 next steps */
.sfr-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.sfr-route-q h3{font-family:var(--font-editorial);font-weight:400;font-style:italic;font-size:clamp(30px,3.2vw,42px);line-height:1.1;color:var(--ink)}
.sfr-route-q p{margin-top:14px;font-size:16px;line-height:1.6}
.sfr-pos{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.sfr-pos li{border-bottom:1px solid var(--rule)}
.sfr-pos button{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;gap:14px;align-items:baseline;width:100%;text-align:left;padding:18px 0;border:0;background:none;font:inherit;font-size:16px;line-height:1.45;color:var(--ink);cursor:pointer}
.sfr-pos button .sfr-label{color:var(--mute);letter-spacing:.08em}
.sfr-pos button:hover{color:var(--act)}
.sfr-pos button[aria-expanded=true] .sfr-chev{transform:rotate(180deg)}
.sfr-pos-a{display:grid;grid-template-columns:1fr 1fr;margin:0 0 18px 54px;border:1px solid var(--rule)}
.sfr-pos-a[hidden]{display:none}
.sfr-pos-a div{padding:16px 18px;font-size:15px;line-height:1.55;color:var(--ink)}
.sfr-pos-a .sfr-label{color:var(--act);font-size:11px;margin-bottom:6px}
.sfr-pos-a .is-not{border-left:1px solid var(--rule);background:var(--mist)}
.sfr-pos-a .is-not .sfr-label{color:var(--warn)}
.sfr-stages{display:grid;grid-template-columns:repeat(7,1fr);list-style:none;padding:0;margin:56px 0 0;border-top:2px solid var(--ink)}
.sfr-stages li{position:relative}
.sfr-stages li::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:#fff;border:2px solid var(--ink)}
.sfr-stages a{display:block;padding:22px 16px 0 0;font-family:var(--font-editorial);font-size:16px;line-height:1.3;color:var(--ink);text-decoration:none}
.sfr-stages a:hover{color:var(--act)}
.sfr-stages .sfr-label{color:var(--mute);font-size:11px;margin-bottom:6px}

/* research library (#/research) */
.sfr-library{padding:48px 0 64px;margin-bottom:48px;border-bottom:1px solid var(--rule)}
.sfr-lib-head h2{font-family:var(--font-editorial);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1.08;color:#183746;margin-top:12px}
.sfr-lib-groups{display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;border-top:1px solid #183746}
.sfr-lib-group{padding:22px 22px 0 0}
.sfr-lib-group+.sfr-lib-group{border-left:1px solid #d2dcdc;padding-left:22px}
.sfr-lib-sub{font-size:14px;line-height:1.5;color:#66777d;margin:6px 0 14px}
.sfr-lib-group ul{list-style:none;padding:0;margin:0}
.sfr-lib-group li a{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px solid #d2dcdc;text-decoration:none}
.sfr-lib-n{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#66777d}
.sfr-lib-name{font-family:var(--font-editorial);font-size:22px;line-height:1.2;color:#183746}
.sfr-lib-dec{font-size:14px;line-height:1.5;color:#4c606b}
.sfr-lib-group li a:hover .sfr-lib-name{color:#087b79}

/* ===== header research menu ===== */
.sfr-nav-slot{display:contents}
.sfr-nav-trigger{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:6px;min-height:44px;white-space:nowrap;cursor:pointer;font-family:inherit;font-size:15px;font-weight:inherit;letter-spacing:inherit;color:#183746}
.sfr-nav-trigger:hover,.sfr-nav-trigger.is-active{color:#087b79}
.sfr-nav-trigger:focus-visible{outline:2px solid #087b79;outline-offset:2px}
.sfr-chev{transition:transform .15s}
.sfr-nav-trigger[aria-expanded=true] .sfr-chev{transform:rotate(180deg)}
.sfr-mega{position:fixed;left:0;right:0;z-index:60;background:#fff;border-top:1px solid #d2dcdc;border-bottom:1px solid #d2dcdc;box-shadow:0 18px 40px rgba(24,55,70,.12);max-height:calc(100vh - 100px);overflow:auto}
.sfr-mega[hidden]{display:none}
.sfr-mega-in{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0;padding-block:28px 24px}
.sfr-mega-cols{display:grid;grid-template-columns:repeat(4,1fr)}
.sfr-mega-col{padding:0 18px}
.sfr-mega-col:first-child{padding-left:0}
.sfr-mega-col+.sfr-mega-col{border-left:1px solid #d2dcdc}
.sfr-mega .sfr-label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9a4e31}
.sfr-mega-sub{font-size:13px;line-height:1.45;color:#66777d;margin:6px 0 12px;min-height:38px}
.sfr-mega-col ul{list-style:none;margin:0;padding:0}
.sfr-mega-sec{display:flex;flex-direction:column;gap:2px;padding:10px 10px 10px 12px;margin-left:-12px;border-left:2px solid transparent;text-decoration:none!important;min-height:auto!important}
.sfr-mega-name{font-family:var(--font-editorial);font-size:19px;line-height:1.2;color:#183746}
.sfr-mega-meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#66777d}
.sfr-mega-sec:hover,.sfr-mega-sec:focus-visible,.sfr-mega-sec.is-preview{background:#f3f6f5;border-left-color:#087b79;outline:none}
.sfr-mega-sec.is-current .sfr-mega-name{color:#087b79}
.sfr-preview{border-left:1px solid #d2dcdc;padding-left:24px;margin-left:6px}
.sfr-pv-photo{position:relative;height:120px;overflow:hidden}
.sfr-pv-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sfr-pv-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,44,56,.85),rgba(18,44,56,.1) 70%)}
.sfr-pv-photo span{position:absolute;z-index:1;left:16px;bottom:12px;font-family:var(--font-editorial);font-size:22px;color:#fff}
.sfr-preview ul{list-style:none;margin:12px 0 10px;padding:0}
.sfr-preview li a{display:block!important;padding:7px 0!important;min-height:0!important;font-size:14px!important;line-height:1.4;color:#4c606b!important;border-bottom:1px solid #eef2f1;white-space:normal!important}
.sfr-preview li a:hover{color:#087b79!important}
.sfr-preview .sfr-go{display:inline-flex!important;min-height:0!important;font-size:14px!important;color:#087b79!important;font-weight:600}
.sfr-mega-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:14px 18px;border-top:1px solid #d2dcdc;font-size:13px;color:#66777d}
.sfr-mega-foot a{display:inline!important;min-height:0!important;font-size:13px!important;color:#087b79!important;font-weight:600;margin-left:22px}
.sfr-acc{display:none}
.sfr-mega a{white-space:normal}

@media (max-width:1000px){
  .sfr-nav-slot{display:block}
  .sfr-nav-trigger{width:100%;min-height:52px;justify-content:space-between;border-bottom:1px solid #d2dcdc;font-size:15px}
  .sfr-mega{display:none!important}
  .sfr-acc:not([hidden]){display:block;border-left:2px solid #96beb6;padding:8px 0 8px 14px;margin:6px 0 10px;max-height:60vh;overflow:auto}
  .sfr-acc .sfr-label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9a4e31;margin:12px 0 4px}
  .sfr-acc ul{list-style:none;margin:0;padding:0}
  .sfr-acc a{display:flex!important;justify-content:space-between;align-items:center;min-height:44px!important;border-bottom:1px solid #eef2f1!important;font-size:14px!important;color:#183746!important}
  .sfr-acc a.is-current{color:#087b79!important;font-weight:600}
  .sfr-acc a span:last-child{color:#66777d;font-size:12px}
  .sfr-acc .sfr-acc-all{color:#087b79!important;font-weight:600;border-bottom:0!important}
  .sfr-hub-hero{grid-template-columns:1fr;gap:28px}
  .sfr-hub-photo{order:-1;aspect-ratio:16/9}
  .sfr-cols{grid-template-columns:1fr;gap:40px}
  .sfr-side{position:static;max-height:none}
  .sfr-start,.sfr-board,.sfr-shelf,.sfr-mails,.sfr-results{grid-template-columns:1fr 1fr}
  .sfr-start-cell:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--rule)}
  .sfr-xgrid{grid-template-columns:repeat(3,1fr)}
  .sfr-quality dl{grid-template-columns:1fr 1fr;row-gap:20px}
  .sfr-quality dl div:nth-child(3){border-left:0;padding-left:0}
  .sfr-lib-groups{grid-template-columns:1fr 1fr}
  .sfr-lib-group:nth-child(3){border-left:0;padding-left:0}
  .sfr-assess{grid-template-columns:1fr}
  .sfr-explorer{grid-template-columns:1fr}
  .sfr-ex-tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--rule)}
  .sfr-ex-tabs button{flex:none;max-width:240px;border-bottom:0;border-left:0;border-right:1px solid var(--rule);border-top:2px solid transparent}
  .sfr-ex-tabs button[aria-selected=true]{border-top-color:var(--act)}
  .sfr-route{grid-template-columns:1fr;gap:24px}
  .sfr-stages{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink);margin-left:6px}
  .sfr-stages li::before{top:20px;left:-7px}
  .sfr-stages a{padding:14px 0 14px 22px}
  .sfr-qlist li a{grid-template-columns:44px minmax(0,1fr);}
  .sfr-qlist .sfr-qsum,.sfr-qlist .sfr-go{grid-column:2}
}
@media (max-width:640px){
  .sfr{padding-block:28px 72px}
  .sfr-start,.sfr-board,.sfr-shelf,.sfr-mails,.sfr-results,.sfr-roles,.sfr-refstrip,.sfr-lib-groups{grid-template-columns:1fr}
  .sfr-start-cell+.sfr-start-cell,.sfr-refstrip a+a,.sfr-result+.sfr-result{border-left:0;border-top:1px solid var(--rule)}
  .sfr-lib-group+.sfr-lib-group{border-left:0;padding-left:0}
  .sfr-start-cell{min-height:0}
  .sfr-xgrid{grid-template-columns:1fr 1fr}
  .sfr-xgrid a{min-height:170px}
  .sfr-qtools{grid-template-columns:1fr}
  .sfr-stats div{padding:12px 12px 10px}
  .sfr-stats dd{font-size:24px}
  .sfr-ex-grid{grid-template-columns:1fr}
  .sfr-ex-grid div:nth-child(2n){padding-left:0;border-left:0}
  .sfr-ex-panel,.sfr-qcard{padding:22px 18px}
  .sfr-pos-a{grid-template-columns:1fr;margin-left:0}
  .sfr-pos-a .is-not{border-left:0;border-top:1px solid var(--rule)}
  .sfr-prevnext{grid-template-columns:1fr}
  .sfr-prevnext a.is-next{border-left:0;border-top:1px solid var(--rule);padding-left:0;text-align:left;align-items:flex-start}
  .sfr-meta span{padding:0 10px}
  .sfr-quality{padding:24px 18px}
  .sfr-qv{font-size:38px}
}
@media (prefers-reduced-motion:reduce){.sfr *,.sfr-nav-slot *{transition:none!important}}
.main-nav .sfr-mega a,.main-nav .sfr-acc a{white-space:normal!important;text-align:left!important}
.main-nav .sfr-mega .sfr-mega-sec{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:0!important;font-size:inherit!important}
.sfr-mega-cols{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.sfr-mega,.sfr-mega *{box-sizing:border-box}
.sfr-mega .container{display:grid}
.sfr-mega .sfr-mega-foot{display:flex!important}
.sfr-disclose{margin:28px 0 0;padding:14px 18px;border-left:2px solid #a85838;background:#f3f6f5;font-size:14px;line-height:1.6;color:#183746}
.sfr-disclose strong{color:#183746}
.sfr-disclose a{color:#087b79;font-weight:600;text-decoration:none;white-space:nowrap}
.sfr-disclose.is-compact{margin:-24px 0 40px;font-size:13px}
.sfr-hub .sfr-disclose{margin-top:32px}
.sfr-library .sfr-disclose{margin-top:20px;max-width:900px}
.main-nav .sfr-mega .sfr-mega-disc{margin-left:0!important;color:#66777d!important;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.sfr-enq{margin-top:32px;font-size:15px}
.sfr-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:200;max-width:min(560px,calc(100% - 32px));background:#183746;color:#fff;padding:12px 16px;font-size:14px;line-height:1.5}


/* ================= Scopeframe editorial system =================
   Type: Newsreader for every headline, Encode Sans for everything else,
   Golos only in the wordmark, mono only for figures.
   Colour: navy leads, teal marks links and actions, rust lives in the logo.
   Structure: hairline rules and white space instead of boxes and tints. */
:root{--font-heading:var(--font-editorial);--font-accent:var(--font-body);--sx-ink:#183746;--sx-txt:#4c606b;--sx-mute:#66777d;--sx-rule:#d2dcdc;--sx-act:#087b79}

/* ---- type ---- */
h1,h2,h3,h4,legend{font-family:var(--font-editorial)!important;letter-spacing:-.012em!important}
h1,h2{font-weight:420!important}
h3,h4,legend{font-weight:500!important;letter-spacing:-.004em!important}
.scopeframe-logo-name,.wordmark{font-family:"Golos Text",system-ui,sans-serif!important;font-weight:700!important;letter-spacing:-.02em!important}
.plan-dimension,.plan-area,.cost-workbench input,.cost-number,.art-cost>strong,.result-metrics strong,.review-source-facts strong,.cost-visual>strong,.source-bottom strong,.estimate-quantity,.cost-chart-legend strong,.accepted-result>strong,td.mono,strong.mono{font-family:"Spline Sans Mono",ui-monospace,monospace!important}
.section-standfirst,.workspace-header strong,.provider-compact-list>a>span,.responsibility-table thead strong,.attachment-tabs strong,.pilot-outcomes span,.tool-inputs legend,.research-number>strong{font-family:var(--font-editorial)!important}

/* ---- one label style ---- */
.eyebrow,.micro-label,.sfr-label,.status-tag,span.mono,p.mono,.photo-id,.footer-motto,.row-no,.visual-index,.sfr-lib-n,.sfr-mega-meta{font-family:var(--font-body)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.16em!important;text-transform:uppercase!important;line-height:1.5!important}
.eyebrow,.micro-label,.sfr-label,.status-tag,span.mono,p.mono,.photo-id,.footer-motto{color:var(--sx-ink)!important}
.clear-hero .eyebrow,.focused-cost .eyebrow,.accepted-result .mono,.accepted-result p,.sfr-start-cell.is-dark .sfr-label,.sfr-score .sfr-label,.sfr-band .sfr-label,.sfr-cover .sfr-label,.sfr-pv-photo span{color:rgba(255,255,255,.8)!important}
.sfr-qlist .sfr-qnum,.sfr-gantt-stage .sfr-label,.sfr-ex-tabs .sfr-label,.sfr-pos button .sfr-label,.sfr-media>.sfr-label,.sfr-change .sfr-label,.sfr-signal .sfr-label,.sfr-stages .sfr-label,.sfr-qhead .sfr-label,.sfr-lib-n,.sfr-mega-meta,.sfr-meta span{color:var(--sx-mute)!important}
.sfr-crumbs ol,.breadcrumb{font-size:13px}

/* ---- rust only in the logo ---- */
.sfr-sources li::before,.article-sources li::before{color:var(--sx-ink)!important}
.article-body .article-standfirst::before{background:var(--sx-ink)!important}
.sfr-jur-2{background:#425a67!important}.sfr-jur-5{background:#526c77!important}
.sfr-pos-a .is-not .sfr-label{color:var(--sx-mute)!important}
.sfr-mega .sfr-label,.sfr-acc .sfr-label{color:var(--sx-ink)!important}

/* ---- white page, hairline sections ---- */
.section.focused-evidence,.section.focused-pack,.section.focused-research,.section.focused-routes,.section.focused-pilot,.focused-providers,.site-footer{background:#fff!important}
.focused-home>.section+.section:not(.focused-cost),.focused-home>section+section:not(.focused-cost){border-top:1px solid var(--sx-rule)}
.site-footer{border-top:1px solid var(--sx-ink)!important}

/* ---- boxes become ruled panels ---- */
.tool-card,.directory-row,.route-summary,.tool-start-guide,.pack-form,.contact-form,.checklist-sheet,.workspace,.tool-result,.evidence-story,.scope-explorer,.directory-filters,.sfr-explorer,.sfr-refstrip,.sfr-assess,.sfr-start,.sfr-results,.sfr-gantt-wrap,.sfr-working{border:0!important;border-top:1px solid var(--sx-ink)!important;border-radius:0!important;box-shadow:none!important}
.tool-card{padding-left:0!important;padding-right:24px!important;background:none!important}
.tool-card:hover{background:none!important}
.tool-card:hover h3,.tool-card:hover h2{color:var(--sx-act)}
.directory-row{border-top-color:var(--sx-rule)!important;padding-inline:0!important}
.route-summary{background:none!important}
.route-summary>header,.route-summary .route-head{background:none!important}
.article-tool,.sfr-side,.sfr-quality,.sfr-sources,.article-method,.article-body .article-method,.evidence-question,.policy-inline,.result-warnings,.workspace-header,.sfr-action,.sfr-signal,.sfr-mini,.sfr-verdict.is-pass{background:transparent!important;border:0!important;border-top:1px solid var(--sx-ink)!important;border-radius:0!important}
.article-tool,.sfr-side{padding-left:0!important;padding-right:0!important}
.sfr-side>.sfr-label,.sfr-side li a{padding-left:0!important}
.sfr-side li.is-cur a,.sfr-side li a:hover{background:none!important}
.sfr-side li.is-cur a{border-left:0!important;color:var(--sx-ink)!important;text-decoration:underline;text-decoration-color:var(--sx-act);text-underline-offset:4px}
.sfr-side li a{border-left:0!important}
.sfr-quality,.sfr-sources{padding-left:0!important;padding-right:0!important}
.sfr-action,.sfr-signal{padding-left:0!important;padding-right:0!important;border-top-color:var(--sx-rule)!important}
.finding{background:none!important;border:0!important;border-left:1px solid var(--sx-ink)!important;border-radius:0!important}
.evidence-question{padding-left:0!important;padding-right:0!important}
.result-warnings{padding-left:0!important}

/* the disclosure: a quiet ruled note, not a box */
.sfr-disclose{background:none!important;border:0!important;border-top:1px solid var(--sx-rule)!important;border-bottom:1px solid var(--sx-rule)!important;padding:12px 0!important;font-size:13px!important;line-height:1.6!important;color:var(--sx-txt)!important}
.sfr-disclose strong{font-weight:600}

/* ---- controls ---- */
.button,.sfr-btn,.sfr-opt,.sfr-mail,.header-cta,input,select,textarea{border-radius:2px!important}
.button.secondary,.button.ghost,.button.outline:not(.header-cta){background:transparent!important;border:1px solid var(--sx-ink)!important;color:var(--sx-ink)!important}
.button.secondary:hover,.button.ghost:hover{background:var(--sx-ink)!important;color:#fff!important}
.filter-row,.sfr-chips{gap:2px 24px!important;border-bottom:1px solid var(--sx-rule);padding-bottom:0!important}
.filter-row button,.sfr-chip{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:none!important;padding:10px 0!important;min-height:44px;margin-bottom:-1px;color:var(--sx-txt)!important;font-size:14px!important;box-shadow:none!important}
.filter-row button:hover,.sfr-chip:hover{color:var(--sx-ink)!important}
.filter-row button[aria-pressed=true],.sfr-chip[aria-pressed=true]{border-bottom-color:var(--sx-ink)!important;color:var(--sx-ink)!important;font-weight:600}

/* ---- one 'read more' style ---- */
.text-link,.quiet-link,.sfr-go,.article-card>.text-link{font-family:var(--font-body)!important;font-size:15px!important;font-weight:600!important;color:var(--sx-act)!important;text-decoration:none!important;border-bottom:0}
.text-link:hover,.quiet-link:hover,.sfr-go:hover{color:var(--sx-ink)!important}

/* ---- research layer details ---- */
.sfr{--acc:#183746}
.sfr-ico,.sfr-wave{stroke:#96beb6!important}
.sfr-xgrid a:hover .sfr-xnum,.sfr-xgrid a:focus-visible .sfr-xnum{color:#c9e1da!important}
.sfr-start-cell+.sfr-start-cell,.sfr-refstrip a+a{border-left-color:var(--sx-rule)!important}
.sfr-refstrip a:hover,.sfr-start-cell:not(.is-dark):hover{background:none!important}
.sfr-refstrip a:hover span:not(.sfr-label),.sfr-start-cell:not(.is-dark):hover .sfr-start-q{color:var(--sx-act)}
.sfr-ex-tabs button[aria-selected=true]{background:none!important;border-left-color:var(--sx-ink)!important}
.sfr-board,.sfr-roles,.sfr-xgrid{border-left:0!important;border-top:1px solid var(--sx-ink)!important}
.sfr-change:nth-child(3n),.sfr-role:nth-child(2n),.sfr-xgrid li:nth-child(5n){border-right:0!important}
.sfr-change,.sfr-role{padding-left:0!important}
.sfr-change+.sfr-change,.sfr-role+.sfr-role{padding-left:24px!important}
.sfr-change:nth-child(3n+1),.sfr-role:nth-child(2n+1){padding-left:0!important}
.sfr-mail{border:0!important;border-top:1px solid var(--sx-ink)!important}
.sfr-mail-bar{background:none!important;padding-left:0!important;padding-right:0!important}
.sfr-mail-from,.sfr-mail-subj,.sfr-mail-pre,.sfr-mail .sfr-go{padding-left:0!important;padding-right:0!important}
.sfr-mail-ed{margin-left:0!important;margin-right:0!important}
.sfr-table{border:0!important;border-top:1px solid var(--sx-ink)!important}
.sfr-table th{background:none!important}
.sfr-gcell.g-pass{background:#eef6f3!important}

@media (max-width:1000px){
  .sfr-change+.sfr-change,.sfr-role+.sfr-role{padding-left:0!important}
}
.header-cta{white-space:nowrap!important}
.route-summary>*:first-child{background:none!important;border-bottom:1px solid var(--sx-rule)!important;padding-left:0!important}
.route-summary>*:not(:first-child){padding-left:0!important}
.sfr-meta+.sfr-disclose{border-top:0!important;margin-top:-28px!important}
.sfr-meta span:first-child{color:var(--sx-ink)!important;font-weight:600}

/* ================= pass 2: front page and templates ================= */
.focused-home>.research-entry,.focused-home>#production-routes,.focused-home>#review-pack,.focused-home>#pilot-design,.focused-home>#research,.focused-home>#providers{display:none!important}
.sfr-root:empty{display:none}
.sfh-pov,.sfh-research,.sfh-tools{color:var(--sx-txt)}
.sfh-pov .sfr-label,.sfh-research .sfr-label,.sfh-tools .sfr-label{display:block}
.sfh-pov h2,.sfh-research h2,.sfh-tools h2{font-family:var(--font-editorial)!important;font-weight:400!important;color:var(--sx-ink);font-size:clamp(40px,5.4vw,80px)!important;line-height:1.02!important;letter-spacing:-.022em!important;margin-top:16px}
.sfh-pov h2 em,.sfh-research h2 em{font-style:italic;font-weight:350}
/* point of view: full-bleed photo with a white card */
.sfh-pov{position:relative;min-height:min(86vh,820px);display:flex;align-items:flex-end;overflow:hidden;background:#183746}
.sfh-pov>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 30%}
.sfh-pov .container{position:relative;padding-block:clamp(64px,8vw,104px)}
.sfh-pov-card{background:#fff;max-width:620px;padding:clamp(28px,4vw,52px)}
.sfh-pov-card h2{font-size:clamp(34px,4vw,56px)!important}
.sfh-pov-card p:not(.sfr-label){margin-top:22px;font-size:17px;line-height:1.65}
.sfh-pov-card .sfr-go{margin-top:24px}
/* research list */
.sfh-research,.sfh-tools{padding-block:clamp(88px,10vw,140px)}
.sfh-tools{border-top:1px solid var(--sx-rule)}
.sfh-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(40px,5vw,64px)}
.sfh-lib{flex:none;font-size:17px;font-weight:600;color:var(--sx-ink);text-decoration:none;padding-bottom:12px;border-bottom:1px solid var(--sx-ink);min-width:260px;display:flex;justify-content:space-between}
.sfh-lib:hover{color:var(--sx-act);border-color:var(--sx-act)}
.sfh-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.sfh-lead{display:flex;flex-direction:column;gap:18px;text-decoration:none}
.sfh-photo{position:relative;display:block;aspect-ratio:3/2;overflow:hidden}
.sfh-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.sfh-lead:hover .sfh-photo img{transform:scale(1.02)}
.sfh-tab{position:absolute;left:0;bottom:0;background:#fff;padding:12px 26px 0 0;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sx-ink)}
.sfh-lead-q{font-family:var(--font-editorial);font-size:clamp(30px,3.4vw,50px);line-height:1.08;letter-spacing:-.015em;color:var(--sx-ink)}
.sfh-lead-a{font-size:17px;line-height:1.65;max-width:620px}
.sfh-lead:hover .sfh-lead-q,.sfh-list a:hover .sfh-q{color:var(--sx-act)}
.sfh-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--sx-ink)}
.sfh-list li{border-bottom:1px solid var(--sx-rule)}
.sfh-list a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:30px 0;text-decoration:none}
.sfh-n{font-family:var(--font-editorial);font-size:26px;line-height:1.1;color:var(--sx-ink)}
.sfh-q{display:block;font-family:var(--font-editorial);font-size:clamp(23px,2.2vw,31px);line-height:1.15;color:var(--sx-ink);margin:10px 0 16px}
/* tools row */
.sfh-toolrow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 36px}
.sfh-toolrow a{display:flex;flex-direction:column;gap:12px;height:100%;padding-top:22px;border-top:1px solid var(--sx-ink);text-decoration:none}
.sfh-tname{font-family:var(--font-editorial);font-size:25px;line-height:1.15;color:var(--sx-ink)}
.sfh-tdesc{font-size:15px;line-height:1.6}
.sfh-toolrow .sfr-go{margin-top:auto;padding-top:8px}
.sfh-toolrow a:hover .sfh-tname{color:var(--sx-act)}
/* homepage rhythm */
.focused-home #synthetic-review{border-top:1px solid var(--sx-rule)}
.research-controls{border-top:1px solid var(--sx-ink);background:#fff!important}
/* research pages: editorial headline, question as dek */
.sfr-page h1+.sfr-dek{margin-top:18px;font-family:var(--font-editorial);font-style:italic;font-size:clamp(19px,1.9vw,24px);line-height:1.4;color:var(--sx-txt);max-width:760px}
/* hubs: lighter furniture */
.sfr-refline{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;margin-top:28px;padding-top:16px;border-top:1px solid var(--sx-rule);font-size:15px}
.sfr-refline .sfr-label{color:var(--sx-mute)!important;margin-right:4px}
.sfr-refline a{color:var(--sx-act);font-weight:600;text-decoration:none}
.sfr-refline a:hover{color:var(--sx-ink)}
.sfr-hub .sfr-quality{margin-top:56px;padding-top:20px!important}
.sfr-hub .sfr-quality dl{margin-top:14px}
.sfr-hub .sfr-qv{font-size:34px}
.sfr-hub .sfr-feature{padding-block:72px}
.sfr-hub .sfr-hub-hero{border-bottom:0;padding-bottom:0}
/* guides index: text-led cards instead of drawn thumbnails */
.article-card .article-art-link{display:none!important}
.article-card{border:0!important;border-top:1px solid var(--sx-ink)!important;padding-top:20px!important;background:none!important}
.article-card h2{font-size:clamp(24px,2.2vw,30px)!important}
.research-grid{row-gap:48px!important;column-gap:36px!important}
@media (max-width:1000px){
  .sfh-grid{grid-template-columns:1fr}
  .sfh-toolrow{grid-template-columns:1fr 1fr;gap:32px 28px}
  .sfh-head{flex-direction:column;align-items:flex-start}
  .sfh-lib{min-width:0;gap:24px}
  .sfh-pov{min-height:0}
  .sfh-pov .container{padding-top:42vh}
}
@media (max-width:640px){
  .sfh-toolrow{grid-template-columns:1fr}
  .sfh-pov .container{padding-top:36vh;width:100%}
  .sfh-list a{grid-template-columns:40px minmax(0,1fr)}
}
.sfr-article ol{list-style:decimal!important}.sfr-article ul{list-style:disc!important}
.sfr-article ol li,.sfr-article ul li{display:list-item!important}

/* ================= free tools ================= */
.article-tool{display:none!important}
.sft-head{max-width:980px;padding-bottom:40px}
.sft-head h1{margin-top:14px;font-size:clamp(38px,4.8vw,64px)}
.sft-head h1 em{font-style:italic;font-weight:350}
.sft-head .sfr-decide{margin-top:20px;max-width:760px}
.sft-facts{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:0 32px;margin-top:36px;border-top:1px solid var(--sx-ink)}
.sft-facts div{padding-top:16px}
.sft-facts dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--sx-ink)}
.sft-facts dd{margin:8px 0 0;font-size:15px;line-height:1.6}
.sft-facts ul{margin:0;padding-left:18px}
.sft-list{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--sx-ink)}
.sft-list li{border-bottom:1px solid var(--sx-rule)}
.sft-list a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:8px 28px;align-items:baseline;padding:34px 0;text-decoration:none}
.sft-n{font-family:var(--font-editorial);font-size:40px;line-height:1;color:var(--sx-ink)}
.sft-body{display:flex;flex-direction:column;gap:10px}
.sft-name{font-family:var(--font-editorial);font-size:clamp(26px,2.6vw,36px);line-height:1.12;color:var(--sx-ink)}
.sft-line{font-size:16px;line-height:1.65;max-width:760px}
.sft-who{font-size:14px;color:var(--sx-mute)}
.sft-who strong{color:var(--sx-ink);font-weight:600}
.sft-list a:hover .sft-name{color:var(--sx-act)}
.sft-note{margin-top:36px;max-width:820px;font-size:13px;line-height:1.6;color:var(--sx-mute)}
.sft-step{padding:44px 0;border-top:1px solid var(--sx-ink)}
.sft-step h2{font-size:clamp(28px,2.8vw,38px);margin-top:10px}
.sft-step-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.sft-step-acts .sfr-btn:first-child{margin-left:0}
.sft-hint{margin-top:10px;font-size:14px;line-height:1.6;color:var(--sx-mute);max-width:780px}
.sft-fields{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px;margin-top:28px}
.sft-field label:first-child{display:block;font-weight:600;color:var(--sx-ink);font-size:15px}
.sft-field .sft-hint{margin-top:4px;font-size:13px}
.sft-field textarea{display:block;width:100%;margin-top:10px;padding:12px 14px;border:1px solid #a4b7bd;border-radius:2px;font:inherit;font-size:14px;line-height:1.55;color:var(--sx-ink);background:#fff;resize:vertical}
.sft-field textarea:focus{outline:2px solid var(--sx-act);outline-offset:1px}
.sft-file{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:13px;color:var(--sx-mute)}
.sft-filebtn{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--sx-ink);color:var(--sx-ink);font-weight:600;font-size:13px;cursor:pointer}
.sft-filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.sft-filebtn:focus-within{outline:2px solid var(--sx-act);outline-offset:2px}
.sft-runrow{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:16px}
.sft-runrow .sfr-btn{margin-left:0}
.sft-run{min-height:52px!important;padding:0 26px!important;font-size:15px!important}
.sft-status{font-size:14px;color:var(--sx-txt)}
.sft-numgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 28px;margin-top:24px}
.sft-numgrid fieldset{border:0;border-top:1px solid var(--sx-rule);margin:0;padding:14px 0 0}
.sft-numgrid legend{font-size:18px!important;color:var(--sx-ink);padding:0}
.sft-numgrid label{display:block;margin-top:12px;font-size:13px;color:var(--sx-txt)}
.sft-numgrid label span{display:block;margin-bottom:4px}
.sft-numgrid input{width:100%;min-height:40px;padding:0 10px;border:1px solid #a4b7bd;font:inherit;font-size:15px;color:var(--sx-ink)}
.sft-model{margin-top:32px}
.sft-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px;border-top:1px solid var(--sx-ink)}
.sft-kpis div{display:flex;flex-direction:column;gap:4px;padding-top:14px;font-size:13px;line-height:1.5}
.sft-kpis b{font-family:var(--font-editorial);font-weight:400;font-size:44px;line-height:1.05;color:var(--sx-ink)}
.sft-kpis .is-worst b{color:#a4262c}
.sft-chart{margin:28px 0 0;overflow-x:auto}
.sft-chart svg{display:block;width:100%;min-width:560px;height:auto;font-family:var(--font-body);font-size:11px;fill:#66777d}
.sft-chart ul{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.sft-chart i{display:inline-block;width:18px;height:3px;margin-right:8px;vertical-align:middle}
.sft-modelnote{margin-top:14px;font-size:15px;line-height:1.6;color:var(--sx-ink)}
.sft-results:empty{display:none}
.sft-results{padding:48px 0 8px;border-top:1px solid var(--sx-ink)}
.sft-res-h h2{font-size:clamp(30px,3.2vw,44px);margin-top:10px}
.sft-sum{margin-top:14px;font-family:var(--font-editorial);font-size:20px;line-height:1.5;color:var(--sx-ink);max-width:860px}
.sft-exports{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sft-exports .sfr-btn{margin-left:0}
.sft-results h3{margin-top:44px;font-size:24px}
.sft-results .sfr-table table{min-width:720px}
.sft-wide table{min-width:980px!important}
.sft-cite{display:block;font-size:13px;line-height:1.5;color:var(--sx-txt)}
.sft-cite b{color:var(--sx-ink);font-weight:600}
.sft-cite+.sft-cite{margin-top:6px}
.sft-none{font-size:13px;color:#a4262c}
.sft-tag{display:inline-block;padding:2px 8px;font-size:12px;font-weight:600;border:1px solid var(--sx-rule);color:var(--sx-ink);white-space:nowrap}
.sft-tag-contradiction,.sft-tag-sev-high,.sft-tag-st-blocked,.sft-tag-ev-missing,.sft-tag-w-unknown{border-color:#a4262c;color:#a4262c}
.sft-tag-unclear-authority,.sft-tag-assertion-only,.sft-tag-sev-medium,.sft-tag-ev-asserted{border-color:#a85838;color:#8a4b35}
.sft-tag-ev-tested,.sft-tag-ev-evidenced,.sft-tag-st-ready-for-review,.sft-tag-w-transferred{border-color:var(--sx-act);color:var(--sx-act)}
.sft-scen{margin-top:56px;padding-top:24px;border-top:1px solid var(--sx-ink)}
.sft-scen td input{width:110px;min-height:36px;padding:0 8px;border:1px solid #a4b7bd;font:inherit}
.sft-scen-in{grid-template-columns:1fr}
.sft-scen-in fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
.sft-scen-in legend{grid-column:1/-1}
.sft-confirm{display:flex;gap:10px;align-items:center;margin-top:22px;font-weight:600;color:var(--sx-ink)}
.sft-confirm input{width:20px;height:20px;accent-color:#087b79}
.sft-warn{margin-top:14px;font-size:14px;color:#8a4b35}
.sfh-toolrow-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1000px){.sft-facts,.sft-fields{grid-template-columns:1fr}.sft-numgrid{grid-template-columns:1fr 1fr}.sft-kpis{grid-template-columns:1fr 1fr;row-gap:20px}.sft-list a{grid-template-columns:52px minmax(0,1fr)}.sft-list .sfr-go{grid-column:2}.sfh-toolrow-3{grid-template-columns:1fr!important}.sft-scen-in fieldset{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sft-numgrid,.sft-scen-in fieldset{grid-template-columns:1fr}}

/* ================= tools: more inspiring layout ================= */
.sft-band{position:relative;overflow:hidden;background:#183746;color:#fff;padding:40px 0 clamp(64px,8vw,104px);isolation:isolate}
.sft-band-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%;z-index:-2}
.sft-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,44,56,.96) 0%,rgba(18,44,56,.88) 45%,rgba(18,44,56,.55) 100%)}
.sft-band-tool::after{background:none}
.sft-band .sfr-crumbs ol{color:rgba(255,255,255,.7)}
.sft-band .sfr-crumbs a{color:#fff;text-decoration-color:rgba(255,255,255,.4)}
.sft-band .sfr-crumbs li+li::before{color:rgba(255,255,255,.4)}
.sft-band .sfr-label{color:rgba(255,255,255,.78)!important;margin-top:clamp(24px,4vw,48px)}
.sft-band h1{color:#fff!important;font-size:clamp(42px,5.6vw,84px)!important;line-height:1!important;letter-spacing:-.022em!important;margin-top:18px;max-width:980px}
.sft-band-tool h1{font-size:clamp(38px,4.6vw,66px)!important;line-height:1.03!important}
.sft-band h1 em{font-style:italic;font-weight:350}
.sft-band-dek{margin-top:24px;max-width:640px;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:rgba(255,255,255,.88)}
.sft-band-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;max-width:980px}
.sft-band-steps li{border-top:1px solid rgba(255,255,255,.3);padding-top:16px;font-size:16px;line-height:1.5;color:#fff}
.sft-band-steps b{display:block;font-family:var(--font-editorial);font-weight:400;font-size:30px;margin-bottom:6px;color:#c9e1da}
.sft-band-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:end}
.sft-band-acts{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:32px}
.sft-try{background:#fff!important;color:#183746!important;border-color:#fff!important;min-height:54px!important;padding:0 24px!important;font-size:15px!important;margin-left:0!important}
.sft-try:hover{background:#e8f3f1!important}
.sft-band-link{color:#fff;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px}
.sft-band-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:40px;border-top:1px solid rgba(255,255,255,.25)}
.sft-band-facts div{padding-top:14px}
.sft-band-facts dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.sft-band-facts dd{margin:6px 0 0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.88)}
.sft-band-pv .sfr-label{margin:0 0 12px!important}
/* output previews */
.sft-pv{background:#fff;color:#183746;padding:22px 24px 18px;box-shadow:0 30px 60px rgba(8,24,32,.28);font-size:13px;line-height:1.45}
.sft-pv-h{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #183746;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.sft-pv-h span+span{color:#66777d}
.sft-pv-reg{list-style:none;margin:0;padding:0}
.sft-pv-reg li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #e4eaea;color:#4c606b}
.sft-pv-id{font-family:"Spline Sans Mono",monospace;font-size:12px;color:#183746}
.sft-pv-type{display:block;font-weight:600;color:#183746;margin-bottom:2px}
.sft-pv-type.t-contradiction{color:#a4262c}
.sft-pv-reg i{display:block;font-style:normal;font-size:12px;color:#66777d;margin-top:4px}
.sft-pv-sev{font-size:11px;font-weight:600;padding:2px 7px;border:1px solid currentColor}
.sft-pv-sev.s-high{color:#a4262c}.sft-pv-sev.s-medium{color:#8a4b35}
.sft-pv-f{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:#66777d}
.sft-pv-f b{color:#183746;font-weight:600}
.sft-pv-tbl{width:100%;border-collapse:collapse;margin-top:2px}
.sft-pv-tbl th,.sft-pv-tbl td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid #e4eaea;font-size:12px;vertical-align:top}
.sft-pv-tbl thead th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#66777d;font-weight:600}
.sft-pv-tbl tbody th{font-weight:500;color:#183746}
.sft-pv-tbl td.c-transferred{color:#087b79;font-weight:600}.sft-pv-tbl td.c-retained{color:#183746}.sft-pv-tbl td.c-unknown{color:#a4262c;font-weight:600}
.sft-pv-chart{display:block;width:100%;height:auto;margin-top:14px}
.sft-pv-chart line{stroke:#d2dcdc}.sft-pv-chart polyline{fill:none;stroke-width:2.2}.sft-pv-chart .l1{stroke:#183746}.sft-pv-chart .l2{stroke:#a4262c;stroke-width:3}
.sft-pv-key{display:flex;gap:18px;margin-top:8px;font-size:12px;color:#4c606b}
.sft-pv-key i{display:inline-block;width:16px;height:3px;margin-right:6px;vertical-align:middle}.sft-pv-key .k1{background:#183746}.sft-pv-key .k2{background:#a4262c}
/* index features */
.sft-index{padding-top:24px}
.sft-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center;padding:clamp(64px,8vw,112px) 0;border-bottom:1px solid #d2dcdc}
.sft-feature.is-flip .sft-feature-copy{order:2}
.sft-feature h2{font-size:clamp(32px,3.4vw,48px)!important;line-height:1.06!important;margin-top:14px}
.sft-feature h2 a{color:#183746;text-decoration:none}.sft-feature h2 a:hover{color:#087b79}
.sft-feature .sft-line{margin-top:18px;font-size:17px;line-height:1.65}
.sft-gets{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid #183746}
.sft-gets li{padding:11px 0 11px 26px;border-bottom:1px solid #e4eaea;position:relative;font-size:15px;color:#183746}
.sft-gets li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:1px;background:#087b79}
.sft-feature .sft-who{margin-top:18px}
.sft-cta{display:inline-flex!important;align-items:center;margin:26px 0 0!important;min-height:52px!important;padding:0 24px!important;text-decoration:none;font-size:15px!important}
.sft-feature-pv{display:block;background:#183746;padding:clamp(28px,4vw,52px);text-decoration:none}
.sft-feature-pv .sfr-label{color:rgba(255,255,255,.78)!important;margin-bottom:14px}
.sft-feature-pv:hover .sft-pv{transform:translateY(-3px)}
.sft-pv{transition:transform .25s ease}
/* steps */
.sft-step{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px 56px;padding:clamp(48px,6vw,72px) 0!important}
.sft-stepn{display:block;font-family:var(--font-editorial);font-size:56px;line-height:1;color:#087b79}
.sft-step-l h2{margin-top:12px!important}
.sft-step-l .sft-hint{font-size:14px}
.sft-step-acts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.sft-step-r .sft-fields{margin-top:0}
.sft-step-r .sft-numgrid{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.sft-step-r .sft-runrow{margin-top:0}
.sft-runbar{position:relative;height:2px;margin-top:22px;background:#e4eaea;overflow:hidden}
.sft-runbar i{position:absolute;top:0;left:-30%;width:30%;height:100%;background:#087b79;animation:sftbar 1.4s ease-in-out infinite}
@keyframes sftbar{to{left:100%}}
@media (prefers-reduced-motion:reduce){.sft-runbar i{animation:none;left:0;width:100%;opacity:.5}}
.sft-await{margin-top:8px;padding:36px 0;border-top:1px solid #183746}
.sft-await[hidden]{display:none}
.sft-await ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;list-style:none;margin:18px 0 0;padding:0}
.sft-await li{font-family:var(--font-editorial);font-size:21px;line-height:1.25;color:#183746;padding-top:14px;border-top:1px solid #d2dcdc}
.sft-await b{display:block;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.16em;color:#66777d;margin-bottom:8px}
@media (max-width:1000px){
  .sft-band-grid,.sft-feature,.sft-step{grid-template-columns:1fr}
  .sft-feature.is-flip .sft-feature-copy{order:0}
  .sft-band-steps{grid-template-columns:1fr;gap:16px}
  .sft-await ol{grid-template-columns:1fr 1fr;row-gap:20px}
}
@media (max-width:640px){.sft-band-facts{grid-template-columns:1fr;row-gap:12px}.sft-await ol{grid-template-columns:1fr}.sft-step-r .sft-numgrid{grid-template-columns:1fr}}
.sfr a.sft-cta,.sft-cta{color:#fff!important}
.sft-cta:hover{background:#087b79!important;border-color:#087b79!important}
.sft-model,.sft-step-r,.sft-step-l,.sft-band-grid>div{min-width:0}
.sft-chart{max-width:100%}
/* tool inputs: one clean column of document boxes */
.sft-fields{display:block!important}
.sft-field{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:22px 0;border-top:1px solid #d2dcdc}
.sft-field:first-child{border-top:0;padding-top:0}
.sft-field-h{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:baseline}
.sft-field-n{font-family:var(--font-editorial);font-size:20px;color:#087b79}
.sft-field-h label{display:block;font-weight:600;color:#183746;font-size:16px;line-height:1.4}
.sft-field-h .sft-hint{margin-top:4px!important;font-size:13px}
.sft-box{margin-left:46px;border:1px solid #a4b7bd;background:#fff;transition:border-color .15s,box-shadow .15s}
.sft-box:focus-within{border-color:#087b79;box-shadow:0 0 0 1px #087b79}
.sft-box.is-over{border-color:#087b79;border-style:dashed;background:#f3f8f7}
.sft-box.is-filled{border-color:#183746}
.sft-box textarea{display:block;width:100%;margin:0!important;border:0!important;outline:0!important;padding:14px 16px!important;min-height:120px;resize:vertical;background:transparent!important;font:inherit;font-size:14px;line-height:1.6;color:#183746}
.sft-box textarea::placeholder{color:#8a9aa0}
.sft-box-f{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid #e4eaea;background:#f7f9f8;font-size:12px;color:#66777d}
.sft-box .sft-filebtn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #183746;background:#fff;color:#183746;font-weight:600;font-size:13px}
.sft-box .sft-filebtn:hover{background:#183746;color:#fff}
.sft-count{margin-left:auto;font-variant-numeric:tabular-nums}
.sft-step-acts{margin-bottom:26px!important}
@media (max-width:640px){.sft-box{margin-left:0}}
.sft-box .sft-filebtn,.sft-field .sft-box-f label.sft-filebtn{display:inline-flex!important;flex-direction:row!important;white-space:nowrap}
.sft-box textarea{box-shadow:none!important;-webkit-appearance:none;appearance:none;border-radius:0!important}
.sft-box .sft-filebtn{font-size:13px!important;line-height:1!important}

.footer-attribution{padding-top:16px}.doja-badge{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:inherit}.doja-badge img{width:32px;height:32px;border-radius:4px}.doja-badge:focus-visible{outline:2px solid currentColor;outline-offset:4px}
