/*
 * Approved Home / About palette for the remaining public website interiors.
 * Loaded explicitly by these pages, never from a shared header. Hero sections,
 * Home, About, WordPress and every service except Card Game Development retain
 * their existing styles. Legacy Bootstrap utilities require scoped overrides.
 */

/* Feature catalogue: quiet navy cards, white titles and clear category breaks. */
.pf-page .pf-catalogue { padding-block:16px 0; }
.pf-page .pf-catalogue .pf-feature-group { padding-block:64px; gap:40px; border-color:#34415a; }
.pf-page .pf-catalogue .pf-feature-group:nth-child(even) {
  background:linear-gradient(110deg,#14203388,transparent 80%);
}
.pf-page .pf-catalogue .pf-group-intro h2 { color:#f5f7fb; font-size:30px; line-height:1.25; }
.pf-page .pf-catalogue .pf-group-intro .pf-eyebrow { color:#99ceff; }
.pf-page .pf-catalogue .pf-group-description { color:#c2ccdc; font-size:17px; line-height:1.8; }
.pf-page .pf-catalogue .pf-feature-grid { border-color:#34415a; gap:20px; }
.pf-page .pf-catalogue .pf-feature-card {
  background:linear-gradient(145deg,#182236,#111927);
  border:1px solid #34415a; border-radius:18px; padding:26px;
}
.pf-page .pf-catalogue .pf-feature-card h3 { color:#f5f7fb; font-size:23px; line-height:1.35; }
.pf-page .pf-catalogue .pf-feature-card p { color:#c2ccdc; font-size:17px; line-height:1.8; }
.pf-page .pf-demo { background:#080b12; padding-block:72px; }
.pf-page .pf-demo-panel { border:1px solid #34415a; border-radius:20px; background:radial-gradient(ellipse at 100% 0,#23426888,transparent 65%),#121e2d; }
.pf-page .pf-demo .pf-button { background:#99ceff; color:#101927; border-color:#99ceff; border-radius:8px; font-weight:650; }

/* Technology retains its architecture and brand assets with the same surfaces. */
.ct-page .ct-section { padding-block:80px; }
.ct-page .ct-systems { background:#101927; }
.ct-page .ct-system-flow { gap:24px; border:0; }
.ct-page .ct-system-flow li { padding:26px; border:1px solid #34415a; border-radius:18px; background:linear-gradient(145deg,#182236,#111927); }
.ct-page .ct-stack { background:#eef3f8; }
.ct-page .ct-stack-group { border-top-color:#99b9d8; }
.ct-page .ct-integrations { background:#080b12; }
.ct-page .ct-integration-list article { border-color:#34415a; }
.ct-page .ct-delivery { background:linear-gradient(120deg,#18283f,#101927); border-color:#34415a; }
.ct-page .ct-section:not(.ct-stack) :is(p,li>p) { color:#c2ccdc; }
.ct-page .ct-section:not(.ct-stack) :is(h2,h3,h4) { color:#f5f7fb; }
.ct-page .ct-section .ct-link { color:#f5f7fb; text-decoration:underline; text-underline-offset:6px; }
.ct-page .ct-stack .ct-link { color:#244b7e; }

/* Process: open, light delivery timeline between navy commercial sections. */
.figma-process-theme .process-partnership .partner-section { padding-block:80px; background:#080b12; }
.figma-process-theme .process-partnership .partner-page-nav { background:#101927; border-color:#34415a; }
.figma-process-theme .process-partnership .partner-option,
.figma-process-theme .process-partnership .partner-option:last-child {
  border:1px solid #34415a; border-radius:18px;
  background:linear-gradient(145deg,#182236,#111927); padding:32px;
}
.figma-process-theme .process-partnership .partner-option .partner-option-art { border-radius:12px; }
.figma-process-theme .process-partnership .partner-section .partner-eyebrow:before,
.figma-process-theme .process-partnership .partner-commitment .partner-eyebrow:before { content:none; }
.figma-process-theme .process-partnership .partner-option .partner-text-link,
.figma-process-theme .process-partnership .partner-option:last-child .partner-text-link,
.figma-process-theme .process-partnership .partner-commitment .partner-button {
  background:#99ceff; color:#101927; border:1px solid #99ceff; border-radius:8px; box-shadow:none;
}
.figma-process-theme .process-partnership .partner-delivery { background:#eef3f8; border-color:#d5deea; }
.figma-process-theme .process-partnership .partner-delivery :is(h2,h3) { color:#172133; }
.figma-process-theme .process-partnership .partner-delivery :is(p,.partner-steps p) { color:#526071; }
.figma-process-theme .process-partnership .partner-delivery :is(.partner-eyebrow,.partner-color-text,.partner-text-link,.partner-outcome) { color:#284e7c; -webkit-text-fill-color:currentColor; background:none; }
.figma-process-theme .process-partnership .partner-delivery .partner-outcome span { color:#526071; }
.figma-process-theme .process-partnership .partner-delivery .partner-step-number { color:#244b7e; background:#eef3f8; border-color:#98aec7; }
.figma-process-theme .process-partnership .partner-delivery .partner-steps li:before { background:#bccbdb; }
.figma-process-theme .process-partnership .partner-delivery .partner-steps li>div { border-color:#cbd6e3; }
.figma-process-theme .process-partnership .partner-pricing { background:#101927; border-color:#34415a; }
.figma-process-theme .process-partnership .partner-formula { background:#18263b; border:1px solid #34415a; border-left:3px solid #99ceff; border-radius:12px; padding:24px; }
.figma-process-theme .process-partnership .partner-examples { border:1px solid #34415a; background:#0b1019; border-radius:18px; }
.figma-process-theme .process-partnership .partner-commitment { padding-block:80px; background:radial-gradient(ellipse at 0 100%,#23426888,transparent 65%),#121e2d; }

/* Referrals and contact locations; the contact form / hero stays intact. */
.referral-page .referral-how { background:#101927; padding-block:72px; border-color:#34415a; }
.referral-page .referral-steps article { border:1px solid #34415a; border-radius:18px; background:linear-gradient(145deg,#182236,#111927); padding:30px; }
.referral-page .referral-how :is(p,li) { color:#c2ccdc; font-size:17px; line-height:1.8; }
.referral-page .referral-how :is(h2,h3) { color:#f5f7fb; }
.referral-page .referral-enquiry { background:#eef3f8; padding-block:80px; }
.referral-page .referral-enquiry h2 { color:#172133; }
.referral-page .referral-enquiry h2 span { color:#284e7c; }
.referral-page .referral-enquiry :is(p,.referral-note) { color:#526071; font-size:17px; line-height:1.8; }
.referral-page .referral-enquiry :is(.contact-eyebrow,.referral-email) { color:#284e7c; }
.referral-page :is(.referral-how,.referral-enquiry) .contact-eyebrow { font-size:13px; }
.referral-page .referral-enquiry .referral-note { border-color:#cbd6e3; }
.referral-page .referral-enquiry .contact-form-card { align-self:center; background:#101927; border:1px solid #34415a; border-radius:18px; box-shadow:none; padding:32px; }
.referral-page .referral-enquiry .contact-form-card :is(h2,h3) { color:#f5f7fb; }
.referral-page .referral-enquiry .contact-form-card p { color:#c2ccdc; }
.referral-page .referral-enquiry .referral-button { background:#99ceff; color:#101927; border:1px solid #99ceff; border-radius:8px; }
.contact-page .contact-offices { background:#0b1019; padding-block:80px; }
.contact-page .contact-offices .contact-office { background:linear-gradient(145deg,#182236,#111927); border:1px solid #34415a; border-radius:18px; padding:32px; }
.contact-page .contact-offices :is(h2,h3) { color:#f5f7fb; }
.contact-page .contact-offices :is(address,.contact-section-heading>p) { color:#c2ccdc; font-size:17px; line-height:1.8; }
.contact-page .contact-offices .contact-office a { color:#f5f7fb; text-decoration:underline; text-underline-offset:6px; }
.contact-page .contact-offices .contact-maps figure { border-radius:18px; border-color:#34415a; overflow:hidden; }

/* Legacy content boundary. Nothing above this wrapper is selected. */
.cs-interior-content {
  --ci-bg:#080b12; --ci-panel:#101927; --ci-line:#34415a;
  --ci-title:#f5f7fb; --ci-copy:#c2ccdc; --ci-accent:#99ceff;
  background:var(--ci-bg); color:var(--ci-copy);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.cs-interior-content *, .cs-interior-content *::before, .cs-interior-content *::after { box-sizing:border-box; }
.cs-interior-content>section { background:var(--ci-bg)!important; padding-block:80px!important; border-bottom:1px solid var(--ci-line); }
.cs-interior-content :is(p,li,address,.text-dark,.text-muted) { color:var(--ci-copy)!important; }
.cs-interior-content :is(p,li,address) { font-size:17px!important; line-height:1.8!important; font-family:inherit!important; }
.cs-interior-content :is(h2,h3,h4,h5,.game-h1,.game-h2,.games-h2,.other-h2) { color:var(--ci-title)!important; font-family:inherit!important; font-weight:650!important; letter-spacing:-.018em; line-height:1.3!important; text-wrap:balance; }
.cs-interior-content :is(h2,.game-h1,.card-new-game-testing-first-section) { font-size:clamp(28px,3vw,42px)!important; text-transform:none; }
.cs-interior-content :is(h3,h4,h5):not(.game-h1),.cs-interior-content :is(.game-h2,.games-h2,.other-h2) { font-size:23px!important; }
.cs-interior-content a { color:var(--ci-accent); }
.cs-interior-content :is(a,button,summary):focus-visible { outline:3px solid var(--ci-accent); outline-offset:5px; }
.cs-interior-content .dvdr1 { background:#99ceff!important; width:48px; height:2px; margin-inline:auto; }
.cs-interior-content :is(.section-box,.cgd-why-card,.company-offer-card,.about-feature-box,.office-card-new) {
  background:linear-gradient(145deg,#182236,#111927); border:1px solid var(--ci-line);
  border-radius:18px; box-shadow:none; height:100%;
}
.cs-interior-content :is(.section-box,.cgd-why-card,.company-offer-card):hover { transform:none; border-color:#6685ab; box-shadow:none; }
.cs-interior-content .wow { animation:none!important; transform:none!important; visibility:visible!important; }

/* Card Game Development: editorial introduction, feature grid and light FAQ. */
.cs-interior-card .heading { margin-bottom:24px!important; }
.cs-interior-card>section:first-child>.container { max-width:960px; }
.cs-interior-card .card-new-game-testing-first-section { max-width:1000px; padding-inline:24px; margin:0 auto 32px; }
.cs-interior-card>section:first-child p { text-align:left!important; margin-bottom:20px; }
.cs-interior-card .first-section { background:#101927!important; }
.cs-interior-card :is(.first-section,.cgd-whychoose-section,.cgd-services-section,.cgd-blogs-section) .row { row-gap:24px; }
.cs-interior-card .first-section .row>[class*='col-'] { padding-inline:12px!important; }
.cs-interior-card :is(.first-section,.cgd-whychoose-section) :is(.section-box,.cgd-why-card) { padding:28px; text-align:left!important; margin-bottom:0!important; }
.cs-interior-card :is(.first-section,.cgd-whychoose-section) :is(.section-box,.cgd-why-card) p { text-align:left!important; }
.cs-interior-card .first-section .section-box>div { padding:0!important; border:0!important; }
.cs-interior-card :is(.first-section,.cgd-whychoose-section) img { width:64px; height:64px; object-fit:contain; margin-bottom:22px!important; }
.cs-interior-card .cgd-whychoose-section .cgd-why-card { background:transparent; border-width:0 0 1px; border-radius:0; }
.cs-interior-card .cgd-whychoose-section .cgd-why-card img.img-fluid { width:76px; max-width:76px; height:76px; padding:12px; background:#eef3f8; border-radius:14px; transform:none; }
.cs-interior-card .cgd-why-card .mt-4 { margin-top:14px!important; }
.cs-interior-card .cgd-services-section { background:#101927!important; }
.cs-interior-card :is(.cgd-services-section,.cgd-blogs-section) .section-box { text-align:left!important; padding:0 0 24px; overflow:hidden; }
.cs-interior-card :is(.cgd-services-section,.cgd-blogs-section) .section-box>img { width:100%; height:220px!important; object-fit:cover; border-radius:0!important; margin:0 0 24px!important; }
.cs-interior-card :is(.cgd-services-section,.cgd-blogs-section) .section-box :is(p,.btn) { text-align:left!important; padding-inline:24px!important; }
.cs-interior-card :is(.cgd-services-section,.cgd-blogs-section) .section-box .btn { margin-top:auto; margin-bottom:0; background:none!important; }
.cs-interior-card :is(.cgd-services-section,.cgd-blogs-section) .section-box a { color:#f5f7fb!important; font-size:16px; text-decoration:underline; text-underline-offset:6px; }
.cs-interior-card .cgd-portfolio-section { background:linear-gradient(130deg,#18283f,#080b12)!important; }
.cs-interior-card .cgd-portfolio-section .item { border:1px solid #34415a; border-radius:18px; overflow:hidden; }

/* Company directory uses the same cards and location treatment as About. */
.cs-interior-company .company-services { background:#101927!important; }
.cs-interior-company :is(.company-offer-card,.about-feature-box) { padding:28px; }
.cs-interior-company .about-feature-box img { width:76px; max-width:76px; height:76px; max-height:76px; padding:12px; background:#eef3f8; border-radius:14px; }
.cs-interior-company .company-offer-card h4 { margin-bottom:16px; }
.cs-interior-company .company-offer-card a { color:#f5f7fb; text-decoration:underline; text-underline-offset:6px; }
.cs-interior-company :is(.office-card-header,.office-card-body) { background:transparent; color:#c2ccdc; border-color:#34415a; }
.cs-interior-company .office-card-header h4 span { color:#99ceff; }

/* Legal reading surfaces: narrow measure and generous line spacing. */
.cs-interior-legal { --ci-copy:#526071; --ci-title:#172133; --ci-accent:#284e7c; --ci-line:#cbd6e3; --ci-bg:#eef3f8; }
.cs-interior-legal>.text-section { padding-block:64px!important; }
.cs-interior-legal .container { max-width:1000px; }
.cs-interior-legal :is(p,li,span) { color:#526071!important; font-family:inherit!important; }
.cs-interior-legal :is(p,li) { margin-bottom:20px!important; }
.cs-interior-legal h3 { margin:40px 0 18px; }
.cs-interior-legal h3 span { color:#172133!important; text-decoration:none!important; }
.cs-interior-legal a { color:#284e7c; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.cs-interior-sitemap .sitemap-list { border:1px solid #34415a; border-radius:18px; overflow:hidden; }
.cs-interior-sitemap .sitemap-list .list-group-item { background:#101927; border:0; border-bottom:1px solid #34415a; border-radius:0; padding:14px 20px; margin:0; }
.cs-interior-sitemap .sitemap-list .list-group-item:last-child { border-bottom:0; }
.cs-interior-sitemap .list-group-item a { color:#e5edf7; }
.cs-interior-sitemap .row { row-gap:24px; }
.cs-interior-sitemap .montserratbold { color:#f5f7fb!important; font-size:24px!important; font-weight:650; }
.cs-interior-confirmation>section { background:radial-gradient(ellipse at 100% 0,#23426888,transparent 65%),#101927!important; }
.cs-interior-confirmation .container { max-width:1000px; }
.cs-interior-confirmation .text-left { border:1px solid #34415a; border-radius:18px; padding:32px; background:#101927; }

@media(max-width:1199px) and (min-width:768px) {
  .cs-interior-card :is(.first-section,.cgd-whychoose-section,.cgd-services-section,.cgd-blogs-section) .row>[class*='col-'] { width:50%; }
}
@media(max-width:767px) {
  .pf-page .pf-catalogue .pf-feature-group { padding-block:44px; gap:24px; }
  .pf-page .pf-catalogue .pf-feature-card { padding:22px 18px; }
  .pf-page .pf-catalogue .pf-feature-card h3 { font-size:21px; }
  .pf-page .pf-demo,.ct-page .ct-section,.figma-process-theme .process-partnership .partner-section,
  .figma-process-theme .process-partnership .partner-commitment,.referral-page .referral-how,
  .referral-page .referral-enquiry,.contact-page .contact-offices { padding-block:48px; }
  .figma-process-theme .process-partnership .partner-option,
  .figma-process-theme .process-partnership .partner-option:last-child,
  .contact-page .contact-offices .contact-office { padding:24px; }
  .cs-interior-content>section { padding-block:48px!important; }
  .cs-interior-content :is(p,li,address) { font-size:16px!important; line-height:1.75!important; }
  .cs-interior-card .card-new-game-testing-first-section br { display:none; }
  .cs-interior-card .heading { margin-bottom:16px!important; }
  .cs-interior-legal .container { padding-inline:24px; }
}
