/* Qwerty red edition. Loaded after the base, experience and scroll-scene styles. */
:root {
  --bg: #100607;
  --surface: #1c0c0f;
  --surface2: #2b1117;
  --white: #fff8f5;
  --muted: #c5aaa9;
  --red: #ff788b;
  --blue: #ffb4bd;
  --line: rgba(255, 178, 184, .17);
  --accent: #c92340;
  --accent-light: #ff9cab;
}

html { scrollbar-color: #75313c var(--bg); }
body { background: var(--bg); color: var(--white); }
p { color: var(--muted); }
::selection { background: #a91c35; color: #fff; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #ffb3bc;
  outline-offset: 5px;
}
.eyebrow, .eyebrow.light { color: #f394a2; }
.soft-text { color: #c0979c; }
.text-link { color: #f4d8dc; min-height: 44px; }
.text-link:hover { color: #ff9eae; }
.wordmark { color: var(--white); }

/* The supplied brand asset keeps its proportions at every viewport. */
.q-logo { display: inline-flex; align-items: center; min-height: 50px; flex: none; }
.q-logo img { width: 155px; height: 50px; object-fit: contain; object-position: left center; }
.q-header {
  background: rgba(16, 6, 7, .84);
  border-bottom: 1px solid rgba(255, 150, 165, .07);
}
.q-header.scrolled { background: rgba(16, 6, 7, .96); border-color: var(--line); }
.q-header .main-nav a { color: #d2b9bc; min-height: 44px; }
.q-header .main-nav a:hover, .q-header .main-nav a.active { color: #fff; }
.q-header .main-nav a.active:after { background: #ff7e94; bottom: 0; }
.q-console { color: #f8e1e4; min-height: 44px; border-color: #6c353d; }
.q-console > span { color: #350812; background: #ffbbc4; }
.q-console:hover { background: #341019; border-color: #b75264; }
.menu-toggle { width: 44px; height: 44px; color: #ffe9ed; border-color: #75404a; }
.q-button {
  color: #fff;
  background: linear-gradient(115deg, #cb2341, #ad1732);
  border-color: #f4506b;
  min-height: 48px;
  box-shadow: 0 4px 26px #b8203426;
}
.q-button > span { color: #97132c; background: #fff4f4; }
.q-button:hover { background: linear-gradient(115deg, #df2b4b, #bd1b3a); box-shadow: 0 6px 34px #e1274540; }
.q-button.secondary { color: #ffe7eb; background: #3b111522; border-color: #8c4652; }
.q-button.secondary > span { color: #3d0e18; background: #ffd5dc; }
.q-button.secondary:hover { background: #3b1115; border-color: #ce6a7d; }

/* A continuous dark scene allows the particles to travel between sections. */
.intelligence-hero { background: radial-gradient(ellipse at 50% 37%, #66132138, transparent 60%); }
.hero-ghost { color: #b6314516; }
.hero-kicker { color: #f1b8c2; text-shadow: 0 1px 8px #160307; }
.hero-kicker i { background: #ff97aa; box-shadow: 0 0 12px #ff365b; }
.hero-center h1 { text-shadow: 0 4px 22px #160307ad; }
.hero-center h1 em { color: #ffdfe5; }
.hero-center-line { background: #ef98a67d; }
.hero-description p { color: #d1b8bc; }
.hero-capabilities b { color: #fff0f3; }
.hero-capabilities span { color: #b68e95; }
.hero-capabilities a { min-height: 44px; }
.hero-capabilities a:hover b { color: #ff8ca2; }
.scroll-cue { color: #c69aa3; min-height: 44px; }
.scroll-cue > span { border-color: #b87181; }
.scroll-cue > span:before { background: #ffc2cc; }
.particle-page .particle-canvas { pointer-events: none; }
.particle-page .workflow-section { background: linear-gradient(180deg, #220c10bd, #13070bbf); }

/* Service chapters: one particle sculpture changes as the visitor reads. */
.service-story { position: relative; border-top: 1px solid var(--line); padding: 112px 0 55px; }
.service-story-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(45px, 7vw, 110px); row-gap: 24px; padding-bottom: 32px; }
.service-story-intro > div, .service-story-intro > p { grid-column: 2; }
.service-story-intro .eyebrow { margin-bottom: 20px; }
.service-story-intro h2 { margin: 0; font-size: clamp(50px, 5.2vw, 76px); font-weight: 500; line-height: 1.02; letter-spacing: -.055em; }
.service-story-intro h2 em, .service-story-intro h2 span { font-family: var(--serif); font-weight: 400; font-style: italic; color: #efadb8; }
.service-story-intro > p { width: 430px; max-width: 100%; margin: 0; font-size: 14px; line-height: 1.85; color: #c5a7ad; }
.service-scroll-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(45px, 7vw, 110px); align-items: start; }
.service-art-stage { position: sticky; top: 110px; height: calc(100svh - 140px); min-height: 460px; pointer-events: none; }
.particle-service-caption { position: absolute; bottom: 7%; left: 0; width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; color: #c38a98; font-size: 9px; letter-spacing: .19em; text-align: center; text-transform: uppercase; }
.particle-service-caption:before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #ef6d86; box-shadow: 0 0 13px #ed345a8c; }
.service-scroll-copy { min-width: 0; }
.service-chapter { min-height: 85svh; padding: 65px 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; scroll-margin-top: 105px; }
.service-chapter:last-child { border-bottom: 0; }
.chapter-card { width: 100%; min-height: 455px; padding: clamp(28px, 3.4vw, 50px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border: 1px solid #de75864a; border-radius: 12px; background: radial-gradient(ellipse at 110% 0%, #ae2a4650, transparent 72%), linear-gradient(145deg, #5a1729, #2b0d17 85%); box-shadow: 0 25px 65px #00000026, inset 0 1px 0 #ffc4cf13; }
.service-chapter.is-current .chapter-card { border-color: #f08da379; }
.service-story-intro .q-section-head { display: block; margin-bottom: 0; }
.service-story-intro .q-section-head > p { margin-top: 26px; max-width: 410px; }
.service-story-intro .red-period { color: #ff526d; font-family: inherit; font-style: normal; }
.chapter-number { width: 100%; }
.chapter-number svg { width: 24px; height: 24px; margin-left: auto; flex: none; }
.chapter-number:after { display: none; }
.chapter-card .chapter-lead { font-size: 16px; line-height: 1.6; color: #ffdae1; margin-bottom: 18px; }
.particle-service-caption { flex-wrap: wrap; }
.particle-service-caption b { font-weight: 500; }
.particle-progress { display: block; width: 62%; height: 1px; background: #78334266; flex-basis: 62%; margin-top: 10px; }
.particle-progress span { display: block; width: 100%; height: 1px; transform: scaleX(.08); transform-origin: left; background: #ff8c9f; }
.service-story-end { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding-top: 40px; border-top: 1px solid var(--line); }
.service-story-end p { max-width: 430px; font-size: 13px; line-height: 1.8; margin: 0; }
@media(max-width:800px) { .service-story-end { flex-direction: column; align-items: flex-start; } }
.chapter-number { display: inline-flex; align-items: center; gap: 11px; margin-bottom: 24px; color: #ff98ab; font-size: 10px; font-weight: 500; letter-spacing: .19em; text-transform: uppercase; }
.chapter-number:after { content: ''; width: 38px; height: 1px; background: #a3465966; }
.service-chapter h3 { font-size: clamp(34px, 3.4vw, 51px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; margin: 0 0 25px; max-width: 560px; text-wrap: balance; }
.service-chapter > p, .chapter-card > p { color: #e1bdc5; font-size: 14px; line-height: 1.85; margin: 0 0 25px; max-width: 470px; }
.service-chapter ul { list-style: none; padding: 0; margin: 0 0 34px; width: 100%; max-width: 470px; }
.service-chapter li { display: flex; align-items: baseline; gap: 13px; padding: 10px 0; color: #e4cbd0; font-size: 12px; line-height: 1.65; border-top: 1px solid #7e354629; }
.service-chapter li:before { content: '+'; color: #ef7d95; font-size: 14px; font-weight: 400; flex: none; }
.service-chapter .q-button { margin-top: 1px; }
.service-story .example-note { color: #b09098; margin: 0; padding-top: 30px; font-size: 11px; }

/* Colour every supporting page, not only the homepage. */
.q-section-head h2 span, .film-copy h2 span, .faq-section h2 span { color: #be929a; }
.q-section-head > p { color: #c5a7ad; }
.solution-list button { color: #c39aa3; }
.solution-num, .solution-list button small { color: #b28590; }
.solution-description .text-link { color: #ffd3dc; }
.demo-panel { background: radial-gradient(ellipse at 50% 0%, #61203682, transparent 80%), linear-gradient(150deg, #2b121b, #1a0b0f); border-color: #ac52653d; box-shadow: 0 25px 70px #0800024f, inset 0 1px 0 #ffd1db0d; }
.demo-top, .demo-caption, .demo-bottom, .example-note { color: #c599a5; }
.demo-top > span:first-child { color: #f6c7d4; }
.status-dot { background: #e5c0b9; box-shadow: 0 0 7px #f7c4c440; }
.demo-orb { border-color: #ff9ab560; background: radial-gradient(circle at 28% 22%, #954458, #3b1520); box-shadow: 0 0 35px #f255732b; }
.demo-orb > svg { color: #ffcfda; }
.voice-wave i { background: linear-gradient(#ffc4d1, #e94c70); }
.transcript p { color: #efd1d9; }
.transcript b { color: #c48e9d; }
.demo-bottom { border-color: #e9a6b61f; }
.example-pill { color: #f5c1d0; }
.chat-title { color: #f6d9e2; }
.chat-title > svg { color: #ffa6bf; }
.chat-title small { color: #c894a5; }
.message { color: #f2d8e0; background: #47232c; }
.message small { color: #d0a5b2; }
.message.outgoing { background: #6a2a3e; }
.document-preview { background: #c7557412; border-color: #d5839b40; }
.document-preview > span { color: #f4bed0; border-color: #df8ea444; }
.document-preview small { color: #c696a6; }
.flow-node { border-color: #c77a9144; background: #321520; }
.flow-node > span { background: #653044; }
.flow-node svg, .flow-node > i { color: #ffbdd1; }
.flow-node b { color: #fff0f5; }
.flow-node small { color: #c798a8; }
.flow-connector { background: #b75d794d; }
.flow-connector i { background: #ffc6d6; }
.workflow-section { background: linear-gradient(180deg, #240d13, #14070b); }
.journey-step { border-color: #b9627640; }
.journey-top > span { color: #ffb1c3; }
.journey-top small { color: #b88292; }
.journey-step p { color: #c6a1ad; }
.journey-arrow { background: #220c10; color: #c58b9d; }
.workflow-link { color: #c194a2; }
.workflow-link a { color: #f8ced9; min-height: 44px; }
.usecase { background: linear-gradient(150deg, #2a1119, #190b10); }
.usecase:hover { border-color: #d76d885e; }
.usecase > small { color: #d8a2b3; }
.usecase > span { color: #f3c7d6; }
.digital-links a > span { color: #bb8294; }
.digital-links svg { color: #f0a0b7; }
.work-card { background: #261016; }
.work-card .work-image { background: #eee8e8; }
.work-card small { color: #c2909f; }
.work-card svg { color: #ffc1d0; }
.brand-film { background: #210e13; }
.film-label { background: #24070fbb; }
.client-logo { background: #f5eded; border-color: #b970831c; }
.faq-list summary > span { color: #e09aaf; }
.faq-list summary { min-height: 64px; }
.closing-section:before { background: radial-gradient(ellipse at 20% 50%, #941b3a35, transparent 65%); }
.closing-section h2 em { color: #f89fb5; }
.q-footer { background: #0b0405; }
.footer-topline p { color: #b68d98; }
.footer-topline > div > a:not(.q-logo) { color: #d4acb8; min-height: 26px; }
.footer-topline .eyebrow { color: #c28698; }
.footer-word { color: #2c1017; }
.q-footer-bottom { color: #b58697; }
.q-footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
.footer-social a { color: #e2a6bc; }

.page-header { background: radial-gradient(ellipse at 75% 0%, #6d1d333f, transparent 70%); }
.page-header p { color: #c8a7b2; }
.breadcrumbs { color: #ba8698; }
.breadcrumbs span:last-child { color: #ebbecf; }
.breadcrumbs a { min-height: 26px; }
.ai-card { border-color: #d26e8a40; background: radial-gradient(ellipse at 100% 0%, #4a1729, #210c14 85%); }
.ai-card:hover { border-color: #f091ac80; }
.ai-card-top > span { border-color: #e286a33b; background: #65213729; }
.ai-card-top svg { color: #ffbdd2; }
.ai-card-top small { color: #d59aad; }
.card-link { color: #f0c3d5; }
.mini-cta { background: #2b1019; }
.ai-feature-grid span { color: #d28fa5; }
.service-card, .blog-card, .testimonial-card, .detail-item, .related-link, .career-value { background: #210c14; border-color: var(--line); }
.service-card:hover, .blog-card:hover, .related-link:hover { border-color: #dd7b9b66; }
.service-art { background: radial-gradient(ellipse at 80% 20%, #69253e, #210a12 85%); }
.service-art:before { border-color: #ee90ae22; }
.service-art .service-symbol { color: #f4aac3c9; }
.service-content p { color: #c59aa9; }
.service-number { color: #dea2b7; }
.service-art .card-category { color: #f0b6cc; }
.service-hero { background: #250e17; }
.service-hero.ai-art { background: radial-gradient(ellipse at center, #72213e, #230b15); }
.original-copy p, .article-body p { color: #d7b7c3; }
.story-lead { color: #ffe4ed !important; }
.detail-item:before { color: #f7a9c3; }
.detail-item p { color: #d0a6b6; }
.btn { min-height: 46px; }
.btn-red { background: #bb1f3d; color: #fff; }
.btn-red:hover { background: #cf2b4d; }
.btn-white { background: #ffe1e8; color: #2c0914; }
.btn-white:hover { background: #fff5f7; }
.btn-ghost { border-color: #b767815c; color: #ffe0ec; }
.btn-ghost:hover { background: #5b183031; border-color: #e0809c; }
.form-card { background: #27101a; }
.form-card > p, .field small, .form-switch { color: #c4a0ae; }
.field input, .field textarea, .field select { background: #160910; border-color: #a25d765c; color: #ffe6ef; min-height: 46px; }
.field label { color: #ecc1d3; }
.field input::placeholder, .field textarea::placeholder { color: #b4879a; opacity: 1; }
.field select option { background: #2c101e; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: #ff9cc0; }
.field input[type=file]::file-selector-button { background: #63213a; color: #ffdfec; }
.form-intro p { color: #cba4b6; }
.form-intro .form-visual { background: radial-gradient(ellipse, #7a214c42, transparent 68%); }
.form-visual .big-q { color: #f69cbc; text-shadow: 8px 10px #491324; }
.form-visual p { color: #c09aad; }
.password-toggle { color: #e2acc2; min-width: 44px; }
.form-status { background: #41212d; color: #f9dbe7; }
.form-status.error { background: #571628; color: #ffd6df; }
.form-switch a, .form-note a, .form-intro .text-link { color: #ffb7cf; }
.form-note, .public-preview-note { color: #c39bae; }
.consult-inline { background: #210d18; }
.consult-inline .form-card { background: transparent; }
.cta-banner { background: radial-gradient(ellipse at 100% 50%, #65213d, #290f1c 60%); }
.portfolio-item, .portfolio-project { background: #260e1b; }
.portfolio-project:hover { color: #ffc0d9; }
.filter-tabs a { color: #e7b9d0; border-color: #a0517552; min-height: 44px; display: inline-flex; align-items: center; }
.filter-tabs a.active, .filter-tabs a:hover { color: #fff; background: #8d244b; border-color: #e67fa7; }
.image-unavailable { background: #311224; }
.gallery-note, .service-subnav a { color: #c59cb1; }
.service-subnav a { min-height: 44px; display: inline-flex; align-items: center; }
.testimonial-card cite { color: #f7d9e9; }
.testimonial-card small { color: #c495ac; }
.process-details summary { color: #f3d2e3; }
.all-testimonials summary { color: #ecb7d0; }
.career-value p { color: #c99fb5; }
.loading-view { background: radial-gradient(ellipse, #4a1735, transparent 65%); }
.loading-view .wordmark { color: #ffe3f1; }
.original-video { background: #250d1b; }
.original-video figcaption { color: #d1a1bb; }
.case-table th { background: #42152b; }
dialog { background: #1c0912; border-color: #96506c; }
.lightbox-close { min-width: 44px; min-height: 44px; }

@media (max-width: 1100px) {
  .q-header { gap: 17px; }
  .q-header .main-nav { gap: 15px; }
  .service-scroll-layout { gap: 42px; }
  .service-chapter h3 { font-size: 37px; }
  .service-chapter > p, .chapter-card > p { font-size: 14px; }
  .chapter-card { padding: 28px; }
}

@media (max-width: 800px) {
  html { scroll-padding-top: 90px; }
  .q-header .main-nav { background: #1c090ff7; border-color: var(--line); gap: 10px 24px; }
  .q-header .main-nav a { min-height: 44px; }
  .q-header .main-nav a.active:after { bottom: 2px; }
  .q-header .q-logo img { width: 140px; height: 44px; }
  .service-story { padding-top: 75px; padding-bottom: 35px; }
  .service-story-intro { display: block; padding-bottom: 25px; }
  .service-story-intro h2 { font-size: clamp(51px, 9vw, 75px); }
  .service-story-intro > p { width: 440px; font-size: 13px; margin: 25px 0 0; }
  .service-scroll-layout { display: block; }
  .service-art-stage { top: 76px; height: 250px; min-height: 0; margin-bottom: -250px; }
  .particle-service-caption { bottom: 12px; font-size: 8px; letter-spacing: .15em; }
  .service-scroll-copy { position: relative; }
  .service-chapter { min-height: calc(100svh + 100px); justify-content: flex-start; padding: 290px 0 65px; scroll-margin-top: 86px; }
  .chapter-card { position: relative; padding: 34px; background: linear-gradient(145deg, #59172b, #2d0d18 85%); box-shadow: 0 20px 50px #08010266; min-height: 460px; }
  .service-chapter h3 { font-size: 41px; max-width: 520px; }
  .service-chapter > p, .chapter-card > p { max-width: 550px; }
  .service-chapter ul { max-width: 550px; }
  .service-chapter li { font-size: 13px; }
  .chapter-number { margin-bottom: 22px; }
  .service-story .example-note { text-align: left; }
}

@media (max-width: 540px) {
  .q-header { gap: 10px; padding-inline: 19px; }
  .q-header .q-logo { min-height: 44px; }
  .q-header .q-logo img { width: 126px; height: 42px; }
  .q-console { font-size: 9px; gap: 7px; padding-left: 10px; padding-right: 6px; min-height: 44px; }
  .q-console > span { width: 22px; height: 22px; }
  .menu-toggle { flex: none; width: 44px; height: 44px; font-size: 17px; }
  .q-button { min-height: 47px; font-size: 12px; }
  .hero-capabilities { border-color: #b8677b40; }
  .hero-description p { font-size: 12px; }
  .hero-kicker { color: #eec1cb; font-size: 7px; }
  .hero-capabilities span { color: #c29ca7; font-size: 8px; }
  .service-story { padding-top: 65px; }
  .service-story-intro h2 { font-size: 56px; }
  .service-story-intro > p { font-size: 13px; line-height: 1.8; margin-top: 22px; }
  .service-art-stage { height: 235px; margin-bottom: -235px; }
  .particle-service-caption { font-size: 7px; bottom: 8px; }
  .service-chapter { min-height: 950px; min-height: max(100svh, 950px); padding: 267px 0 60px; }
  .chapter-card { padding: 25px 23px; border-radius: 10px; }
  .service-chapter h3 { font-size: clamp(31px, 8.5vw, 39px); margin-bottom: 22px; }
  .service-chapter > p, .chapter-card > p { font-size: 13px; line-height: 1.8; margin-bottom: 24px; }
  .service-chapter ul { margin-bottom: 27px; }
  .service-chapter li { font-size: 12px; line-height: 1.75; padding: 9px 0; }
  .chapter-number { font-size: 9px; margin-bottom: 20px; }
  .footer-topline > div > a:not(.q-logo) { min-height: 34px; }
  .q-section-head > p { font-size: 13px; }
  .field input, .field textarea, .field select { font-size: 16px; }
}

@media (max-width: 360px) {
  .q-header { padding-inline: 14px; gap: 8px; }
  .q-header .q-logo img { width: 110px; }
  .q-console { font-size: 8px; gap: 5px; }
  .service-story-intro h2 { font-size: 49px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-chapter, .service-art-stage { scroll-behavior: auto; }
  .q-button:hover { transform: none; }
}
