/* JBAF19 homepage black-glass visual layer */
:root{
  --glass-bg:rgba(12,12,16,.62);
  --glass-bg-strong:rgba(8,8,12,.78);
  --glass-line:rgba(255,255,255,.09);
  --glass-line-hot:rgba(255,43,138,.28);
  --glass-highlight:rgba(255,255,255,.055);
  --glass-shadow:0 22px 70px rgba(0,0,0,.46);
  --glass-shadow-soft:0 12px 36px rgba(0,0,0,.3);
}

body{
  background:
    radial-gradient(circle at 12% -8%,rgba(255,43,138,.13),transparent 28%),
    radial-gradient(circle at 92% 15%,rgba(255,255,255,.045),transparent 22%),
    linear-gradient(180deg,#030305 0%,#07070a 46%,#030305 100%);
}

.site-header{
  background:rgba(5,5,8,.66)!important;
  -webkit-backdrop-filter:blur(22px) saturate(125%);
  backdrop-filter:blur(22px) saturate(125%);
  border-bottom:1px solid var(--glass-line)!important;
  box-shadow:0 12px 44px rgba(0,0,0,.38)!important;
}

.main-nav,.breaking-bar{background:rgba(5,5,8,.35)!important}

.icon-btn,.menu-btn,.member-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important;
  border:1px solid var(--glass-line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 28px rgba(0,0,0,.24)!important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.subscribe-btn,.community-join-btn{
  background:linear-gradient(180deg,#ff3a98,#df0069)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(255,43,138,.22)!important;
}

.lead-story,.hero-side,.split-column,.news-card,.local-card,.member-callout{
  background:
    linear-gradient(180deg,rgba(255,255,255,.048),rgba(255,255,255,.012)),
    linear-gradient(145deg,rgba(18,18,24,.70),rgba(7,7,11,.82))!important;
  border:1px solid var(--glass-line)!important;
  box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow)!important;
  -webkit-backdrop-filter:blur(24px) saturate(115%);
  backdrop-filter:blur(24px) saturate(115%);
}

.lead-story,.hero-side{border-radius:30px!important}
.news-card,.local-card,.split-column,.member-callout{border-radius:24px!important}

.hero-side,.news-card,.local-card,.split-column{position:relative;overflow:hidden}
.hero-side::after,.news-card::after,.local-card::after,.split-column::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(118deg,rgba(255,255,255,.038),transparent 32%,transparent 70%,rgba(255,43,138,.028));
}

.dark-band,.local-section,.newsletter,.member-callout{background:transparent!important}
.dark-band,.local-section{border-color:rgba(255,255,255,.055)!important}

.ad-slot{
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px!important;
  align-items:stretch!important;
  padding:18px!important;
  margin-top:34px!important;
  margin-bottom:72px!important;
  border:1px solid var(--glass-line)!important;
  border-radius:26px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),
    rgba(8,8,12,.68)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),var(--glass-shadow)!important;
  -webkit-backdrop-filter:blur(24px) saturate(120%);
  backdrop-filter:blur(24px) saturate(120%);
}

.ad-slot .partner-cta{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  border-radius:18px;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.015em;
  text-align:center;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.ad-slot .partner-cta:hover{transform:translateY(-2px)}

.ad-slot .partner-cta-primary{
  color:#fff;
  background:linear-gradient(180deg,#ff3a98,#e0006b);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 26px rgba(255,43,138,.22);
}

.ad-slot .partner-cta-secondary{
  color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  border:1px solid rgba(255,43,138,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 26px rgba(0,0,0,.24);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

#politics{
  margin-top:0!important;
  padding-top:12px!important;
  padding-bottom:86px!important;
}
#politics .section-heading{margin-bottom:30px!important}
#politics .kicker{display:block;margin-bottom:7px;color:#ff4da4!important}

.section-heading h2{letter-spacing:-.035em!important}
.news-card{padding:15px!important}
.card-media{border-radius:17px!important}

.newsletter{
  background:
    linear-gradient(100deg,rgba(255,43,138,.78),rgba(176,0,83,.72)),
    rgba(8,8,12,.74)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.newsletter-form{
  background:rgba(5,5,8,.64)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 34px rgba(0,0,0,.28)!important;
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}

.site-footer{
  background:rgba(3,3,5,.86)!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}

@media(max-width:720px){
  .hero-section{padding-top:28px!important;padding-bottom:28px!important}
  .lead-story,.hero-side{border-radius:25px!important}
  .ad-slot{
    grid-template-columns:1fr;
    gap:12px!important;
    padding:14px!important;
    margin-top:26px!important;
    margin-bottom:58px!important;
    border-radius:24px!important;
  }
  .ad-slot .partner-cta{
    width:100%;
    min-height:56px;
    border-radius:16px;
    font-size:13px;
    padding:14px 16px;
  }
  #politics{
    padding-top:18px!important;
    padding-bottom:70px!important;
  }
  #politics .section-heading{margin-bottom:24px!important}
  #politics .kicker{margin-bottom:8px!important}
  .news-card,.local-card,.split-column{border-radius:22px!important}
}
