/* ══════════════════════════════════════════════════════════════════════════
   THE FOSSIL FUEL FRONT GROUP FIELD GUIDE
   A naturalist's field-guide treatment: aged paper, ink & brick two-color
   plates, plate numbers, "field marks," and an identification key.
   Self-contained, CSP-clean.
   ══════════════════════════════════════════════════════════════════════════ */
.ffg{
	--paper:#f4eede; --paper2:#ece2cd; --card:#fbf8ef; --card2:#f6f0e0;
	--ink:#2b2119; --ink2:#5f5344; --muted:#8c7f6a;
	--rule:#dccfb4; --rule-dk:#b7a684; --red:#a02c1f; --gold:#8a6a34;
	background:var(--paper);color:var(--ink);
	font-family:Georgia,'Times New Roman',serif;
	background-image:radial-gradient(120% 90% at 50% -10%,rgba(255,255,255,.5),transparent 60%);
}
.ffg *{box-sizing:border-box;}
.ffg__wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.ffg ::selection{background:#e7d9bb;}

/* ornamental divider */
.ffg-orn{display:flex;align-items:center;gap:16px;margin:8px 0;}
.ffg-orn::before,.ffg-orn::after{content:'';height:1px;background:var(--rule-dk);flex:1;}
.ffg-orn i{font-style:normal;color:var(--red);font-size:13px;letter-spacing:4px;}
.ffg-label{font-family:'Open Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;font-weight:800;font-size:11px;color:var(--muted);}

/* ── COVER / hero ── */
.ffg-hero{padding:64px 24px 44px;text-align:center;}
.ffg-cover{max-width:760px;margin:0 auto;border:2px solid var(--ink);padding:6px;}
.ffg-cover__inner{border:1px solid var(--rule-dk);padding:48px 40px 40px;position:relative;background:linear-gradient(#fbf8ef,#f4ecda);}
.ffg-cover__series{font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin:0 0 4px;}
.ffg-cover__no{font-family:'Open Sans',Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 26px;}
.ffg-cover__title{font-size:clamp(32px,5.4vw,58px);line-height:1.05;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.01em;}
.ffg-cover__rule{width:64px;height:2px;background:var(--red);margin:22px auto;}
.ffg-cover__sub{font-size:clamp(16px,2.3vw,21px);font-style:italic;color:var(--ink2);margin:0 auto;max-width:44ch;line-height:1.5;}
.ffg-cover__subject{font-family:'Open Sans',Arial,sans-serif;font-size:12.5px;letter-spacing:.4px;color:var(--muted);margin:26px 0 0;}
.ffg-cover__subject b{color:var(--ink);font-weight:700;}
.ffg-draft{display:inline-block;margin-top:22px;font-family:'Open Sans',Arial,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1.5px;
	text-transform:uppercase;color:#7a3a00;background:#f3e6cc;border:1px solid #cdae74;border-radius:2px;padding:6px 13px;}

/* ── how to use / the case ── */
.ffg-case{padding:50px 0;}
.ffg-case__h{font-family:'Open Sans',Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 6px;}
.ffg-case__lede{font-size:18px;line-height:1.72;color:var(--ink2);max-width:70ch;margin:6px 0 24px;}
.ffg-case__lede b{color:var(--ink);}
.ffg-case__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule-dk);background:var(--card);}
.ffg-side{padding:22px 24px;}
.ffg-side+.ffg-side{border-left:1px solid var(--rule);}
.ffg-side h3{font-family:'Open Sans',Arial,sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;margin:0 0 9px;font-weight:800;}
.ffg-side.boulder h3{color:#1f6fb2;} .ffg-side.suncor h3{color:var(--red);}
.ffg-side p{font-size:15.5px;line-height:1.62;color:var(--ink2);margin:0;}
@media(max-width:680px){.ffg-case__grid{grid-template-columns:1fr;}.ffg-side+.ffg-side{border-left:0;border-top:1px solid var(--rule);}}

/* ── the money-flow diagram (Sankey) ── */
.ffg-sankey-sec{padding:26px 0 8px;}
.ffg-sankey-scroll{overflow-x:auto;border:1px solid var(--rule-dk);background:var(--card);
	box-shadow:0 1px 0 #fff inset,0 12px 30px rgba(43,33,25,.09);padding:22px 18px;}
#ffg-sankey{width:100%;min-width:760px;height:auto;display:block;}
.ffg-sk-slab,.ffg-sk-glab,.ffg-sk-ct{dominant-baseline:middle;font-family:'Open Sans',Arial,sans-serif;}
.ffg-sk-slab{font-size:12px;font-weight:800;fill:var(--ink);text-transform:uppercase;letter-spacing:.3px;cursor:pointer;}
.ffg-sk-ct{font-size:12px;font-weight:800;}
.ffg-sk-glab{font-size:12.5px;fill:var(--ink);font-family:Georgia,serif;cursor:pointer;}
.ffg-sk-glab.z{fill:var(--muted);font-style:italic;}
.ffg-sk-gnode{fill:#6b5d49;cursor:pointer;}
.ffg-sk-gnode.z{fill:var(--rule-dk);}
.ffg-sk-snode{cursor:pointer;}
.ffg-sk-rib{fill-opacity:.36;transition:fill-opacity .15s;}
.ffg-sk-rib.mute{fill-opacity:.06;}
.ffg-sk-rib.hot{fill-opacity:.66;}
.ffg-sk-slab.hot,.ffg-sk-glab.hot{fill:var(--red);}
.ffg-sankey__cap{text-align:center;font-family:'Open Sans',Arial,sans-serif;font-size:13px;color:var(--ink2);margin:14px auto 0;max-width:72ch;line-height:1.5;}
.ffg-sankey__cap b{color:var(--ink);}

/* ── PLATE — the identification key (matrix) ── */
.ffg-matrix-sec{padding:26px 0 8px;}
.ffg-plateno{font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 6px;}
.ffg-matrix-sec__h{font-size:clamp(24px,3.6vw,36px);color:var(--ink);margin:0 0 8px;font-weight:700;}
.ffg-matrix-sec__b{font-size:16px;color:var(--ink2);max-width:74ch;line-height:1.62;margin:0 0 22px;}
.ffg-matrix-scroll{overflow-x:auto;border:1px solid var(--rule-dk);background:var(--card);
	box-shadow:0 1px 0 #fff inset, 0 12px 30px rgba(43,33,25,.09);}
table.ffg-matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:720px;font-size:13px;}

.ffg-matrix thead th{position:sticky;top:0;background:var(--card2);z-index:2;padding:12px 8px 14px;vertical-align:bottom;text-align:center;
	box-shadow:inset 0 -1.5px 0 var(--ink);}
.ffg-matrix__colh{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:10px 8px;border-radius:2px;
	min-width:98px;transition:background .15s;}
.ffg-matrix__colh:hover{background:#efe6d2;}
.ffg-matrix__colhdot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px var(--card2),0 1px 2px rgba(0,0,0,.25);}
.ffg-matrix__colhlab{font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
	color:var(--ink2);line-height:1.28;max-width:94px;min-height:2.56em;display:flex;align-items:center;text-align:center;}
.ffg-matrix thead th.on{background:var(--ink);}
.ffg-matrix thead th.on .ffg-matrix__colh{background:transparent;}
.ffg-matrix thead th.on .ffg-matrix__colhlab{color:#f4eede;}
.ffg-matrix thead th.on .ffg-matrix__colhdot{box-shadow:0 0 0 2px rgba(255,255,255,.85);}

.ffg-matrix th,.ffg-matrix td{border-bottom:1px solid var(--rule);}
.ffg-matrix__namecol{position:sticky;left:0;background:var(--card);z-index:1;text-align:left;padding:13px 20px;min-width:256px;
	font-family:Georgia,serif;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;transition:color .12s;}
.ffg-matrix__namecol:hover{color:var(--red);}
.ffg-matrix__namecol small{display:block;font-family:'Open Sans',Arial,sans-serif;font-weight:600;color:var(--muted);font-size:11px;margin-top:2px;letter-spacing:.2px;}
.ffg-matrix thead th.ffg-matrix__corner{position:sticky;left:0;background:var(--card2);z-index:3;text-align:left;padding:0 20px 14px;
	font-family:'Open Sans',Arial,sans-serif;font-weight:800;color:var(--muted);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;
	min-width:256px;vertical-align:bottom;box-shadow:inset 0 -1.5px 0 var(--ink);}
.ffg-matrix tbody tr[data-id]:hover{background:#f4ecda;}
.ffg-matrix tbody tr[data-id]:hover .ffg-matrix__namecol{background:#f4ecda;}
.ffg-matrix__cell{text-align:center;padding:11px 6px;}
.ffg-matrix__dot{width:16px;height:16px;border-radius:50%;display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .12s;}
.ffg-matrix tbody tr[data-id]:hover .ffg-matrix__dot{transform:scale(1.16);}
.ffg-matrix__cell.empty::after{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--rule-dk);vertical-align:middle;opacity:.7;}
.ffg-matrix tbody tr.dim{opacity:.34;}
.ffg-matrix__secrow td{background:var(--paper2);font-family:'Open Sans',Arial,sans-serif;font-weight:800;color:var(--ink);font-size:10.5px;
	letter-spacing:1.4px;padding:9px 20px;text-transform:uppercase;position:sticky;left:0;border-top:1px solid var(--rule-dk);}
.ffg-matrix__reach td{border-top:1.5px solid var(--ink);border-bottom:0;padding:14px 6px 16px;background:var(--card2);}
.ffg-matrix__reach .ffg-matrix__namecol{background:var(--card2);font-family:'Open Sans',Arial,sans-serif;font-weight:800;color:var(--muted);
	text-transform:uppercase;font-size:10.5px;letter-spacing:1px;cursor:default;}
.ffg-matrix__reach .ffg-matrix__namecol:hover{color:var(--muted);}
.ffg-matrix__reachn{font-family:Georgia,serif;font-weight:700;font-size:22px;letter-spacing:-.02em;}
.ffg-matrix__hint{font-family:'Open Sans',Arial,sans-serif;font-size:12px;color:var(--muted);margin:12px 2px 0;text-align:center;letter-spacing:.2px;}

/* ── the 85 Fund spine ── */
.ffg-spine{margin:36px 0 8px;background:var(--card);border:1px solid var(--rule-dk);border-left:4px solid #7b2d8e;padding:24px 28px;}
.ffg-spine__tag{font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#7b2d8e;}
.ffg-spine h2{font-size:clamp(23px,3.4vw,32px);color:var(--ink);margin:8px 0 4px;font-weight:700;}
.ffg-spine__aka{font-family:'Open Sans',Arial,sans-serif;color:#7b2d8e;font-size:13px;margin:0 0 12px;letter-spacing:.2px;}
.ffg-spine p{color:var(--ink2);font-size:16px;line-height:1.64;margin:0 0 16px;max-width:80ch;}
.ffg-spine__links{display:flex;flex-wrap:wrap;gap:8px;}
.ffg-spine__link{font-family:'Open Sans',Arial,sans-serif;font-size:12.5px;font-weight:700;color:#5b2270;background:var(--paper);
	border:1px solid #cbb0d8;border-radius:2px;padding:7px 13px;cursor:pointer;transition:all .15s;}
.ffg-spine__link:hover{background:#7b2d8e;color:#fff;border-color:#7b2d8e;}

/* ── contents / controls bar ── */
.ffg-controls{position:sticky;top:0;z-index:20;padding:13px 0;margin-top:40px;background:rgba(244,238,222,.94);
	backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid var(--rule-dk);border-bottom:1px solid var(--rule-dk);}
.ffg-controls__row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
#ffg-search{flex:1;min-width:220px;max-width:400px;padding:10px 15px;border-radius:2px;border:1px solid var(--rule-dk);background:#fffdf7;
	color:var(--ink);font-family:'Open Sans',Arial,sans-serif;font-size:14px;outline:none;}
#ffg-search::placeholder{color:var(--muted);}
#ffg-search:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(160,44,31,.12);}
.ffg-viewtoggle{display:flex;border:1px solid var(--rule-dk);border-radius:2px;overflow:hidden;background:#fffdf7;}
.ffg-viewtoggle button{padding:9px 15px;border:0;background:none;color:var(--ink2);font-family:'Open Sans',Arial,sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;letter-spacing:.3px;}
.ffg-viewtoggle button.on{background:var(--ink);color:var(--paper);}
.ffg-count{margin-left:auto;font-family:'Open Sans',Arial,sans-serif;font-size:12.5px;color:var(--muted);letter-spacing:.3px;}
.ffg-activefilter{font-family:'Open Sans',Arial,sans-serif;font-size:12.5px;color:var(--ink2);margin-top:9px;}
.ffg-activefilter b{color:var(--ink);}
.ffg-activefilter a{color:var(--red);text-decoration:none;font-weight:700;margin-left:8px;}

/* cross-reference chips (compact filter, replaces the matrix columns) */
.ffg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;align-items:center;}
.ffg-chips__l{font-family:'Open Sans',Arial,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-right:3px;}
.ffg-chip{display:inline-flex;align-items:center;gap:6px;font-family:'Open Sans',Arial,sans-serif;font-size:12px;font-weight:700;color:var(--ink2);
	background:#fffdf7;border:1px solid var(--rule-dk);border-radius:2px;padding:5px 11px;cursor:pointer;user-select:none;transition:all .12s;letter-spacing:.2px;}
.ffg-chip .d{width:9px;height:9px;border-radius:50%;}
.ffg-chip:hover{border-color:var(--ink2);}
.ffg-chip.on{color:#fff;font-weight:800;}

/* ── the specimens (guide) ── */
.ffg-guide{padding:20px 0 100px;}
.ffg-section{margin:38px 0 4px;}
.ffg-section__h{font-size:clamp(21px,3vw,29px);color:var(--ink);margin:0;font-weight:700;display:flex;align-items:baseline;gap:12px;}
.ffg-section__h .n{font-family:'Open Sans',Arial,sans-serif;font-size:13px;font-weight:800;color:var(--red);letter-spacing:1px;}
.ffg-section__b{color:var(--muted);font-size:14.5px;margin:6px 0 18px;max-width:74ch;line-height:1.55;font-style:italic;}

/* specimen plate (card) */
.ffg-card{position:relative;background:var(--card);border:1px solid var(--rule-dk);border-radius:2px;margin:0 0 16px;
	box-shadow:0 6px 18px rgba(43,33,25,.06);transition:box-shadow .15s;}
.ffg-card:hover{box-shadow:0 10px 26px rgba(43,33,25,.11);}
.ffg-card__head{display:flex;gap:16px;align-items:flex-start;padding:16px 20px 14px;cursor:pointer;}
.ffg-plate{flex:none;font-family:'Open Sans',Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--red);
	border:1px solid var(--rule-dk);border-radius:2px;padding:5px 8px;margin-top:3px;white-space:nowrap;background:var(--paper);}
.ffg-card__txt{flex:1;min-width:0;}
.ffg-card__name{font-size:21px;color:var(--ink);margin:0;line-height:1.16;font-weight:700;}
.ffg-card__aka{font-family:'Open Sans',Arial,sans-serif;font-size:12px;color:var(--muted);margin-top:3px;letter-spacing:.2px;}
.ffg-card__one{font-size:15.5px;font-style:italic;color:var(--ink2);margin:9px 0 0;line-height:1.5;}
.ffg-card__status{flex:none;font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:4px 9px;border-radius:2px;margin-top:3px;}
.ffg-st-draft{color:#7a3a00;background:#f3e6cc;border:1px solid #cdae74;}
.ffg-st-research{color:#5a5142;background:#ece3d0;border:1px solid var(--rule-dk);}
.ffg-st-sourced{color:#2f6b3c;background:#e6f0e2;border:1px solid #a9cfa9;}
.ffg-card__caret{flex:none;color:var(--muted);font-family:'Open Sans',sans-serif;font-size:12px;margin-top:5px;transition:transform .2s;}
.ffg-card.open .ffg-card__caret{transform:rotate(90deg);}

/* field marks strip — how to identify this specimen */
.ffg-marks{display:flex;flex-wrap:wrap;gap:7px 16px;align-items:center;padding:0 20px 16px 20px;}
.ffg-marks__l{font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
.ffg-mark{display:inline-flex;align-items:center;gap:6px;font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:700;
	color:var(--ink2);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;}
.ffg-mark:hover{color:var(--ink);}
.ffg-mark .d{width:10px;height:10px;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.ffg-mark--none{font-style:italic;text-transform:none;letter-spacing:0;color:var(--muted);font-family:Georgia,serif;}

/* expanded specimen */
.ffg-card__body{display:none;border-top:1px solid var(--rule);padding:20px 20px 24px;}
.ffg-card.open .ffg-card__body{display:block;}

/* at-a-glance facts strip */
.ffg-facts{display:flex;flex-wrap:wrap;gap:14px 30px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px dotted var(--rule-dk);}
.ffg-facts span{font-family:'Open Sans',Arial,sans-serif;font-size:13.5px;color:var(--ink);}
.ffg-facts b{display:block;font-size:9.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}

/* documented-funding callout */
.ffg-funding{background:#fbf1de;border:1px solid #e6cf9f;border-radius:2px;padding:13px 16px;margin:12px 0 6px;}
.ffg-funding__l{display:block;font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#9a5b00;margin-bottom:7px;}
.ffg-funding ul{margin:0;padding-left:17px;}
.ffg-funding li{font-size:14.5px;line-height:1.55;color:var(--ink);margin:4px 0;}

/* inline citations + sources */
.ffg-cite{font-family:'Open Sans',Arial,sans-serif;font-size:9px;font-weight:800;color:var(--red);vertical-align:super;line-height:0;margin-left:1px;}
.ffg-sources{margin-top:22px;padding-top:13px;border-top:1px solid var(--rule);}
.ffg-sources h4{font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 7px;}
.ffg-sources ol{margin:0;padding-left:19px;}
.ffg-sources li{font-family:'Open Sans',Arial,sans-serif;font-size:12px;line-height:1.5;color:var(--ink2);margin:4px 0;}
.ffg-sources a{color:var(--red);text-decoration:none;}
.ffg-sources a:hover{text-decoration:underline;}
.ffg-specimen{display:grid;grid-template-columns:1fr 216px;gap:30px;}
.ffg-dossier h4{font-family:'Open Sans',Arial,sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
	color:var(--red);margin:22px 0 9px;display:flex;align-items:center;gap:10px;}
.ffg-dossier h4:first-child{margin-top:0;}
.ffg-dossier h4 .num{font-family:Georgia,serif;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1px solid var(--red);
	color:var(--red);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;}
.ffg-dossier p{font-size:15.5px;line-height:1.7;color:var(--ink2);margin:0;}
.ffg-arg{border-left:3px solid var(--red);padding:2px 0 2px 15px;margin:13px 0;}
.ffg-arg__c{font-size:15px;color:var(--ink);font-style:italic;line-height:1.5;margin:0 0 6px;}
.ffg-arg__c::before{content:'Phony claim ';font-family:'Open Sans',sans-serif;font-style:normal;font-weight:800;color:var(--red);font-size:10px;letter-spacing:.5px;text-transform:uppercase;margin-right:5px;}
.ffg-arg__r{font-size:15px;color:var(--ink2);line-height:1.6;margin:0;}
.ffg-arg__r::before{content:'Reality ';font-family:'Open Sans',sans-serif;font-weight:800;color:#0f766e;font-size:10px;letter-spacing:.5px;text-transform:uppercase;margin-right:5px;}
.ffg-todo{color:var(--muted);font-style:italic;}

/* classification aside */
.ffg-class{border:1px solid var(--rule);background:var(--card2);border-radius:2px;padding:16px 18px;height:max-content;}
.ffg-class__h{font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);
	margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--rule);}
.ffg-class dl{margin:0;}
.ffg-class dt{font-family:'Open Sans',Arial,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:12px 0 3px;}
.ffg-class dt:first-child{margin-top:0;}
.ffg-class dd{margin:0;font-size:13.5px;color:var(--ink);line-height:1.4;}
.ffg-class__fund{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;}
.ffg-class__fund span{display:inline-flex;align-items:center;gap:5px;font-family:'Open Sans',sans-serif;font-size:11px;color:var(--ink2);}
.ffg-class__fund .d{width:8px;height:8px;border-radius:50%;}
@media(max-width:720px){.ffg-specimen{grid-template-columns:1fr;gap:20px;}.ffg-class{order:-1;}}

.ffg-empty{text-align:center;color:var(--muted);padding:60px 20px;font-size:16px;font-style:italic;}

/* footer flush (theme footer carries an inline 60px margin) */
body.page-template-page-frontgroup-guide .cwd-site-footer{margin-top:0 !important;}

@media(max-width:680px){.ffg-controls{position:static;}.ffg-card__head{flex-wrap:wrap;}}
