/* ═══════════════════════════════════════════════════════════
   TYPOLOGY PAGES — Shared and page-specific CSS
   Loaded by functions.php for page-typology.php and page-eucharist-typology.php
   CSS variables from style.css :root are available here.
   Additional short-name vars defined below for page content.
═══════════════════════════════════════════════════════════ */

/* Short-name variable aliases matching the page content CSS */
:root {
  --gold: var(--brand-gold);
  --gold-lt: var(--fg-gold-lt);
  --gold-dim: var(--fg-gold-dim);
  --gold-pale: var(--fg-gold-pale);
  --ink: var(--brand-ink);
  --ink2: #2e2a1e;
  --ink3: #48432e;
  --parchment: var(--fg-parchment);
  --parchment2: var(--fg-parchment-2, #f4edd8);
  --parchment3: #ece3c5;
  --cream: #fffdf7;
  --crimson: #8B3000;
  --crimson-lt: #c0392b;
  --crimson-pale: #fdf0f0;
  --green: #1A6A38;
  --green-pale: #eaf5ec;
  --blue: #185FA5;
  --blue-pale: #eaf2fb;
  --purple: #6C3483;
  --purple-pale: #f5eef8;
  --teal: #0e6655;
  --teal-pale: #e8f8f5;
  --border: #ddd5b8;
  --border2: #c8bc98;
  --shadow: rgba(28,24,16,.12);
  --shadow2: rgba(28,24,16,.22);
  --serif: var(--font-serif);
  --display: var(--font-display);
  --garamond: var(--font-garamond, 'EB Garamond', Georgia, serif);
}

@keyframes fadeUp { from { opacity:0; transform:translateY(14px) } to { opacity:1; transform:none } }
@keyframes shimmer { 0% { background-position:200% 0 } 100% { background-position:-200% 0 } }

/* ── TYPOLOGY INDEX (page-typology.php) ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--serif);background:var(--parchment);color:var(--ink);line-height:1.75;overflow-x:hidden}
to{opacity:1;transform:none}}

/* ── PROGRESS ── */

/* ── MASTHEAD ── */

/* ── STICKY NAV ── */

/* ── LAYOUT ── */
.sec{padding:56px 0 36px;border-bottom:1px solid var(--border)}
.sec:last-of-type{border-bottom:none}
.fade{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.fade.vis{opacity:1;transform:none}

/* ── SECTION CHROME ── */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:14px}
.eyebrow span{display:block;height:1px;width:40px;background:var(--gold);opacity:.5}
.sec-title{font-family:var(--display);font-size:clamp(24px,3.5vw,36px);font-weight:700;line-height:1.2;color:var(--ink);margin-bottom:8px}
.sec-title em{font-style:italic;color:var(--crimson)}
.sec-deck{font-family:var(--display);font-style:italic;font-size:clamp(15px,2vw,18px);color:var(--ink3);line-height:1.5;margin-bottom:28px;max-width:820px}
.prose{font-size:17px;line-height:1.8;color:var(--ink2);max-width:820px;margin-bottom:24px}
.prose p{margin-bottom:1.2em}
.prose strong{color:var(--ink);font-weight:600}
.prose em{color:var(--crimson);font-style:italic}
.dropcap>p:first-child::first-letter{font-family:var(--display);font-size:4.5em;font-weight:900;float:left;line-height:.78;margin-right:.08em;margin-top:.06em;color:var(--gold)}

/* ── WHAT IS TYPOLOGY — EXPLAINER CARDS ── */
.explainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:28px 0}
.exp-card{background:var(--cream);border:1px solid var(--border);border-radius:10px;padding:20px;border-top:3px solid var(--gold)}
.exp-card-num{font-family:var(--display);font-size:36px;font-weight:900;color:var(--gold);opacity:.25;line-height:1;margin-bottom:6px}
.exp-card-title{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:7px}
.exp-card-text{font-size:13px;color:var(--ink3);line-height:1.65}

/* ── SCRIPTURE PULL ── */
.scripture{margin:28px 0;padding:20px 24px 20px 28px;background:linear-gradient(135deg,var(--parchment2),var(--parchment3));border-left:4px solid var(--gold);border-radius:0 8px 8px 0;cursor:pointer;transition:box-shadow .2s}
.scripture:hover{box-shadow:0 4px 20px var(--shadow)}
.scripture-text{font-family:var(--garamond);font-size:19px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:8px}
.scripture-ref{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--gold-dim)}
.scripture-hint{font-size:10px;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-top:6px;opacity:.7}
.scripture-note{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;color:var(--ink3);line-height:1.65}
.scripture.open .scripture-note{display:block}

/* ── THEO-NOTE ── */
.tn{display:inline;border-bottom:2px dotted var(--gold);cursor:pointer;position:relative}
.tn-pop{display:none;position:absolute;left:0;top:calc(100% + 6px);background:var(--ink);color:var(--parchment2);font-size:13px;line-height:1.6;padding:12px 16px;border-radius:8px;width:310px;max-width:90vw;z-index:50;box-shadow:0 8px 32px var(--shadow2);font-style:normal}
.tn-pop::before{content:'';position:absolute;top:-6px;left:16px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.tn:hover .tn-pop,.tn.open .tn-pop{display:block}

/* ── APOLOGETIC STAKES ── */
.stakes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:24px 0}
.stake-card{border-radius:10px;padding:18px 20px;border:.5px solid var(--border)}
.stake-card--prot{background:var(--crimson-pale);border-left:3px solid var(--crimson)}
.stake-card--orth{background:var(--blue-pale);border-left:3px solid var(--blue)}
.stake-card--jew{background:var(--gold-pale);border-left:3px solid var(--gold)}
.stake-card--sec{background:var(--parchment2);border-left:3px solid var(--border2)}
.stake-label{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.stake-card--prot .stake-label{color:var(--crimson)}
.stake-card--orth .stake-label{color:var(--blue)}
.stake-card--jew .stake-label{color:var(--gold-dim)}
.stake-card--sec .stake-label{color:var(--ink3)}
.stake-title{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:5px}
.stake-text{font-size:12.5px;color:var(--ink3);line-height:1.65}

/* ── CATEGORY TABS ── */
.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:2px solid var(--border);padding-bottom:12px}
.cat-tab{font-size:11px;padding:6px 14px;border-radius:99px;border:1px solid var(--border);background:var(--parchment2);color:var(--ink3);cursor:pointer;font-family:var(--serif);transition:.15s;display:flex;align-items:center;gap:6px}
.cat-tab .ct-count{font-size:9px;background:rgba(0,0,0,.1);padding:1px 5px;border-radius:99px}
.cat-tab.on{color:#fff;border-color:transparent}
.cat-tab[data-cat="all"].on{background:var(--ink)}
.cat-tab[data-cat="christ"].on{background:#7B3F00}
.cat-tab[data-cat="eucharist"].on{background:#8B3000}
.cat-tab[data-cat="baptism"].on{background:#185FA5}
.cat-tab[data-cat="mary"].on{background:#6C3483}
.cat-tab[data-cat="church"].on{background:#0e6655}
.cat-tab[data-cat="priesthood"].on{background:#1A6A38}
.cat-tab[data-cat="sacraments"].on{background:#784212}

/* ── VIEW TOGGLES ── */
.view-toggle{display:flex;gap:6px;margin-bottom:16px}
.vt-btn{font-size:11px;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--parchment2);color:var(--ink3);cursor:pointer;font-family:var(--serif);transition:.15s}
.vt-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── SEARCH ── */
.typo-search{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.typo-search-input{flex:1;padding:9px 14px 9px 38px;border:1px solid var(--border);border-radius:8px;background:var(--cream);font-family:var(--serif);font-size:14px;color:var(--ink);outline:none;transition:border-color .15s}
.typo-search-input:focus{border-color:var(--gold)}
.typo-search-wrap{position:relative;flex:1}
.typo-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--ink3);pointer-events:none}
.typo-count{font-size:11px;color:var(--ink3);white-space:nowrap}

/* ── TYPOLOGY GRID (card view) ── */
.typo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:4px}
.typo-card{background:var(--cream);border:.5px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:box-shadow .18s,transform .18s;position:relative}
.typo-card:hover{box-shadow:0 6px 24px var(--shadow);transform:translateY(-2px)}
.typo-card.hidden{display:none}
.tc-stripe{height:4px;width:100%}
.tc-body{padding:14px 16px}
.tc-cat{font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}
.tc-type{font-family:var(--display);font-size:16px;font-weight:700;color:var(--ink);margin-bottom:2px}
.tc-arrow{font-size:11px;color:var(--border2);margin:0 6px}
.tc-antitype{font-family:var(--display);font-size:14px;font-weight:600;color:var(--ink2);margin-bottom:8px}
.tc-verse{font-size:11px;color:var(--gold-dim);font-weight:600;letter-spacing:.03em;margin-bottom:6px}
.tc-sig{font-size:12px;color:var(--ink3);line-height:1.55;margin-bottom:8px}
.tc-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tc-strength{font-size:9px;font-weight:700;letter-spacing:.08em;padding:2px 8px;border-radius:99px;text-transform:uppercase}
.tc-strength--explicit{background:#eaf5ec;color:#1A6A38}
.tc-strength--strong{background:#eaf2fb;color:#185FA5}
.tc-strength--traditional{background:#f5ecd4;color:#8B6A1A}
.tc-author{font-size:9px;color:var(--ink3);font-style:italic}
.tc-expand-hint{font-size:9.5px;color:var(--gold);letter-spacing:.04em;margin-top:4px;opacity:.7}

/* ── TYPOLOGY LIST (list view) ── */
.typo-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.tl-row{display:grid;grid-template-columns:180px 160px 1fr 130px 90px;gap:12px;align-items:center;padding:12px 14px;background:var(--cream);border:.5px solid var(--border);border-radius:8px;cursor:pointer;transition:.15s;border-left:3px solid transparent}
.tl-row:hover{border-left-color:var(--gold);transform:translateX(2px)}
.tl-row.hidden{display:none}
.tl-type{font-family:var(--display);font-size:13px;font-weight:700;color:var(--ink)}
.tl-antitype{font-size:12.5px;color:var(--ink2);font-weight:600}
.tl-sig{font-size:11.5px;color:var(--ink3);line-height:1.45}
.tl-verse{font-size:10.5px;color:var(--gold-dim);font-weight:600}
.tl-strength{font-size:9px;font-weight:700;letter-spacing:.07em;padding:2px 7px;border-radius:99px;text-transform:uppercase;text-align:center}
.tl-header{display:grid;grid-template-columns:180px 160px 1fr 130px 90px;gap:12px;padding:6px 14px;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);border-bottom:1px solid var(--border);margin-bottom:4px}
@media(max-width:800px){.tl-row,.tl-header{grid-template-columns:1fr 1fr}.tl-sig,.tl-verse{display:none}}

/* ── DETAIL MODAL ── */
.detail-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(28,24,16,.65);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}
.detail-modal.open{display:flex;animation:fadeUp .2s ease}
.detail-box{background:var(--parchment);max-width:680px;width:100%;max-height:90vh;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px var(--shadow2);display:flex;flex-direction:column}
.detail-header{padding:20px 24px 16px;position:relative}
.detail-stripe{height:5px;width:100%;border-radius:14px 14px 0 0}
.detail-cat{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.detail-title{font-family:var(--display);font-size:clamp(20px,3vw,28px);font-weight:700;color:var(--ink);margin-bottom:4px;line-height:1.2}
.detail-subtitle{font-family:var(--display);font-size:16px;color:var(--ink3);font-style:italic}
.detail-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--parchment2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--ink3);transition:.15s}
.detail-close:hover{background:var(--crimson);color:#fff;border-color:var(--crimson)}
.detail-body{overflow-y:auto;padding:0 24px 24px}
.detail-verse{background:linear-gradient(135deg,var(--parchment2),var(--parchment3));border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:14px 18px;margin-bottom:18px}
.detail-verse-text{font-family:var(--garamond);font-size:16px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:5px}
.detail-verse-ref{font-size:11px;font-weight:600;color:var(--gold-dim);letter-spacing:.04em}
.detail-section{margin-bottom:16px}
.detail-section-label{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:6px}
.detail-section-text{font-size:14px;color:var(--ink2);line-height:1.75}
.detail-fathers{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.detail-father{background:var(--cream);border:.5px solid var(--border);border-radius:8px;padding:10px 14px}
.detail-father-name{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}
.detail-father-text{font-size:12px;font-style:italic;color:var(--ink3);line-height:1.55}
.detail-objpair{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:8px;overflow:hidden;border:.5px solid var(--border);margin-top:6px}
@media(max-width:500px){.detail-objpair{grid-template-columns:1fr}}
.detail-obj{padding:12px 14px;font-size:12.5px;line-height:1.6}
.detail-obj--q{background:var(--crimson-pale);border-right:.5px solid var(--border)}
.detail-obj--a{background:var(--green-pale)}
.detail-obj-label{font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.detail-obj--q .detail-obj-label{color:var(--crimson)}
.detail-obj--a .detail-obj-label{color:var(--green)}
.detail-footer{padding:12px 24px 14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.detail-strength{font-size:10px;font-weight:700;letter-spacing:.08em;padding:4px 12px;border-radius:99px;text-transform:uppercase}
.detail-deeplink{font-size:12px;color:var(--gold);text-decoration:none;font-weight:700;display:flex;align-items:center;gap:5px}
.detail-deeplink:hover{color:var(--gold-dim)}
.detail-nav{display:flex;gap:8px}
.detail-nav-btn{font-size:12px;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:var(--parchment2);color:var(--ink3);cursor:pointer;font-family:var(--serif);transition:.15s}
.detail-nav-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── PATRISTIC QUOTE ── */
.patristic{margin:24px 0;padding:0 0 0 24px;border-left:3px solid var(--gold)}
.patristic-text{font-family:var(--garamond);font-size:18px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:6px}
.patristic-source{font-size:11px;color:var(--gold-dim);font-weight:600;letter-spacing:.04em}

/* ── CATEGORY SUMMARIES ── */
.cat-summaries{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:28px 0}
.cs-card{background:var(--cream);border:.5px solid var(--border);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:.2s;display:block}
.cs-card:hover{box-shadow:0 6px 24px var(--shadow);transform:translateY(-2px)}
.cs-top{height:6px}
.cs-body{padding:18px 20px}
.cs-icon{font-size:28px;margin-bottom:8px}
.cs-title{font-family:var(--display);font-size:17px;font-weight:700;color:var(--ink);margin-bottom:4px}
.cs-count{font-size:10px;font-weight:700;letter-spacing:.08em;padding:2px 8px;border-radius:99px;margin-bottom:8px;display:inline-block}
.cs-text{font-size:12.5px;color:var(--ink3);line-height:1.6;margin-bottom:10px}
.cs-key{font-size:11px;color:var(--gold-dim);font-weight:600}
.cs-link{font-size:11px;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:4px;margin-top:8px}

/* ── BENEDICTION ── */
.benediction::before{content:'alpha';position:absolute;font-size:180px;color:rgba(201,168,76,.05);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;font-family:var(--display);font-style:italic;font-weight:900}
.benediction-quote{font-family:var(--garamond);font-size:clamp(18px,3vw,26px);font-style:italic;color:var(--parchment2);line-height:1.55;max-width:680px;margin:0 auto 12px;position:relative}
@media(max-width:640px){/* snav handled by fg-pillar-snav in nav.css */.typo-grid{grid-template-columns:1fr}}

/* ── EUCHARIST TYPOLOGY (page-eucharist-typology.php) ── */
/* CSS variable aliases — eucharist page uses shorthand vars */
.eucharist-wrap {
  --gold:      #C9A84C;
  --gold-lt:   #d4aa60;
  --gold-dim:  #8B6A1A;
  --gold-pale: #f5ecd4;
  --ink:       #1c1810;
  --ink2:      #2e2a1e;
  --ink3:      #48432e;
  --parchment: #faf6ed;
  --parchment2:#f4edd8;
  --parchment3:#ece3c5;
  --cream:     #fffdf7;
  --crimson:   #8B3000;
  --crimson-pale:#fdf0f0;
  --green:     #1A6A38;
  --green-pale:#eaf5ec;
  --blue:      #185FA5;
  --blue-pale: #eaf2fb;
  --border:    rgba(28,24,16,.12);
  --shadow:    rgba(28,24,16,.12);
  --serif:     'Source Serif 4', Georgia, serif;
  --display:   'Playfair Display', Georgia, serif;
  --garamond:  'EB Garamond', Georgia, serif;
}
.eucharist-wrap { background: var(--parchment); color: var(--ink); }
.fg-pillar-page { max-width: 920px; margin: 0 auto; padding: 0 28px 80px; }

/* ── PROGRESS ── */
.etyf-sec:last-of-type{border-bottom:none}
.etyf-fade{opacity:1;transform:none}
.etyf-fade.vis{opacity:1;transform:none}
.etyf-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:14px}
.etyf-eyebrow span{display:block;height:1px;width:40px;background:var(--gold);opacity:.5}
.etyf-title{font-family:var(--display);font-size:clamp(22px,3.5vw,36px);font-weight:700;line-height:1.2;color:var(--ink);margin-bottom:8px}
.etyf-title em{font-style:italic;color:var(--crimson)}
.etyf-deck{font-family:var(--display);font-style:italic;font-size:clamp(15px,2vw,18px);color:var(--ink3);line-height:1.5;margin-bottom:28px;max-width:860px}
.etyf-prose{font-size:17px;line-height:1.8;color:var(--ink2);max-width:860px;margin-bottom:24px}
.etyf-prose p{margin-bottom:1.2em}
.etyf-prose strong{color:var(--ink);font-weight:600}
.etyf-prose em{color:var(--crimson);font-style:italic}
.etyf-dropcap>p:first-child::first-letter{font-family:var(--display);font-size:4.5em;font-weight:900;float:left;line-height:.78;margin-right:.08em;margin-top:.06em;color:var(--gold)}

/* ── THEO-NOTE ── */
.etyf-tn{display:inline;border-bottom:2px dotted var(--gold);cursor:pointer;position:relative}
.etyf-tn-pop{display:none;position:absolute;left:0;top:calc(100% + 6px);background:var(--ink);color:var(--parchment2);font-size:13px;line-height:1.6;padding:12px 16px;border-radius:8px;width:310px;max-width:90vw;z-index:50;box-shadow:0 8px 32px var(--shadow2);font-style:normal}
.etyf-tn-pop::before{content:'';position:absolute;top:-6px;left:16px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.etyf-tn:hover .etyf-tn-pop,.etyf-tn.open .etyf-tn-pop{display:block}

/* ── SCRIPTURE PULL-QUOTE ── */
.etyf-scripture{margin:28px 0;padding:20px 24px 20px 28px;background:linear-gradient(135deg,var(--parchment2),var(--parchment3));border-left:4px solid var(--gold);border-radius:0 8px 8px 0;cursor:pointer;transition:box-shadow .2s}
.etyf-scripture:hover{box-shadow:0 4px 20px var(--shadow)}
.etyf-scripture-text{font-family:var(--garamond);font-size:19px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:8px}
.etyf-scripture-ref{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--gold-dim)}
.etyf-scripture-hint{font-size:10px;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-top:6px;opacity:.7}
.etyf-scripture-note{display:none;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:13px;color:var(--ink3);line-height:1.65}
.etyf-scripture.open .etyf-scripture-note{display:block}

/* ── PATRISTIC ── */
.etyf-patristic{margin:24px 0;padding:0 0 0 24px;border-left:3px solid var(--gold)}
.etyf-patristic-text{font-family:var(--garamond);font-size:18px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:6px}
.etyf-patristic-source{font-size:11px;color:var(--gold-dim);font-weight:600;letter-spacing:.04em}

/* ── ARG-CARD ── */
.etyf-argcard{background:var(--cream);border:1px solid var(--border);border-radius:10px;margin:20px 0;overflow:hidden;cursor:pointer;transition:box-shadow .2s}
.etyf-argcard:hover{box-shadow:0 4px 18px var(--shadow)}
.etyf-argcard-head{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--parchment2);border-bottom:1px solid transparent}
.etyf-argcard.open .etyf-argcard-head{border-bottom-color:var(--border)}
.etyf-argcard-num{font-family:var(--display);font-size:22px;font-weight:900;color:var(--gold);flex-shrink:0;width:28px;line-height:1}
.etyf-argcard-title{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);flex:1}
.etyf-argcard-arrow{font-size:14px;color:var(--border2);transition:transform .2s;flex-shrink:0}
.etyf-argcard.open .etyf-argcard-arrow{transform:rotate(180deg)}
.etyf-argcard-body{display:none;padding:16px 18px 18px;font-size:15px;color:var(--ink3);line-height:1.7}
.etyf-argcard.open .etyf-argcard-body{display:block}
.etyf-argcard-body p{margin-bottom:.8em}
.etyf-argcard-body strong{color:var(--ink)}

/* ── OBJ-PAIR ── */
.etyf-objpair{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px 0;border-radius:10px;overflow:hidden;border:1px solid var(--border)}
@media(max-width:580px){.etyf-objpair{grid-template-columns:1fr}}
.etyf-obj{padding:16px 18px;font-size:14px;line-height:1.65}
.etyf-obj--obj{background:var(--crimson-pale);border-right:1px solid var(--border)}
.etyf-obj--resp{background:var(--green-pale)}
@media(max-width:580px){.etyf-obj--obj{border-right:none;border-bottom:1px solid var(--border)}}
.etyf-obj-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.etyf-obj--obj .etyf-obj-label{color:var(--crimson)}
.etyf-obj--resp .etyf-obj-label{color:var(--green)}
.etyf-obj-text{color:var(--ink3)}
.etyf-obj-text strong{color:var(--ink)}

/* ── STATS ── */
.etyf-stats{display:flex;gap:0;margin:28px 0;border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.etyf-stat{flex:1;text-align:center;padding:20px 12px;background:var(--parchment2);border-right:1px solid var(--border)}
.etyf-stat:last-child{border-right:none}
.etyf-stat-n{font-family:var(--display);font-size:clamp(22px,4vw,38px);font-weight:900;color:var(--gold);line-height:1;margin-bottom:4px}
.etyf-stat-l{font-size:11px;color:var(--ink3);line-height:1.4}
@media(max-width:480px){.etyf-stats{flex-direction:column}.etyf-stat{border-right:none;border-bottom:1px solid var(--border)}.etyf-stat:last-child{border-bottom:none}}

/* ── SCATTER CHART ── */
.etyf-scatter{margin:20px 0;background:var(--cream);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.etyf-scatter-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--parchment2);flex-wrap:wrap}
.etyf-stab{font-size:11px;padding:10px 16px;cursor:pointer;color:var(--ink3);border:none;background:transparent;font-family:var(--serif);border-bottom:2px solid transparent;transition:.15s}
.etyf-stab.on{color:var(--crimson);border-bottom-color:var(--crimson);font-weight:600}
.etyf-scatter-legend{display:flex;flex-wrap:wrap;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:10px;color:var(--ink3)}
.etyf-sl-item{display:flex;align-items:center;gap:5px}
.etyf-sl-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.etyf-scatter-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border)}
.etyf-sf{font-size:10px;padding:3px 11px;border-radius:99px;border:.5px solid var(--border);background:var(--parchment2);color:var(--ink3);cursor:pointer;font-family:var(--serif);transition:.15s}
.etyf-sf.on{background:var(--ink);color:#FAF6ED;border-color:var(--ink)}
.etyf-chart-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.etyf-chart-wrap::-webkit-scrollbar{height:5px}
.etyf-chart-wrap::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
.etyf-svg{display:block}
.etyf-tooltip{position:fixed;background:var(--ink);color:var(--parchment2);padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.55;width:270px;pointer-events:none;z-index:300;box-shadow:0 6px 24px var(--shadow2);display:none}
.etyf-tooltip.vis{display:block}
.etyf-tt-name{font-family:var(--display);font-size:13px;font-weight:700;color:#fff;margin-bottom:2px}
.etyf-tt-meta{font-size:10px;color:var(--gold-lt);margin-bottom:5px}
.etyf-tt-text{font-size:11px;color:rgba(250,246,237,.8);line-height:1.5}
.etyf-scatter-panel{display:none;padding:16px 20px;border-top:1px solid var(--border);background:var(--parchment2);animation:fadeUp .2s ease}
.etyf-scatter-panel.vis{display:block}
.etyf-sp-close{float:right;font-size:11px;cursor:pointer;color:var(--ink3);padding:1px 7px;border-radius:4px;border:.5px solid var(--border);background:var(--cream)}
.etyf-sp-auth{font-size:12px;color:var(--ink3);font-style:italic;margin:4px 0 2px}
.etyf-sp-doc{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}
.etyf-sp-quote{font-family:var(--garamond);font-size:14px;font-style:italic;color:var(--ink2);border-left:3px solid var(--gold);padding-left:10px;margin-bottom:7px;line-height:1.65}
.etyf-sp-sig{font-size:12.5px;color:var(--ink3);line-height:1.7}

/* ── STAB TABS ── */
.etyf-stab-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.etyf-stab-btn{font-size:11px;padding:6px 14px;border-radius:99px;border:1px solid var(--border);background:var(--parchment2);color:var(--ink3);cursor:pointer;font-family:var(--serif);transition:.15s}
.etyf-stab-btn.on{background:var(--crimson);color:#fff;border-color:var(--crimson)}
.etyf-stab-panel{display:none}
.etyf-stab-panel.on{display:block;animation:fadeUp .2s ease}
.etyf-sv{background:linear-gradient(135deg,var(--parchment2),var(--parchment3));border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:14px}
.etyf-sv-text{font-family:var(--garamond);font-size:16px;font-style:italic;color:var(--ink2);line-height:1.65;margin-bottom:5px}
.etyf-sv-ref{font-size:11px;font-weight:600;color:var(--gold-dim);letter-spacing:.04em}
.etyf-sb{font-size:14.5px;color:var(--ink2);line-height:1.78}
.etyf-sb p{margin-bottom:.9em}
.etyf-sb strong{color:var(--crimson);font-weight:700}

/* ── TYPE PARALLEL ── */
.etyf-tp-verse{background:linear-gradient(135deg,var(--parchment2),var(--parchment3));border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:16px 20px;margin-bottom:16px;text-align:center}
.etyf-tp-verse em{font-family:var(--garamond);font-size:17px;font-style:italic;color:var(--ink2);line-height:1.65}
.etyf-tp-verse small{display:block;font-size:11px;color:var(--gold-dim);font-weight:600;letter-spacing:.05em;margin-top:6px}
.etyf-tp-grid{display:grid;grid-template-columns:1fr 64px 1fr;gap:14px;align-items:start}
@media(max-width:600px){.etyf-tp-grid{grid-template-columns:1fr}.etyf-tp-arrow-col{flex-direction:row;padding-top:0;gap:10px}}
.etyf-tp-col{background:var(--cream);border:.5px solid var(--border);border-radius:10px;padding:18px}
.etyf-tp-col-ref{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:6px}
.etyf-tp-col-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--ink);margin-bottom:10px}
.etyf-tp-features{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:12.5px;color:var(--ink3);line-height:1.55}
.etyf-tp-feature{display:flex;align-items:flex-start;gap:8px}
.etyf-tp-feature::before{content:'*';color:var(--gold);font-size:16px;line-height:1;flex-shrink:0}
.etyf-tp-arrow-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding-top:50px}
.etyf-tp-arrow{font-size:28px;color:var(--border2)}
.etyf-tp-arrow-lbl{font-size:8px;color:var(--ink3);text-align:center;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.etyf-tp-note{background:var(--parchment2);border-radius:8px;padding:14px 18px;border:.5px solid var(--border);font-size:13.5px;color:var(--ink3);line-height:1.75;margin-top:12px}

/* ── JOHN 6 INTERACTIVE ── */
.etyf-j6{background:var(--ink2);border-radius:14px;padding:28px;margin:24px 0}
.etyf-j6-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:14px;text-align:center}
.etyf-j6-text{font-family:var(--garamond);font-size:clamp(15px,2vw,18px);font-style:italic;color:var(--parchment2);line-height:1.85;margin-bottom:16px}
.etyf-j6-phrase{display:inline;border-bottom:2px dotted rgba(201,168,76,.4);cursor:pointer;transition:.15s;padding:0 2px;border-radius:2px}
.etyf-j6-phrase:hover,.etyf-j6-phrase.active{background:rgba(201,168,76,.22);border-bottom-color:var(--gold)}
.etyf-j6-panel{background:rgba(255,255,255,.06);border:1px solid rgba(201,168,76,.22);border-radius:10px;padding:14px 18px;margin-top:8px;font-size:13px;color:rgba(250,246,237,.85);line-height:1.65;min-height:56px}
.etyf-j6-panel-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--gold-lt);margin-bottom:5px}
.etyf-j6-hint{font-size:10px;color:rgba(250,246,237,.3);text-align:center;letter-spacing:.06em;text-transform:uppercase;margin-top:10px}

/* ── FATHERS GRID ── */
.etyf-fathers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:20px 0}
.etyf-father{background:var(--cream);border:.5px solid var(--border);border-radius:10px;padding:16px;border-top:3px solid var(--gold)}
.etyf-father-name{font-family:var(--display);font-size:14px;font-weight:700;color:var(--ink);margin-bottom:2px}
.etyf-father-date{font-size:10px;color:var(--gold-dim);font-style:italic;margin-bottom:8px}
.etyf-father-quote{font-family:var(--garamond);font-size:13.5px;font-style:italic;color:var(--ink2);line-height:1.6;border-left:2px solid var(--gold);padding-left:10px;margin-bottom:6px}
.etyf-father-doc{font-size:10.5px;color:var(--ink3);font-weight:600}

/* ── TYPE INDEX CARDS ── */
.etyf-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:20px 0}
.etyf-type-card{background:var(--cream);border:.5px solid var(--border);border-radius:10px;overflow:hidden}
.etyf-tc-stripe{height:4px;background:var(--crimson)}
.etyf-tc-body{padding:14px 16px}
.etyf-tc-num{font-family:var(--display);font-size:32px;font-weight:900;color:var(--gold);opacity:.2;line-height:1;margin-bottom:4px}
.etyf-tc-type{font-family:var(--display);font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px}
.etyf-tc-antitype{font-size:12px;color:var(--ink3);margin-bottom:6px;font-style:italic}
.etyf-tc-verse{font-size:11px;color:var(--gold-dim);font-weight:600;margin-bottom:6px}
.etyf-tc-sig{font-size:12px;color:var(--ink3);line-height:1.55}
.etyf-tc-strength{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.08em;padding:2px 8px;border-radius:99px;text-transform:uppercase;margin-top:8px}
.etyf-tc-strength--explicit{background:#eaf5ec;color:#1A6A38}
.etyf-tc-strength--strong{background:#eaf2fb;color:#185FA5}

/* ── MEMORIALIST DEMOLITION ── */
.etyf-mem-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
@media(max-width:640px){.etyf-mem-grid{grid-template-columns:1fr}}
.etyf-mem{border-radius:10px;padding:16px;border:.5px solid var(--border)}
.etyf-mem--fail{background:var(--crimson-pale);border-left:3px solid var(--crimson)}
.etyf-mem--pass{background:var(--green-pale);border-left:3px solid var(--green)}
.etyf-mem-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.etyf-mem--fail .etyf-mem-label{color:var(--crimson)}
.etyf-mem--pass .etyf-mem-label{color:var(--green)}
.etyf-mem-title{font-family:var(--display);font-size:14px;font-weight:700;color:var(--ink);margin-bottom:5px}
.etyf-mem-text{font-size:12.5px;color:var(--ink3);line-height:1.65}

/* ── VERDICT ── */
.etyf-verdict{background:var(--ink);border-radius:12px;padding:32px;margin:32px 0;text-align:center;position:relative;overflow:hidden}
.etyf-verdict::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(201,168,76,.15) 0%,transparent 70%);pointer-events:none}
.etyf-verdict-title{font-family:var(--display);font-size:clamp(20px,3vw,28px);font-weight:900;color:var(--gold-lt);margin-bottom:12px;position:relative}
.etyf-verdict-text{font-family:var(--garamond);font-size:clamp(15px,2vw,18px);font-style:italic;color:rgba(250,246,237,.82);line-height:1.7;max-width:760px;margin:0 auto;position:relative}

/* ── BENEDICTION ── */
