.fsec{max-width:1120px;margin:0 auto;padding:64px 24px 8px}
.fsec h2{font-size:clamp(26px,3.2vw,38px);line-height:1.15;margin:6px 0 12px;letter-spacing:-.01em}
.fl{color:var(--mut);max-width:760px;font-size:17px;line-height:1.55;margin:0 0 22px}
.rail{background:linear-gradient(180deg,rgba(20,28,42,.92),rgba(11,15,23,.92));border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.04)}
.steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.steps li{position:relative;background:#0F1522;border:1px solid var(--line);border-radius:12px;padding:14px 12px 12px;display:flex;flex-direction:column;gap:6px;min-height:170px;transition:border-color .3s,box-shadow .3s,transform .3s}
.steps li .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 12px/1 ui-monospace,Menlo,monospace;background:#1A2336;color:var(--mut)}
.steps li b{font-size:17px;color:var(--tx)}
.steps li .d{font-size:13.5px;color:var(--mut);line-height:1.4}
.steps li .p{font-size:12px;color:#A9C6FF;margin-top:auto}
.steps li .r{font:12px/1.3 ui-monospace,Menlo,monospace;color:#6E7B93;border-top:1px dashed var(--line);padding-top:7px;word-break:break-all}
.steps li.lit{border-color:rgba(52,211,153,.55);box-shadow:0 0 0 1px rgba(52,211,153,.2),0 10px 30px rgba(52,211,153,.10);transform:translateY(-2px)}
.steps li.lit .n{background:var(--green);color:#06210F}
.steps li.lit .r{color:var(--green)}
.steps li.bad{border-color:rgba(242,109,109,.7);box-shadow:0 0 0 1px rgba(242,109,109,.25)}
.steps li.bad .n{background:var(--red);color:#2A0606}
.steps li.bad .r{color:var(--red)}
.railctl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chip{font:600 14px/1 inherit;font-family:inherit;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:#141C2A;color:var(--tx);cursor:pointer}
.chip:disabled{opacity:.45;cursor:not-allowed}
.chip:not(:disabled):hover{border-color:var(--blue)}
.rail .fine{margin:14px 0 0;font-size:13px;color:var(--mut)}
.fam{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fcard{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(160deg,#162036,#0E1420);color:var(--tx);text-decoration:none;transition:border-color .2s,transform .2s}
.fcard:hover{border-color:var(--blue);transform:translateY(-2px)}
.fcard b{font-size:17px}
.fcard span{font-size:14.5px;line-height:1.5;color:var(--mut)}
.matcher{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start}
.slist{display:flex;flex-direction:column;gap:8px}
.slist button{text-align:left;font-family:inherit;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#111722;color:var(--tx);cursor:pointer}
.slist button b{font-size:15.5px}
.slist button.on{border-color:var(--blue);background:linear-gradient(90deg,rgba(47,128,255,.16),#111722)}
.tag{display:inline-block;font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.04em;padding:5px 8px;border-radius:99px;white-space:nowrap;margin:0}
.tag.go{color:var(--green);background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35)}
.tag.mid{color:#A9C6FF;background:rgba(47,128,255,.12);border:1px solid rgba(47,128,255,.35)}
.tag.low{color:var(--mut);background:rgba(155,168,191,.08);border:1px solid var(--line)}
.spanel{background:linear-gradient(180deg,#141C2A,#0F1522);border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:0 24px 60px rgba(0,0,0,.4);min-height:420px}
.spanel h3{font-size:26px;margin:10px 0 14px}
.spanel h3 small{display:block;font-size:14px;color:var(--mut);font-weight:500;margin-top:4px}
.spanel blockquote{margin:0 0 18px;padding:12px 16px;border-left:3px solid var(--blue);background:rgba(47,128,255,.07);border-radius:0 10px 10px 0;font-size:15.5px;line-height:1.5;color:var(--tx)}
.spanel cite{display:block;font-style:normal;font-size:13px;color:var(--mut);margin-top:6px}
.spanel cite a{color:#A9C6FF}
.spanel dl{margin:0;display:grid;grid-template-columns:150px 1fr;gap:12px 18px}
.spanel dt{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.spanel dd{margin:0;font-size:15.5px;line-height:1.55;color:var(--tx)}
.prims{display:flex;flex-wrap:wrap;gap:8px}
.prims a{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#0E1420;text-decoration:none;color:var(--tx)}
.prims a:hover{border-color:var(--blue)}
.prims a b{font-size:14.5px}
.prims a span{font-size:12px;color:var(--green)}
.order{margin:0;padding-left:22px;display:grid;gap:10px;max-width:860px}
.order li{font-size:16.5px;line-height:1.55;color:var(--mut)}
.order li b{color:var(--tx)}
.truths{margin:0 0 40px;padding-left:20px;display:grid;gap:8px;max-width:860px}
.truths li{font-size:16px;line-height:1.55;color:var(--tx)}
.hero .ctas{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:1000px){.steps{grid-template-columns:repeat(3,1fr)}.fam{grid-template-columns:1fr 1fr}.matcher{grid-template-columns:1fr}.slist{flex-direction:row;flex-wrap:wrap}.slist button{flex:1 1 200px}}
@media (max-width:760px){.fsec{padding:44px 16px 4px}.steps{grid-template-columns:1fr;gap:8px}.steps li{min-height:0}.fam{grid-template-columns:1fr}.spanel{padding:18px}.spanel dl{grid-template-columns:1fr;gap:4px}.spanel dd{margin-bottom:10px}.slist button{flex:1 1 100%}}
.hero .lede{max-width:560px;text-shadow:0 2px 14px rgba(0,0,0,.9)}
.src2{display:block;font-size:13px;color:#A9C6FF;margin-top:4px}
.slist button .tag{flex-shrink:0}
.prims a span.nl{color:var(--mut)}
.steps.six{grid-template-columns:repeat(6,1fr)}
.steps li .p{display:flex;flex-wrap:wrap;gap:5px}
.pchip{font-size:11.5px;line-height:1.2;padding:4px 7px;border-radius:7px;border:1px solid rgba(47,128,255,.35);background:rgba(47,128,255,.08);color:#A9C6FF;text-decoration:none}
.pchip:hover{border-color:var(--blue)}
.spanel .rc{font-size:15.5px;line-height:1.55;margin:0 0 16px;color:var(--tx)}
.ptab{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.ptab table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.45}
.ptab thead th{text-align:left;font:600 12px/1.2 ui-monospace,Menlo,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);padding:10px 12px;background:#0E1420;border-bottom:1px solid var(--line)}
.ptab tbody th,.ptab td{text-align:left;vertical-align:top;padding:11px 12px;border-bottom:1px solid var(--line)}
.ptab tbody tr:last-child th,.ptab tbody tr:last-child td{border-bottom:0}
.ptab tbody th{width:27%;font-weight:600}
.ptab tbody th a{color:var(--tx);text-decoration:none;display:block}
.ptab tbody th a:hover{color:#A9C6FF}
.ptab td{color:var(--mut)}
.ptab td:nth-child(2){color:var(--tx)}
.ptab .st{display:block;font:500 11.5px/1.3 ui-monospace,Menlo,monospace;color:var(--green);margin-top:4px}
.ptab .st.nl{color:var(--mut)}
@media (max-width:1100px){.steps.six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.steps.six{grid-template-columns:1fr}.ptab thead{display:none}.ptab tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.ptab tbody th,.ptab td{display:block;border:0;padding:4px 12px;width:auto}}
.slist button.m-sell{border-left:4px solid #A78BFA}
.slist button.m-both{border-left:4px solid #A78BFA;box-shadow:inset 3px 0 0 #64748B}
.slist button.m-cost{border-left:4px solid #64748B}
.mpill{display:inline-block;font:600 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.03em;padding:6px 10px;border-radius:99px;margin:0 0 10px}
.mpill.m-sell{color:#D8CCFF;background:rgba(167,139,250,.16);border:1px solid rgba(167,139,250,.5)}
.mpill.m-both{color:#D8CCFF;background:linear-gradient(90deg,rgba(167,139,250,.16),rgba(100,116,139,.18));border:1px solid rgba(167,139,250,.4)}
.mpill.m-cost{color:#CBD5E1;background:rgba(100,116,139,.16);border:1px solid rgba(100,116,139,.5)}
.legend{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.legend .mpill{margin:0}
.slist button.m-sell{border-left:5px solid #A78BFA;background:linear-gradient(90deg,rgba(167,139,250,.14),#111722 55%)}
.slist button.m-both{border-left:5px solid #A78BFA;background:linear-gradient(90deg,rgba(100,116,139,.22),#111722 55%);box-shadow:none}
.slist button.m-cost{border-left:5px solid #64748B}
.slist button.on{background:linear-gradient(90deg,rgba(47,128,255,.18),#111722)}

/* Catalog tiles */
.matcher.cat{display:block}
.slist.cat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.slist.cat button.tile{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0E1420;text-align:left;transition:transform .2s,border-color .2s,box-shadow .2s}
.slist.cat button.tile:hover{transform:translateY(-3px);border-color:rgba(47,128,255,.6);box-shadow:0 14px 36px rgba(47,128,255,.16)}
.slist.cat button.tile:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.slist.cat button.tile.on{border-color:var(--blue);box-shadow:0 0 0 2px rgba(47,128,255,.45),0 14px 36px rgba(47,128,255,.2);background:#0E1420}
.slist.cat .ti{display:block;aspect-ratio:4/3;overflow:hidden;background:#0B0F17}
.slist.cat .ti img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.slist.cat button.tile:hover .ti img{transform:scale(1.04)}
.slist.cat .tt{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;border-top:3px solid #A78BFA}
.slist.cat button.m-cost .tt{border-top-color:#64748B}
.slist.cat button.m-both .tt{border-image:linear-gradient(90deg,#A78BFA,#64748B) 1}
.slist.cat .tt b{font-size:16px;line-height:1.25;color:var(--tx)}
.slist.cat .tl{font-size:13.5px;line-height:1.4;color:var(--mut)}
.slist.cat .tt .tag{align-self:flex-start;margin-top:2px}
.slist.cat button.m-sell,.slist.cat button.m-both,.slist.cat button.m-cost{border-left:1px solid var(--line);background:#0E1420}
.slist.cat button.tile.on{border-color:var(--blue)}
#tlist.cat{grid-template-columns:repeat(5,minmax(0,1fr))}
.spanel{scroll-margin-top:90px}
.spanel .back{margin:16px 0 0;font-size:14px}
.spanel .back a{color:#A9C6FF}
@media (max-width:1000px){.slist.cat,#tlist.cat{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.slist.cat,#tlist.cat{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slist.cat .tt{padding:10px 11px 12px}.slist.cat .tt b{font-size:14.5px}.slist.cat .tl{font-size:12.5px}.slist.cat button.tile{flex:initial}}

.nw{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#2F80FF;vertical-align:middle;animation:nwp 1.8s ease-in-out infinite}
@keyframes nwp{0%,100%{box-shadow:0 0 0 0 rgba(47,128,255,.65)}50%{box-shadow:0 0 0 6px rgba(47,128,255,0)}}
@media (prefers-reduced-motion:reduce){.nw{animation:none}}
.ptab tbody th a{display:inline}.ptab tbody th .st{display:block}.ptab tbody th .nw{margin-left:6px}

/* Legibility over the hero art */
.hero::before{background:linear-gradient(90deg,rgba(6,9,16,.94) 0%,rgba(6,9,16,.82) 42%,rgba(6,9,16,.35) 75%,rgba(6,9,16,.2) 100%),linear-gradient(180deg,rgba(6,9,16,.5) 0%,transparent 40%,rgba(6,9,16,.75) 100%)}
.hero h1,.hero .status,.hero .lede{text-shadow:0 2px 18px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.9)}
.hero .status{color:#C9D3E5}
.hero .btn.ghost{background:rgba(6,9,16,.78);border-color:rgba(140,184,255,.7);color:#fff}
@media (max-width:760px){.hero::before{background:linear-gradient(180deg,rgba(6,9,16,.9) 0%,rgba(6,9,16,.86) 60%,rgba(6,9,16,.92) 100%)}}
.hero-img{z-index:0}.hero::before{z-index:1}.hero-txt{z-index:2}
@media (max-width:760px){.hero::before{background:linear-gradient(180deg,rgba(6,9,16,.84) 0%,rgba(6,9,16,.72) 55%,rgba(6,9,16,.88) 100%)}}
