/**
 * XGene Stage 7.1 — FAQ / Media / Discovery Family Finalization.
 * Loaded after Stage 7. The rules here are deliberately narrow and protect
 * previously accepted Foundation, Editorial, Services, Intelligence and
 * Commercial families.
 */
:root{
  --xg121-navy:#082b49;--xg121-blue:#125df5;--xg121-cyan:#23b9d3;--xg121-teal:#0aa6a6;
  --xg121-lime:#84cc16;--xg121-coral:#ff7a3d;--xg121-line:#d7e5ee;
}

/* -------------------------------------------------------------------------
   FAQ routing/foundation lock: the dedicated FAQ template must render as a
   true enterprise family, not inside Astra's singular content box.
   ------------------------------------------------------------------------- */
body.single-xg-faq .site-content,
body.post-type-archive-xg-faq .site-content,
body.single-xg-faq #content,
body.post-type-archive-xg-faq #content{padding-top:0!important;margin-top:0!important}
body.single-xg-faq .site-content>.ast-container,
body.post-type-archive-xg-faq .site-content>.ast-container,
body.single-xg-faq #content>.ast-container,
body.post-type-archive-xg-faq #content>.ast-container{
  display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.single-xg-faq #primary,body.post-type-archive-xg-faq #primary,
body.single-xg-faq .content-area,body.post-type-archive-xg-faq .content-area,
body.single-xg-faq .site-main,body.post-type-archive-xg-faq .site-main{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body.single-xg-faq .ast-article-single,body.post-type-archive-xg-faq .ast-article-single{margin:0!important;padding:0!important}
.xg120-faq-hero{
  width:100vw!important;max-width:none!important;margin:0 calc(50% - 50vw)!important;
  min-height:clamp(31rem,53vw,44rem);display:flex;align-items:center;
}
.xg120-faq-hero__grid{width:min(100% - 3rem,92rem)!important;max-width:92rem!important;margin-inline:auto!important;grid-template-columns:minmax(0,1.06fr) minmax(31rem,.94fr)!important;gap:clamp(2.5rem,5.5vw,6rem)!important}
.xg120-faq-hero__visual{width:100%!important;max-width:38rem!important;justify-self:end;overflow:visible!important}
.xg120-faq-hero h1{max-width:17ch!important;font-size:clamp(3rem,4.65vw,5.15rem)!important;line-height:.965!important}
.xg120-faq-hero__lead{max-width:50rem!important}

/* -------------------------------------------------------------------------
   Topic-aware FAQ motion. Geometry, labels and pacing reflect the subject.
   ------------------------------------------------------------------------- */
.xg121-topic-motion{
  position:relative;width:100%;min-height:27rem;overflow:hidden;border:1px solid rgba(255,255,255,.24);
  border-radius:1.7rem;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));
  box-shadow:0 2rem 4.5rem rgba(0,20,42,.28);isolation:isolate;
}
.xg121-topic-motion:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(35,185,211,.13),transparent 44%),linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:auto,2.2rem 2.2rem,2.2rem 2.2rem;pointer-events:none}
.xg121-topic-motion__title{position:absolute;left:50%;top:1.3rem;z-index:5;display:grid;min-width:13rem;transform:translateX(-50%);text-align:center;color:#fff}
.xg121-topic-motion__title small{color:#9feff0;font-size:.58rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.xg121-topic-motion__title strong{font-size:1.2rem;line-height:1.15}
.xg121-topic-motion__svg{position:absolute;inset:2.9rem 2% 2%;width:96%;height:calc(100% - 3.3rem);overflow:visible}
.xg121-topic-motion__track{fill:none;stroke:url(#xg121TopicGradient);stroke-width:4;stroke-linecap:round;stroke-dasharray:8 9;opacity:.86;animation:xg121-track 2.15s linear infinite}
.xg121-topic-motion__track--ghost{stroke:#fff;stroke-width:1;stroke-dasharray:1 12;opacity:.28;animation-direction:reverse;animation-duration:3.1s}
.xg121-topic-motion__runner{position:absolute;z-index:7;width:.72rem;height:.72rem;border-radius:50%;background:#9feff0;box-shadow:0 0 0 .35rem rgba(159,239,240,.11),0 0 1.3rem rgba(159,239,240,.9);pointer-events:none;will-change:left,top,transform}
.xg121-topic-motion__runner--2{width:.58rem;height:.58rem;background:var(--xg121-lime);box-shadow:0 0 0 .28rem rgba(132,204,22,.1),0 0 1rem rgba(132,204,22,.72)}
.xg121-topic-motion__nodes{position:absolute;inset:0;z-index:6}
.xg121-topic-node{position:absolute;width:10.6rem;min-height:6.8rem;padding:.78rem .86rem;border:1px solid #dce8ef;border-top:4px solid var(--xg121-blue);border-radius:.92rem;background:#fff;color:var(--xg121-navy);box-shadow:0 .85rem 2rem rgba(0,20,43,.23);animation:xg121-node 2.6s ease-in-out infinite alternate}
.xg121-topic-node b,.xg121-topic-node strong,.xg121-topic-node small{display:block}.xg121-topic-node b{color:var(--xg121-teal);font-size:.6rem;letter-spacing:.1em}.xg121-topic-node strong{margin:.15rem 0;font-size:.9rem;line-height:1.1}.xg121-topic-node small{color:#667d90;font-size:.63rem;line-height:1.35}
.xg121-topic-node--2{border-top-color:var(--xg121-cyan);animation-delay:-.45s}.xg121-topic-node--3{border-top-color:var(--xg121-lime);animation-delay:-.9s}.xg121-topic-node--4{border-top-color:var(--xg121-coral);animation-delay:-1.35s}
/* Default/pathway family. */
.xg121-topic-motion:not(.xg121-topic-motion--pipeline) .xg121-topic-node--1{left:4.5%;top:18%}.xg121-topic-motion:not(.xg121-topic-motion--pipeline) .xg121-topic-node--2{right:4.5%;top:19%}.xg121-topic-motion:not(.xg121-topic-motion--pipeline) .xg121-topic-node--3{right:5%;bottom:8%}.xg121-topic-motion:not(.xg121-topic-motion--pipeline) .xg121-topic-node--4{left:5%;bottom:9%}
/* Consulting engagement is intentionally a process pipeline, not an orbit. */
.xg121-topic-motion--pipeline{min-height:25rem;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(5,53,79,.18))}
.xg121-topic-motion--pipeline .xg121-topic-motion__title{top:1.15rem}
.xg121-topic-motion--pipeline .xg121-topic-node{top:43%;width:8.4rem;min-height:7rem;transform:translateY(-50%)}
.xg121-topic-motion--pipeline .xg121-topic-node--1{left:2.5%}.xg121-topic-motion--pipeline .xg121-topic-node--2{left:27%}.xg121-topic-motion--pipeline .xg121-topic-node--3{left:51.5%}.xg121-topic-motion--pipeline .xg121-topic-node--4{right:2.5%}
.xg121-topic-motion--pipeline:after{content:"Need → clarification → scope → start";position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
/* Data trace emphasizes a defensible record chain. */
.xg121-topic-motion--trace .xg121-topic-node{border-radius:.55rem}.xg121-topic-motion--trace:after{content:"record • metadata • audit trail • control";position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);color:rgba(255,255,255,.68);font-size:.58rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
/* CAPA/quality uses a visible effectiveness loop. */
.xg121-topic-motion--loop .xg121-topic-motion__track{stroke-width:5}.xg121-topic-motion--loop:after{content:"effectiveness returns to the system";position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);color:rgba(255,255,255,.68);font-size:.58rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
/* Investigation and response use more directional movement. */
.xg121-topic-motion--investigation .xg121-topic-motion__track,.xg121-topic-motion--response .xg121-topic-motion__track{stroke-dasharray:13 7}
.xg121-topic-motion--stack .xg121-topic-node--1{left:5%;bottom:8%;top:auto}.xg121-topic-motion--stack .xg121-topic-node--2{left:27%;top:43%}.xg121-topic-motion--stack .xg121-topic-node--3{right:26%;top:25%}.xg121-topic-motion--stack .xg121-topic-node--4{right:4%;top:12%}
.xg121-topic-motion--oversight .xg121-topic-node--1{left:4%;bottom:9%;top:auto}.xg121-topic-motion--oversight .xg121-topic-node--2{left:27%;top:15%}.xg121-topic-motion--oversight .xg121-topic-node--3{right:27%;top:15%}.xg121-topic-motion--oversight .xg121-topic-node--4{right:4%;bottom:9%;top:auto}
.xg121-topic-motion--transfer .xg121-topic-node--1{left:3%;top:43%}.xg121-topic-motion--transfer .xg121-topic-node--2{left:27%;top:21%}.xg121-topic-motion--transfer .xg121-topic-node--3{right:27%;top:21%}.xg121-topic-motion--transfer .xg121-topic-node--4{right:3%;top:43%}
@keyframes xg121-track{to{stroke-dashoffset:-34}}
@keyframes xg121-node{from{margin-top:-.18rem}to{margin-top:.24rem}}

/* FAQ answer hierarchy gets a stronger topic-to-action continuation. */
.xg120-faq-answer{padding:clamp(4rem,6vw,6.5rem) 0!important;background:linear-gradient(180deg,#f2f8fb 0,#fff 72%)!important}
.xg120-faq-answer__layout{grid-template-columns:minmax(15rem,.38fr) minmax(0,1.25fr)!important;gap:clamp(2.5rem,5vw,5.4rem)!important}
.xg120-faq-answer__content{font-size:1.075rem!important;line-height:1.8!important}

/* -------------------------------------------------------------------------
   Media single pages inherit topic semantics from the record itself.
   ------------------------------------------------------------------------- */
.xg111-media--video-detail .xg111-video-screen__bar b,.xg111-media--podcast-detail .xg111-audio-console__head b{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xg111-media--video-detail .xg111-video-play small{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xg111-media--video-detail .xg111-media-chip,.xg111-media--podcast-detail .xg111-media-chip{min-width:8.4rem;max-width:10.8rem}
.xg111-media--video-detail .xg111-media-chip span,.xg111-media--podcast-detail .xg111-media-chip span{line-height:1.28}

/* Discovery remains visually stable but identifies itself as a motion family. */
.xg120-search-page .xg120-search-form{position:relative;overflow:hidden}.xg120-search-page .xg120-search-form:after{content:"SEARCH → COMPARE → CONNECT";display:block;margin-top:.6rem;color:rgba(255,255,255,.58);font-size:.55rem;font-weight:850;letter-spacing:.09em}

@media(max-width:1120px){
  .xg120-faq-hero__grid{grid-template-columns:1fr!important}.xg120-faq-hero__visual{justify-self:start;max-width:40rem!important}.xg120-faq-hero{min-height:auto}.xg121-topic-motion{min-height:25rem}
  .xg120-faq-answer__layout{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .xg120-faq-hero__grid{width:min(100% - 1.5rem,92rem)!important}.xg120-faq-hero h1{font-size:clamp(2.4rem,10.5vw,3.8rem)!important;max-width:none!important}
  .xg121-topic-motion{min-height:30rem}.xg121-topic-motion__title{top:.9rem}.xg121-topic-motion__svg{opacity:.58}
  .xg121-topic-motion__nodes{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;inset:4.6rem .8rem 1rem}.xg121-topic-node,.xg121-topic-motion--pipeline .xg121-topic-node,.xg121-topic-motion--stack .xg121-topic-node,.xg121-topic-motion--oversight .xg121-topic-node,.xg121-topic-motion--transfer .xg121-topic-node{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;min-height:8.1rem!important;transform:none!important;margin:0!important}.xg121-topic-node small{font-size:.61rem}.xg121-topic-motion--pipeline:after,.xg121-topic-motion--trace:after,.xg121-topic-motion--loop:after{display:none}
}
@media(max-width:480px){.xg121-topic-motion__nodes{grid-template-columns:1fr}.xg121-topic-motion{min-height:43rem}}
@media(prefers-reduced-motion:reduce){.xg121-topic-motion__track,.xg121-topic-node{animation:none!important}.xg121-topic-motion__runner{display:none!important}}
