
/* =========================================================
   S09 — FAQ
   One outer white Premium Glass.
   FAQ rows use dividers only; no nested cards.
   ========================================================= */

.faq-wrap{
  max-width:1600px;
  margin:0 auto 74px;
  padding:0 28px;
  position:relative;
}

.faq-glass{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  background:rgba(249,252,255,.875);
  backdrop-filter:blur(30px) saturate(126%);
  -webkit-backdrop-filter:blur(30px) saturate(126%);
  box-shadow:
    0 24px 72px rgba(7,27,59,.18),
    inset 0 1px 0 rgba(255,255,255,.40),
    inset 0 -1px 0 rgba(59,106,171,.04);
}

.faq-intro{
  padding:52px 58px 30px;
  text-align:center;
}

.faq-kicker{
  margin:0 0 13px;
  color:#4d8aca;
  font-size:15px;
  line-height:1.6;
  font-weight:600;
  letter-spacing:.03em;
}

.faq-intro h2{
  margin:0;
  color:#082f74;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:clamp(44px,3.18vw,52px);
  line-height:1.28;
  font-weight:700;
  letter-spacing:.002em;
  word-break:normal;
  line-break:strict;
  text-wrap:balance;
}

.faq-lead{
  max-width:980px;
  margin:20px auto 0;
  color:#17395f;
  font-size:clamp(16px,1.02vw,19px);
  line-height:1.76;
  font-weight:400;
  text-wrap:pretty;
}

.faq-list{
  margin:0 58px;
  border-top:1px solid rgba(47,98,161,.14);
}

.faq-item{
  margin:0;
  border-bottom:1px solid rgba(47,98,161,.14);
}

.faq-item summary{
  list-style:none;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 34px;
  gap:18px;
  align-items:center;
  padding:22px 4px;
  cursor:pointer;
  user-select:none;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-number{
  color:#4d8aca;
  font-size:14px;
  line-height:1;
  font-weight:600;
  letter-spacing:.04em;
}

.faq-question{
  color:#0b356f;
  font-size:clamp(17px,1.12vw,21px);
  line-height:1.55;
  font-weight:600;
  word-break:normal;
  line-break:strict;
  text-wrap:pretty;
}

.faq-toggle{
  position:relative;
  width:28px;
  height:28px;
  justify-self:end;
}

.faq-toggle::before,
.faq-toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:17px;
  height:1.5px;
  border-radius:999px;
  background:#317cca;
  transform:translate(-50%,-50%);
  transition:transform .20s ease,opacity .20s ease;
}

.faq-toggle::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.faq-item[open] .faq-toggle::after{
  transform:translate(-50%,-50%) rotate(0deg);
  opacity:0;
}

.faq-answer{
  overflow:hidden;
}

.faq-answer p{
  margin:0;
  padding:0 56px 23px 76px;
  color:#355472;
  font-size:clamp(15px,.98vw,18px);
  line-height:1.78;
  font-weight:400;
  text-wrap:pretty;
}

.faq-item[open] summary{
  padding-bottom:14px;
}

.faq-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:30px 58px 42px;
}

.faq-action-copy{
  max-width:840px;
  margin:0;
  color:#526f8c;
  font-size:14px;
  line-height:1.68;
  font-weight:400;
  text-align:center;
}

.faq-primary-cta{
  margin-top:18px;
  width:min(100%,390px);
  background:
    radial-gradient(120% 180% at 8% -20%,
      rgba(255,255,255,.42) 0%,
      rgba(255,255,255,.14) 34%,
      transparent 60%),
    radial-gradient(70% 150% at 90% 110%,
      rgba(110,192,255,.24) 0%,
      rgba(255,255,255,.04) 50%,
      transparent 76%),
    linear-gradient(112deg,
      rgba(34,126,255,.86),
      rgba(19,87,207,.88) 46%,
      rgba(14,58,163,.92));
}

/* Hover without adding a framed-card look */
@media(hover:hover){
  .faq-item summary:hover .faq-question{
    color:#0b5dad;
  }
}

/* Tablet */
@media(max-width:1200px){
  .faq-wrap{padding:0 20px;margin-bottom:56px}
  .faq-intro{padding:44px 42px 27px}
  .faq-list{margin:0 42px}
  .faq-actions{padding:27px 42px 36px}
}

/* Mobile */
@media(max-width:760px){
  .faq-wrap{padding:0 10px;margin-bottom:40px}

  .faq-glass{
    border-radius:26px;
    background:rgba(249,252,255,.875);
  }

  .faq-intro{
    padding:31px 20px 23px;
    text-align:left;
  }

  .faq-kicker{
    margin-bottom:10px;
    font-size:13px;
  }

  .faq-intro h2{
    font-size:31px;
    line-height:1.34;
    text-wrap:pretty;
  }

  .faq-lead{
    margin-top:17px;
    font-size:15px;
    line-height:1.72;
  }

  .faq-list{
    margin:0 20px;
  }

  .faq-item summary{
    grid-template-columns:36px minmax(0,1fr) 30px;
    gap:10px;
    padding:19px 0;
  }

  .faq-number{
    font-size:12px;
  }

  .faq-question{
    font-size:17px;
    line-height:1.55;
  }

  .faq-toggle{
    width:26px;
    height:26px;
  }

  .faq-answer p{
    padding:0 31px 20px 46px;
    font-size:14px;
    line-height:1.72;
  }

  .faq-item[open] summary{
    padding-bottom:11px;
  }

  .faq-actions{
    padding:25px 20px 30px;
  }

  .faq-action-copy{
    font-size:13px;
    line-height:1.65;
  }

  .faq-primary-cta{
    width:min(100%,330px);
    margin-top:16px;
  }
}

@media(max-width:370px){
  .faq-intro h2{font-size:28px}
  .faq-question{font-size:16px}
}
