/* ==========================================================================
   Long-form editorial templates: essay, pillar, learning path, comparison,
   case study, longer-reads hub. Loads after site.css. Tokens only.
   Same tiers as site.css: phone <600 · tablet 600–1023 · laptop 1024–1199 · desktop ≥1200 · wide ≥1600
   ========================================================================== */

/* Shared */
.fm-bg-brand .fm-crumbs,.fm-bg-brand .fm-crumbs a{color:var(--plum-300)}
.fm-bg-brand .fm-crumbs [aria-current]{color:var(--white)}
.fm-meter{display:block;flex:1;min-width:3rem;height:6px;border-radius:var(--radius-pill);background:var(--stage-empty);overflow:hidden}
.fm-meter>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}
.fm-leaders--single{columns:1}

/* Compact linked card ("go deeper") */
.fm-mini{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:var(--space-4);align-items:center;padding:var(--space-3);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-md);text-decoration:none;color:var(--text-1);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.fm-mini:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-2px);color:var(--text-1)}
.fm-mini__img{border-radius:var(--radius-sm)}
.fm-mini__text{display:grid;gap:var(--space-2);min-width:0}
.fm-mini__title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:0.9375rem;line-height:1.25;letter-spacing:-0.01em;text-wrap:balance}
.fm-mini__meta{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--text-3)}
.fm-mini .fm-stage__bars{width:2.25rem}
.fm-cluster{display:grid;gap:var(--space-4);margin-block:var(--space-block);padding:var(--space-5);border:var(--border-width) dashed var(--border-2);border-radius:var(--radius-lg)}
.fm-cluster .fm-label{margin:0}
.fm-cluster__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--space-3)}
.fm-cluster__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- Essay / op-ed: a reading voice, not a tutorial ---------- */
.fm-essayhero{padding-top:var(--space-10)}
.fm-essayhero__inner{max-width:64rem;display:grid;gap:var(--space-6);justify-items:start}
.fm-essayhero__title{margin:0;font-family:var(--font-reading);font-weight:var(--fw-light);font-size:clamp(3rem,1.4rem + 6.4vw,8.5rem);line-height:0.94;letter-spacing:-0.035em;font-variation-settings:"opsz" 72;color:var(--text-1);text-wrap:balance}
.fm-essayhero__deck{margin:0;font-family:var(--font-reading);font-style:italic;font-size:var(--fs-lede);line-height:1.4;color:var(--text-2);max-width:40ch;text-wrap:pretty}
.fm-byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);width:100%;padding-top:var(--space-5);border-top:var(--border-width) solid var(--border-1)}
.fm-byline__photo{width:3rem;flex:none;border-radius:50%}
.fm-byline__text{display:grid;font-family:var(--font-ui)}
.fm-byline__name{font-weight:var(--fw-semibold);color:var(--text-1)}
.fm-byline__meta{font-size:var(--fs-sm);color:var(--text-3);font-variant-numeric:tabular-nums}
.fm-byline__share{display:flex;gap:var(--space-2);margin-left:auto}
.fm-essayhero__photo{position:relative;height:clamp(14rem,40vw,34rem);margin-top:var(--space-10)}

.fm-essay{padding-block:var(--space-10) var(--space-8);font-size:clamp(1.1875rem,1.08rem + 0.4vw,1.4375rem);line-height:1.68}
.fm-essay>p{max-width:none}
.fm-keypoints{padding:var(--space-6) var(--space-7);background:var(--surface-tint);border-radius:var(--radius-lg);font-family:var(--font-ui);font-size:var(--fs-body-sm);line-height:1.5}
.fm-keypoints ul{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-3)}
.fm-keypoints li{position:relative;padding-left:1.4em;color:var(--text-1)}
.fm-keypoints li::before{content:"";position:absolute;left:0;top:0.7em;width:0.7em;height:2px;background:var(--accent)}
.fm-essay>h2.fm-essay__h{counter-increment:none;display:grid;justify-items:center;gap:var(--space-3);margin-top:var(--space-section);padding-top:0;border-top:0;text-align:center;font-size:var(--fs-h3);font-weight:var(--fw-heavy);letter-spacing:-0.02em}
.fm-essay>h2.fm-essay__h::before{content:none}
.fm-essay__num{font-family:var(--font-reading);font-style:italic;font-weight:var(--fw-light);font-size:var(--fs-h1);line-height:1;letter-spacing:0;color:var(--accent)}
.fm-essay>h2.fm-essay__h+p{margin-top:var(--space-7)}
.fm-essay__quote{margin:var(--space-block) 0;padding:var(--space-7) 0;border-top:var(--border-width-strong) solid var(--border-strong);border-bottom:var(--border-width) solid var(--border-1)}
.fm-essay__quote blockquote{margin:0;padding:0;border:0;font-family:var(--font-display);font-style:normal;font-weight:var(--fw-heavy);font-size:clamp(1.75rem,1rem + 2.4vw,3.125rem);line-height:1.04;letter-spacing:-0.035em;color:var(--text-1);text-wrap:balance}
.fm-essay__quote blockquote::before{content:"\201C";color:var(--accent)}
.fm-essay__quote blockquote::after{content:"\201D";color:var(--accent)}
.fm-noteref{line-height:0}
.fm-noteref a{padding:0 0.15em;font-family:var(--font-ui);font-size:0.68em;font-weight:var(--fw-bold);color:var(--text-accent);text-decoration:none}
.fm-noteref a:hover{text-decoration:underline}
.fm-sidenote{display:flex;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--fs-sm);line-height:1.5;color:var(--text-3)}
.fm-sidenote__n{flex:none;font-weight:var(--fw-bold);color:var(--text-accent)}
.fm-sidenote:target{color:var(--text-1)}
.fm-sidenotes{display:grid;gap:var(--space-3)}
.fm-sidenotes .fm-sidenote{margin:0}
.fm-essay>.fm-essay__bets{list-style:none;padding:0;counter-reset:fm-bet;border-top:var(--border-width-strong) solid var(--border-strong)}
.fm-essay>.fm-essay__bets>li{counter-increment:fm-bet;display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-4);margin:0;padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--border-1);color:var(--text-1)}
.fm-essay>.fm-essay__bets>li::before{content:counter(fm-bet,decimal-leading-zero);font-family:var(--font-display);font-weight:var(--fw-black);font-size:1.5rem;line-height:1.1;color:var(--accent)}
.fm-essay__signoff{text-align:right;font-family:var(--font-reading);font-style:italic;font-size:1.625rem;color:var(--text-1)}
.fm-essay__respond{display:grid;gap:var(--space-3);margin-top:var(--space-block);padding:var(--space-7);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);font-family:var(--font-ui)}
.fm-essay__respond p{margin:0}
@media (max-width:1199.98px){
  .fm-sidenote{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border-left:var(--border-width-strong) solid var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
}
@media (min-width:1200px){.fm-sidenote{padding-top:0.45em;border-top:var(--border-width) solid var(--border-1)}}

/* ---------- Pillar ---------- */
.fm-pillarhero{position:relative;isolation:isolate;overflow:hidden;padding-block:var(--space-10) calc(var(--space-12) + var(--space-9))}
.fm-pillarhero__bg{position:absolute;inset:0;z-index:-1}
.fm-pillarhero__bg img{width:100%;height:100%;object-fit:cover;opacity:0.5}
.fm-pillarhero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,oklch(16% 0.06 305 / 0.96) 35%,oklch(16% 0.06 305 / 0.45))}
.fm-pillarhero__inner{display:grid;gap:var(--space-6);justify-items:start}
.fm-pillarhero__kicker{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}
.fm-pillarhero__title{margin:0;max-width:14ch;font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-display);line-height:0.9;letter-spacing:-0.045em;color:var(--white);text-wrap:balance}
.fm-pillarhero__deck{margin:0;max-width:52ch;font-family:var(--font-reading);font-weight:var(--fw-light);font-size:var(--fs-lede);line-height:1.4;color:var(--plum-100)}
.fm-pillarindex{position:relative;z-index:2;margin-top:calc((var(--space-12) + var(--space-5)) * -1)}
.fm-pillarindex ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);overflow:hidden}
.fm-pillarindex li{border-right:var(--border-width) solid var(--border-1);border-bottom:var(--border-width) solid var(--border-1)}
.fm-pillarindex a{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-1) var(--space-3);height:100%;padding:var(--space-5);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out)}
.fm-pillarindex a:hover{background:var(--accent-softer)}
.fm-pillarindex__n{grid-row:span 2;font-family:var(--font-display);font-weight:var(--fw-black);font-size:1.5rem;line-height:1;letter-spacing:-0.04em;color:var(--accent)}
.fm-pillarindex__t{font-family:var(--font-ui);font-weight:var(--fw-semibold);font-size:var(--fs-ui);color:var(--text-1)}
.fm-pillarindex__s{font-family:var(--font-reading);font-style:italic;font-size:var(--fs-sm);color:var(--text-3)}
.fm-article--pillar{padding-top:var(--space-9)}
.fm-cheats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.fm-cheat{padding:var(--space-6);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}
.fm-cheat__h{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-accent)}
.fm-cheat dl{margin:0}
.fm-cheat dl>div{display:grid;gap:var(--space-1);padding:var(--space-3) 0;border-top:1.5px dotted var(--border-2)}
.fm-cheat dt code{font-family:var(--font-mono);font-size:0.875rem;color:var(--text-1)}
.fm-cheat dd{margin:0;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-2)}
.fm-glossary{margin:0;border-top:var(--border-width-strong) solid var(--border-strong)}
.fm-glossary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-5);padding:var(--space-5) 0;border-bottom:var(--border-width) solid var(--border-1)}
.fm-glossary dt{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);color:var(--text-1)}
.fm-glossary dd{margin:0;font-family:var(--font-reading);font-size:var(--fs-body-sm);color:var(--text-2)}

/* ---------- Learning paths ---------- */
.fm-pathgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.fm-pathgrid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.fm-pathcard{position:relative;display:grid;gap:var(--space-4);align-content:start;padding:var(--space-8);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.fm-pathcard:hover{border-color:var(--accent);box-shadow:var(--shadow-3);transform:translateY(-3px)}
.fm-pathcard__top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.fm-pathcard__icon{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--white);font-size:1.25rem}
.fm-pathcard__title{margin:0;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-h3);line-height:1.08;letter-spacing:-0.025em}
.fm-pathcard__title a{color:var(--text-1);text-decoration:none}
.fm-pathcard__title a::after{content:"";position:absolute;inset:0}
.fm-pathcard__outcome{margin:0;font-family:var(--font-reading);font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-2)}
.fm-pathcard__facts{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-7);margin:0}
.fm-pathcard__facts dt{font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-3)}
.fm-pathcard__facts dd{margin:0;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:1.25rem;color:var(--text-1)}
.fm-pathcard__progress{display:flex;align-items:center;gap:var(--space-4)}
.fm-pathlink{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);text-decoration:none;color:var(--text-1)}
.fm-pathlink:hover{border-color:var(--accent);color:var(--text-1)}
.fm-pathlink .fm-pathcard__icon{width:2.5rem;height:2.5rem;font-size:1rem}
.fm-pathlink__t{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);line-height:1.2}

.fm-pathhero{padding-block:var(--space-9) var(--space-10)}
.fm-pathhero__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);gap:var(--space-10);align-items:end}
.fm-pathhero__title{margin:0;max-width:15ch}
.fm-pathstatus{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-5);align-items:center;padding:var(--space-7);background:var(--surface-raised);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}
.fm-pathstatus>.fm-btn,.fm-pathstatus__reset{grid-column:1 / -1}
.fm-pathstatus__label{margin:0;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);color:var(--text-1)}
.fm-pathstatus__text .fm-small{margin:var(--space-1) 0 0}
.fm-pathstatus__reset{justify-self:start;padding:0;border:0;background:none;font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-3);text-decoration:underline;cursor:pointer}
.fm-ring{position:relative;width:7rem;height:7rem}
.fm-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.fm-ring circle{fill:none;stroke-width:10}
.fm-ring circle:first-child{stroke:var(--stage-empty)}
.fm-ring circle:last-child{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:calc(326.73 * (1 - var(--p)));transition:stroke-dashoffset var(--dur-slower) var(--ease-out)}
.fm-ring__n{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-family:var(--font-ui);font-size:var(--fs-xs);color:var(--text-3)}
.fm-ring__n strong{font-family:var(--font-display);font-weight:var(--fw-black);font-size:2rem;line-height:1;color:var(--text-1)}

.fm-pathintro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10);margin-bottom:var(--space-10);padding-bottom:var(--space-9);border-bottom:var(--border-width) solid var(--border-1)}
.fm-pathintro>div{display:grid;gap:var(--space-4);align-content:start}
.fm-pathintro h2{margin:0}
.fm-path{--rail:2.75rem;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-10);max-width:56rem}
.fm-path__milestone{display:grid;gap:var(--space-5)}
.fm-path__mhead{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-5);align-items:center}
.fm-path__mhead h2{margin:0}
.fm-path__mhead .fm-small{margin:var(--space-1) 0 0}
.fm-path__mnum{display:grid;place-items:center;width:var(--rail);height:var(--rail);border-radius:50%;background:var(--text-1);color:var(--bg-page);font-family:var(--font-display);font-weight:var(--fw-black);font-size:1rem}
.fm-path__steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}
.fm-path__steps::before{content:"";position:absolute;left:calc(var(--rail) / 2 - 1px);top:0;bottom:0;width:2px;background:var(--border-1)}
.fm-pstep{position:relative;display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-5);scroll-margin-top:calc(var(--header-h) + var(--space-6))}
.fm-pstep__node{position:relative;z-index:1;justify-self:center;display:grid;place-items:center;width:1.5rem;height:1.5rem;margin-top:var(--space-6);border-radius:50%;background:var(--bg-page);border:var(--border-width-strong) solid var(--border-2);color:transparent;font-size:0.75rem;transition:background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.fm-pstep.is-done .fm-pstep__node{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.fm-pstep.is-next .fm-pstep__node{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.fm-pstep__card{display:grid;gap:var(--space-3);padding:var(--space-6);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}
.fm-pstep.is-next .fm-pstep__card{border-color:var(--accent);box-shadow:var(--shadow-3)}
.fm-pstep.is-done .fm-pstep__card{background:var(--bg-subtle)}
.fm-pstep.is-done .fm-pstep__title a{color:var(--text-2)}
.fm-pstep__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.fm-pstep__n{font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-3)}
.fm-pstep__next{display:none;margin-left:auto;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-accent)}
.fm-pstep.is-next .fm-pstep__next{display:inline}
.fm-pstep__title{margin:0;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);line-height:1.2;letter-spacing:-0.01em;text-wrap:balance}
.fm-pstep__title a{color:var(--text-1);text-decoration:none}
.fm-pstep__title a:hover{text-decoration:underline;text-decoration-thickness:2px}
.fm-pstep__deck{margin:0;font-family:var(--font-reading);font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-2)}
.fm-pstep__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);font-family:var(--font-ui);font-size:0.8125rem;color:var(--text-3)}
.fm-pstep__toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.5rem;margin-left:auto;padding:0 var(--space-4) 0 var(--space-2);border:var(--border-width) solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface-card);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-1);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.fm-pstep__toggle:hover{border-color:var(--text-1)}
.fm-pstep__toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.fm-pstep__box{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:50%;border:var(--border-width-strong) solid var(--border-2);color:transparent;font-size:0.75rem}
.fm-pstep__toggle[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-softer)}
.fm-pstep__toggle[aria-pressed="true"] .fm-pstep__box{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.fm-path__task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);margin-left:calc(var(--rail) + var(--space-5));padding:var(--space-5) var(--space-6);background:var(--surface-tint);border:var(--border-width) dashed var(--border-accent);border-radius:var(--radius-lg)}
.fm-path__task>.bi{font-size:1.25rem;color:var(--text-accent)}
.fm-path__task p{margin:0}
.fm-path__task p+p{margin-top:var(--space-2);font-family:var(--font-reading);font-size:var(--fs-body-sm);color:var(--text-1)}
.fm-path__extra{display:grid;gap:var(--space-4);max-width:56rem;margin-top:var(--space-10)}
.fm-path__extra h2{margin:0}
.fm-path__finish{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--space-7);margin-top:var(--space-10);padding:var(--space-9) var(--space-8);background:var(--gradient-brand);border-radius:var(--radius-lg);color:var(--text-on-brand-2);box-shadow:var(--shadow-3)}
.fm-path__finish-title{margin:var(--space-3) 0 0;max-width:24ch;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-h3);line-height:1.1;letter-spacing:-0.025em;color:var(--white)}
.fm-pathbar{position:fixed;left:var(--space-3);right:var(--space-3);bottom:max(var(--space-3),env(safe-area-inset-bottom));z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);background:var(--gradient-brand);border-radius:var(--radius-pill);box-shadow:var(--shadow-4);color:var(--white);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transform:translateY(calc(100% + var(--space-6)));transition:transform var(--dur-slow) var(--ease-out)}
.fm-pathbar.is-shown{transform:none}
.fm-pathbar[hidden]{display:none}
.fm-pathbar .fm-meter{flex:none;width:4.5rem;background:oklch(100% 0 0 / 0.22)}
.fm-pathbar .fm-meter>span{background:var(--white)}
.fm-pathbar__text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:1024px){.fm-pathbar{display:none!important}}

/* ---------- Comparisons ---------- */
.fm-vshero{padding-block:var(--space-9) var(--space-10)}
.fm-vshero__kicker{display:block;margin-top:var(--space-7)}
.fm-vshero__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 0.28em;margin:var(--space-4) 0 var(--space-6);font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-display);line-height:0.94;letter-spacing:-0.045em;color:var(--text-1)}
.fm-vshero__title em{font-family:var(--font-reading);font-style:italic;font-weight:var(--fw-light);font-size:0.55em;letter-spacing:0;color:var(--text-accent)}
.fm-vsoptions{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-8)}
.fm-vsoption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}
.fm-vsoption__icon{grid-row:span 2;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:var(--gradient-brand);color:var(--white);font-size:1.25rem}
.fm-vsoption__name{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:1.25rem;letter-spacing:-0.02em;color:var(--text-1)}
[data-option].is-picked{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fm-vsoption.is-picked,.fm-when.is-picked{background:var(--accent-softer)}
.fm-matrix [data-option].is-picked{box-shadow:none;background:var(--accent-softer)}

.fm-verdict{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-3)}
.fm-verdict__main{padding:var(--space-9) var(--space-8);background:var(--gradient-brand);color:var(--text-on-brand-2)}
.fm-verdict__main h2{margin:0}
.fm-verdict__text{margin:var(--space-4) 0 0;font-family:var(--font-reading);font-weight:var(--fw-light);font-size:var(--fs-lede);line-height:1.42;color:var(--plum-100)}
.fm-verdict__text strong{font-weight:var(--fw-medium);color:var(--white)}
.fm-verdict__picker{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-8);background:var(--surface-card)}
.fm-verdict__picker .fm-label{margin:0;color:var(--text-accent)}
.fm-verdict__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.fm-chip{padding:0.55rem 0.9rem;border:var(--border-width) solid var(--border-2);border-radius:var(--radius-pill);background:var(--surface-card);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.fm-chip:hover{border-color:var(--text-1)}
.fm-chip:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.fm-chip[aria-pressed="true"]{background:var(--text-1);border-color:var(--text-1);color:var(--bg-page)}
.fm-verdict__answer{margin:0;min-height:2.6em;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);line-height:1.3;color:var(--text-1)}
.fm-verdict__answer strong{color:var(--text-accent)}

.fm-whenrow{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--space-5)}
.fm-when{display:grid;gap:var(--space-4);align-content:start;padding:var(--space-7);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}
.fm-when__head{display:flex;align-items:center;gap:var(--space-3)}
.fm-when__head .bi{font-size:1.5rem;color:var(--text-accent)}
.fm-when__head h3{margin:0}
.fm-when__lead{margin:0;font-family:var(--font-reading);font-size:var(--fs-body);line-height:1.5;color:var(--text-1)}
.fm-proscons{list-style:none;margin:0;padding:var(--space-5) 0 0;border-top:var(--border-width) solid var(--border-1);display:grid;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--fs-sm);line-height:1.45;color:var(--text-2)}
.fm-proscons li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:var(--space-2)}
.fm-proscons li::before{font-family:var(--font-display);font-weight:var(--fw-black);line-height:1.3}
.fm-proscons .is-pro::before{content:"+";color:var(--text-accent)}
.fm-proscons .is-con::before{content:"\2013";color:var(--text-4)}

.fm-matrix{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--font-ui)}
.fm-matrix thead th{position:sticky;top:0;z-index:2;padding:var(--space-4);background:var(--bg-page);border-bottom:var(--border-width-strong) solid var(--border-strong);text-align:left;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:1.0625rem;color:var(--text-1);transition:top var(--dur-slow) var(--ease-out)}
html:not(.is-header-hidden) .fm-matrix thead th{top:var(--header-h)}
.fm-matrix thead th .bi{margin-right:0.4em;color:var(--text-accent)}
.fm-matrix tbody th{width:24%;padding:var(--space-5) var(--space-4) var(--space-5) 0;border-bottom:var(--border-width) solid var(--border-1);text-align:left;font-weight:var(--fw-semibold);color:var(--text-1);vertical-align:top}
.fm-matrix td{padding:var(--space-5) var(--space-4);border-bottom:var(--border-width) solid var(--border-1);vertical-align:top;transition:background-color var(--dur-base) var(--ease-out)}
.fm-pips{display:inline-flex;gap:3px}
.fm-pips>span{width:0.9rem;height:6px;border-radius:1px;background:var(--stage-empty)}
.fm-pips>.is-on{background:var(--accent)}
[data-theme="hc"] .fm-pips>span,[data-theme="hc-dark"] .fm-pips>span{border:1.5px solid var(--text-1);height:8px}
.fm-matrix__note{display:block;margin-top:var(--space-2);font-size:var(--fs-sm);line-height:1.4;color:var(--text-2)}

.fm-codecompare__panels{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-5)}
.fm-codecompare__panel{min-width:0}
.fm-codecompare__h{display:none;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);color:var(--text-1)}
.fm-codecompare__h .bi{color:var(--text-accent)}
.fm-codecompare__panel .fm-code{margin:0}
@media (min-width:1200px){
  .fm-codecompare__tabs{display:none}
  .fm-codecompare__panels{grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:0}
  .fm-codecompare__panel[hidden]{display:block}
  .fm-codecompare__h{display:flex}
}
.fm-othercompare{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-9);padding-top:var(--space-5);border-top:var(--border-width) solid var(--border-1)}
.fm-othercompare .fm-label{margin-right:var(--space-3)}

/* ---------- Case study ---------- */
.fm-casehero{padding-block:var(--space-10) var(--space-9);overflow:hidden}
.fm-casehero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--space-10);align-items:center}
.fm-casehero__copy{display:grid;gap:var(--space-5);justify-items:start}
.fm-casehero__client{margin:0;font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-mega);line-height:0.84;letter-spacing:-0.055em;color:var(--white)}
.fm-casehero__title{margin:0;max-width:24ch;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h3);line-height:1.15;letter-spacing:-0.02em;color:var(--plum-100)}
.fm-casehero__deck{margin:0;max-width:48ch;font-family:var(--font-reading);font-size:var(--fs-body-sm);line-height:1.55;color:var(--plum-200)}
.fm-casehero__shot{transform:perspective(1800px) rotateY(-9deg) rotateX(2deg);transform-origin:left center}
.fm-casehero__shot .fm-shot{box-shadow:var(--shadow-4)}
.fm-casefacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:var(--space-10) 0 0;border-top:var(--border-width) solid oklch(100% 0 0 / 0.16)}
.fm-casefacts>div{display:grid;gap:var(--space-1);padding:var(--space-5) var(--space-5) 0 0}
.fm-casefacts dt{font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--plum-300)}
.fm-casefacts dd{margin:0;font-family:var(--font-ui);font-weight:var(--fw-semibold);color:var(--white)}
.fm-casestats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:var(--border-width-strong) solid var(--border-strong)}
.fm-casestats>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-2);padding:var(--space-6) var(--space-5) var(--space-6) 0;border-right:var(--border-width) solid var(--border-1)}
.fm-casestats>div+div{padding-left:var(--space-5)}
.fm-casestats>div:last-child{border-right:0}
.fm-casestats dd{margin:0;font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-numeral);line-height:0.85;letter-spacing:-0.05em;color:var(--accent);font-variant-numeric:tabular-nums}
.fm-casestats dt{font-family:var(--font-reading);font-style:italic;font-size:var(--fs-body-sm);color:var(--text-2)}
.fm-casebody{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:var(--space-10);align-items:start;padding-bottom:var(--space-section)}
.fm-casefile{position:sticky;top:calc(var(--header-h) + var(--space-6))}
.fm-casefile__box{padding:var(--space-6);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);font-family:var(--font-ui)}
.fm-casefile__box summary{display:flex;justify-content:space-between;align-items:center;list-style:none}
.fm-casefile__box summary::-webkit-details-marker{display:none}
.fm-casefile__box summary h2{margin:0}
.fm-casefile__box summary .bi{display:none;transition:transform var(--dur-base) var(--ease-out)}
.fm-casefile__box[open] summary .bi{transform:rotate(180deg)}
.fm-casefile dl{margin:var(--space-3) 0 0}
.fm-casefile dl>div{padding:var(--space-3) 0;border-top:var(--border-width) solid var(--border-1)}
.fm-casefile dt{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-3)}
.fm-casefile dd{margin:var(--space-1) 0 0;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1)}
.fm-casefile__sub{margin:var(--space-5) 0 var(--space-3)}
.fm-casefile__links{display:grid;gap:var(--space-2);margin-top:var(--space-6)}
.fm-casefile__links .fm-btn{justify-content:flex-start}
.fm-casemain{display:grid;gap:var(--space-11);min-width:0}
.fm-casesec{display:grid;gap:var(--space-5)}
.fm-casesec h2{margin:0}
.fm-casesec__n{margin:0;padding-top:var(--space-4);border-top:var(--border-width-strong) solid var(--border-strong);font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text-accent)}
.fm-arch{position:relative;isolation:isolate;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"site link data" ". . flow" ". . auto" "cap cap cap";gap:var(--space-4);align-items:center;padding:var(--space-7);background:var(--surface-tint);border-radius:var(--radius-lg);font-family:var(--font-ui)}
.fm-arch::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--texture-graph);-webkit-mask-image:var(--mask-edges);mask-image:var(--mask-edges);-webkit-mask-composite:source-in;mask-composite:intersect}
.fm-arch__node{display:grid;gap:var(--space-1);padding:var(--space-5);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-top:3px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-size:var(--fs-sm);color:var(--text-2)}
.fm-arch__node strong{font-family:var(--font-display);font-size:1rem;color:var(--text-1)}
.fm-arch__node--site{grid-area:site}
.fm-arch__node--data{grid-area:data}
.fm-arch__node:not(.fm-arch__node--site):not(.fm-arch__node--data){grid-area:auto;border-top-color:var(--plum-300)}
.fm-arch__link{grid-area:link;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:8rem;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-accent);text-align:center}
.fm-arch__link::after{content:"";order:1;align-self:stretch;height:0;border-top:var(--border-width-strong) dashed var(--accent)}
.fm-arch__link span:last-child{order:2}
.fm-arch__link--flow{grid-area:flow;flex-direction:row;justify-content:center;min-width:0}
.fm-arch__link--flow::after{order:-1;align-self:auto;width:0;height:2.5rem;border-top:0;border-left:var(--border-width-strong) dashed var(--accent)}
.fm-arch figcaption{grid-area:cap;margin-top:var(--space-2);font-family:var(--font-reading);font-style:italic;font-size:var(--fs-body-sm);color:var(--text-2)}
.fm-casefeatures{background:var(--bg-subtle)}
.fm-featurerows{display:grid;gap:var(--space-11)}
.fm-featurerow{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space-9);align-items:center}
.fm-featurerow.is-flipped .fm-featurerow__media{order:2}
.fm-featurerow__text{display:grid;gap:var(--space-4);justify-items:start}
.fm-featurerow__text h3,.fm-featurerow__text p{margin:0}
.fm-featurerow__n{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-numeral);line-height:0.8;letter-spacing:-0.06em;color:transparent;-webkit-text-stroke:1.5px var(--accent)}
[data-theme="hc"] .fm-featurerow__n,[data-theme="hc-dark"] .fm-featurerow__n{color:var(--accent);-webkit-text-stroke:0}
.fm-featurerow .fm-shot__body img{width:100%}
.fm-lessons{list-style:none;margin:0;padding:0;counter-reset:fm-lesson;border-top:var(--border-width-strong) solid var(--border-strong)}
.fm-lessons li{counter-increment:fm-lesson;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:var(--space-4);padding:var(--space-6) 0;border-bottom:var(--border-width) solid var(--border-1);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4);line-height:1.3;color:var(--text-1)}
.fm-lessons li::before{content:counter(fm-lesson,decimal-leading-zero);font-weight:var(--fw-black);font-size:1.75rem;line-height:1;color:var(--accent)}

/* ---------- Longer reads hub ---------- */
.fm-readfeature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.fm-readgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.fm-readcard{--tone:var(--accent);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-4);min-height:17rem;padding:var(--space-7);background:var(--surface-card);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.fm-readcard::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tone)}
.fm-readcard--essay{--tone:var(--ember-500)}
.fm-readcard--path{--tone:var(--stage-2)}
.fm-readcard--compare{--tone:var(--stage-3)}
.fm-readcard--case{--tone:var(--stage-4)}
.fm-readcard:hover{border-color:var(--accent);box-shadow:var(--shadow-3);transform:translateY(-3px)}
.fm-readcard__top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.fm-readcard__type{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-accent)}
.fm-readcard__title{margin:0;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-h3);line-height:1.08;letter-spacing:-0.025em;text-wrap:balance}
.fm-readcard__title a{color:var(--text-1);text-decoration:none}
.fm-readcard__title a::after{content:"";position:absolute;inset:0}
.fm-readcard__deck{margin:0;font-family:var(--font-reading);font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-2)}
.fm-readcard__go{justify-self:end;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;border:var(--border-width) solid var(--border-2);color:var(--text-accent);transition:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.fm-readcard:hover .fm-readcard__go{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.fm-readfeature .fm-readcard{min-height:22rem;padding:var(--space-9)}
.fm-readfeature .fm-readcard__title{font-size:var(--fs-h2)}
.fm-readcard--essay .fm-readcard__title{font-family:var(--font-reading);font-weight:var(--fw-light);letter-spacing:-0.02em}

/* ==========================================================================
   Tiers
   ========================================================================== */
@media (max-width:1199.98px){
  .fm-pillarindex ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-cheats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-pathgrid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023.98px){
  .fm-pathhero__grid{grid-template-columns:1fr;gap:var(--space-8)}
  .fm-pathstatus{max-width:32rem}
  .fm-verdict{grid-template-columns:1fr}
  .fm-whenrow{grid-template-columns:1fr}
  .fm-when{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-7)}
  .fm-when__head,.fm-when__lead{grid-column:1}
  .fm-proscons{grid-column:2;grid-row:1 / span 2;padding:0;border-top:0}
  .fm-matrix-wrap{overflow-x:auto}
  .fm-matrix thead th,html:not(.is-header-hidden) .fm-matrix thead th{position:static}
  .fm-casehero__grid{grid-template-columns:1fr;gap:var(--space-8)}
  .fm-casehero__shot{transform:none}
  .fm-casefacts,.fm-casestats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fm-casestats>div:nth-child(2){border-right:0}
  .fm-casestats>div:nth-child(3){padding-left:0}
  .fm-casestats>div:nth-child(n+3){border-top:var(--border-width) solid var(--border-1)}
  .fm-casebody{grid-template-columns:1fr;gap:var(--space-8)}
  .fm-casefile{position:static}
  .fm-casefile__box summary{cursor:pointer}
  .fm-casefile__box summary .bi{display:inline-block}
  .fm-casefile__links{grid-template-columns:repeat(2,max-content)}
  .fm-featurerow{grid-template-columns:1fr;gap:var(--space-6)}
  .fm-featurerow.is-flipped .fm-featurerow__media{order:0}
  .fm-readgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.has-pathbar .fm-footer{padding-bottom:calc(var(--space-7) + 5rem)}
}
@media (max-width:767.98px){
  .fm-arch{grid-template-columns:1fr;grid-template-areas:"site" "link" "data" "flow" "auto" "cap"}
  .fm-arch__link{flex-direction:row;justify-content:center;min-width:0}
  .fm-arch__link::after{order:0;align-self:auto;width:0;height:2.5rem;border-top:0;border-left:var(--border-width-strong) dashed var(--accent)}
  .fm-arch__link span:first-child{text-align:right;flex:1}
  .fm-arch__link span:last-child{text-align:left;flex:1}
  /* Matrix becomes one card per criterion */
  .fm-matrix,.fm-matrix tbody,.fm-matrix tr,.fm-matrix td,.fm-matrix tbody th{display:block;width:auto}
  .fm-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .fm-matrix tr{padding:var(--space-5) 0;border-top:var(--border-width-strong) solid var(--border-strong)}
  .fm-matrix tbody th{padding:0 0 var(--space-3);border:0;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h4)}
  .fm-matrix td{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:var(--space-1) var(--space-3);align-items:center;padding:var(--space-3) var(--space-3);border:0;border-radius:var(--radius-sm)}
  .fm-matrix td::before{content:attr(data-label);grid-row:span 2;align-self:start;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-1)}
  .fm-matrix__note{grid-column:2;margin:0}
  .fm-when{grid-template-columns:1fr}
  .fm-proscons{grid-column:auto;grid-row:auto;padding-top:var(--space-5);border-top:var(--border-width) solid var(--border-1)}
}
@media (max-width:599.98px){
  .fm-essayhero{padding-top:var(--space-8)}
  .fm-essayhero__photo{margin-top:var(--space-8)}
  .fm-byline__share{margin-left:0;width:100%}
  .fm-essay{padding-top:var(--space-8)}
  .fm-keypoints{padding:var(--space-5)}
  .fm-essay__quote blockquote{font-size:1.75rem}
  .fm-pillarhero{padding-bottom:calc(var(--space-11) + var(--space-8))}
  .fm-pillarindex{margin-top:calc(var(--space-11) * -1)}
  .fm-pillarindex ol{grid-template-columns:1fr}
  .fm-pillarindex a{padding:var(--space-3) var(--space-4)}
  .fm-pillarindex__s{display:none}
  .fm-pillarindex__n{grid-row:auto;font-size:1.125rem}
  .fm-cheats{grid-template-columns:1fr}
  .fm-glossary>div{grid-template-columns:1fr;gap:var(--space-1)}
  .fm-cluster{padding:var(--space-4)}
  .fm-cluster__grid--2{grid-template-columns:1fr}
  .fm-pathgrid,.fm-pathgrid--compact{grid-template-columns:1fr}
  .fm-pathcard{padding:var(--space-6)}
  .fm-pathhero{padding-block:var(--space-7) var(--space-8)}
  .fm-pathstatus{padding:var(--space-5)}
  .fm-ring{width:5.5rem;height:5.5rem}
  .fm-ring__n strong{font-size:1.5rem}
  .fm-pathintro{grid-template-columns:1fr;gap:var(--space-7)}
  .fm-path{--rail:1.75rem;gap:var(--space-9)}
  .fm-path__mnum{font-size:0.8125rem}
  .fm-pstep{gap:var(--space-3)}
  .fm-pstep__node{width:1.25rem;height:1.25rem;margin-top:var(--space-5)}
  .fm-pstep__card{padding:var(--space-5)}
  .fm-pstep__deck{display:none}
  .fm-pstep__toggle{width:100%;justify-content:center;margin:var(--space-2) 0 0}
  .fm-path__task{margin-left:calc(var(--rail) + var(--space-3));padding:var(--space-4)}
  .fm-path__finish{padding:var(--space-7) var(--space-5)}
  .fm-path__finish .fm-btn{flex:1 1 100%}
  .fm-vshero__title{font-size:clamp(2.5rem,11vw,3.5rem)}
  .fm-vsoptions{grid-template-columns:1fr;gap:var(--space-2)}
  .fm-vsoption{padding:var(--space-3) var(--space-4)}
  .fm-vsoption__icon{width:2.25rem;height:2.25rem;font-size:1rem}
  .fm-verdict__main,.fm-verdict__picker{padding:var(--space-7) var(--space-5)}
  .fm-when{padding:var(--space-5)}
  .fm-casehero{padding-block:var(--space-8)}
  .fm-casehero__shot{margin-inline:calc(var(--gutter) * -1)}
  .fm-casehero__shot .fm-shot{border-radius:0;border-inline:0}
  .fm-casefacts{margin-top:var(--space-8)}
  .fm-casestats dd{font-size:2.5rem}
  .fm-casemain{gap:var(--space-10)}
  .fm-casefile__links{grid-template-columns:1fr}
  .fm-arch{padding:var(--space-5)}
  .fm-featurerow__media{margin-inline:calc(var(--gutter) * -1)}
  .fm-featurerow__media .fm-shot{border-radius:0;border-inline:0}
  .fm-lessons li{grid-template-columns:2.5rem minmax(0,1fr);font-size:1.125rem}
  .fm-lessons li::before{font-size:1.25rem}
  .fm-readfeature,.fm-readgrid{grid-template-columns:1fr}
  .fm-readcard,.fm-readfeature .fm-readcard{min-height:0;padding:var(--space-6)}
  .fm-readfeature .fm-readcard__title{font-size:var(--fs-h3)}
}

/* Print: pillar cheat sheets and essays print cleanly */
@media print{
  .fm-header,.fm-menu,.fm-footer,.fm-chapterpill,.fm-progress,.fm-pathbar,.fm-stickycta,.mock-flag,.mock-layoutswitch,.fm-rail,dialog,.fm-toastwrap{display:none!important}
  body{background:none}
  .fm-cheat{box-shadow:none;break-inside:avoid}
}
button.fm-more{padding:0;border:0;background:none;cursor:pointer}
.fm-cheat dt code{font-weight:var(--fw-medium)}
/* Path page: timeline + sticky milestone tracker (desktop) */
.fm-pathlayout{display:grid;grid-template-columns:minmax(0,56rem) minmax(0,18rem);justify-content:space-between;gap:var(--space-10);align-items:start}
.fm-pathside__box{display:grid;gap:var(--space-4);padding:var(--space-6);border:var(--border-width) solid var(--border-1);border-radius:var(--radius-lg);background:var(--surface-card)}
.fm-pathside__box .fm-label{margin:0}
.fm-pathside ol{list-style:none;margin:0;padding:0;display:grid}
.fm-pathside li a{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:var(--space-2);align-items:baseline;padding:var(--space-2) 0;border-top:var(--border-width) solid var(--border-1);font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none}
.fm-pathside li a:hover{color:var(--text-1)}
.fm-pathside__n{font-family:var(--font-display);font-weight:var(--fw-heavy);color:var(--text-accent)}
.fm-pathside__c{font-variant-numeric:tabular-nums;color:var(--text-3)}
.fm-pathside li.is-complete .fm-pathside__c{color:var(--text-accent);font-weight:var(--fw-bold)}
@media (max-width:1199.98px){.fm-pathlayout{grid-template-columns:1fr}.fm-pathside{display:none}}
.fm-pathside{align-self:stretch}

/* ---------- Learning paths in context ---------- */
.fm-pathpill{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--border-accent);border-radius:var(--radius-pill);background:var(--surface-tint);font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.fm-pathpill:hover{border-color:var(--accent);background:var(--accent-softer);color:var(--text-1)}
.fm-pathpill>.bi:first-child{color:var(--text-accent)}
.fm-pathpill>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-pathpill strong{color:var(--text-1);font-weight:var(--fw-semibold)}
.fm-opener .fm-pathpill{margin-top:var(--space-4)}
.fm-arthero__meta .fm-arthero__path{grid-column:1 / -1}
.fm-railpath{display:grid;gap:var(--space-3);margin-top:var(--space-8);padding:var(--space-5);border:var(--border-width) solid var(--border-accent);border-radius:var(--radius-md);background:var(--surface-tint)}
.fm-railpath__title{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1rem;line-height:1.25;color:var(--text-1);text-decoration:none}
.fm-railpath__title:hover{text-decoration:underline}
.fm-railpath__meter{display:flex;align-items:center;gap:var(--space-3)}
.fm-railpath__next{display:grid;gap:var(--space-1);padding-top:var(--space-3);border-top:var(--border-width) solid var(--border-accent);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.3;color:var(--text-1);text-decoration:none}
.fm-railpath__next:hover{color:var(--text-accent)}
.fm-pathstrip{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-5) var(--space-7);padding:var(--space-7);background:var(--gradient-brand);border-radius:var(--radius-lg);color:var(--text-on-brand-2);box-shadow:var(--shadow-3)}
.fm-pathstrip__info{display:grid;gap:var(--space-3);flex:1 1 18rem;min-width:0}
.fm-pathstrip__title{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-h4);line-height:1.15;color:var(--white);text-decoration:none}
.fm-pathstrip__title:hover{text-decoration:underline}
.fm-pathstrip .fm-meter{max-width:16rem;background:oklch(100% 0 0 / 0.2)}
.fm-pathstrip .fm-meter>span{background:var(--white)}
.fm-pathstrip__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
.fm-pathstrip__done{margin:0;background:transparent;border-color:oklch(100% 0 0 / 0.35);color:var(--white)}
.fm-pathstrip__done:hover{border-color:var(--white)}
.fm-pathstrip__done[aria-pressed="true"]{background:oklch(100% 0 0 / 0.14);border-color:var(--white)}
.fm-pathstrip__done .fm-pstep__box{border-color:oklch(100% 0 0 / 0.5)}
.fm-pathstrip__done[aria-pressed="true"] .fm-pstep__box{background:var(--white);border-color:var(--white);color:var(--plum-900)}
.fm-pathcallout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-5);align-items:center;margin-bottom:var(--space-10);padding:var(--space-6);border:var(--border-width) solid var(--border-accent);border-radius:var(--radius-lg);background:var(--surface-tint)}
.fm-pathcallout__text{display:grid;gap:var(--space-1)}
.fm-pathcallout__text p{margin:0}
.fm-pathcallout__title{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-h4);color:var(--text-1)}
.fm-pathlinks{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}
.fm-pathlinks .fm-small{margin:0}
.fm-pathlinks__a{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-accent);text-decoration:none}
.fm-pathlinks__a:hover{text-decoration:underline}
@media (max-width:599.98px){
  .fm-pathcallout{grid-template-columns:auto minmax(0,1fr);padding:var(--space-5)}
  .fm-pathcallout .fm-btn{grid-column:1 / -1}
  .fm-pathstrip{padding:var(--space-6) var(--space-5)}
  .fm-pathstrip__actions,.fm-pathstrip__actions .fm-btn,.fm-pathstrip__done{width:100%}
  .fm-pathstrip__done{justify-content:center}
}

.fm-pathstrip .fm-btn{height:auto;min-height:2.75rem;padding-block:0.6rem;white-space:normal;text-align:left;line-height:1.25}
@media (max-width:1023.98px){.fm-opener{grid-template-columns:minmax(0,1fr)}}
.fm-opener__page{min-width:0}

/* ---------- Narrated learning paths: prose, quotes and steps share one rail ---------- */
.fm-path{display:grid}
.fm-path__part{display:grid}
.fm-path__part--outro{margin-top:var(--space-10)}
.fm-path__milestone{display:grid;gap:var(--space-6);margin-top:var(--space-10)}
.fm-path__part+.fm-path__milestone,.fm-path>.fm-path__milestone:first-child{margin-top:var(--space-9)}
.fm-path__flow{position:relative;display:grid;gap:var(--space-5)}
.fm-path__flow::before{content:"";position:absolute;left:calc(var(--rail) / 2 - 1px);top:0;bottom:0;width:2px;background:var(--border-1)}
.fm-path__steps::before{content:none}
.fm-prow{position:relative;display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-5);margin:0}
.fm-prow__node{position:relative;z-index:1;justify-self:center;width:0.625rem;height:0.625rem;margin-top:0.7em;border-radius:50%;background:var(--bg-page);border:var(--border-width-strong) solid var(--border-2)}
.fm-prow__node--icon{display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-top:var(--space-2);border:0;background:var(--accent-soft);color:var(--text-accent);font-size:0.8rem}
.fm-prow__body{max-width:40rem}
.fm-prow__body>*+*{margin-top:var(--space-flow)}
.fm-prow--text{padding-block:var(--space-2)}
.fm-prow .fm-callout,.fm-prow .fm-path__task{margin:0}
.fm-path__flow .fm-path__task{margin-left:0}
/* Franco's pull quote */
.fm-pathquote{display:grid;gap:var(--space-3);padding:var(--space-4) 0 var(--space-5);border-top:var(--border-width-strong) solid var(--border-strong);border-bottom:var(--border-width) solid var(--border-1);max-width:44rem}
.fm-pathquote blockquote{margin:0;font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:clamp(1.5rem,1rem + 1.6vw,2.375rem);line-height:1.08;letter-spacing:-0.03em;color:var(--text-1);text-wrap:balance}
.fm-pathquote blockquote::before{content:"\201C";color:var(--accent)}
.fm-pathquote blockquote::after{content:"\201D";color:var(--accent)}
.fm-pathquote figcaption{font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-3)}
/* Learner quote (testimonial) */
.fm-learner{display:grid;gap:var(--space-4);padding:var(--space-6) var(--space-7);background:var(--surface-tint);border-radius:var(--radius-lg);max-width:44rem}
.fm-learner blockquote{margin:0;font-family:var(--font-reading);font-style:italic;font-size:var(--fs-lede);line-height:1.4;color:var(--text-1);text-wrap:pretty}
.fm-learner figcaption{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text-3)}
.fm-learner figcaption>span:last-child{display:grid}
.fm-learner strong{color:var(--text-1)}
.fm-learner__avatar{display:grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--gradient-brand);color:var(--white);font-weight:var(--fw-bold);font-size:0.8125rem}
/* Step "why" note replaces the generic deck when a path is narrated */
.fm-pstep__why{display:grid;gap:var(--space-1);margin:0;padding-left:var(--space-4);border-left:var(--border-width-strong) solid var(--accent-soft);font-family:var(--font-reading);font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-1)}
.fm-path--narrated .fm-path__mhead h2{margin:0}
@media (max-width:599.98px){
  .fm-prow{gap:var(--space-3)}
  .fm-prow__node--icon{width:1.5rem;height:1.5rem;font-size:0.7rem}
  .fm-learner{padding:var(--space-5)}
  .fm-learner blockquote{font-size:1.1875rem}
  .fm-pathquote blockquote{font-size:1.5rem}
  .fm-path__milestone{margin-top:var(--space-9)}
  .fm-pstep__why{padding-left:var(--space-3)}
}
.fm-path{gap:0}
