/* ====== FAQ Section ====== */
:root{
  --ink: #0f172a;
  --brand: #09254a;        /* deep blue like in your screenshot */
  --line: #d7dee8;         /* light border */
  --bg: #f7fafc;           /* very light page bg */
  --radius: 6px;
}

body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--ink); background: var(--bg); }

.faq{
  padding: clamp(32px, 6vw, 64px) 16px;
}

.faq__wrap{
  max-width: 1150px;
  margin: 0 auto;
}

.faq h2{
  font-size: clamp(26px, 3.2vw, 44px);
  text-align: left;
  margin: 0 0 24px;
  color: var(--brand);
  font-weight: 700;
}

/* Item shell (uses native details/summary) */
.faq__item{
  background: #fff;
  border: 1px solid var(--line);
  border-bottom: none;
}

.faq__item:first-of-type{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.faq__item:last-of-type{
  border-bottom: 1px solid var(--line);
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
}

/* Summary row (the clickable question) */
.faq__item > summary{
  list-style: none;                 /* hide default marker */
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;  /* text left, icon right */
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  font-size: clamp(18px, 2.1vw, 28px);
  color: var(--brand);
  font-weight: 700;
  outline: none;
}

.faq__item > summary::-webkit-details-marker{ display: none; }

/* Right-side plus / minus icon */
.faq__item > summary::after{
  content: "+";
  color: var(--brand);
  font-weight: 900;
  font-size: 22px;
  line-height: 1;
}

/* When open, show minus */
.faq__item[open] > summary::after{
  content: "–";
}

/* Hover / focus states */
.faq__item > summary:hover{
  background: rgba(16,74,151,0.04);
}
.faq__item > summary:focus-visible{
  box-shadow: 0 0 0 3px rgba(16,74,151,.25) inset;
}

/* Answer area */
.faq__content{
  padding: 18px 28px 24px 44px;
  color: #080a34;
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.75;

  /* open/close animation using max-height */
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}

/* Allow content to expand when open */
.faq__item[open] .faq__content{
  max-height: 600px; /* big enough for typical answers */
}

/* Optional: tidy lists inside answers */
.faq__content > ul{
  margin: 8px 0 0 0;
  padding-left: 20px;
}
.faq__content > p{
  margin: 0 0 8px 0;
}

/* Responsive spacing */
@media (max-width: 640px){
  .faq__content{ padding: 14px 18px 18px 22px; }
}
