/* Homepage FAQ and Insights design, adapted to the existing interior markup.
 * Opt-in only: Technology, Process and Card Game Development. Home remains the
 * visual reference; other services and WordPress do not load this stylesheet.
 * Existing native details and Bootstrap disclosure behavior stay unchanged.
 */
:is(.ct-page,.process-partnership,.cs-interior-content) .cs-consistent-faq {
  --ci-title:#edf2f9; --ci-copy:#cbd5e4; --ci-line:#2d3b51;
  background:#0b111d!important; color:#edf2f9;
  border-block:1px solid #242e41; padding-block:80px!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.cs-consistent-faq :is(.ct-faq-layout,.partner-faq-layout),
.cs-interior-card .cs-consistent-faq>.container {
  display:block; width:min(1040px,calc(100% - 48px))!important;
  max-width:1040px!important; margin-inline:auto; padding-inline:0!important;
}
.cs-consistent-faq .cs-faq-heading,
.cs-interior-card .cs-consistent-faq .heading {
  max-width:760px; margin:0 auto 32px!important; text-align:center!important;
}
.cs-consistent-faq .cs-faq-heading h2,
.cs-interior-card .cs-consistent-faq .game-h1 {
  color:#edf2f9!important; font-size:clamp(30px,3.3vw,44px)!important;
  font-weight:650; line-height:1.25!important; letter-spacing:-.018em;
  text-wrap:balance;
}
.cs-consistent-faq .cs-faq-heading>p:not(.partner-eyebrow) { margin:16px auto 0!important; max-width:56ch; color:#cbd5e4!important; }
.cs-consistent-faq .cs-faq-heading :is(.partner-eyebrow,.ct-eyebrow) { color:#99ceff!important; font-size:13px!important; letter-spacing:.7px; }
.cs-consistent-faq .cs-faq-heading>a { margin-top:16px; font-size:16px; }
.cs-consistent-faq .dvdr1 { display:none; }
.cs-consistent-faq :is(.ct-faq-list,.partner-faq-list,.accordion) { width:100%; max-width:none; margin:0; padding:0; }
.cs-interior-card .cs-consistent-faq>.container>.row { margin-inline:0; }
.cs-consistent-faq :is(details,.accordion-item) {
  margin:0 0 12px!important; padding:0!important; background:#111b2b!important;
  border:1px solid #2d3b51!important; border-radius:10px!important; overflow:hidden;
}
.cs-consistent-faq :is(details,.accordion-item):last-child { margin-bottom:0!important; }
.cs-consistent-faq details[open],
.cs-consistent-faq .accordion-item:has(.accordion-button[aria-expanded="true"]) {
  background:#152238!important; border-color:#456184!important;
}
.cs-consistent-faq :is(summary,.accordion-button) {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:20px 24px!important; margin:0;
  gap:20px; color:#edf2f9!important; background:transparent!important;
  font-family:inherit!important; font-size:18px!important; font-weight:600!important;
  line-height:1.5!important; letter-spacing:0; text-align:left; text-transform:none;
  border:0; border-radius:0!important; box-shadow:none!important;
  list-style:none; cursor:pointer;
}
.cs-consistent-faq summary::-webkit-details-marker { display:none; }
.cs-consistent-faq :is(summary,.accordion-button):focus-visible {
  outline:2px solid #92cfff; outline-offset:-4px;
}
.cs-consistent-faq summary svg { width:22px; height:22px; flex:0 0 22px; color:#a7bddc; transition:transform .2s ease; }
.cs-consistent-faq details[open] summary svg { transform:rotate(180deg); color:#8ac5ff; }
.cs-consistent-faq .accordion-button::before { content:none!important; }
.cs-consistent-faq .accordion-button::after {
  content:''!important; position:static!important; display:block; flex:0 0 22px;
  width:22px!important; height:22px!important; margin:0 0 0 auto;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a7bddc' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px 22px no-repeat!important;
  border:0!important; filter:none; transform:none!important; transition:transform .2s ease;
}
.cs-consistent-faq .accordion-button[aria-expanded="true"]::after { transform:rotate(180deg)!important; }
.cs-consistent-faq details>p,
.cs-consistent-faq .accordion-body {
  max-width:78ch; margin:0!important; padding:0 60px 22px 24px!important;
  color:#cbd5e4!important; font-size:17px!important; line-height:1.75!important;
}
.cs-consistent-faq .accordion-body :is(p,li,strong) { color:#cbd5e4!important; font-size:17px!important; line-height:1.75!important; }
.cs-interior-card .cs-consistent-faq .accordion .accordion-collapse { border:0!important; }
.cs-consistent-faq .accordion-body p { margin:0 0 14px; }
.cs-consistent-faq .accordion-body p:last-child { margin-bottom:0; }
.cs-consistent-faq .accordion-body ul { margin:12px 0; }
.cs-consistent-faq .accordion-body a { color:#a5d5ff; text-decoration:underline; }

/* Insights cards follow the homepage's navy surface, 220px image and footer rule.
 * Keep the existing article summaries, which this service page also includes.
 */
.cs-interior-card .cs-consistent-insights {
  background:#0c1420!important; border-block:1px solid #223044;
  padding-block:80px 88px!important;
}
.cs-interior-card .cs-consistent-insights>.container { width:min(1192px,calc(100% - 48px)); max-width:1192px; padding:0!important; }
.cs-interior-card .cs-consistent-insights>.container>.row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.cs-interior-card .cs-consistent-insights .row>.col-12 { width:100%!important; max-width:none!important; flex:initial!important; padding:0; }
.cs-interior-card .cs-consistent-insights .cs-insights-heading { grid-column:1 / -1; padding:0; margin:0 0 16px!important; text-align:left!important; }
.cs-interior-card .cs-consistent-insights .game-h1 { max-width:780px; font-size:clamp(30px,3.3vw,44px)!important; line-height:1.25!important; }
.cs-interior-card .cs-consistent-insights .dvdr1 { display:none; }
.cs-interior-card .cs-consistent-insights .cs-insights-card {
  display:flex; flex-direction:column; height:100%; margin:0!important; padding:0;
  background:#101c2b; border:1px solid #273449; border-radius:14px;
  overflow:hidden; transition:border-color .2s,box-shadow .2s;
}
.cs-interior-card .cs-consistent-insights .cs-insights-card:hover { border-color:#456184; transform:none; }
.cs-interior-card .cs-consistent-insights .cs-insights-card>img {
  display:block; width:100%; height:220px!important; margin:0!important;
  border-radius:0!important; object-fit:cover;
}
.cs-interior-card .cs-consistent-insights .cs-insights-copy { display:flex; flex-direction:column; flex:1; padding:26px; }
.cs-interior-card .cs-consistent-insights .cs-insights-copy :is(.other-h2,.other-p) { padding:0!important; text-align:left!important; }
.cs-interior-card .cs-consistent-insights .other-h2 { font-size:21px!important; font-weight:650!important; color:#edf2f9!important; line-height:1.5!important; margin:0 0 16px; }
.cs-interior-card .cs-consistent-insights .other-p { margin:0 0 26px!important; font-size:17px!important; line-height:1.75!important; color:#cbd5e4!important; }
.cs-interior-card .cs-consistent-insights .cs-insights-link {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-top:auto; padding:20px 0 0!important; border-top:1px solid #2b3a50;
  color:#fff!important; font-size:16px!important; line-height:1.5;
  text-decoration:none!important;
}
.cs-interior-card .cs-consistent-insights .cs-insights-link:hover { text-decoration:underline!important; text-underline-offset:5px; }
@media(max-width:767px) {
  :is(.ct-page,.process-partnership,.cs-interior-content) .cs-consistent-faq { padding-block:48px!important; }
  .cs-consistent-faq :is(.ct-faq-layout,.partner-faq-layout),.cs-interior-card .cs-consistent-faq>.container { width:calc(100% - 36px)!important; }
  .cs-interior-card .cs-consistent-insights { padding-block:48px!important; }
  .cs-interior-card .cs-consistent-insights>.container { width:calc(100% - 36px); }
  .cs-interior-card .cs-consistent-insights>.container>.row { grid-template-columns:1fr; }
  .cs-interior-card .cs-consistent-insights .cs-insights-copy { padding:22px; }
}
@media(max-width:480px) {
  .cs-consistent-faq :is(summary,.accordion-button) { font-size:17px!important; padding:18px!important; gap:14px; }
  .cs-consistent-faq details>p,.cs-consistent-faq .accordion-body { font-size:16px!important; padding:0 18px 20px!important; }
  .cs-consistent-faq .accordion-body :is(p,li,strong) { font-size:16px!important; }
}
@media(prefers-reduced-motion:reduce) {
  .cs-consistent-faq summary svg,.cs-consistent-faq .accordion-button::after,.cs-interior-card .cs-consistent-insights .cs-insights-card { transition:none; }
}
