/* FFC Publication Skin v1.0 — brand spec v2 ("FFC Bright") */
:root{
  --paper:#FAF7F2; --sand:#F0E9DD; --ink:#26303B; --slate-muted:#6B7480;
  --aubergine:#490839; --aubergine-soft:#66224F; --aubergine-mid:#6B2153; --aubergine-tint:#F2DEEA;
  --carrot-deep:#A33203; --carrot:#D63E05; --carrot-bright:#F94500; --carrot-tint:#FFE0CF;
  --magenta-deep:#7A1048; --magenta:#E0218A; --magenta-tint:#FBDFF0;
  --gold-deep:#93660A; --gold:#F5B301; --gold-tint:#FFF3CC;
  --f-masthead:'Playfair Display',Georgia,serif;
  --f-editorial:'Newsreader',Georgia,serif;
  --f-ui:'Libre Franklin',-apple-system,sans-serif;
}
body.ffcskin{background:var(--paper)!important;color:var(--ink);font-family:var(--f-editorial);font-size:17.5px;line-height:1.65;margin:0}
.ffcskin a{color:inherit;text-decoration:none}
.ffcskin a:focus-visible{outline:2px solid var(--carrot);outline-offset:3px}
.ffc-wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.ffc-narrow{max-width:780px}

/* eyebrows, avatars */
.ffc-eyebrow{display:inline-block;font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--aubergine-soft)}
.topic-gold .ffc-eyebrow{color:var(--gold-deep)}
.topic-carrot .ffc-eyebrow{color:var(--carrot-deep)}
.topic-magenta .ffc-eyebrow{color:var(--magenta-deep)}
.ffc-eyebrow-light{color:var(--gold)}
.ffc-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-ui);font-size:12px;font-weight:600;background:var(--aubergine);color:var(--paper);flex-shrink:0}

/* header */
.ffc-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 0 20px;flex-wrap:wrap}
.ffc-masthead{font-family:var(--f-masthead);font-size:clamp(28px,3.6vw,36px);line-height:1.05;color:var(--ink)}
.ffc-masthead b{font-weight:700}.ffc-masthead span{font-weight:400}
.ffc-strapline{font-family:var(--f-ui);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-muted);margin-top:7px}
.ffc-utility{display:flex;gap:24px;font-family:var(--f-ui);font-size:13px;font-weight:500;color:var(--slate-muted);padding-bottom:5px;flex-wrap:wrap}
.ffc-utility a:hover{color:var(--ink)}
.ffc-topics{border-top:1px solid #E5DED2;background:var(--paper)}
.ffc-topics ul{display:flex;gap:30px;list-style:none;overflow-x:auto;padding:14px 0;margin:0}
.ffc-topics a{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;white-space:nowrap}
.ffc-topics a:hover{color:var(--carrot)}

/* article head */
.ffc-article-head{background:var(--aubergine);color:var(--paper);padding:56px 0 44px;margin-bottom:36px}
.topic-gold .ffc-article-head{background:var(--gold);color:var(--aubergine)}
.topic-magenta .ffc-article-head{background:var(--magenta-deep)}
.ffc-article-head .ffc-eyebrow{color:var(--gold);margin-bottom:14px}
.topic-gold .ffc-article-head .ffc-eyebrow{color:var(--aubergine-soft)}
.ffc-title{font-family:var(--f-editorial)!important;font-weight:600;font-size:clamp(30px,4.4vw,46px);line-height:1.15;margin:0 0 18px;color:var(--paper)!important}
.topic-gold .ffc-article-head .ffc-title{color:var(--aubergine)!important}
.ffc-article-head .ffc-byline{color:inherit}
.ffc-byline{display:flex;align-items:center;gap:10px;font-family:var(--f-ui);font-size:13.5px;flex-wrap:wrap;opacity:.92}
.topic-gold .ffc-article-head .ffc-byline .ffc-avatar{background:var(--aubergine);color:var(--gold)}
.ffc-dot{opacity:.6}

/* featured image */
.ffc-featured img{width:100%;height:auto;border-radius:18px;display:block;margin:0 0 32px}

/* content typography */
.ffc-content{padding-bottom:56px}
.ffc-content p{margin:0 0 18px;color:#3C4654}
.ffc-content strong{color:var(--ink)}
.ffc-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--carrot)}
.ffc-content a:hover{color:var(--carrot-deep)}
.ffc-content h2{font-family:var(--f-editorial);font-weight:600;font-size:27px;line-height:1.25;margin:42px 0 14px;color:var(--ink)}
.ffc-content h3{font-family:var(--f-editorial);font-weight:600;font-size:21px;line-height:1.3;margin:32px 0 10px;color:var(--ink)}
.ffc-content h4{font-family:var(--f-ui);font-weight:600;font-size:15px;letter-spacing:.5px;margin:26px 0 8px}
.ffc-content ul,.ffc-content ol{margin:0 0 18px 24px;color:#3C4654}
.ffc-content li{margin-bottom:8px}
.ffc-content img{max-width:100%;height:auto;border-radius:14px}
.ffc-content figure{margin:26px 0}
.ffc-content blockquote{font-family:var(--f-editorial);font-style:italic;font-weight:500;font-size:22px;line-height:1.45;color:var(--magenta-deep);border-top:1.5px solid var(--magenta);border-bottom:1.5px solid var(--magenta);padding:22px 6px;margin:34px 0}
.ffc-content blockquote p{color:inherit;margin:0}
.ffc-content iframe{max-width:100%;border-radius:12px;margin:10px 0 22px}
.ffc-content hr{border:none;border-top:1px solid #E5DED2;margin:36px 0}
.ffc-content table{width:100%;border-collapse:collapse;font-family:var(--f-ui);font-size:14px;margin:20px 0}
.ffc-content th{background:var(--sand);text-align:left;padding:9px 12px}
.ffc-content td{border-top:1px solid #E5DED2;padding:9px 12px;color:#3C4654}
.ffc-content .wp-block-button__link,.ffc-content .button{display:inline-block;font-family:var(--f-ui);font-size:15px;font-weight:500;background:var(--carrot);color:var(--paper);padding:13px 30px;border-radius:999px;text-decoration:none}

/* archive */
.ffc-archive-head{background:var(--aubergine);color:var(--paper);padding:52px 0 42px;margin-bottom:40px}
.ffc-archive-title{font-family:var(--f-editorial);font-weight:600;font-size:clamp(28px,4vw,42px);line-height:1.15;margin:12px 0 0}
.ffc-archive-title em{color:var(--carrot-bright);font-style:italic}
.ffc-archive-desc{color:#E9CFDE;max-width:42em;margin-top:12px}
.ffc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;padding-bottom:30px}
.ffc-card{display:flex;flex-direction:column}
.ffc-card-shot img{width:100%;height:200px;object-fit:cover;border-radius:14px;display:block}
.ffc-card .ffc-eyebrow{margin:14px 0 6px}
.ffc-card-title{font-family:var(--f-editorial);font-weight:600;font-size:20px;line-height:1.3;margin:0 0 8px}
.ffc-card-title a:hover{color:var(--aubergine-soft)}
.ffc-card-excerpt{font-size:15px;color:#3C4654;margin:0}
.ffc-card-meta{font-family:var(--f-ui);font-size:12.5px;color:var(--slate-muted);margin-top:10px}
.ffc-pagination{padding:10px 0 64px;font-family:var(--f-ui);font-size:14px}
.ffc-pagination .nav-links{display:flex;gap:14px;flex-wrap:wrap}
.ffc-pagination a,.ffc-pagination span.current{padding:8px 14px;border-radius:999px;border:1px solid #E5DED2}
.ffc-pagination span.current{background:var(--aubergine);color:var(--paper);border-color:var(--aubergine)}
.ffc-pagination a:hover{border-color:var(--carrot);color:var(--carrot-deep)}
.ffc-none{padding:20px 0 60px}
.ffc-none a{text-decoration:underline}

/* comments */
.ffc-comments{padding-bottom:64px;font-size:16px}
.ffc-comments .comments-title,.ffc-comments .comment-reply-title{font-family:var(--f-editorial);font-weight:600;font-size:23px;margin:10px 0 18px}
.ffc-comments .comment-list{list-style:none;margin:0;padding:0}
.ffc-comments .comment{background:var(--sand);border-radius:14px;padding:18px 20px;margin-bottom:14px}
.ffc-comments .children{list-style:none;margin:14px 0 0;padding:0 0 0 22px}
.ffc-comments .comment-meta,.ffc-comments .comment-metadata{font-family:var(--f-ui);font-size:12.5px;color:var(--slate-muted)}
.ffc-comments .comment-author .fn{font-weight:600;font-style:normal;color:var(--ink)}
.ffc-comments .avatar{border-radius:50%}
.ffc-comments .reply a{font-family:var(--f-ui);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--carrot-deep)}
.ffc-comments input[type=text],.ffc-comments input[type=email],.ffc-comments input[type=url],.ffc-comments textarea{width:100%;border:1px solid #D8CFBE;border-radius:10px;padding:10px 12px;font-family:var(--f-ui);font-size:14px;background:#fff;box-sizing:border-box}
.ffc-comments input[type=submit]{font-family:var(--f-ui);font-size:15px;font-weight:500;background:var(--carrot);color:var(--paper);padding:12px 28px;border-radius:999px;border:none;cursor:pointer}
.ffc-comments input[type=submit]:hover{background:var(--carrot-deep)}

/* footer */
.ffc-footer{background:var(--aubergine);color:#E9CFDE;padding:58px 0 44px;font-size:16px}
.ffc-foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.ffc-footmark{display:flex;align-items:center;gap:14px}
.ffc-footicon{width:44px;height:44px;border-radius:10px;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ffc-footicon span{font-family:var(--f-masthead);font-size:24px;color:var(--aubergine);line-height:1}
.ffc-footicon b{font-weight:700}
.ffc-footer .ffc-masthead{color:var(--paper);font-size:25px}
.ffc-tagline{font-family:var(--f-editorial);font-style:italic;font-size:16px;margin-top:14px;max-width:22em;color:#D8A8C4}
.ffc-foot h5{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#B7799F;margin:0 0 14px}
.ffc-foot ul{list-style:none;margin:0;padding:0}
.ffc-foot li{margin-bottom:9px}
.ffc-foot a{font-family:var(--f-ui);font-size:14px;color:#F0DCE9}
.ffc-foot a:hover{color:#fff}
.ffc-legal{border-top:1px solid var(--aubergine-soft);margin-top:48px;padding-top:22px;font-family:var(--f-ui);font-size:12px;color:#B7799F;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* plugin add-ons that ride along (StarBox, related posts) — soften into the brand */
.ffcskin .abh_box{background:var(--sand)!important;border:none!important;border-radius:16px;padding:24px!important;font-family:var(--f-ui)}
.ffcskin .rp4wp-related-posts,.ffcskin .related_post_title{font-family:var(--f-editorial)}

@media(max-width:900px){
  .ffc-foot{grid-template-columns:1fr 1fr}
  .ffc-article-head{padding:40px 0 32px}
}
