/* ===== FAQ Strip ===== */
.faq-strip{padding:40px 44px 0;background:var(--ivory);display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.faq-strip .anim-img{aspect-ratio:4/5}

/* ===== FAQ List ===== */
.faq-wrap{max-width:900px;margin:0 auto;padding:100px 44px 160px}

/* ===== FAQ Accordion ===== */
.faq-list details{
  border:1px solid var(--rule-light);
  border-radius:18px;
  margin-bottom:12px;
  background:#fff;
  overflow:hidden;
  transition:border-color .3s, box-shadow .3s;
}
.faq-list details:hover{border-color:var(--rule);box-shadow:0 12px 36px -12px rgba(12,26,22,.05)}
.faq-list details[open]{border-color:var(--green-300);box-shadow:0 16px 48px -16px rgba(12,26,22,.08)}

.faq-list summary{
  list-style:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:28px 32px;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary h3{
  font-family:"Montserrat",sans-serif;
  font-size:clamp(18px,1.8vw,22px);
  font-weight:600;
  color:var(--green-900);letter-spacing:-0.005em;
  line-height:1.25;flex:1;
  transition:color .3s;
}
.faq-list details[open] summary h3{color:var(--green-700)}

/* Plus button */
.faq-list summary .plus{
  width:42px;height:42px;
  border:2px solid var(--rule);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  background:var(--paper);
  transition:all .3s ease;
}
.faq-list summary .plus::before{
  content:"+";font-family:"Montserrat",sans-serif;
  font-size:20px;font-weight:300;line-height:1;
  transition:transform .3s ease;
  display:block;
}
.faq-list details[open] summary .plus{
  background:var(--green-600);color:#fff;
  border-color:var(--green-600);
  box-shadow:0 4px 16px rgba(126,208,168,.3);
}
.faq-list details[open] summary .plus::before{transform:rotate(45deg)}

/* Answer body */
.faq-list details .faq-answer{
  color:var(--ink-60);line-height:1.7;font-size:15px;
  max-width:780px;
  border-top:1px solid var(--rule-light);
  margin:0 32px;padding:24px 0 32px;
}

/* ===== FAQ CTA ===== */
.faq-cta{padding:140px 44px;background:var(--green-900);color:var(--cream);text-align:center;position:relative;overflow:hidden}
.faq-cta::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle, rgba(126,208,168,0.1) 0%, transparent 60%);pointer-events:none;filter:blur(60px)}
.faq-cta .container{position:relative;z-index:2}
.faq-cta h2{font-family:"Montserrat",sans-serif;font-size:clamp(48px,5vw,88px);line-height:1;letter-spacing:-0.02em}
.faq-cta h2 em{font-style:italic;color:var(--green-300)}
.faq-cta p{font-size:16px;color:rgba(255,255,255,.7);max-width:520px;margin:24px auto 40px;line-height:1.55}

/* ===== Mobile ===== */
@media (max-width:900px){
  .faq-wrap{padding:60px 20px 70px}
  .faq-strip{grid-template-columns:1fr 1fr;padding:20px 20px 0;gap:10px}
  .faq-cta{padding:70px 20px}
  .faq-list details{border-radius:14px;margin-bottom:8px}
  .faq-list summary{padding:20px;gap:16px}
  .faq-list summary h3{font-size:16px}
  .faq-list summary .plus{width:36px;height:36px}
  .faq-list details .faq-answer{margin:0 20px;padding:16px 0 24px;font-size:14px}
}