/* FISCHRAINE Phase 83.1 — FAQ Layout Polish
   Versioned stylesheet intentionally bypasses the short global CSS cache. */
.faq-section .shell{max-width:1500px}
.faq-section .faq-list{border-top:1px solid #303030}
.faq-section .faq-list details{border-bottom:1px solid #303030;margin:0;padding:0}
.faq-section .faq-list details[open]{padding-bottom:0}

.faq-section .faq-list summary{
  list-style:none !important;
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) 40px !important;
  column-gap:28px !important;
  align-items:center !important;
  min-height:116px !important;
  padding:0 !important;
  margin:0 !important;
  cursor:pointer;
  user-select:none;
  outline:none;
}
.faq-section .faq-list summary::marker{content:"" !important;font-size:0 !important}
.faq-section .faq-list summary::-webkit-details-marker{display:none !important}
.faq-section .faq-list summary:focus-visible{outline:1px solid #777;outline-offset:-1px}

.faq-section .faq-list summary > span{
  display:block;
  font-size:.56rem !important;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  color:#666 !important;
}
.faq-section .faq-list summary > strong{
  display:block;
  min-width:0;
  font-size:clamp(1.28rem,1.85vw,1.72rem) !important;
  line-height:1.18;
  letter-spacing:-.025em !important;
  font-weight:700;
}

/* One clean + / − control. */
.faq-section .faq-list summary > i{
  position:relative !important;
  display:block !important;
  width:22px !important;
  height:22px !important;
  justify-self:end;
  color:#8a8a8a;
}
.faq-section .faq-list summary > i::before,
.faq-section .faq-list summary > i::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  background:currentColor !important;
  transform:translate(-50%,-50%);
  transition:transform .22s ease,opacity .22s ease,color .22s ease;
}
.faq-section .faq-list summary > i::before{width:18px !important;height:1px !important}
.faq-section .faq-list summary > i::after{width:1px !important;height:18px !important}
.faq-section .faq-list details[open] summary > i::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg) !important}
.faq-section .faq-list details[open] summary > i{color:#d5d5d5}

.faq-section .faq-answer{
  max-width:1040px !important;
  padding:0 64px 52px 100px !important;
  color:#9c9c9c !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}
.faq-section .faq-answer p{margin:0 0 16px !important}
.faq-section .faq-answer p:last-child{margin-bottom:0 !important}
.faq-section .faq-answer b{color:#dedbd4}

/* Separate the closing conversion block from the accordion. */
.faq-section .faq-cta{
  border-top:0;
  padding-top:clamp(110px,10vw,170px) !important;
  padding-bottom:24px;
  row-gap:40px;
}
.faq-section .faq-cta .kicker{margin-bottom:24px}
.faq-section .faq-cta h2{max-width:900px}

@media(max-width:980px){
  .faq-section .faq-list summary{
    grid-template-columns:56px minmax(0,1fr) 32px !important;
    min-height:104px !important;
    column-gap:20px !important;
  }
  .faq-section .faq-answer{padding:0 40px 46px 76px !important}
  .faq-section .faq-cta{padding-top:100px !important}
}

@media(max-width:620px){
  .faq-section .faq-list summary{
    grid-template-columns:34px minmax(0,1fr) 24px !important;
    min-height:92px !important;
    column-gap:12px !important;
  }
  .faq-section .faq-list summary > span{font-size:.5rem !important}
  .faq-section .faq-list summary > strong{font-size:1.08rem !important;line-height:1.25}
  .faq-section .faq-list summary > i{width:18px !important;height:18px !important}
  .faq-section .faq-list summary > i::before{width:16px !important}
  .faq-section .faq-list summary > i::after{height:16px !important}
  .faq-section .faq-answer{
    padding:0 6px 38px 46px !important;
    font-size:.94rem !important;
    line-height:1.68 !important;
  }
  .faq-section .faq-cta{padding-top:78px !important}
}
