/*
Theme Name: Branneva
Theme URI: https://branneva.com/
Author: Branneva
Description: A beauty-magazine theme for Branneva: centered logo, Libre Bodoni headlines, Jost text, blush and periwinkle blocks, rounded photo cards. Hero with a floating caption card and a Just In list, Rule Watch status cards, topic circles, a newsletter blob, and article tools for ingredients, evidence, rules and shelf life. Classic PHP theme, works with the block editor and Elementor.
Version: 1.0.1
Requires at least: 6.3
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: branneva
Tags: blog, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, theme-options, translation-ready
*/

/* ==========================================================================
   1. Tokens (Customizer colors override these as CSS variables)
   ========================================================================== */
:root{
  --bn-ink:#141414;
  --bn-text:#3A3A3A;
  --bn-muted:#5E5E5E;
  --bn-bg:#FFFFFF;
  --bn-blush:#F8E1E4;
  --bn-blush-deep:#F2CDD3;
  --bn-peri:#8FA4FF;
  --bn-lilac:#E6E0FF;
  --bn-mint:#D6F0E5;
  --bn-butter:#FFE7A8;
  --bn-line:#E7E2E3;
  --bn-line-soft:#EFEAEB;
  --bn-dot:#CFC7C8;
  --bn-accent:#C8102E;
  --bn-accent-text:#A50D26;
  --bn-footer:#F8E1E4;

  --bn-head:'Libre Bodoni Variable','Libre Bodoni',Didot,'Bodoni 72',Georgia,serif;
  --bn-head-w:500;
  --bn-head-italic:italic;
  --bn-body:'Jost Variable','Jost','Futura','Century Gothic',system-ui,-apple-system,'Segoe UI',sans-serif;

  --bn-container:1280px;
  --bn-read:760px;
  --bn-gutter:32px;
  --bn-gap:48px;
  --bn-sidebar:320px;

  --bn-r-xs:8px;
  --bn-r-sm:14px;
  --bn-r-md:18px;
  --bn-r-lg:22px;
  --bn-r-xl:26px;
  --bn-pill:999px;

  --bn-shadow-card:0 20px 48px rgba(20,20,20,.10);
  --bn-shadow-sheet:0 -12px 40px rgba(20,20,20,.18);

  --bn-logo-h:56px;
  --bn-logo-h-m:36px;
  --bn-logo-size:46px;
}
@media (max-width:600px){:root{--bn-gutter:16px;--bn-gap:40px}}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bn-bg);color:var(--bn-ink);font-family:var(--bn-body);font-size:17px;line-height:1.6;font-weight:400;overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--bn-ink);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--bn-accent-text)}
:focus{outline:none}
:focus-visible{outline:3px solid var(--bn-accent);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4,h5,h6{font-family:var(--bn-head);font-weight:var(--bn-head-w);color:var(--bn-ink);line-height:1.15;margin:0}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
ul,ol{margin:0;padding:0}
figure{margin:0}
hr{border:0;height:1px;background:var(--bn-line);margin:2.4em 0}
.screen-reader-text,.bn-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;margin:0;clip:auto;white-space:normal}
.bn-skip{position:absolute;left:16px;top:-60px;z-index:1000;background:var(--bn-ink);color:#fff;padding:12px 18px;border-radius:var(--bn-pill);font-weight:600}
.bn-skip:focus{top:12px;color:#fff}
.bn-wrap{max-width:var(--bn-container);margin-inline:auto;padding-inline:var(--bn-gutter)}
.bn-main{display:block}

/* Shared small pieces */
.bn-kicker{display:inline-block;font-family:var(--bn-body);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bn-accent-text);line-height:1.4}
a.bn-kicker:hover{color:var(--bn-ink)}
.bn-meta{font-size:14px;color:var(--bn-muted);line-height:1.5}
.bn-meta a{color:var(--bn-muted)}
.bn-meta a:hover{color:var(--bn-ink)}
.bn-t{transition:color .15s}
.bn-t:hover,.bn-card-title a:hover,.bn-mini-title a:hover,.bn-lead-title a:hover{color:var(--bn-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.bn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:var(--bn-pill);border:1.5px solid var(--bn-ink);background:var(--bn-ink);color:#fff;font-family:var(--bn-body);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1;transition:background .15s,color .15s}
.bn-btn:hover{background:#fff;color:var(--bn-ink)}
.bn-btn--line{background:transparent;color:var(--bn-ink)}
.bn-btn--line:hover{background:var(--bn-ink);color:#fff}
.bn-btn--white{background:#fff;border-color:#fff;color:var(--bn-ink)}
.bn-btn--white:hover{background:var(--bn-ink);border-color:var(--bn-ink);color:#fff}
.bn-link-more{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-bottom:1.5px solid var(--bn-ink);padding-bottom:2px;color:var(--bn-ink)}
.bn-link-more:hover{color:var(--bn-accent-text);border-color:var(--bn-accent-text)}
.bn-icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Section headings */
.bn-sec-head{display:flex;align-items:center;gap:20px;margin:0 0 32px}
.bn-sec-head::before,.bn-sec-head::after{content:"";flex:1;height:1px;background:var(--bn-line)}
.bn-sec-head.is-left::before{display:none}
.bn-sec-title{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:clamp(30px,3.6vw,40px);line-height:1}
.bn-sec-head .bn-link-more{order:3;flex:0 0 auto}
.bn-sec-head.is-left::after{order:2}

/* Placeholder (no featured image) */
.bn-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bn-blush)}
.bn-ph svg{width:34%;max-width:120px;height:auto;fill:none;stroke:var(--bn-ink);stroke-width:1.6;stroke-linejoin:round}
.bn-ph--1{background:var(--bn-blush)}.bn-ph--2{background:var(--bn-lilac)}.bn-ph--3{background:var(--bn-mint)}.bn-ph--4{background:var(--bn-butter)}.bn-ph--5{background:#DCE3FF}
.bn-ph .bn-ph-accent{fill:var(--bn-accent);stroke:none}

/* Media frames */
.bn-frame{position:relative;display:block;overflow:hidden;background:var(--bn-blush)}
.bn-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
a.bn-frame:hover img{transform:scale(1.03)}

/* ==========================================================================
   3. Header — centered layout (Branneva's own)
   ========================================================================== */
.bn-announce{background:var(--bn-blush);text-align:center;padding:8px var(--bn-gutter);font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.bn-announce a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:relative;z-index:50;background:#fff;border-bottom:1px solid var(--bn-line)}
.site-header.is-sticky{position:sticky;top:var(--wp-admin--admin-bar--height,0px);transition:transform .25s ease}
.site-header.is-hidden{transform:translateY(-110%)}
@media (max-width:600px){.admin-bar .site-header.is-sticky{top:0}}
.bn-head-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding-top:22px;padding-bottom:4px}
.bn-head-left,.bn-head-right{display:flex;align-items:center;gap:20px;min-width:0}
.bn-head-right{justify-content:flex-end;gap:6px}
.bn-util{display:flex;align-items:center;gap:20px;list-style:none}
.bn-util a,.bn-search-toggle{font-size:14px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
.bn-search-toggle{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 4px;border:0;background:none;color:var(--bn-ink)}
.bn-search-toggle:hover{color:var(--bn-accent-text)}
.bn-social{display:flex;align-items:center;gap:2px;list-style:none}
.bn-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}
.bn-social a:hover{background:var(--bn-blush);color:var(--bn-ink)}
.bn-social svg{width:19px;height:19px}
.bn-head-right .bn-btn{margin-left:10px}

.bn-brand{text-align:center;min-width:0;margin:0}
.bn-brand a{display:inline-flex;flex-direction:column;align-items:center;gap:6px;color:var(--bn-ink)}
.bn-brand-row{display:inline-flex;align-items:center;gap:14px}
.bn-logo-text{font-family:var(--bn-body);font-size:var(--bn-logo-size);font-weight:600;letter-spacing:.34em;margin-right:-.34em;line-height:1;text-transform:uppercase;white-space:nowrap}
.bn-brand .custom-logo{height:var(--bn-logo-h);width:auto;max-width:min(420px,60vw);object-fit:contain}
.bn-tagline{font-size:13px;letter-spacing:.08em;color:var(--bn-muted);text-transform:none}

.bn-nav{display:flex;justify-content:center;padding:18px var(--bn-gutter) 14px}
.bn-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 36px;list-style:none}
.bn-nav li{position:relative}
.bn-nav a{display:inline-block;padding:4px 0;font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid transparent}
.bn-nav .current-menu-item>a,.bn-nav .current-menu-ancestor>a,.bn-nav .current-post-ancestor>a,.bn-nav .current-category-ancestor>a{border-bottom-color:var(--bn-accent)}
.bn-nav .sub-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%);min-width:220px;padding:10px;display:none;flex-direction:column;gap:0;background:#fff;border-radius:var(--bn-r-md);box-shadow:var(--bn-shadow-card);z-index:60}
.bn-nav li:hover>.sub-menu,.bn-nav li:focus-within>.sub-menu{display:flex}
.bn-nav .sub-menu a{display:block;padding:10px 12px;font-size:13px;letter-spacing:.1em;border:0}

.bn-topics-btn{display:none;align-items:center;height:40px;padding:0 16px;border:1.5px solid var(--bn-ink);border-radius:20px;background:var(--bn-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.bn-icon-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--bn-ink)}
.bn-icon-btn:hover{background:var(--bn-blush)}

@media (max-width:1000px){
  .bn-head-row{grid-template-columns:44px minmax(0,1fr) auto;padding-top:12px;padding-bottom:12px;gap:8px}
  .bn-head-left .bn-util,.bn-head-left .bn-search-toggle,.bn-head-right .bn-social,.bn-head-right .bn-btn,.site-header .bn-nav{display:none}
  .bn-icon-btn,.bn-topics-btn{display:inline-flex}
  .bn-logo-text{font-size:min(var(--bn-logo-size),26px);letter-spacing:.3em;margin-right:-.3em}
  .bn-brand .custom-logo{height:var(--bn-logo-h-m)}
  .bn-tagline{display:none}
}
@media (max-width:360px){.bn-logo-text{font-size:21px;letter-spacing:.22em;margin-right:-.22em}.bn-topics-btn{padding:0 12px}}

/* Header — classic fallback layout */
.bn-head-classic .bn-head-row{display:flex;justify-content:space-between;padding-bottom:22px}
.bn-head-classic .bn-head-left{display:none}
.bn-head-classic .bn-brand{text-align:left}
.bn-head-classic .bn-brand a{align-items:flex-start}
.bn-head-classic .bn-logo-text{margin-right:0}
.bn-head-classic .bn-nav{padding:0;justify-content:flex-end;flex:1}
.bn-head-classic .bn-nav ul{justify-content:flex-end;gap:6px 26px}
.bn-head-classic .bn-head-right{flex:0 0 auto}
@media (max-width:1000px){
  .bn-head-classic .bn-head-row{padding-bottom:12px}
}

/* Search panel (push-down) */
.bn-search-panel{display:none;border-top:1px solid var(--bn-line);background:#fff}
.bn-search-panel.is-open{display:block}
.bn-search-panel .bn-wrap{padding-top:22px;padding-bottom:26px}
.bn-searchform{display:flex;gap:10px;max-width:720px;margin-inline:auto}
.bn-searchform input[type=search]{flex:1;min-width:0;height:52px;border:1.5px solid var(--bn-ink);border-radius:var(--bn-pill);padding:0 22px;font-size:17px;background:#fff}
.bn-searchform button{height:52px;flex:0 0 auto}

/* Topics sheet (phones; opens from the bottom) */
.bn-sheet-backdrop{position:fixed;inset:0;background:rgba(20,20,20,.5);z-index:90;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.bn-sheet{position:fixed;left:0;right:0;bottom:0;z-index:100;max-height:86vh;overflow:auto;background:#fff;border-radius:26px 26px 0 0;box-shadow:var(--bn-shadow-sheet);padding:12px 20px calc(24px + env(safe-area-inset-bottom));transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility .3s}
.bn-sheet.is-open{transform:none;visibility:visible}
.bn-sheet.is-open+.bn-sheet-backdrop,.bn-sheet-backdrop.is-open{opacity:1;visibility:visible}
.bn-sheet-handle{width:44px;height:5px;border-radius:3px;background:var(--bn-dot);margin:0 auto 14px}
.bn-sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.bn-sheet-title{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:32px;line-height:1}
.bn-sheet-close{width:44px;height:44px;border:0;border-radius:50%;background:var(--bn-blush);display:inline-flex;align-items:center;justify-content:center;color:var(--bn-ink)}
.bn-sheet-list{list-style:none}
.bn-sheet-list>li{border-bottom:1px solid var(--bn-line-soft)}
.bn-sheet-list>li:last-child{border-bottom:0}
.bn-sheet-list a{display:flex;align-items:center;gap:14px;min-height:60px;font-size:16px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.bn-sheet-dot{flex:0 0 40px;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--bn-blush)}
.bn-sheet-dot img{width:100%;height:100%;object-fit:cover}
.bn-sheet-name{flex:1;min-width:0}
.bn-sheet-count{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--bn-muted)}
.bn-sheet-list .sub-menu{list-style:none;padding-left:54px}
.bn-sheet-list .sub-menu a{min-height:48px;font-size:14px}
.bn-sheet-actions{display:flex;gap:10px;margin-top:16px}
.bn-sheet-actions .bn-btn{flex:1}
body.bn-locked{overflow:hidden}

/* Below-header widget area */
.bn-below-header{padding-top:20px}

/* ==========================================================================
   4. Homepage
   ========================================================================== */
.bn-home section+section{margin-top:0}
.bn-intro{max-width:900px;margin-inline:auto;padding:60px var(--bn-gutter) 44px;text-align:center}
.bn-intro.is-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);padding:0}
.bn-intro-title{font-size:clamp(36px,5.6vw,66px);line-height:1.04;letter-spacing:-.01em}
.bn-intro-title em{font-style:var(--bn-head-italic);color:var(--bn-accent)}
.bn-intro-text{max-width:620px;margin:18px auto 0;font-size:18px;line-height:1.6;color:var(--bn-text)}
.bn-intro-by{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px;font-size:14px;color:var(--bn-muted)}
.bn-avatar-s{width:32px;height:32px;border-radius:50%;overflow:hidden;flex:0 0 32px;background:var(--bn-blush);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--bn-ink)}
.bn-avatar-s img{width:100%;height:100%;object-fit:cover}

/* Hero */
.bn-hero{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;padding-bottom:72px}
.bn-hero.is-solo .bn-lead{flex-basis:100%}
.bn-lead{flex:999 1 600px;min-width:0}
.bn-lead-media{aspect-ratio:16/9;border-radius:var(--bn-r-lg)}
.bn-lead-card{position:relative;margin:-96px 7% 0;background:#fff;border-radius:var(--bn-r-lg);padding:30px 36px;box-shadow:var(--bn-shadow-card);text-align:center}
.bn-lead-title{margin-top:10px;font-size:clamp(27px,3.2vw,40px);line-height:1.12}
.bn-lead-dek{max-width:560px;margin:12px auto 0;font-size:17px;line-height:1.55;color:var(--bn-text)}
.bn-lead .bn-meta{margin-top:14px}
@media (max-width:700px){
  .bn-lead-card{margin:-40px 12px 0;padding:22px 20px}
  .bn-hero{gap:32px;padding-bottom:56px}
}
.bn-justin{flex:1 1 320px;min-width:0}
.bn-justin .bn-sec-head{margin-bottom:8px}
.bn-justin .bn-sec-title{font-size:32px}
.bn-mini-list{list-style:none}
.bn-mini{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--bn-line-soft)}
.bn-mini:last-child{border-bottom:0}
.bn-mini-media{flex:0 0 76px;width:76px;height:76px;border-radius:50%}
.bn-mini-body{min-width:0}
.bn-mini-title{margin-top:3px;font-size:18px;line-height:1.25}
.bn-mini .bn-meta{margin-top:4px;font-size:13px}

/* Cards */
.bn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:40px 32px}
.bn-card{min-width:0;display:flex;flex-direction:column}
.bn-card-media{aspect-ratio:4/5;border-radius:var(--bn-r-md);margin-bottom:18px}
.bn-card-title{margin-top:6px;font-size:24px;line-height:1.18}
.bn-card-excerpt{margin-top:10px;font-size:16px;line-height:1.55;color:var(--bn-text)}
.bn-card .bn-meta{margin-top:12px;font-size:13px}
.bn-card--wide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center}
.bn-card--wide .bn-card-media{aspect-ratio:4/3;margin:0}
.bn-card--wide .bn-card-title{font-size:clamp(24px,2.6vw,32px)}
@media (max-width:700px){.bn-card--wide{grid-template-columns:1fr;gap:18px}.bn-card--wide .bn-card-media{aspect-ratio:4/5}}
.bn-latest{padding-bottom:72px}

/* About + Most popular */
.bn-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;padding-bottom:80px}
.bn-aboutcard{background:var(--bn-blush);border-radius:var(--bn-r-xl);padding:36px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.bn-aboutcard-photo{flex:0 0 120px;width:120px;height:120px;border-radius:50%;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--bn-head);font-size:36px}
.bn-aboutcard-photo img{width:100%;height:100%;object-fit:cover}
.bn-aboutcard-body{flex:1 1 240px;min-width:0}
.bn-aboutcard-label{font-family:var(--bn-body);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}
.bn-aboutcard-name{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:30px;line-height:1.15}
.bn-aboutcard-bio{margin:10px 0 18px;font-size:16px;line-height:1.6;color:var(--bn-text)}
.bn-most-title{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:32px;margin-bottom:6px}
.bn-most{list-style:none;counter-reset:most}
.bn-most li{display:flex;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--bn-line-soft)}
.bn-most li:last-child{border-bottom:0}
.bn-most-n{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:36px;line-height:1;color:var(--bn-accent);min-width:22px}
.bn-most a{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:19px;line-height:1.3}

/* Rule Watch band */
.bn-rules{background:var(--bn-blush);padding:64px 0 72px}
.bn-rules-head{text-align:center;max-width:640px;margin:0 auto 36px}
.bn-rules-title{font-size:clamp(34px,4vw,48px);line-height:1.05}
.bn-rules-text{margin-top:12px;font-size:17px;line-height:1.6;color:var(--bn-text)}
.bn-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.bn-rule-card{background:#fff;border-radius:var(--bn-r-lg);padding:28px;display:flex;flex-direction:column}
.bn-rule-card .bn-rule-org{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bn-muted)}
.bn-rule-card h3{margin:8px 0 20px;font-size:23px;line-height:1.2}
.bn-rule-card .bn-link-more{align-self:flex-start;margin-top:auto}
.bn-rules-more{text-align:center;margin-top:32px}
.bn-track{display:flex;align-items:center}
.bn-track-dot{flex:0 0 14px;width:14px;height:14px;border-radius:50%;border:2px solid var(--bn-dot);background:#fff}
.bn-track-line{flex:1;height:2px;background:var(--bn-line)}
.bn-track .is-done{background:var(--bn-ink);border-color:var(--bn-ink)}
.bn-track .is-done+.bn-track-line{background:var(--bn-ink)}
.bn-track .is-now{background:var(--bn-accent);border-color:var(--bn-accent)}
.bn-track-labels{display:flex;justify-content:space-between;gap:6px;margin-top:8px;font-size:12px;color:var(--bn-muted)}
.bn-track-labels span{flex:1;text-align:center}
.bn-track-labels span:first-child{text-align:left}
.bn-track-labels span:last-child{text-align:right}
.bn-track-labels .is-now{color:var(--bn-ink);font-weight:600}
.bn-rule-stage{margin-top:12px;font-size:15px;font-weight:600}
.bn-rule-status{margin:2px 0 18px;font-size:15px;color:var(--bn-text)}

/* Topic circles */
.bn-topics{padding:72px 0 24px;text-align:center}
.bn-topics .bn-sec-head{justify-content:center}
.bn-topics-list{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 44px;list-style:none}
.bn-topic a{display:flex;flex-direction:column;align-items:center;gap:6px;width:150px}
.bn-topic-circle{width:150px;height:150px;border-radius:50%;overflow:hidden;margin-bottom:6px;transition:transform .3s}
.bn-topic a:hover .bn-topic-circle{transform:scale(1.04)}
.bn-topic-circle img{width:100%;height:100%;object-fit:cover}
.bn-topic-name{font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.bn-topic-count{font-size:14px;color:var(--bn-muted)}
@media (max-width:600px){.bn-topics-list{gap:22px 20px}.bn-topic a{width:132px}.bn-topic-circle{width:120px;height:120px}}

/* Category rows */
.bn-rows{padding:72px 0 8px}
.bn-row{margin-bottom:72px}
.bn-row-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.bn-row-grid .bn-card-media{aspect-ratio:4/5}
@media (max-width:900px){.bn-row-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.bn-row-grid .bn-card--wide{grid-column:1/-1}}

/* Newsletter blob */
.bn-nlband{display:flex;justify-content:center;padding:56px var(--bn-gutter) 80px}
.bn-blob{width:100%;max-width:760px;background:var(--bn-peri);border-radius:46% 54% 50% 50%/58% 46% 54% 42%;padding:80px 12% 84px;text-align:center;color:var(--bn-ink)}
.bn-blob-title{font-size:clamp(32px,4.4vw,52px);line-height:1.02}
.bn-blob-text{max-width:420px;margin:14px auto 24px;font-size:17px;line-height:1.6}
.bn-nlform{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.bn-nlform input[type=email]{flex:1 1 220px;max-width:300px;min-width:0;height:48px;border:0;border-radius:24px;padding:0 20px;font-size:16px;background:#fff;color:var(--bn-ink)}
.bn-nlform .bn-btn{min-height:48px}
.bn-nl-admin{margin-top:14px;font-size:14px;background:#fff;border-radius:12px;padding:10px 14px;display:inline-block}
@media (max-width:600px){.bn-blob{border-radius:var(--bn-r-xl);padding:48px 22px}}

/* Home band widgets */
.bn-homeband{padding-bottom:56px}

/* ==========================================================================
   5. Archives, search, layout with sidebar
   ========================================================================== */
.bn-archive-head{max-width:820px;margin-inline:auto;padding:56px var(--bn-gutter) 40px;text-align:center}
.bn-archive-title{margin-top:8px;font-size:clamp(36px,5vw,60px);line-height:1.05}
.bn-archive-title em{font-style:var(--bn-head-italic);color:var(--bn-accent)}
.bn-archive-desc{max-width:620px;margin:16px auto 0;font-size:17px;color:var(--bn-text)}
.bn-archive-count{margin-top:12px;font-size:14px;color:var(--bn-muted)}
.bn-archive-head .bn-searchform{margin-top:24px}
.bn-layout{display:flex;flex-wrap:wrap;gap:var(--bn-gap);align-items:flex-start;padding-bottom:80px}
.bn-content{flex:999 1 560px;min-width:0}
.bn-sidebar{flex:1 1 var(--bn-sidebar);min-width:0;max-width:100%}
.bn-layout.is-left .bn-sidebar{order:-1}
.bn-layout.is-none .bn-content{flex-basis:100%}
.bn-layout .bn-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.bn-pagination{margin-top:56px;display:flex;justify-content:center}
.bn-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.bn-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:var(--bn-pill);border:1.5px solid var(--bn-line);font-size:15px;font-weight:500}
.bn-pagination .page-numbers.current{background:var(--bn-ink);border-color:var(--bn-ink);color:#fff}
.bn-pagination a.page-numbers:hover{border-color:var(--bn-ink);color:var(--bn-ink)}
.bn-none{text-align:center;max-width:620px;margin:0 auto;padding:24px 0 40px}
.bn-none h2{font-size:32px;margin-bottom:12px}
.bn-none p{color:var(--bn-text);margin-bottom:22px}

/* ==========================================================================
   6. Sidebar widgets
   ========================================================================== */
.bn-sidebar{display:flex;flex-direction:column;gap:40px}
.widget{min-width:0}
.widget-title{display:flex;align-items:center;gap:14px;font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:28px;line-height:1.1;margin-bottom:14px}
.widget-title::after{content:"";flex:1;height:1px;background:var(--bn-line)}
.widget ul{list-style:none}
.widget>ul>li,.widget .menu>li{padding:10px 0;border-bottom:1px solid var(--bn-line-soft)}
.widget_categories li,.widget_archive li{display:flex;justify-content:space-between;gap:10px}
.widget select{width:100%;height:44px;border:1.5px solid var(--bn-line);border-radius:var(--bn-pill);padding:0 16px;background:#fff}
.widget .wp-block-search__input,.widget input[type=search]{height:44px;border:1.5px solid var(--bn-ink);border-radius:var(--bn-pill);padding:0 18px}
.widget .wp-block-search__button{border-radius:var(--bn-pill);background:var(--bn-ink);color:#fff;border:0;padding:0 18px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.widget .wp-block-heading{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:28px;margin-bottom:14px}

.bn-w-author{background:var(--bn-blush);border-radius:var(--bn-r-xl);padding:28px;container-type:inline-size}
.bn-w-author-top{display:flex;gap:16px;align-items:center}
.bn-photo{flex:0 0 88px;width:88px;height:88px;border-radius:50%;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--bn-head);font-size:28px}
.bn-photo img{width:100%;height:100%;object-fit:cover}
.bn-photo.is-square{border-radius:var(--bn-r-sm)}
.bn-w-author-name{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:24px;line-height:1.15}
.bn-w-author-role{font-size:13px;color:var(--bn-muted);letter-spacing:.06em;margin-top:2px}
.bn-w-author-bio{margin:14px 0 16px;font-size:15px;line-height:1.6;color:var(--bn-text)}
.bn-w-author-links{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.bn-w-author .bn-social{margin-top:14px}
.bn-w-author .bn-social a{background:#fff}
@container (max-width:260px){.bn-w-author-top{flex-direction:column;align-items:flex-start}}

.bn-w-most .bn-most a{font-size:17px}
.bn-w-most .bn-most-n{font-size:30px}
.bn-w-nl{background:var(--bn-peri);border-radius:var(--bn-r-xl);padding:28px;color:var(--bn-ink)}
.bn-w-nl .widget-title::after{background:rgba(20,20,20,.25)}
.bn-w-nl p{font-size:15px;margin-bottom:14px}
.bn-w-nl form{display:flex;flex-direction:column;gap:8px}
.bn-w-nl input[type=email]{height:46px;border:0;border-radius:23px;padding:0 18px;background:#fff}
.bn-w-topics ul{display:flex;flex-direction:column}
.bn-w-topics li{border-bottom:1px solid var(--bn-line-soft)}
.bn-w-topics a{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.bn-w-topics .bn-sheet-dot{flex-basis:36px;width:36px;height:36px}
.bn-w-topics .bn-sheet-count{margin-left:auto}
.bn-w-rules .bn-rule-card{background:var(--bn-blush);padding:22px;margin-bottom:12px}
.bn-w-rules .bn-rule-card h3{font-size:20px;margin-bottom:14px}

/* ==========================================================================
   7. Single posts and pages
   ========================================================================== */
.bn-article{padding-bottom:40px}
.bn-entry-head{max-width:860px;margin-inline:auto;padding:44px var(--bn-gutter) 30px;text-align:center}
.bn-crumbs{font-size:13px;letter-spacing:.06em;color:var(--bn-muted);margin-bottom:18px}
.bn-crumbs a{color:var(--bn-muted)}
.bn-crumbs a:hover{color:var(--bn-ink)}
.bn-crumbs ol{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;list-style:none}
.bn-crumbs li+li::before{content:"/";margin-right:8px;color:var(--bn-dot)}
.bn-entry-title{margin-top:10px;font-size:clamp(34px,5vw,56px);line-height:1.06;letter-spacing:-.01em}
.bn-entry-dek{max-width:680px;margin:18px auto 0;font-size:20px;line-height:1.55;color:var(--bn-text)}
.bn-byline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin-top:22px;font-size:14px;color:var(--bn-muted)}
.bn-byline .bn-avatar-s{width:40px;height:40px;flex-basis:40px}
.bn-byline-name{color:var(--bn-ink);font-weight:600}
.bn-byline-sep{color:var(--bn-dot)}
.bn-updated{display:inline-flex;align-items:center;gap:6px;background:var(--bn-blush);color:var(--bn-ink);border-radius:var(--bn-pill);padding:3px 12px;font-weight:500}

/* One reading column: text, images, embeds and boxes share it at every width */
.bn-read{max-width:var(--bn-read);margin-inline:auto;padding-inline:var(--bn-gutter)}
.bn-layout .bn-read{max-width:none;padding-inline:0}
.bn-entry-media{border-radius:var(--bn-r-lg);overflow:hidden;margin-bottom:12px;aspect-ratio:16/9;background:var(--bn-blush)}
.bn-entry-media img{width:100%;height:100%;object-fit:cover}
.bn-entry-caption{font-size:13px;color:var(--bn-muted);margin-bottom:36px;text-align:center}
.bn-entry-media+.bn-entry{margin-top:36px}

.bn-entry{font-size:19px;line-height:1.75;color:var(--bn-ink);overflow-wrap:break-word}
.bn-entry>*{max-width:100%}
.bn-entry :where(p,ul,ol,blockquote,figure,table,pre,.wp-block-image,.wp-block-embed,.wp-block-video,.wp-block-gallery){margin:0 0 1.35em}
.bn-entry :where(h2,h3,h4){margin:1.9em 0 .6em;scroll-margin-top:110px}
.bn-entry :where(h2){font-size:clamp(28px,3.2vw,36px);line-height:1.15}
.bn-entry :where(h3){font-size:clamp(23px,2.6vw,27px);line-height:1.2}
.bn-entry :where(h4){font-family:var(--bn-body);font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.bn-entry :where(ul,ol){padding-left:1.3em}
.bn-entry :where(li){margin-bottom:.45em}
.bn-entry :where(li)::marker{color:var(--bn-accent)}
.bn-entry :where(a:not(.bn-btn):not(.wp-block-button__link)){color:var(--bn-ink);text-decoration:underline;text-decoration-color:var(--bn-accent);text-decoration-thickness:1.5px;text-underline-offset:4px}
.bn-entry :where(a:not(.bn-btn):not(.wp-block-button__link)):hover{color:var(--bn-accent-text)}
.bn-entry :where(strong){font-weight:600}
.bn-entry :where(blockquote:not(.wp-block-pullquote blockquote)){margin-left:0;margin-right:0;padding:6px 0 6px 28px;border-left:3px solid var(--bn-accent);font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:24px;line-height:1.45}
.bn-entry :where(blockquote cite){display:block;margin-top:10px;font-family:var(--bn-body);font-style:normal;font-size:14px;color:var(--bn-muted)}
.bn-entry .wp-block-pullquote{border:0;padding:24px 0;text-align:center}
.bn-entry .wp-block-pullquote blockquote p{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:30px;line-height:1.3}
.bn-entry :where(img){border-radius:var(--bn-r-md);height:auto}
.bn-entry :where(figcaption){font-size:14px;color:var(--bn-muted);text-align:center;margin-top:10px}
.bn-entry :where(.alignwide,.alignfull,.wp-block-cover,.wp-block-group.alignfull){width:auto;max-width:100%;margin-left:0;margin-right:0}
.bn-entry .alignleft{float:left;margin:.3em 1.4em 1em 0;max-width:50%}
.bn-entry .alignright{float:right;margin:.3em 0 1em 1.4em;max-width:50%}
.bn-entry .aligncenter{margin-left:auto;margin-right:auto}
@media (max-width:600px){.bn-entry .alignleft,.bn-entry .alignright{float:none;max-width:100%;margin:0 0 1.2em}}
.bn-entry :where(iframe,embed,object,video){max-width:100%}
.bn-entry iframe{width:100%;border:0;border-radius:var(--bn-r-md)}
.bn-entry iframe:not([height]),.bn-entry .wp-block-embed.is-type-video iframe,.bn-entry .wp-embed-aspect-16-9 iframe{aspect-ratio:16/9;height:auto}
.bn-entry .wp-block-embed__wrapper{position:relative}
.bn-entry .wp-has-aspect-ratio .wp-block-embed__wrapper::before{display:none}
.bn-entry .wp-has-aspect-ratio iframe{position:static;aspect-ratio:16/9;height:auto}
.bn-entry .wp-embedded-content{max-width:100%}
.bn-entry .bn-table-wrap,.bn-entry .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bn-entry table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
.bn-entry :where(th,td){padding:12px 14px;border-bottom:1px solid var(--bn-line);text-align:left;vertical-align:top}
.bn-entry :where(th){font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--bn-blush)}
.bn-entry :where(pre,code){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}
.bn-entry :where(pre){background:#F6F4F4;padding:18px;border-radius:var(--bn-r-sm);overflow-x:auto}
.bn-entry .wp-block-button__link{border-radius:var(--bn-pill);background:var(--bn-ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:14px 24px}
.bn-entry::after{content:"";display:block;clear:both}
.bn-entry>p:first-of-type::first-letter{font-family:var(--bn-head);float:left;font-size:3.6em;line-height:.85;margin:.06em .1em 0 0;color:var(--bn-accent)}
.bn-nodrop .bn-entry>p:first-of-type::first-letter{all:unset}
.page-links{clear:both;margin-top:24px;font-size:15px}

/* TOC */
.bn-toc{background:var(--bn-blush);border-radius:var(--bn-r-lg);padding:22px 26px;margin:0 0 1.8em}
.bn-toc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.bn-toc-title{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:24px;line-height:1.1}
.bn-toc-toggle{border:0;background:#fff;border-radius:var(--bn-pill);height:36px;padding:0 14px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.bn-toc ol{list-style:none;margin:12px 0 0;padding:0;counter-reset:toc}
.bn-toc li{margin:0;padding:6px 0;font-size:16px;line-height:1.4;counter-increment:toc;display:flex;gap:10px}
.bn-toc li::before{content:counter(toc,decimal-leading-zero);font-size:13px;color:var(--bn-accent-text);font-weight:600;padding-top:2px}
.bn-toc li.is-sub{padding-left:28px}
.bn-toc li.is-sub::before{content:"–";color:var(--bn-muted)}
.bn-toc a{text-decoration:none!important;color:var(--bn-ink)!important}
.bn-toc a:hover{color:var(--bn-accent-text)!important}
.bn-toc.is-collapsed ol{display:none}

/* After the article */
.bn-after{max-width:var(--bn-read);margin-inline:auto;padding-inline:var(--bn-gutter)}
.bn-layout .bn-after{max-width:none;padding-inline:0}
.bn-disclaimer{margin-top:36px;padding:18px 22px;border-radius:var(--bn-r-md);border:1.5px solid var(--bn-line);font-size:15px;line-height:1.6;color:var(--bn-text)}
.bn-disclaimer strong{color:var(--bn-ink)}
.bn-disclaimer a{text-decoration:underline;text-underline-offset:3px}
.bn-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;list-style:none}
.bn-tags a{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:var(--bn-pill);background:var(--bn-blush);font-size:13px;font-weight:500;letter-spacing:.06em}
.bn-tags a:hover{background:var(--bn-ink);color:#fff}
.bn-authorbox{display:flex;gap:24px;align-items:flex-start;margin-top:40px;padding:30px;border-radius:var(--bn-r-xl);background:var(--bn-blush)}
.bn-authorbox .bn-photo{flex-basis:96px;width:96px;height:96px}
.bn-authorbox-body{min-width:0;flex:1}
.bn-authorbox-label{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bn-muted)}
.bn-authorbox-name{font-size:26px;margin-top:2px}
.bn-authorbox-bio{margin:8px 0 14px;font-size:16px;line-height:1.6;color:var(--bn-text)}
.bn-authorbox-links{display:flex;flex-wrap:wrap;gap:10px 18px}
@media (max-width:560px){.bn-authorbox{flex-direction:column;padding:24px}}
.bn-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.bn-postnav a{display:block;padding:20px 22px;border:1.5px solid var(--bn-line);border-radius:var(--bn-r-lg);height:100%}
.bn-postnav a:hover{border-color:var(--bn-ink);color:var(--bn-ink)}
.bn-postnav .is-next{text-align:right}
.bn-postnav-label{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bn-muted);margin-bottom:6px}
.bn-postnav-title{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:19px;line-height:1.3}
@media (max-width:560px){.bn-postnav{grid-template-columns:1fr}.bn-postnav .is-next{text-align:left}}
.bn-related{padding-top:72px}
.bn-related .bn-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.bn-related .bn-card-title{font-size:21px}

/* Comments */
.bn-comments{margin-top:56px}
.bn-comments-title{font-size:30px;margin-bottom:20px}
.bn-comments ol{list-style:none}
.bn-comments .comment-body{padding:20px 0;border-bottom:1px solid var(--bn-line)}
.bn-comments .children{padding-left:28px}
.bn-comments .comment-author{display:flex;align-items:center;gap:10px;font-weight:600}
.bn-comments .comment-author img{border-radius:50%}
.bn-comments .comment-metadata{font-size:13px;color:var(--bn-muted);margin:4px 0 10px}
.bn-comments .comment-metadata a{color:var(--bn-muted)}
.bn-comments .reply a{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.comment-respond{margin-top:32px}
.comment-reply-title{font-size:28px;margin-bottom:12px}
.comment-form p{margin-bottom:14px}
.comment-form label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;border:1.5px solid var(--bn-line);border-radius:var(--bn-r-sm);padding:12px 14px;background:#fff}
.comment-form textarea{min-height:150px}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--bn-ink)}
.comment-form .submit{border:0;border-radius:var(--bn-pill);background:var(--bn-ink);color:#fff;min-height:48px;padding:0 26px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.comment-form-cookies-consent label{display:inline;font-weight:400}

/* Pages */
.bn-page-head{max-width:860px;margin-inline:auto;padding:52px var(--bn-gutter) 30px;text-align:center}
.bn-page-head .bn-entry-title{margin-top:0}

/* Legal template */
.bn-legal-head{max-width:860px;margin-inline:auto;padding:56px var(--bn-gutter) 22px;text-align:center}
.bn-legal-kicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bn-muted)}
.bn-legal-head .bn-entry-title{margin-top:10px}
.bn-legal-updated{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:6px 16px;border-radius:var(--bn-pill);background:var(--bn-blush);font-size:14px;font-weight:500}
.bn-legal-toc{max-width:var(--bn-read);margin:10px auto 40px;padding-inline:var(--bn-gutter)}
.bn-legal-toc p{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--bn-muted);margin-bottom:12px}
.bn-legal-toc ol{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none}
.bn-legal-toc a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:var(--bn-pill);border:1.5px solid var(--bn-line);font-size:14px}
.bn-legal-toc a:hover{border-color:var(--bn-ink);color:var(--bn-ink)}
.bn-legal .bn-entry{counter-reset:legal;font-size:18px}
.bn-legal .bn-entry>p:first-of-type::first-letter{all:unset}
.bn-legal .bn-entry h2{counter-increment:legal;display:flex;align-items:baseline;gap:14px;font-size:clamp(25px,3vw,31px);padding-top:28px;border-top:1px solid var(--bn-line)}
.bn-legal .bn-entry h2::before{content:counter(legal,decimal-leading-zero);font-style:var(--bn-head-italic);color:var(--bn-accent);font-size:.9em}
.bn-legal .bn-entry h3{font-size:22px}

/* 404 */
.bn-404{max-width:760px;margin-inline:auto;padding:80px var(--bn-gutter) 96px;text-align:center}
.bn-404 .bn-404-num{margin:0;font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:clamp(90px,16vw,170px);line-height:1;color:var(--bn-accent)}
.bn-404 h1{font-size:clamp(32px,4.4vw,48px);margin-top:10px}
.bn-404 p{margin:16px auto 26px;max-width:520px;color:var(--bn-text);font-size:18px}
.bn-404 .bn-searchform{margin-bottom:28px}
.bn-404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;list-style:none}

/* ==========================================================================
   8. Article tools (shortcodes)
   ========================================================================== */
.bn-entry .bn-box,.bn-box{margin:0 0 1.6em;border-radius:var(--bn-r-lg);padding:24px 26px;font-size:17px;line-height:1.65}
.bn-box-label{display:block;font-family:var(--bn-body);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bn-accent-text);margin:0 0 8px}
.bn-box>:last-child{margin-bottom:0}
.bn-box p{margin:0 0 .8em}
.bn-box p:last-child{margin-bottom:0}
.bn-entry .bn-box :where(ul,ol){margin-bottom:0}
.bn-box-title{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:23px;line-height:1.2;margin:0 0 10px}

.bn-quick{background:var(--bn-blush)}
.bn-quick .bn-quick-text{font-family:var(--bn-head);font-size:22px;line-height:1.45}

.bn-ingredient{border:1.5px solid var(--bn-line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 20px;align-items:start}
.bn-ingredient-mark{grid-row:span 3;width:64px;height:64px;border-radius:50%;background:var(--bn-lilac);display:flex;align-items:center;justify-content:center}
.bn-ingredient-mark svg{width:30px;height:30px;fill:none;stroke:var(--bn-ink);stroke-width:1.6}
.bn-ingredient .bn-box-title{margin:0}
.bn-ingredient-inci{font-size:14px;color:var(--bn-muted);letter-spacing:.02em}
.bn-ingredient-facts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px!important;list-style:none;padding:0!important}
.bn-ingredient-facts li{margin:0!important;display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:var(--bn-pill);background:var(--bn-blush);font-size:13px}
.bn-ingredient-facts li::marker{content:none}
.bn-ingredient-body{grid-column:2}
@media (max-width:520px){.bn-ingredient{grid-template-columns:1fr}.bn-ingredient-mark{grid-row:auto}.bn-ingredient-body{grid-column:1}}

.bn-evidence{background:#fff;border:1.5px solid var(--bn-line)}
.bn-evidence-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.bn-evidence-level{font-family:var(--bn-head);font-size:24px;line-height:1.1}
.bn-meter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:6px}
.bn-meter span{height:10px;border-radius:5px;background:var(--bn-line)}
.bn-meter .is-on{background:var(--bn-ink)}
.bn-meter .is-top{background:var(--bn-accent)}
.bn-meter-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--bn-muted);margin-bottom:14px}
.bn-evidence-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 0;border-top:1px solid var(--bn-line-soft)}
.bn-evidence-row strong{font-size:14px;letter-spacing:.06em;text-transform:uppercase}

.bn-rule{background:var(--bn-blush)}
.bn-rule .bn-track-dot{background:var(--bn-blush)}
.bn-rule .bn-track .is-done{background:var(--bn-ink)}
.bn-rule .bn-track .is-now{background:var(--bn-accent)}
.bn-rule-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:15px}
.bn-rule-meta span strong{font-weight:600}
.bn-rule .bn-source{margin-top:12px}

.bn-shelf{background:var(--bn-mint);display:flex;gap:22px;align-items:flex-start}
.bn-shelf-jar{flex:0 0 84px;width:84px;text-align:center}
.bn-shelf-jar svg{width:84px;height:84px;fill:none;stroke:var(--bn-ink);stroke-width:1.6;stroke-linejoin:round}
.bn-shelf-jar text{font-family:var(--bn-body);font-weight:600;font-size:15px;fill:var(--bn-ink);stroke:none}
.bn-shelf-body{min-width:0;flex:1}
@media (max-width:520px){.bn-shelf{flex-direction:column}}

.bn-steps{background:#fff;border:1.5px solid var(--bn-line)}
.bn-steps ol{list-style:none;padding:0!important;margin:0!important;counter-reset:st}
.bn-steps li{counter-increment:st;display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--bn-line-soft);margin:0!important}
.bn-steps li:first-child{border-top:0}
.bn-steps li::before{content:counter(st);flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--bn-ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.bn-steps li::marker{content:none}

.bn-note{background:var(--bn-butter)}
.bn-warn{background:#FFE3E0}

.bn-stat{background:var(--bn-blush);text-align:center;padding:30px 26px}
.bn-stat-num{display:block;font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:clamp(46px,7vw,70px);line-height:1;color:var(--bn-accent)}
.bn-stat-text{display:block;max-width:520px;margin:12px auto 0;font-size:17px}
.bn-source{display:block;margin-top:12px;font-size:13px;color:var(--bn-muted);line-height:1.5}
.bn-source a{color:var(--bn-muted)!important;text-decoration:underline!important;text-decoration-color:var(--bn-dot)!important}

.bn-sources{border-top:1px solid var(--bn-line);padding:24px 0 0;border-radius:0;margin-top:2.4em}
.bn-sources .bn-box-title{font-style:var(--bn-head-italic);font-weight:400;font-size:26px}
.bn-sources ol{list-style:none;padding:0!important;margin:0!important;counter-reset:src}
.bn-sources li{counter-increment:src;display:flex;gap:12px;font-size:15px;line-height:1.55;padding:6px 0;margin:0!important}
.bn-sources li::before{content:counter(src);flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:var(--bn-blush);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}
.bn-sources li::marker{content:none}

/* Charts */
.bn-chart{background:#fff;border:1.5px solid var(--bn-line);border-radius:var(--bn-r-lg);padding:24px 26px;margin:0 0 1.6em}
.bn-chart-title{font-family:var(--bn-head);font-weight:var(--bn-head-w);font-size:22px;line-height:1.25;margin:0 0 4px!important}
.bn-chart-sub{font-size:14px;color:var(--bn-muted);margin:0 0 18px!important}
.bn-hbar{list-style:none;padding:0!important;margin:0!important}
.bn-hbar li{display:grid;grid-template-columns:minmax(90px,30%) minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 10px!important;font-size:15px;line-height:1.3}
.bn-hbar li::marker{content:none}
.bn-hbar-track{height:16px;border-radius:8px;background:var(--bn-line-soft);overflow:hidden}
.bn-hbar-fill{display:block;height:100%;border-radius:8px;background:var(--bn-ink);width:0;transition:width .9s ease}
.bn-hbar .is-hl .bn-hbar-fill{background:var(--bn-accent)}
.bn-hbar .is-muted .bn-hbar-fill{background:var(--bn-dot)}
.bn-hbar-val{font-weight:600;font-variant-numeric:tabular-nums}
.bn-hbar .is-hl .bn-hbar-label{font-weight:600}
@media (max-width:520px){.bn-hbar li{grid-template-columns:minmax(0,1fr) auto}.bn-hbar-track{grid-column:1/-1;grid-row:2}}
.bn-cols{display:flex;align-items:flex-end;gap:10px;height:220px;padding-top:24px;border-bottom:1.5px solid var(--bn-ink)}
.bn-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.bn-col-bar{width:min(56px,80%);background:var(--bn-ink);border-radius:8px 8px 0 0;height:0;transition:height .9s ease}
.bn-col.is-hl .bn-col-bar{background:var(--bn-accent)}
.bn-col.is-muted .bn-col-bar{background:var(--bn-dot)}
.bn-col-val{font-size:14px;font-weight:600;margin-bottom:6px;font-variant-numeric:tabular-nums}
.bn-col-labels{display:flex;gap:10px;margin-top:8px}
.bn-col-labels span{flex:1;text-align:center;font-size:13px;color:var(--bn-muted);line-height:1.3;min-width:0;overflow-wrap:anywhere}
.bn-line-svg{width:100%;height:auto;overflow:visible}
.bn-line-svg .bn-line-path{fill:none;stroke:var(--bn-accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.bn-line-svg .bn-line-area{fill:var(--bn-blush);stroke:none}
.bn-line-svg .bn-line-grid{stroke:var(--bn-line);stroke-width:1}
.bn-line-svg circle{fill:#fff;stroke:var(--bn-accent);stroke-width:2.5}
.bn-line-svg text{font-family:var(--bn-body);font-size:17px;fill:var(--bn-muted)}
.bn-line-svg .bn-line-v{fill:var(--bn-ink);font-weight:600}
.bn-donut-wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.bn-donut{width:180px;height:180px;flex:0 0 180px;transform:rotate(-90deg)}
.bn-donut circle{fill:none;stroke-width:22}
.bn-legend{list-style:none;padding:0!important;margin:0!important;flex:1;min-width:200px}
.bn-legend li{display:flex;align-items:center;gap:10px;margin:0 0 8px!important;font-size:15px}
.bn-legend li::marker{content:none}
.bn-legend i{width:14px;height:14px;border-radius:50%;flex:0 0 14px}
.bn-legend b{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}
.bn-trend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--bn-line-soft);font-size:14px}
.bn-trend strong{font-weight:600}
.bn-chart-note{margin-top:10px!important;font-size:14px;color:var(--bn-text)}
.bn-data{margin-top:12px;font-size:14px}
.bn-data summary{cursor:pointer;color:var(--bn-muted);font-weight:500}
.bn-data table{margin-top:8px;font-size:14px}

/* ==========================================================================
   9. Footer — centered blush (Branneva's own)
   ========================================================================== */
.site-footer{margin-top:0}
.bn-foot-center{background:var(--bn-footer);text-align:center}
.bn-foot-center .bn-foot-main{max-width:1100px;margin-inline:auto;padding:64px var(--bn-gutter) 36px}
.bn-foot-logo{margin:0}
.bn-foot-logo .bn-logo-text{font-size:clamp(30px,5vw,56px)}
.bn-foot-logo .custom-logo{height:calc(var(--bn-logo-h) * 1.1);width:auto;margin-inline:auto}
.bn-foot-mission{max-width:540px;margin:16px auto 0;font-family:var(--bn-head);font-style:var(--bn-head-italic);font-size:20px;line-height:1.45}
.bn-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px;list-style:none}
.bn-chips a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:20px;background:#fff;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.bn-chips a:hover{background:var(--bn-ink);color:#fff}
.bn-foot-social{display:flex;justify-content:center;gap:10px;margin-top:22px;list-style:none}
.bn-foot-social a{width:44px;height:44px;border-radius:50%;background:var(--bn-ink);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.bn-foot-social a:hover{background:var(--bn-accent);color:#fff}
.bn-foot-social svg{width:18px;height:18px}
.bn-foot-note{max-width:640px;margin:32px auto 0;font-size:14px;line-height:1.6;color:#4A4646}
.bn-foot-note a{text-decoration:underline;text-underline-offset:3px}
.bn-foot-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px;text-align:left;margin-top:48px;padding-top:36px;border-top:1px solid rgba(20,20,20,.12)}
.bn-foot-widgets .widget-title{font-size:24px}
.bn-foot-widgets .widget>ul>li,.bn-foot-widgets .widget .menu>li{border-color:rgba(20,20,20,.1)}
.bn-foot-bar{background:#fff;padding:18px var(--bn-gutter)}
.bn-legal-nav ul,.bn-legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;list-style:none;font-size:14px}
.bn-foot-copy{margin-top:10px;font-size:13px;color:var(--bn-muted);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}
.bn-foot-copy a{color:var(--bn-muted)}
.bn-foot-copy a:hover{color:var(--bn-ink)}
.bn-foot-barwidgets{margin-top:10px;font-size:14px}
.bn-legal-sentence{max-width:720px;margin:20px auto 0;font-size:14px;line-height:1.7}
.bn-legal-sentence a{text-decoration:underline;text-underline-offset:3px}

/* Footer — columns alternative */
.bn-foot-cols{background:var(--bn-footer)}
.bn-foot-cols .bn-foot-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2.7fr);gap:48px;padding-top:64px;padding-bottom:40px}
.bn-foot-cols .bn-foot-brand .bn-logo-text{font-size:30px;margin-right:0}
.bn-foot-cols .bn-foot-mission{margin:14px 0 0;font-size:18px}
.bn-foot-cols .bn-foot-social{justify-content:flex-start}
.bn-foot-cols .bn-foot-widgets{margin:0;padding:0;border:0}
.bn-foot-cols .bn-foot-note{margin:24px 0 0}
.bn-foot-col-title{font-family:var(--bn-head);font-style:var(--bn-head-italic);font-weight:400;font-size:24px;margin-bottom:12px}
.bn-foot-cols .bn-legal-col ul{display:flex;flex-direction:column;gap:8px;list-style:none;font-size:15px}
@media (max-width:860px){.bn-foot-cols .bn-foot-main{grid-template-columns:1fr}}

/* Footer — minimal alternative */
.bn-foot-min{border-top:1px solid var(--bn-line);background:#fff}
.bn-foot-min .bn-foot-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;padding-bottom:28px}
.bn-foot-min .bn-logo-text{font-size:22px;margin-right:0}
.bn-foot-min .bn-foot-social{margin:0}
.bn-foot-min .bn-foot-bar{border-top:1px solid var(--bn-line)}

.bn-totop{white-space:nowrap}

/* ==========================================================================
   10. Elementor and block editor compatibility
   ========================================================================== */
.elementor-page .bn-page-full{padding:0}
.bn-full{padding-bottom:0}
.bn-full .bn-entry{font-size:inherit;line-height:inherit}
.bn-full .bn-entry>p:first-of-type::first-letter{all:unset}
.wp-block-separator{border:0;height:1px;background:var(--bn-line)}
.has-text-align-center{text-align:center}
.wp-caption{max-width:100%}
.bn-nodrop-page .bn-entry>p:first-of-type::first-letter{all:unset}
.bn-404 .bn-chips a{background:var(--bn-blush)}
.bn-404 .bn-chips a:hover{background:var(--bn-ink)}
.bn-afterpost{margin-top:32px}
.bn-latest .bn-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
@media (max-width:600px){.bn-grid .bn-card-media{aspect-ratio:4/3}.bn-latest .bn-grid{grid-template-columns:1fr}}
.bn-box .bn-rule-stage{margin-top:14px}
.bn-related .bn-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
@media (max-width:600px){.bn-related .bn-grid{grid-template-columns:1fr}}
