/* ==========================================================================
   Flint & Flicker — boutique refresh (loaded last, after all other styles)
   Softer shapes, refined header, image-led page heroes, boutique shop.
   ========================================================================== */
:root{
  --ff-cream:#f6f1e6; --ff-ivory:#fbf8f1; --ff-paper:#fffdf8;
  --ff-ink:#211f19; --ff-ink-soft:#4a4437;
  --ff-ember:#611e21; --ff-ember-2:#7d2a2e;
  --ff-gold:#b08d57; --ff-gold-soft:#e8d8b6;
  --ff-wood:#2b201a;
  --ff-line:rgba(97,30,33,.14); --ff-line-2:rgba(43,32,26,.12);
  --ff-radius:18px; --ff-radius-lg:26px; --ff-radius-sm:12px;
  --ff-shadow:0 18px 40px -26px rgba(43,32,26,.55),0 2px 8px rgba(43,32,26,.06);
  --ff-shadow-hover:0 26px 50px -26px rgba(43,32,26,.6),0 4px 12px rgba(43,32,26,.08);
  --radius:18px;
}
html{scroll-behavior:smooth}

/* ---- The red bars are retired ------------------------------------------ */
.top-ribbon,.ap-topline{display:none !important}

/* ---- Header ------------------------------------------------------------- */
.ff-header{position:relative;z-index:80;background:linear-gradient(180deg,#fcf9f2 0%,#f6f1e6 100%);border-bottom:1px solid var(--ff-line);box-shadow:0 16px 34px -30px rgba(43,32,26,.7);text-align:center;padding:0 4vw 16px;font-family:'Cormorant Garamond',Georgia,serif}
.ff-header *,.ff-header *::before,.ff-header *::after{box-sizing:border-box}
.ff-util{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1280px;margin:0 auto;padding:12px 0 0;font:600 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#85795f}
.ff-util .ff-tagline{text-align:left}
.ff-util .ff-tagline b{font-weight:600;color:var(--ff-ember)}
.ff-social{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.ff-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;border:1px solid var(--ff-line);background:var(--ff-paper);color:var(--ff-ember);text-decoration:none;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 6px 14px -10px rgba(43,32,26,.5);transition:transform .2s,background .2s,color .2s,border-color .2s}
.ff-pill svg{width:16px;height:16px;flex:none;fill:currentColor}
.ff-nav-icon{width:15px;height:15px;flex:none;fill:currentColor;vertical-align:-2px;margin-right:6px}
.ff-pill:hover{background:var(--ff-ember);border-color:var(--ff-ember);color:#fff;transform:translateY(-1px)}
.ff-pill.ff-bmc{background:linear-gradient(180deg,#f6e7bd,#ebd497);border-color:#d5b874;color:#4a3411}
.ff-pill.ff-bmc:hover{background:var(--ff-wood);border-color:var(--ff-wood);color:#f6e7bd}
.ff-brand{display:block;width:min(285px,60vw);margin:4px auto 6px}
.ff-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 14px rgba(43,32,26,.30))}
.ff-toggle{display:none;margin:4px auto 8px;padding:10px 22px;border-radius:999px;border:1px solid var(--ff-line);background:var(--ff-paper);color:var(--ff-ember);font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.ff-nav{max-width:1280px;margin:0 auto}
.ff-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;padding:2px 0}
.ff-row>a,.ff-row summary{display:inline-block;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;font-weight:600;line-height:1.2;color:#2a2620;text-decoration:none;padding:7px 15px;border-radius:999px;white-space:nowrap;cursor:pointer;list-style:none;transition:background .2s,color .2s,box-shadow .2s}
.ff-row summary::-webkit-details-marker{display:none}
.ff-row>a:hover,.ff-row summary:hover{background:rgba(97,30,33,.08);color:var(--ff-ember)}
.ff-row>a.is-current{box-shadow:inset 0 -2px 0 var(--ff-gold);color:var(--ff-ember)}
.ff-row-sub{position:relative;margin-top:8px;padding-top:10px}
.ff-row-sub::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(620px,84%);height:1px;background:linear-gradient(90deg,transparent,var(--ff-gold),transparent)}
.ff-row-sub>a{font-size:19px;letter-spacing:.015em}
.ff-row>a.ff-hl{background:linear-gradient(180deg,var(--ff-ember-2),var(--ff-ember));color:#fbf1de;box-shadow:0 10px 20px -10px rgba(97,30,33,.85),inset 0 0 0 1px rgba(255,255,255,.16)}
.ff-row>a.ff-hl:hover{background:linear-gradient(180deg,#8a3236,#6d2226);color:#fff}
.ff-caution{display:inline-block;margin-left:8px;padding:3px 9px 2px;border-radius:999px;background:#fbe6bd;border:1px solid #e0b25f;color:#8a2c10;font:700 10px/1.5 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;vertical-align:middle;position:relative;top:-1px}
.ff-paths{position:relative}
.ff-paths summary::after{content:"";display:inline-block;margin-left:8px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;vertical-align:middle;position:relative;top:-1px}
.ff-paths-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:230px;display:flex;flex-direction:column;background:var(--ff-paper);border:1px solid var(--ff-line);border-radius:var(--ff-radius);box-shadow:var(--ff-shadow-hover);padding:8px;z-index:90;text-align:left}
.ff-paths-menu a{display:block;padding:9px 14px;border-radius:12px;color:#2a2620;text-decoration:none;font-size:19px;font-weight:600}
.ff-paths-menu a:hover{background:rgba(97,30,33,.08);color:var(--ff-ember)}

@media (max-width:900px){
  .ff-util .ff-tagline{display:none}
  .ff-social{margin:0 auto;justify-content:center}
  .ff-toggle{display:inline-block}
  .ff-nav{display:none}
  .ff-nav.is-open{display:block}
  .ff-row-sub::before{width:70%}
  .ff-row>a,.ff-row summary{font-size:19px;padding:7px 12px}
  .ff-paths-menu{position:static;transform:none;margin-top:6px;min-width:0}
}

/* ---- Breadcrumb ----------------------------------------------------------- */
.crumb{padding:18px 6vw 0 !important;max-width:1280px;margin:0 auto;font-size:15px !important;color:#7b705a}
.crumb a{color:var(--ff-ember)}

/* ---- Image-led page heroes ------------------------------------------------- */
.page-hero.has-figure .wrap,.editorial-hero.has-figure{max-width:1280px !important}
.ff-hero-grid{display:grid !important;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:center;text-align:left}
.ff-hero-copy{min-width:0}
.ff-hero-copy h1{font-size:clamp(2.6rem,4.5vw,4.7rem) !important;max-width:17ch}
.ff-hero-copy .lede{max-width:34em}
.ff-hero-figure{position:relative;margin:0;border-radius:var(--ff-radius-lg);overflow:hidden;background:var(--ff-wood);box-shadow:0 34px 60px -34px rgba(43,32,26,.8),0 3px 10px rgba(43,32,26,.12);border:1px solid rgba(43,32,26,.18);transform:rotate(.6deg);transition:transform .5s}
.ff-hero-figure:hover{transform:rotate(0) translateY(-2px)}
.ff-hero-figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.ff-hero-figure::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,244,214,.38);border-radius:calc(var(--ff-radius-lg) - 9px);pointer-events:none}
.editorial-hero.ff-hero-split{text-align:left}
@media (max-width:860px){
  .ff-hero-grid{grid-template-columns:1fr}
  .ff-hero-figure{order:-1;transform:none}
  .ff-hero-copy h1{max-width:none}
}

/* ---- Softer boxes ------------------------------------------------------------ */
.card,.box,.box-alt,.tarot-card,.product-card,.catalog-product,.search-result,.callout,.ff-card,.path-tile,.sabbat-card,.shoe-card,.budget-card,.widget,.tool,.tool-portrait,.editor-note,.reading,.contents,.stat,.table-wrap,.filter-bar,.home-tab-grid a,.pill,input[type=search],input[type=text],input[type=email],textarea,select,.button-link,.print-button,.text-link.boxed{border-radius:var(--ff-radius) !important}
.pill,.button-link,.print-button{border-radius:999px !important}
.card,.box,.box-alt,.ff-card,.path-tile,.sabbat-card,.budget-card,.widget,.callout,.editor-note,.home-tab-grid a,.tool{box-shadow:var(--ff-shadow) !important;border-color:var(--ff-line-2) !important;transition:transform .25s,box-shadow .25s,border-color .25s}
.card,.ff-card,.home-tab-grid a{background-color:var(--ff-paper) !important}
a.card:hover,a.ff-card:hover,a.path-tile:hover,.sabbat-card:hover,.home-tab-grid a:hover{transform:translateY(-3px);box-shadow:var(--ff-shadow-hover) !important;border-color:var(--ff-gold) !important}
.card,.ff-card,.path-tile,.sabbat-card,.tool{overflow:hidden}
.ff-card img,.path-tile img,.sabbat-card img,.tool-portrait img,.card img{border-radius:0}
.home-cabinet,.page-hero{border-radius:0}
.home-hero figure{border-radius:var(--ff-radius-lg);overflow:hidden;box-shadow:0 34px 60px -34px rgba(43,32,26,.8)}
.home-hero figure img{border-radius:var(--ff-radius-lg)}
main img.rounded,.prose img{border-radius:var(--ff-radius)}
.prose blockquote,blockquote{border-radius:0 var(--ff-radius) var(--ff-radius) 0}
.button-link{box-shadow:0 12px 22px -14px rgba(97,30,33,.7)}

/* ---- Small helpers ------------------------------------------------------------ */
.ff-index{margin:0 auto 6px;max-width:1080px;padding:0 6vw}
.ff-index-panel{background:var(--ff-paper);border:1px solid var(--ff-line-2);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow);padding:26px clamp(20px,3vw,38px)}
.ff-index-panel h2{font-size:clamp(1.9rem,2.6vw,2.6rem) !important;margin:0 0 6px}
.ff-index-panel .eyebrow{margin-bottom:8px}
.ff-index-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px 28px;margin-top:14px}
.ff-index-cols h3{font-family:Inter,system-ui,sans-serif !important;font-size:11px !important;letter-spacing:.17em !important;text-transform:uppercase;color:var(--ff-gold) !important;margin:0 0 8px;font-weight:700}
.ff-index-cols a{display:block;padding:5px 0;color:var(--ff-ink);text-decoration:none;border-bottom:1px dotted rgba(43,32,26,.2);font-size:20px;line-height:1.3}
.ff-index-cols a:hover{color:var(--ff-ember);border-bottom-color:var(--ff-ember)}
.ff-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.ff-chips a{display:inline-block;padding:8px 16px;border-radius:999px;border:1px solid var(--ff-line);background:var(--ff-paper);color:var(--ff-ember);text-decoration:none;font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,color .2s}
.ff-chips a:hover{background:var(--ff-ember);color:#fff}
.ff-anchor{scroll-margin-top:24px}

/* ---- Journals & printables (Practice page) ------------------------------------- */
.ff-journals{max-width:1080px;margin:0 auto;padding:30px 6vw 70px}
.ff-journals .ff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:22px}
.ff-journals .ff-card{display:block;text-decoration:none;color:inherit;background:var(--ff-paper);border:1px solid var(--ff-line-2)}
.ff-journals .ff-card{display:flex !important;flex-direction:column}
.ff-journals .ff-card img,.ff-journals .ff-thumb{display:block;width:100%;height:170px;object-fit:cover;flex:none}
.ff-thumb{position:relative;background:radial-gradient(circle at 28% 22%,#f6ead0,#ead9ae 55%,#d9c08a);border-bottom:1px solid var(--ff-line-2)}
.ff-thumb::after{content:"\2726";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px;color:rgba(97,30,33,.35)}
.ff-journals .ff-card-body{flex:1}
.ff-journals .ff-card-body{padding:22px 24px 24px;position:relative}
.ff-journals .ff-card h3{font-size:2rem !important;margin:6px 0 8px}
.ff-journals .ff-card p{margin:0;font-size:19px}
.ff-journals .card-arrow{position:absolute;top:16px;right:20px;color:var(--ff-gold);font-size:22px}

/* ---- Articles: sections + search ------------------------------------------------- */
.ff-articles{max-width:1180px;margin:0 auto;padding:36px 6vw 80px}
.ff-searchbar{position:sticky;top:0;z-index:40;background:#f6f1e6;padding:14px 0 12px;margin:0 0 6px;box-shadow:0 10px 14px -12px rgba(43,32,26,.35)}
.ff-search{display:flex;align-items:center;gap:10px;max-width:640px;margin:0 auto;background:var(--ff-paper);border:1px solid var(--ff-line);border-radius:999px;padding:6px 8px 6px 20px;box-shadow:var(--ff-shadow)}
.ff-search svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--ff-gold);stroke-width:2;stroke-linecap:round}
.ff-search input{flex:1;min-width:0;border:0 !important;background:transparent !important;outline:0;box-shadow:none !important;font:500 20px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--ff-ink);padding:9px 4px}
.ff-search button{border:0;background:var(--ff-ember);color:#fff;border-radius:999px;padding:10px 18px;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.ff-search-count{text-align:center;color:#7b705a;font:500 14px/1.4 Inter,system-ui,sans-serif;margin:8px 0 0;min-height:1.4em}
.ff-art-section{margin-top:44px;scroll-margin-top:90px}
.ff-art-head{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--ff-line);padding-bottom:10px;margin-bottom:22px}
.ff-art-head h2{font-size:clamp(2rem,3.2vw,3rem) !important;margin:0}
.ff-art-head span{font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ff-gold)}
.ff-art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px}
.ff-art-grid .card{display:block;text-decoration:none;color:inherit;background:var(--ff-paper);border:1px solid var(--ff-line-2);padding:24px 26px 26px;height:100%}
.ff-art-grid .card h3{font-size:1.7rem !important;margin:8px 0 8px}
.ff-art-grid .card p{margin:0;font-size:18.5px;line-height:1.5}
.ff-art-grid .card .tag{display:inline-block}
.ff-noresults{display:none;text-align:center;padding:50px 0;color:#7b705a;font-size:22px}
.ff-noresults.is-on{display:block}
.is-hidden{display:none !important}

/* ---- Shop ---------------------------------------------------------------------------- */
.ff-shop{max-width:1240px;margin:0 auto;padding:30px 5vw 90px}
.ff-disclosure{max-width:820px;margin:0 auto 26px;text-align:center;background:var(--ff-paper);border:1px solid var(--ff-line-2);border-radius:var(--ff-radius);padding:14px 22px;font:500 14px/1.55 Inter,system-ui,sans-serif;color:#6b604c}
.ff-shop-nav{padding:6px 0 4px;margin-bottom:8px}
.ff-shop-nav .ff-chips{justify-content:center;margin:0}
.ff-shop-section{margin-top:52px;scroll-margin-top:84px}
.ff-shop-section>header{text-align:center;margin-bottom:26px}
.ff-shop-section>header .eyebrow{margin-bottom:6px}
.ff-shop-section>header h2{margin:0 0 8px;font-size:clamp(2.2rem,3.6vw,3.6rem) !important}
.ff-shop-section>header p{max-width:52ch;margin:0 auto;font-size:20px;color:var(--ff-ink-soft)}
.ff-sub{margin:34px 0 16px;text-align:left;font-family:Inter,system-ui,sans-serif !important;font-size:12px !important;letter-spacing:.18em !important;text-transform:uppercase;color:var(--ff-gold) !important;font-weight:700;display:flex;align-items:center;gap:14px}
.ff-sub::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--ff-line),transparent)}
.ff-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.ff-product{display:flex;flex-direction:column;background:var(--ff-paper);border:1px solid var(--ff-line-2);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.ff-product:hover{transform:translateY(-4px);box-shadow:var(--ff-shadow-hover);border-color:var(--ff-gold)}
.ff-product-img{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff;text-decoration:none}
.ff-product-img img{position:absolute;top:14px;left:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain;display:block;transition:transform .4s}
.ff-product:hover .ff-product-img img{transform:scale(1.04)}
.ff-product-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 20px;border-top:1px solid var(--ff-line-2)}
.ff-product-body h4{margin:0 0 14px;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.28;font-weight:600;color:var(--ff-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ff-buy{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:999px;background:var(--ff-ember);color:#fbf1de;text-decoration:none;font:600 11px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:background .2s}
.ff-buy:hover{background:var(--ff-wood);color:#fff}
.ff-shop-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;background:linear-gradient(135deg,#2b201a,#3a2a20);color:#f4ead6;border-radius:var(--ff-radius-lg);padding:clamp(24px,4vw,48px);box-shadow:var(--ff-shadow)}
.ff-shop-feature h2,.ff-shop-feature p{color:#f4ead6 !important}
.ff-shop-feature .eyebrow{color:var(--ff-gold-soft) !important}
.ff-shop-feature .ff-buy{background:var(--ff-gold);color:#241a10;align-self:flex-start;margin-top:8px}
@media (max-width:760px){.ff-shop-feature{grid-template-columns:1fr}.ff-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ff-product-body{padding:12px 12px 16px}.ff-product-body h4{font-size:17px}}

/* ---- Articles: shop call-out at the bottom ------------------------------------------------ */
.ff-shoplink{margin:44px 0 0;padding:26px clamp(20px,3vw,36px);border-radius:var(--ff-radius-lg);background:linear-gradient(135deg,#fbf3e0,#f3e6c6);border:1px solid #e2cf9f;box-shadow:var(--ff-shadow);display:flex;gap:22px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ff-shoplink h3{margin:0 0 4px;font-size:2rem !important}
.ff-shoplink p{margin:0;font-size:19px}
.ff-shoplink .ff-buy{padding:14px 24px}

/* ---- Fairy Magic / Knot Magic ------------------------------------------------------------ */
.ff-warning{position:relative;margin:0 auto 34px;max-width:1080px;background:linear-gradient(135deg,#fff3d6,#fde6b4);border:1px solid #e0b25f;border-left:8px solid #b3391c;border-radius:var(--ff-radius-lg);padding:24px clamp(20px,3vw,36px);box-shadow:var(--ff-shadow);color:#3b2410}
.ff-warning h2{margin:0 0 6px !important;font-size:clamp(1.9rem,2.6vw,2.6rem) !important;color:#8a2c10 !important;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ff-warning p{margin:0 0 8px;color:#3b2410 !important;font-size:20px}
.ff-warning p:last-child{margin-bottom:0}
.ff-warning .ff-caution{margin:0;top:0}
.ff-spell{background:var(--ff-paper);border:1px solid var(--ff-line-2);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow);padding:clamp(22px,3vw,40px);margin:26px 0}
.ff-spell>.eyebrow{margin-bottom:4px}
.ff-spell h3{font-size:clamp(2rem,3vw,2.9rem) !important;margin:0 0 14px}
.ff-spell-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0 0 18px}
.ff-spell-meta div{background:var(--ff-cream);border:1px solid var(--ff-line-2);border-radius:var(--ff-radius);padding:12px 16px}
.ff-spell-meta dt{font:700 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ff-gold);margin:0 0 6px}
.ff-spell-meta dd{margin:0;font-size:19px;line-height:1.4}
.ff-spell h4{font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--ff-ember);margin:22px 0 8px}
.ff-spell ol{margin:0 0 6px 1.2em;padding:0}
.ff-spell li{margin:0 0 7px}
.ff-incant{margin:18px 0 6px;padding:20px 26px;border-left:4px solid var(--ff-gold);background:linear-gradient(135deg,#fbf6e8,#f4ecd7);border-radius:0 var(--ff-radius) var(--ff-radius) 0;font-style:italic;font-size:22px;line-height:1.6}
.ff-note{margin:24px 0;padding:18px 24px;border-radius:var(--ff-radius);border:1px solid var(--ff-line-2);background:var(--ff-ivory);font-size:19.5px}
.ff-table-wrap{overflow-x:auto;margin:20px 0;border-radius:var(--ff-radius);border:1px solid var(--ff-line-2);box-shadow:var(--ff-shadow)}
.ff-table-wrap table{width:100%;border-collapse:collapse;background:var(--ff-paper);font-size:18.5px;line-height:1.45}
.ff-table-wrap th{background:var(--ff-wood);color:#f4ead6;font:700 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:14px 16px}
.ff-table-wrap td{padding:14px 16px;border-top:1px solid var(--ff-line-2);vertical-align:top}
.ff-table-wrap td:first-child{font-weight:600;white-space:nowrap}
.ff-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:0;list-style:none}
.ff-toc a{display:inline-block;padding:8px 16px;border-radius:999px;border:1px solid var(--ff-line);background:var(--ff-paper);color:var(--ff-ember);text-decoration:none;font:600 12px/1 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.ff-toc a:hover{background:var(--ff-ember);color:#fff}

/* shop title */
.ff-shop-section>header h1{margin:0 0 10px;font-size:clamp(2.8rem,5vw,4.6rem) !important}
.shop-budget-message{max-width:820px;margin-left:auto !important;margin-right:auto !important;border-radius:var(--ff-radius) !important}
/* readable article measure and hero type */
.narrow.prose>*{max-width:880px}
.narrow.prose p,.narrow.prose li{font-size:20px;line-height:1.7}
.narrow.prose li{margin-bottom:6px}
.narrow.prose>p{margin-bottom:1.1em}
.page-hero:not(.has-figure) h1{max-width:1000px}
.page-hero:not(.has-figure) .lede{font-size:22px;line-height:1.55;max-width:780px}
.narrow.prose>.ff-warning{margin-left:0;margin-right:0}
/* hero polish */
.page-hero.has-figure{padding-bottom:clamp(30px,4vw,56px) !important}
.editorial-hero.ff-hero-split h1{margin-left:0 !important;max-width:14ch !important}

/* ---- Menu dropdowns (Practice, Paths, Spells, Tarot) --------------------- */
.ff-row summary.is-current{box-shadow:inset 0 -2px 0 var(--ff-gold);color:var(--ff-ember)}
.ff-paths-menu a.is-current{background:rgba(97,30,33,.08);color:var(--ff-ember)}
.ff-paths[open]>summary{background:rgba(97,30,33,.08);color:var(--ff-ember)}
.ff-paths[open]>summary::after{transform:rotate(180deg)}

/* ---- Site footer (same on every page) ----------------------------------- */
footer.ff-footer{background:var(--ff-wood);color:#e9dfc9;border-top:3px solid var(--ff-gold);padding:52px 6vw 28px;margin-top:0;text-align:left;font-family:Inter,system-ui,sans-serif}
.ff-foot-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ff-foot-name{font:600 32px/1.1 'Cormorant Garamond',Georgia,serif;color:#fbf1de;text-decoration:none}
.ff-foot-name span{color:var(--ff-gold)}
footer.ff-footer .ff-foot-brand p{margin:12px 0 0;color:#c9bca0;font-size:15px;line-height:1.6}
.ff-foot-col h2{margin:0 0 12px;font:600 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--ff-gold)}
.ff-foot-col a{display:block;padding:4px 0;color:#e9dfc9;text-decoration:none;font-size:15px}
.ff-foot-col a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--ff-gold)}
footer.ff-footer .ff-foot-fine{max-width:1180px;margin:36px auto 0;padding-top:18px;border-top:1px solid rgba(232,216,182,.18);text-align:center;font-size:12px;letter-spacing:.05em;color:#a8997b}
@media (max-width:800px){.ff-foot-inner{grid-template-columns:1fr 1fr}.ff-foot-brand{grid-column:1/-1}}
@media (max-width:460px){.ff-foot-inner{grid-template-columns:1fr}}
@media (max-width:900px){.ff-paths[open]{flex-basis:100%}.ff-paths[open] .ff-paths-menu{max-width:340px;margin:6px auto 0}}

/* ---- Herb & crystal library ----------------------------------------------- */
.ff-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:18px 0 0}
.ff-lib-grid-sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.ff-lib-card{display:flex;flex-direction:column;background:var(--ff-paper);border:1px solid var(--ff-line);border-radius:var(--ff-radius);overflow:hidden;text-decoration:none;color:var(--ff-ink);box-shadow:var(--ff-shadow);transition:transform .2s,box-shadow .2s}
.ff-lib-card:hover{transform:translateY(-3px);box-shadow:var(--ff-shadow-hover)}
.ff-lib-card[hidden]{display:none}
.ff-lib-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0;border-radius:0}
.ff-lib-card span{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px}
.ff-lib-card strong{font:600 21px/1.15 'Cormorant Garamond',Georgia,serif;color:var(--ff-ember)}
.ff-lib-card em{font:400 13px/1.4 Inter,system-ui,sans-serif;font-style:normal;color:var(--ff-ink-soft)}
.ff-lib-grid-sm .ff-lib-card strong{font-size:18px}
.reading .ff-lib-grid a{text-decoration:none}
.ff-lib-photo{margin:0 0 26px}
.ff-lib-photo img{display:block;width:100%;height:auto;border-radius:var(--ff-radius);box-shadow:var(--ff-shadow)}
.ff-lib-photo figcaption{margin-top:8px;font:500 13px/1.4 Inter,system-ui,sans-serif;color:#7b705a;text-align:center;letter-spacing:.04em}
.ff-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0 8px;padding:0}
.ff-facts div{background:var(--ff-ivory);border:1px solid var(--ff-line);border-radius:var(--ff-radius-sm);padding:10px 14px}
.ff-facts dt{font:600 11px/1.3 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ff-gold);margin:0 0 4px}
.ff-facts dd{margin:0;font-size:16px;line-height:1.45}
.ff-lib-note{font-size:14px;color:#7b705a;margin-top:26px}
table.corr td.name a{color:var(--ff-ember);text-decoration:underline;text-decoration-color:rgba(176,141,87,.5);text-underline-offset:3px}
.ff-lib-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
/* older stylesheets style every <footer>; reset them for the shared footer */
footer.ff-footer{display:block;min-height:0;gap:0;text-transform:none;letter-spacing:normal;font:400 15px/1.5 Inter,system-ui,sans-serif;background:var(--ff-wood);color:#e9dfc9;position:relative;z-index:1}
footer.ff-footer span{color:inherit}
footer.ff-footer .ff-foot-name span{color:var(--ff-gold)}

/* ---- Spells --------------------------------------------------------------- */
.ff-spell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:18px 0}
.ff-spell-grid-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ff-spell-card{display:flex;flex-direction:column;gap:6px;background:var(--ff-paper);border:1px solid var(--ff-line);border-radius:var(--ff-radius);padding:18px 18px 16px;color:var(--ff-ink);text-decoration:none;box-shadow:var(--ff-shadow);transition:transform .2s,box-shadow .2s;scroll-margin-top:24px}
.ff-spell-card:hover{transform:translateY(-3px);box-shadow:var(--ff-shadow-hover)}
.ff-spell-card[hidden],.ff-spell-section[hidden]{display:none}
.ff-spell-card.is-target{outline:2px solid var(--ff-gold);outline-offset:3px}
.ff-spell-card .tag{align-self:flex-start;font:600 10.5px/1.4 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ff-ember);border:1px solid var(--ff-line);border-radius:999px;padding:3px 10px}
.ff-spell-card h3{margin:4px 0 0;font:600 22px/1.15 'Cormorant Garamond',Georgia,serif;color:var(--ff-ember)}
.ff-spell-card p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ff-ink-soft)}
.ff-spell-card .ff-spell-supplies{font-size:13px;color:#7b705a}
.ff-spell-go{margin-top:auto;padding-top:6px;font:600 13px/1.3 Inter,system-ui,sans-serif;color:var(--ff-ember)}
.reading .ff-spell-grid a{text-decoration:none}
.ff-spell-section .section-head h2 a{color:inherit;text-decoration:none}
.ff-no-results{margin-top:12px;color:#7b705a}
.ff-words{margin:10px 0 6px;padding:18px 22px;border-left:3px solid var(--ff-gold);background:var(--ff-ivory);border-radius:0 var(--ff-radius-sm) var(--ff-radius-sm) 0;font:italic 500 22px/1.45 'Cormorant Garamond',Georgia,serif;color:var(--ff-ink)}
.ff-chip-label{margin:14px 0 6px;font-size:14px;color:#7b705a}
.ff-chips-row{display:flex;flex-wrap:wrap;gap:8px}
.reading a.ff-chip,.ff-chip{display:inline-block;padding:5px 12px;border:1px solid var(--ff-line);border-radius:999px;background:var(--ff-paper);font-size:14px;color:var(--ff-ember);text-decoration:none}
.ff-chip:hover{background:rgba(97,30,33,.08)}
.callout ul{margin:6px 0 0;padding-left:20px}
.callout li{margin:4px 0}
.ff-pn{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:30px 0 8px;padding-top:16px;border-top:1px solid var(--ff-line)}
.ff-pn a{font-size:15px}
.ff-pn-next{margin-left:auto;text-align:right}
@media print{.ff-header,.ff-footer,.contents,.ff-pn,.ff-spell-grid,.crumb{display:none!important}}

/* ---- Holiday cards: readable captions ------------------------------------ */
.sabbat-card{position:relative}
.sabbat-card .overlay{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:48px 18px 16px;background:linear-gradient(180deg,rgba(20,14,10,0) 0%,rgba(20,14,10,.72) 45%,rgba(20,14,10,.92) 100%)}
.sabbat-card .overlay .date{font:600 11px/1.3 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ff-gold-soft)!important}
.sabbat-card .overlay h3{margin:2px 0 0;font:600 30px/1.1 'Cormorant Garamond',Georgia,serif;color:#fbf1de!important}
.sabbat-card .overlay .theme{margin:4px 0 0;font:400 14px/1.4 Inter,system-ui,sans-serif;color:#e9dfc9!important}
.specimen-card .specimen-more{display:inline-block;margin-top:8px;font:600 13px/1.3 Inter,system-ui,sans-serif;color:var(--ff-ember)}
