/* HUB · 07-faq (#faq) — «el panel de la asesora»: panel vertical con hilo de oro + acordeón calmo. */
#faq{overflow:clip}
#faq .fq-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 12% 62%,rgba(216,166,70,.10),transparent 70%),
             radial-gradient(40% 40% at 92% 18%,rgba(16,39,58,.55),transparent 70%)}
#faq .fq-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,40px)}
#faq .fq-head{display:grid;gap:18px;justify-items:start}
#faq .fq-title{max-width:12ch}

/* ---------- Panel ---------- */
#faq .fq-panel{position:relative;margin:0;padding-bottom:28px}
#faq .fq-frame{position:relative;overflow:hidden;border-radius:var(--r);background:
  linear-gradient(160deg,var(--ink-3) 0%,var(--deep) 55%,#1a1408 100%);aspect-ratio:16/10;isolation:isolate;
  box-shadow:0 50px 120px -50px rgba(216,166,70,.32),0 20px 60px -30px rgba(0,0,0,.8)}
#faq .fq-frame:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:4;
  background:linear-gradient(160deg,rgba(244,213,138,.55),rgba(216,166,70,.12) 38%,rgba(216,166,70,.08) 62%,rgba(244,213,138,.7));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
#faq .fq-zoom{position:absolute;inset:0;transform-origin:50% 40%;will-change:transform}
#faq .fq-img,#faq .fq-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
#faq .fq-video{opacity:0;transition:opacity 1.2s var(--ease)}
#faq.fq--video .fq-video{opacity:1}
#faq .fq-sweep{position:absolute;inset:-6% -20%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:0;transform:translateX(-70%);
  background:linear-gradient(105deg,transparent 30%,rgba(216,166,70,.22) 40%,rgba(247,226,168,.62) 46%,rgba(255,244,214,.88) 50%,rgba(247,226,168,.62) 54%,rgba(216,166,70,.22) 60%,transparent 70%)}
/* Segunda pasada: baño cálido que tiñe la foto de oro mientras cruza la franja */
#faq .fq-wash{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:radial-gradient(90% 70% at 50% 45%,rgba(244,213,138,.55),rgba(216,166,70,.25) 55%,transparent 85%)}
#faq.fq--sweeping .fq-sweep,#faq.fq--sweeping .fq-wash,#faq.fq--sweeping .fq-ring{will-change:transform,opacity}
/* Hilo de oro que se enciende al abrir una pregunta */
#faq .fq-ring{position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;opacity:0;
  box-shadow:inset 0 0 0 1.5px rgba(247,226,168,.95),inset 0 0 28px rgba(244,213,138,.45)}
#faq .fq-shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,9,15,0) 48%,rgba(5,9,15,.78) 100%),linear-gradient(90deg,rgba(5,9,15,.25),rgba(5,9,15,0) 40%)}
#faq .fq-cap{position:absolute;left:clamp(16px,2.2vw,28px);right:clamp(16px,2.2vw,28px);bottom:clamp(14px,2vw,26px);z-index:3;
  display:none;align-items:flex-end;justify-content:space-between;gap:16px}
#faq.fq--live .fq-cap{display:flex}
#faq .fq-cap__k{font-size:max(.72rem,12px);color:var(--gold-2);text-shadow:0 1px 12px rgba(5,9,15,.9)}
#faq .fq-cap{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px}
#faq .fq-cap__t{display:block;overflow:hidden;padding-bottom:.08em;max-width:100%}
#faq .fq-cap__t b{display:inline-block;font-family:var(--serif);font-weight:600;font-style:italic;font-size:clamp(1.4rem,2.3vw,2.25rem);line-height:1.08;letter-spacing:-.01em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 14px rgba(5,9,15,.85))}
#faq .fq-cap__t b:empty{display:none}

/* Canto inferior: menisco de oro y gotas lentas (se mueven con el tiempo, nunca con el puntero) */
#faq .fq-lip{position:absolute;left:14%;right:14%;bottom:28px;height:3px;border-radius:3px;z-index:5;pointer-events:none;
  background:linear-gradient(90deg,transparent,#D8A646 18%,#F7E2A8 50%,#D8A646 82%,transparent);
  box-shadow:0 0 14px rgba(244,213,138,.55),0 0 2px rgba(244,213,138,.9)}
#faq .fq-lip i{position:absolute;top:0;width:8px;height:12px;margin-left:-4px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;
  background:radial-gradient(circle at 40% 35%,#FFF6D8,#E9BF62 45%,#8F6520);box-shadow:0 0 12px rgba(244,213,138,.75),0 0 3px rgba(255,246,216,.9);
  transform-origin:50% 0;opacity:0}
#faq .fq-lip i:nth-child(1){left:22%}
#faq .fq-lip i:nth-child(2){left:58%}
#faq .fq-lip i:nth-child(3){left:81%}
#faq.fq--live .fq-lip i{animation:fqDrip 8.4s cubic-bezier(.55,0,.75,.2) infinite}
#faq.fq--live .fq-lip i:nth-child(2){animation-delay:-3.1s;animation-duration:9.6s}
#faq.fq--live .fq-lip i:nth-child(3){animation-delay:-6.2s;animation-duration:11.2s}
@keyframes fqDrip{
  0%{opacity:0;transform:translateY(-2px) scale(.4,.3)}
  12%{opacity:1;transform:translateY(0) scale(.8,.7)}
  62%{opacity:1;transform:translateY(1px) scale(1,1.5)}
  72%{opacity:1;transform:translateY(4px) scale(.9,1.2)}
  92%{opacity:0;transform:translateY(40px) scale(.7,1.1)}
  100%{opacity:0;transform:translateY(40px) scale(.7,1.1)}}

/* ---------- Acordeón ---------- */
#faq .fq-list{position:relative;counter-reset:fq}
#faq .fq-acc{position:relative;scroll-margin-top:calc(var(--nav-h) + 12px)}
#faq .fq-acc:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold-grad);
  transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
#faq .fq-acc[open]:before{transform:scaleX(1)}
#faq .fq-sum{justify-content:flex-start;gap:clamp(14px,1.8vw,26px);min-height:56px;padding-block:clamp(20px,2.2vw,28px);-webkit-tap-highlight-color:transparent}
#faq .fq-sum:after{margin-left:auto;width:44px;height:44px}
#faq .fq-n{flex:none;width:2.4em;font-size:.82rem;letter-spacing:.12em;color:var(--gold-2);opacity:.75;transition:opacity .4s}
#faq .fq-q{flex:1 1 auto;min-width:0;text-wrap:pretty}
#faq .fq-acc[open] .fq-n{opacity:1}
@media (hover:hover) and (pointer:fine){
  #faq .fq-sum:hover .fq-n{opacity:1}
  #faq .fq-sum:hover .fq-q{color:var(--gold-2)}
}
#faq .fq-sum:focus-visible{outline-offset:-2px}
#faq .fq-a{padding-left:calc(.82rem*2.4 + clamp(14px,1.8vw,26px));padding-right:58px;max-width:none}
#faq .fq-a p{margin:0;max-width:60ch;font-size:clamp(1rem,1.05vw,1.08rem);line-height:1.7;color:var(--cream-2)}
#faq.fq--live .fq-a{overflow:hidden}

/* ---------- Escritorio: split con panel fijo ---------- */
@media (min-width:900px){
  #faq .fq-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"head head" "panel list";
    grid-template-rows:auto 1fr;column-gap:clamp(48px,5vw,96px);row-gap:clamp(36px,4vw,60px)}
  #faq .fq-head{grid-area:head}
  #faq .fq-title{max-width:none;font-size:calc(var(--fs-h2) * .8)}
  /* El panel llena el alto útil de la pantalla (4:5) y se pega a su columna, junto al acordeón */
  #faq .fq-panel{grid-area:panel;align-self:start;justify-self:end;position:sticky;top:calc(var(--nav-h) + 24px);
    width:min(100%,max(320px,calc((100svh - var(--nav-h) - 84px) * .8)));padding-bottom:30px}
  #faq .fq-frame{aspect-ratio:4/5}
  #faq .fq-img,#faq .fq-video{object-position:50% 30%}
  #faq .fq-list{grid-area:list;align-self:start}
  #faq .fq-lip{bottom:30px}
}
@media (min-width:1100px){#faq .fq-list{margin-right:40px}}

/* ---------- Celular ---------- */
@media (max-width:899px){
  #faq .fq-title{max-width:none}
  #faq .fq-panel{padding-bottom:22px}
  /* marco vertical: la asesora se ve completa; el rótulo va DEBAJO de la imagen, nunca encima */
  #faq .fq-frame{aspect-ratio:auto;display:flex;flex-direction:column;width:min(100%,calc(58svh * .8));margin-inline:auto;background:var(--ink-3)}
  #faq .fq-zoom{position:relative;inset:auto;flex:none;width:100%;aspect-ratio:4/5;overflow:hidden}
  #faq .fq-img,#faq .fq-video{object-position:50% 30%}
  #faq .fq-shade{display:none}
  #faq .fq-cap{position:relative;left:auto;right:auto;bottom:auto;z-index:3;padding:14px 16px 16px;background:var(--ink-3)}
  #faq .fq-cap__k,#faq .fq-cap__t b{text-shadow:none;filter:none}
  #faq .fq-lip{bottom:22px}
  #faq .fq-cap__t b{font-size:1.3rem}
  #faq .fq-sum{gap:12px;padding-block:18px;font-size:1.18rem}
  #faq .fq-sum:after{width:40px;height:40px}
  #faq .fq-n{width:2.2em;font-size:.78rem}
  #faq .fq-a{padding-left:calc(.78rem*2.2 + 12px);padding-right:0}
  #faq .fq-a p{font-size:1rem}
}

/* ---------- Respaldo: movimiento reducido / gama baja ---------- */
html.reduce #faq .fq-lip i,#faq.fq--low .fq-lip i{animation:none!important;opacity:0}
html.reduce #faq .fq-sweep,#faq.fq--low .fq-sweep,html.reduce #faq .fq-wash,#faq.fq--low .fq-wash{display:none}
html.reduce #faq .fq-acc:before{transition:none}

/* Celular: entrada más pegada a «¿Por qué FITAL?» */
@media (max-width:767px){#faq{padding-top:var(--s-8,56px)}}
