.offer-section{ background: var(--bg); }
.offer-content{ display: grid; gap: 32px; }
.offer-block{ background: transparent; border: 0; border-radius: 0; padding: 24px 0; }
.offer-block:first-child{ padding-top: 0; }
.offer-block:last-child{ padding-bottom: 0; }
.offer-block .offer-grid,
.offer-block .pricing-grid,
.offer-block .abilities-chips,
.offer-block .faq-list{ gap: 20px; }
.offer-sub{ margin: 0 0 18px; font-size: 28px; font-weight: 900; letter-spacing: 0.01em; text-align: center; }
.offer-grid{ display: grid; gap: 14px; }
.strengths-grid{ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.offer-card{ border: 1px solid rgba(0,0,0,0.06); border-radius: var(--radius-md); padding: 14px; background: #fff; display: grid; gap: 8px; }
.offer-icon{ font-size: 18px; }
.offer-thumb img{ width: 100%; height: auto; border-radius: 10px; }
.offer-card-title{ margin: 0; font-weight: 900; font-size: 16px; }
.offer-card-desc{ margin: 0; color: var(--muted); font-weight: 700; }
.pricing-grid{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.pricing-card{ border: 1px solid rgba(0,0,0,0.08); border-radius: var(--radius-md); padding: 16px; background: linear-gradient(180deg,#fff,rgba(0,0,0,0.02)); display: grid; gap: 10px; }
.pricing-title{ margin: 0; font-weight: 900; font-size: 16px; }
.pricing-price{ font-weight: 900; font-size: 20px; color: var(--accent); }
.pricing-detail{ margin: 0; color: var(--muted); font-weight: 700; }
.pricing-includes{ margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.pricing-note{ margin: 0; color: var(--muted); font-size: 13px; }
.pricing-cta .btn{ width: 100%; justify-content: center; }
.abilities-chips{ display: flex; gap: 10px; flex-wrap: wrap; }
.chip{ padding: 8px 12px; border-radius: 999px; background: rgba(0,0,0,0.05); font-weight: 800; }
.faq-list{ display: grid; gap: 10px; }
.faq-item{ border: 1px solid rgba(0,0,0,0.08); border-radius: 10px; background: #fff; overflow: hidden; transition: box-shadow .2s ease, border-color .2s ease; }
.faq-item summary{ cursor: pointer; font-weight: 900; padding: 12px 14px; list-style: none; display:flex; align-items:center; justify-content: space-between; gap: 10px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content: "▼";
  font-size: 12px;
  color: var(--muted);
  transition: transform .2s ease;
}
.faq-item[open] summary::after{ transform: rotate(180deg); }
.faq-item[open]{ box-shadow: var(--shadow-soft); border-color: rgba(0,0,0,0.12); }
.faq-item .faq-body{ max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; padding: 0 14px; }
.faq-item[open] .faq-body{ padding: 0 14px 12px; max-height: 400px; }
.faq-item p{ margin: 8px 0 0; color: var(--muted); }

