/* W5 — FAQ v33: compact cabinet */
.faq-intro{
  max-width:900px;
  margin:0 auto;
  padding:clamp(58px,7vw,88px) 24px 36px;
  text-align:center;
}
.faq-intro__icon img{
  display:block;
  width:clamp(108px,10vw,148px);
  height:auto;
  margin:0 auto 18px;
  filter:drop-shadow(0 14px 24px #000);
}
.faq-intro .kicker{justify-content:center;margin-bottom:8px}
.faq-intro h1{
  margin:0;
  font-size:clamp(4.2rem,7vw,6.4rem);
  line-height:.9;
  letter-spacing:-.035em;
}
.faq-intro__lead{
  max-width:700px;
  margin:20px auto 0;
  color:#aaa;
  font-size:clamp(1.05rem,1.6vw,1.28rem);
  line-height:1.62;
}
.faq-intro__rule{
  width:min(820px,92%);
  height:1px;
  margin:34px auto 0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09) 15%,rgba(255,102,0,.52) 50%,rgba(255,255,255,.09) 85%,transparent);
}

/* Deliberately neutralize the global ruled-section pseudo-elements on FAQ.
   This page owns its intro divider instead of inheriting a left-origin rule. */
.faq-intro::before,.faq-intro::after{content:none!important;display:none!important}

.question-index{
  position:relative;
  width:min(900px,calc(100% - 48px));
  margin:20px auto 72px;
  padding:0;
  border:0;
  background:none;
}
.question-index::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-34px;
  left:50%;
  width:min(980px,112%);
  height:230px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    radial-gradient(ellipse at 36% 30%,
      rgba(255,102,0,.065) 0%,
      rgba(255,102,0,.028) 31%,
      rgba(255,102,0,0) 70%);
}
.question-index__heading{
  margin:0;
  padding:22px 28px 26px;
  text-align:left;
  border:0;
  background:none;
}
.question-index__heading h2{
  margin:3px 0 0;
  font-size:clamp(2.25rem,4vw,3.55rem);
  line-height:1;
}
.question-index__heading p:last-child{
  margin:8px 0 0;
  color:#777;
  font-size:.96rem;
}
.question-index__links{display:block}
.question-index__links a{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(190px,1fr) minmax(190px,1fr) 30px;
  align-items:center;
  gap:18px;
  min-height:76px;
  padding:13px 22px;
  text-decoration:none;
  border:0;
  background:
    radial-gradient(ellipse at 35% 50%,
      rgba(255,102,0,0) 0%,
      rgba(255,102,0,0) 70%);
  transition:background .2s ease,padding-left .2s ease;
}
.question-index__links a:not(:last-child)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:88%;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.045) 13%,
    rgba(255,255,255,.085) 34%,
    rgba(255,102,0,.34) 50%,
    rgba(255,255,255,.085) 66%,
    rgba(255,255,255,.045) 87%,
    transparent 100%
  );
}
.question-index__links a:hover,
.question-index__links a:focus-visible{
  padding-left:27px;
  background:
    radial-gradient(ellipse at 34% 50%,
      rgba(255,102,0,.105) 0%,
      rgba(255,102,0,.042) 34%,
      rgba(255,102,0,0) 73%);
}
.question-index__links span{
  color:#3c3c3c;
  font:400 1.35rem/1 var(--display);
  letter-spacing:.04em;
}
.question-index__links strong{
  color:#efefeb;
  font:400 1.45rem/1.1 var(--display);
}
.question-index__links small{
  color:#747474;
  font:400 .9rem/1.35 var(--body);
}
.question-index__links b{
  color:var(--orange);
  font:400 1rem/1 var(--ui);
  text-align:right;
  transition:transform .2s ease;
}
.question-index__links a:hover b,
.question-index__links a:focus-visible b{
  transform:translateX(5px);
}

/* The FAQ itself is intentionally denser than the editorial landing pages. */
.faq-chapter{
  position:relative;
  width:min(920px,calc(100% - 48px));
  margin:0 auto;
  padding:54px 0 46px;
  scroll-margin-top:24px;
}
.faq-chapter+.faq-chapter::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(760px,84%);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),rgba(255,102,0,.38),rgba(255,255,255,.07),transparent);
}
.faq-chapter__heading{
  margin:0 0 28px;
}
.faq-chapter__heading h2{
  margin:3px 0 0;
  font-size:clamp(2.65rem,4.6vw,4.5rem);
  line-height:.95;
}
.faq-list{display:block}
.faq-list article{
  position:relative;
  max-width:860px;
  margin:0;
  padding:24px 0 26px;
}
.faq-list article:first-child{padding-top:8px}
.faq-list article:not(:last-child)::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(620px,78%);
  height:1px;
  background:linear-gradient(90deg,rgba(255,102,0,.46),rgba(255,255,255,.08) 42%,transparent);
}
.faq-list h3{
  margin:0 0 8px;
  color:#f0f0ed;
  font-size:clamp(1.5rem,2.4vw,2.05rem);
  line-height:1.18;
}
.faq-list h3::before{
  content:"◆";
  display:inline-block;
  margin-right:11px;
  color:var(--orange);
  font:400 .48em/1 var(--ui);
  vertical-align:.28em;
}
.faq-list p{
  max-width:800px;
  margin:0;
  color:#999;
  font-size:1rem;
  line-height:1.7;
}
.faq-list a{
  text-decoration-color:rgba(255,102,0,.65);
  text-underline-offset:.18em;
}
.faq-list a:hover{color:var(--orange)}
.faq-list code{color:#d7d7d2;font-size:.9em}

/* Keep the established W5 four-door footer treatment. */
.faq-desk{
  margin-top:60px;
  background:linear-gradient(180deg,rgba(255,102,0,.045),transparent 42%),rgba(0,0,0,.32);
}
.faq-desk__heading{padding:54px 36px 38px;text-align:center}
.faq-desk__heading .kicker{justify-content:center}
.faq-desk__heading h2{
  margin:.35rem 0 0;
  font-size:clamp(2.8rem,4.6vw,4.8rem);
  line-height:1;
}
.faq-desk__links{display:grid;grid-template-columns:repeat(4,1fr)}
.faq-desk__links a{
  min-height:315px;
  padding:36px 24px;
  text-align:center;
  text-decoration:none;
  border-right:1px solid #242424;
  background:linear-gradient(180deg,rgba(255,102,0,0),rgba(255,102,0,0));
  transition:background .2s ease;
}
.faq-desk__links a:last-child{border-right:0}
.faq-desk__links a:hover,.faq-desk__links a:focus-visible{
  background:linear-gradient(180deg,rgba(255,102,0,.08),rgba(255,102,0,.012));
}
.faq-desk__links img{
  display:block;
  width:102px;height:102px;object-fit:contain;
  margin:0 auto 16px;
}
.faq-desk__links span{
  display:block;color:var(--orange);
  font:700 .62rem/1.2 var(--ui);letter-spacing:.12em;
}
.faq-desk__links strong{
  display:block;margin-top:11px;
  font:400 1.65rem/1.1 var(--display);
}
.faq-desk__links small{
  display:block;max-width:220px;margin:10px auto 0;
  color:#777;font:400 .9rem/1.45 var(--body);
}

@media(max-width:900px){
  .question-index__links a{
    grid-template-columns:44px minmax(0,1fr) 28px;
  }
  .question-index__links small{display:none}
  .faq-desk__links{grid-template-columns:repeat(2,1fr)}
  .faq-desk__links a:nth-child(2){border-right:0}
  .faq-desk__links a:nth-child(n+3){border-top:1px solid #242424}
}
@media(max-width:600px){
  .faq-intro{padding-top:48px}
  .question-index,.faq-chapter{width:calc(100% - 28px)}
  .question-index{margin-bottom:48px}
  .question-index__heading{padding:22px 12px 19px}
  .question-index__links a{
    grid-template-columns:34px minmax(0,1fr) 22px;
    gap:10px;min-height:68px;padding:10px 12px;
  }
  .question-index__links a:hover,.question-index__links a:focus-visible{padding-left:16px}
  .question-index__links strong{font-size:1.25rem}
  .faq-chapter{padding:42px 0 34px}
  .faq-list article{padding:20px 0 22px}
  .faq-desk__links{grid-template-columns:1fr}
  .faq-desk__links a,.faq-desk__links a:nth-child(2){
    min-height:260px;border-right:0;border-top:1px solid #242424
  }
  .faq-desk__links a:first-child{border-top:0}
}
@media(prefers-reduced-motion:reduce){
  .question-index__links a,.faq-desk__links a{transition:none}
}
