/* Native details remains usable before JavaScript and with reduced motion. */
.faq.ct-faq {
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(44px,8vw,128px);
  padding:82px var(--gutter) 92px;
}
.ct-faq .ct-faq__intro { max-width:390px; }
.ct-faq .ct-faq__intro>.eyebrow { margin-bottom:22px; font-size:11px; letter-spacing:.025em; color:var(--muted); }
.ct-faq .ct-faq__intro h2 { font-size:clamp(36px,3.6vw,56px); line-height:1.09; letter-spacing:-.045em; }
.ct-faq .ct-faq__intro>p { margin-top:24px; font-size:16px; line-height:1.75; max-width:34ch; color:var(--muted); }
.ct-faq .ct-faq__intro>.text-link { margin-top:23px; font-size:13px; gap:17px; min-height:44px; line-height:1.5; }
.ct-faq .ct-faq__intro>.text-link svg { flex:none; }
.ct-faq .ct-faq__items { width:100%; min-width:0; }
.ct-faq .ct-faq__item { padding:0; margin:0; border:0; border-top:1px solid #17252229; box-sizing:border-box; }
.ct-faq .ct-faq__item:last-child { border-bottom:1px solid #17252229; }
.ct-faq .ct-faq__item>summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:79px;
  padding:21px 2px;
  list-style:none;
  cursor:pointer;
  color:var(--ink);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.ct-faq .ct-faq__item>summary::marker { content:''; }
.ct-faq .ct-faq__item>summary::-webkit-details-marker { display:none; }
.ct-faq .ct-faq__question { display:block; font-size:17px; font-weight:550; line-height:1.5; letter-spacing:-.015em; transform:none; }
.ct-faq .ct-faq__icon { display:grid; place-items:center; flex:none; width:28px; height:28px; border:1px solid #17252230; border-radius:50%; background:transparent; transform:none; transition:background-color 160ms ease,border-color 160ms ease; }
.ct-faq .ct-faq__icon svg { width:16px; height:16px; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; }
.ct-faq .ct-faq__vertical { transform-origin:10px 10px; transform:scaleY(1); transition:transform 180ms cubic-bezier(.23,1,.32,1); }
.ct-faq .ct-faq__item[open] .ct-faq__vertical { transform:scaleY(0); }
.ct-faq .ct-faq__item[data-faq-state="closing"] .ct-faq__vertical { transform:scaleY(1); }
.ct-faq .ct-faq__item[open] summary span { transform:none; }
.ct-faq .ct-faq__answer { padding:0 45px 25px 2px; }
.ct-faq .ct-faq__answer>p { margin:0; padding:0; font-size:16px; line-height:1.75; color:var(--muted); max-width:58ch; }
.ct-faq .ct-faq__item>summary:focus-visible { outline:2px solid #526943; outline-offset:5px; border-radius:3px; }
.ct-faq .ct-faq__item[data-faq-instant] .ct-faq__vertical,
.ct-faq .ct-faq__item[data-faq-instant] .ct-faq__icon { transition:none; }
@media(hover:hover) and (pointer:fine) {
  .ct-faq .ct-faq__item>summary:hover .ct-faq__icon { background:#e4ebd4; border-color:#899c70; }
}
@media(max-width:900px) {
  .faq.ct-faq { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:34px; }
  .ct-faq .ct-faq__intro h2 { font-size:38px; }
  .ct-faq .ct-faq__intro>p { font-size:16px; }
  .ct-faq .ct-faq__question { font-size:16px; }
  .ct-faq .ct-faq__item>summary { gap:17px; min-height:76px; }
  .ct-faq .ct-faq__answer { padding-right:36px; }
}
@media(max-width:640px) {
  .faq.ct-faq { grid-template-columns:minmax(0,1fr); gap:33px; padding-top:54px; padding-bottom:64px; }
  .ct-faq .ct-faq__intro { max-width:36ch; }
  .ct-faq .ct-faq__intro>.eyebrow { margin-bottom:17px; font-size:10px; }
  .ct-faq .ct-faq__intro h2 { font-size:38px; }
  .ct-faq .ct-faq__intro>p { margin-top:18px; font-size:16px; line-height:1.7; }
  .ct-faq .ct-faq__intro>.text-link { margin-top:17px; font-size:13px; }
  .ct-faq .ct-faq__item>summary { min-height:77px; padding:21px 1px; gap:17px; }
  .ct-faq .ct-faq__question { font-size:16px; line-height:1.5; }
  .ct-faq .ct-faq__icon { width:26px; height:26px; }
  .ct-faq .ct-faq__answer { padding:0 8px 23px 1px; }
  .ct-faq .ct-faq__answer>p { font-size:16px; line-height:1.7; }
}
@media(max-width:340px) {
  .ct-faq .ct-faq__intro h2 { font-size:34px; }
  .ct-faq .ct-faq__item>summary { gap:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .ct-faq .ct-faq__icon,
  .ct-faq .ct-faq__vertical { transition:none; }
}
