.faq-hero{
  max-width:1240px;margin:0 auto;
  padding:64px 28px 24px;
  background:linear-gradient(135deg,rgba(25,62,0,.03),transparent 60%);
}
.faq-hero h1.display{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(40px,5.5vw,68px);line-height:1;letter-spacing:-.025em;
  margin:18px 0 16px;
}
.faq-hero h1.display em{font-style:italic;color:#3a5a2a}
.faq-hero .lede{font-size:17px;color:var(--ink-2);max-width:600px}
.faq-hero .hero-cta{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}

/* ---- FAQ list ---- */
.faq-block{
  max-width:860px;padding-top:40px;
  display:flex;flex-direction:column;gap:14px;
}

/* ---- Accordion card ---- */
.faq-card{
  background:#fff;
  border:1px solid rgba(25,62,0,.12);
  border-radius:12px;
  overflow:hidden;
  transition:border-color .2s, box-shadow .25s, transform .25s;
}
.faq-card:hover{
  border-color:rgba(25,62,0,.22);
  box-shadow:0 18px 30px -22px rgba(25,62,0,.3);
}
.faq-card:has(.expand-content.active){
  border-color:rgba(25,62,0,.28);
  box-shadow:0 22px 40px -24px rgba(25,62,0,.35);
}

/* ---- Toggle button (question row) ---- */
.faq-toggle-button{
  width:100%;
  display:flex;align-items:center;gap:16px;
  padding:22px 24px;
  background:#fff;color:var(--ink);
  text-align:left;cursor:pointer;
  transition:background .15s;
}
.faq-toggle-button:hover{background:var(--paper-2)}
.faq-toggle-button .q-num{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  color:var(--brand);letter-spacing:.05em;
  padding-top:3px;flex-shrink:0;opacity:.75;
}
.faq-toggle-button .q-text{
  flex:1;
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(19px,2.4vw,24px);line-height:1.2;letter-spacing:-.01em;
}
.faq-arrow-icon{
  width:24px;height:24px;flex-shrink:0;color:var(--brand);
  transition:transform .3s ease;
}

/* ---- Expanding content ---- */
.expand-content{
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .5s ease-in-out, opacity .4s ease-in-out;
  border-top:0 solid rgba(25,62,0,.1);
}
.expand-content.active{
  max-height:3000px;opacity:1;
  border-top:1px solid rgba(25,62,0,.1);
}

.faq-body{padding:6px 24px 26px}
.faq-body > *:first-child{margin-top:18px}

.faq-body h3{
  font-family:'Fraunces',serif;font-weight:500;font-size:21px;
  letter-spacing:-.01em;color:var(--ink);
  margin:0 0 10px;padding-bottom:10px;
  border-bottom:1px solid rgba(25,62,0,.12);
}
.faq-body h4{
  font-family:'Fraunces',serif;font-weight:500;font-size:17px;
  color:#3a5a2a;margin:22px 0 8px;
}
.faq-body .option-head{
  font-family:'JetBrains Mono',monospace;font-size:12px;
  text-transform:uppercase;letter-spacing:.12em;font-weight:400;
  color:var(--brand);
  margin:28px 0 6px;padding:8px 12px;
  background:var(--paper-2);border-radius:6px;
  display:inline-block;
}
.faq-body p{color:var(--ink-2);font-size:15px;margin:8px 0}
.faq-body ul{
  list-style:none;margin:8px 0 0;padding:0;
  display:flex;flex-direction:column;gap:7px;
}
.faq-body li{
  position:relative;padding-left:22px;
  color:var(--ink-2);font-size:15px;line-height:1.5;
}
.faq-body li::before{
  content:"";position:absolute;left:4px;top:9px;
  width:6px;height:6px;border-radius:50%;
  background:#5a7a3a;
}
.faq-body strong{color:var(--ink);font-weight:600}

/* ---- Callouts ---- */
.callout{
  margin-top:22px;padding:16px 18px;
  border-radius:10px;border-left:4px solid;
}
.callout .callout-title{font-weight:700;font-size:14px;margin:0 0 4px;color:var(--ink)}
.callout p{font-size:14px;color:var(--ink-2);margin:0}
.callout-teal{background:rgba(25,62,0,.06);border-left-color:var(--brand)}
.callout-amber{background:rgba(176,128,0,.08);border-left-color:#b08000}
.callout-blue{background:rgba(31,78,121,.07);border-left-color:#1f4e79}

/* CTA spacing */
.faq-block + .cta-band{margin-top:56px}

@media (max-width:900px){
  .faq-toggle-button{padding:18px 18px;gap:12px}
  .faq-body{padding:6px 18px 22px}
}
@media (max-width:600px){
  .faq-toggle-button .q-num{display:none}
}
