/* BitClarity shared stylesheet — index + vendor pages */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0b1540;--navy-deep:#070e2d;--navy-mid:#111d52;
  --blue:#1a56c4;--blue-light:#4a82e0;--blue-pale:#c2d4f8;
  --amber:#f09d1a;--amber-soft:rgba(240,157,26,.10);--amber-bdr:rgba(240,157,26,.25);
  --off-white:#f2f4fb;--surface:#fff;--surface2:#eaeff8;
  --border:rgba(11,21,64,.08);--border2:rgba(11,21,64,.14);
  --text:#080e30;--muted:#4f5f8a;--faint:#8a9abf;
  --green:#0a6e42;--green-bg:rgba(10,110,66,.07);
  --red:#b02020;--red-bg:rgba(176,32,32,.07);
  --amber-text:#7a4e00;
  --font-display:'DM Sans',sans-serif;
  --font-sans:'DM Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --r:8px;--r-lg:12px;
  --shadow:0 2px 20px rgba(11,21,64,.08);--shadow-sm:0 1px 4px rgba(11,21,64,.06)
}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--off-white);color:var(--text);font-size:15px;line-height:1.6}

/* ============ NAV ============ */
nav{background:var(--navy-deep);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:58px;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.05)}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:28px;height:28px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;flex-shrink:0}
.lm-tl{background:#1a56c4;border-radius:5px 1px 1px 1px}
.lm-tr{background:#f09d1a;border-radius:1px 5px 1px 1px}
.lm-bl{background:#7aaee8;border-radius:1px 1px 1px 5px}
.lm-br{background:#4a82e0;border-radius:1px 1px 5px 1px}
.nav-brand{font-family:'Outfit',sans-serif;font-size:19px;font-weight:400;color:#fff;letter-spacing:.01em}
.nav-right{display:flex;align-items:center;gap:1.25rem}
.nav-link{color:rgba(255,255,255,.45);text-decoration:none;font-size:13px;transition:color .15s;font-family:var(--font-display);font-weight:500;letter-spacing:.02em}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-btc{font-size:12px;color:rgba(255,255,255,.55);background:rgba(255,255,255,.06);padding:4px 10px;border-radius:20px;border:1px solid rgba(255,255,255,.09);font-family:var(--font-mono)}
.nav-btc span{color:var(--amber);font-weight:500}

/* Lenders dropdown */
.nav-dd{position:relative}
.nav-dd-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--r);box-shadow:var(--shadow);min-width:170px;padding:6px;z-index:200}
.nav-dd.open .nav-dd-menu{display:block}
.nav-dd-menu a{display:block;padding:7px 12px;font-size:13px;color:var(--text);text-decoration:none;border-radius:5px;font-family:var(--font-display)}
.nav-dd-menu a:hover{background:var(--surface2)}
.nav-dd-btn{background:none;border:none;cursor:pointer;font:inherit}

/* ============ HERO ============ */
.hero{background:var(--navy-deep);padding:4rem 2rem 3rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}
.hero::before{content:'';position:absolute;top:-80px;right:-40px;width:460px;height:460px;background:radial-gradient(circle,rgba(240,157,26,.06) 0%,transparent 60%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-60px;left:10%;width:300px;height:300px;background:radial-gradient(circle,rgba(26,86,196,.08) 0%,transparent 60%);pointer-events:none}
.hero-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.35);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.25rem;font-family:var(--font-display)}
.eyebrow-dot{width:5px;height:5px;background:var(--amber);border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:.9rem}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero-sub{font-size:15px;color:rgba(255,255,255,.45);max-width:460px;font-weight:400;line-height:1.7}
/* hero mini-converter */
.hero-calc{display:flex;flex-direction:column;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:1.4rem 1.5rem;min-width:270px;max-width:330px}
.hc-title{font-family:var(--font-display);font-weight:700;font-size:15px;color:#fff}
.hc-price{font-size:11px;color:rgba(255,255,255,.4);font-family:var(--font-mono)}
.hc-price span{color:var(--amber)}
.hc-field label{display:block;font-size:10px;font-weight:600;color:rgba(255,255,255,.35);margin-bottom:5px;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display)}
.hc-field input{width:100%;font-family:var(--font-mono);font-size:16px;padding:9px 12px;border-radius:var(--r);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff}
.hc-field input:focus{outline:none;border-color:var(--amber)}
.hc-out{border-top:1px solid rgba(255,255,255,.08);padding-top:10px}
.hc-label{font-size:10px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display);font-weight:600}
.hc-val{font-family:var(--font-mono);font-size:1.9rem;color:#fff;font-weight:500;line-height:1.2;margin:3px 0}
.hc-sub{font-size:11px;color:rgba(255,255,255,.4);line-height:1.5;font-family:var(--font-mono)}
.hero-strip{max-width:1160px;margin:2.25rem auto 0;display:flex;gap:2rem;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.35);font-family:var(--font-mono);border-top:1px solid rgba(255,255,255,.07);padding-top:1rem;position:relative}
.hero-strip strong{color:var(--amber);font-weight:500}

/* ============ LAYOUT / GENERIC ============ */
.container{max-width:1160px;margin:0 auto;padding:0 1.5rem}
.section-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;margin-bottom:.35rem}
.section-sub{font-size:13px;color:var(--muted);margin-bottom:1.25rem}
.loading-wrap{display:flex;align-items:center;justify-content:center;padding:3.5rem 2rem;gap:10px;color:var(--muted);font-size:13px;font-family:var(--font-mono)}
.spinner{width:16px;height:16px;border:1.5px solid var(--border2);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.error-wrap{background:#fff3f3;border:1px solid #fcc;border-radius:var(--r);padding:1.25rem;text-align:center;color:var(--red);font-size:13px;margin:1.5rem 0}
.disclaimer{background:var(--amber-soft);border:1px solid var(--amber-bdr);border-radius:var(--r);padding:10px 14px;font-size:12px;color:var(--amber-text);display:flex;gap:8px;align-items:flex-start;margin-bottom:1rem;line-height:1.5}
.d-icon{flex-shrink:0;margin-top:1px;font-size:13px}

/* ============ FILTERS ============ */
.filters-wrap{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:58px;z-index:90;box-shadow:var(--shadow-sm)}
.filters-inner{max-width:1160px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter-label{font-size:12px;color:var(--muted);white-space:nowrap;font-family:var(--font-display);font-weight:500}
.filter-select{font-family:var(--font-sans);font-size:13px;padding:5px 26px 5px 10px;border-radius:var(--r);border:1px solid var(--border2);background:var(--off-white);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%234f5f8a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .15s}
.filter-select:focus{outline:none;border-color:var(--blue)}
.filter-divider{width:1px;height:18px;background:var(--border2);margin:0 2px}
.sort-hint{margin-left:auto;font-size:11px;color:var(--faint);white-space:nowrap;font-family:var(--font-mono)}

/* ============ TABLE ============ */
.table-section{padding:1.75rem 0 2.5rem}
.results-count{font-size:12px;color:var(--muted);margin-bottom:.85rem;font-family:var(--font-mono)}
.results-count strong{color:var(--text)}
.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{padding:10px 14px;font-size:10px;font-weight:600;color:var(--faint);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);background:var(--off-white);user-select:none;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase}
thead th.sortable{cursor:pointer;transition:color .12s}
thead th.sortable:hover{color:var(--navy)}
thead th.sorted{color:var(--blue)}
.sort-arrow{margin-left:3px;opacity:.4;font-size:10px}
thead th.sorted .sort-arrow{opacity:1}
tbody tr{border-bottom:1px solid var(--border);transition:background .1s;animation:rowIn .2s ease both}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:#f7f9fe}
tbody tr.row-best{background:linear-gradient(90deg,rgba(10,110,66,.04) 0%,transparent 50%)}
tbody tr.row-best:hover{background:linear-gradient(90deg,rgba(10,110,66,.07) 0%,transparent 50%)}
@keyframes rowIn{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
td{padding:13px 14px;vertical-align:middle}
.no-results{padding:2.5rem 2rem;text-align:center;color:var(--muted);font-size:13px;font-family:var(--font-mono)}

/* lender logos */
.lender-logo-wrap{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#fff;border:1px solid var(--border);overflow:hidden;flex-shrink:0;position:relative}
.lender-logo{width:100%;height:100%;object-fit:contain;padding:3px}
.logo-initial{width:100%;height:100%;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--blue);background:var(--surface2);font-size:60%}

/* lender cell */
.lender-cell{display:flex;flex-direction:column;gap:4px}
.lender-top{display:flex;align-items:center;gap:8px}
.lender-name{font-weight:600;font-size:14px;font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);text-decoration:none}
a.lender-name:hover{color:var(--blue);text-decoration:underline}
.lender-badges{display:flex;gap:4px;flex-wrap:wrap}
.badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase}
.b-best{background:#d4f0e4;color:#0a5a38;border:1px solid #a0d9be}
.b-variable{background:#fff3d9;color:#7a4e00;border:1px solid #fcd68a}
.b-nokc{background:#dff0df;color:#1a5c1a;border:1px solid #a8d9a8}
.b-nofee{background:#dff0df;color:#1a5c1a;border:1px solid #a8d9a8}
.b-custody{background:#e8eef8;color:#1a3a7a;border:1px solid #b8caee}
.b-p2p{background:#ede8f8;color:#3a1a7a;border:1px solid #c8b8ee}
.b-defi{background:#e8f4f8;color:#0a4a6a;border:1px solid #a8d4e8}
.b-multi{background:#e8eef8;color:#1a3a7a;border:1px solid #b8caee}

/* rate / ltv / liq cells */
.rate-wrap{display:flex;flex-direction:column;gap:2px}
.rate-val{font-size:15px;font-weight:600;font-family:var(--font-mono)}
.rate-note{font-size:10px;color:var(--faint);font-family:var(--font-mono)}
.r-low{color:var(--green)}
.r-mid{color:var(--text)}
.r-high{color:#b06020}
.ltv-wrap{display:flex;align-items:center;gap:8px}
.ltv-bar-bg{width:44px;height:4px;background:var(--surface2);border-radius:2px;overflow:hidden;flex-shrink:0}
.ltv-bar-fill{height:100%;border-radius:2px;background:var(--blue)}
.ltv-val{font-family:var(--font-mono);font-size:13px}
.liq-wrap{display:flex;align-items:center;gap:6px}
.liq-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.liq-safe{background:var(--green)}
.liq-mid{background:var(--amber)}
.liq-risky{background:var(--red)}
.liq-val{font-family:var(--font-mono);font-size:13px}
.min-loan{font-family:var(--font-mono);font-size:13px;color:var(--muted)}

/* buttons */
.expand-btn{background:none;border:1px solid var(--border2);border-radius:5px;cursor:pointer;color:var(--muted);font-size:11px;padding:4px 9px;transition:all .12s;font-family:var(--font-display);font-weight:600;letter-spacing:.04em}
.expand-btn:hover{background:var(--surface2);color:var(--navy)}
.cta-btn{display:inline-block;padding:6px 14px;font-size:12px;font-weight:600;font-family:var(--font-display);letter-spacing:.03em;border-radius:var(--r);border:1.5px solid var(--border2);color:var(--navy);background:var(--surface);text-decoration:none;white-space:nowrap;transition:all .12s;cursor:pointer}
.cta-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cta-best{border-color:var(--green);color:var(--green)}
.cta-best:hover{background:var(--green);color:#fff;border-color:var(--green)}
.cta-lg{padding:10px 22px;font-size:14px;background:var(--amber);border-color:var(--amber);color:var(--navy-deep)}
.cta-lg:hover{background:#d98c10;border-color:#d98c10;color:var(--navy-deep)}

/* detail row */
.detail-row{display:none}
.detail-row.open{display:table-row}
.detail-cell{padding:0 14px 16px !important;background:var(--off-white) !important;border-bottom:1px solid var(--border) !important}
.detail-inner{font-size:12px;color:var(--muted);line-height:1.7;padding-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.4rem 2rem}
.detail-field strong{color:var(--text);font-weight:600;display:block;font-size:10px;margin-bottom:1px;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display)}
.detail-field{font-family:var(--font-mono);font-size:12px}
.detail-notes{grid-column:1/-1;border-top:1px solid var(--border);padding-top:.85rem;margin-top:.4rem}
.detail-notes-title{font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-display);margin-bottom:.5rem}
.detail-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:.4rem;font-family:var(--font-sans)}
.detail-note-cat{font-size:10px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display);display:inline-block;margin-right:6px}

/* ============ CALCULATORS ============ */
.calc-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem 2rem;margin-bottom:3rem;box-shadow:var(--shadow)}
.calc-tabs{display:flex;gap:4px;margin-bottom:1.4rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.calc-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;font-size:13px;font-weight:600;font-family:var(--font-display);color:var(--muted);cursor:pointer;transition:all .12s;margin-bottom:-1px}
.calc-tab:hover{color:var(--navy)}
.calc-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.calc-pane{display:none}
.calc-pane.active{display:block}
.calc-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1rem;margin-bottom:1.4rem}
.calc-field label{display:block;font-size:10px;font-weight:600;color:var(--faint);margin-bottom:5px;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display)}
.calc-field input,.calc-field select{width:100%;font-family:var(--font-mono);font-size:14px;padding:8px 11px;border-radius:var(--r);border:1px solid var(--border2);background:var(--off-white);color:var(--text);transition:border-color .15s;appearance:none}
.calc-field input:focus,.calc-field select:focus{outline:none;border-color:var(--blue)}
.btc-price-note{font-size:11px;color:var(--green);margin-top:3px;font-family:var(--font-mono)}
.calc-note{font-size:11px;color:var(--faint);margin-top:.9rem;line-height:1.5}
/* calculator result tables */
.calc-table{width:100%;border-collapse:collapse;font-size:13px}
.calc-table th{padding:8px 12px;font-size:10px;font-weight:600;color:var(--faint);text-align:left;border-bottom:1px solid var(--border);font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.calc-table td{padding:10px 12px;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:13px;vertical-align:middle}
.calc-table tr:last-child td{border-bottom:none}
.calc-table .ct-name{font-family:var(--font-display);font-weight:600;font-size:13px}
.calc-table .ct-name a{color:var(--text);text-decoration:none}
.calc-table .ct-name a:hover{color:var(--blue)}
.calc-table .ct-good{color:var(--green);font-weight:600}
.calc-table .ct-bad{color:var(--red)}
.calc-table .ct-dim{color:var(--faint);font-size:11px}
.calc-table tr.ct-best td{background:rgba(10,110,66,.05)}
.calc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:1.2rem}
.calc-card{background:var(--off-white);border-radius:var(--r);padding:12px 14px;border:1px solid var(--border)}
.calc-label{font-size:10px;font-weight:600;color:var(--faint);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display)}
.calc-val{font-family:var(--font-mono);font-size:1.25rem;color:var(--navy);font-weight:500}
.calc-sub2{font-size:11px;color:var(--faint);margin-top:2px;line-height:1.4;font-family:var(--font-mono)}

/* ============ CHANGES FEED + ALERT SIGNUP ============ */
.feed-section{padding:0 0 2.5rem}
.feed-wrap{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;align-items:start}
.feed-list{display:flex;flex-direction:column;gap:12px}
.feed-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}
.feed-head{display:flex;align-items:center;gap:8px;margin-bottom:.5rem}
.feed-vendor{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--text);text-decoration:none}
.feed-vendor:hover{color:var(--blue)}
.feed-date{margin-left:auto;font-size:11px;color:var(--faint);font-family:var(--font-mono)}
.feed-item{display:flex;justify-content:space-between;gap:1rem;padding:5px 0;border-top:1px solid var(--border);font-size:13px;flex-wrap:wrap}
.feed-field{color:var(--muted);font-family:var(--font-display);font-weight:500}
.feed-vals{font-family:var(--font-mono);font-size:12.5px}
.feed-vals strong{color:var(--green);font-weight:600}
.feed-arrow{color:var(--faint)}
.feed-empty{padding:1.5rem;text-align:center;color:var(--muted);font-size:13px;font-family:var(--font-mono)}
.feed-note{margin-top:.6rem;padding:.6rem .8rem;background:var(--amber-soft);border-left:3px solid var(--amber);border-radius:0 var(--r) var(--r) 0;font-size:12.5px;color:var(--muted);line-height:1.6}
/* signup card */
.sub-card{background:var(--navy-deep);border-radius:var(--r-lg);padding:1.5rem 1.6rem;position:sticky;top:74px}
.sub-card h3{font-family:var(--font-display);color:#fff;font-size:1.05rem;font-weight:700;margin-bottom:.4rem}
.sub-card p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:1rem}
.sub-form{display:flex;gap:8px;flex-wrap:wrap}
.sub-form input{flex:1;min-width:170px;font-family:var(--font-sans);font-size:14px;padding:9px 12px;border-radius:var(--r);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff}
.sub-form input::placeholder{color:rgba(255,255,255,.35)}
.sub-form input:focus{outline:none;border-color:var(--amber)}
.sub-form button{padding:9px 16px;font-size:13px;font-weight:600;font-family:var(--font-display);border-radius:var(--r);border:none;background:var(--amber);color:var(--navy-deep);cursor:pointer;transition:background .15s}
.sub-form button:hover{background:#d98c10}
.sub-form button:disabled{opacity:.6;cursor:wait}
.sub-msg{width:100%;font-size:12px;margin-top:6px;font-family:var(--font-display)}
.sub-ok{color:#7fd4a8}
.sub-err{color:#f0a0a0}
.sub-fine{font-size:11px;color:rgba(255,255,255,.3);margin-top:.75rem;line-height:1.5}
@media(max-width:860px){.feed-wrap{grid-template-columns:1fr}.sub-card{position:static}}

/* ============ LENDER DIRECTORY GRID ============ */
.lender-grid-section{padding:0 0 3rem}
.lender-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.lender-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.1rem 1.25rem;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text);transition:all .15s;display:flex;flex-direction:column;gap:6px}
.lender-card:hover{border-color:var(--blue-light);box-shadow:var(--shadow);transform:translateY(-1px)}
.lender-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lender-card-name{font-family:var(--font-display);font-weight:700;font-size:15px}
.lender-card-rate{font-family:var(--font-mono);font-size:13px;color:var(--green);font-weight:600}
.lender-card-tag{font-size:12px;color:var(--muted);line-height:1.5}
.lender-card-link{font-size:11px;color:var(--blue);font-weight:600;font-family:var(--font-display);margin-top:auto}

/* ============ VENDOR PAGE ============ */
.v-hero{background:var(--navy-deep);padding:2.75rem 2rem 2.25rem;border-bottom:1px solid rgba(255,255,255,.05)}
.v-hero-inner{max-width:1160px;margin:0 auto}
.breadcrumb{font-size:12px;color:rgba(255,255,255,.3);margin-bottom:1.1rem;font-family:var(--font-display)}
.breadcrumb a{color:rgba(255,255,255,.45);text-decoration:none}
.breadcrumb a:hover{color:#fff}
.v-hero-row{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.v-hero h1{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-bottom:.5rem}
.v-hero-sub{font-size:14px;color:rgba(255,255,255,.45);max-width:560px;line-height:1.7}
.v-hero-bestfor{max-width:600px;margin:.15rem 0 .6rem}
.v-hero-bestfor .bf-label{display:block;font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--amber);margin-bottom:5px}
.v-hero-bestfor .bf-text{display:block;font-size:17px;color:#fff;font-weight:600;line-height:1.4}
.v-hero-badges{display:flex;gap:6px;margin-bottom:.9rem;flex-wrap:wrap}
.v-hero-cta{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.v-verified{font-size:11px;color:rgba(255,255,255,.3);font-family:var(--font-mono)}
.v-section{padding:2rem 0 0}
.v-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start;padding:1.75rem 0 3rem}
.v-main{display:flex;flex-direction:column;gap:1.5rem}
.v-side{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:74px}
.v-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.5rem 1.75rem;box-shadow:var(--shadow-sm)}
.v-card h2{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin-bottom:1rem}
.terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem 1.5rem}
.term-item strong{display:block;font-size:10px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display);margin-bottom:2px}
.term-item span{font-family:var(--font-mono);font-size:14px;color:var(--text)}
.term-item .term-big{font-size:1.3rem;font-weight:600;color:var(--navy)}
.v-prose{font-size:14px;color:var(--muted);line-height:1.75}
.v-prose p{margin-bottom:.8rem}
.v-prose p:last-child{margin-bottom:0}
.v-prose strong{color:var(--text)}
.v-note{border-left:3px solid var(--blue-pale);padding:.5rem 0 .5rem 1rem;margin-bottom:.75rem}
.v-note:last-child{margin-bottom:0}
.v-note-cat{font-size:10px;font-weight:600;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display);display:block;margin-bottom:2px}
.v-note-text{font-size:13px;color:var(--muted);line-height:1.65}
.v-meta{font-size:11px;color:var(--faint);font-family:var(--font-mono);line-height:1.8}
.v-meta strong{color:var(--muted)}
.v-snapshot-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}
.v-snapshot-row:last-child{border-bottom:none}
.v-snapshot-row .k{color:var(--muted);font-family:var(--font-display);font-size:12px}
.v-snapshot-row .v{font-family:var(--font-mono);font-weight:500}
.back-link{display:inline-block;margin:1.5rem 0 0;font-size:13px;color:var(--blue);text-decoration:none;font-weight:600;font-family:var(--font-display)}
.back-link:hover{text-decoration:underline}

/* ============ WIZARD ============ */
.wiz-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem 2rem;box-shadow:var(--shadow);margin-bottom:1.5rem}
.wiz-q{margin-bottom:1.4rem}
.wiz-q-label{font-family:var(--font-display);font-weight:600;font-size:14px;margin-bottom:.6rem}
.wiz-opts{display:flex;gap:8px;flex-wrap:wrap}
.wiz-opt{border:1.5px solid var(--border2);border-radius:var(--r);padding:8px 14px;font-size:13px;font-family:var(--font-display);font-weight:500;cursor:pointer;background:var(--off-white);color:var(--muted);transition:all .12s;user-select:none}
.wiz-opt:hover{border-color:var(--blue-light);color:var(--navy)}
.wiz-opt.sel{border-color:var(--blue);background:#e8effc;color:var(--blue);font-weight:600}
.wiz-amount{font-family:var(--font-mono);font-size:15px;padding:9px 12px;border-radius:var(--r);border:1px solid var(--border2);background:var(--off-white);width:200px}
.wiz-amount:focus{outline:none;border-color:var(--blue)}
.wiz-btn{padding:11px 26px;font-size:14px;font-weight:700;font-family:var(--font-display);border-radius:var(--r);border:none;background:var(--amber);color:var(--navy-deep);cursor:pointer;transition:background .15s}
.wiz-btn:hover{background:#d98c10}
.match-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.match-card.top{border-color:#a0d9be;background:linear-gradient(90deg,rgba(10,110,66,.04) 0%,#fff 40%)}
.match-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.match-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--text);text-decoration:none}
.match-name:hover{color:var(--blue)}
.match-apr{margin-left:auto;font-family:var(--font-mono);font-weight:600;font-size:15px;color:var(--green)}
.match-chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:11px;padding:3px 9px;border-radius:12px;background:var(--surface2);color:var(--muted);font-family:var(--font-display);font-weight:500}
.chip.good{background:#d4f0e4;color:#0a5a38}
.match-row{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:12px;color:var(--muted);font-family:var(--font-mono)}
.match-actions{display:flex;gap:10px;margin-top:2px}
.excl-card{background:var(--off-white);border:1px dashed var(--border2);border-radius:var(--r);padding:.8rem 1.2rem;margin-bottom:8px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.excl-name{font-family:var(--font-display);font-weight:600;color:var(--text)}
.excl-why{margin-left:auto;font-size:12px;text-align:right}

/* ============ FOOTER ============ */
footer{background:var(--navy-deep);color:rgba(255,255,255,.3);padding:2.5rem 2rem;font-size:12px;line-height:1.8;border-top:1px solid rgba(255,255,255,.05);margin-top:2rem}
.footer-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}
.footer-brand{font-family:var(--font-display);font-weight:700;color:rgba(255,255,255,.6);font-size:16px;margin-bottom:.4rem;letter-spacing:-.01em}
.footer-links{display:flex;flex-direction:column;gap:4px;text-align:right}
.footer-links a{color:rgba(255,255,255,.45);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-fine{font-size:11px;opacity:.55;max-width:600px;margin-top:14px}

/* ============ RESPONSIVE ============ */
@media(max-width:860px){
  .v-grid{grid-template-columns:1fr}
  .v-side{position:static}
}
@media(max-width:700px){
  nav{padding:0 1rem}
  .nav-right{gap:.7rem}
  .nav-sec{display:none}
  .hero{padding:2.5rem 1rem 2rem}
  .hero-inner{grid-template-columns:1fr;gap:1.5rem}
  .hero-calc{max-width:none;width:100%}
  .filters-inner{padding:.6rem 1rem}
  td,thead th{padding:9px 10px;font-size:12px}
  .sort-hint{display:none}
  /* tables scroll horizontally instead of crushing */
  #main-table{min-width:780px}
  #cost-out,#bp-out,#lq-out{overflow-x:auto;-webkit-overflow-scrolling:touch}
  #cost-out .calc-table,#bp-out .calc-table,#lq-out .calc-table{min-width:520px}
  .calc-section{padding:1.25rem}
  .v-hero{padding:2rem 1rem 1.75rem}
  .v-hero-cta{align-items:flex-start}
  .v-card{padding:1.25rem 1.25rem}
  /* feed stacks cleanly */
  .feed-item{flex-direction:column;gap:2px;align-items:flex-start}
  .sub-card{padding:1.25rem 1.3rem}
  /* wizard */
  .wiz-card{padding:1.25rem 1.3rem}
  .wiz-amount{width:100%}
  .excl-card{flex-wrap:wrap}
  .excl-why{margin-left:0;text-align:left;width:100%}
  .footer-inner{grid-template-columns:1fr}
  .footer-links{text-align:left}
}

/* ============ COMPARISON DETAIL + BITCLARITY SCORE (shared: loans + cards) ============ */
.prow{cursor:pointer}
.prow:hover{background:var(--off-white)}
.chev-cell{text-align:center;width:34px}
.chev{color:var(--muted);font-size:12px;width:24px;height:24px;border-radius:50%;background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;transition:transform .18s,background .18s,color .18s}
.prow:hover .chev{background:var(--blue-pale);color:var(--blue)}
.prow-open .chev{transform:rotate(180deg);background:var(--blue);color:#fff}
.row-highlight{font-size:11.5px;color:var(--muted);margin-top:1px;line-height:1.4}
.score-badge{display:inline-flex;align-items:baseline;line-height:1;font-family:var(--font-mono);font-weight:600;border-radius:6px;padding:4px 9px;background:var(--surface2);color:var(--text)}
.sc-num{font-size:15px;letter-spacing:-.01em}.sc-out{font-size:10px;opacity:.55;margin-left:2px}
/* expanded panel — own container (NOT .detail-inner, which is a grid) */
.cd{padding-top:14px}
.cd-cols{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:flex-start}
.cd-left{flex:1 1 420px;min-width:0}
.cd-right{flex:0 0 300px}
@media(max-width:720px){.cd-right{flex:1 1 100%}}
.cd-facts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.5rem;margin-bottom:1rem}
@media(max-width:560px){.cd-facts{grid-template-columns:1fr}}
.card-bestfor{background:var(--off-white);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:0 var(--r) var(--r) 0;padding:.6rem .85rem;margin-bottom:.9rem;font-size:13px;color:var(--text);line-height:1.5;font-family:var(--font-sans)}
.bf-eyebrow{display:block;font-size:10px;font-weight:700;color:#b8860b;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display);margin-bottom:2px}
.detail-full{grid-column:1/-1}
.cat-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cat-chip{font-size:11.5px;background:var(--surface);border:1px solid var(--border2);border-radius:20px;padding:3px 10px;color:var(--muted);font-family:var(--font-sans)}
.cat-chip b{color:var(--text)}
.pc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:1rem}
@media(max-width:560px){.pc-wrap{grid-template-columns:1fr}}
.pc-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:var(--font-display);margin-bottom:5px}
.pc-head.pc-pro,.pc-sym.pc-pro{color:#1d7a3e}
.pc-head.pc-con,.pc-sym.pc-con{color:#b04545}
.pc-item{font-size:12.5px;color:var(--muted);line-height:1.5;display:flex;gap:6px;margin-bottom:3px;font-family:var(--font-sans)}
.pc-sym{font-weight:700;flex-shrink:0}
.sc-break{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.75rem .9rem}
.sc-break-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text);margin-bottom:.55rem;font-family:var(--font-display)}
.scb-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.scb-label{flex:0 0 130px;font-size:11.5px;color:var(--muted);font-family:var(--font-sans)}
.scb-bar{flex:1;height:5px;background:var(--surface2);border-radius:3px;overflow:hidden}
.scb-fill{display:block;height:100%;background:var(--blue);border-radius:3px}
.scb-pts{flex:0 0 46px;text-align:right;font-size:10.5px;color:var(--faint);font-family:var(--font-mono)}
.sc-break-note{margin-top:.55rem;font-size:11px}
.sc-break-note a{color:var(--blue);text-decoration:none}
.detail-src{margin-top:.9rem;font-size:11px;color:var(--faint);font-family:var(--font-mono)}
.detail-src a{color:var(--blue);text-decoration:none}
#compare,#loc,#calculator,#lenders,#changes{scroll-margin-top:72px}
.th-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--border2);color:var(--surface);font-size:9px;font-weight:700;font-style:normal;cursor:help;position:relative;text-transform:none;letter-spacing:0;vertical-align:middle}
.th-info:hover{background:var(--blue)}
.th-info:hover::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 7px);transform:translateX(-50%);width:230px;background:var(--text);color:#fff;padding:9px 11px;border-radius:6px;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;text-align:left;white-space:normal;z-index:300;box-shadow:var(--shadow);pointer-events:none}
