/* Centauri: motion follows the reading, all content remains visible by default. */
:root { --cp-motion-ease:cubic-bezier(.2,.75,.2,1); }
.cp-motion-ready :is(.si-section.si-revealed,.sm-section.sm-revealed) { animation:none; }
.cp-motion-ready :is(.si-pending,.sm-pending) { opacity:1; transform:none; }
.cp-motion-ready :is(.si-head,.sm-head) { perspective:1200px; }
.cp-motion-ready :is(.si-head,.sm-head) .cp-heading-rule { width:70px; height:2px; margin:0 0 22px; display:block; background:linear-gradient(90deg,#315cf6,#72dfea); transform-origin:left; }
.cp-stage-entered { --cp-stage-progress:0; }
.cp-stage-entered :is(.si-blueprint__lines,.sm-shelf__rail) { filter:drop-shadow(0 0 8px #7299ff40); }
.cp-photo-drift { overflow:hidden; }
.cp-photo-drift img { translate:0 var(--cp-photo-offset,0px); scale:1.045; }
.cp-motion-ready :is(.si-btn,.sm-btn) { transition:translate .35s var(--cp-motion-ease),box-shadow .35s,border-color .35s,background-color .35s; }
.cp-motion-ready :is(.si-btn,.sm-btn) > i { transition:transform .5s var(--cp-motion-ease),background .35s; }
@media (hover:hover) and (pointer:fine) {
  .cp-motion-ready :is(.si-btn,.sm-btn):hover { translate:0 -3px; box-shadow:0 14px 34px -16px #557cff80; }
  .cp-motion-ready :is(.si-btn,.sm-btn):hover > i { transform:translate(2px,-2px) rotate(4deg); }
  .cp-motion-ready :is(.si-text-link,.sm-text-link):hover > span { transform:translate(3px,-2px); }
}
.cp-motion-ready :is(a,button,summary):focus-visible { outline:2px solid #79d9ff; outline-offset:5px; }

/* FAQ: a reading desk with a persistent question map and a useful next step. */
.cp-faq-experience { overflow:visible!important; background:radial-gradient(ellipse at 12% 24%,#18336755,transparent 48%),#040b19!important; }
.cp-faq-experience :is(.si-faq__layout,.sm-faq__layout) { align-items:start; gap:clamp(32px,5.2vw,78px); grid-template-columns:minmax(260px,.37fr) minmax(0,.63fr); }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) { position:sticky; top:120px; align-self:start; height:auto; overflow:hidden; border:1px solid #7696d12e; border-radius:24px; background:linear-gradient(140deg,#142747dd,#08152c); box-shadow:0 25px 70px -35px #000; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header { padding:24px 25px 18px; border-bottom:1px solid #bdd0fb18; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header>span { font-size:10px; letter-spacing:.12em; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header p { margin:0; line-height:1; }
.cp-faq-experience [data-faq-current] { font-size:38px; font-weight:500; letter-spacing:-.05em; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header small { font-size:11px; margin-left:6px; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav { padding:15px; display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button { min-height:61px; padding:10px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; border:1px solid #b0c6f318; border-radius:11px; transition:background .3s,border-color .3s,translate .3s; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button b { font-size:11px; line-height:1.3; font-weight:600; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button span { font-size:9px; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button.is-active { border-color:#7296ff66; background:#4166e52e; color:#fff; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>footer { padding:15px 25px; }
.cp-faq-experience :is(.si-faq__map,.sm-faq__map)>footer>p { font-size:10px; }
.cp-faq-insight { margin:0 15px 16px; padding:22px 18px; position:relative; border:1px solid #93b6ff30; border-radius:15px; background:linear-gradient(135deg,#2f53b321,#68c9e809); }
.cp-faq-insight__label { color:#8dacf8; font:600 9px/1.4 'IBM Plex Mono',monospace; letter-spacing:.09em; }
.cp-faq-insight__title { display:block; margin-top:10px; color:#f1f6ff; font:500 24px/1.08 'Newsreader',Georgia,serif; letter-spacing:-.025em; }
.cp-faq-insight__text { margin-top:12px!important; color:#c3d1e4; font-size:12px; line-height:1.65; }
.cp-faq-insight a { margin-top:17px; display:flex; justify-content:space-between; gap:10px; color:#b9deff!important; font-size:11px; font-weight:700; text-decoration:none; }
.cp-faq-insight__track { height:2px; margin-top:20px; overflow:hidden; background:#88ace41d; }
.cp-faq-insight__track i { display:block; width:100%; height:100%; transform:scaleX(var(--cp-faq-progress,.083)); transform-origin:left; transition:transform .6s var(--cp-motion-ease); background:linear-gradient(90deg,#557dff,#8ee4ed); }
.cp-faq-experience :is(.si-faq__items,.sm-faq__items) { border:0; display:grid; gap:10px; }
.cp-faq-experience details { position:relative; border:1px solid #a4c2f21c; border-radius:17px; background:#07152b99; transition:border-color .35s,background .35s,box-shadow .35s; overflow:clip; }
.cp-faq-experience details[open] { background:linear-gradient(130deg,#153264b0,#07162ddd); border-color:#739bf560; box-shadow:inset 3px 0 #79ccf7,0 20px 42px -32px #000; }
.cp-faq-experience details:focus-within { outline:2px solid #79d9ff; outline-offset:3px; }
.cp-faq-experience summary:focus-visible { outline-offset:-5px; border-radius:15px; }
.cp-faq-experience details summary { min-height:90px; padding:22px 23px; gap:16px; grid-template-columns:32px minmax(0,1fr) 32px; }
.cp-faq-experience details summary>b { font-size:15px; line-height:1.5; font-weight:600; }
.cp-faq-experience details summary>span { font-size:10px; color:#91aeff; }
.cp-faq-experience details summary>i { transition:background .4s,rotate .4s; background:#6e91e509; }
.cp-faq-experience details[open] summary>i { background:#78a1ff25; border-color:#86a9ff55; }
.cp-faq-experience details>div { display:block!important; opacity:1!important; grid-template-rows:none!important; padding:0 63px 26px 71px; }
.cp-faq-experience details>div>p,.cp-faq-experience details[open]>div>p { padding:0!important; overflow:visible; font-size:14px; line-height:1.8; color:#ccd8eb; }
.cp-faq-experience details>div>p+p { margin-top:13px!important; }
.cp-faq-experience details:not([open])>div { display:none!important; }
@media (hover:hover) {
 .cp-faq-experience details:hover { border-color:#7296ff60; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button:hover { translate:0 -2px; border-color:#84a8ee66; background:#3c5ab625; }
}
@media (max-width:980px) {
 .cp-faq-experience :is(.si-faq__layout,.sm-faq__layout) { grid-template-columns:250px minmax(0,1fr); gap:22px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) { top:105px; }
 .cp-faq-experience details summary { padding:20px 17px; gap:9px; grid-template-columns:24px minmax(0,1fr) 30px; }
 .cp-faq-experience details>div { padding:0 22px 24px 50px; }
}
@media (min-width:721px) and (max-height:760px) {
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) { max-height:calc(100svh - 136px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#5b79ae transparent; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header { padding:15px 20px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav { padding:10px; gap:5px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button { min-height:49px; padding:8px; gap:4px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map)>footer { display:none; }
 .cp-faq-insight { margin:0 10px 10px; padding:15px; }
 .cp-faq-insight__title { font-size:21px; margin-top:6px; }
 .cp-faq-insight__text { margin-top:8px!important; }
 .cp-faq-insight a { margin-top:11px; }
 .cp-faq-insight__track { margin-top:13px; }
}
@media (max-width:720px) {
 .cp-faq-experience :is(.si-faq__layout,.sm-faq__layout) { grid-template-columns:1fr; gap:22px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) { position:relative; top:auto; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map)>header { padding:17px 20px; }
 .cp-faq-experience [data-faq-current] { font-size:28px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav { grid-template-columns:repeat(3,minmax(0,1fr)); padding:10px; gap:5px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button { min-height:64px; padding:9px; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map) nav button b { font-size:10px; }
 .cp-faq-insight { display:none; }
 .cp-faq-experience :is(.si-faq__map,.sm-faq__map)>footer { display:none; }
 .cp-faq-experience details summary { min-height:86px; padding:18px 15px; gap:9px; grid-template-columns:23px minmax(0,1fr) 28px; }
 .cp-faq-experience details summary>b { font-size:13px; }
 .cp-faq-experience details>div { padding:0 19px 23px 47px; }
 .cp-faq-experience details>div>p { font-size:13px; line-height:1.75; }
 .cp-photo-drift img { translate:none; scale:1; }
}
@media (prefers-reduced-motion:reduce) {
 .cp-motion-ready *, .cp-motion-ready *::before, .cp-motion-ready *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
 .cp-photo-drift img { translate:none!important; scale:1!important; }
}
