/*
Theme Name: BSA — Living Oral Tradition
Theme URI: https://blackstorytellers.com/
Author: Black Storytellers Alliance
Description: A modern African / African American cultural institution theme for Black Storytellers Alliance, inspired by contemporary editorial, archive, festival, and Afrofuturist design while preserving existing WordPress content.
Version: 2.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: bsa-living-tradition
*/

:root{
  --bsa-black:#0b0b09;
  --bsa-ink:#171510;
  --bsa-obsidian:#11100d;
  --bsa-brown:#3a281b;
  --bsa-clay:#8b4a2f;
  --bsa-red:#9e1f24;
  --bsa-red-dark:#661218;
  --bsa-gold:#d0a34b;
  --bsa-gold-soft:#e3c67a;
  --bsa-green:#234a36;
  --bsa-cream:#f1e6d2;
  --bsa-sand:#d7c4a4;
  --bsa-white:#fffdf7;
  --bsa-muted:#877e71;
  --bsa-line:rgba(208,163,75,.30);
  --bsa-shadow:0 22px 70px rgba(11,11,9,.18);
  --bsa-radius:0px;
  --bsa-max:1320px;
  --bsa-display:"Arial Black","Helvetica Neue",Arial,sans-serif;
  --bsa-serif:Georgia,"Times New Roman",serif;
  --bsa-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bsa-cream);color:var(--bsa-ink);font-family:var(--bsa-body);line-height:1.65;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--bsa-red-dark);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--bsa-red)}
.site-shell{width:min(calc(100% - 48px),var(--bsa-max));margin-inline:auto}

/* ===== Global African design language ===== */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;background:
linear-gradient(30deg,rgba(158,31,36,.016) 12%,transparent 12.5%,transparent 87%,rgba(158,31,36,.016) 87.5%),
linear-gradient(150deg,rgba(208,163,75,.018) 12%,transparent 12.5%,transparent 87%,rgba(208,163,75,.018) 87.5%),
linear-gradient(30deg,rgba(35,74,54,.012) 12%,transparent 12.5%,transparent 87%,rgba(35,74,54,.012) 87.5%);background-size:58px 102px;background-position:0 0,0 0,29px 51px}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(11,11,9,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(227,198,122,.20)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:repeating-linear-gradient(90deg,var(--bsa-red) 0 34px,var(--bsa-gold) 34px 48px,var(--bsa-green) 48px 82px,var(--bsa-black) 82px 96px)}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-branding{display:flex;align-items:center;gap:16px;min-width:0}
.custom-logo-link img{max-height:60px;width:auto}
.brand-text{min-width:0}
.site-title{margin:0;color:var(--bsa-cream);font-family:var(--bsa-display);font-size:clamp(1rem,1.8vw,1.38rem);letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.site-title a{color:inherit;text-decoration:none}
.site-tagline{color:var(--bsa-gold-soft);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin-top:7px;font-weight:800;white-space:nowrap}
.header-signal{margin-left:auto;color:#756e63;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.primary-nav{display:flex;align-items:center;gap:22px}
.primary-nav ul{list-style:none;display:flex;gap:22px;align-items:center;margin:0;padding:0}
.primary-nav a{position:relative;color:var(--bsa-cream);text-decoration:none;font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:10px 0}
.primary-nav a::after{content:"";position:absolute;left:0;bottom:3px;width:0;height:2px;background:var(--bsa-gold);transition:.25s ease}
.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--bsa-gold-soft)}
.primary-nav a:hover::after,.primary-nav .current-menu-item>a::after{width:100%}
.menu-toggle{display:none;border:0;background:transparent;color:var(--bsa-cream);padding:10px 0;font:inherit;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px}
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:24px;height:2px;background:var(--bsa-gold);position:relative;content:""}
.menu-toggle i::before{position:absolute;top:-7px}.menu-toggle i::after{position:absolute;top:7px}

/* ===== Brotha Ase-inspired transmission hero ===== */
.bsa-hero{position:relative;overflow:hidden;color:var(--bsa-cream);min-height:760px;display:grid;align-items:center;background:
radial-gradient(circle at 80% 35%,rgba(158,31,36,.35),transparent 24%),
radial-gradient(circle at 15% 85%,rgba(35,74,54,.22),transparent 30%),
linear-gradient(110deg,#080806 0%,#17120e 57%,#0c0a08 100%)}
.bsa-hero-grid{position:absolute;inset:0;opacity:.14;background:
linear-gradient(rgba(208,163,75,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(208,163,75,.16) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000 0%,transparent 68%)}
.bsa-hero::before{content:"";position:absolute;right:-10%;top:-8%;width:min(72vw,980px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(208,163,75,.16) 0 2deg,transparent 2deg 12deg);mask:radial-gradient(circle,transparent 0 28%,#000 29% 31%,transparent 32% 45%,#000 46% 48%,transparent 49% 61%,#000 62% 63%,transparent 64%)}
.bsa-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(135deg,transparent 0 44%,rgba(158,31,36,.22) 44% 48%,transparent 48% 53%,rgba(208,163,75,.18) 53% 56%,transparent 56%);background-size:180px 90px;opacity:.75}
.hero-inner{position:relative;z-index:3;padding:118px 0 112px;max-width:1040px}
.hero-index,.section-index{font-size:.63rem;letter-spacing:.22em;text-transform:uppercase;font-weight:900;color:#8f8678;margin-bottom:20px}
.section-index--light{color:#817a70}
.hero-kicker{display:flex;align-items:center;gap:12px;color:var(--bsa-gold-soft);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:900;margin-bottom:20px}
.hero-kicker::before{content:"";width:52px;height:3px;background:var(--bsa-red)}
.hero-title{font-family:var(--bsa-display);font-size:clamp(4.4rem,10.8vw,9.7rem);line-height:.78;letter-spacing:-.065em;margin:0 0 32px;text-transform:uppercase;max-width:1000px}
.hero-title span{color:transparent;-webkit-text-stroke:2px var(--bsa-gold-soft);text-shadow:0 0 30px rgba(208,163,75,.10)}
.hero-copy{font-size:clamp(1.08rem,2vw,1.32rem);max-width:760px;color:#e6dcc9;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-coordinates{margin-top:56px;color:#7e766b;font-size:.62rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.hero-symbol{position:absolute;right:5vw;bottom:11%;width:210px;height:210px;border:1px solid rgba(208,163,75,.20);transform:rotate(45deg);opacity:.7}
.hero-symbol span{position:absolute;border:1px solid rgba(158,31,36,.5)}
.hero-symbol span:nth-child(1){inset:20px}.hero-symbol span:nth-child(2){inset:48px;border-color:rgba(208,163,75,.45)}.hero-symbol span:nth-child(3){inset:72px;border-radius:50%;border-color:rgba(35,74,54,.65)}.hero-symbol span:nth-child(4){inset:94px;background:var(--bsa-red);border:0}

/* transmission strip */
.bsa-transmission-strip{overflow:hidden;background:var(--bsa-gold);color:var(--bsa-black);border-top:1px solid #000;border-bottom:1px solid #000;font-size:.72rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;padding:13px 0}
.bsa-transmission-strip>div{display:inline-block;min-width:200%;animation:bsaMarquee 32s linear infinite}
@keyframes bsaMarquee{to{transform:translateX(-50%)}}

/* ===== Buttons ===== */
.bsa-btn,.wp-block-button__link,.button,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:0;padding:15px 23px;background:var(--bsa-red);color:#fff!important;text-decoration:none;font-weight:900;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;box-shadow:none;transition:.2s ease;clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px))}
.bsa-btn:hover,.wp-block-button__link:hover,.button:hover,button:hover,input[type=submit]:hover{background:var(--bsa-red-dark);transform:translateY(-2px)}
.bsa-btn--gold{background:var(--bsa-gold);color:var(--bsa-black)!important}
.bsa-btn--ghost{background:rgba(255,255,255,.02);border-color:rgba(242,230,210,.35);color:var(--bsa-cream)!important}
.bsa-btn--dark{background:var(--bsa-black)}
.text-link{display:inline-flex;align-items:center;gap:10px;color:inherit!important;text-decoration:none;font-size:.72rem;font-weight:950;letter-spacing:.10em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px}
.text-link span{font-size:1rem}.text-link:hover{gap:15px}

/* ===== Sections ===== */
.site-main{min-height:55vh}
.bsa-section{padding:108px 0;position:relative;overflow:hidden}
.bsa-section--cream{background:var(--bsa-cream)}
.bsa-section--sand{background:var(--bsa-sand)}
.bsa-section--white{background:var(--bsa-white)}
.bsa-section--obsidian{background:var(--bsa-obsidian);color:var(--bsa-cream)}
.bsa-section--red{background:var(--bsa-red-dark);color:#fff}
.section-eyebrow{font-size:.70rem;letter-spacing:.20em;text-transform:uppercase;font-weight:950;color:var(--bsa-red);margin-bottom:14px}
.bsa-section--obsidian .section-eyebrow,.bsa-section--red .section-eyebrow{color:var(--bsa-gold-soft)}
.section-title{font-family:var(--bsa-display);font-size:clamp(3rem,6.4vw,6.7rem);letter-spacing:-.06em;line-height:.86;margin:0 0 24px;max-width:1000px;text-transform:uppercase}
.section-lede{font-size:1.12rem;max-width:800px;color:#5a5147;line-height:1.7}
.bsa-section--obsidian .section-lede,.bsa-section--red .section-lede{color:#ded0bc}
.split-intro{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:end}
.intro-copy{padding-bottom:8px}.intro-copy .text-link{margin-top:20px}

/* Pillars */
.bsa-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:70px;border:1px solid rgba(23,21,16,.14)}
.bsa-pillar{min-height:380px;padding:34px 32px;position:relative;border-right:1px solid rgba(23,21,16,.15);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#ebddc5}
.bsa-pillar:last-child{border-right:0}.bsa-pillar::before{content:"";position:absolute;inset:0;opacity:.14;background:repeating-linear-gradient(45deg,currentColor 0 2px,transparent 2px 18px)}
.bsa-pillar::after{content:"";position:absolute;right:-70px;top:-60px;width:230px;height:230px;border:24px double currentColor;border-radius:50%;opacity:.10}
.bsa-pillar--red{color:var(--bsa-red-dark)}.bsa-pillar--gold{color:#7a5a18}.bsa-pillar--green{color:var(--bsa-green)}
.pillar-number{position:absolute;top:24px;left:28px;font-size:.67rem;font-weight:950;letter-spacing:.16em}
.pillar-symbol{position:absolute;top:25px;right:28px;font-size:1.35rem}
.bsa-pillar h3{position:relative;font-family:var(--bsa-display);font-size:clamp(2.2rem,4vw,4rem);line-height:.9;text-transform:uppercase;margin:0 0 18px;color:var(--bsa-black)}
.bsa-pillar p{position:relative;color:#3f382f;max-width:330px;margin:0}

/* ancestral tech */
.pattern-band{height:26px;background:repeating-linear-gradient(90deg,var(--bsa-red) 0 28px,var(--bsa-black) 28px 42px,var(--bsa-gold) 42px 56px,var(--bsa-black) 56px 70px,var(--bsa-green) 70px 98px,var(--bsa-black) 98px 112px)}
.pattern-band--top{position:absolute;left:0;right:0;top:0}
.ancestral-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}
.ancestral-orbit{position:relative;aspect-ratio:1;max-width:500px;margin:auto;width:100%}
.orbit{position:absolute;border-radius:50%;border:1px solid rgba(227,198,122,.22)}
.orbit-1{inset:4%;background:repeating-conic-gradient(from 20deg,rgba(158,31,36,.26) 0 3deg,transparent 3deg 14deg);mask:radial-gradient(circle,transparent 0 58%,#000 59% 61%,transparent 62%)}
.orbit-2{inset:18%;border:2px dashed rgba(208,163,75,.36);animation:bsaSpin 36s linear infinite}.orbit-3{inset:33%;border:6px double rgba(35,74,54,.75);animation:bsaSpin 24s linear reverse infinite}.orbit-core{position:absolute;inset:42%;display:grid;place-items:center;background:var(--bsa-red);color:var(--bsa-cream);font-family:var(--bsa-display);letter-spacing:.08em;transform:rotate(45deg)}
@keyframes bsaSpin{to{transform:rotate(360deg)}}
.signal-list{margin-top:40px;border-top:1px solid rgba(227,198,122,.20)}
.signal-list a{display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:center;color:var(--bsa-cream);text-decoration:none;padding:18px 0;border-bottom:1px solid rgba(227,198,122,.16);font-weight:850}
.signal-list a span{color:var(--bsa-gold);font-size:.69rem;letter-spacing:.12em}.signal-list a b{color:var(--bsa-red);font-size:1.25rem}.signal-list a:hover{padding-left:8px;color:var(--bsa-gold-soft)}

/* Archive tiles */
.archive-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.archive-note{max-width:470px;color:#544a3e;margin:0 0 18px}
.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:52px}
.archive-tile{grid-column:span 4;min-height:340px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:#eadcc4;color:var(--bsa-black)!important;text-decoration:none;border:1px solid rgba(23,21,16,.16);transition:.25s ease}
.archive-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 38%,rgba(158,31,36,.07) 38% 42%,transparent 42% 55%,rgba(35,74,54,.07) 55% 60%,transparent 60%)};background-size:180px 180px}
.archive-tile::after{content:"";position:absolute;top:26px;right:26px;width:54px;height:54px;border:2px solid var(--bsa-red);transform:rotate(45deg);opacity:.45}
.archive-tile--wide{grid-column:span 8;background:var(--bsa-red-dark);color:#fff!important}.archive-tile--wide::after{border-color:var(--bsa-gold)}
.archive-tile--dark{background:var(--bsa-black);color:var(--bsa-cream)!important}
.archive-tile--pattern{background:var(--bsa-green);color:#fff!important}.archive-tile--pattern::before{opacity:.35;background:repeating-conic-gradient(from 45deg at 50% 50%,rgba(227,198,122,.22) 0 6deg,transparent 6deg 18deg)}
.tile-id{position:absolute;top:28px;left:28px;font-size:.62rem;letter-spacing:.17em;font-weight:950;opacity:.72}
.archive-tile strong{position:relative;font-family:var(--bsa-display);font-size:clamp(1.9rem,3vw,3.4rem);line-height:.9;text-transform:uppercase;letter-spacing:-.04em;max-width:620px}
.archive-tile small{position:relative;font-size:.93rem;max-width:560px;margin-top:16px;line-height:1.55;opacity:.82}.archive-tile i{position:relative;font-style:normal;font-size:.65rem;letter-spacing:.12em;font-weight:950;margin-top:22px}.archive-tile:hover{transform:translateY(-6px);box-shadow:var(--bsa-shadow)}

/* Kwanzaa */
.bsa-kwanzaa{isolation:isolate}.kwanzaa-pattern{position:absolute;inset:0;z-index:-1;opacity:.14;background:repeating-linear-gradient(45deg,#000 0 12px,transparent 12px 24px),repeating-linear-gradient(-45deg,var(--bsa-gold) 0 8px,transparent 8px 28px);background-size:68px 68px;mask-image:linear-gradient(90deg,transparent 20%,#000 100%)}
.principle-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-top:52px;border:1px solid rgba(255,255,255,.22)}
.principle{min-height:230px;padding:22px 18px;color:#fff!important;text-decoration:none;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;justify-content:space-between;background:rgba(0,0,0,.10);transition:.2s ease}.principle:last-child{border-right:0}.principle span{font-size:.62rem;letter-spacing:.14em;color:var(--bsa-gold-soft)}.principle strong{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--bsa-display);font-size:1.25rem;letter-spacing:.02em;text-transform:uppercase}.principle i{font-style:normal;color:var(--bsa-gold);font-size:1.4rem}.principle:hover{background:rgba(0,0,0,.26)}

/* Community CTA */
.community-frame{display:grid;grid-template-columns:.55fr 1.45fr;gap:80px;align-items:center;border-top:1px solid rgba(23,21,16,.16);border-bottom:1px solid rgba(23,21,16,.16);padding-top:72px;padding-bottom:72px}.community-mark{aspect-ratio:1;display:grid;place-items:center;background:var(--bsa-black);color:var(--bsa-gold);font-family:var(--bsa-display);font-size:clamp(3rem,7vw,7rem);letter-spacing:-.05em;position:relative;overflow:hidden}.community-mark::before,.community-mark::after{content:"";position:absolute;inset:12%;border:1px solid rgba(227,198,122,.30);transform:rotate(45deg)}.community-mark::after{inset:25%;border-color:rgba(158,31,36,.62)}

/* Latest posts */
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:42px}.latest-card{border-top:5px solid var(--bsa-black);padding-top:18px}.latest-image{aspect-ratio:4/3;overflow:hidden;display:block;margin-bottom:20px}.latest-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.04);transition:.35s ease}.latest-image:hover img{transform:scale(1.03)}.latest-meta{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--bsa-red);margin-bottom:8px}.latest-card h3{font-family:var(--bsa-display);font-size:1.6rem;line-height:1;margin:0 0 12px;text-transform:uppercase}.latest-card h3 a{color:var(--bsa-black);text-decoration:none}.latest-card p{color:#5d554b}

/* ===== Standard pages / legacy content ===== */
.content-wrap{width:min(calc(100% - 48px),var(--bsa-max));margin-inline:auto;padding:92px 0 110px}
.entry-header{margin-bottom:44px;padding-bottom:30px;border-bottom:1px solid rgba(23,21,16,.16);position:relative}.entry-header::after{content:"BSA / LIVING ARCHIVE";position:absolute;bottom:8px;right:0;color:#9d9385;font-size:.56rem;letter-spacing:.16em;font-weight:900}
.entry-title{font-family:var(--bsa-display);font-size:clamp(3rem,7vw,7rem);line-height:.85;letter-spacing:-.055em;color:var(--bsa-black);margin:0;text-transform:uppercase;max-width:1050px}
.entry-content{font-size:1.02rem}.entry-content>*,.entry-content .wp-block-group__inner-container>*{max-width:920px}.entry-content>.alignwide{max-width:var(--bsa-max)}.entry-content>.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw)}
.entry-content h2,.entry-content h3,.entry-content h4{font-family:var(--bsa-display);color:var(--bsa-black);line-height:.98;text-transform:uppercase;letter-spacing:-.035em}.entry-content h2{font-size:clamp(2.4rem,4.8vw,4.8rem);margin-top:1.8em}.entry-content h3{font-size:clamp(1.55rem,3vw,2.7rem);margin-top:1.7em}.entry-content blockquote{margin:46px 0;padding:34px 36px;border-left:7px solid var(--bsa-red);background:var(--bsa-black);color:var(--bsa-cream);font-family:var(--bsa-serif);font-size:1.45rem;box-shadow:var(--bsa-shadow)}.entry-content hr{border:0;border-top:1px solid rgba(23,21,16,.18);margin:58px 0}.entry-content figure img{border-radius:0;box-shadow:0 18px 38px rgba(11,11,9,.15)}
.entry-content .wp-block-columns{gap:30px}.entry-content .wp-block-column{min-width:0}.bsa-existing-content{border-top:1px solid rgba(23,21,16,.14);padding-top:60px}

/* Forms and tables */
table{width:100%;border-collapse:collapse;background:var(--bsa-white);overflow:hidden}th,td{padding:15px 17px;border-bottom:1px solid #dfd0b7;text-align:left}th{background:var(--bsa-black);color:var(--bsa-cream);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem}
input,textarea,select{width:100%;padding:15px 16px;border:1px solid #c9b99f;background:#fffdf9;border-radius:0;font:inherit;color:var(--bsa-ink)}input:focus,textarea:focus,select:focus{outline:3px solid rgba(208,163,75,.18);border-color:var(--bsa-gold)}

/* WooCommerce */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fffdf8;border:1px solid rgba(23,21,16,.13);padding:18px;border-radius:0;box-shadow:none;transition:.2s ease}.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--bsa-shadow)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--bsa-display);font-size:1.18rem!important;color:var(--bsa-black);text-transform:uppercase}.woocommerce div.product .product_title{font-family:var(--bsa-display);font-size:clamp(2.6rem,5vw,5rem);text-transform:uppercase;line-height:.9}

/* ===== Footer ===== */
.site-footer{position:relative;background:#080806;color:#d8cdbd;border-top:0;overflow:hidden}.footer-pattern{height:32px;background:repeating-linear-gradient(135deg,var(--bsa-red) 0 16px,var(--bsa-red) 16px 28px,var(--bsa-black) 28px 42px,var(--bsa-gold) 42px 56px,var(--bsa-black) 56px 70px,var(--bsa-green) 70px 84px,var(--bsa-black) 84px 98px)}
.footer-inner{padding:76px 0 56px;display:grid;grid-template-columns:1.7fr .8fr .8fr;gap:56px}.footer-code{font-size:.58rem;letter-spacing:.18em;color:#7c7468;text-transform:uppercase;font-weight:900;margin-bottom:16px}.footer-brand{font-family:var(--bsa-display);color:var(--bsa-cream);font-size:clamp(2.4rem,4vw,4.4rem);line-height:.86;text-transform:uppercase;letter-spacing:-.05em}.footer-lead p{max-width:580px;color:#a99f91}.footer-column strong{display:block;color:var(--bsa-gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.site-footer a{color:var(--bsa-cream);text-decoration:none}.site-footer a:hover{color:var(--bsa-gold-soft)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:8px 0}.footer-bottom{border-top:1px solid rgba(227,198,122,.15);padding:20px 0 28px;color:#81786c;font-size:.67rem;letter-spacing:.09em;text-transform:uppercase;display:flex;justify-content:space-between;gap:24px}

/* WP utilities */
.wp-caption,.gallery-caption{color:#655d53;font-size:.9rem}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aligncenter{display:block;margin-left:auto;margin-right:auto}.alignleft{float:left;margin-right:24px}.alignright{float:right;margin-left:24px}

/* ===== Responsive ===== */
@media(max-width:1080px){
  .header-signal{display:none}.menu-toggle{display:inline-flex}.primary-nav{position:absolute;left:24px;right:24px;top:88px;background:#0b0b09;border:1px solid rgba(227,198,122,.23);padding:20px;display:none;box-shadow:var(--bsa-shadow)}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start;gap:2px}.primary-nav li{width:100%}.primary-nav a{display:block;padding:12px 4px;width:100%}.split-intro,.ancestral-layout{grid-template-columns:1fr;gap:52px}.ancestral-orbit{max-width:410px}.archive-tile{grid-column:span 6}.archive-tile--wide{grid-column:span 12}.principle-grid{grid-template-columns:repeat(4,1fr)}.principle{border-bottom:1px solid rgba(255,255,255,.18)}.community-frame{grid-template-columns:.7fr 1.3fr;gap:48px}.footer-inner{grid-template-columns:1.4fr 1fr}
}
@media(max-width:760px){
  body{font-size:16px}.site-shell,.content-wrap{width:min(calc(100% - 28px),var(--bsa-max))}.header-inner{min-height:78px}.custom-logo-link img{max-height:46px}.site-tagline{display:none}.site-title{font-size:.95rem}.primary-nav{top:76px;left:14px;right:14px}.bsa-hero{min-height:650px}.hero-inner{padding:88px 0 82px}.hero-title{font-size:clamp(3.8rem,19vw,6rem)}.hero-title span{-webkit-text-stroke:1px var(--bsa-gold-soft)}.hero-symbol{width:130px;height:130px;right:-30px;bottom:9%;opacity:.38}.bsa-section{padding:78px 0}.section-title{font-size:clamp(2.8rem,13vw,4.8rem)}.bsa-pillar-grid{grid-template-columns:1fr}.bsa-pillar{min-height:300px;border-right:0;border-bottom:1px solid rgba(23,21,16,.15)}.archive-heading-row{display:block}.archive-note{margin-top:24px}.archive-grid{grid-template-columns:1fr}.archive-tile,.archive-tile--wide{grid-column:1/-1;min-height:290px}.principle-grid{grid-template-columns:repeat(2,1fr)}.principle{min-height:180px}.principle strong{writing-mode:initial;transform:none;font-size:1.15rem}.community-frame{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px}.community-mark{max-width:260px}.latest-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:34px;padding-top:56px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.entry-title{font-size:clamp(3rem,15vw,5rem)}.entry-header::after{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ===== 2026 Festival homepage feature ===== */
.bsa-section--festival{
  background:
    radial-gradient(circle at 12% 18%,rgba(158,31,36,.24),transparent 28%),
    radial-gradient(circle at 86% 78%,rgba(35,74,54,.28),transparent 30%),
    var(--bsa-obsidian);
  color:var(--bsa-cream);
}
.bsa-section--festival::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.14;
  background:repeating-linear-gradient(135deg,var(--bsa-gold) 0 2px,transparent 2px 22px);
  mask-image:linear-gradient(90deg,#000,transparent 48%);
}
.bsa-festival-home-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(320px,.72fr);
  gap:clamp(44px,7vw,96px);
  align-items:center;
}
.bsa-festival-home-copy .section-title{max-width:760px}
.bsa-festival-home-copy .section-lede{color:#ded0bc;max-width:690px}
.bsa-festival-home-note{
  margin:26px 0 0;
  color:var(--bsa-gold-soft);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bsa-festival-flyer-link{
  display:block;
  position:relative;
  color:var(--bsa-cream)!important;
  text-decoration:none;
  transform:rotate(1deg);
  transition:transform .22s ease, box-shadow .22s ease;
  box-shadow:0 28px 70px rgba(0,0,0,.42);
  border:1px solid rgba(227,198,122,.25);
  background:#0b0b09;
}
.bsa-festival-flyer-link::before{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px solid rgba(208,163,75,.38);
  pointer-events:none;
}
.bsa-festival-flyer-link:hover,
.bsa-festival-flyer-link:focus-visible{
  transform:rotate(0deg) translateY(-7px);
  box-shadow:0 34px 90px rgba(0,0,0,.52);
}
.bsa-festival-flyer{width:100%;height:auto;display:block}
.bsa-festival-flyer-cta{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 16px;
  background:rgba(11,11,9,.92);
  border:1px solid rgba(227,198,122,.32);
  color:var(--bsa-gold-soft);
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
@media(max-width:900px){
  .bsa-festival-home-grid{grid-template-columns:1fr;gap:48px}
  .bsa-festival-flyer-link{width:min(100%,650px);margin-inline:auto}
}
@media(max-width:760px){
  .bsa-section--festival{padding-top:64px;padding-bottom:76px}
  .bsa-festival-home-note{margin-top:20px}
  .bsa-festival-flyer-link::before{inset:-7px}
  .bsa-festival-flyer-cta{left:10px;right:10px;bottom:10px;padding:11px 12px;font-size:.61rem}
}
