/* m:faq: the old site's eight questions word for word, then four about CrypTap Go.
   Native <details>; js/faq.js adds one-open + height animation. */
#faq{position:relative;z-index:1;margin-top:0;background:var(--paper);color:var(--ink);
  padding:clamp(72px,12vh,140px) var(--g) calc(24px + env(safe-area-inset-bottom));
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:start}

/* head */
.faq-head{grid-column:1 / span 4;padding-top:2px;position:sticky;top:calc(var(--nav-h) + var(--safe-t) + 48px)}
.faq-h{font-family:var(--sans);font-weight:400;font-size:clamp(30px,3.4vw,56px);line-height:1.05;letter-spacing:-.03em;
  max-width:11ch;text-wrap:balance}
.faq-sub{margin-top:18px;font-size:16px;line-height:1.5;color:var(--ink-2);max-width:28ch}

/* list */
.faq-body{grid-column:6 / -1;min-width:0}
.faq-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.faq-i{border-bottom:1px solid var(--line);position:relative}
.faq-i:last-child{border-bottom-color:var(--ink)}

/* the CrypTap Go group */
.faq-g{margin:56px 0 0;font-family:var(--sans);font-weight:500;font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);
  display:flex;align-items:center;gap:12px;scroll-margin-top:calc(var(--nav-h) + var(--safe-t) + 20px)}
.faq-g::before{content:"";width:10px;height:10px;flex:none;background:var(--blue)}
.faq-gs{margin:8px 0 20px;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:60ch}

.faq-s{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;column-gap:16px;
  min-height:72px;padding:22px 4px 22px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  -webkit-user-select:none;user-select:none;position:relative;outline:none;
  transition:background-color 240ms var(--out)}
.faq-s::-webkit-details-marker{display:none}
.faq-s::marker{content:""}
.faq-q{font-family:var(--sans);font-weight:400;font-size:18px;line-height:1.35;letter-spacing:-.005em;color:var(--ink);
  text-wrap:pretty;transition:color 240ms var(--out)}
.faq-d.faq-on .faq-q,html:not(.js) .faq-d[open] .faq-q{color:var(--blue)}

/* plus that turns into a cross when open */
.faq-x{position:relative;width:16px;height:16px;justify-self:end;align-self:center;
  transition:transform 350ms var(--out)}
.faq-x::before,.faq-x::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1.5px;margin-top:-.75px;background:var(--ink)}
.faq-x::after{transform:rotate(90deg)}
.faq-d.faq-on .faq-x,html:not(.js) .faq-d[open] .faq-x{transform:rotate(45deg)}

@media (hover:hover) and (pointer:fine){
  .faq-s:hover .faq-q{color:var(--blue)}
  .faq-s:hover .faq-x::before,.faq-s:hover .faq-x::after{background:var(--blue)}
}
.faq-s:active{background:rgba(14,23,38,.045)}
.faq-s:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

/* answer: grid-rows height animation */
.faq-a{display:grid;grid-template-rows:1fr}
html.js .faq-a{grid-template-rows:0fr;transition:grid-template-rows 350ms var(--out)}
html.js .faq-d.faq-on .faq-a{grid-template-rows:1fr}
.faq-ai{min-height:0;overflow:hidden}
.faq-p{margin:0;padding:0 44px 26px 0;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:66ch}

/* tablet: stack the head above the list */
@media (max-width:899px){
  #faq{display:block}
  .faq-head{position:static;margin-bottom:36px}
  .faq-h{max-width:14ch}
}

/* phones */
@media (max-width:599px){
  #faq{padding-left:max(var(--g),var(--safe-l));padding-right:max(var(--g),var(--safe-r))}
  .faq-h{font-size:clamp(28px,8.4vw,34px);line-height:1.08;letter-spacing:-.025em;max-width:12ch}
  .faq-sub{margin-top:12px;font-size:15px}
  .faq-head{margin-bottom:28px}
  .faq-s{grid-template-columns:minmax(0,1fr) 20px;column-gap:12px;min-height:56px;padding:17px 0}
  .faq-q{font-size:16.5px;line-height:1.38}
  .faq-x{width:14px;height:14px}
  .faq-p{padding:0 0 22px 0;font-size:15px;line-height:1.6;max-width:none}
  .faq-g{margin-top:44px;font-size:20px}
  .faq-gs{margin-bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  html.js .faq-a,.faq-x,.faq-q,.faq-s{transition:none}
}
html.reduce .faq-a,html.reduce .faq-x,html.reduce .faq-q{transition:none}

/* deep links land below the sticky nav */
.faq-d{scroll-margin-top:calc(var(--nav-h) + var(--safe-t) + 20px)}

/* the first five questions, then the rest behind "See all questions" (js/faq.js; all of them stay in the DOM and the JSON-LD) */
.faq-more{overflow:hidden}
.faq-more[hidden]{display:none}
.faq-l-rest{border-top:0}
.faq-body:has(.faq-more:not([hidden])) .faq-l-top .faq-i:last-child{border-bottom-color:var(--line)}
.faq-all{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-top:20px;padding:0 20px;border:1px solid var(--ink);
  font:500 15px/1 var(--sans);color:var(--ink);-webkit-tap-highlight-color:transparent;transition:background-color .24s linear,color .24s linear}
.faq-all[hidden]{display:none}
@media (hover:hover){ .faq-all:hover{background:var(--ink);color:var(--paper)} }
.faq-all:active{transform:translateY(1px)}
@media (max-width:599px){ .faq-all{width:100%;justify-content:center;margin-top:18px} }
.faq-g{margin-bottom:16px}
