/* ============================================================
   Tornado Diet — Field Guide entry (article) styling
   Ported from tornado-diet-website.html mockup (fge- prefix)
   Loads only on pages flagged with _tornado_fge = 1
   ============================================================ */

body.fge-entry{
  --canvas:#f7faf5;
  --sage:#003629;
  --sage-soft:#0a4a39;
  --pistachio:#bfedd1;
  --pistachio-tint:#d8f3e1;
  --pistachio-bg:#eaf7ee;
  --accent:#c2571b;
  --accent-deep:#a84812;
  --ink:#191c1a;
  --muted:#47534d;
  --line:rgba(0,54,41,.14);
  --line-strong:rgba(0,54,41,.22);
  --serif:"Libre Caslon Text",Georgia,serif;
  --sans:"DM Sans",system-ui,-apple-system,sans-serif;
  --maxw:1280px;
  --pad:64px;
  background:var(--canvas);
}

/* neutralize Astra container chrome on these pages */
body.fge-entry .site-content .ast-container,
body.fge-entry .entry-content{max-width:none;padding-left:0;padding-right:0}
body.fge-entry #primary,
body.fge-entry .site-main,
body.fge-entry article{padding:0;margin:0;background:transparent}
body.fge-entry .entry-content{
  font-family:var(--sans);color:var(--ink);font-size:22.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body.fge-entry .entry-content>*{margin-top:0;margin-bottom:0}
body.fge-entry .entry-content h1,
body.fge-entry .entry-content h2,
body.fge-entry .entry-content h3{
  font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1.08;color:var(--ink);margin:0;
}
body.fge-entry .entry-content a{color:inherit;text-decoration:none}

.fge-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}

/* Astra's `.entry-content[data-ast-blocks-layout] > *` and `> * > *`
   rules force max-width:none on our columns — reassert with priority */
body.fge-entry .entry-content .fge-wrap{max-width:var(--maxw) !important;margin-left:auto !important;margin-right:auto !important}
body.fge-entry .entry-content .fge-body{max-width:700px !important;margin-left:auto !important;margin-right:auto !important}
body.fge-entry .entry-content .fge-head h1{max-width:22ch !important;margin-left:auto !important;margin-right:auto !important}
body.fge-entry .entry-content .fge-dek{max-width:46ch !important;margin-left:auto !important;margin-right:auto !important}

/* running head */
.fge-runhead{border-bottom:1px solid var(--line)}
.fge-runhead .fge-wrap{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px;font-size:14.4px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--sage)}
.fge-runhead .fge-back{color:var(--accent-deep);transition:color .2s}
.fge-runhead .fge-back:hover{color:var(--sage)}

/* entry head */
.fge-head{padding:84px 0 64px;text-align:center}
.fge-chapline{font-family:var(--serif);font-style:italic;font-size:21.2px;color:var(--accent-deep);margin-bottom:22px}
.fge-head h1{font-size:clamp(45px,5.8vw,75px);max-width:22ch;margin:0 auto 24px}
.fge-dek{font-family:var(--serif);font-style:italic;font-size:clamp(22.5px,2.1vw,27.5px);color:var(--muted);max-width:46ch;margin:0 auto 30px;line-height:1.6}
.fge-meta{display:flex;justify-content:center;align-items:center;gap:16px;font-size:15.6px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--sage)}
.fge-meta .fgd{color:var(--line-strong)}

.fge-asterism{text-align:center;font-family:var(--serif);font-size:27.5px;color:var(--accent);letter-spacing:.5em;margin:52px 0;user-select:none}

/* body column */
.fge-body{max-width:700px;margin:0 auto;padding:0 var(--pad) 40px}
.fge-body>p{margin:0 0 26px;font-size:22.5px;line-height:1.75}
.fge-body>p:first-of-type::first-letter{font-family:var(--serif);font-size:92.5px;line-height:.78;float:left;padding:8px 12px 0 0;color:var(--sage)}
.fge-body h2{font-size:33.8px;margin:54px 0 20px}
.fge-body h2 .fge-secno{font-style:italic;color:var(--accent);margin-right:14px}
.fge-note{border-left:2px solid var(--accent);padding:4px 0 4px 24px;margin:34px 0;font-family:var(--serif);font-style:italic;font-size:21.2px;color:var(--muted);line-height:1.7}
p.fge-note{font-size:21.2px}

/* data table */
.fge-table{width:100%;border-collapse:collapse;margin:36px 0;font-size:20px;border:0;background:transparent}
.fge-table caption{font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-deep);text-align:left;padding-bottom:12px;caption-side:top}
.fge-table th{font-family:var(--sans);font-size:15.6px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--sage);text-align:left;padding:10px 16px 10px 0;border:0;border-bottom:1px solid var(--line-strong);background:transparent}
.fge-table td{padding:13px 16px 13px 0;border:0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted);background:transparent}
.fge-table td:first-child{font-family:var(--serif);color:var(--ink);font-size:21.2px}
.fge-table tr:nth-child(even) td{background:transparent}

/* clip & keep box */
.fge-clip{border:2px dashed var(--line-strong);border-radius:2px;background:#fff;padding:34px 38px 30px;margin:44px 0;position:relative}
.fge-clip::before{content:"✂";position:absolute;top:-14px;left:34px;background:var(--canvas);padding:0 10px;font-size:22.5px;color:var(--accent-deep);transform:rotate(-90deg)}
.fge-clip h3{font-family:var(--sans);font-size:15.6px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--accent-deep);margin:0 0 18px}
.fge-clip ul{list-style:none;margin:0;padding:0}
.fge-clip li{position:relative;padding-left:26px;margin-bottom:12px;font-size:20.6px;color:var(--ink);line-height:1.6}
.fge-clip li::before{content:"—";position:absolute;left:0;color:var(--accent)}

/* fineprint + footer nav */
.fge-fineprint{font-family:var(--serif);font-style:italic;font-size:18.8px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:26px;margin:56px 0 0}
.fge-foot{border-top:1px solid var(--line);margin-top:72px}
.fge-foot .fge-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:34px;padding-bottom:96px;flex-wrap:wrap}
.fge-foot a{display:flex;flex-direction:column;gap:6px;max-width:44%}
.fge-foot .fge-dir{font-size:14.4px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent-deep)}
.fge-foot .fge-ft{font-family:var(--serif);font-size:23.8px;color:var(--ink);transition:color .2s}
.fge-foot a:hover .fge-ft{color:var(--accent-deep)}
.fge-foot .fge-next{text-align:right;margin-left:auto}

/* ============================================================
   Field Guide INDEX (Resources page) — fg- prefix
   ============================================================ */

/* front matter (book title page) */
.fg-frontmatter{padding:110px 0 84px;text-align:center;border-bottom:1px solid var(--line)}
.fg-ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 34px;max-width:340px;color:var(--accent-deep)}
.fg-ornament::before,.fg-ornament::after{content:"";flex:1;border-top:1px solid var(--line-strong)}
.fg-ornament svg{flex-shrink:0}
.fg-house{font-size:16.2px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--sage);margin-bottom:26px}
.fg-frontmatter h1{font-size:clamp(57.5px,7.5vw,105px);line-height:1.02;margin-bottom:26px}
.fg-frontmatter h1 em{font-style:italic}
.fg-being{font-family:var(--serif);font-style:italic;font-size:clamp(21.2px,1.9vw,25px);color:var(--muted);max-width:52ch;margin:0 auto 30px;line-height:1.7}
body.fge-entry .entry-content .fg-being{max-width:52ch !important;margin-left:auto !important;margin-right:auto !important}
.fg-edition{display:flex;align-items:center;justify-content:center;gap:16px;font-size:15.6px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-deep)}
.fg-edition span.fgd{color:var(--line-strong);font-weight:400}
.fg-rule2{max-width:340px;margin:40px auto 0;border-top:1px solid var(--line-strong);position:relative}
body.fge-entry .entry-content .fg-rule2{max-width:340px !important;margin-left:auto !important;margin-right:auto !important}
.fg-rule2::after{content:"";display:block;border-top:1px solid var(--line-strong);margin-top:3px}

/* featured entry (book plate) */
.fg-plate-wrap{padding:88px 0 0}
.fg-plate{position:relative;border:1px solid var(--sage);outline:1px solid var(--sage);outline-offset:5px;background:#fff;padding:64px 72px;display:grid;grid-template-columns:auto 1fr;gap:64px;align-items:center;margin:0 6px}
.fg-plate-no{font-family:var(--serif);font-size:clamp(112.5px,12.5vw,187.5px);line-height:.9;color:var(--accent);font-style:italic}
.fg-plate-no small{display:block;font-family:var(--sans);font-style:normal;font-size:15px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--sage);margin-bottom:14px}
.fg-plate-body .fg-plate-eyebrow{display:block;font-size:15.6px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent-deep);margin-bottom:18px}
.fg-plate-body h2{font-size:clamp(37.5px,4.5vw,57.5px);max-width:20ch;margin:0 0 16px}
.fg-plate-body p{color:var(--muted);max-width:56ch;font-size:21.9px;margin:0 0 24px}
.fg-plate-meta{font-family:var(--serif);font-style:italic;font-size:19.4px;color:var(--muted);margin-bottom:26px}
.fg-begin{display:inline-flex;align-items:baseline;gap:10px;font-weight:700;font-size:17.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--sage);border-bottom:2px solid var(--accent);padding-bottom:4px;transition:color .2s,border-color .2s}
.fg-begin:hover{color:var(--accent-deep);border-color:var(--sage)}

/* the index proper */
.fg-index{padding:96px 0 8px}
.fg-chapter{display:grid;grid-template-columns:300px 1fr;gap:72px;padding:56px 0;border-top:1px solid var(--line)}
.fg-chapter:first-child{border-top:0;padding-top:0}
.fg-chapmark{position:sticky;top:120px;align-self:start}
.fg-chapmark .fg-roman{font-family:var(--serif);font-style:italic;font-size:80px;line-height:1;color:var(--accent);display:block;margin-bottom:10px}
.fg-chapmark h3{font-size:32.5px;margin:0 0 12px;max-width:14ch}
.fg-chapmark .fg-marginalia{font-family:var(--serif);font-style:italic;font-size:19.4px;color:var(--muted);max-width:24ch;line-height:1.6;margin:0}
.fg-entries{border-top:1px solid var(--line-strong)}
.fg-row{display:flex;align-items:baseline;gap:18px;padding:24px 2px;border-bottom:1px solid var(--line);transition:background .15s}
a.fg-row:hover{background:var(--pistachio-bg)}
a.fg-row:hover .fg-title{color:var(--accent-deep)}
a.fg-row:hover .fg-page::after{content:" →";color:var(--accent)}
.fg-no{font-size:15px;letter-spacing:.14em;font-weight:700;color:var(--sage);flex-shrink:0;width:52px}
.fg-title{font-family:var(--serif);font-size:clamp(23.8px,2.1vw,28.8px);line-height:1.3;transition:color .15s}
.fg-leader{flex:1;min-width:40px;border-bottom:2px dotted var(--line-strong);transform:translateY(-6px)}
.fg-page{font-size:17.5px;font-weight:700;color:var(--sage);flex-shrink:0;white-space:nowrap}
.fg-row.fg-soon{opacity:.8}
.fg-row.fg-soon .fg-page{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18.8px;color:var(--muted)}

/* colophon */
.fg-colophon{padding:96px 0 110px;text-align:center}
.fg-colophon .fg-ornament{margin-bottom:30px}
.fg-colophon p{font-family:var(--serif);font-style:italic;font-size:clamp(21.2px,1.9vw,24.4px);color:var(--muted);max-width:56ch;margin:0 auto 18px;line-height:1.75}
body.fge-entry .entry-content .fg-colophon p{max-width:56ch !important;margin-left:auto !important;margin-right:auto !important}
.fg-colophon p strong{font-style:normal;font-family:var(--sans);font-size:15.6px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--sage)}

@media(max-width:900px){
  .fg-chapter{grid-template-columns:1fr;gap:28px}
  .fg-chapmark{position:static}
  .fg-plate{grid-template-columns:1fr;gap:24px;padding:44px 36px}
}

@media(max-width:768px){
  body.fge-entry{--pad:24px}
  .fge-head{padding:56px 0 44px}
  .fge-body{padding:0 28px 24px}
  .fge-clip{padding:26px 22px 20px}
  .fge-foot a{max-width:100%}
  .fge-foot .fge-next{margin-left:0;text-align:left}
  .fg-frontmatter{padding:64px 0 56px}
  .fg-plate-wrap{padding-top:56px}
  .fg-plate{padding:36px 26px;margin:0 3px}
  .fg-index{padding-top:64px}
  .fg-row{flex-wrap:wrap;row-gap:6px;padding:20px 2px}
  .fg-no{width:auto}
  .fg-leader{display:none}
  .fg-title{width:100%;order:2}
  .fg-page{order:3}
  .fg-colophon{padding:64px 0 72px}
}
