:root {
  --bg:        #08090a;

  --card:      #021c49;

  --gold:      #4b8327;
  --gold2:     #fff;
  --gold-dim:  #021c49;

}

:root {
  --bg:        #08090a;
  --surface:    #4b8327;
  --card:      #13161a;
  --border:     #4b8327;
  --border2:   #4b8327;
  --gold:      #4b8327;
  --gold2:    #021c49;
  --gold-dim:  #021c49;
  --text:      #021c49;
  --muted:     #4b8327;
  --muted2:    #000;
  --cream:    #021c49;
  --white:     #ffffff;
}
/* ══ CUSTOM CURSOR ══ */
.cursor {
  position:fixed; top:0; left:0;
  width:10px; height:10px;
  background:var(--gold);
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%);
  transition:transform .1s, width .35s cubic-bezier(.22,1,.36,1), height .35s cubic-bezier(.22,1,.36,1), background .35s;
  mix-blend-mode:difference;
}
.cursor-ring {
  position:fixed; top:0; left:0;
  width:36px; height:36px;
  border:1px solid rgba(200,169,110,0.5);
  border-radius:50%;
  pointer-events:none;
  z-index:9998;
  transform:translate(-50%,-50%);
  transition:transform .18s cubic-bezier(.22,1,.36,1), width .4s, height .4s, opacity .35s;
}
body:has(.t-card:hover) .cursor,
body:has(.faq-btn:hover) .cursor { width:48px; height:48px; background:rgba(200,169,110,0.2); }
body:has(.t-card:hover) .cursor-ring { opacity:0; }


/* ══════════════════════════════════════════════
   TESTIMONIALS
══════════════════════════════════════════════ */
#testimonials {
  position:relative;
  z-index:2;
}

/* animated mesh background */




.t-container {
  max-width:1280px;
  margin:0 auto;
  padding:0 48px;
  position:relative;
  z-index:2;
}

/* header row */





.t-track{
  display:flex;
  gap:28px;
  transition:transform .6s ease;
}

.t-card{
flex:0 0 calc(50% - 14px);
}

/* slider controls */
.t-controls {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:20px;
  opacity:0;
  animation:fadeUp .8s .5s ease forwards;
}

.t-arrows {
  display:flex;
  gap:10px;
}
.t-arrow {
  width:48px; height:48px;
  border-radius:50%;
  border:1px solid var(--border2);
  background:#fff;
  color:var(--text);
  cursor:none;
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.t-arrow:hover {
  background:var(--gold);
  border-color:var(--gold);
  color:var(--bg);
}
.t-arrow svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.t-progress {
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--muted);
  font-weight:300;
}
.t-progress span { color:var(--gold); font-weight:600; }

/* track */
.t-track-wrap { overflow:hidden; }


/* CARD */
.t-card {
  flex-shrink:0;
  min-width:calc(33.333% - 19px);
  background:rgb(255 255 255 / 58%);
  border:1px solid var(--border);
  border-radius:24px;
  padding:44px 40px 36px;
  position:relative;
  cursor:none;
  overflow:hidden;
  transition:border-color .4s, transform .4s cubic-bezier(.22,1,.36,1);
}
.t-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200,169,110,0.08) 0%, transparent 70%);
  opacity:0;
  transition:opacity .4s;
}
.t-card:hover { border-color:rgba(200,169,110,0.4); transform:translateY(-8px); }
.t-card:hover::before { opacity:1; }

/* shimmering top bar */
.t-card::after {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s;
  animation:shimmer 2.5s linear infinite paused;
}
.t-card:hover::after {
  opacity:1;
  animation-play-state:running;
}
@keyframes shimmer {
  from { background-position:200% 0; }
  to   { background-position:-200% 0; }
}

.t-rating {
  display:flex;
  gap:2px;
  margin-bottom:24px;
}
.t-star {
  font-size:.85rem;
  color:var(--gold);
  letter-spacing:1px;
}

.t-quote-mark {
  font-size:6rem;
  line-height:.6;
  color:rgba(200,169,110,0.12);
  position:absolute;
  top:32px; right:32px;
  user-select:none;
}

.t-body {
  font-size:1rem;
  line-height:1.8;
  color:rgba(240,236,228,0.75);
  font-style:italic;
  margin-bottom:36px;
  position:relative;
  z-index:1;
}

.t-divider {
  height:1px;
  background:var(--border);
  margin-bottom:24px;
}

.t-author-row {
  display:flex;
  align-items:center;
  gap:14px;
}

.t-avatar {
  width:44px; height:44px;
  border-radius:50%;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:.78rem;
  font-weight:600;
  color:var(--bg);
  position:relative;
}
.t-avatar::after {
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:50%;
  background:conic-gradient(var(--gold), var(--gold2), var(--gold));
  z-index:-1;
}

.t-author-name {
  font-size:.82rem;
  font-weight:600;
  color:var(--text);
  letter-spacing:.03em;
  margin-bottom:3px;
}
.t-author-role {
  font-size:.7rem;
  color:var(--muted2);
  font-weight:300;
  letter-spacing:.04em;
}

/* dots */
.t-dots {
  display:flex;
  gap:8px;
  margin-top:48px;
  justify-content:center;
}
.t-dot {
  width:6px; height:6px;
  border-radius:3px;
  background:var(--border2);
  cursor:none;
  border:none;
  transition:all .4s cubic-bezier(.22,1,.36,1);
}
.t-dot.active {
  width:24px;
  background:var(--gold);
}

/* responsive */
/* @media(max-width:960px) { .t-card { min-width:calc(50% - 14px); } }
@media(max-width:600px) {
  .t-card { min-width:100%; }
  .t-container { padding:0 24px; }
  .t-header { grid-template-columns:1fr; }
} */

/* ══════════════════════════════════════════════
   FAQ SECTION
══════════════════════════════════════════════ */
#faq {
  position:relative;
  padding:120px 0 140px;
  z-index:2;
  overflow:hidden;
}

#faq::before {
  content:'';
  position:absolute;
  bottom:-200px; left:-200px;
  width:800px; height:800px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(200,169,110,0.05) 0%, transparent 65%);
  pointer-events:none;
}

/* top separator */
#faq .sep {
  position:absolute;
  top:0; left:8%; right:8%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
}

.faq-container {
  max-width:1280px;
  margin:0 auto;
  padding:0 48px;
  display:grid;
  grid-template-columns:420px 1fr;
  gap:100px;
  align-items:start;
  position:relative;
  z-index:2;
}

/* sticky left */
.faq-left {
  position:sticky;
  top:60px;
}

.faq-kicker {
  display:flex;
  align-items:center;
  gap:14px;
}
.faq-kicker-line { width:40px; height:1px; background:linear-gradient(90deg, var(--gold), transparent); }
.faq-kicker-text { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:600; }

.faq-title {
  font-size:clamp(2.4rem,3.5vw,3.6rem);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
  color:var(--text);
  margin-bottom:24px;
}
.faq-title em { font-style:italic; color:var(--gold); }

.faq-desc {
  font-size:.88rem;
  color:var(--muted2);
  line-height:1.85;
  font-weight:300;
  margin-bottom:44px;
  padding-right: 32px;
}

/* CTA button */
.faq-cta {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:15px 28px;
  border:1px solid var(--border2);
  border-radius:100px;
  font-size:.78rem;
  font-weight:bolder;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--theme-color4);
  text-decoration:none;
  cursor:none;
  transition:all .4s cubic-bezier(.22,1,.36,1);
  position:relative;
  overflow:hidden;
  cursor: pointer;
}
.faq-cta::before {
  content:'';
  position:absolute;
  inset:0;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  border-radius:100px;
}
.faq-cta:hover { border-color:var(--gold); color:#fff !important; }
.faq-cta:hover::before { transform:translateX(0); }
.faq-cta span, .faq-cta svg { position:relative; z-index:1; }
.faq-cta svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s; }
.faq-cta:hover svg { transform:translateX(4px); }

/* decorative number watermark */
.faq-watermark {
  font-size:14rem;
  line-height:1;
  color:rgba(255,255,255,0.02);
  position:absolute;
  bottom:-20px; left:-10px;
  user-select:none;
  pointer-events:none;
  font-weight:700;
}

/* FAQ items */
.faq-list { display:flex; flex-direction:column; }

.faq-item {
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}

/* left accent line */
/* .faq-item::before {
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:2px;
  background:var(--gold);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
} */
.faq-item.open::before { transform:scaleY(1); }

.faq-btn {
  width:100%;
  background:none;
  border:none;
  padding:28px 0 28px 20px;
  display:flex;
  align-items:center;
  gap:20px;
  cursor:none;
  text-align:left;
  transition:background .3s;
}
.faq-item.open .faq-btn { background:rgba(200,169,110,0.03); }

.faq-idx {
  font-size:.9rem;
  color:var(--muted);
  flex-shrink:0;
  width:24px;
  transition:color .3s;
  font-style:italic;
}
.faq-item.open .faq-idx { color:var(--gold); }

.faq-question {
  flex:1;
 
 
  transition:color .3s;
}
.faq-item.open .faq-question { color:var(--text); }

/* animated toggle icon */
.faq-toggle {
  width:34px; height:34px;
  border-radius:50%;
  border:1px solid var(--theme-color1);
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  transition:all .4s cubic-bezier(.22,1,.36,1);
  position:relative;
}
.faq-toggle::before,
.faq-toggle::after {
  content:'';
  position:absolute;
  background:var(--theme-color1);
  border-radius:2px;
  transition:all .4s cubic-bezier(.22,1,.36,1);
}
.faq-toggle::before { width:12px; height:1.5px; }
.faq-toggle::after  { width:1.5px; height:12px; }
.faq-item.open .faq-toggle {
  /* background:var(--gold); */
  border-color:var(--gold);
  transform:rotate(45deg);
}
.faq-item.open .faq-toggle::before,
.faq-item.open .faq-toggle::after { background:var(--bg); }

/* answer */
.faq-answer {
  max-height:0;
  overflow:hidden;
  transition:max-height .6s cubic-bezier(.22,1,.36,1);
}
.faq-answer-inner {
  padding:0 20px 28px 44px;
  color:var(--muted2);
  line-height:1.9;
  font-weight:300;
  max-width:520px;
}

@media(max-width:900px) {
  .faq-container { grid-template-columns:1fr; gap:52px; padding:0 24px; }
  .faq-left { position:static; }
  .faq-watermark { display:none; }
}