/**
 * XGene Stage 7 — Enterprise Discovery + Semantic Motion System.
 * Loaded last. Protects accepted page families while adding full-width FAQ,
 * topic-aware motion, grouped Navigator/search discovery, and Stage 7 polish.
 */
:root{
  --xg120-navy:#082b49;--xg120-blue:#125df5;--xg120-cyan:#23b9d3;--xg120-teal:#0aa6a6;
  --xg120-lime:#84cc16;--xg120-coral:#ff7a3d;--xg120-line:#d7e5ee;--xg120-soft:#f3f8fb;
  --xg120-shadow:0 1.35rem 3.5rem rgba(8,43,73,.11);--xg120-motion-speed:2.8s;
}

/* ----------------------------------------------------------------------
   GLOBAL SEMANTIC MOTION CONTRACT
   ---------------------------------------------------------------------- */
[data-xg-semantic-family]{--xg120-motion-speed:2.8s}
[data-xg-semantic-family="service"]{--xg120-motion-speed:2.35s}
[data-xg-semantic-family="regulatory-record"]{--xg120-motion-speed:2.5s}
[data-xg-semantic-family="video"]{--xg120-motion-speed:1.95s}
[data-xg-semantic-family="podcast"]{--xg120-motion-speed:1.75s}
[data-xg-semantic-family="faq"]{--xg120-motion-speed:2.15s}
[data-xg-semantic-family="methodology"]{--xg120-motion-speed:2.4s}
[data-xg-semantic-family="booking"],[data-xg-semantic-family="contact"]{--xg120-motion-speed:2.05s}
.xg120-motion-bound{isolation:isolate}
.xg120-motion-bound svg path{vector-effect:non-scaling-stroke}

/* ----------------------------------------------------------------------
   FAQ — true full-width singular/archive family.
   ---------------------------------------------------------------------- */
body.single-xg-faq .site-content>.ast-container,
body.post-type-archive-xg-faq .site-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 .site-main,body.post-type-archive-xg-faq .site-main{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
.xg120-faq{background:#fff;color:var(--xg120-navy)}
.xg120-faq-hero{
  position:relative;width:100vw;margin:0 calc(50% - 50vw);padding:clamp(3rem,5.5vw,5.8rem) 0;
  overflow:hidden;background:linear-gradient(122deg,#062947 0%,#0a4368 51%,#078181 100%);color:#fff;
}
.xg120-faq-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:2.8rem 2.8rem;mask-image:linear-gradient(to right,#000 0%,#000 72%,transparent 100%)}
.xg120-faq-hero:after{content:"";position:absolute;right:-12rem;bottom:-15rem;width:39rem;height:39rem;border:1px solid rgba(151,239,235,.13);border-radius:50%;box-shadow:0 0 0 6.5rem rgba(255,255,255,.018)}
.xg120-faq-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(27rem,.95fr);gap:clamp(2.4rem,5vw,5.6rem);align-items:center;width:min(100% - 2.5rem,88rem)!important;max-width:88rem!important;margin-inline:auto!important}
.xg120-faq-hero__copy{min-width:0}
.xg120-faq-hero .xg-eyebrow{color:#9feff0!important}
.xg120-faq-hero h1{max-width:15ch!important;margin:.14em 0 .33em!important;color:#fff!important;font-size:clamp(2.9rem,5.1vw,5.35rem)!important;line-height:.96!important;letter-spacing:-.054em!important;text-wrap:balance}
.xg120-faq-hero__lead{max-width:48rem;margin:0 0 1.35rem!important;color:rgba(255,255,255,.84)!important;font-size:clamp(1rem,1.22vw,1.18rem)!important;line-height:1.68!important}
.xg120-faq-hero__visual{min-width:0;width:100%;max-width:34rem;margin-inline:auto}

/* Topic-aware semantic pathway visual. */
.xg120-semantic-motion{position:relative;width:100%;min-height:27rem;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:1.65rem;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045));box-shadow:0 2rem 4.5rem rgba(0,20,42,.27);transform:translateZ(0)}
.xg120-semantic-motion:before{content:"";position:absolute;inset:12%;border:1px dashed rgba(153,239,240,.18);border-radius:42% 58% 48% 52%;animation:xg120-breathe calc(var(--xg120-motion-speed) * 1.45) ease-in-out infinite alternate}
.xg120-semantic-motion__path{position:absolute;inset:5%;width:90%;height:90%;overflow:hidden!important}
.xg120-semantic-motion__line{fill:none;stroke:url(#xg120PathGradient);stroke-width:2.2;stroke-linecap:round;opacity:.7;stroke-dasharray:9 11;animation:xg120-flow var(--xg120-motion-speed) linear infinite}
.xg120-semantic-motion__line--b{animation-direction:reverse;opacity:.48}
.xg120-semantic-motion__signal{fill:#fff;filter:drop-shadow(0 0 7px rgba(119,239,238,.9));animation:xg120-signal calc(var(--xg120-motion-speed) * .72) ease-in-out infinite alternate}
.xg120-semantic-motion__signal--2{fill:var(--xg120-lime);animation-delay:-.7s}.xg120-semantic-motion__signal--3{fill:var(--xg120-coral);animation-delay:-1.25s}
.xg120-semantic-motion__core{position:absolute;left:50%;top:52%;z-index:4;display:grid;place-items:center;width:9.1rem;height:9.1rem;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 32% 25%,#2789ff 0,#125df5 33%,#0c8ba1 100%);box-shadow:0 0 0 .9rem rgba(255,255,255,.045),0 1rem 2.8rem rgba(0,18,46,.28);text-align:center;color:#fff;animation:xg120-core calc(var(--xg120-motion-speed) * 1.15) ease-in-out infinite alternate}
.xg120-semantic-motion__core small{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;opacity:.77}.xg120-semantic-motion__core strong{font-size:1.2rem;line-height:1.05}.xg120-semantic-motion__core span{max-width:7.3rem;font-size:.52rem;line-height:1.3;opacity:.8}
.xg120-semantic-motion__node{position:absolute;z-index:5;min-width:8.4rem;max-width:9.2rem;padding:.68rem .8rem;border-top:3px solid var(--xg120-blue);border-radius:.85rem;background:#fff;color:var(--xg120-navy);box-shadow:0 .8rem 1.9rem rgba(0,20,43,.23);animation:xg120-node calc(var(--xg120-motion-speed) * 1.05) ease-in-out infinite alternate}
.xg120-semantic-motion__node b{display:block;margin-bottom:.15rem;color:var(--xg120-teal);font-size:.59rem;letter-spacing:.09em}.xg120-semantic-motion__node span{font-size:.88rem;font-weight:900}
.xg120-semantic-motion__node--1{left:5%;top:11%}.xg120-semantic-motion__node--2{right:5%;top:13%;border-top-color:var(--xg120-teal);animation-delay:-.45s}.xg120-semantic-motion__node--3{right:6%;bottom:11%;border-top-color:var(--xg120-lime);animation-delay:-.95s}.xg120-semantic-motion__node--4{left:5%;bottom:13%;border-top-color:var(--xg120-coral);animation-delay:-1.3s}
.xg120-semantic-motion__chips{position:absolute;left:50%;bottom:1.05rem;z-index:6;display:flex;gap:.38rem;transform:translateX(-50%)}
.xg120-semantic-motion__chips i{padding:.27rem .48rem;border:1px solid rgba(255,255,255,.19);border-radius:99rem;background:rgba(5,38,64,.38);color:rgba(255,255,255,.76);font-size:.49rem;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
@keyframes xg120-flow{to{stroke-dashoffset:-40}}
@keyframes xg120-signal{from{opacity:.58;transform:scale(.78)}to{opacity:1;transform:scale(1.35)}}
@keyframes xg120-core{from{transform:translate(-50%,-50%) scale(.96)}to{transform:translate(-50%,-50%) scale(1.035)}}
@keyframes xg120-node{from{transform:translateY(-4px)}to{transform:translateY(5px)}}
@keyframes xg120-breathe{from{transform:scale(.97) rotate(-2deg)}to{transform:scale(1.035) rotate(2deg)}}

.xg120-faq-answer{padding:clamp(3.2rem,6vw,6.2rem) 0;background:linear-gradient(180deg,#fff,#f8fbfd)}
.xg120-faq-answer__layout{display:grid;grid-template-columns:minmax(14rem,18rem) minmax(0,48rem);gap:clamp(2rem,5vw,5rem);justify-content:center;align-items:start}
.xg120-faq-answer__rail{position:sticky;top:8.5rem;padding:1.25rem;border:1px solid var(--xg120-line);border-radius:1.1rem;background:linear-gradient(150deg,#f3f9fc,#fff8f2);box-shadow:var(--xg120-shadow)}
.xg120-faq-answer__rail>div{display:grid;grid-template-columns:2rem 1fr;gap:.06rem .65rem;padding:.76rem 0;border-bottom:1px solid #e4edf3}.xg120-faq-answer__rail>div span{grid-row:1/3;display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:#eaf4ff;color:var(--xg120-blue);font-size:.62rem;font-weight:900}.xg120-faq-answer__rail strong{font-size:.85rem}.xg120-faq-answer__rail small{color:#64788b;line-height:1.45}.xg120-faq-answer__rail>a{display:inline-block;margin-top:1rem;color:var(--xg120-teal);font-weight:850;text-decoration:none}
.xg120-faq-answer__content{padding:clamp(1.8rem,3.3vw,3rem);border:1px solid var(--xg120-line);border-radius:1.2rem;background:#fff;box-shadow:var(--xg120-shadow);color:#29475f;font-size:1.08rem;line-height:1.8}.xg120-faq-answer__content>*:first-child{margin-top:0}.xg120-faq-answer__content h2{font-size:clamp(1.8rem,2.5vw,2.5rem)}
.xg120-faq-section{padding:clamp(3.2rem,6vw,6.5rem) 0}.xg120-faq-section--discovery{background:#edf6fa}.xg120-faq-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.7fr);gap:2rem;align-items:end;margin-bottom:2rem}.xg120-faq-heading h2{max-width:18ch;font-size:clamp(2.25rem,4vw,4rem);line-height:1}.xg120-faq-heading>p{color:#61768a;line-height:1.65}
.xg120-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.xg120-faq-card{display:flex;flex-direction:column;min-height:17rem;padding:1.25rem;border:1px solid var(--xg120-line);border-top:3px solid var(--xg120-teal);border-radius:1rem;background:#fff;box-shadow:0 .8rem 2.3rem rgba(8,43,73,.07)}.xg120-faq-card>span{color:var(--xg120-teal);font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.xg120-faq-card h3{font-size:1.1rem;line-height:1.25}.xg120-faq-card h3 a{color:var(--xg120-navy);text-decoration:none}.xg120-faq-card p{color:#607589;line-height:1.55}.xg120-faq-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:1rem;border-top:1px solid #e5edf2}.xg120-faq-card__footer>a{color:var(--xg120-blue);font-weight:850;text-decoration:none}

/* ----------------------------------------------------------------------
   Enterprise search + Navigator grouping.
   ---------------------------------------------------------------------- */
.xg-navigator__panel{max-width:min(66rem,calc(100vw - 2rem))!important}
.xg-navigator__results{max-height:min(52vh,32rem);overflow:auto;padding-right:.15rem}
.xg120-nav-group{margin-top:1rem}.xg120-nav-group__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.48rem .15rem;border-bottom:1px solid #e3ebf1}.xg120-nav-group__head strong{color:var(--xg120-navy);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.xg120-nav-group__head span{color:#718497;font-size:.68rem}.xg120-nav-group .xg-navigator-result{margin-top:.42rem}.xg-navigator-result__why{display:block;margin-top:.2rem;color:var(--xg120-teal)!important;font-size:.62rem!important;font-weight:800}
.xg120-nav-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid #e3ebf1}.xg120-nav-footer a{color:var(--xg120-blue);font-weight:850;text-decoration:none}

.xg120-search-page{background:#f6fafc;color:var(--xg120-navy)}
.xg120-search-hero{position:relative;overflow:hidden;padding:clamp(3rem,5vw,5rem) 0;background:linear-gradient(120deg,#062947,#0a4267 58%,#078183);color:#fff}.xg120-search-hero:after{content:"";position:absolute;right:-9rem;bottom:-14rem;width:36rem;height:36rem;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 5rem rgba(255,255,255,.02)}.xg120-search-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(24rem,.75fr);gap:3rem;align-items:center}.xg120-search-hero h1{color:#fff!important;font-size:clamp(3rem,5vw,5rem)!important;line-height:.96!important;letter-spacing:-.05em!important}.xg120-search-hero p{color:rgba(255,255,255,.8)}
.xg120-search-form{padding:1rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.xg120-search-form label{display:block;margin-bottom:.45rem;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.xg120-search-form>div{display:flex}.xg120-search-form input{min-width:0;flex:1;padding:.9rem 1rem;border:0;border-radius:.65rem 0 0 .65rem}.xg120-search-form button{padding:.9rem 1.35rem;border:0;border-radius:0 .65rem .65rem 0;background:var(--xg120-coral);font-weight:900}.xg120-search-form small{display:block;margin-top:.48rem;color:rgba(255,255,255,.7)}
.xg120-search-main{padding:clamp(3rem,6vw,6rem) 0}.xg120-search-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.xg120-search-toolbar__chips{display:flex;flex-wrap:wrap;gap:.5rem}.xg120-search-toolbar__chips button{padding:.58rem .8rem;border:1px solid #d5e2eb;border-radius:99rem;background:#fff;color:var(--xg120-navy);font-weight:800}.xg120-search-toolbar__chips button.is-active{border-color:var(--xg120-blue);background:#edf4ff;color:#0a53d4}.xg120-search-status{color:#667b8d}.xg120-search-groups{display:grid;gap:2rem}.xg120-search-group{padding:1.35rem;border:1px solid var(--xg120-line);border-radius:1.2rem;background:#fff;box-shadow:var(--xg120-shadow)}.xg120-search-group__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.xg120-search-group__head h2{margin:0;font-size:clamp(1.55rem,2.6vw,2.35rem)}.xg120-search-group__head p{margin:0;color:#6c8194}.xg120-search-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.xg120-search-card{display:flex;flex-direction:column;min-height:14rem;padding:1rem;border:1px solid #dce7ee;border-radius:.9rem;background:linear-gradient(160deg,#fff,#f9fcfd)}.xg120-search-card__type{color:var(--xg120-teal);font-size:.6rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.xg120-search-card strong{margin:.45rem 0;color:var(--xg120-navy);font-size:1rem;line-height:1.22}.xg120-search-card__title{color:inherit;text-decoration:none}.xg120-search-card__title:hover,.xg120-search-card__title:focus-visible{text-decoration:underline;text-underline-offset:.14em}.xg120-search-card p{color:#63788a;font-size:.84rem;line-height:1.5}.xg120-search-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:.7rem}.xg120-search-card__why{color:var(--xg120-blue);font-size:.69rem;font-weight:800;text-decoration:none}.xg120-search-card__save{flex:0 0 auto}.xg120-search-fallback.is-hidden{display:none!important}

@media(max-width:1050px){
  .xg120-faq-hero__grid,.xg120-search-hero__grid{grid-template-columns:1fr}.xg120-faq-hero__copy h1{max-width:20ch!important}.xg120-faq-hero__visual{margin-inline:0}.xg120-faq-answer__layout{grid-template-columns:1fr}.xg120-faq-answer__rail{position:relative;top:auto}.xg120-faq-grid,.xg120-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .xg120-faq-hero__grid{width:min(100% - 1.5rem,88rem)!important}.xg120-faq-hero h1{max-width:none!important;font-size:clamp(2.35rem,11vw,3.8rem)!important}.xg120-semantic-motion{min-height:23rem}.xg120-semantic-motion__node{min-width:6.6rem;max-width:7.2rem;padding:.55rem}.xg120-semantic-motion__node span{font-size:.75rem}.xg120-semantic-motion__core{width:7.7rem;height:7.7rem}.xg120-semantic-motion__chips{display:none}.xg120-faq-grid,.xg120-search-grid{grid-template-columns:1fr}.xg120-faq-heading{grid-template-columns:1fr}.xg120-search-hero__grid{gap:1.5rem}.xg120-search-form>div{display:grid}.xg120-search-form input,.xg120-search-form button{border-radius:.65rem}.xg120-search-form button{margin-top:.45rem}.xg120-nav-footer{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .xg120-semantic-motion:before,.xg120-semantic-motion__line,.xg120-semantic-motion__signal,.xg120-semantic-motion__core,.xg120-semantic-motion__node{animation:none!important}
}
