/* A-Goal Initiative — Buzz From The Streets standalone archive — coded styles */
.agoal-buzz{
  --terracotta:#D14622; --terracotta-deep:#A8351A; --navy:#1B2A41; --navy-deep:#0F1B2C;
  --ochre:#D89B3C; --cream:#FBF3E7; --cream-2:#F3E7D6; --paper:#FFFCF7; --charcoal:#2A241F;
  --serif:'Playfair Display',serif; --sans:'Plus Jakarta Sans',sans-serif;
  font-family:var(--sans); color:var(--charcoal); background:var(--navy);
  -webkit-font-smoothing:antialiased;
}
.agoal-buzz *{box-sizing:border-box;}
.agoal-buzz img{max-width:100%;display:block;}
.agoal-buzz a{color:inherit;text-decoration:none;}
.agoal-buzz .wrap{max-width:1180px;margin-inline:auto;padding-inline:32px;}
@media (max-width:900px){ .agoal-buzz .wrap{padding-inline:20px;} }
.agoal-buzz h1,.agoal-buzz h2,.agoal-buzz h3,.agoal-buzz blockquote{font-family:'Playfair Display',serif!important;}
.agoal-buzz p,.agoal-buzz span,.agoal-buzz a,.agoal-buzz div{font-family:'Plus Jakarta Sans',sans-serif;}
.agoal-buzz blockquote{margin:0!important;border:none!important;padding:0!important;}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
[data-reveal].in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ [data-reveal]{opacity:1!important;transform:none!important;} }

.bz-hero{position:relative;overflow:hidden;background:var(--navy-deep);}
.bz-hero::before{content:'';position:absolute;inset:0;opacity:.07;background-image:radial-gradient(circle at center,#FBF3E7 1.2px,transparent 1.4px);background-size:22px 22px;}
.bz-hero .inner{position:relative;padding-block:96px 56px;text-align:center;margin-inline:auto;max-width:48rem;}
.bz-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre)!important;}
.bz-hero h1{color:var(--cream)!important;line-height:1;margin-top:16px;font-size:clamp(36px,5vw,56px);font-weight:700;}
.bz-hero p{margin-inline:auto;margin-top:20px;max-width:42rem;font-size:18px;line-height:1.55;color:rgba(251,243,231,.75)!important;}

.bz-body{background:var(--navy);padding-block:0 96px;}
.bz-filters{margin-bottom:40px;display:flex;flex-wrap:wrap;gap:8px;}
.bz-filters button{border-radius:9999px;padding:6px 16px;font-size:14px;font-weight:600;background:rgba(251,243,231,.08);color:rgba(251,243,231,.7)!important;border:1px solid rgba(251,243,231,.14);cursor:default;}
.bz-filters button.active{background:var(--terracotta);color:#fff!important;border-color:var(--terracotta);}

/* ---------- BUZZ v2 (dark premium editorial cards) ---------- */
.ah-buzz{background:var(--navy);}
.ah-buzz .ah-section-tag{color:var(--ochre);}
.ah-buzz-head-v2{margin-inline:auto;text-align:center;max-width:42rem;}
.ah-buzz-head-v2 h2{font-family:var(--serif);color:var(--cream);line-height:1.11;margin-top:12px;font-size:36px;font-weight:700;}
.ah-buzz-head-v2 h2 .accent{color:var(--ochre);font-style:normal;}
.ah-buzz-head-v2 p{margin-top:12px;color:rgba(251,243,231,.7);}
.ah-buzz-grid-v2{margin-top:48px;display:grid;gap:28px;grid-template-columns:repeat(3,1fr);align-items:stretch;}
@media (max-width:960px){ .ah-buzz-grid-v2{grid-template-columns:1fr 1fr;} }
@media (max-width:700px){ .ah-buzz-grid-v2{grid-template-columns:1fr;} }
.ah-buzz-card-v2{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border:1px solid rgba(251,243,231,.12);background:#16253c;transition:border-color .35s ease,box-shadow .35s ease,translate .35s ease;}
.ah-buzz-card-v2:hover{translate:0 -4px;box-shadow:0 30px 60px -30px rgba(0,0,0,.65);}
.ah-buzz-card-v2 .stretched-link{position:absolute;inset:0;z-index:1;}
.ah-buzz-topline-v2{position:absolute;left:0;right:0;top:0;height:2px;}
.ah-buzz-quote-mark-v2{position:absolute;right:16px;top:36px;font-family:var(--serif);font-size:8rem;line-height:1;color:rgba(251,243,231,.05);pointer-events:none;user-select:none;}
.ah-buzz-toprow-v2{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 28px 0;}
.ah-buzz-status-pill-v2{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid;padding:4px 10px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.ah-buzz-status-pill-v2 .dot{height:6px;width:6px;border-radius:999px;}
.ah-buzz-meta-topic-v2{font-size:10px;font-weight:700;letter-spacing:.16em;color:rgba(251,243,231,.4);text-transform:uppercase;}
.ah-buzz-body-v2{display:flex;flex:1;flex-direction:column;padding:24px 28px 0;}
.ah-buzz-body-v2 blockquote{margin:0;flex:1;font-family:var(--serif);font-size:21px;line-height:1.42;color:var(--cream);}
.ah-buzz-attrib-v2{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:18px;padding-bottom:24px;border-top:1px solid rgba(251,243,231,.1);}
.ah-buzz-avatar-v2{display:flex;height:36px;width:36px;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(251,243,231,.18);background:rgba(251,243,231,.06);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ochre);}
.ah-buzz-attrib-v2 .name{display:block;font-size:13px;font-weight:700;color:var(--cream);}
.ah-buzz-attrib-v2 .name .handle{font-weight:500;color:rgba(251,243,231,.45);}
.ah-buzz-attrib-v2 .datesrc{display:block;margin-top:2px;font-size:11px;letter-spacing:.04em;color:rgba(251,243,231,.4);}
.ah-buzz-footer-v2{margin-top:auto;display:flex;flex-direction:column;gap:10px;background:var(--navy-deep);border-top:1px solid rgba(251,243,231,.08);padding:20px 28px;}
.ah-buzz-footer-v2 .label{margin:0;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ochre);text-transform:uppercase;}
.ah-buzz-footer-v2 p.context{margin:0;font-size:13px;line-height:1.55;color:rgba(251,243,231,.72);}
.ah-buzz-readmore-v2{position:relative;z-index:2;margin-top:4px;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ochre);text-decoration:none;}
.ah-buzz-more-v2{margin-top:40px;display:flex;justify-content:center;}
.ah-buzz-more-v2 a{display:inline-flex;align-items:center;gap:8px;border-radius:10px;border:2px solid rgba(251,243,231,.4);padding:12px 24px;font-size:14px;font-weight:700;color:#fff;text-decoration:none;transition:all .2s ease;}
.ah-buzz-more-v2 a:hover{background:var(--cream);color:var(--navy);}



.bz-empty{text-align:center;padding:48px 0;color:rgba(251,243,231,.5);font-style:italic;}
/* Elementor kit collision fix - See More Voices button.
   The body carries .elementor-kit-6, and Elementor's post-6.css ships
     .elementor-kit-6 a { color: var(--e-global-color-accent) }   (0,1,1)
   which ties on specificity with our .ah-buzz-more-v2 a (0,1,1) and loads
   AFTER this file, so it won on source order and painted the button terracotta.
   Its :hover rule ties with ours the same way. !important is the reliable fix
   here because the tie is on specificity, not weight - matching how the other
   button leak fixes in this file are written. */
.ah-buzz-more-v2 a{color:#fff!important;border-color:rgba(251,243,231,.4)!important;}
.ah-buzz-more-v2 a:hover,.ah-buzz-more-v2 a:focus-visible{background:var(--cream)!important;color:var(--navy)!important;border-color:var(--cream)!important;}

/* ---------- Buzz quote clamp + inline expander ----------
   Quotes vary from two lines to twelve, which is what makes the cards ragged.
   Each quote is held to six lines, and a small faint label sits at the end of
   the sixth line to open the rest. Four notes, each one a bug already paid for:
   1. .is-clamped is applied by JS (redesign-shared.js), never here. With JS off
      the full quote renders as it does today rather than being cut off with no
      way to reach the rest.
   2. The label lives in .ah-buzz-quote-wrap, a div the script wraps around the
      blockquote - NOT inside the blockquote. A clamped element paints its own
      text above its positioned children, so a label placed inside it ends up
      underneath the words it is there to cover.
   3. Never fade the label with opacity. Opacity applies to the whole element,
      the gradient that hides the tail of the line included, and the quote then
      shows straight through it. The fade belongs in the colour.
   4. It is a real <button>, and both the theme and the Elementor kit style
      buttons, so every declaration has to win outright or it renders as a solid
      block button. Same collision as the See More Voices link above. */
.ah-buzz-quote-wrap{position:relative;flex:0 0 auto;margin-bottom:24px;}
.ah-buzz-body-v2 blockquote{flex:0 0 auto;}
.ah-buzz-attrib-v2{margin-top:auto;}
.ah-buzz-body-v2 blockquote.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden;}
.ah-buzz-quote-wrap .ah-buzz-quote-toggle{
  position:absolute!important;right:0!important;bottom:0!important;z-index:3!important;
  display:block!important;width:auto!important;min-width:0!important;height:auto!important;
  margin:0!important;padding:0 0 0 72px!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;outline:none;
  background:linear-gradient(90deg,var(--buzz-card-bg-0) 0,var(--buzz-card-bg) 40px)!important;
  font-family:var(--sans)!important;font-size:11px!important;font-weight:600!important;
  letter-spacing:.04em!important;text-transform:none!important;white-space:nowrap!important;
  text-decoration:none!important;text-shadow:none!important;
  color:var(--buzz-toggle-color,rgba(42,36,31,.5))!important;cursor:pointer;transition:color .18s ease;
}
.ah-buzz-quote-wrap .ah-buzz-quote-toggle[aria-expanded="true"]{
  position:static!important;display:block!important;width:100%!important;
  margin-top:6px!important;padding:0!important;
  background:none!important;text-align:right;line-height:1.4!important;
}
.ah-buzz-quote-wrap .ah-buzz-quote-toggle:hover,
.ah-buzz-quote-wrap .ah-buzz-quote-toggle:focus-visible{color:var(--buzz-toggle-color-hover,var(--terracotta))!important;}
.ah-buzz-card-v2{--buzz-card-bg:#16253C;--buzz-card-bg-0:rgba(22,37,60,0);--buzz-toggle-color:rgba(251,243,231,.5);--buzz-toggle-color-hover:var(--cream);}
