/* FortuneBack — "Ledger desk" theme. A calm, numbers-forward personal-finance dashboard.
   Site-unique class prefix: fb-  (shares no skeleton classes with other network sites).
   House rules: radius <=6px, no pills/badges, custom SVG icons only, no native select, deep shadows, rich fills. */
:root{
  --ink:#15201a;--mut:#51605a;--faint:#8c9a92;
  --paper:#f3f6f2;--card:#ffffff;--rule:#e2e9e2;--rule2:#eef3ee;
  --ac:#1f7a52;--acd:#0e4e34;--acl:#e8f5ee;--tint:#edf4ef;--tint2:#dfece3;
  --gold:#b6873a;--warn:#9a3838;
  --r:6px;
  --sh:0 1px 0 var(--rule),0 18px 40px -24px rgba(14,78,52,.30);
  --shd:0 2px 0 var(--rule),0 34px 70px -28px rgba(14,78,52,.42);
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.62;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(var(--rule2) 1px,transparent 1px);background-size:100% 30px;background-position:0 -1px}
a{color:var(--acd)}
h1,h2,h3{font-family:'Fraunces','Fraunces',Georgia,serif;letter-spacing:-.012em;font-weight:600}

/* ---------- top bar ---------- */
.fb-bar{display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:16px 24px;position:relative;
  border-bottom:1px solid var(--rule);background:var(--paper)}
.fb-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.02em;font-family:'Fraunces',serif}
.fb-brand img{width:26px;height:26px;display:block}
.fb-menu{display:flex;align-items:center;gap:2px}
.fb-menu a{padding:9px 12px;border-radius:var(--r);color:var(--mut);text-decoration:none;font-size:14px;font-weight:600;min-height:42px;display:inline-flex;align-items:center}
.fb-menu a:hover,.fb-menu a.fb-cur{color:var(--acd);background:var(--tint)}
.fb-burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:var(--tint);border-radius:var(--r);cursor:pointer;flex:none}
.fb-burger span{position:relative;width:20px;height:2px;background:var(--acd);border-radius:2px;display:block}
.fb-burger span::before,.fb-burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--acd);border-radius:2px;transition:transform .2s,top .2s}
.fb-burger span::before{top:-6px}.fb-burger span::after{top:6px}
.fb-bar.fb-open .fb-burger span{background:transparent}
.fb-bar.fb-open .fb-burger span::before{top:0;transform:rotate(45deg)}
.fb-bar.fb-open .fb-burger span::after{top:0;transform:rotate(-45deg)}

.fb-shell{max-width:1160px;margin:0 auto;padding:0 24px}

/* ---------- masthead hero (quiet, ledger) ---------- */
.fb-masthead{display:grid;grid-template-columns:1.35fr .9fr;gap:40px;align-items:center;padding:56px 0 48px;border-bottom:1px solid var(--rule)}
.fb-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--ac);font-weight:600;margin-bottom:16px}
.fb-mast-copy h1{font-size:50px;line-height:1.04;color:var(--ink);margin-bottom:18px}
.fb-mast-copy p{font-size:17px;color:var(--mut);max-width:560px;margin:0}
.fb-mast-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.fb-go{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(140deg,var(--ac),var(--acd));color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:13px 22px;border-radius:var(--r);box-shadow:none}
.fb-go svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fb-go:hover{filter:brightness(1.07)}
.fb-ghost{display:inline-flex;align-items:center;gap:8px;background:var(--card);color:var(--acd);text-decoration:none;font-weight:600;font-size:15px;padding:13px 22px;border-radius:var(--r);box-shadow:none;border:0}
.fb-ghost:hover{background:var(--tint)}
/* ledger panel to the right of the hero */
.fb-mast-ledger{background:var(--card);border:0;border-radius:var(--r);padding:8px 20px;box-shadow:none}
.fb-lrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px dashed var(--rule)}
.fb-lrow:last-child{border-bottom:none}
.fb-lk{font-weight:600;color:var(--ink);font-size:14.5px}
.fb-lv{font-family:var(--mono);font-size:12.5px;color:var(--ac);text-align:right;letter-spacing:.01em}
.fb-lrow-tot{border-top:2px solid var(--acd);margin-top:2px}
.fb-lrow-tot .fb-lk{font-family:'Fraunces',serif}
.fb-lrow-tot .fb-lv{color:var(--acd);font-weight:600}

/* ---------- toolkit launcher ---------- */
.fb-kit{padding:46px 0 40px;border-bottom:1px solid var(--rule)}
.fb-kit-head h2,.fb-index-head h2,.fb-feat-head h2{font-size:26px;color:var(--ink)}
.fb-kit-head p,.fb-feat-head p{font-size:15px;color:var(--mut);margin-top:6px;max-width:620px}
.fb-kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.fb-tile{display:flex;flex-direction:column;align-items:flex-start;background:var(--card);border:0;border-radius:var(--r);padding:22px 20px 18px;text-decoration:none;color:var(--ink);box-shadow:none;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}
.fb-tile::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--ac),var(--gold))}
.fb-tile:hover{transform:translateY(-3px);box-shadow:none}
.fb-tile-ic{width:46px;height:46px;border-radius:var(--r);background:linear-gradient(140deg,var(--acl),var(--tint2));display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.fb-tile-ic svg{width:24px;height:24px;fill:none;stroke:var(--acd);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fb-tile b{font-family:'Fraunces',serif;font-size:19px;margin-bottom:6px;line-height:1.2}
.fb-tile span{font-size:13.5px;color:var(--mut);line-height:1.5;flex:1}
.fb-tile-go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-style:normal;font-weight:600;font-size:13.5px;color:var(--acd);font-family:var(--mono);letter-spacing:.01em}
.fb-tile-go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- topic index ledger ---------- */
.fb-index{padding:44px 0 40px;border-bottom:1px solid var(--rule)}
.fb-index-head,.fb-feat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.fb-seeall{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--acd);text-decoration:none;letter-spacing:.02em}
.fb-seeall:hover{text-decoration:underline}
.fb-ledger{margin-top:20px;background:var(--card);border:0;border-radius:var(--r);box-shadow:none;overflow:hidden}
.fb-lentry{display:flex;align-items:center;gap:18px;padding:16px 20px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule);transition:background .14s}
.fb-lentry:last-child{border-bottom:none}
.fb-lentry:hover{background:var(--tint)}
.fb-ln{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--gold);flex:none;width:26px}
.fb-lt{flex:1;min-width:0}
.fb-lt b{display:block;font-size:16px;font-weight:600}
.fb-lt i{font-style:normal;font-size:13px;color:var(--mut)}
.fb-larr{width:18px;height:18px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .14s,stroke .14s}
.fb-lentry:hover .fb-larr{stroke:var(--acd);transform:translateX(3px)}

/* ---------- featured guides cards ---------- */
.fb-feat{padding:44px 0 56px}
.fb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.fb-card{display:flex;flex-direction:column;background:var(--card);border:0;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:none;transition:transform .15s,box-shadow .15s}
.fb-card:hover{transform:translateY(-3px);box-shadow:none}
.fb-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--tint)}
.fb-card-body{padding:14px 15px 16px}
.fb-card-body b{display:block;font-family:'Fraunces',serif;font-size:16px;margin-bottom:5px;line-height:1.26}
.fb-card-body span{font-size:13px;color:var(--mut)}

/* ---------- shared sub-page hero (guides hub, glossary, about, legal) ---------- */
.fb-ph{max-width:1160px;margin:0 auto;padding:46px 24px 10px}
.fb-phcard{background:var(--card);border:0;border-left:4px solid var(--acd);border-radius:var(--r);padding:34px 34px 30px;box-shadow:none}
.fb-ey{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ac);font-weight:600;margin-bottom:12px}
.fb-ph h1{font-size:38px;line-height:1.08;color:var(--ink)}
.fb-ph .fb-lede{font-size:17px;color:var(--mut);margin:14px 0 0;max-width:640px}

/* ---------- guides hub listing (build-guides output) ---------- */
.fb-wrap{max-width:1160px;margin:0 auto;padding:30px 24px 10px}
.fb-wrap h2{font-size:24px;margin-bottom:18px;color:var(--ink)}
.fb-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fb-li{display:flex;flex-direction:column;background:var(--card);border:0;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:none;transition:transform .15s,box-shadow .15s}
.fb-li:hover{transform:translateY(-3px);box-shadow:none}
.fb-li .fb-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--tint)}
.fb-li b{display:block;font-family:'Fraunces',serif;font-size:15.5px;margin:13px 15px 4px;line-height:1.28}
.fb-li span{display:block;font-size:13px;color:var(--mut);margin:0 15px 15px}

/* ---------- article / guide page ---------- */
.fb-doc{max-width:1160px;margin:0 auto;padding:18px 24px 20px;display:grid;grid-template-columns:236px 1fr;gap:42px;align-items:start}
.fb-rail{position:sticky;top:20px;background:var(--card);border:0;border-radius:var(--r);padding:16px;box-shadow:none}
.fb-rail .fb-rh{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);font-weight:600;margin:2px 6px 10px}
.fb-rail a{display:block;padding:8px 10px;border-radius:var(--r);font-size:13.5px;font-weight:600;color:var(--mut);text-decoration:none;margin-bottom:2px}
.fb-rail a:hover,.fb-rail a.fb-cur{background:var(--tint);color:var(--acd)}
.article{min-width:0}
.article .fb-cat{display:inline-block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--acd);font-weight:600;border-left:3px solid var(--ac);padding:2px 0 2px 9px}
.article h1{font-size:34px;line-height:1.14;margin:12px 0 8px;color:var(--ink)}
.article .fb-dek{font-size:18px;color:var(--mut);margin-bottom:16px}
.fb-byline{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:14px 0 18px;border-bottom:1px solid var(--rule)}
.fb-byline .fb-av{width:42px;height:42px;border-radius:var(--r);background:linear-gradient(140deg,var(--ac),var(--acd));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none;font-family:'Fraunces',serif}
.fb-byline .fb-meta{font-size:13.5px;color:var(--mut)}.fb-byline .fb-meta b{color:var(--ink);font-weight:600}
.fb-byline .fb-meta .fb-cred{display:block;color:var(--faint);font-size:12.5px;margin-top:1px}
.article .fb-ahero{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r);margin:4px 0 24px;background:var(--tint);border:0;box-shadow:none}
.article h2{font-size:21px;margin:28px 0 8px;color:var(--ink)}.article p{margin:12px 0}
.article ul{margin:12px 0 12px 20px}.article li{margin:6px 0}
.fb-faq{margin:26px 0 6px}.fb-faq h2{margin-bottom:12px}
.fb-acc{background:var(--card);border:0;border-radius:var(--r);margin-bottom:8px;overflow:hidden;box-shadow:none}
.fb-acc summary{list-style:none;cursor:pointer;padding:15px 18px;font-weight:600;font-size:15.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:12px}
.fb-acc summary::-webkit-details-marker{display:none}
.fb-acc summary .fb-ic{flex:none;width:18px;height:18px;position:relative;transition:transform .2s}
.fb-acc summary .fb-ic::before,.fb-acc summary .fb-ic::after{content:"";position:absolute;background:var(--ac);border-radius:2px}
.fb-acc summary .fb-ic::before{top:8px;left:0;width:18px;height:2px}
.fb-acc summary .fb-ic::after{top:0;left:8px;width:2px;height:18px;transition:transform .2s}
.fb-acc[open] summary .fb-ic::after{transform:scaleY(0)}
.fb-acc .fb-ab{padding:0 18px 16px;color:var(--mut);font-size:14.5px;line-height:1.6}
.fb-acc:hover summary{color:var(--acd)}
.fb-disc,.fb-med{font-size:12.5px;color:var(--faint);margin-top:16px;padding-top:14px;border-top:1px dashed var(--rule)}
.fb-med{margin-top:10px}
.fb-back{display:inline-block;margin:26px 0 0;font-size:14px;font-weight:600;color:var(--acd);text-decoration:none;font-family:var(--mono)}
.fb-back:hover{text-decoration:underline}

/* ---------- glossary ---------- */
.fb-glosswrap{max-width:880px;margin:0 auto;padding:20px 24px 10px}
.fb-alpha{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px}
.fb-alpha a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);background:var(--card);color:var(--acd);font-family:var(--mono);font-weight:600;font-size:13px;text-decoration:none;border:0;box-shadow:none}
.fb-alpha a:hover{background:var(--tint)}
.fb-alpha .fb-aoff{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--faint);opacity:.4;font-family:var(--mono);font-weight:600;font-size:13px}
.fb-gletter{font-family:'Fraunces',serif;font-size:22px;color:var(--ac);margin:26px 0 10px;font-weight:600;border-bottom:2px solid var(--acd);display:inline-block;padding-bottom:2px}
.fb-gterm{background:var(--card);border:0;border-radius:var(--r);padding:16px 18px;margin-bottom:8px;box-shadow:none}
.fb-gterm b{display:block;font-family:'Fraunces',serif;font-size:16px;margin-bottom:4px;color:var(--ink)}.fb-gterm p{font-size:14.5px;color:var(--mut);margin:0}

/* ---------- legal / about prose ---------- */
.fb-legal{max-width:780px;margin:0 auto;padding:10px 24px 30px}
.fb-legal h2{font-size:20px;margin:24px 0 8px}.fb-legal p{margin:10px 0;color:var(--mut)}

/* ---------- business directory (biz-* classes are produced by the shared profiles generator) ---------- */
.biz-wrap{max-width:1160px;margin:0 auto;padding:30px 24px 40px}
.biz-crumb{font-family:var(--mono);font-size:12px;color:var(--faint);margin-bottom:18px}
.biz-crumb a{color:var(--acd);text-decoration:none}
.biz-wrap>h1{font-size:34px;color:var(--ink);margin-bottom:6px}
.biz-sum{font-size:15px;color:var(--mut);margin-bottom:24px;max-width:640px}
.biz-card{display:block;background:var(--card);border:0;border-left:3px solid var(--ac);border-radius:var(--r);padding:16px 18px;margin-bottom:10px;text-decoration:none;color:var(--ink);box-shadow:none;transition:transform .15s,box-shadow .15s}
.biz-card:hover{transform:translateY(-2px);box-shadow:none}
.biz-card b,.biz-card h2,.biz-card h3{display:block;font-family:'Fraunces',serif;font-size:17px;margin-bottom:3px}
.biz-card p,.biz-card span{font-size:13.5px;color:var(--mut)}

/* ---------- footer ---------- */
.fb-foot{background:#0b2419;color:#cfe6da;margin-top:12px;border-top:3px solid var(--acd)}
.fb-foot-in{max-width:1160px;margin:0 auto;padding:44px 24px 30px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.fb-foot-brand .fb-foot-logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:18px;color:#fff;text-decoration:none}
.fb-foot-brand .fb-foot-logo img{width:26px;height:26px}
.fb-foot-brand p{margin-top:12px;font-size:13.5px;color:#9bbaa9;max-width:320px}
.fb-foot-contact{margin-top:14px;font-size:13.5px;color:#cfe6da}
.fb-foot-contact a{color:#7fd6a9;text-decoration:none}
.fb-foot-col h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7a9a8a;margin-bottom:12px;font-weight:600}
.fb-foot-col a{display:block;color:#cfe6da;text-decoration:none;font-size:14px;margin-bottom:9px}
.fb-foot-col a:hover{color:#fff}
.fb-foot-base{max-width:1160px;margin:0 auto;padding:16px 24px 34px;font-size:12.5px;color:#7a9a8a;border-top:1px solid rgba(255,255,255,.08)}
.fb-foot-note{margin-top:6px}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .fb-masthead{grid-template-columns:1fr;gap:28px;padding:40px 0 36px}
  .fb-mast-copy h1{font-size:40px}
  .fb-kit-grid,.fb-cards,.fb-list{grid-template-columns:1fr 1fr}
  .fb-doc{grid-template-columns:1fr;gap:18px}
  .fb-rail{position:static;display:flex;flex-wrap:wrap;gap:6px}
  .fb-rail .fb-rh{width:100%}.fb-rail a{margin:0}
  .fb-foot-in{grid-template-columns:1fr;gap:26px}
}
@media(max-width:720px){
  .fb-burger{display:flex}
  .fb-bar{flex-wrap:wrap;padding:14px 18px}
  .fb-menu{display:none;flex-direction:column;align-items:stretch;width:100%;gap:4px;margin-top:12px}
  .fb-bar.fb-open .fb-menu{display:flex}
  .fb-menu a{width:100%;padding:13px 14px;font-size:15.5px;min-height:46px}
  .fb-mast-copy h1{font-size:33px}
  .fb-phcard{padding:26px 22px}.fb-ph h1{font-size:30px}
}
@media(max-width:560px){
  .fb-kit-grid,.fb-cards,.fb-list{grid-template-columns:1fr}
  .fb-mast-copy h1{font-size:29px}
  .fb-index-head,.fb-feat-head{flex-direction:column;align-items:flex-start;gap:8px}
}

/* owner design enforcement: flat, no shadows */
*{box-shadow:none!important;-webkit-box-shadow:none!important}
