/* Printco visual review: one deliberate palette and predictable foreground contrast. */
:root {
  --pc-ink: #002038;          /* Printco wordmark navy */
  --pc-body: #435462;
  --pc-muted: #657582;
  --pc-green: #579237;        /* requested Printco green */
  --pc-green-dark: #3f7028;
  --pc-blue: #0080d0;         /* blue feather */
  --pc-pink: #f00668;         /* Printco pink CTA */
  --pc-pink-dark: #c90053;
  --pc-yellow: #f8e808;       /* yellow feather */
  --pc-line: #dce5eb;
  --pc-paper: #ffffff;
  --pc-paper-green: #f5f8f3;
  --pc-paper-blue: #f3f7fa;
  --pc-paper-warm: #fffaf0;
}

html { color-scheme: only light; }
body { background: #fff; color: var(--pc-ink); }
body, p, li, dd, dt { color: var(--pc-body); }
h1, h2, h3, h4, h5, h6 { color: var(--pc-ink); }
strong, b { color: inherit; }

/* Shared top bar, navigation and dropdowns. */
.site-topbar { background: var(--pc-green) !important; color: #fff !important; }
.site-topbar a, .site-topbar span, .site-topbar__note,
.site-topbar__details a, .site-topbar__details span { color: #fff !important; }
.site-header { background: #fff !important; border-bottom: 1px solid var(--pc-line) !important; }
.nav > a, .nav > .nav-item > a { color: var(--pc-ink) !important; }
.nav > a:hover, .nav > .nav-item > a:hover,
.nav > a[aria-current="page"], .nav > .nav-item > a[aria-current="page"] {
  color: var(--pc-green-dark) !important;
  background: rgba(87,146,55,.08) !important;
}
.nav-dropdown { background: #fff !important; border-color: var(--pc-line) !important; }
.nav-dropdown a { color: var(--pc-ink) !important; }
.nav-dropdown a:hover { color: var(--pc-green-dark) !important; background: #f1f7ed !important; }
.nav-dropdown .nav-dropdown-viewall { color: var(--pc-pink) !important; }
.nav a.nav-cta, .nav a.nav-cta:hover {
  color: #fff !important; background: var(--pc-pink) !important; border-color: var(--pc-pink) !important;
}
.nav a.nav-cta:hover { background: var(--pc-pink-dark) !important; border-color: var(--pc-pink-dark) !important; }
.nav-toggle { background: #f1f7ed !important; border-color: #d6e7cb !important; }
.nav-toggle span { background: var(--pc-green-dark) !important; }

/* Hero is white and editorial: navy copy, green headline emphasis, pink action. */
.home-hero-carousel, .home-hero-carousel .hero-carousel__track,
.home-hero-carousel .hero-slide { background: #fff !important; }
.home-hero__copy h1 { color: var(--pc-ink) !important; }
.home-hero__copy h1 span { color: var(--pc-green) !important; }
.home-hero__copy .eyebrow { color: var(--pc-green-dark) !important; }
.home-hero__lead { color: var(--pc-body) !important; }
.home-hero__sublead, .home-hero__proof span { color: var(--pc-muted) !important; }
.home-hero__proof { border-color: var(--pc-line) !important; }
.home-hero__proof strong { color: var(--pc-ink) !important; }
.home-hero-carousel .hero-carousel__arrow { color: var(--pc-ink) !important; background: #fff !important; border-color: var(--pc-line) !important; }
.home-hero-carousel .hero-carousel__arrow:hover,
.home-hero-carousel .hero-carousel__arrow--next { color: #fff !important; background: var(--pc-pink) !important; border-color: var(--pc-pink) !important; }
.home-hero-carousel .hero-carousel__dots button { background: #cdd8e0 !important; }
.home-hero-carousel .hero-carousel__dots button.is-active { background: var(--pc-pink) !important; }
.home-hero__secondary { color: var(--pc-ink) !important; background: #fff !important; border-color: var(--pc-line) !important; }
.home-hero__secondary:hover { color: #fff !important; background: var(--pc-pink) !important; border-color: var(--pc-pink) !important; }

/* Alternating light sections share the same dark type and quiet surface tints. */
.home-expertise { background: var(--pc-paper-green) !important; color: var(--pc-ink) !important; }
.home-showreel { background: var(--pc-blue) !important; color: #fff !important; }
.home-about { background: #fff !important; color: var(--pc-ink) !important; }
.home-products { background: var(--pc-paper-warm) !important; color: var(--pc-ink) !important; }
.home-certifications { background: var(--pc-paper-blue) !important; color: var(--pc-ink) !important; }
.home-clients { background: var(--pc-paper-green) !important; color: var(--pc-ink) !important; }
.home-expertise h1, .home-expertise h2, .home-expertise h3, .home-expertise h4,
.home-about h1, .home-about h2, .home-about h3, .home-about h4,
.home-products h1, .home-products h2, .home-products h3, .home-products h4,
.home-certifications h1, .home-certifications h2, .home-certifications h3, .home-certifications h4,
.home-clients h1, .home-clients h2, .home-clients h3, .home-clients h4 { color: var(--pc-ink) !important; }
.home-expertise p:not(.eyebrow), .home-about p:not(.eyebrow),
.home-products p:not(.eyebrow), .home-certifications p:not(.eyebrow),
.home-clients p:not(.eyebrow) { color: var(--pc-body) !important; }
.home-expertise .eyebrow, .home-about .eyebrow,
.home-products .eyebrow, .home-certifications .eyebrow,
.home-clients .eyebrow { color: var(--pc-green-dark) !important; }
.home-expertise .eyebrow::before, .home-about .eyebrow::before,
.home-products .eyebrow::before, .home-certifications .eyebrow::before,
.home-clients .eyebrow::before { background: var(--pc-pink) !important; }

/* The full-width video band uses the actual blue feather, with light-on-dark text. */
.home-showreel { background: var(--pc-blue) !important; }
.home-showreel h1, .home-showreel h2, .home-showreel h3,
.home-showreel .eyebrow, .home-showreel__heading > p:last-child,
.home-showreel__link, .home-showreel .home-text-link { color: #fff !important; }
.home-showreel .eyebrow::before { background: var(--pc-yellow) !important; }
.home-showreel__heading > p:last-child { color: rgba(255,255,255,.88) !important; }
.home-showreel__link:hover, .home-showreel .home-text-link:hover { color: #fff4a8 !important; }
.home-showreel__frame { box-shadow: 0 18px 42px rgba(0,32,56,.20) !important; }

/* About facts: navy panel and the three feather colours; white type stays legible. */
.home-about__facts { background: var(--pc-ink) !important; border-color: var(--pc-ink) !important; }
.home-about__facts .home-about__fact,
.home-about__facts .home-about__fact:nth-child(2),
.home-about__facts .home-about__fact:nth-child(3) { background: transparent !important; }
.home-about__fact-copy strong, .home-about__fact-copy > span { color: #fff !important; }
.home-about__fact-copy > span { color: rgba(255,255,255,.86) !important; }
.home-about__fact:nth-child(1) .home-about__fact-icon { color: #60b8f0 !important; }
.home-about__fact:nth-child(2) .home-about__fact-icon { color: #ff75b0 !important; }
.home-about__fact:nth-child(3) .home-about__fact-icon { color: #f8e808 !important; }

/* Expertise cards: quiet logo-colour tints, dark copy, one consistent pink CTA. */
.home-service-card { color: var(--pc-ink) !important; border-color: var(--pc-line) !important; }
.home-service-card__body h3 { color: var(--pc-ink) !important; }
.home-service-card__body p { color: var(--pc-body) !important; }
.home-service-card__number { color: var(--service-accent, var(--pc-green)) !important; }
.home-service-card__cta, .home-service-card__cta:hover {
  color: #fff !important; background: var(--pc-pink) !important; border-color: var(--pc-pink) !important;
}
.home-service-card__cta:hover { background: var(--pc-pink-dark) !important; border-color: var(--pc-pink-dark) !important; }

/* Products: warm neutral stage with white product cards and consistent ink. */
.home-product-card { color: var(--pc-ink) !important; background: #fff !important; border-color: #e8e4da !important; }
.home-product-card__media { background: #f0f6ef !important; }
.home-product-card__body h3, .home-product-card__eyebrow { color: var(--pc-ink) !important; }
.home-product-card__link, .home-product-card__arrow, .home-text-link { color: var(--pc-pink) !important; }
.home-product-card:hover { border-color: rgba(87,146,55,.45) !important; }

/* Solutions is the single deep-colour section: white text and quiet translucent cards. */
.home-solutions { background: var(--pc-ink) !important; color: #fff !important; }
.home-solutions::before { background: none !important; }
.home-solutions__intro h1, .home-solutions__intro h2, .home-solutions__intro h3 { color: #fff !important; }
.home-solutions__intro > p:not(.eyebrow), .home-solution-card__body p { color: rgba(255,255,255,.82) !important; }
.home-solutions .eyebrow { color: var(--pc-yellow) !important; }
.home-solutions .eyebrow::before { background: var(--pc-pink) !important; }
.home-solution-card { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.18) !important; }
.home-solution-card__body h3 { color: #fff !important; }
.home-solution-card:hover { border-color: rgba(0,128,208,.72) !important; background: rgba(255,255,255,.11) !important; }
.home-solutions .btn--light { background: #fff !important; color: var(--pc-pink) !important; border-color: #fff !important; }
.home-solutions .btn--light:hover { background: var(--pc-pink) !important; color: #fff !important; border-color: var(--pc-pink) !important; }

/* Certifications and client tiles stay white on a pale background. */
.home-cert-card, .client-logo, .client-chip { background: #fff !important; color: var(--pc-ink) !important; border-color: var(--pc-line) !important; }
.home-cert-card__content h3, .home-cert-card__content strong { color: var(--pc-ink) !important; }
.home-cert-card__content p, .home-cert-card__content small { color: var(--pc-body) !important; }
.home-cert-card__tag { color: var(--pc-green-dark) !important; }
.home-cert-card .home-text-link { color: var(--pc-pink) !important; }
.home-cert-card__seal { color: var(--pc-ink) !important; background: #edf5fa !important; }
.home-cert-card__icon { stroke: var(--pc-blue) !important; }
.client-chip[style*="border-color"] { background: #fff !important; border-color: var(--pc-line) !important; color: var(--pc-ink) !important; }

/* Enquiry, page banners and footer: navy/green with light copy, no pale-on-pale text. */
.home-enquiry { background: var(--pc-green-dark) !important; color: #fff !important; }
.home-enquiry h1, .home-enquiry h2, .home-enquiry h3,
.home-enquiry p:not(.eyebrow), .home-enquiry a:not(.btn) { color: #fff !important; }
.home-enquiry .eyebrow { color: #f4fbeF !important; }
.home-enquiry .eyebrow::before { background: var(--pc-pink) !important; }
.page-header, .cta-band { background: var(--pc-ink) !important; color: #fff !important; }
.page-header h1, .page-header h2, .page-header h3, .page-header p,
.page-header .crumbs, .page-header .crumbs a, .page-header .crumbs span,
.cta-band h1, .cta-band h2, .cta-band h3, .cta-band p { color: #fff !important; }
.page-header::before, .page-header::after, .cta-band::before, .cta-band::after { opacity: .12 !important; }
.site-footer { background: var(--pc-ink) !important; color: #fff !important; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4 { color: #fff !important; }
.site-footer p, .site-footer li, .site-footer a, .site-footer .footer-bottom p { color: rgba(255,255,255,.84) !important; }
.site-footer .footer-contact b { color: #fff !important; }
.site-footer a:hover, .footer-credit a:hover { color: #ffb5d5 !important; }
.site-footer .footer-grid h4 { color: var(--pc-yellow) !important; }
.site-footer .footer-brand .brand-logo { background: #fff !important; border-radius: 6px; padding: 4px 8px; filter: none !important; }

/* Interior pages: readable type on paper panels and proper contrast on dark panels. */
.section:not(.section--dark), .section--paper2 { color: var(--pc-ink); }
.section:not(.section--dark):not(.home-solutions) h1, .section:not(.section--dark):not(.home-solutions) h2,
.section:not(.section--dark):not(.home-solutions) h3, .section:not(.section--dark):not(.home-solutions) h4,
.section--paper2 h1, .section--paper2 h2, .section--paper2 h3, .section--paper2 h4 { color: var(--pc-ink) !important; }
.section:not(.section--dark):not(.home-solutions) p, .section:not(.section--dark):not(.home-solutions) li,
.section--paper2 p, .section--paper2 li { color: var(--pc-body); }
.section:not(.section--dark):not(.home-solutions) .eyebrow, .section--paper2 .eyebrow { color: var(--pc-green-dark) !important; }
.section--dark, .section--dark h1, .section--dark h2, .section--dark h3,
.section--dark h4, .section--dark p, .section--dark li { color: #fff !important; }
.section--dark p, .section--dark li { color: rgba(255,255,255,.84) !important; }

/* All button states stay legible — especially white-on-pink hover states. */
.btn, .btn--green, .btn--enquiry, .nav a.nav-cta,
button[type="submit"], input[type="submit"] {
  background: var(--pc-pink) !important; border-color: var(--pc-pink) !important; color: #fff !important;
}
.btn:hover, .btn--green:hover, .btn--enquiry:hover,
.nav a.nav-cta:hover, button[type="submit"]:hover, input[type="submit"]:hover {
  background: var(--pc-pink-dark) !important; border-color: var(--pc-pink-dark) !important; color: #fff !important;
}
.btn--outline, .btn--ghost, .btn--light {
  background: #fff !important; border-color: var(--pc-pink) !important; color: var(--pc-pink) !important;
}
.btn--outline:hover, .btn--ghost:hover, .btn--light:hover {
  background: var(--pc-pink) !important; border-color: var(--pc-pink) !important; color: #fff !important;
}
.gallery-filter { color: var(--pc-ink) !important; background: #fff !important; border-color: var(--pc-line) !important; }
.gallery-filter.active, .gallery-filter.active:hover { color: #fff !important; background: var(--pc-pink) !important; border-color: var(--pc-pink) !important; }
input, select, textarea { color: var(--pc-ink) !important; background: #fff !important; border-color: #cbd7df !important; }
input::placeholder, textarea::placeholder { color: #687783 !important; opacity: 1; }
label, .form-label { color: var(--pc-ink) !important; }
:focus-visible { outline: 3px solid var(--pc-blue) !important; outline-offset: 3px; }

@media (max-width: 900px) {
  .home-showreel { background: var(--pc-blue) !important; }
  .home-about__facts { background: var(--pc-ink) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Final viewer-review corrections: remove legacy decorative blobs from light sections. */
.home-expertise::before, .home-expertise::after,
.home-products::before, .home-products::after,
.home-certifications::before, .home-certifications::after,
.home-clients::before, .home-clients::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Keep the certification carousel calm and consistent; use the logo palette on its small icon accents only. */
.home-cert-card,
.home-cert-card:nth-child(3n+2),
.home-cert-card:nth-child(3n) {
  background: #fff !important;
  border-color: var(--pc-line) !important;
}
.home-cert-card__seal { background: #edf5fa !important; border-color: #d7e7f0 !important; }
.home-cert-card:nth-child(3n+2) .home-cert-card__seal { background: #fff0f7 !important; border-color: #f1c9df !important; }
.home-cert-card:nth-child(3n) .home-cert-card__seal { background: #f2f7ed !important; border-color: #d9e7cf !important; }
/* Guarantee light-on-dark content in the Solutions band despite the legacy generic .section colour rules. */
.section.home-solutions,
.section.home-solutions .home-solutions__intro h1,
.section.home-solutions .home-solutions__intro h2,
.section.home-solutions .home-solutions__intro h3,
.section.home-solutions .home-solution-card__body h3 { color: #fff !important; }
.section.home-solutions .home-solutions__intro > p:not(.eyebrow),
.section.home-solutions .home-solution-card__body p { color: rgba(255,255,255,.84) !important; }
.section.home-solutions .home-solutions__intro .eyebrow { color: var(--pc-yellow) !important; }
.section.home-solutions .home-solutions__intro .eyebrow::before { background: var(--pc-pink) !important; }
