*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fbfbfc;color:#14181d;
 font:400 17.5px/1.7 'Faustina',Georgia,serif}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:'Archivo Narrow',Arial Narrow,sans-serif;font-weight:700;
 line-height:1.14;text-transform:uppercase;letter-spacing:.005em;margin:0 0 .5em}
h1{font-size:clamp(29px,5.6vw,47px)}h2{font-size:clamp(22px,3.3vw,30px)}
h3{font-size:clamp(18px,2.3vw,22px);text-transform:none;letter-spacing:0}
h4{font:600 13px/1.3 'Archivo Narrow',sans-serif;letter-spacing:.12em;
 text-transform:uppercase;color:#55606e;margin:0 0 .6em}
p{margin:0 0 1.05em}a{color:#2b4a6f}
strong{font-weight:600}
.sl-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
 white-space:nowrap}
.sl-skip{position:absolute;left:-9999px}
.sl-skip:focus{left:8px;top:8px;background:#ffffff;padding:10px 14px;z-index:50}
/* nav — white bar with a 3px industrial-blue underline */
.sl-nav{background:#ffffff;border-bottom:3px solid #2b4a6f}
.sl-nav-in{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;
 align-items:center;gap:18px;flex-wrap:wrap}
.sl-brand{flex:0 1 auto;min-width:0;max-width:min(290px,calc(100% - 100px))}
.sl-brand img{width:100%;height:auto;max-height:38px}
.sl-navbtn{display:none;margin-left:auto;background:#eef2f7;
 border:1px solid #b9c6d6;color:#2b4a6f;
 font:600 13px/1 'Archivo Narrow',sans-serif;letter-spacing:.1em;text-transform:uppercase;
 padding:10px 14px;cursor:pointer}
.sl-navlinks{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap;min-width:0}
.sl-navlinks a{color:#55606e;text-decoration:none;
 font:600 12.5px/1 'Archivo Narrow',sans-serif;letter-spacing:.09em;text-transform:uppercase}
.sl-navlinks a:hover{color:#2b4a6f;text-decoration:underline}
/* hero — left-aligned, stage rule under the byline */
.sl-hero{background:#ffffff;border-bottom:1px solid #dde3ea;
 padding:24px 20px 20px}
.sl-hero-in{max-width:840px;margin:0 auto}
.sl-hero-in h1{max-width:30ch;color:#14181d}
.sl-byline{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.sl-byline img{border:1px solid #b9c6d6;flex:0 0 auto;object-fit:cover;object-position:50% 22%}
.sl-by-name{display:block;font-weight:600;font-size:15.5px}
.sl-by-name a{color:#14181d;text-decoration:none}
.sl-by-name a:hover{text-decoration:underline}
.sl-by-meta{display:block;font:400 13px/1.4 'Archivo Narrow',sans-serif;
 letter-spacing:.05em;text-transform:uppercase;color:#55606e}
.sl-rule{display:flex;align-items:center;gap:0;max-width:420px;margin:0 0 20px}
.sl-rule i{flex:1 1 auto;height:3px;background:#dde3ea;position:relative}
.sl-rule i::after{content:"";position:absolute;right:-4px;top:-3px;width:9px;height:9px;
 background:#2b4a6f}
.sl-rule i:first-child::before{content:"";position:absolute;left:-4px;top:-3px;width:9px;
 height:9px;background:#2b4a6f}
.sl-lede{font-size:19px;max-width:62ch;color:#14181d}
.sl-lede.is-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;
 overflow:hidden}
.sl-ledebtn{background:none;border:0;padding:0;color:#2b4a6f;
 font:600 13px/1.4 'Archivo Narrow',sans-serif;letter-spacing:.1em;text-transform:uppercase;
 cursor:pointer;border-bottom:2px solid #a21caf}
/* main */
.sl-main{max-width:840px;margin:0 auto;padding:22px 20px 56px}
.sl-sec{margin:0 0 40px}
/* toplist — route card: marker column, squared token, Stufenfeld plate */
.sl-toplist{margin:22px 0 0}
.sl-tbl{width:100%;border-collapse:collapse}
.sl-tbl thead th{text-align:left;background:#eef2f7;
 font:600 12px/1.3 'Archivo Narrow',sans-serif;letter-spacing:.11em;text-transform:uppercase;
 color:#2b4a6f;padding:10px 12px;border-bottom:2px solid #2b4a6f}
.sl-row>td{border-bottom:1px solid #dde3ea;padding:13px 12px;vertical-align:middle}
.sl-row:nth-child(even)>td{background:#eef2f7}
.sl-row>td:last-child{text-align:right}
.sl-c-mark{width:74px;white-space:nowrap}
.sl-stage{position:relative;display:inline-flex;flex-direction:column;gap:5px;
 vertical-align:middle;margin-right:10px;padding:2px 0}
.sl-stage::before{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;
 background:#b9c6d6}
.sl-tick{position:relative;display:block;width:7px;height:7px;background:#2b4a6f;
 opacity:.5}
.sl-tok{display:inline-flex;align-items:center;justify-content:center;width:34px;
 height:34px;background:#2b4a6f;color:#fff;
 font:700 16px/1 'Archivo Narrow',sans-serif;vertical-align:middle}
.sl-mk{width:88px;height:40px;object-fit:contain;background:#fff;
 border:1px solid #dde3ea;padding:3px;margin:0 0 6px}
.sl-bn{display:block;font:600 15px/1.3 'Archivo Narrow',sans-serif;color:#14181d}
/* bonus PLATE — boxed Stufenfeld with a dotted top rule */
.sl-plate{display:inline-block;max-width:200px;background:#ffffff;
 border:1px solid #b9c6d6;border-top:2px dotted #2b4a6f;padding:7px 11px}
.sl-plate-v{display:block;font:600 17px/1.26 'Faustina',Georgia,serif;
 color:#24405f}
.sl-c-fields{font-size:15px;color:#55606e}
.sl-cta{display:inline-block;background:#a21caf;color:#fff;text-decoration:none;
 font:600 13.5px/1.2 'Archivo Narrow',sans-serif;letter-spacing:.1em;
 text-transform:uppercase;padding:15px 20px;min-width:142px;text-align:center}
.sl-cta:hover{background:#86128f}
.sl-cta-wide{display:block;margin:18px 0 0;max-width:320px}
.sl-more{display:block;width:100%;margin:14px 0 0;background:#eef2f7;
 border:1px solid #2b4a6f;color:#2b4a6f;
 font:600 13px/1 'Archivo Narrow',sans-serif;letter-spacing:.11em;text-transform:uppercase;
 padding:15px;cursor:pointer}
.sl-more[hidden]{display:none}
.sl-more:hover{background:#ffffff}
.sl-toplist.is-folded .sl-fold{display:none}
.sl-cards{display:none}
/* takeaways / comparison / method */
.sl-take{margin:0;padding:0;list-style:none;border-top:1px solid #dde3ea}
.sl-take li{position:relative;padding:13px 0 13px 34px;
 border-bottom:1px solid #dde3ea}
.sl-take li::before{content:"";position:absolute;left:6px;top:20px;width:11px;height:11px;
 background:#a21caf}
.sl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0 0}
.sl-cmp{width:100%;min-width:660px;border-collapse:collapse;font-size:15px}
.sl-cmp th,.sl-cmp td{border:1px solid #dde3ea;padding:10px 12px;text-align:left}
.sl-cmp thead th{background:#2b4a6f;color:#fff;
 font:600 12px/1.3 'Archivo Narrow',sans-serif;letter-spacing:.09em;text-transform:uppercase}
.sl-cmp tbody th{background:#eef2f7;font-weight:600}
.sl-sec-meth{border-top:3px solid #2b4a6f;border-bottom:1px solid #dde3ea;
 padding:24px 0 12px}
/* reviews */
.sl-rev{background:#ffffff;border:1px solid #dde3ea;
 border-top:3px solid #2b4a6f;padding:22px 24px 24px;margin:0 0 22px}
.sl-rev-hd{display:flex;align-items:center;gap:14px;margin:0 0 10px}
.sl-rev-hd h3{margin:0}
.sl-rev-vd{font-size:18.5px;font-style:italic;color:#2b4a6f}
.sl-rev-meta{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:0 0 16px}
.sl-rev-t{font:400 14px/1.5 'Archivo Narrow',sans-serif;letter-spacing:.05em;
 text-transform:uppercase;color:#55606e;padding-top:9px}
.sl-pc{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:16px 0 0;
 border-top:1px dotted #b9c6d6;padding:16px 0 0}
.sl-pc ul{margin:0;padding:0 0 0 18px}.sl-pc li{margin:0 0 7px;font-size:16px}
.sl-pc .sl-cons li::marker{color:#a21caf}
/* faq — two-column boxed */
.sl-faq{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sl-faq-i{background:#eef2f7;border:1px solid #dde3ea;
 border-left:3px solid #2b4a6f;padding:16px 18px 4px}
.sl-faq-i h3{font-size:17.5px;margin:0 0 .5em}
.sl-faq-i p{font-size:16px}
/* author */
.sl-authbox{display:flex;gap:20px;border-top:3px solid #2b4a6f;padding:22px 0 0}
.sl-authbox img{flex:0 0 96px;height:96px;border:1px solid #b9c6d6;object-fit:cover;object-position:50% 22%}
.sl-alink{font-weight:600}
.sl-authhead{display:flex;gap:18px;align-items:center;margin:0 0 20px}
.sl-authhead img{border:1px solid #b9c6d6;object-fit:cover;object-position:50% 22%}
.sl-authmeta{margin:0;color:#55606e;
 font:400 14px/1.5 'Archivo Narrow',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.sl-sub h1{margin-bottom:.6em}
.sl-crumbs{font:400 13px/1.5 'Archivo Narrow',sans-serif;letter-spacing:.06em;
 text-transform:uppercase;color:#55606e;margin:0 0 18px}
.sl-crumbs a{color:#55606e}
/* footer */
.sl-foot{background:#14181d;color:#ccd4dd;margin-top:20px}
.sl-foot-in{max-width:840px;margin:0 auto;padding:32px 20px 38px}
.sl-foot-rg{border-left:3px solid #a21caf;background:rgba(255,255,255,.06);
 padding:13px 16px;font-size:15.5px}
.sl-foot-rg a,.sl-foot-nav a{color:#fff}
.sl-foot-nav{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}
.sl-foot-nav a{font:600 12.5px/1 'Archivo Narrow',sans-serif;letter-spacing:.09em;
 text-transform:uppercase}
.sl-foot-aff,.sl-foot-cr{font-size:13.5px;color:#9dabb9}
@media (max-width:900px){
 .sl-tbl{display:none}
 .sl-cards{display:block}
 .sl-card{background:#ffffff;border:1px solid #dde3ea;
  border-top:3px solid #2b4a6f;padding:15px 16px 17px;margin:0 0 12px}
 .sl-card-hd{display:flex;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}
 .sl-card-hd .sl-mk{margin:0}
 .sl-card-hd .sl-bn{flex:1 1 auto;min-width:0}
 .sl-card .sl-plate{max-width:100%;width:100%}
 .sl-card .sl-plate-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .sl-card-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:13px 0 0;
  font-size:15px}
 .sl-card-dl dt{color:#55606e;
  font:400 13px/1.6 'Archivo Narrow',sans-serif;letter-spacing:.05em;text-transform:uppercase}
 .sl-card-dl dd{margin:0;font-weight:600}
 .sl-card .sl-cta{display:block;width:100%;margin-top:12px}
 .sl-pc,.sl-faq{grid-template-columns:1fr;gap:14px}
}
@media (max-width:700px){
 .sl-navbtn{display:block}
 .sl-nav-in{padding:9px 18px}
 .sl-navlinks{flex:1 1 100%;display:none;margin:12px 0 2px;gap:12px 20px}
 .sl-navlinks.is-open{display:flex}
 .sl-hero{padding:18px 18px 14px}
 .sl-hero-in h1{max-width:none;font-size:25px}
 .sl-byline{margin-bottom:12px}
 .sl-rule{margin-bottom:13px}
 .sl-lede{font-size:17.5px}
 .sl-lede.is-clamped{-webkit-line-clamp:2}
 .sl-sec-top h2{font-size:21px}
 .sl-toplist{margin-top:12px}
 .sl-main{padding:18px 18px 44px}
 .sl-rev{padding:18px 17px 20px}
 .sl-authbox{flex-direction:column}
 .sl-authbox img{flex:0 0 auto}
}
