/* =========================================================
   Mumford Company — FAQs (accordion)
   Loads AFTER styles.css; reuses tokens, header, footer.
   ========================================================= */

.faq-main{ padding-top:165px; padding-bottom:84px; background:#fff; }

/* page head */
.faq-head{ text-align:center; padding:6px 0 2px; }
.faq-head .page-title{
  font-family:var(--f-head); font-weight:300; color:var(--ink);
  font-size:clamp(30px,4.2vw,48px); letter-spacing:.01em; margin:0; line-height:1.05;
}
.faq-head .page-title b{ font-weight:700; color:var(--forest); }
.faq-head .lede{ font-size:16.5px; color:var(--ink-2); margin:16px auto 0; max-width:620px; line-height:1.6; }
.faq-head .title-rule{ width:120px; height:3px; background:var(--forest); margin:20px auto 0; border:0; }

/* accordion shell */
.faq-list{ max-width:920px; margin:46px auto 0; display:flex; flex-direction:column; gap:16px; }

.faq-item{
  background:#E7ECEF; border-radius:12px; overflow:hidden;
  transition:box-shadow .3s var(--ease), background .3s var(--ease);
}
.faq-item.open{ background:#fff; box-shadow:0 16px 40px rgba(20,40,35,.13); }

/* question row */
.faq-q{
  width:100%; border:0; background:transparent; cursor:pointer; text-align:left;
  display:flex; align-items:center; gap:22px; padding:26px 30px;
  font-family:var(--f-head); font-weight:700; color:var(--ink); font-size:clamp(17px,1.9vw,21px);
  line-height:1.35; transition:color .2s var(--ease);
}
.faq-q:hover{ color:var(--forest); }
.faq-item.open .faq-q{ color:var(--forest); }

/* number badge */
.faq-num{
  flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--f-head); font-weight:700; font-size:16px;
  background:#fff; color:var(--forest); border:2px solid var(--forest);
  transition:.25s var(--ease);
}
.faq-item.open .faq-num{ background:var(--forest); color:#fff; }

.faq-q .qtext{ flex:1; }

/* chevron */
.faq-chev{ flex:none; width:26px; height:26px; color:var(--forest); transition:transform .35s var(--ease); }
.faq-item.open .faq-chev{ transform:rotate(180deg); }

/* answer (animated max-height) */
.faq-a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-a-inner{ padding:0 30px 28px 92px; color:var(--ink); }
.faq-a-inner > *:first-child{ margin-top:0; }
.faq-a p{ font-size:15.5px; line-height:1.72; color:var(--ink-2); margin:0 0 16px; }
.faq-a p strong{ color:var(--ink); }
.faq-a h3{
  font-family:var(--f-head); font-weight:700; color:var(--ink); font-size:16px;
  letter-spacing:.06em; text-transform:uppercase; margin:22px 0 12px;
}
.faq-a ul, .faq-a ol{ margin:0 0 16px; padding:0; list-style:none; }
.faq-a li{ position:relative; padding:0 0 0 26px; margin:0 0 11px; font-size:15.5px; line-height:1.65; color:var(--ink-2); }
.faq-a ul li::before{ content:""; position:absolute; left:3px; top:.62em; width:7px; height:7px;
  border-radius:50%; background:var(--forest); }
.faq-a ol{ counter-reset:faq; }
.faq-a ol li{ counter-increment:faq; }
.faq-a ol li::before{ content:counter(faq); position:absolute; left:0; top:.02em;
  font-family:var(--f-head); font-weight:700; font-size:13px; color:var(--forest); }
.faq-a blockquote{
  margin:18px 0; padding:16px 22px; background:rgba(46,125,75,.07);
  border-left:4px solid var(--lime); border-radius:0 6px 6px 0;
}
.faq-a blockquote p{ margin:0; color:var(--ink); font-style:italic; font-size:15.5px; }

/* still-have-questions cta */
.faq-cta{ max-width:920px; margin:40px auto 0; text-align:center; background:var(--slate);
  border-radius:14px; padding:38px 30px; color:#fff; }
.faq-cta h2{ font-family:var(--f-head); font-weight:300; font-size:clamp(22px,2.6vw,30px); margin:0 0 10px; }
.faq-cta h2 b{ font-weight:700; color:var(--lime); }
.faq-cta p{ color:var(--steel-300, #A9B4C0); font-size:15.5px; margin:0 0 24px; }

@media (max-width:560px){
  .faq-main{ padding-top:120px; }
  .faq-q{ padding:20px 20px; gap:14px; }
  .faq-num{ width:34px; height:34px; font-size:14px; }
  .faq-a-inner{ padding:0 20px 24px 20px; }
}
