.dynamic-announcement {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 72px) 28px;
}
.dynamic-announcement-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(235,0,41,.2), rgba(255,255,255,.055));
  box-shadow: 0 26px 80px rgba(0,0,0,.28);
}
.dynamic-announcement strong { color: #fff4e4; }
.dynamic-announcement p { margin: 0; color: rgba(255,255,255,.75); }
.dynamic-section {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 42px clamp(20px, 5vw, 72px);
}
.dynamic-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.dynamic-card, .faq-item {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.045));
  box-shadow: 0 30px 90px rgba(0,0,0,.34);
}
.blog-card { display: flex; flex-direction: column; min-height: 100%; padding: 22px; }
.blog-card small { color: #fff4e4; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.blog-card h3 { margin: 12px 0; font-size: 24px; letter-spacing: -.04em; }
.blog-card p { flex: 1; }
.blog-card a { margin-top: 10px; color: #fff4e4; font-weight: 900; text-decoration: none; }
.branch-meta-line,
.branch-detail-line {
  margin-top: 10px;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  line-height: 1.5;
}
.branch-detail-line:first-of-type {
  margin-top: 16px;
}
.branch-meta-line strong { color: #fff4e4; }
.branch-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.branch-actions-row a {
  display: inline-flex;
  border: 1px solid rgba(255,244,228,.22);
  border-radius: 999px;
  padding: 9px 12px;
  color: #fff4e4;
  background: rgba(255,255,255,.06);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}
.faq-list { display: grid; gap: 12px; }
.faq-item { overflow: hidden; }
.faq-item summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.faq-item summary::after { content: "+"; color: #fff4e4; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { margin: 0; padding: 0 22px 22px; }
@media (max-width: 920px) {
  .dynamic-announcement-inner { align-items: flex-start; flex-direction: column; }
  .dynamic-grid { grid-template-columns: 1fr; }
}