/* ============================================================
   MAPLE — FAQ / community CTA / footer
   ============================================================ */

/* ---------------------------------- FAQ --------------------- */
.faq-sec{
  background:
    radial-gradient(120% 70% at 88% 0%, rgba(232,161,58,.16), transparent 62%),
    var(--paper);
}

.faq-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(28px,4.5vw,64px);
  align-items:start;
}
@media (min-width:940px){
  .faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .faq-head{position:sticky; top:clamp(28px,12vh,120px)}
}

.faq-head h2{margin:.5rem 0 .9rem}
.faq-lede{max-width:34ch}
.faq-note{
  margin-top:1.5rem; padding-top:1.25rem; max-width:34ch;
  border-top:1px solid rgba(22,13,7,.12);
  font-size:.92rem; color:var(--ink-2); opacity:.85;
}

.faq-list{
  border-top:1px solid rgba(22,13,7,.14);
  min-width:0;
}

.faq-item{
  border-bottom:1px solid rgba(22,13,7,.14);
  border-radius:var(--radius-sm);
  transition:background .3s ease;
}
.faq-item[open]{background:rgba(243,230,210,.66)}

/* --- summary / question row --- */
.faq-q{
  display:flex; align-items:flex-start; gap:.9rem;
  padding:clamp(1.05rem,2.2vw,1.35rem) clamp(.65rem,1.6vw,1.1rem);
  cursor:pointer; list-style:none;
  font-family:var(--font-display);
  font-weight:600; letter-spacing:-.01em;
  font-size:clamp(1.04rem,1.9vw,1.24rem);
  line-height:1.25;
  color:var(--ink);
  transition:color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q::marker{content:""}
.faq-q:hover{color:var(--red)}
.faq-item[open] > .faq-q{color:var(--red-deep)}
.faq-q:focus-visible{
  outline:2px solid var(--red);
  outline-offset:-3px;
  border-radius:var(--radius-sm);
}

.faq-n{
  flex:0 0 auto;
  font-family:var(--font-body); font-size:.7rem; font-weight:700;
  letter-spacing:.14em; color:var(--gold);
  padding-top:.42em;
}
.faq-q-text{flex:1 1 auto; min-width:0}

/* custom +/− marker */
.faq-mark{
  flex:0 0 auto;
  position:relative; width:22px; height:22px; margin-top:.15em;
  border-radius:50%;
  border:1.5px solid rgba(22,13,7,.2);
  transition:border-color .25s ease, background .25s ease, transform .3s cubic-bezier(.2,.7,.2,1);
}
.faq-mark::before,
.faq-mark::after{
  content:""; position:absolute; inset:0; margin:auto;
  background:var(--ink-2); border-radius:2px;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), background .25s ease, opacity .25s ease;
}
.faq-mark::before{width:9px; height:1.6px}
.faq-mark::after{width:1.6px; height:9px}
.faq-q:hover .faq-mark{border-color:var(--red)}
.faq-q:hover .faq-mark::before,
.faq-q:hover .faq-mark::after{background:var(--red)}
.faq-item[open] .faq-mark{
  background:var(--red); border-color:var(--red); transform:rotate(180deg);
}
.faq-item[open] .faq-mark::before{background:var(--paper)}
.faq-item[open] .faq-mark::after{transform:scaleY(0); opacity:0}

/* --- answer --- */
.faq-a{overflow:hidden}
.faq-js .faq-a{
  height:auto;
  transition:height .34s cubic-bezier(.2,.7,.2,1);
  will-change:height;
}
.faq-a-in{
  padding:0 clamp(.65rem,1.6vw,1.1rem) clamp(1.2rem,2.4vw,1.5rem);
  max-width:62ch;
}
@media (min-width:600px){
  .faq-a-in{padding-left:calc(clamp(.65rem,1.6vw,1.1rem) + 2.4rem)}
}
.faq-a-in p{color:var(--ink-2); font-size:1rem}
.faq-a-in p + p{margin-top:.8rem}
.faq-a-in strong{color:var(--ink)}
.faq-link{
  color:var(--red); font-weight:600;
  text-decoration:none;
  box-shadow:inset 0 -1px 0 0 rgba(216,35,42,.35);
  transition:box-shadow .2s ease, color .2s ease;
}
.faq-link:hover{color:var(--red-deep); box-shadow:inset 0 -2px 0 0 var(--red-deep)}

/* ------------------------------ CTA BAND -------------------- */
.cta-band{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(56px,8vw,100px) 0;
  background:
    radial-gradient(90% 130% at 12% 0%, rgba(246,199,107,.28), transparent 58%),
    radial-gradient(80% 120% at 100% 110%, rgba(156,18,24,.85), transparent 62%),
    var(--red);
  color:var(--paper);
}
.cta-band::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:1px;
  background:rgba(22,13,7,.25);
}

.cta-inner{
  display:grid; gap:clamp(1.8rem,4vw,3.5rem);
  grid-template-columns:1fr;
}
@media (min-width:980px){
  .cta-inner{
    grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
    align-items:end; column-gap:clamp(2.5rem,6vw,6rem);
  }
  .cta-do{padding-bottom:.35rem}
}
.cta-say{max-width:58ch}
.cta-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--amber);
}
.cta-eyebrow::before{content:""; width:26px; height:2px; background:var(--amber); border-radius:2px}

.cta-title{
  margin:.55rem 0 .9rem;
  color:var(--paper);
  font-size:clamp(2.1rem,5.5vw,3.6rem);
}
.cta-copy{
  font-size:clamp(1.02rem,1.8vw,1.2rem);
  color:rgba(251,244,233,.9);
  max-width:54ch;
}

.cta-actions{
  display:flex; flex-wrap:wrap; gap:.8rem;
}
@media (max-width:979px){
  .cta-actions{margin-top:clamp(1.6rem,3vw,2.2rem)}
}
@media (min-width:980px){
  .cta-actions{flex-direction:column; align-items:stretch}
}
.cta-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--font-body); font-weight:700; font-size:1rem;
  padding:.95rem 1.7rem; border-radius:999px;
  text-decoration:none; cursor:pointer; border:2px solid transparent;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.cta-btn:focus-visible{outline:3px solid var(--amber); outline-offset:3px}
.cta-btn-solid{
  background:var(--paper); color:var(--red-deep);
  box-shadow:0 16px 34px -18px rgba(22,13,7,.7);
}
.cta-btn-solid:hover{transform:translateY(-2px); background:#fff; color:var(--ink)}
.cta-btn-line{
  background:rgba(22,13,7,.16); color:var(--paper); border-color:rgba(251,244,233,.7);
}
.cta-btn-line:hover{transform:translateY(-2px); background:var(--water); border-color:var(--water)}

.cta-fine{
  margin-top:1.15rem;
  font-size:.86rem; color:rgba(251,244,233,.72);
}

/* ------------------------------- FOOTER --------------------- */
.foot{
  background:var(--water);
  color:var(--paper-2);
  padding:clamp(48px,7vw,80px) 0 clamp(32px,4vw,44px);
  font-size:.95rem;
}

.foot-top{
  display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,48px);
  padding-bottom:clamp(28px,4vw,40px);
}
@media (min-width:760px){
  .foot-top{grid-template-columns:minmax(0,1fr) auto; align-items:start}
}

.foot-brand{display:flex; align-items:center; gap:.95rem; min-width:0}
.foot-avatar{
  width:56px; height:56px; flex:0 0 auto;
  border-radius:16px; object-fit:cover;
  border:1.5px solid rgba(251,244,233,.22);
}
.foot-brand-text{display:flex; flex-direction:column; min-width:0}
.foot-wordmark{
  font-family:var(--font-display); font-weight:900; letter-spacing:.02em;
  font-size:1.5rem; line-height:1.05; color:var(--paper);
}
.foot-tag{font-size:.86rem; color:rgba(251,244,233,.6); margin-top:.2rem}

.foot-nav{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,5vw,64px);
}
@media (min-width:760px){
  .foot-nav{grid-template-columns:repeat(2,auto)}
}
.foot-col-title{
  font-family:var(--font-body); font-size:.7rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); margin-bottom:.85rem;
}
.foot-links{list-style:none; margin:0; padding:0; display:grid; gap:.55rem}
.foot-links a{
  text-decoration:none; color:rgba(251,244,233,.78);
  transition:color .18s ease;
  display:inline-flex; align-items:baseline; gap:.3rem;
}
.foot-links a:hover{color:var(--amber)}
.foot-links a:focus-visible{outline:2px solid var(--amber); outline-offset:3px; border-radius:4px}
.foot-ext{font-size:.8em; opacity:.7}

/* contract address row */
.foot-ca{
  display:flex; flex-wrap:wrap; align-items:center; gap:.55rem .8rem;
  padding:.85rem 1rem;
  border:1px solid rgba(251,244,233,.16);
  border-radius:var(--radius-sm);
  background:rgba(251,244,233,.05);
  min-width:0;
}
.foot-ca-label{
  font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(251,244,233,.5); flex:0 0 auto;
}
.foot-ca-code{
  flex:1 1 240px; min-width:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8rem; line-height:1.5; color:var(--paper);
  overflow-wrap:anywhere; word-break:break-all;
}
.foot-copy{
  flex:0 0 auto;
  font-family:var(--font-body); font-size:.78rem; font-weight:700;
  letter-spacing:.04em;
  padding:.5rem 1rem; border-radius:999px; cursor:pointer;
  border:1px solid rgba(251,244,233,.28);
  background:transparent; color:var(--paper);
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.foot-copy:hover{background:var(--paper); color:var(--water); border-color:var(--paper)}
.foot-copy:focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.foot-copy.is-copied{background:var(--moss); border-color:var(--moss); color:var(--paper)}

.foot-bottom{
  margin-top:clamp(26px,3.5vw,36px);
  padding-top:clamp(20px,3vw,28px);
  border-top:1px solid rgba(251,244,233,.14);
  display:grid; gap:1rem;
}
@media (min-width:900px){
  .foot-bottom{grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:2.5rem}
}
.foot-legal{
  font-size:.8rem; line-height:1.65;
  color:rgba(251,244,233,.5);
  max-width:78ch;
}
.foot-legal strong{color:rgba(251,244,233,.72); font-weight:600}
.foot-copyright{
  font-size:.8rem; color:rgba(251,244,233,.42); white-space:nowrap;
}
@media (max-width:899px){
  .foot-copyright{white-space:normal}
}

@media (prefers-reduced-motion:reduce){
  .faq-js .faq-a{transition:none}
}
