/*
Theme Name: BSBL Theme
Theme URI: https://bündnis-südbrookmerland.de/
Author: Bündnis Südbrookmerland
Description: BSBL Brand Theme – navy, burgundy and local imagery.
Version: 3.14.1
Text Domain: bsbl
*/
:root{
  --navy:#031937;
  --navy2:#061c3b;
  --purple:#45104d;
  --burgundy:#b3003a;
  --burgundy2:#d0044a;
  --red:#df0646;
  --blue:#008dd2;
  --ink:#0d1b2a;
  --muted:#6a7787;
  --paper:#fff;
  --soft:#f4f7fa;
  --line:#dce4ec;
  --max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:#fff;color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;height:auto}
.bsbl-shell{width:min(calc(100% - 44px),var(--max));margin-inline:auto}

/* Header */
.site-header--brand{
  position:sticky;top:0;z-index:1000;
  background:rgba(3,25,55,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header__inner{
  min-height:84px;
  display:grid;
  grid-template-columns:240px 1fr auto;
  align-items:center;
  gap:26px;
}
.site-brand-logo img{display:block;width:205px;max-height:58px;object-fit:contain}
.site-nav{display:flex;align-items:center;justify-content:center;gap:27px}
.site-nav a{
  color:#fff;text-decoration:none;font-weight:690;font-size:.94rem;position:relative;opacity:.94
}
.site-nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-9px;height:3px;background:var(--red);transition:.18s
}
.site-nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:9px}
.contact-link,.member-link{
  text-decoration:none;border-radius:11px;padding:.72rem 1rem;font-weight:760;font-size:.9rem
}
.contact-link{background:linear-gradient(135deg,var(--burgundy),var(--burgundy2));color:#fff}
.member-link{color:#fff;border:1px solid rgba(255,255,255,.25)}
.menu-toggle{display:none}

/* Hero */
.brand-hero{
  position:relative;min-height:520px;overflow:hidden;background:var(--navy);color:#fff
}
.brand-hero__image{
  position:absolute;inset:0;
  background-size:cover;background-position:center 47%;
  transform:scale(1.01)
}
.brand-hero__overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(46,4,67,.92) 0%,rgba(4,22,52,.82) 39%,rgba(4,22,52,.25) 68%,rgba(4,22,52,.48) 100%),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,18,43,.52));
}
.brand-hero__content{position:relative;min-height:520px;padding:65px 0 44px}
.brand-hero__copy{max-width:630px;position:relative;z-index:3}
.brand-hero h1{
  margin:0;font-size:clamp(3rem,5.2vw,5.5rem);line-height:.94;letter-spacing:-.045em;font-style:italic;font-weight:900
}
.brand-hero__copy>p{
  font-size:clamp(1.15rem,1.6vw,1.5rem);font-weight:650;line-height:1.3;margin:23px 0 0
}
.brand-hero__actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.brand-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 24px;border-radius:10px;
  font-weight:800;text-decoration:none
}
.brand-btn--solid{background:linear-gradient(135deg,var(--burgundy),var(--burgundy2));color:#fff}
.brand-btn--outline{border:2px solid rgba(255,255,255,.9);color:#fff}
.brand-tagline{
  display:flex;align-items:center;gap:10px;margin-top:28px;font-size:.92rem;font-style:italic;color:#f2eef4
}
.brand-tagline span,.brand-tagline i{width:34px;height:3px;display:block}
.brand-tagline span{background:var(--red)}
.brand-tagline i{background:var(--blue)}
.brand-hero__scribble{
  position:absolute;right:20px;color:#fff;font-family:"Segoe Print","Bradley Hand",cursive;font-size:1.55rem;line-height:1.35;font-style:italic;
  transform:rotate(-5deg);z-index:3;text-shadow:0 2px 8px rgba(0,0,0,.2)
}
.brand-hero__scribble--top{top:28px}
.brand-hero__scribble--bottom{bottom:63px}
.brand-skyline{
  position:absolute;left:42%;right:0;bottom:-5px;width:56%;height:155px;color:rgba(255,255,255,.62);z-index:2
}

/* Home split section */
.home-main{padding:34px 0 36px;background:#fff}
.home-main__grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(330px,.9fr);gap:26px}
.home-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.home-section-head h2{font-size:1.72rem;margin:0;font-style:italic;letter-spacing:-.025em}
.home-section-head a{color:var(--burgundy);text-decoration:none;font-weight:800;font-size:.9rem}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.news-card{
  border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 6px 19px rgba(2,22,51,.045)
}
.news-card__image{display:block;height:150px;overflow:hidden;background:linear-gradient(135deg,#dbe7ef,#f2f5f8)}
.news-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.news-card__image--fallback{background:linear-gradient(135deg,var(--navy),var(--purple))}
.news-card__body{padding:16px}
.news-card__date{font-size:.72rem;color:#8190a0;margin-bottom:8px}
.news-card h3{font-size:1.04rem;line-height:1.18;margin:0 0 7px}
.news-card p{font-size:.88rem;color:var(--muted);line-height:1.45;margin:0 0 14px}
.news-card__more{color:var(--burgundy);text-decoration:none;font-weight:800;font-size:.86rem}
.home-events{
  border-radius:16px;background:#f4f8fb;padding:18px;border:1px solid #e6edf3
}
.home-events__inner .bsbl-event-list{gap:0}
.home-events__inner .bsbl-event-card{
  display:grid;grid-template-columns:70px 1fr;gap:13px;padding:14px 0;border:0;border-top:1px solid #dde6ee;border-radius:0;background:transparent
}
.home-events__inner .bsbl-event-card:first-child{border-top:0}
.home-events__inner .bsbl-event-date{
  border:0;background:#fff;border-radius:10px;padding:9px 6px;text-align:center;display:flex;justify-content:center
}
.home-events__inner .bsbl-event-date strong{font-size:1.25rem;color:var(--navy)}
.home-events__inner .bsbl-event-date span{font-size:.7rem;color:var(--burgundy);font-weight:800}
.home-events__inner .bsbl-event-card h3{font-size:.95rem;margin:0 0 5px}
.home-events__inner .bsbl-event-card p{font-size:.78rem;margin:0;color:var(--muted)}
.home-events__inner .bsbl-btn{display:none}

/* Team */
.team-section{
  background:
    radial-gradient(circle at 0 0,rgba(179,0,58,.24),transparent 34rem),
    linear-gradient(105deg,#351047 0%,#061b39 56%,#031936 100%);
  color:#fff;padding:34px 0 40px
}
.team-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.team-head h2{font-size:1.72rem;margin:0;font-style:italic}
.team-head a{color:#fff;text-decoration:none;font-weight:700;font-size:.9rem}
.team-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(270px,.85fr);gap:28px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.team-card{
  border-radius:11px;overflow:hidden;border:1px solid rgba(255,255,255,.16);
  background:rgba(3,25,55,.68);box-shadow:0 10px 30px rgba(0,0,0,.12)
}
.team-card__image{height:235px;overflow:hidden;background:linear-gradient(135deg,#511253,#041936)}
.team-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.team-card__body{padding:13px 14px 15px;background:linear-gradient(180deg,rgba(3,25,55,.76),rgba(3,25,55,.96))}
.team-card h3{margin:0;font-size:1rem}
.team-card p{margin:4px 0 0;color:#c5cfda;font-size:.8rem}
.team-quote{display:flex;flex-direction:column;justify-content:center;padding:18px 8px}
.team-quote__mark{font-size:5rem;line-height:.5;color:rgba(255,255,255,.28);font-family:Georgia,serif}
.team-quote p{font-size:1.5rem;line-height:1.2;font-style:italic;margin:16px 0}
.team-quote span{width:42px;height:4px;background:var(--red);display:block}

/* Actions */
.action-section{padding:26px 0;background:#fff}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.action-card{
  position:relative;overflow:hidden;min-height:155px;
  display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;
  padding:25px 28px;border-radius:15px;background:linear-gradient(135deg,#f4f8fb,#fff);
  border:1px solid #e3eaf0;text-decoration:none;color:var(--ink)
}
.action-card__icon{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--burgundy),var(--burgundy2));color:#fff;font-size:1.35rem
}
.action-card h2{font-size:1.55rem;font-style:italic;margin:0 0 5px}
.action-card p{color:var(--muted);font-size:.9rem;max-width:520px;margin:0 0 14px}
.action-card strong{color:var(--burgundy)}
.action-card__scribble{
  position:absolute;right:22px;bottom:19px;font-family:"Segoe Print","Bradley Hand",cursive;
  color:#5d7190;font-style:italic;font-size:1.08rem;transform:rotate(-5deg)
}

/* Newsletter */
.newsletter-band{
  background:linear-gradient(100deg,#4c134d 0%,#661047 45%,#bc003d 100%);
  color:#fff;padding:24px 0
}
.newsletter-band__inner{
  display:grid;grid-template-columns:58px 1.3fr minmax(250px,.65fr) 230px;
  gap:18px;align-items:center
}
.newsletter-band__icon{width:48px;height:48px;border:2px solid #fff;border-radius:8px;display:grid;place-items:center;font-size:1.4rem}
.newsletter-band h2{margin:0 0 3px;font-size:1.25rem}
.newsletter-band p{margin:0;color:#f1dfe8;font-size:.88rem}
.newsletter-band__button{
  display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:9px;
  background:var(--red);color:#fff;text-decoration:none;font-weight:800
}
.newsletter-band__scribble{font-family:"Segoe Print","Bradley Hand",cursive;font-size:1.12rem;font-style:italic;transform:rotate(-4deg)}

/* Footer */
.brand-footer{background:var(--navy);color:#fff;padding:30px 0 16px}
.brand-footer__grid{display:grid;grid-template-columns:1.5fr .7fr .7fr .9fr;gap:38px}
.brand-footer__brand img{width:210px;display:block}
.brand-footer__brand p{color:#d4dce6;font-size:.82rem;font-style:italic}
.brand-footer strong{display:block;margin-bottom:11px}
.brand-footer a{display:block;color:#dfe6ee;text-decoration:none;margin:6px 0;font-size:.86rem}
.brand-footer__heart{
  font-family:"Segoe Print","Bradley Hand",cursive;font-style:italic;font-size:1.22rem;line-height:1.5;align-self:center
}
.brand-footer__bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:22px;padding-top:14px;color:#8ea1b5;font-size:.77rem}

/* Existing generic pages */
.article-hero,.page-hero{padding:72px 0 48px;background:#f3f6f9}
.bsbl-title{font-size:clamp(2.2rem,4vw,4.2rem);letter-spacing:-.04em}
.article-content{width:min(calc(100% - 40px),820px);margin:55px auto 90px;line-height:1.7}
.bsbl-public-form{border:1px solid var(--line);border-radius:16px;padding:28px;background:#fff}
.bsbl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bsbl-form-full{grid-column:1/-1}
.bsbl-public-form input,.bsbl-public-form textarea,.bsbl-public-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px}

/* Portal keeps Phase 12.2 classes available */
.portal-page{background:#f4f7fa;min-height:70vh;padding:50px 0 80px}
.portal-hero{background:linear-gradient(135deg,#4d104a,var(--navy));color:#fff;border-radius:24px;padding:30px;margin-bottom:18px}
.portal-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.portal-stat,.portal-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;text-decoration:none}

@media(max-width:1080px){
  .site-header__inner{grid-template-columns:210px 1fr auto}
  .site-nav{gap:16px}
  .home-main__grid{grid-template-columns:1fr}
  .team-layout{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(4,1fr)}
  .brand-hero__scribble{display:none}
}
@media(max-width:850px){
  .site-header__inner{grid-template-columns:1fr auto}
  .site-nav{display:none}
  .site-nav.is-open{display:flex;position:absolute;left:0;right:0;top:84px;background:var(--navy);padding:22px;flex-direction:column;align-items:flex-start}
  .menu-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:10px}
  .contact-link{display:none}
  .brand-hero__image{background-position:60% center}
  .brand-hero__overlay{background:linear-gradient(90deg,rgba(47,4,65,.94),rgba(4,22,52,.78) 62%,rgba(4,22,52,.45))}
  .brand-skyline{left:34%;width:70%;opacity:.45}
  .news-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .action-grid{grid-template-columns:1fr}
  .newsletter-band__inner{grid-template-columns:50px 1fr}
  .newsletter-band__button{grid-column:2}
  .newsletter-band__scribble{display:none}
  .brand-footer__grid{grid-template-columns:1.4fr 1fr 1fr}
  .brand-footer__heart{display:none}
}
@media(max-width:600px){
  .bsbl-shell{width:min(calc(100% - 28px),var(--max))}
  .site-header__inner{min-height:72px}
  .site-brand-logo img{width:175px}
  .site-nav.is-open{top:72px}
  .brand-hero,.brand-hero__content{min-height:590px}
  .brand-hero__content{padding-top:54px}
  .brand-hero h1{font-size:3.1rem}
  .brand-hero__copy>p br{display:none}
  .brand-tagline{font-size:.78rem}
  .brand-skyline{width:100%;left:0}
  .news-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .team-card__image{height:190px}
  .action-card{grid-template-columns:50px 1fr;padding:21px}
  .action-card__scribble{display:none}
  .brand-footer__grid{grid-template-columns:1fr 1fr}
  .brand-footer__brand{grid-column:1/-1}
  .bsbl-form-grid{grid-template-columns:1fr}
  .bsbl-form-full{grid-column:auto}
}


/* =========================================================
   BSBL 2.4 – SMOOTH BRAND
   ========================================================= */
html{scroll-behavior:smooth}
body{overflow-x:hidden}

/* exact uploaded logo, rendered white */
.site-brand-logo img,
.brand-footer__brand img{
  filter:brightness(0) invert(1);
  opacity:.98;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease;
}
.site-brand-logo:hover img{transform:translateY(-1px) scale(1.015);opacity:1}

/* sticky header motion */
.site-header--brand{
  transition:
    min-height .28s ease,
    background-color .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    backdrop-filter .28s ease;
}
.site-header--brand.is-scrolled{
  background:rgba(3,25,55,.93);
  box-shadow:0 14px 38px rgba(0,8,24,.15);
  border-bottom-color:rgba(255,255,255,.13);
}
.site-header--brand.is-scrolled .site-header__inner{min-height:70px}
.site-header__inner{transition:min-height .28s ease}
.site-brand-logo img{transition:max-width .28s ease,transform .3s ease}
.site-header--brand.is-scrolled .site-brand-logo img{max-width:180px}

/* nav polish */
.site-nav a{
  transition:color .2s ease,opacity .2s ease,transform .2s ease;
}
.site-nav a:hover{transform:translateY(-1px);opacity:1}
.contact-link,.member-link,.brand-btn,.newsletter-band__button{
  transition:
    transform .22s cubic-bezier(.2,.7,.2,1),
    box-shadow .22s ease,
    background .22s ease,
    border-color .22s ease;
}
.contact-link:hover,.brand-btn--solid:hover,.newsletter-band__button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(179,0,58,.28);
}
.brand-btn--outline:hover,.member-link:hover{
  transform:translateY(-2px);
  border-color:#fff;
  background:rgba(255,255,255,.08);
}

/* hero movement */
.brand-hero__image{
  transform:scale(1.04);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
.brand-hero.is-inview .brand-hero__image{transform:scale(1.015)}
.brand-hero__copy{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .8s ease .08s, transform .8s cubic-bezier(.16,1,.3,1) .08s;
}
.brand-hero.is-inview .brand-hero__copy{opacity:1;transform:none}
.brand-hero__scribble{
  opacity:0;
  transform:translateY(14px) rotate(-5deg);
  transition:opacity .8s ease .4s, transform .8s cubic-bezier(.16,1,.3,1) .4s;
}
.brand-hero.is-inview .brand-hero__scribble{opacity:1;transform:rotate(-5deg)}
.brand-skyline{
  stroke-dasharray:1200;
  stroke-dashoffset:1200;
  transition:stroke-dashoffset 1.8s ease .25s,opacity .7s ease;
}
.brand-hero.is-inview .brand-skyline{stroke-dashoffset:0}

/* generic section reveal */
.js-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .72s ease,transform .72s cubic-bezier(.16,1,.3,1);
}
.js-reveal.is-inview{opacity:1;transform:none}
.brand-hero.js-reveal{transform:none}

.js-reveal-item{
  opacity:0;
  transform:translateY(18px) scale(.99);
  transition:
    opacity .55s ease,
    transform .55s cubic-bezier(.16,1,.3,1),
    box-shadow .22s ease,
    border-color .22s ease;
}
.is-inview .js-reveal-item{opacity:1;transform:none}
.is-inview .js-reveal-item:nth-child(2){transition-delay:.08s}
.is-inview .js-reveal-item:nth-child(3){transition-delay:.16s}
.is-inview .js-reveal-item:nth-child(4){transition-delay:.24s}

/* card motion */
.news-card,.team-card,.action-card,.home-events{
  transition:
    transform .24s cubic-bezier(.2,.7,.2,1),
    box-shadow .24s ease,
    border-color .24s ease,
    background-color .24s ease;
}
.news-card:hover,.team-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 42px rgba(2,22,51,.12);
}
.news-card__image img,.team-card__image img{
  transition:transform .5s cubic-bezier(.16,1,.3,1),filter .4s ease;
}
.news-card:hover .news-card__image img,
.team-card:hover .team-card__image img{
  transform:scale(1.035);
}
.action-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(2,22,51,.09);
  border-color:#cfdbe5;
}
.action-card__icon{
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease;
}
.action-card:hover .action-card__icon{
  transform:scale(1.06) rotate(-2deg);
  box-shadow:0 8px 18px rgba(179,0,58,.22);
}

/* soft underline animation */
.news-card__more,.home-section-head a,.team-head a,.action-card strong,.brand-footer a{
  position:relative;
}
.news-card__more:after,.home-section-head a:after,.team-head a:after,.action-card strong:after,.brand-footer a:after{
  content:"";
  position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:currentColor;
  transition:right .22s ease;
}
.news-card__more:hover:after,.home-section-head a:hover:after,.team-head a:hover:after,.action-card:hover strong:after,.brand-footer a:hover:after{right:0}

/* timeline/event hover */
.home-events__inner .bsbl-event-card{
  transition:transform .2s ease,background-color .2s ease;
}
.home-events__inner .bsbl-event-card:hover{
  transform:translateX(4px);
  background:rgba(255,255,255,.6);
}

/* footer micro motion */
.brand-footer a{transition:color .2s ease,transform .2s ease}
.brand-footer a:hover{color:#fff;transform:translateX(2px)}

/* smooth mobile menu */
@media(max-width:850px){
  .site-nav{
    display:flex;
    opacity:0;
    pointer-events:none;
    transform:translateY(-8px);
    visibility:hidden;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }
  .site-nav.is-open{
    opacity:1;
    pointer-events:auto;
    visibility:visible;
    transform:none;
  }
}

/* motion accessibility */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .js-reveal,.js-reveal-item,.brand-hero__copy,.brand-hero__scribble{
    opacity:1!important;
    transform:none!important;
  }
  .brand-skyline{stroke-dashoffset:0!important}
}


/* =========================================================
   BSBL 2.5 – BRAND REFINEMENT
   ========================================================= */
:root{
  --bg-soft:#f5f5f3;
  --soft-rose:#f0e6ea;
  --soft-lilac:#eef0f8;
}

body{
  background:var(--bg-soft);
  color:#0f1730;
}

.site-header--glass{
  position:fixed;
  top:16px; left:0; right:0;
  z-index:1100;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-header--glass .site-header__inner{
  min-height:78px;
  grid-template-columns:230px 1fr auto;
}
.site-header--glass .site-brand-logo img{
  width:210px;
  filter:brightness(0) invert(1);
}
.site-header--glass.is-scrolled{
  top:8px;
}
.site-header--glass.is-scrolled .site-header__inner{
  min-height:70px;
}
.site-header--glass.is-scrolled .site-nav--pill{
  background:rgba(255,255,255,.85);
  box-shadow:0 14px 40px rgba(7,18,42,.14);
  border-color:rgba(255,255,255,.55);
  backdrop-filter:blur(18px);
}
.site-nav--pill{
  justify-self:center;
  display:flex;
  gap:6px;
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  transition:background .26s ease,border-color .26s ease,box-shadow .26s ease,backdrop-filter .26s ease,transform .26s ease;
}
.site-nav--pill a{
  padding:.78rem 1rem;
  border-radius:999px;
  color:#fff;
  font-weight:760;
  font-size:.92rem;
}
.site-header--glass.is-scrolled .site-nav--pill a{
  color:#334054;
}
.site-nav--pill a:hover{
  background:rgba(255,255,255,.12);
}
.site-header--glass.is-scrolled .site-nav--pill a:hover{
  background:rgba(3,25,55,.06);
}
.site-nav a:after{display:none}
.header-actions{
  gap:10px;
}
.ghost-link,.member-link{
  text-decoration:none;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1rem;
  border-radius:999px;
  color:#fff;
  font-weight:740;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
}
.member-link{
  background:linear-gradient(135deg,var(--burgundy),var(--burgundy2));
  border-color:transparent;
}

/* hero refined */
.brand-hero--refined{
  min-height:860px;
  border-radius:0 0 42px 42px;
  overflow:hidden;
  background:#071d40;
}
.brand-hero__content--refined{
  min-height:860px;
  padding-top:118px;
  padding-bottom:54px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  gap:36px;
  align-items:center;
}
.brand-hero__image--soft{
  background-position:center 34%;
  transform:scale(1.01);
}
.brand-hero__overlay--soft{
  background:
    radial-gradient(circle at 14% 12%, rgba(168,39,117,.32), transparent 26%),
    radial-gradient(circle at 90% 30%, rgba(125,160,255,.15), transparent 30%),
    linear-gradient(90deg,rgba(49,12,78,.83) 0%,rgba(4,25,57,.76) 35%,rgba(4,25,57,.22) 70%,rgba(4,25,57,.56) 100%);
}
.hero-topline{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}
.hero-pill{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 .95rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:800;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.brand-hero--refined .brand-hero__copy{
  max-width:680px;
}
.brand-hero--refined h1{
  font-style:normal;
  font-size:clamp(3.7rem,6vw,6.2rem);
  line-height:.95;
}
.brand-hero--refined h1 br:nth-child(2) + span,
.brand-hero--refined h1 span{}
.brand-hero--refined .brand-hero__copy > p{
  max-width:640px;
  color:#e7eaf0;
  line-height:1.5;
  font-size:1.13rem;
}
.brand-btn--ghost{
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(6px);
}

/* carousel */
.people-carousel{
  position:relative;
  min-height:560px;
}
.people-carousel__viewport{
  position:relative;
  min-height:510px;
}
.people-slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform:translateX(34px) scale(.97);
  transition:opacity .6s ease, transform .75s cubic-bezier(.16,1,.3,1);
}
.people-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.people-slide__frame{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(109,17,91,.6),rgba(6,26,59,.94));
  box-shadow:0 28px 80px rgba(2,10,28,.38);
  min-height:450px;
}
.people-slide__frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.people-slide__backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 10%, rgba(194,68,134,.22), transparent 28%),
    linear-gradient(180deg,rgba(4,18,43,.05),rgba(4,18,43,.15));
  z-index:1;
  pointer-events:none;
}
.people-slide__frame img{position:relative; z-index:0}
.people-slide__meta{
  margin-top:16px;
  padding:18px 20px;
  border-radius:20px;
  background:rgba(10,24,53,.82);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  max-width:92%;
  backdrop-filter:blur(10px);
}
.people-slide__meta small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.74rem;
  color:#c5cfdb;
  margin-bottom:6px;
}
.people-slide__meta strong{
  display:block;
  font-size:1.26rem;
  margin-bottom:4px;
}
.people-slide__meta span{
  color:#d8e0ea;
  font-size:.92rem;
}
.people-carousel__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
}
.people-carousel__arrow{
  width:46px; height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:1.6rem;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.people-carousel__dots{
  display:flex;
  gap:10px;
  flex:1;
  justify-content:center;
}
.people-carousel__dot{
  width:10px; height:10px;
  border-radius:50%;
  border:0;
  background:rgba(255,255,255,.36);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, width .2s ease;
}
.people-carousel__dot.is-active{
  background:#ff4b7b;
  width:26px;
  border-radius:999px;
}

/* quote panel */
.quote-panel{
  margin-top:-84px;
  position:relative;
  z-index:5;
  padding-bottom:42px;
}
.quote-panel__card{
  background:linear-gradient(90deg,var(--soft-rose),var(--soft-lilac));
  border-radius:38px;
  padding:48px 56px;
  display:grid;
  grid-template-columns:minmax(0,1.8fr) minmax(250px,.7fr);
  gap:46px;
  box-shadow:0 18px 40px rgba(16,21,43,.06);
}
.quote-panel blockquote{
  margin:0;
  font-size:clamp(2.6rem,4.8vw,4.8rem);
  line-height:.98;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:800;
  color:#121a35;
}
.quote-panel__aside{
  align-self:center;
  border-left:1px solid rgba(15,23,48,.14);
  padding-left:32px;
}
.quote-panel__aside strong{
  display:block;
  color:#cf204f;
  font-size:1.55rem;
  margin-bottom:14px;
}
.quote-panel__aside p{
  margin:0;
  color:#5f6e82;
  font-size:1.08rem;
  line-height:1.5;
}

/* goals */
.goals-section{
  padding:36px 0 56px;
}
.goals-section__grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);
  gap:46px;
  background:linear-gradient(90deg,#411755 0%, #031a3a 45%, #0d2754 100%);
  border-radius:42px;
  color:#fff;
  padding:54px 30px;
  overflow:hidden;
  position:relative;
}
.goals-section__grid:before{
  content:"";
  position:absolute;
  width:480px; height:480px;
  border-radius:50%;
  right:-240px; top:-180px;
  border:1px solid rgba(255,255,255,.1);
}
.goals-section__grid:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(123,162,255,.06) 65%, transparent);
  pointer-events:none;
}
.goals-copy{position:relative; z-index:1; padding:18px 0 18px 8px}
.section-kicker{
  display:block;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  color:#dd1f4e;
  margin-bottom:22px;
}
.section-kicker--light{color:#d7d8ea}
.goals-copy h2{
  margin:0;
  font-size:clamp(3.5rem,6vw,5.8rem);
  line-height:.92;
  font-weight:900;
  letter-spacing:-.05em;
}
.goals-copy h2 span{
  background:linear-gradient(90deg,#ff5381,#9aa7ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.goals-copy p{
  margin:22px 0 0;
  max-width:520px;
  color:#d2d9e3;
  font-size:1.08rem;
  line-height:1.55;
}
.goals-list{
  position:relative;
  z-index:1;
  display:grid;
  gap:14px;
}
.goal-card{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  padding:22px 20px;
  border-radius:24px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
}
.goal-card__number{
  color:#ff6a91;
  font-size:2rem;
  line-height:1;
  font-weight:900;
}
.goal-card h3{
  margin:0 0 6px;
  font-size:1.4rem;
  color:#fff;
}
.goal-card p{
  margin:0;
  color:#d5dde7;
  line-height:1.55;
}

/* editorial news */
.news-section--editorial{
  padding:34px 0 44px;
}
.news-section__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.news-section__head h2{
  margin:0;
  font-size:clamp(3.6rem,6vw,5.3rem);
  line-height:.95;
  letter-spacing:-.05em;
}
.news-section__head a{
  color:#cf204f;
  text-decoration:none;
  font-weight:800;
}
.news-grid--editorial{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.news-card--editorial{
  border-radius:22px;
  border:1px solid #dde4ec;
  background:#f9fafc;
  box-shadow:0 6px 18px rgba(8,18,44,.04);
}
.news-card--editorial .news-card__image{
  height:222px;
  margin:8px;
  border-radius:20px;
  overflow:hidden;
}
.news-card--editorial .news-card__body{
  padding:12px 18px 18px;
}
.news-card__meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.news-card__tag{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:0 .86rem;
  border-radius:999px;
  background:#f0dbe3;
  color:#b51f46;
  font-weight:850;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.news-card--editorial .news-card__date{
  font-size:.8rem;
  color:#6b7388;
  font-weight:700;
}
.news-card--editorial h3{
  font-size:1.12rem;
}

/* action/newsletter soften */
.action-section--split{padding:10px 0 26px}
.action-card--soft{
  background:linear-gradient(135deg,#f1f4f8,#ffffff);
  border-radius:24px;
}
.newsletter-band--soft{
  background:linear-gradient(100deg,#411654 0%,#60104d 44%,#b40040 100%);
  border-radius:34px 34px 0 0;
  margin-top:16px;
}

/* footer */
.brand-footer--soft{
  background:#091b39;
  border-top:1px solid rgba(255,255,255,.08);
}
.brand-footer--soft .brand-footer__brand img{
  filter:brightness(0) invert(1);
}

/* hero in-view smoothness update */
.brand-hero__image--soft{
  transition:transform 1.2s cubic-bezier(.16,1,.3,1);
}
.brand-hero.is-inview .brand-hero__image--soft{
  transform:scale(1.005);
}

/* remove old skyline look if markup remains somewhere */
.brand-skyline{display:none !important}

/* responsive */
@media(max-width:1100px){
  .site-header--glass .site-header__inner{
    grid-template-columns:210px 1fr auto;
  }
  .brand-hero__content--refined{
    grid-template-columns:1fr;
    padding-top:118px;
    gap:28px;
  }
  .people-carousel{
    max-width:760px;
  }
  .quote-panel__card,
  .goals-section__grid{
    grid-template-columns:1fr;
  }
  .quote-panel{
    margin-top:-46px;
  }
  .quote-panel__aside{
    border-left:0;
    border-top:1px solid rgba(15,23,48,.14);
    padding-left:0;
    padding-top:24px;
  }
}
@media(max-width:900px){
  .site-header--glass{
    top:10px;
  }
  .site-header--glass .site-header__inner{
    grid-template-columns:1fr auto;
    min-height:72px;
  }
  .site-header--glass .site-brand-logo img{
    width:180px;
  }
  .site-nav--pill{
    display:flex;
    position:absolute;
    left:14px;
    right:14px;
    top:78px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    border-radius:28px;
    padding:12px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(15,23,48,.06);
    box-shadow:0 24px 60px rgba(7,18,42,.16);
  }
  .site-nav--pill a{
    color:#324155 !important;
  }
  .site-nav--pill.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .ghost-link{display:none}
  .menu-toggle{display:grid}
  .brand-hero--refined,
  .brand-hero__content--refined{
    min-height:auto;
  }
  .brand-hero__content--refined{
    padding-bottom:42px;
  }
  .quote-panel__card{
    padding:36px 28px;
  }
  .news-grid--editorial{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .brand-hero__content--refined{
    padding-top:102px;
  }
  .brand-hero--refined h1{
    font-size:3.3rem;
  }
  .people-slide__frame{
    min-height:370px;
  }
  .quote-panel blockquote{
    font-size:2.2rem;
  }
  .goals-section__grid{
    padding:36px 18px;
    gap:28px;
  }
  .goals-copy h2{
    font-size:3.2rem;
  }
  .news-section__head{
    align-items:start;
    flex-direction:column;
  }
  .news-grid--editorial{
    grid-template-columns:1fr;
  }
  .brand-footer__grid{
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   BSBL 2.6 – CAROUSEL / HEADER / RATHAUS POLISH
   ========================================================= */

/* Hero starts cleanly below transparent header */
.brand-hero--refined{
  padding-top:0;
  min-height:790px;
}
.brand-hero__content--refined{
  min-height:790px;
  padding-top:150px;
  padding-bottom:54px;
  align-items:center;
}
.brand-hero__image--gradient{
  background:
    radial-gradient(circle at 6% 22%, rgba(146,34,117,.45), transparent 28%),
    radial-gradient(circle at 95% 15%, rgba(80,122,228,.22), transparent 30%),
    linear-gradient(105deg,#32154f 0%,#071b3c 42%,#061b3b 100%);
  transform:none !important;
}
.brand-hero__overlay--soft{
  background:
    radial-gradient(circle at -8% 76%, rgba(193,59,129,.24), transparent 27%),
    radial-gradient(circle at 106% 10%, rgba(88,132,233,.20), transparent 28%),
    linear-gradient(90deg,rgba(36,13,63,.28),rgba(4,25,57,.05));
}

/* More mockup-like header */
.site-header--glass{
  top:18px;
}
.site-header--glass .site-header__inner{
  padding:0 8px;
}
.site-nav--pill{
  background:rgba(247,248,250,.91);
  border-color:rgba(255,255,255,.48);
  box-shadow:0 12px 30px rgba(2,12,32,.12);
}
.site-nav--pill a{
  color:#364054;
}
.site-nav--pill a:hover{
  background:rgba(3,25,55,.06);
}
.ghost-link{
  background:rgba(255,255,255,.12);
}
.site-header--glass.is-scrolled .site-nav--pill{
  background:rgba(250,250,252,.94);
}

/* compact stacked carousel like existing site */
.people-carousel--stacked{
  min-height:500px;
  max-width:560px;
  margin-left:auto;
  align-self:center;
}
.people-carousel__viewport--stacked{
  position:relative;
  min-height:440px;
  perspective:1200px;
}
.people-slide--stacked{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  opacity:0;
  pointer-events:none;
  transform:translate3d(54px,18px,0) scale(.90) rotate(4deg);
  transition:
    opacity .55s ease,
    transform .72s cubic-bezier(.16,1,.3,1),
    filter .5s ease;
}
.people-slide--stacked.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0) scale(1) rotate(0deg);
  z-index:4;
}
.people-slide--stacked.is-prev{
  opacity:.42;
  transform:translate3d(-42px,34px,0) scale(.88) rotate(-6deg);
  z-index:1;
  filter:saturate(.7) brightness(.72);
}
.people-slide--stacked.is-next{
  opacity:.46;
  transform:translate3d(58px,40px,0) scale(.88) rotate(6deg);
  z-index:2;
  filter:saturate(.72) brightness(.74);
}
.people-slide__frame--stacked{
  width:min(100%,430px);
  aspect-ratio:1/1;
  min-height:0;
  margin:0 auto;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,#381749,#061a3a);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 26px 70px rgba(0,8,28,.34);
}
.people-slide__frame--stacked img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.people-slide__meta--stacked{
  width:min(86%,395px);
  margin:-16px auto 0;
  position:relative;
  z-index:6;
  background:rgba(7,24,54,.90);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  padding:17px 20px;
  box-shadow:0 18px 36px rgba(0,9,28,.23);
}
.people-carousel__controls--floating{
  margin-top:12px;
  justify-content:center;
}
.people-carousel__controls--floating .people-carousel__arrow{
  position:absolute;
  top:185px;
  z-index:10;
  background:rgba(9,25,53,.55);
}
.people-carousel__arrow--prev{left:0}
.people-carousel__arrow--next{right:0}

/* Rathaus as own quiet banner */
.rathaus-section{
  padding:16px 0 40px;
}
.rathaus-banner{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border-radius:40px;
  background:#071a38;
  box-shadow:0 16px 42px rgba(7,20,45,.08);
}
.rathaus-banner img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  transform:none;
}
.rathaus-banner__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,20,47,.88) 0%,rgba(5,20,47,.57) 40%,rgba(5,20,47,.16) 75%,rgba(5,20,47,.22) 100%);
}
.rathaus-banner__content{
  position:relative;
  z-index:2;
  min-height:340px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:42px clamp(30px,7vw,92px);
  color:#fff;
}
.rathaus-banner__content h2{
  margin:0;
  font-size:clamp(3rem,6vw,5.5rem);
  line-height:.92;
  letter-spacing:-.05em;
}
.rathaus-banner__content .section-kicker{
  margin-bottom:15px;
  color:#ff648e;
}

/* Keep quote panel from colliding with hero */
.quote-panel{
  margin-top:-34px;
}

/* tighten hero copy width and spacing */
.brand-hero--refined .brand-hero__copy{
  align-self:center;
  padding-bottom:24px;
}
.brand-hero--refined .brand-tagline{
  margin-top:34px;
}

/* make carousel images feel more intentional */
.people-slide__frame--stacked::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(3,18,42,.16));
  pointer-events:none;
}

/* mobile */
@media(max-width:1100px){
  .brand-hero__content--refined{
    grid-template-columns:1fr;
    min-height:auto;
    padding-top:132px;
  }
  .people-carousel--stacked{
    max-width:520px;
    margin:10px auto 0;
  }
  .quote-panel{
    margin-top:20px;
  }
}
@media(max-width:760px){
  .site-header--glass{
    top:10px;
  }
  .brand-hero__content--refined{
    padding-top:110px;
  }
  .people-carousel__viewport--stacked{
    min-height:390px;
  }
  .people-slide__frame--stacked{
    width:min(88vw,390px);
  }
  .people-carousel__controls--floating .people-carousel__arrow{
    top:155px;
  }
  .rathaus-banner{
    min-height:290px;
    border-radius:28px;
  }
  .rathaus-banner__content{
    min-height:290px;
  }
}


/* =========================================================
   BSBL 2.7 – LAYOUT POLISH
   ========================================================= */

/* Header: like current Bündnis page */
.site-header--overlay{
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:1200;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-header--overlay .site-header__inner{
  min-height:96px;
  display:grid;
  grid-template-columns:245px 1fr 245px;
  align-items:center;
  gap:20px;
}
.site-header--overlay .site-brand-logo{
  justify-self:start;
}
.site-header--overlay .site-brand-logo img{
  width:205px;
  filter:brightness(0) invert(1);
}
.site-header--overlay .site-nav--pill{
  justify-self:center;
  display:flex;
  gap:0;
  padding:8px 10px;
  background:rgba(247,248,250,.94);
  border:1px solid rgba(255,255,255,.64);
  border-radius:999px;
  box-shadow:0 16px 40px rgba(1,10,28,.14);
  backdrop-filter:blur(16px);
}
.site-header--overlay .site-nav--pill a{
  color:#374154;
  padding:.72rem 1rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:780;
  font-size:.92rem;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.site-header--overlay .site-nav--pill a:hover{
  background:rgba(5,25,55,.07);
  color:#10182c;
  transform:none;
}
.site-header--overlay .menu-toggle{
  justify-self:end;
}
.site-header--overlay.is-scrolled{
  position:fixed;
  top:8px;
}
.site-header--overlay.is-scrolled .site-header__inner{
  min-height:74px;
}
.site-header--overlay.is-scrolled .site-brand-logo img{
  width:185px;
}
.site-header--overlay.is-scrolled .site-nav--pill{
  background:rgba(250,250,251,.95);
}

/* Hero integrates cleanly with header */
.brand-hero--refined{
  padding-top:0 !important;
  min-height:780px;
  border-radius:0 0 44px 44px;
  overflow:hidden;
}
.brand-hero__content--refined{
  min-height:780px;
  padding-top:132px !important;
  padding-bottom:50px;
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);
  gap:54px;
  align-items:center;
}
.brand-hero__copy{
  padding-top:10px;
}
.brand-hero--refined h1{
  font-size:clamp(4rem,6.4vw,6.6rem);
  line-height:.93;
}
.brand-hero--refined .brand-hero__copy > p{
  max-width:700px;
}

/* Carousel proportion fix */
.people-carousel--stacked{
  width:100%;
  max-width:620px;
  min-height:560px;
  margin-left:auto;
  position:relative;
}
.people-carousel__viewport--stacked{
  min-height:500px;
}
.people-slide--stacked{
  inset:24px 32px 0;
}
.people-slide__frame--stacked{
  width:100%;
  max-width:500px;
  aspect-ratio:1.08/1;
  border-radius:30px;
}
.people-slide__frame--stacked img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
}
.people-slide__meta--stacked{
  width:min(86%,440px);
  padding:16px 22px;
  margin:-12px auto 0;
}
.people-slide__meta--stacked small{
  font-size:.68rem;
}
.people-slide__meta--stacked strong{
  font-size:1.22rem;
}
.people-slide--stacked.is-prev{
  transform:translate3d(-52px,34px,0) scale(.86) rotate(-5deg);
}
.people-slide--stacked.is-next{
  transform:translate3d(54px,30px,0) scale(.87) rotate(5deg);
}
.people-carousel__controls--floating .people-carousel__arrow{
  top:215px;
}
.people-carousel__arrow--prev{left:2px}
.people-carousel__arrow--next{right:2px}
.people-carousel__dots{
  margin-top:6px;
}

/* quote no awkward overlap */
.quote-panel{
  margin-top:0 !important;
  padding-top:42px;
}
.quote-panel__card{
  margin-top:0;
}

/* Engagement becomes one coherent editorial section */
.engage-section{
  padding:34px 0 46px;
}
.engage-grid{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.55fr);
  gap:34px;
  align-items:start;
}
.engage-copy{
  padding:16px 6px;
}
.engage-copy h2{
  margin:0 0 14px;
  font-size:clamp(2.8rem,5vw,4.7rem);
  line-height:.95;
  letter-spacing:-.05em;
}
.engage-copy p{
  color:#667287;
  font-size:1.05rem;
  line-height:1.6;
  max-width:430px;
}
.engage-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.engage-card{
  min-height:225px;
  padding:28px;
  border-radius:28px;
  border:1px solid #dde4ec;
  background:linear-gradient(145deg,#f7f9fb,#eef2f7);
  text-decoration:none;
  color:#10182c;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:20px;
  transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s ease,border-color .24s ease;
}
.engage-card:hover{
  transform:translateY(-5px);
  border-color:#d4dce6;
  box-shadow:0 20px 44px rgba(6,20,48,.09);
}
.engage-card__icon{
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#b40040,#e0004f);
  color:#fff;
  font-size:1.2rem;
}
.engage-card small{
  display:block;
  color:#c31d4b;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:850;
  margin-bottom:7px;
}
.engage-card h3{
  margin:0 0 8px;
  font-size:1.5rem;
  letter-spacing:-.025em;
}
.engage-card p{
  margin:0 0 18px;
  color:#667287;
  line-height:1.5;
}
.engage-card strong{
  color:#b70040;
}

/* Newsletter as calm closing card */
.newsletter-section{
  padding:0 0 28px;
}
.newsletter-card{
  position:relative;
  overflow:hidden;
  min-height:190px;
  border-radius:32px;
  padding:34px 38px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  background:
    radial-gradient(circle at 86% 0%, rgba(135,147,255,.18), transparent 32%),
    linear-gradient(105deg,#351347 0%,#071c3c 70%,#0a2550 100%);
  color:#fff;
}
.newsletter-card:after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  right:-90px;
  bottom:-150px;
  border:1px solid rgba(255,255,255,.08);
}
.newsletter-card__copy{
  display:flex;
  align-items:center;
  gap:22px;
  position:relative;
  z-index:2;
}
.newsletter-card__icon{
  width:58px;
  height:58px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
  display:grid;
  place-items:center;
  font-size:1.4rem;
}
.newsletter-card h2{
  margin:0 0 7px;
  font-size:2rem;
}
.newsletter-card p{
  margin:0;
  color:#d6dde8;
  max-width:680px;
}
.newsletter-card__button{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1.4rem;
  border-radius:999px;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  text-decoration:none;
  font-weight:820;
  box-shadow:0 12px 28px rgba(182,0,64,.24);
  transition:transform .2s ease,box-shadow .2s ease;
}
.newsletter-card__button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(182,0,64,.3);
}

/* footer separation */
.brand-footer{
  margin-top:0;
}

/* responsive */
@media(max-width:1120px){
  .site-header--overlay .site-header__inner{
    grid-template-columns:210px 1fr 50px;
  }
  .brand-hero__content--refined{
    grid-template-columns:1fr;
    padding-top:125px !important;
  }
  .people-carousel--stacked{
    max-width:560px;
    margin:0 auto;
  }
  .engage-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:900px){
  .site-header--overlay{
    top:8px;
  }
  .site-header--overlay .site-header__inner{
    grid-template-columns:1fr auto;
    min-height:70px;
  }
  .site-header--overlay .site-brand-logo img{
    width:175px;
  }
  .site-header--overlay .site-nav--pill{
    position:absolute;
    top:76px;
    left:14px;
    right:14px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    border-radius:24px;
    transition:.22s ease;
  }
  .site-header--overlay .site-nav--pill.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .site-header--overlay .menu-toggle{
    display:grid;
    width:42px;
    height:42px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:#fff;
  }
  .brand-hero__content--refined{
    padding-top:104px !important;
  }
  .engage-cards{
    grid-template-columns:1fr;
  }
  .newsletter-card{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:640px){
  .brand-hero--refined h1{
    font-size:3.4rem;
  }
  .people-slide--stacked{
    inset:16px 20px 0;
  }
  .people-slide__frame--stacked{
    aspect-ratio:1/1;
  }
  .people-carousel--stacked{
    min-height:480px;
  }
  .people-carousel__viewport--stacked{
    min-height:420px;
  }
  .people-carousel__controls--floating .people-carousel__arrow{
    top:175px;
  }
  .newsletter-card{
    padding:28px 24px;
  }
  .newsletter-card__copy{
    align-items:flex-start;
  }
}


/* =========================================================
   BSBL 2.8 – PIXEL POLISH
   ========================================================= */

/* Header layout: logo left, navigation group pushed right */
.site-header--overlay .site-header__inner{
  grid-template-columns:220px 1fr;
  gap:26px;
}
.site-header__right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:12px;
}
.site-header--overlay .site-nav--pill{
  justify-self:auto;
}
.member-link--header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 1.08rem;
  border-radius:999px;
  text-decoration:none;
  color:#fff;
  font-weight:800;
  font-size:.9rem;
  background:linear-gradient(135deg,#b90043,#e60052);
  box-shadow:0 10px 26px rgba(185,0,67,.23);
  border:0;
  white-space:nowrap;
  transition:transform .2s ease,box-shadow .2s ease;
}
.member-link--header:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(185,0,67,.30);
}

/* On white page areas: turn header into light floating bar and keep logo readable */
.site-header--overlay.is-scrolled{
  top:8px;
}
.site-header--overlay.is-scrolled .site-header__inner{
  min-height:70px;
  padding:0 14px;
  border-radius:24px;
  background:rgba(250,250,251,.94);
  border:1px solid rgba(15,23,48,.07);
  box-shadow:0 16px 42px rgba(7,18,42,.13);
  backdrop-filter:blur(18px);
}
.site-header--overlay.is-scrolled .site-brand-logo img{
  width:180px;
  filter:none;
}
.site-header--overlay.is-scrolled .site-nav--pill{
  background:rgba(240,242,246,.96);
  box-shadow:none;
  border-color:rgba(15,23,48,.05);
}
.site-header--overlay.is-scrolled .member-link--header{
  color:#fff;
}

/* Portraits: stop zoom/cropping */
.people-slide__frame--stacked{
  background:
    radial-gradient(circle at 22% 8%, rgba(137,38,114,.28), transparent 32%),
    linear-gradient(135deg,#331348,#061b3b);
  display:flex;
  align-items:center;
  justify-content:center;
}
.people-slide__frame--stacked img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}
.people-slide--stacked.is-active .people-slide__frame--stacked img{
  transform:none !important;
}

/* Give the frame a touch more breathing room */
.people-slide__frame--stacked{
  padding:6px;
}
.people-slide__frame--stacked img{
  border-radius:24px;
}

/* Engagement: cards lower, better aligned with copy */
.engage-grid{
  align-items:start;
}
.engage-cards{
  margin-top:58px;
}
.engage-copy{
  padding-top:6px;
}

/* Goals: vertically center the left block against the list */
.goals-section__grid{
  align-items:center;
}
.goals-copy{
  align-self:center;
  padding-top:36px;
  padding-bottom:36px;
}

/* Header mobile */
@media(max-width:1020px){
  .site-header--overlay .site-header__inner{
    grid-template-columns:190px 1fr;
  }
  .site-header__right{
    gap:8px;
  }
  .member-link--header{
    padding:0 .9rem;
    font-size:.84rem;
  }
}
@media(max-width:900px){
  .site-header--overlay .site-header__inner{
    grid-template-columns:1fr auto;
  }
  .site-header__right{
    justify-self:end;
  }
  .site-header--overlay .site-nav--pill{
    top:74px;
  }
  .member-link--header{
    display:none;
  }
}
@media(max-width:760px){
  .engage-cards{
    margin-top:18px;
  }
  .goals-copy{
    padding-top:0;
    padding-bottom:0;
  }
}


/* =========================================================
   BSBL 2.9 – NAVIGATION REDESIGN
   ========================================================= */

:root{
  --header-band-bg:#2b3851;
  --header-band-bg-2:#33425d;
  --header-progress-grad:linear-gradient(90deg,#ff3b8d 0%, #c465f6 45%, #5ea2ff 100%);
}

/* dark band header exactly like screenshot direction */
.site-header--band{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1300;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-header__progress{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:rgba(255,255,255,.05);
  overflow:hidden;
  z-index:3;
}
.site-header__progress-bar{
  display:block;
  width:0%;
  height:100%;
  background:var(--header-progress-grad);
  box-shadow:0 0 18px rgba(117,142,255,.45);
  transition:width .12s linear;
}
.site-header__backdrop{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(89,20,92,.55) 0%, rgba(30,45,87,.86) 28%, rgba(44,61,95,.96) 100%);
  backdrop-filter:blur(8px);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
}
.site-header--band .site-header__inner{
  position:relative;
  z-index:4;
  min-height:94px;
  display:grid;
  grid-template-columns:250px 1fr;
  gap:26px;
  align-items:center;
}
.site-header--band .site-brand-logo{
  justify-self:start;
}
.site-header--band .site-brand-logo img{
  width:194px;
  filter:brightness(0) invert(1);
  display:block;
}
.site-header--band .site-header__right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:12px;
}
.site-header--band .site-nav--pill{
  display:flex;
  align-items:center;
  gap:0;
  background:#f3f4f7;
  border-radius:999px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 8px 24px rgba(7,16,34,.10);
}
.site-header--band .site-nav--pill a{
  color:#3a4355;
  text-decoration:none;
  font-weight:780;
  font-size:.92rem;
  padding:.76rem 1rem;
  border-radius:999px;
  transition:background .22s ease, color .22s ease;
}
.site-header--band .site-nav--pill a:hover{
  background:rgba(24,34,56,.06);
  color:#121b2d;
}
.site-header--band .member-link--band{
  min-height:46px;
  padding:0 1.06rem;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.site-header--band .member-link--band:hover{
  box-shadow:none;
  background:rgba(255,255,255,.15);
}
.site-header--band .menu-toggle{
  display:none;
}

/* hero pushed below fixed header band */
body.admin-bar .site-header--band{ top:32px; }
main#content{
  padding-top:94px;
}
.brand-hero--refined{
  border-radius:0 0 44px 44px;
}

/* keep logo white always in the band header */
.site-header--band.is-compact .site-brand-logo img{
  width:186px;
  filter:brightness(0) invert(1);
}

/* portrait cards remain unzoomed and slightly better framed */
.people-slide__frame--stacked{
  padding:12px;
}
.people-slide__frame--stacked img{
  object-fit:contain !important;
  object-position:center center !important;
}

/* responsive */
@media(max-width:1120px){
  .site-header--band .site-header__inner{
    grid-template-columns:210px 1fr;
  }
  .site-header--band .site-brand-logo img{
    width:176px;
  }
}
@media(max-width:980px){
  .site-header--band .site-header__inner{
    grid-template-columns:1fr auto;
    min-height:82px;
  }
  main#content{
    padding-top:82px;
  }
  .site-header--band .site-brand-logo img{
    width:166px;
  }
  .site-header--band .member-link--band{
    display:none;
  }
  .site-header--band .menu-toggle{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#fff;
  }
  .site-header--band .site-nav--pill{
    position:absolute;
    top:76px;
    right:14px;
    left:14px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:.22s ease;
  }
  .site-header--band .site-nav--pill.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .site-header--band .site-nav--pill a{
    padding:.9rem 1rem;
  }
}


/* BSBL 2.9.1 – reveal safety */
html.no-js .js-reveal,
html.no-js .js-reveal-item{
  opacity:1 !important;
  transform:none !important;
}

@media(prefers-reduced-motion:reduce){
  .js-reveal,
  .js-reveal-item{
    opacity:1 !important;
    transform:none !important;
  }
}


/* =========================================================
   BSBL 2.9.2 – NAV COLOR / CLEANUP
   ========================================================= */

/* Remove list bullets from WP menus */
.site-nav,
.site-nav ul,
.site-nav li,
.site-nav--pill,
.site-nav--pill ul,
.site-nav--pill li{
  list-style:none !important;
  margin:0 !important;
  padding-left:0 !important;
}
.site-nav li::marker,
.site-nav--pill li::marker{
  content:"" !important;
  display:none !important;
}
.site-nav li::before,
.site-nav--pill li::before{
  content:none !important;
  display:none !important;
}

/* Dark translucent nav pill */
.site-header--band .site-nav--pill{
  background:rgba(9,27,57,.78) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 10px 28px rgba(0,8,24,.16) !important;
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
}
.site-header--band .site-nav--pill a{
  color:rgba(255,255,255,.92) !important;
  font-weight:760;
}
.site-header--band .site-nav--pill a:hover{
  color:#fff !important;
  background:rgba(255,255,255,.09) !important;
}

/* Member button aligned with nav language */
.site-header--band .member-link--band{
  background:rgba(9,27,57,.72) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:inset 0 -2px 0 rgba(214,0,78,.72), 0 10px 28px rgba(0,8,24,.12) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.site-header--band .member-link--band:hover{
  background:rgba(15,39,76,.84) !important;
  border-color:rgba(255,255,255,.26) !important;
  box-shadow:inset 0 -2px 0 rgba(236,0,86,.95), 0 12px 32px rgba(0,8,24,.16) !important;
}

/* Same treatment on mobile dropdown */
@media(max-width:980px){
  .site-header--band .site-nav--pill{
    background:rgba(9,27,57,.96) !important;
  }
}


/* =========================================================
   BSBL 2.9.3 – HEADER BACKDROP BEHAVIOR
   ========================================================= */

/* Full header background: invisible initially */
.site-header--band .site-header__backdrop{
  background:rgba(5,18,39,0) !important;
  backdrop-filter:blur(0px);
  -webkit-backdrop-filter:blur(0px);
  box-shadow:none;
  transition:
    background .34s ease,
    backdrop-filter .34s ease,
    -webkit-backdrop-filter .34s ease,
    box-shadow .34s ease;
}

/* As soon as scrolling begins, fade the complete navbar background in */
.site-header--band.is-compact .site-header__backdrop{
  background:rgba(9,27,57,.94) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 12px 34px rgba(0,8,22,.16);
}

/* Navigation pill stays light gray with dark text */
.site-header--band .site-nav--pill,
.site-header--band.is-compact .site-nav--pill{
  background:rgba(238,240,244,.96) !important;
  border:1px solid rgba(255,255,255,.5) !important;
  box-shadow:0 8px 24px rgba(7,16,34,.08) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.site-header--band .site-nav--pill a,
.site-header--band.is-compact .site-nav--pill a{
  color:#384255 !important;
}

.site-header--band .site-nav--pill a:hover,
.site-header--band.is-compact .site-nav--pill a:hover{
  color:#111a2d !important;
  background:rgba(9,27,57,.07) !important;
}

/* Member button: dark burgundy */
.site-header--band .member-link--band,
.site-header--band.is-compact .member-link--band{
  background:#65152f !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 10px 24px rgba(59,8,27,.20) !important;
}

.site-header--band .member-link--band:hover,
.site-header--band.is-compact .member-link--band:hover{
  background:#7a1838 !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 12px 28px rgba(59,8,27,.26) !important;
}

/* Progress line remains visible at top */
.site-header__progress{
  background:rgba(255,255,255,.03);
}


/* =========================================================
   BSBL 2.9.4 – HEADER CONTEXT
   ========================================================= */

/* Homepage: navbar floats transparently on top of the hero */
.site-header--hero .site-header__backdrop{
  background:rgba(9,27,57,0) !important;
  backdrop-filter:blur(0) !important;
  -webkit-backdrop-filter:blur(0) !important;
  box-shadow:none !important;
}

/* Once scrolling starts on homepage, dark background fades in */
.site-header--hero.is-compact .site-header__backdrop{
  background:rgba(9,27,57,.94) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  box-shadow:0 12px 34px rgba(0,8,22,.16) !important;
}

/* Important: no artificial white space between navbar and homepage hero */
body.home main#content,
body.front-page main#content{
  padding-top:0 !important;
}

/* Hero already contains the spacing needed underneath the overlaid header */
body.home .brand-hero__content--refined,
body.front-page .brand-hero__content--refined{
  padding-top:132px !important;
}

/* Every normal page has the dark navbar background immediately */
.site-header--solid .site-header__backdrop{
  background:rgba(9,27,57,.96) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 12px 34px rgba(0,8,22,.14) !important;
}

/* Normal pages still reserve room for the fixed navbar */
body:not(.home):not(.front-page) main#content{
  padding-top:94px !important;
}

/* Keep logo white on both header variants */
.site-header--hero .site-brand-logo img,
.site-header--solid .site-brand-logo img{
  filter:brightness(0) invert(1) !important;
}

@media(max-width:980px){
  body:not(.home):not(.front-page) main#content{
    padding-top:82px !important;
  }

  body.home .brand-hero__content--refined,
  body.front-page .brand-hero__content--refined{
    padding-top:108px !important;
  }
}


/* =========================================================
   BSBL 3.0 – SUBPAGES
   ========================================================= */

/* member button exactly matches newsletter button */
.site-header--band .member-link--band,
.site-header--band.is-compact .member-link--band,
.site-header--hero .member-link--band,
.site-header--solid .member-link--band{
  background:linear-gradient(135deg,#b60040,#e0004f) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 12px 28px rgba(182,0,64,.24) !important;
}
.site-header--band .member-link--band:hover,
.site-header--band.is-compact .member-link--band:hover,
.site-header--hero .member-link--band:hover,
.site-header--solid .member-link--band:hover{
  background:linear-gradient(135deg,#c20046,#ef0058) !important;
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(182,0,64,.30) !important;
}

/* shared subpage hero */
.subpage-hero{
  position:relative;
  overflow:hidden;
  min-height:390px;
  background:
    radial-gradient(circle at 10% 8%,rgba(127,43,115,.26),transparent 31%),
    linear-gradient(110deg,#351248 0%,#091b39 58%,#102a59 100%);
  color:#fff;
}
.subpage-hero__inner{
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  position:relative;
  z-index:2;
}
.subpage-hero__copy{
  max-width:900px;
}
.subpage-kicker{
  display:inline-flex;
  padding:.48rem .82rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(255,255,255,.08);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  margin-bottom:22px;
}
.subpage-hero h1{
  margin:0;
  max-width:970px;
  font-size:clamp(3.7rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.subpage-hero__copy>p{
  max-width:760px;
  margin:22px 0 0;
  color:#d9e0ea;
  font-size:1.18rem;
  line-height:1.55;
}
.subpage-hero__mark{
  width:180px;
  height:180px;
  position:relative;
  flex:0 0 auto;
  opacity:.48;
}
.subpage-hero__mark span{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
}
.subpage-hero__mark span:nth-child(1){width:180px;height:180px;inset:0}
.subpage-hero__mark span:nth-child(2){width:122px;height:122px;inset:29px}
.subpage-hero__mark span:nth-child(3){width:62px;height:62px;inset:59px;background:rgba(255,255,255,.08)}

.subpage-hero--rose{background:radial-gradient(circle at 12% 8%,rgba(195,31,101,.3),transparent 32%),linear-gradient(110deg,#40144f,#091b39 58%,#102a59)}
.subpage-hero--purple{background:radial-gradient(circle at 13% 4%,rgba(156,84,193,.28),transparent 34%),linear-gradient(110deg,#3a1650,#091b39 60%,#122a57)}
.subpage-hero--blue{background:radial-gradient(circle at 12% 5%,rgba(60,113,206,.26),transparent 34%),linear-gradient(110deg,#271745,#091b39 58%,#143361)}

/* generic page content */
.subpage-body{
  padding:58px 0 84px;
  background:#f5f5f3;
}
.subpage-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.55fr);
  gap:34px;
  align-items:start;
}
.subpage-content{
  min-width:0;
  background:#fff;
  border:1px solid #e0e6ec;
  border-radius:30px;
  padding:clamp(28px,5vw,58px);
  box-shadow:0 18px 45px rgba(7,19,42,.055);
  font-size:1.04rem;
  line-height:1.7;
}
.subpage-content>:first-child{margin-top:0}
.subpage-content>:last-child{margin-bottom:0}
.subpage-content h2{
  margin:1.7em 0 .55em;
  font-size:clamp(2rem,3.4vw,3.2rem);
  line-height:1;
  letter-spacing:-.04em;
  color:#111a31;
}
.subpage-content h3{
  margin:1.5em 0 .45em;
  font-size:1.45rem;
  letter-spacing:-.025em;
}
.subpage-content p,
.subpage-content li{
  color:#556477;
}
.subpage-content a{
  color:#bd1248;
  font-weight:800;
}
.subpage-content img{
  border-radius:22px;
}
.subpage-content .wp-block-columns{
  gap:18px;
}
.subpage-content .wp-block-group{
  border-radius:22px;
}
.subpage-aside{
  position:sticky;
  top:120px;
}
.subpage-aside__card{
  border-radius:28px;
  padding:30px;
}
.subpage-aside__card--dark{
  background:
    radial-gradient(circle at 105% 0%,rgba(114,147,255,.2),transparent 36%),
    linear-gradient(145deg,#391449,#091b39 64%);
  color:#fff;
  box-shadow:0 20px 46px rgba(7,18,42,.13);
}
.subpage-aside__card small{
  display:block;
  color:#ff668d;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
  margin-bottom:14px;
}
.subpage-aside__card strong{
  display:block;
  font-size:1.65rem;
  line-height:1.1;
  letter-spacing:-.03em;
}
.subpage-aside__card p{
  color:#d3dce7;
  line-height:1.55;
}
.subpage-aside__card a{
  color:#fff;
  text-decoration:none;
  font-weight:850;
}

/* Existing public forms inside redesigned pages */
.subpage-content .bsbl-public-form{
  border:0;
  padding:0;
  box-shadow:none;
  background:transparent;
}
.subpage-content .bsbl-public-form input,
.subpage-content .bsbl-public-form textarea,
.subpage-content .bsbl-public-form select{
  border:1px solid #dce3ea;
  background:#f8fafc;
  border-radius:13px;
  padding:13px 14px;
}
.subpage-content .bsbl-public-form input:focus,
.subpage-content .bsbl-public-form textarea:focus,
.subpage-content .bsbl-public-form select:focus{
  border-color:#b60040;
  box-shadow:0 0 0 4px rgba(182,0,64,.08);
  outline:0;
}
.subpage-content .bsbl-public-form button,
.subpage-content .bsbl-public-form input[type=submit],
.subpage-content .button-primary{
  border:0;
  border-radius:999px;
  padding:.8rem 1.25rem;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  font-weight:850;
  cursor:pointer;
}

/* events page shortcode */
.subpage-body--termine .subpage-layout{
  grid-template-columns:1fr;
}
.subpage-body--termine .subpage-content{
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
}
.subpage-body--termine .bsbl-event-list{
  gap:15px;
}
.subpage-body--termine .bsbl-event-card{
  grid-template-columns:120px 1fr;
  border:1px solid #dde4ec;
  border-radius:24px;
  padding:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(7,19,42,.045);
  transition:transform .2s ease,box-shadow .2s ease;
}
.subpage-body--termine .bsbl-event-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(7,19,42,.08);
}
.subpage-body--termine .bsbl-event-date{
  border:0;
  background:#f0e7eb;
  border-radius:18px;
  min-height:92px;
  padding:14px;
  align-items:center;
  text-align:center;
}
.subpage-body--termine .bsbl-event-date strong{
  color:#b60040;
}

/* news archive */
.news-archive{
  padding:54px 0 88px;
  background:#f5f5f3;
}
.news-archive__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.news-archive-card{
  overflow:hidden;
  background:#fff;
  border:1px solid #dfe5eb;
  border-radius:26px;
  box-shadow:0 12px 34px rgba(7,19,42,.045);
  transition:transform .24s ease,box-shadow .24s ease;
}
.news-archive-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 48px rgba(7,19,42,.09);
}
.news-archive-card__media{
  display:block;
  height:240px;
  margin:9px;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(135deg,#391449,#091b39);
}
.news-archive-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.news-archive-card:hover .news-archive-card__media img{
  transform:scale(1.035);
}
.news-archive-card__fallback{
  display:block;
  width:100%;
  height:100%;
  background:radial-gradient(circle at 15% 15%,rgba(211,59,124,.38),transparent 35%),linear-gradient(135deg,#391449,#091b39);
}
.news-archive-card__body{padding:14px 22px 24px}
.news-archive-card__meta{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
  color:#758195;
  font-size:.78rem;
}
.news-archive-card__meta span{
  display:inline-flex;
  padding:.36rem .68rem;
  border-radius:999px;
  background:#f0dfe5;
  color:#b11446;
  text-transform:uppercase;
  font-weight:850;
}
.news-archive-card h2{
  margin:0 0 10px;
  font-size:1.45rem;
  line-height:1.12;
}
.news-archive-card h2 a{text-decoration:none}
.news-archive-card p{
  color:#657185;
  line-height:1.55;
}
.news-archive-card__link{
  color:#b60040;
  text-decoration:none;
  font-weight:850;
}
.bsbl-pagination{
  margin-top:38px;
}
.bsbl-pagination .nav-links{
  display:flex;
  justify-content:center;
  gap:8px;
}
.bsbl-pagination a,
.bsbl-pagination span{
  padding:.7rem .9rem;
  border-radius:12px;
  background:#fff;
  border:1px solid #dfe5eb;
  text-decoration:none;
}

/* single article */
.article-hero-v2{
  position:relative;
  overflow:hidden;
  background:linear-gradient(110deg,#3b154b,#091b39 58%,#102b5b);
  color:#fff;
}
.article-hero-v2__gradient{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 0%,rgba(207,38,105,.25),transparent 34%);
}
.article-hero-v2__inner{
  position:relative;
  z-index:2;
  min-height:470px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.article-hero-v2__meta{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}
.article-hero-v2__meta span{
  padding:.4rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  font-weight:850;
}
.article-hero-v2__meta time{color:#cdd7e4}
.article-hero-v2 h1{
  margin:0;
  max-width:1000px;
  font-size:clamp(3.4rem,6.4vw,6.6rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.article-hero-v2__inner>p{
  max-width:780px;
  color:#d7dfE8;
  font-size:1.2rem;
  line-height:1.5;
}
.article-v2{
  padding:0 0 88px;
  background:#f5f5f3;
}
.article-v2__image{
  margin:-58px 0 44px;
  position:relative;
  z-index:4;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(7,18,42,.16);
}
.article-v2__image img{
  width:100%;
  max-height:680px;
  object-fit:cover;
  display:block;
}
.article-v2__layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.45fr);
  gap:40px;
  align-items:start;
}
.article-v2__content{
  background:#fff;
  border:1px solid #e0e6ec;
  border-radius:28px;
  padding:clamp(28px,5vw,58px);
  color:#556477;
  line-height:1.75;
  font-size:1.06rem;
}
.article-v2__content h2,
.article-v2__content h3{
  color:#111a31;
  letter-spacing:-.03em;
}
.article-v2__content h2{
  font-size:2.3rem;
  line-height:1.05;
}
.article-v2__content a{
  color:#b60040;
  font-weight:800;
}
.article-v2__aside{
  position:sticky;
  top:120px;
}
.article-share-card{
  border-radius:26px;
  padding:28px;
  background:linear-gradient(145deg,#3a1549,#091b39);
  color:#fff;
}
.article-share-card small{
  color:#ff668d;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.article-share-card strong{
  display:block;
  font-size:1.45rem;
  margin:12px 0 20px;
}
.article-share-card a{
  color:#fff;
  font-weight:850;
  text-decoration:none;
}

@media(max-width:980px){
  .subpage-layout,
  .article-v2__layout{
    grid-template-columns:1fr;
  }
  .subpage-aside,
  .article-v2__aside{
    position:static;
  }
  .news-archive__grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .subpage-hero__inner{
    min-height:330px;
  }
  .subpage-hero__mark{
    display:none;
  }
  .subpage-hero h1{
    font-size:3.5rem;
  }
  .news-archive__grid{
    grid-template-columns:1fr;
  }
  .subpage-body--termine .bsbl-event-card{
    grid-template-columns:1fr;
  }
  .article-hero-v2__inner{
    min-height:390px;
  }
}


/* =========================================================
   BSBL 3.1 – TRANSPARENT HEADER ON ALL HERO PAGES
   ========================================================= */

/* All public pages now start with a hero, so the header can float transparently everywhere */
.site-header--hero .site-header__backdrop{
  background:rgba(9,27,57,0) !important;
  backdrop-filter:blur(0) !important;
  -webkit-backdrop-filter:blur(0) !important;
  box-shadow:none !important;
}

/* Dark band appears only after scrolling */
.site-header--hero.is-compact .site-header__backdrop{
  background:rgba(9,27,57,.94) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.05) inset,
    0 12px 34px rgba(0,8,22,.16) !important;
}

/* Remove the reserved fixed-header whitespace on every public page */
main#content{
  padding-top:0 !important;
}

/* Give every hero enough breathing room below the overlaid navbar */
.brand-hero__content--refined{
  padding-top:132px !important;
}

.subpage-hero__inner{
  padding-top:94px;
  padding-bottom:28px;
}

.article-hero-v2__inner{
  padding-top:94px;
  padding-bottom:34px;
}

/* Archive/news hero uses the same spacing */
.subpage-hero--news .subpage-hero__inner{
  padding-top:94px;
}

/* White logo remains readable on every hero */
.site-header--hero .site-brand-logo img{
  filter:brightness(0) invert(1) !important;
}

/* Nav and member button remain exactly as designed */
.site-header--hero .site-nav--pill{
  background:rgba(238,240,244,.96) !important;
  border:1px solid rgba(255,255,255,.5) !important;
}

.site-header--hero .site-nav--pill a{
  color:#384255 !important;
}

.site-header--hero .member-link--band{
  background:linear-gradient(135deg,#b60040,#e0004f) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 12px 28px rgba(182,0,64,.24) !important;
}

@media(max-width:980px){
  .brand-hero__content--refined{
    padding-top:108px !important;
  }

  .subpage-hero__inner,
  .article-hero-v2__inner,
  .subpage-hero--news .subpage-hero__inner{
    padding-top:82px;
  }
}


/* =========================================================
   BSBL 3.1.1 – SUBPAGE HERO OFFSET FIX
   ========================================================= */

/* Older header spacing rule was more specific and still won on subpages. */
body:not(.home):not(.front-page) main#content,
body.page main#content,
body.single main#content,
body.blog main#content,
body.archive main#content{
  padding-top:0 !important;
}

/* Header floats directly above all redesigned heroes. */
body:not(.home):not(.front-page) .subpage-hero,
body.single .article-hero-v2,
body.blog .subpage-hero,
body.archive .subpage-hero{
  margin-top:0 !important;
}

/* Keep content clear of the transparent navigation INSIDE the hero instead. */
body:not(.home):not(.front-page) .subpage-hero__inner,
body.blog .subpage-hero__inner,
body.archive .subpage-hero__inner{
  padding-top:108px !important;
}

body.single .article-hero-v2__inner{
  padding-top:108px !important;
}

@media(max-width:980px){
  body:not(.home):not(.front-page) .subpage-hero__inner,
  body.blog .subpage-hero__inner,
  body.archive .subpage-hero__inner,
  body.single .article-hero-v2__inner{
    padding-top:92px !important;
  }
}


/* =========================================================
   BSBL 3.2 – ÜBER UNS + MITMACHEN
   ========================================================= */

.story-hero{
  position:relative;
  overflow:hidden;
  min-height:610px;
  background:linear-gradient(110deg,#3a154b 0%,#091b39 58%,#123161 100%);
  color:#fff;
}
.story-hero--join{background:linear-gradient(110deg,#4b174e 0%,#091b39 60%,#12305e 100%)}
.story-hero__glow{position:absolute;border-radius:50%;pointer-events:none}
.story-hero__glow--one{width:500px;height:500px;left:-180px;top:-170px;background:radial-gradient(circle,rgba(209,54,121,.22),transparent 70%)}
.story-hero__glow--two{width:520px;height:520px;right:-170px;bottom:-220px;border:1px solid rgba(255,255,255,.08)}
.story-hero__inner{
  min-height:610px;position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);
  gap:48px;align-items:center;padding-top:110px
}
.story-hero__copy h1{
  margin:0;max-width:970px;font-size:clamp(4.1rem,7vw,7.4rem);
  line-height:.89;letter-spacing:-.065em
}
.story-hero__copy>p{
  max-width:760px;margin:26px 0 0;color:#d9e1ea;font-size:1.2rem;line-height:1.6
}
.story-note{
  border-radius:28px;padding:30px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(12px);transform:rotate(2deg)
}
.story-note small{
  display:block;color:#ff6b92;text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;font-weight:900;margin-bottom:16px
}
.story-note strong{display:block;font-size:2rem;line-height:1.12}
.story-note--join{transform:rotate(-2deg)}

.about-intro,.join-intro{padding:78px 0;background:#f5f5f3}
.about-intro__grid,.join-intro__grid{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:62px;align-items:start
}
.about-intro h2,.join-intro h2{
  margin:0;max-width:650px;font-size:clamp(3rem,5vw,5.4rem);
  line-height:.94;letter-spacing:-.055em
}
.about-intro__text p,.join-intro__grid>div:last-child p{
  margin:0 0 18px;color:#59687b;font-size:1.12rem;line-height:1.7
}

.about-values{padding:0 0 80px;background:#f5f5f3}
.about-values__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.about-value{
  min-height:290px;padding:30px;border-radius:30px;border:1px solid #dde4eb;
  background:#fff;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:0 14px 36px rgba(7,19,42,.045)
}
.about-value--wide{
  grid-row:span 2;min-height:598px;
  background:radial-gradient(circle at 10% 0%,rgba(202,45,113,.2),transparent 32%),linear-gradient(145deg,#42164f,#0a1c3b 72%);
  color:#fff
}
.about-value--dark{background:#091b39;color:#fff}
.about-value span,.join-option span{color:#e21955;font-weight:900;font-size:1.1rem;margin-bottom:auto}
.about-value h3{margin:18px 0 10px;font-size:2rem;letter-spacing:-.035em}
.about-value p{margin:0;color:#667487;line-height:1.6}
.about-value--wide p,.about-value--dark p{color:#d2dae5}

.about-quote{padding:0 0 80px;background:#f5f5f3}
.about-quote__card{
  padding:54px 58px;border-radius:38px;background:linear-gradient(90deg,#f0e2e9,#edf0fa);
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);gap:46px;align-items:center
}
.about-quote blockquote{
  margin:0;color:#111a31;font-family:Georgia,"Times New Roman",serif;font-weight:800;
  font-size:clamp(2.5rem,4.8vw,4.8rem);line-height:.98
}
.about-quote__card>div:last-child{border-left:1px solid rgba(17,26,49,.14);padding-left:28px}
.about-quote strong{color:#c9194c;font-size:1.4rem}
.about-quote p{color:#667487;line-height:1.55}

.about-team-link{padding:16px 0 86px;background:#f5f5f3}
.about-team-link__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
.about-team-link h2{
  margin:0;font-size:clamp(3rem,5vw,5rem);line-height:.94;letter-spacing:-.055em
}
.about-team-link__copy{color:#657286;font-size:1.08rem;line-height:1.65}
.story-link{display:inline-block;margin-top:16px;color:#b60040;font-weight:850;text-decoration:none}

.story-cta{padding:0 0 36px;background:#f5f5f3}
.story-cta__card{
  position:relative;overflow:hidden;border-radius:38px;padding:48px 54px;
  display:flex;align-items:center;justify-content:space-between;gap:50px;color:#fff;
  background:radial-gradient(circle at 90% -20%,rgba(133,154,255,.22),transparent 34%),linear-gradient(105deg,#40144d,#091b39 68%)
}
.story-cta__card h2{
  margin:0 0 12px;font-size:clamp(3rem,5vw,5rem);line-height:.95;letter-spacing:-.055em
}
.story-cta__card p{max-width:780px;margin:0;color:#d5dde8;font-size:1.08rem;line-height:1.6}
.story-cta__actions{flex:0 0 auto;display:flex;flex-direction:column;gap:10px}
.story-btn{
  min-height:52px;padding:0 1.4rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;font-weight:850;transition:transform .2s ease,box-shadow .2s ease,background .2s ease
}
.story-btn:hover{transform:translateY(-2px)}
.story-btn--light{background:#fff;color:#8b1237}
.story-btn--ghost{border:1px solid rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.06)}
.story-btn--dark{background:linear-gradient(135deg,#b60040,#e0004f);color:#fff}

.join-options{padding:0 0 82px;background:#f5f5f3}
.join-options__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.join-option{
  min-height:310px;padding:30px;border-radius:28px;border:1px solid #dde4eb;
  background:#fff;display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(7,19,42,.04)
}
.join-option h3{margin:18px 0 10px;font-size:1.6rem;letter-spacing:-.03em}
.join-option p{margin:0;color:#667487;line-height:1.6}
.join-option--accent{
  background:radial-gradient(circle at 80% 0%,rgba(109,145,255,.18),transparent 36%),linear-gradient(145deg,#40144c,#091b39 74%);
  color:#fff
}
.join-option--accent p{color:#d5dde8}

.join-path{padding:0 0 70px;background:#f5f5f3}
.join-path__card{
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:34px;
  padding:42px;border-radius:38px;background:linear-gradient(110deg,#3f144c,#091b39 62%);color:#fff
}
.join-path__copy h2{
  margin:0 0 14px;font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:.95;letter-spacing:-.05em
}
.join-path__copy p{color:#d1dae5;line-height:1.6}
.join-path__form{background:#fff;color:#111a31;border-radius:28px;padding:32px}
.join-path__form .bsbl-public-form{border:0;padding:0;box-shadow:none}
.join-path__form input,.join-path__form textarea,.join-path__form select{
  width:100%;border:1px solid #dce3ea;background:#f7f9fb;border-radius:12px;padding:12px 13px
}
.join-path__form input:focus,.join-path__form textarea:focus,.join-path__form select:focus{
  outline:0;border-color:#b60040;box-shadow:0 0 0 4px rgba(182,0,64,.08)
}
.join-path__form button,.join-path__form input[type=submit]{
  border:0;border-radius:999px;min-height:48px;padding:0 1.2rem;
  background:linear-gradient(135deg,#b60040,#e0004f);color:#fff;font-weight:850;cursor:pointer
}

.join-bottom{padding:0 0 46px;background:#f5f5f3}
.join-bottom__grid{
  display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;
  border-radius:28px;border:1px solid #dfe5eb;background:#fff
}
.join-bottom h2{margin:0 0 6px;font-size:2rem}
.join-bottom p{margin:0;color:#667487}

@media(max-width:1000px){
  .story-hero__inner,.about-intro__grid,.join-intro__grid,.about-quote__card,.about-team-link__grid,.join-path__card{grid-template-columns:1fr}
  .story-hero__aside{display:none}
  .about-values__grid{grid-template-columns:1fr 1fr}
  .about-value--wide{grid-row:auto;min-height:320px}
  .join-options__grid{grid-template-columns:1fr 1fr}
  .story-cta__card{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .story-hero{min-height:520px}
  .story-hero__inner{min-height:520px;padding-top:104px}
  .story-hero__copy h1{font-size:3.5rem}
  .about-values__grid,.join-options__grid{grid-template-columns:1fr}
  .about-quote__card{padding:34px 26px}
  .about-quote__card>div:last-child{border-left:0;border-top:1px solid rgba(17,26,49,.14);padding:22px 0 0}
  .story-cta__card,.join-path__card{padding:30px 24px}
  .join-bottom__grid{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   BSBL 3.3 – FORMS / CONTACT / TOPICS
   ========================================================= */

/* Honeypot must never be visible */
.bsbl-honeypot{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Public forms */
.bsbl-public-form{
  display:block;
}
.bsbl-public-form .bsbl-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.bsbl-public-form .bsbl-form-full{
  grid-column:1/-1;
}
.bsbl-public-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#253149;
  font-weight:760;
  font-size:.9rem;
}
.bsbl-public-form input:not([type=checkbox]),
.bsbl-public-form textarea,
.bsbl-public-form select{
  width:100%;
  min-height:50px;
  padding:13px 14px;
  border:1px solid #d8e0e8;
  border-radius:14px;
  background:#f7f9fb;
  color:#111a31;
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.bsbl-public-form textarea{
  min-height:150px;
  resize:vertical;
}
.bsbl-public-form input:focus,
.bsbl-public-form textarea:focus,
.bsbl-public-form select:focus{
  outline:0;
  border-color:#bb174a;
  background:#fff;
  box-shadow:0 0 0 4px rgba(182,0,64,.08);
}
.bsbl-public-form .bsbl-check{
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:11px;
  margin:20px 0;
  line-height:1.45;
  font-weight:520;
  color:#5d697b;
}
.bsbl-public-form .bsbl-check input[type=checkbox]{
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:#c70048;
}
.bsbl-public-form .bsbl-check span{
  min-width:0;
}
.bsbl-public-form button[type=submit],
.bsbl-public-form input[type=submit]{
  min-height:50px;
  padding:0 1.35rem;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(182,0,64,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.bsbl-public-form button[type=submit]:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(182,0,64,.25);
}
.bsbl-form-success,.bsbl-form-error{
  padding:18px 20px;
  border-radius:16px;
  margin:0 0 18px;
}
.bsbl-form-success{background:#e9f6ef;color:#155b37;border:1px solid #caead8}
.bsbl-form-error{background:#fff0f2;color:#8b1731;border:1px solid #f4ccd5}

/* Contact and citizen form landing layout */
.form-landing,.contact-landing{
  padding:72px 0 88px;
  background:#f5f5f3;
}
.form-landing__grid,.contact-landing__grid{
  display:grid;
  grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr);
  gap:46px;
  align-items:start;
}
.form-landing__copy,.contact-landing__intro{
  padding-top:20px;
}
.form-landing__copy h2,.contact-landing__intro h2{
  margin:0 0 18px;
  font-size:clamp(3rem,5vw,5.1rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.form-landing__copy>p,.contact-landing__intro>p{
  color:#647185;
  line-height:1.65;
  font-size:1.06rem;
}
.form-landing__form,.contact-landing__form{
  background:#fff;
  border:1px solid #dde4eb;
  border-radius:30px;
  padding:34px;
  box-shadow:0 18px 46px rgba(7,19,42,.055);
}
.form-landing__steps{
  margin-top:30px;
  display:grid;
  gap:12px;
}
.form-landing__steps div{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 0;
  border-top:1px solid #dde4eb;
}
.form-landing__steps span{
  color:#ce174d;
  font-weight:900;
}
.contact-route-card{
  margin-top:18px;
  border-radius:18px;
  padding:17px 19px;
  background:#fff;
  border:1px solid #dde4eb;
}
.contact-route-card span{
  display:block;
  color:#778397;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
  margin-bottom:4px;
}
.contact-route-card strong{
  color:#111a31;
}
.contact-route-card--press{
  background:#091b39;
  border-color:#091b39;
}
.contact-route-card--press span{color:#ff668d}
.contact-route-card--press strong{color:#fff}

.story-hero--contact{background:linear-gradient(110deg,#42164f 0%,#091b39 56%,#103462 100%)}
.story-hero--issue{background:linear-gradient(110deg,#331b57 0%,#091b39 58%,#12305a 100%)}
.story-hero--topics{background:linear-gradient(110deg,#42164d 0%,#091b39 60%,#123361 100%)}

/* Topics page */
.topics-intro{
  padding:76px 0 62px;
  background:#f5f5f3;
}
.topics-intro__grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:60px;
}
.topics-intro h2{
  margin:0;
  font-size:clamp(3rem,5vw,5.3rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.topics-intro__grid>div:last-child{
  color:#647185;
  font-size:1.1rem;
  line-height:1.7;
}
.topics-grid-section{
  padding:0 0 78px;
  background:#f5f5f3;
}
.topics-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:18px;
}
.topic-detail{
  min-height:330px;
  display:flex;
  flex-direction:column;
  padding:30px;
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  box-shadow:0 14px 34px rgba(7,19,42,.04);
}
.topic-detail--large{
  grid-row:span 2;
  min-height:678px;
  background:
    radial-gradient(circle at 12% 0%,rgba(212,51,121,.22),transparent 34%),
    linear-gradient(145deg,#42164f,#091b39 72%);
  color:#fff;
}
.topic-detail--dark{
  background:#091b39;
  color:#fff;
}
.topic-detail>span{
  color:#e01955;
  font-size:1.2rem;
  font-weight:900;
  margin-bottom:auto;
}
.topic-detail small{
  margin-top:24px;
  color:#c51a4c;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.topic-detail--large small,.topic-detail--dark small{color:#ff678e}
.topic-detail h2{
  margin:8px 0 12px;
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1;
  letter-spacing:-.04em;
}
.topic-detail p{
  margin:0;
  color:#667487;
  line-height:1.62;
}
.topic-detail--large p,.topic-detail--dark p{color:#d2dae5}
.topics-cta{
  padding:0 0 40px;
  background:#f5f5f3;
}

@media(max-width:1000px){
  .form-landing__grid,.contact-landing__grid,.topics-intro__grid{
    grid-template-columns:1fr;
  }
  .topics-grid{
    grid-template-columns:1fr 1fr;
  }
  .topic-detail--large{
    grid-row:auto;
    min-height:360px;
  }
}
@media(max-width:680px){
  .bsbl-public-form .bsbl-form-grid{
    grid-template-columns:1fr;
  }
  .bsbl-public-form .bsbl-form-full{
    grid-column:auto;
  }
  .form-landing__form,.contact-landing__form{
    padding:24px;
  }
  .topics-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   BSBL 3.4 – MENSCHEN
   ========================================================= */

.people-page-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  background:
    radial-gradient(circle at 8% 0%,rgba(197,45,115,.24),transparent 34%),
    linear-gradient(110deg,#3f154c 0%,#091b39 60%,#133462 100%);
  color:#fff;
}
.people-page-hero__inner{
  min-height:520px;
  padding-top:108px;
  padding-bottom:48px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:50px;
  position:relative;
  z-index:2;
}
.people-page-hero h1{
  margin:0;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.people-page-hero p{
  max-width:720px;
  margin:22px 0 0;
  color:#d9e1ea;
  font-size:1.15rem;
  line-height:1.6;
}
.people-page-hero__count{
  flex:0 0 auto;
  width:220px;
  height:220px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
}
.people-page-hero__count strong{
  font-size:4rem;
  line-height:1;
  color:#ff5d89;
}
.people-page-hero__count span{
  margin-top:10px;
  color:#d7dfE8;
  line-height:1.35;
}

.people-directory{
  padding:70px 0 88px;
  background:#f5f5f3;
}
.people-directory__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.person-card{
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  box-shadow:0 14px 36px rgba(7,19,42,.045);
  transition:transform .24s ease,box-shadow .24s ease;
}
.person-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 48px rgba(7,19,42,.085);
}
.person-card__image{
  display:block;
  height:340px;
  margin:10px 10px 0;
  overflow:hidden;
  border-radius:22px;
  background:
    radial-gradient(circle at 15% 5%,rgba(200,54,119,.18),transparent 35%),
    linear-gradient(145deg,#3b154b,#091b39);
}
.person-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.person-card:hover .person-card__image img{transform:scale(1.025)}
.person-card__placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:5rem;
  font-weight:900;
}
.person-card__body{padding:22px 24px 28px}
.person-card__place{
  color:#c8194d;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.72rem;
  font-weight:900;
  margin-bottom:6px;
}
.person-card h2{
  margin:0;
  font-size:1.75rem;
  letter-spacing:-.035em;
}
.person-card h2 a{text-decoration:none}
.person-card__role{
  margin-top:6px;
  color:#59687a;
  font-weight:720;
}
.person-card p{
  margin:14px 0 18px;
  color:#657286;
  line-height:1.55;
}
.person-card__link{
  color:#b60040;
  font-weight:850;
  text-decoration:none;
}
.people-directory__empty{
  padding:52px;
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  text-align:center;
}
.people-directory-cta{
  padding:0 0 40px;
  background:#f5f5f3;
}

/* Person detail */
.person-profile-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 6% 0%,rgba(197,45,115,.24),transparent 34%),
    linear-gradient(110deg,#3f154c,#091b39 62%,#133462);
  color:#fff;
}
.person-profile-hero__grid{
  min-height:650px;
  padding-top:118px;
  padding-bottom:58px;
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);
  gap:62px;
  align-items:center;
  position:relative;
  z-index:2;
}
.person-profile-hero__photo{
  border-radius:34px;
  overflow:hidden;
  background:#0d2246;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 30px 70px rgba(0,8,24,.3);
}
.person-profile-hero__photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.person-card__placeholder--large{
  aspect-ratio:4/5;
  font-size:9rem;
}
.person-profile-hero__copy h1{
  margin:0;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.person-profile-hero__facts{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:28px 0;
}
.person-profile-hero__facts span{
  min-width:160px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.person-profile-hero__facts small{
  display:block;
  color:#bdc8d8;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  margin-bottom:4px;
}
.person-profile-hero__copy blockquote{
  margin:32px 0 0;
  max-width:780px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,3vw,2.7rem);
  line-height:1.2;
  color:#f1f3f7;
}

.person-profile-body{
  padding:68px 0 84px;
  background:#f5f5f3;
}
.person-profile-body__grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.45fr);
  gap:40px;
  align-items:start;
}
.person-profile-content{
  background:#fff;
  border:1px solid #dde4eb;
  border-radius:30px;
  padding:clamp(30px,5vw,58px);
  color:#5d6a7d;
  line-height:1.75;
  font-size:1.06rem;
}
.person-profile-content h2,
.person-profile-content h3{
  color:#111a31;
  letter-spacing:-.035em;
}
.person-profile-aside{position:sticky;top:120px}
.person-profile-aside__card{
  padding:30px;
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(122,152,255,.2),transparent 35%),
    linear-gradient(145deg,#3b1549,#091b39 72%);
}
.person-profile-aside__card small{
  display:block;
  color:#ff648d;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.person-profile-aside__card strong{
  display:block;
  margin:14px 0 22px;
  font-size:1.7rem;
  line-height:1.15;
}
.person-profile-aside__card a{
  display:block;
  color:#fff;
  text-decoration:none;
  font-weight:780;
  margin-top:12px;
}
.person-profile-next{
  padding:0 0 44px;
  background:#f5f5f3;
}
.person-profile-next__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:30px 34px;
  border-radius:28px;
  background:#fff;
  border:1px solid #dde4eb;
}
.person-profile-next small{
  color:#c7194d;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:900;
}
.person-profile-next h2{margin:6px 0 0}

@media(max-width:1000px){
  .people-directory__grid{grid-template-columns:1fr 1fr}
  .person-profile-hero__grid,
  .person-profile-body__grid{
    grid-template-columns:1fr;
  }
  .person-profile-hero__photo{
    max-width:520px;
  }
  .person-profile-aside{position:static}
}
@media(max-width:680px){
  .people-page-hero__inner{
    align-items:flex-start;
    flex-direction:column;
    padding-top:104px;
  }
  .people-page-hero__count{
    width:150px;height:150px;
  }
  .people-directory__grid{grid-template-columns:1fr}
  .person-card__image{height:390px}
  .person-profile-hero__grid{padding-top:104px}
  .person-profile-next__inner{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   BSBL 3.5 – PEOPLE ADMIN / PRIVACY / NEWSLETTER
   ========================================================= */

/* Newsletter */
.newsletter-hero-page{
  position:relative;
  overflow:hidden;
  min-height:570px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(211,54,124,.24),transparent 34%),
    linear-gradient(110deg,#40154c,#091b39 60%,#123361);
}
.newsletter-hero-page__inner{
  min-height:570px;
  padding-top:108px;
  padding-bottom:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
  position:relative;
  z-index:2;
}
.newsletter-hero-page h1{
  margin:0;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.89;
  letter-spacing:-.06em;
}
.newsletter-hero-page p{
  max-width:760px;
  color:#d7e0ea;
  font-size:1.15rem;
  line-height:1.6;
}
.newsletter-hero-page__badge{
  width:210px;height:210px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.newsletter-hero-page__badge span{font-size:2rem;margin-bottom:10px}
.newsletter-hero-page__badge strong{font-size:1.5rem;line-height:1.15}

.newsletter-benefits{
  padding:56px 0 34px;
  background:#f5f5f3;
}
.newsletter-benefits__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.newsletter-benefits article{
  padding:28px;
  border-radius:26px;
  background:#fff;
  border:1px solid #dde4eb;
  box-shadow:0 12px 30px rgba(7,19,42,.04);
}
.newsletter-benefits article>span{
  color:#cf174e;
  font-weight:900;
}
.newsletter-benefits h3{
  margin:24px 0 8px;
  font-size:1.55rem;
}
.newsletter-benefits p{
  margin:0;color:#667487;line-height:1.55;
}

.newsletter-signup-page{
  padding:20px 0 86px;
  background:#f5f5f3;
}
.newsletter-signup-page__grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:38px;
  padding:42px;
  border-radius:38px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(127,151,255,.18),transparent 34%),
    linear-gradient(110deg,#40154d,#091b39 66%);
}
.newsletter-signup-page__copy h2{
  margin:0 0 18px;
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.newsletter-signup-page__copy p{
  color:#d3dce7;
  line-height:1.65;
}
.newsletter-trust{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;
}
.newsletter-trust span{
  padding:.55rem .75rem;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  color:#dce3ec;
  font-size:.82rem;
}
.newsletter-signup-page__form{
  background:#fff;
  color:#111a31;
  border-radius:28px;
  padding:32px;
}
.newsletter-signup-page__form .bsbl-public-form--newsletter>div[style]{
  margin:22px 0 !important;
  padding:18px;
  border-radius:16px;
  background:#f7f9fb;
}
.newsletter-signup-page__form .bsbl-form-note{
  color:#697588;
  font-size:.86rem;
  line-height:1.5;
}

.simple-action-page{
  min-height:72vh;
  padding:150px 0 80px;
  background:
    radial-gradient(circle at 8% 0%,rgba(205,51,119,.18),transparent 32%),
    linear-gradient(110deg,#3e154b,#091b39 65%);
}
.simple-action-page__card{
  max-width:760px;
  padding:42px;
  border-radius:32px;
  background:#fff;
  box-shadow:0 26px 70px rgba(0,8,24,.22);
}
.simple-action-page__card h1{
  margin:0 0 18px;
  font-size:clamp(3rem,6vw,5rem);
  line-height:.94;
  letter-spacing:-.05em;
}

/* Privacy */
.legal-hero{
  position:relative;
  overflow:hidden;
  min-height:460px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(201,47,113,.22),transparent 34%),
    linear-gradient(110deg,#39154b,#091b39 64%,#12315d);
}
.legal-hero__inner{
  min-height:460px;
  padding-top:108px;
  display:flex;
  align-items:center;
  position:relative;
  z-index:2;
}
.legal-hero h1{
  margin:0;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.legal-hero p{
  max-width:760px;
  color:#d5dee8;
  font-size:1.12rem;
  line-height:1.6;
}
.legal-page{
  padding:62px 0 88px;
  background:#f5f5f3;
}
.legal-page__grid{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:38px;
  align-items:start;
}
.legal-toc{
  position:sticky;
  top:120px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid #dde4eb;
}
.legal-toc strong{margin-bottom:8px}
.legal-toc a{
  padding:.65rem .7rem;
  border-radius:10px;
  color:#5b687b;
  text-decoration:none;
  font-size:.9rem;
}
.legal-toc a:hover{background:#f2f4f7;color:#b60040}
.legal-content{
  padding:clamp(28px,5vw,56px);
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  box-shadow:0 14px 38px rgba(7,19,42,.045);
}
.legal-content section{
  scroll-margin-top:120px;
  padding:0 0 34px;
  margin:0 0 34px;
  border-bottom:1px solid #e1e6ec;
}
.legal-content section:last-of-type{border-bottom:0}
.legal-content h2{
  margin:0 0 14px;
  font-size:clamp(2rem,3vw,2.8rem);
  letter-spacing:-.04em;
}
.legal-content p,.legal-content address{
  color:#5f6c7e;
  line-height:1.72;
  font-style:normal;
}
.legal-content a{color:#b60040;font-weight:780}
.legal-mail{
  display:inline-block;
  padding:.75rem 1rem;
  border-radius:12px;
  background:#f3e5ea;
  text-decoration:none;
}
.legal-status{
  color:#7b8797;
  font-size:.85rem;
}
.legal-admin-note{
  margin-bottom:28px;
  padding:16px 18px;
  border-radius:14px;
  background:#fff4ce;
  color:#644e00;
  border:1px solid #f0d974;
}

@media(max-width:900px){
  .newsletter-signup-page__grid,
  .legal-page__grid{
    grid-template-columns:1fr;
  }
  .legal-toc{position:static}
  .newsletter-hero-page__badge{display:none}
}
@media(max-width:680px){
  .newsletter-benefits__grid{grid-template-columns:1fr}
  .newsletter-signup-page__grid{padding:28px 22px}
  .newsletter-signup-page__form{padding:24px}
}


/* =========================================================
   BSBL 3.6 – PEOPLE MEDIA + CALENDAR
   ========================================================= */

/* Dynamic people carousel */
.people-slide__frame--stacked a{
  display:block;
  width:100%;
  height:100%;
}
.people-slide__meta--stacked strong a{
  color:inherit;
  text-decoration:none;
}
.people-carousel--empty{
  max-width:520px;
  margin-left:auto;
}
.people-carousel__empty{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:38px;
  border-radius:30px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.13);
  color:#fff;
}
.people-carousel__empty strong{font-size:2rem}
.people-carousel__empty p{color:#d4dde7}
.people-carousel__empty a{color:#fff;font-weight:850}

/* Calendar */
.calendar-page-hero{
  position:relative;
  overflow:hidden;
  min-height:570px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(204,50,117,.24),transparent 34%),
    linear-gradient(110deg,#40154c,#091b39 60%,#143665);
}
.calendar-page-hero__inner{
  min-height:570px;
  padding-top:108px;
  padding-bottom:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  position:relative;
  z-index:2;
}
.calendar-page-hero h1{
  margin:0;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.89;
  letter-spacing:-.06em;
}
.calendar-page-hero p{
  max-width:760px;
  color:#d7e0ea;
  font-size:1.15rem;
  line-height:1.6;
}
.calendar-page-hero__stats{
  display:flex;
  gap:12px;
}
.calendar-page-hero__stats>div{
  width:160px;
  height:160px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}
.calendar-page-hero__stats strong{
  font-size:3rem;
  line-height:1;
  color:#ff628c;
}
.calendar-page-hero__stats span{
  margin-top:8px;
  color:#d7dfE8;
  font-size:.85rem;
  line-height:1.25;
}

.calendar-page{
  padding:58px 0 88px;
  background:#f5f5f3;
}
.calendar-page__toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:30px;
}
.calendar-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.calendar-filter{
  min-height:44px;
  padding:0 1rem;
  border-radius:999px;
  border:1px solid #d9e1e8;
  background:#fff;
  color:#596679;
  font-weight:780;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.calendar-filter.is-active{
  background:#091b39;
  color:#fff;
  border-color:#091b39;
}
.calendar-dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;
}
.calendar-dot--bsbl{background:#dc174f}
.calendar-dot--council{background:#547fd2}
.calendar-source-link{
  color:#b60040;
  text-decoration:none;
  font-weight:820;
}
.calendar-notice{
  margin-bottom:24px;
  padding:15px 18px;
  border-radius:14px;
  background:#fff4ce;
  border:1px solid #efd775;
  color:#624d00;
}

.calendar-timeline{
  position:relative;
}
.calendar-month{
  display:flex;
  align-items:center;
  gap:14px;
  margin:36px 0 14px;
}
.calendar-month:first-child{margin-top:0}
.calendar-month:after{
  content:"";
  height:1px;
  flex:1;
  background:#dce3e9;
}
.calendar-month span{
  color:#7a8595;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.76rem;
  font-weight:900;
}
.calendar-event{
  display:grid;
  grid-template-columns:105px 1fr;
  gap:22px;
  padding:24px;
  margin-bottom:14px;
  border-radius:26px;
  border:1px solid #dde4eb;
  background:#fff;
  box-shadow:0 10px 30px rgba(7,19,42,.04);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.calendar-event:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(7,19,42,.075);
}
.calendar-event--bsbl{border-left:5px solid #d8174e}
.calendar-event--council{border-left:5px solid #527ed1}
.calendar-event__date{
  width:82px;
  min-height:88px;
  border-radius:19px;
  background:#f1f4f8;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.calendar-event--bsbl .calendar-event__date{background:#f5e5eb}
.calendar-event--council .calendar-event__date{background:#e8eef9}
.calendar-event__date strong{
  font-size:2.1rem;
  line-height:1;
  color:#111a31;
}
.calendar-event__date span{
  margin-top:4px;
  text-transform:uppercase;
  font-weight:850;
  font-size:.75rem;
  color:#6a7689;
}
.calendar-event__meta{
  display:flex;
  align-items:center;
  gap:10px;
  color:#7a8595;
  font-size:.82rem;
}
.calendar-event__source{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 .7rem;
  border-radius:999px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.67rem;
}
.calendar-event__source--bsbl{background:#f3dfe6;color:#ae143f}
.calendar-event__source--council{background:#e3eaf8;color:#365eaa}
.calendar-event h2{
  margin:9px 0 8px;
  font-size:clamp(1.5rem,2.7vw,2.25rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.calendar-event__location{
  color:#4f5d71;
  font-weight:700;
  margin-bottom:9px;
}
.calendar-event p{
  margin:8px 0 0;
  color:#667487;
  line-height:1.55;
}
.calendar-event__actions{
  margin-top:15px;
}
.calendar-event__actions a{
  color:#b60040;
  text-decoration:none;
  font-weight:850;
}
.calendar-event--council .calendar-event__actions a{color:#3c65b3}

.calendar-empty{
  padding:50px;
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  text-align:center;
}
.calendar-explainer{
  margin-top:54px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  padding:42px;
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(117,148,255,.18),transparent 35%),
    linear-gradient(110deg,#3e154c,#091b39 68%);
}
.calendar-explainer h2{
  margin:0;
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:.94;
  letter-spacing:-.05em;
}
.calendar-explainer p{
  margin:0 0 14px;
  color:#d5dde7;
  line-height:1.62;
}

@media(max-width:900px){
  .calendar-page-hero__stats{display:none}
  .calendar-explainer{grid-template-columns:1fr}
}
@media(max-width:680px){
  .calendar-page__toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .calendar-event{
    grid-template-columns:76px 1fr;
    padding:18px;
    gap:14px;
  }
  .calendar-event__date{
    width:66px;
    min-height:74px;
  }
  .calendar-event__date strong{font-size:1.7rem}
  .calendar-explainer{padding:30px 24px}
}


/* =========================================================
   BSBL 3.7 – PEOPLE PORTRAIT TREATMENT
   ========================================================= */

/*
 * A soft duplicate of the uploaded image fills the card behind
 * the sharp portrait. This makes different photo backgrounds
 * feel intentionally integrated instead of pasted in.
 */
.people-slide__frame--stacked{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate;
  background:#091b39 !important;
}

.people-slide__blur-bg{
  position:absolute;
  z-index:0;
  inset:-12%;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:blur(24px) brightness(.54) saturate(.82);
  transform:scale(1.16);
  opacity:.95;
  pointer-events:none;
}

.people-slide__blur-shade{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(9,27,57,.08) 0%,rgba(9,27,57,.03) 56%,rgba(9,27,57,.28) 100%),
    radial-gradient(circle at 50% 22%,rgba(255,255,255,.10),transparent 50%);
}

.people-slide__portrait-link{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:hidden;
}

.people-slide__frame--stacked .people-slide__portrait-link img{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  padding:10px 8px 0 !important;
  background:transparent !important;
  filter:drop-shadow(0 15px 18px rgba(0,8,24,.18));
}

.people-slide--stacked.is-active .people-slide__portrait-link img{
  transform:none !important;
}

/* Slight vignette keeps very bright portrait backgrounds from clashing */
.people-slide__frame--stacked::after{
  z-index:3 !important;
  pointer-events:none !important;
  background:linear-gradient(
    180deg,
    rgba(5,15,32,.05) 0%,
    rgba(5,15,32,0) 48%,
    rgba(5,15,32,.18) 100%
  ) !important;
}

/* Profile and directory images get a neutral fallback too */
.person-card__image,
.person-profile-hero__photo{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,255,255,.10),transparent 42%),
    linear-gradient(145deg,#351849,#091b39) !important;
}

@media(max-width:680px){
  .people-slide__blur-bg{
    filter:blur(20px) brightness(.52) saturate(.82);
  }
}


/* =========================================================
   BSBL 3.7.1 – PEOPLE IMAGE POSITION FIX
   ========================================================= */

/* Directory cards: keep the entire designed portrait visible */
.person-card__image{
  position:relative;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.10),transparent 40%),
    linear-gradient(145deg,#351849,#091b39) !important;
}

.person-card__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block !important;
  transform:none !important;
  background:transparent !important;
}

/* No zoom on hover, otherwise the logo gets cropped again */
.person-card:hover .person-card__image img{
  transform:none !important;
}

/* Detail page: show the complete 4:5 artwork instead of cropping it */
.person-profile-hero__photo{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 15%,rgba(255,255,255,.10),transparent 40%),
    linear-gradient(145deg,#351849,#091b39) !important;
}

.person-profile-hero__photo img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  display:block !important;
  background:transparent !important;
}

/* Preserve the original portrait ratio on profile page */
.person-profile-hero__photo{
  aspect-ratio:4/5;
}

.person-profile-hero__photo img{
  height:100% !important;
}

/* Small inner breathing room so logo never touches rounded edge */
.person-card__image img{
  padding:0 !important;
}

.person-profile-hero__photo img{
  padding:0 !important;
}

@media(max-width:680px){
  .person-card__image{
    height:auto !important;
    aspect-ratio:4/5;
  }
}


/* =========================================================
   BSBL 3.7.2 – PEOPLE IMAGE BOX SIZE FIX
   ========================================================= */

/* Directory card image area now follows the portrait ratio exactly */
.person-card__image{
  height:auto !important;
  aspect-ratio:4/5 !important;
  margin:10px 10px 0 !important;
  padding:0 !important;
  display:block !important;
  overflow:hidden !important;
}

.person-card__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

/* Detail page: prevent the image wrapper from becoming taller than the portrait */
.person-profile-hero__photo{
  width:100% !important;
  max-width:520px !important;
  aspect-ratio:4/5 !important;
  height:auto !important;
  min-height:0 !important;
  align-self:center !important;
  overflow:hidden !important;
}

.person-profile-hero__photo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

/* Keep the whole left column from stretching the image box vertically */
.person-profile-hero__grid{
  align-items:center !important;
}

.person-profile-hero__photo{
  justify-self:start !important;
}

/* Mobile */
@media(max-width:1000px){
  .person-profile-hero__photo{
    max-width:480px !important;
    justify-self:center !important;
  }
}

@media(max-width:680px){
  .person-card__image{
    aspect-ratio:4/5 !important;
  }

  .person-profile-hero__photo{
    max-width:100% !important;
  }
}


/* =========================================================
   BSBL 3.8 – IMPRESSUM
   ========================================================= */

.legal-hero--imprint{
  background:
    radial-gradient(circle at 8% 0%,rgba(199,48,111,.22),transparent 34%),
    linear-gradient(110deg,#3c154a,#091b39 64%,#12315d);
}

.legal-page--imprint .legal-content address{
  padding:18px 20px;
  border-radius:16px;
  background:#f7f9fb;
  border:1px solid #e0e6ec;
  display:inline-block;
  min-width:min(100%,420px);
}

.legal-muted{
  padding:14px 16px;
  border-radius:13px;
  background:#f5f6f8;
  color:#6b7585 !important;
  font-size:.9rem;
}


/* =========================================================
   BSBL 3.9 – AKTUELLES
   ========================================================= */

.news-page-hero{
  position:relative;
  overflow:hidden;
  min-height:540px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(207,50,117,.25),transparent 34%),
    linear-gradient(110deg,#40154d,#091b39 60%,#123562);
}
.news-page-hero__inner{
  min-height:540px;
  padding-top:108px;
  padding-bottom:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
  position:relative;
  z-index:2;
}
.news-page-hero h1{
  margin:0;
  font-size:clamp(5rem,9vw,9rem);
  line-height:.86;
  letter-spacing:-.07em;
}
.news-page-hero p{
  max-width:760px;
  margin:22px 0 0;
  color:#d7e0e9;
  font-size:1.16rem;
  line-height:1.6;
}
.news-page-hero__mark{
  width:220px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.news-page-hero__mark>span{
  color:#ff5f88;
  font-size:2.3rem;
  font-weight:950;
  letter-spacing:-.05em;
}
.news-page-hero__mark small{
  margin-top:8px;
  color:#d6dfe9;
  line-height:1.25;
}
.news-page-hero--compact,
.news-page-hero--compact .news-page-hero__inner{
  min-height:420px;
}
.news-page-hero--compact h1{
  font-size:clamp(4rem,7vw,7rem);
}

.news-page{
  padding:48px 0 88px;
  background:#f5f5f3;
}
.news-category-nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:28px;
}
.news-category-nav a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 .95rem;
  border-radius:999px;
  background:#fff;
  border:1px solid #dde4eb;
  color:#5d697b;
  text-decoration:none;
  font-weight:760;
}
.news-category-nav a:hover,
.news-category-nav a.is-active{
  background:#091b39;
  border-color:#091b39;
  color:#fff;
}

.news-feature{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  min-height:520px;
  overflow:hidden;
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(117,148,255,.17),transparent 36%),
    linear-gradient(120deg,#42154d,#091b39 68%);
  box-shadow:0 22px 54px rgba(7,19,42,.12);
}
.news-feature__image{
  min-height:520px;
  overflow:hidden;
  background:#0d2246;
}
.news-feature__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
.news-feature:hover .news-feature__image img{
  transform:scale(1.025);
}
.news-feature__fallback,
.news-card-v2__fallback{
  display:block;
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 15% 10%,rgba(211,52,120,.34),transparent 35%),
    linear-gradient(145deg,#3f164d,#091b39);
}
.news-feature__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(32px,5vw,62px);
}
.news-feature__eyebrow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  color:#cbd5e2;
  font-size:.8rem;
}
.news-feature__eyebrow span{
  padding:.38rem .68rem;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  color:#ff6b93;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.news-feature h2{
  margin:18px 0 15px;
  font-size:clamp(2.8rem,5vw,5.3rem);
  line-height:.92;
  letter-spacing:-.055em;
}
.news-feature h2 a{
  color:#fff;
  text-decoration:none;
}
.news-feature p{
  color:#d4dde8;
  line-height:1.62;
  font-size:1.05rem;
}
.news-feature__link{
  margin-top:12px;
  color:#fff;
  font-weight:850;
  text-decoration:none;
}

.news-page__heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin:64px 0 26px;
}
.news-page__heading h2{
  margin:0;
  font-size:clamp(3rem,5vw,5rem);
  line-height:.94;
  letter-spacing:-.055em;
}

.news-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.news-card-v2{
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  border:1px solid #dde4eb;
  box-shadow:0 12px 34px rgba(7,19,42,.045);
  transition:transform .24s ease,box-shadow .24s ease;
}
.news-card-v2:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(7,19,42,.085);
}
.news-card-v2__media{
  display:block;
  height:250px;
  margin:9px 9px 0;
  border-radius:20px;
  overflow:hidden;
  background:#0d2246;
}
.news-card-v2__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.news-card-v2:hover .news-card-v2__media img{
  transform:scale(1.03);
}
.news-card-v2__body{
  padding:20px 22px 25px;
}
.news-card-v2__meta{
  min-height:28px;
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
  color:#7a8595;
  font-size:.76rem;
}
.news-card-v2__meta span{
  padding:.34rem .62rem;
  border-radius:999px;
  background:#f2dfe6;
  color:#b31544;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.news-card-v2 h3{
  margin:14px 0 9px;
  font-size:1.55rem;
  line-height:1.08;
  letter-spacing:-.035em;
}
.news-card-v2 h3 a{
  color:#111a31;
  text-decoration:none;
}
.news-card-v2 p{
  color:#657286;
  line-height:1.55;
}
.news-card-v2__link{
  display:inline-block;
  margin-top:7px;
  color:#b60040;
  text-decoration:none;
  font-weight:850;
}

.news-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin:40px 0 0;
}
.news-pagination .page-numbers{
  min-width:42px;
  min-height:42px;
  padding:0 .8rem;
  border-radius:12px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background:#fff;
  border:1px solid #dde4eb;
  text-decoration:none;
  color:#596679;
}
.news-pagination .current{
  background:#091b39;
  color:#fff;
  border-color:#091b39;
}
.news-back-link{
  display:inline-block;
  margin-bottom:22px;
  color:#b60040;
  text-decoration:none;
  font-weight:850;
}
.news-empty{
  padding:50px;
  text-align:center;
  border-radius:28px;
  background:#fff;
  border:1px solid #dde4eb;
}
.news-page-cta{
  margin-top:64px;
}

/* Article */
.article-page__hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(207,50,117,.24),transparent 34%),
    linear-gradient(110deg,#40154d,#091b39 62%,#123562);
}
.article-page__hero-inner{
  min-height:590px;
  padding-top:115px;
  padding-bottom:80px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  position:relative;
  z-index:2;
}
.article-page__meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  color:#cad5e2;
}
.article-page__meta span{
  padding:.4rem .7rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#ff6a92;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:900;
}
.article-page__hero h1{
  margin:22px 0 0;
  max-width:1080px;
  font-size:clamp(4rem,7vw,7.4rem);
  line-height:.9;
  letter-spacing:-.06em;
}
.article-page__lead{
  max-width:800px;
  margin:22px 0 0;
  color:#d6dfe9;
  font-size:1.2rem;
  line-height:1.58;
}
.article-page__body{
  padding:0 0 88px;
  background:#f5f5f3;
}
.article-page__image{
  position:relative;
  z-index:3;
  margin:-58px 0 44px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(7,18,42,.15);
}
.article-page__image img{
  width:100%;
  max-height:720px;
  object-fit:cover;
  display:block;
}
.article-page__layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.45fr);
  gap:40px;
  align-items:start;
}
.article-page__content{
  padding:clamp(30px,5vw,58px);
  border-radius:30px;
  background:#fff;
  border:1px solid #dde4eb;
  color:#58667a;
  line-height:1.78;
  font-size:1.07rem;
}
.article-page__content>:first-child{margin-top:0}
.article-page__content h2,
.article-page__content h3{
  color:#111a31;
  letter-spacing:-.035em;
}
.article-page__content h2{
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.04;
}
.article-page__content a{
  color:#b60040;
  font-weight:780;
}
.article-page__aside{
  position:sticky;
  top:120px;
}
.article-page__aside-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:28px;
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(117,148,255,.18),transparent 35%),
    linear-gradient(145deg,#3c154a,#091b39 72%);
}
.article-page__aside-card small{
  margin-top:10px;
  color:#ff648d;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  font-size:.68rem;
}
.article-page__aside-card small:first-child{margin-top:0}
.article-page__aside-card strong{
  font-size:1.4rem;
}
.article-page__aside-card a{
  color:#fff;
  text-decoration:none;
  font-weight:760;
}
.article-page__all{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.article-related{
  margin-top:70px;
}
.article-related>h2{
  margin:0 0 26px;
  font-size:clamp(3rem,5vw,5rem);
  line-height:.94;
  letter-spacing:-.055em;
}

@media(max-width:980px){
  .news-feature{
    grid-template-columns:1fr;
  }
  .news-feature__image{
    min-height:390px;
  }
  .news-grid-v2{
    grid-template-columns:1fr 1fr;
  }
  .article-page__layout{
    grid-template-columns:1fr;
  }
  .article-page__aside{
    position:static;
  }
}
@media(max-width:680px){
  .news-page-hero__mark{display:none}
  .news-page-hero,
  .news-page-hero__inner{
    min-height:450px;
  }
  .news-feature__image{
    min-height:300px;
  }
  .news-grid-v2{
    grid-template-columns:1fr;
  }
  .article-page__hero-inner{
    min-height:500px;
  }
}


/* =========================================================
   BSBL 3.11 – ARTICLE IMAGE + ATTACHMENTS
   ========================================================= */

/* Article graphics should never be cropped. */
.article-page__image{
  background:
    radial-gradient(circle at 50% 10%,rgba(116,142,255,.10),transparent 42%),
    linear-gradient(145deg,#35164a,#091b39) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.article-page__image img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}

/* Attachments integrated into article side card */
.article-attachments{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.12);
}

.article-attachments>small{
  margin:0 0 10px !important;
}

.article-attachments__list{
  display:grid;
  gap:8px;
}

.article-attachment{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) 18px;
  gap:10px;
  align-items:center;
  padding:10px !important;
  border-radius:13px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#fff !important;
  text-decoration:none !important;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}

.article-attachment:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

.article-attachment__icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.04em;
}

.article-attachment__text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.article-attachment__text strong{
  font-size:.82rem;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
}

.article-attachment__text em{
  color:#bdc8d8;
  font-size:.68rem;
  font-style:normal;
}

.article-attachment__arrow{
  font-size:1rem;
  color:#ff6b92;
}


/* =========================================================
   BSBL 3.12 – GO LIVE / MOBILE NAV
   ========================================================= */

.mobile-nav-backdrop,
.mobile-nav-actions{
  display:none;
}

@media(max-width:980px){
  body.mobile-menu-open{
    overflow:hidden;
  }

  .site-header--band{
    z-index:3000 !important;
  }

  .site-header--band .site-header__inner{
    min-height:82px !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:14px !important;
  }

  .site-header--band .site-brand-logo{
    position:relative !important;
    z-index:3004 !important;
    width:158px !important;
    flex:0 0 158px !important;
  }

  .site-header--band .site-header__right{
    position:static !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
  }

  .site-header--band .member-link--header{
    display:none !important;
  }

  .site-header--band .menu-toggle{
    position:relative !important;
    z-index:3005 !important;
    display:grid !important;
    place-items:center !important;
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:14px !important;
    background:rgba(9,27,57,.76) !important;
    color:#fff !important;
    font-size:26px !important;
    line-height:1 !important;
    box-shadow:0 10px 24px rgba(0,8,24,.12) !important;
    backdrop-filter:blur(12px);
  }

  .site-header--band.mobile-menu-open .menu-toggle{
    position:fixed !important;
    top:18px !important;
    right:18px !important;
    background:#fff !important;
    color:#091b39 !important;
    border-color:rgba(9,27,57,.10) !important;
  }

  .mobile-nav-backdrop{
    position:fixed !important;
    z-index:3001 !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    border:0 !important;
    padding:0 !important;
    background:rgba(3,10,24,.58) !important;
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
  }

  .site-header--band.mobile-menu-open .mobile-nav-backdrop{
    display:block !important;
    opacity:1;
    pointer-events:auto;
  }

  .site-header--band .site-nav--pill{
    position:fixed !important;
    z-index:3002 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:min(88vw,390px) !important;
    height:100dvh !important;
    margin:0 !important;
    padding:104px 24px 30px !important;
    border:0 !important;
    border-radius:28px 0 0 28px !important;
    background:
      radial-gradient(circle at 100% 0%,rgba(211,51,120,.18),transparent 34%),
      linear-gradient(155deg,#fff 0%,#f5f6f8 100%) !important;
    box-shadow:-24px 0 70px rgba(0,8,24,.26) !important;
    transform:translateX(105%) !important;
    opacity:1 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:transform .32s cubic-bezier(.16,1,.3,1),visibility .32s !important;
    overflow-y:auto !important;
  }

  .site-header--band .site-nav--pill.is-open{
    display:block !important;
    transform:translateX(0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .site-header--band .site-nav--pill,
  .site-header--band .site-nav--pill ul{
    list-style:none !important;
  }

  .site-header--band .site-nav--pill ul{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }

  .site-header--band .site-nav--pill li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .site-header--band .site-nav--pill a{
    display:flex !important;
    align-items:center !important;
    min-height:52px !important;
    width:100% !important;
    padding:0 14px !important;
    border-radius:13px !important;
    color:#303c50 !important;
    background:transparent !important;
    font-size:1.04rem !important;
    font-weight:780 !important;
    text-decoration:none !important;
  }

  .site-header--band .site-nav--pill a:hover,
  .site-header--band .site-nav--pill .current-menu-item>a,
  .site-header--band .site-nav--pill .current_page_item>a{
    color:#091b39 !important;
    background:#e9edf2 !important;
  }

  .mobile-nav-actions{
    position:fixed !important;
    z-index:3003 !important;
    right:24px !important;
    bottom:26px !important;
    width:calc(min(88vw,390px) - 48px) !important;
    display:block;
    transform:translateX(calc(100% + 60px));
    visibility:hidden;
    pointer-events:none;
    transition:transform .32s cubic-bezier(.16,1,.3,1),visibility .32s;
  }

  .site-header--band.mobile-menu-open .mobile-nav-actions{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
  }

  .mobile-member-link{
    min-height:52px;
    width:100%;
    padding:0 18px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#b60040,#e0004f);
    color:#fff !important;
    text-decoration:none;
    font-weight:850;
    box-shadow:0 12px 28px rgba(182,0,64,.24);
  }
}

@media(max-width:520px){
  .site-header--band .site-nav--pill{
    width:92vw !important;
  }
  .mobile-nav-actions{
    width:calc(92vw - 48px) !important;
  }
  .site-header--band .site-brand-logo{
    width:142px !important;
    flex-basis:142px !important;
  }
}


/* =========================================================
   BSBL 3.12.1 – MOBILE NAV PHONE POLISH
   ========================================================= */

@media(max-width:680px){
  .site-header--band .site-nav--pill{
    width:100vw !important;
    max-width:none !important;
    border-radius:0 !important;
    padding:104px 24px 104px !important;
    background:
      radial-gradient(circle at 100% 0%,rgba(211,51,120,.14),transparent 34%),
      linear-gradient(155deg,#ffffff 0%,#f4f6f9 100%) !important;
  }

  .site-header--band .site-nav--pill ul{
    max-width:520px !important;
    margin:0 auto !important;
    gap:6px !important;
  }

  .site-header--band .site-nav--pill a{
    min-height:56px !important;
    padding:0 16px !important;
    font-size:1.08rem !important;
    border-radius:14px !important;
  }

  .mobile-nav-actions{
    right:24px !important;
    left:24px !important;
    bottom:24px !important;
    width:auto !important;
    max-width:none !important;
  }

  .mobile-member-link{
    min-height:54px !important;
  }

  .site-header--band.mobile-menu-open .site-brand-logo{
    position:fixed !important;
    top:20px !important;
    left:22px !important;
    width:150px !important;
    z-index:3005 !important;
    filter:none !important;
  }

  .site-header--band.mobile-menu-open .site-brand-logo img{
    filter:none !important;
    opacity:.9;
  }

  .site-header--band.mobile-menu-open .menu-toggle{
    top:18px !important;
    right:18px !important;
  }

  .site-header--band.mobile-menu-open .mobile-nav-backdrop{
    display:none !important;
  }
}

@media(max-width:420px){
  .site-header--band .site-nav--pill{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .mobile-nav-actions{
    left:18px !important;
    right:18px !important;
  }

  .site-header--band.mobile-menu-open .site-brand-logo{
    left:18px !important;
    width:140px !important;
  }
}


/* =========================================================
   BSBL 3.13 – PWA / APP INSTALL
   ========================================================= */

.bsbl-app-install-wrap{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto 18px;
}

.bsbl-app-install{
  width:100%;
  max-width:440px;
  min-height:62px;
  padding:9px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  display:none;
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.07);
  color:#fff;
  text-align:left;
  cursor:pointer;
  backdrop-filter:blur(12px);
}

.bsbl-app-install.is-visible{
  display:flex;
}

.bsbl-app-install__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  font-size:1.2rem;
  font-weight:900;
}

.bsbl-app-install strong,
.bsbl-app-install small{
  display:block;
}

.bsbl-app-install strong{
  font-size:.92rem;
}

.bsbl-app-install small{
  margin-top:2px;
  color:#cbd4e0;
  font-size:.72rem;
}

.bsbl-install-help{
  position:fixed;
  z-index:99999;
  inset:0;
  display:grid;
  place-items:end center;
}

.bsbl-install-help__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(2,8,20,.62);
  backdrop-filter:blur(5px);
}

.bsbl-install-help__card{
  position:relative;
  z-index:2;
  width:min(560px,calc(100% - 24px));
  margin:12px;
  padding:28px;
  border-radius:28px;
  background:#fff;
  color:#111a31;
  box-shadow:0 28px 80px rgba(0,8,24,.32);
}

.bsbl-install-help__card small{
  color:#ba1748;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:900;
}

.bsbl-install-help__card h2{
  margin:8px 42px 12px 0;
  font-size:clamp(2rem,6vw,3.3rem);
  line-height:.95;
  letter-spacing:-.05em;
}

.bsbl-install-help__card p{
  color:#5f6c7e;
  line-height:1.6;
}

.bsbl-install-help__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#eef1f5;
  color:#091b39;
  font-size:24px;
  cursor:pointer;
}

@media(min-width:700px){
  .bsbl-install-help{
    place-items:center;
  }
}


/* =========================================================
   BSBL 3.14 – APP + PUSH FOOTER POLISH
   ========================================================= */

.bsbl-app-install-wrap{
  display:none !important;
}

.brand-footer__heart{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.brand-footer__digital{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}

.brand-footer__digital-action{
  width:100%;
  min-height:48px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  display:none;
  grid-template-columns:32px minmax(0,1fr);
  gap:9px;
  align-items:center;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.brand-footer__digital-action.is-visible,
.brand-footer__digital-action:not([hidden]){
  display:grid;
}

.brand-footer__digital-action:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-1px);
}

.brand-footer__digital-action>span:first-child{
  width:32px;
  height:32px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#b60040,#e0004f);
  color:#fff;
  font-weight:900;
}

.brand-footer__digital-action strong,
.brand-footer__digital-action small{
  display:block;
}

.brand-footer__digital-action strong{
  color:#fff;
  font-size:.78rem;
  line-height:1.15;
}

.brand-footer__digital-action small{
  margin-top:2px;
  color:#9fb0c7;
  font-size:.65rem;
  line-height:1.2;
}

.brand-footer__digital-action.is-subscribed>span:first-child{
  background:#1b6b47;
}

@media(max-width:760px){
  .brand-footer__digital{
    max-width:360px;
  }
}


/* BSBL 3.14.1 – Push CTA + icon refresh */
.brand-footer__digital-action[data-bsbl-push-subscribe].is-visible{
  display:grid !important;
}
