/* Shared FAQ contract, approved 2026-10-15.
   Consumer Insights reading layout + GEO bidirectional disclosure motion.
   Opt in with .wy-faq; use the existing shared container and spacing budgets. */
html body.wy-responsive #faq.wy-faq { padding-block:var(--wy-s9) var(--wy-s10); }
html body.wy-responsive #faq.wy-faq>.container { display:block; }
html body.wy-responsive #faq.wy-faq .sec-head .h1 { margin:0;font-size:var(--wy-fs-h1); }
html body.wy-responsive #faq.wy-faq { background:var(--wy-g0); }
html body.wy-responsive #faq.wy-faq :is(.sec-head,.faq) { width:70%;margin-inline:auto; }
html body.wy-responsive #faq.wy-faq .sec-head { margin-bottom:var(--wy-s8); }
html body.wy-responsive #faq.wy-faq .faq { max-width:none;border-top:0; }
html body.wy-responsive #faq.wy-faq .faq__item {
  border-bottom:1px solid color-mix(in srgb,var(--wy-g100) 72%,var(--wy-g0));
}
html body.wy-responsive #faq.wy-faq .faq__q {
  display:grid;grid-template-columns:minmax(0,1fr) calc(var(--wy-s6) + var(--wy-s3));
  align-items:center;gap:var(--wy-s6);width:100%;padding:var(--wy-s6) 0;
  color:var(--wy-ink);cursor:pointer;list-style:none;
  font-size:var(--wy-fs-h3)!important;line-height:var(--wy-lh-head)!important;
}
html body.wy-responsive #faq.wy-faq .faq__item:first-child .faq__q { padding-top:0; }
html body.wy-responsive #faq.wy-faq .faq__q::-webkit-details-marker { display:none; }
html body.wy-responsive #faq.wy-faq .faq__q::marker { content:""; }
html body.wy-responsive #faq.wy-faq .faq__item .faq__icon {
  display:grid;place-items:center;width:calc(var(--wy-s6) + var(--wy-s3));height:calc(var(--wy-s6) + var(--wy-s3));
  border-radius:var(--wy-r-full);background:var(--wy-g25);color:var(--wy-g600);
}
html body.wy-responsive #faq.wy-faq .faq__icon::before,
html body.wy-responsive #faq.wy-faq .faq__icon::after { content:none; }
html body.wy-responsive #faq.wy-faq .faq__icon svg { display:block;width:var(--wy-s4);height:var(--wy-s4); }
html body.wy-responsive #faq.wy-faq .faq__item:not(.t-acc)[open] .faq__icon svg { transform:rotate(180deg); }
html body.wy-responsive #faq.wy-faq .faq__item:is([open]:not(.t-acc),[data-open="true"]) .faq__icon,
html body.wy-responsive #faq.wy-faq .faq__q:is(:hover,:focus-visible) .faq__icon {
  background:var(--wy-primary-subtle);color:var(--wy-primary);
}
html body.wy-responsive #faq.wy-faq .faq__q:focus-visible { outline:2px solid var(--wy-primary);outline-offset:var(--wy-s1); }
html body.wy-responsive #faq.wy-faq .faq__a {
  max-height:none;overflow:visible;transition:none;padding:0 calc(var(--wy-s8) + var(--wy-s3)) var(--wy-s7) 0;
}
html body.wy-responsive #faq.wy-faq .faq__a p {
  /* The 70% FAQ list already sets the reading width. A second 40em cap
     left almost half of the approved list empty on desktop (2026-10-21). */
  max-width:100%;margin:0;padding:0;color:var(--wy-g700);
  font-size:var(--wy-fs-body);line-height:var(--wy-lh-body);
}

@media(max-width:767px) {
  /* 2026-10-27 compact mobile revision: 18px question titles,
     unchanged 16px body, and a smaller disclosure circle.
     The section heading retains the shared --wy-fs-h1 size. */
  html body.wy-responsive #faq.wy-faq {
    --wy-faq-mobile-title-size:18px;
    --wy-faq-mobile-icon-size:var(--wy-s6);
    --wy-faq-mobile-icon-gap:var(--wy-s3);
    padding-block:var(--wy-s6) var(--wy-s7)!important;
  }
  html body.wy-responsive #faq.wy-faq :is(.sec-head,.faq) { width:100%; }
  html body.wy-responsive #faq.wy-faq .sec-head { margin-bottom:var(--wy-s5)!important; }
  /* Medium offers a middle option between regular 400 and bold 700. */
  html body.wy-responsive #faq.wy-faq :is(.sec-head .h1,.faq__q) {
    font-weight:500!important;
  }
  html body.wy-responsive #faq.wy-faq .faq__q {
    font-size:var(--wy-faq-mobile-title-size)!important;
    grid-template-columns:minmax(0,1fr) var(--wy-faq-mobile-icon-size);
    gap:var(--wy-faq-mobile-icon-gap);padding-block:var(--wy-s4);min-height:44px;
  }
  html body.wy-responsive #faq.wy-faq .faq__item .faq__icon {
    width:var(--wy-faq-mobile-icon-size);height:var(--wy-faq-mobile-icon-size);
  }
  html body.wy-responsive #faq.wy-faq .faq__icon svg { width:14px;height:14px; }
  /* Keep the approved answer edge to the left of the arrow, sharing
     the question's 32px circle + 12px gap column reservation. */
  html body.wy-responsive #faq.wy-faq .faq__a {
    padding-right:calc(var(--wy-faq-mobile-icon-size) + var(--wy-faq-mobile-icon-gap));
    padding-bottom:var(--wy-s5);
  }
  /* 2026-10-27: natural left-aligned copy without stretched word spaces
     or automatic English hyphenation; keep the approved 16px / 28px. */
  html body.wy-responsive #faq.wy-faq .faq__a p {
    text-align:left;text-align-last:auto;text-justify:none;
    word-spacing:normal;hyphens:manual;
    text-wrap:wrap;word-break:normal;overflow-wrap:break-word;
  }
}
html[lang="en"] body.wy-responsive #faq.wy-faq :is(h2,.faq__q) { letter-spacing:normal!important; }

/* transitions-dev accordion: the approved shared 350ms FAQ motion. */
:root {
  --acc-expand: 250ms;
  --acc-collapse: 250ms;
  --acc-chevron: 250ms;
  --acc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
html body.wy-responsive #faq.wy-faq {
  --acc-expand:350ms;
  --acc-collapse:350ms;
  --acc-chevron:350ms;
  --acc-ease:var(--wy-ease);
}
/* grid-template-rows 0fr → 1fr gives a clean height animation
   with no JS measurement; the inner element clips overflow. */
.t-acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel {
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--acc-expand) var(--acc-ease);
}
.t-acc-panel-inner {
  overflow: hidden;
  opacity: 0;
  filter: blur(2px);
  transition:
    opacity var(--acc-collapse) var(--acc-ease),
    filter var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel-inner {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity var(--acc-expand) var(--acc-ease),
    filter var(--acc-expand) var(--acc-ease);
}
/* Flip the chevron vertically to turn the "v" into a "^".
   scaleY(-1) about the centre passes through a flat line at
   the midpoint (same look as a `d:` path morph) but animates
   in every browser, unlike CSS `d:` morphing (Chromium only).
   The chevron path is symmetric about the 16x16 viewBox
   centre, so the flip lands exactly on the "^"; non-scaling
   -stroke keeps the stroke width constant through the flip. */
.t-acc-chevron {
  display: inline-flex;
  transform: scaleY(1);
  transform-origin: center;
  transition: transform var(--acc-chevron) var(--acc-ease);
}
.t-acc-chevron path { vector-effect: non-scaling-stroke; }
.t-acc[data-open="true"] .t-acc-chevron {
  transform: scaleY(-1);
}

@media (prefers-reduced-motion: reduce) {
  .t-acc-panel, .t-acc-panel-inner, .t-acc-chevron {
    transition: none !important;
  }
}
/* Retain crisp FAQ copy; its existing padding sits inside the clipping child. */
html body.wy-responsive #faq.wy-faq .t-acc-panel-inner { filter:none; }

/* Override earlier page-specific [open] arrow rules during the closing phase. */
html body.wy-responsive #faq.wy-faq .t-acc .t-acc-chevron { transform:scaleY(1); }
html body.wy-responsive #faq.wy-faq .t-acc[data-open="true"] .t-acc-chevron { transform:scaleY(-1); }
