.yjfx-weekly-faq,
.yjfx-renovation-projects {
  box-sizing: border-box;
  max-width: 1200px;
  margin: 34px auto;
  color: #26352d;
  font-family: "Microsoft YaHei", Arial, sans-serif;
}

.yjfx-weekly-faq {
  display: grid;
  grid-template-columns: 180px 285px minmax(0, 1fr);
  margin: 0 auto 34px;
  overflow: hidden;
  background: #fff;
}

.weekly-faq-brand {
  position: relative;
  z-index: 1;
  min-height: 260px;
  background: linear-gradient(145deg, #087357, #84c225);
}

.weekly-faq-brand::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -12px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid #5fad31;
  content: "";
  transform: translateY(-50%);
}

.weekly-faq-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgba(255, 255, 255, .2);
  font-size: 72px;
  font-weight: 800;
  letter-spacing: -6px;
  transform: translate(-50%, -50%) rotate(-90deg);
}

.weekly-faq-intro {
  padding: 30px 24px;
  background: #f4f8f1;
}

.weekly-faq-kicker,
.yjfx-renovation-projects header p {
  margin: 0 0 6px;
  color: #087357;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}

.weekly-faq-intro h2,
.yjfx-renovation-projects h2 {
  margin: 0 0 12px;
  color: #23372c;
  font-size: 26px;
  line-height: 1.35;
}

.weekly-faq-intro p:not(.weekly-faq-kicker) {
  margin: 0 0 18px;
  color: #67736c;
  font-size: 14px;
  line-height: 1.8;
}

.weekly-faq-all,
.weekly-faq-invite a {
  color: #087357;
  font-weight: 700;
  text-decoration: none;
}

.weekly-faq-all:focus-visible,
.weekly-faq-question:focus-visible,
.weekly-faq-invite a:focus-visible,
.renovation-project-card a:focus-visible {
  outline: 3px solid #f1a629;
  outline-offset: 3px;
}

.weekly-faq-content {
  min-width: 0;
  padding: 18px 24px 14px;
}

.weekly-faq-content ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.weekly-faq-content li {
  border-bottom: 1px solid #e7ece8;
}

.weekly-faq-content li:nth-last-child(-n+2) {
  border-bottom: 0;
}

.weekly-faq-question {
  display: flex;
  gap: 10px;
  min-height: 42px;
  padding: 10px 12px;
  color: #25352c;
  font-size: 14px;
  line-height: 1.55;
  text-decoration: none;
}

.weekly-faq-question:hover {
  color: #087357;
  background: #f6faf3;
}

.weekly-faq-question span {
  flex: 0 0 auto;
  color: #84c225;
  font-weight: 700;
}

.weekly-faq-invite {
  margin: 10px 0 0;
  padding: 10px 12px 0;
  color: #66736b;
  font-size: 13px;
}

.yjfx-renovation-projects {
  padding: 0 15px;
}

.yjfx-renovation-projects header {
  margin-bottom: 18px;
}

.renovation-project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.renovation-project-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 6px;
  background: #183128;
  box-shadow: 0 6px 18px rgba(28, 52, 38, .12);
}

.renovation-project-card a {
  display: block;
  position: relative;
  min-height: 190px;
  color: #fff;
}

.renovation-project-card img {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
  opacity: .78;
  transition: transform .25s ease, opacity .25s ease;
}

.renovation-project-card:hover img {
  opacity: .64;
  transform: scale(1.025);
}

.renovation-project-overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 38px 18px 16px;
  background: linear-gradient(transparent, rgba(10, 34, 25, .88));
}

.renovation-project-overlay strong,
.renovation-project-overlay small {
  display: block;
}

.renovation-project-overlay strong {
  margin-bottom: 5px;
  font-size: 20px;
}

.renovation-project-overlay small {
  color: rgba(255, 255, 255, .9);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .yjfx-weekly-faq { grid-template-columns: 180px 240px minmax(0, 1fr); }
  .weekly-faq-content ol { grid-template-columns: 1fr; }
  .weekly-faq-content li:nth-last-child(2) { border-bottom: 1px solid #e7ece8; }
  .renovation-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .yjfx-weekly-faq { display: block; margin: 24px 12px; }
  .weekly-faq-brand { min-height: 90px; }
  .weekly-faq-watermark { font-size: 64px; transform: translate(-50%, -50%); }
  .weekly-faq-intro { padding: 20px; }
  .weekly-faq-content { padding: 8px 12px 14px; }
  .weekly-faq-content li:last-child { border-bottom: 0; }
  .yjfx-renovation-projects { padding: 0 12px; }
  .renovation-project-grid { grid-template-columns: 1fr; }
  .renovation-project-card img { height: 200px; }
}

@media (prefers-reduced-motion: reduce) {
  .renovation-project-card img { transition: none; }
}
