/* Printco Oct 21 design refinement: logo-aligned palette, Inter, stacked expertise cards. */
:root {
  --font-display: "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: "Inter", system-ui, sans-serif;

  /* Shared colour tokens: Printco green, signature pink, warm logo accents and ink. */
  --printco-blue: #579237;
  --printco-blue-deep: #3f7028;
  --printco-pink: #f00668;
  --green: #579237;
  --green-dark: #3f7028;
  --green-2: #3f7028;
  --swirl-blue: #579237;
  --swirl-pink: #f00668;
  --swirl-yellow: #f5cf39;
  --orange: #f58220;
  --orange-dark: #d96612;
  --ink: #19241d;
  --ink-soft: #2d3d31;
  --navy: #1c2b21;
  --line: rgba(25, 36, 29, .15);
}

html { scroll-behavior: smooth; }
body,
button,
input,
select,
textarea,
.nav a,
.nav-dropdown a,
.site-topbar,
.site-footer,
.site-footer a,
h1, h2, h3, h4, h5, h6,
p, label,
.btn,
.home-service-card__cta {
  font-family: "Inter", system-ui, sans-serif !important;
}

/* Navigation: increase menu text by another 2px and enlarge the real logo by 15%. */
.site-topbar { background: #579237 !important; color: #fff !important; }
.site-topbar__details a { font-size: 16px !important; }
.site-topbar__details span { color: #fff !important; }
.site-topbar__note { font-size: 14px !important; color: rgba(255,255,255,.92) !important; }
.site-header .brand-logo { height: 64.4px !important; max-height: none; max-width: min(270px, 42vw); object-fit: contain; }
.nav > a,
.nav > .nav-item > a { font-size: 17px !important; }
.nav-dropdown a,
.nav-dropdown .nav-dropdown-viewall { font-size: 17px !important; }
.nav a { color: #1c2b21; }
.nav a:hover,
.nav a[aria-current="page"] { color: #579237 !important; background: rgba(87,146,55,.10) !important; }
.nav a.nav-cta { background: #f00668 !important; border-color: #f00668 !important; color: #fff !important; box-shadow: 0 8px 18px rgba(240,6,104,.18) !important; }
.nav a.nav-cta:hover { background: #c90053 !important; border-color: #c90053 !important; }
.nav-dropdown a:hover { background: rgba(87,146,55,.10) !important; color: #3f7028 !important; }
.nav-dropdown .nav-dropdown-viewall { color: #f00668 !important; }

/* Remove every decorative hero pattern; keep the photo frame simple and precisely aligned. */
.home-hero__visual::before,
.home-hero__visual::after,
.home-hero__pattern,
.home-hero__pattern--dots,
.home-hero__pattern--shape {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.home-hero__visual { padding: 0 !important; overflow: hidden; border-radius: 10px; }
.home-hero__image {
  width: 100%;
  max-height: 440px;
  aspect-ratio: 1.42 / 1;
  border: 1px solid rgba(25,36,29,.12) !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 28px rgba(25,36,29,.09) !important;
  overflow: hidden;
  background: #f3f5f1;
}
.home-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 10px !important; }
.home-hero__copy h1,
.home-hero__copy h1 span { color: #579237 !important; font-family: "Inter", system-ui, sans-serif !important; }
.home-hero-carousel .hero-carousel__arrow--next,
.home-hero-carousel .hero-carousel__arrow:hover { background: #f00668 !important; border-color: #f00668 !important; color: #fff !important; }
.home-hero-carousel .hero-carousel__dots button.is-active { background: #f00668 !important; }
.home-cert-carousel__arrow:hover:not(:disabled) { color: #fff !important; background: #f00668 !important; border-color: #f00668 !important; }

/* Pink is the primary action colour; green is the supporting brand/action colour. */
.btn,
.btn--green,
.btn--enquiry,
.home-enquiry .btn--enquiry,
.home-service-card__cta,
button[type="submit"],
input[type="submit"],
.nav a.nav-cta {
  background: #f00668 !important;
  border-color: #f00668 !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(240,6,104,.16);
}
.btn:hover,
.btn--green:hover,
.btn--enquiry:hover,
.home-enquiry .btn--enquiry:hover,
.home-service-card__cta:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: #c90053 !important;
  border-color: #c90053 !important;
  color: #fff !important;
}
.btn--outline,
.btn--ghost,
.btn--light {
  color: #f00668 !important;
  border-color: #f00668 !important;
  background: #fff !important;
}
.btn--outline:hover,
.btn--ghost:hover,
.btn--light:hover { color: #fff !important; background: #f00668 !important; border-color: #f00668 !important; }
.home-text-link,
.home-product-card__link,
.home-product-card__arrow { color: #f00668 !important; }
.home-text-link:hover { color: #c90053 !important; }
.gallery-filter.active,
.client-chip[style*="border-color"] { background: #f00668 !important; border-color: #f00668 !important; color: #fff !important; }

/* About Printco proof strip: dark forest background with high-contrast white copy. */
.home-about__facts {
  padding: 10px 12px !important;
  gap: 0 !important;
  background: #202d24 !important;
  border: 1px solid #202d24 !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(15,35,20,.12);
}
.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;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 0 !important;
  padding: 12px 10px !important;
  box-shadow: none !important;
}
.home-about__facts .home-about__fact:last-child { border-right: 0 !important; }
.home-about__fact-icon,
.home-about__fact:nth-child(2) .home-about__fact-icon,
.home-about__fact:nth-child(3) .home-about__fact-icon {
  background: rgba(255,255,255,.12) !important;
  color: #a8d991 !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: #f5cf39 !important; }
.home-about__fact-copy strong { color: #fff !important; }
.home-about__fact-copy > span { color: rgba(255,255,255,.86) !important; }

/* Our Expertise is placed before Inside Printco. Cards stack vertically and react as they enter view. */
.home-expertise { background: #f4f7f1 !important; }
.home-expertise__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(18px, 3vh, 28px) !important;
  max-width: 1040px;
  margin: 0 auto;
  align-items: start !important;
  padding: 6px 0 40px;
}
.home-service-card {
  --service-accent: #579237;
  --service-soft: #edf7e8;
  --service-line: #cfe3c4;
  position: sticky !important;
  top: 106px;
  z-index: 11;
  display: grid !important;
  grid-template-columns: minmax(210px, .37fr) minmax(0, 1fr);
  align-items: stretch;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid var(--service-line) !important;
  border-radius: 12px !important;
  background: var(--service-soft) !important;
  box-shadow: 0 12px 26px rgba(25,36,29,.09);
  transform-origin: center top;
  transition: box-shadow .28s ease, border-color .28s ease, transform .28s ease;
  scroll-margin-top: 112px;
}
.home-service-card:nth-child(6n+2) { --service-accent: #f00668; --service-soft: #fff0f6; --service-line: #f2c9da; top: 119px; z-index: 12; }
.home-service-card:nth-child(6n+3) { --service-accent: #f58220; --service-soft: #fff3e6; --service-line: #f5d6b7; top: 132px; z-index: 13; }
.home-service-card:nth-child(6n+4) { --service-accent: #579237; --service-soft: #edf7e8; --service-line: #cfe3c4; top: 145px; z-index: 14; }
.home-service-card:nth-child(6n+5) { --service-accent: #8b4dc7; --service-soft: #f5effd; --service-line: #e1d1f2; top: 158px; z-index: 15; }
.home-service-card:nth-child(6n) { --service-accent: #d09a00; --service-soft: #fff8d9; --service-line: #ecdf9c; top: 171px; z-index: 16; }
.home-service-card::after { width: 6px !important; background: var(--service-accent) !important; }
.home-service-card__image {
  position: relative;
  display: block;
  height: 100% !important;
  min-height: 190px;
  overflow: hidden;
  background: var(--service-soft) !important;
}
.home-service-card__image img { width: 100%; height: 100%; min-height: 190px; object-fit: cover; transition: transform .55s ease; }
.home-service-card__number { background: #fff !important; color: var(--service-accent) !important; border: 1px solid var(--service-line); }
.home-service-card__body {
  min-height: 190px !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(20px, 3vw, 32px) !important;
  background: var(--service-soft) !important;
}
.home-service-card__body h3 { color: #1c2b21 !important; font-size: clamp(20px, 2vw, 25px) !important; margin-bottom: 9px; }
.home-service-card__body p { color: #445347 !important; font-size: 14px !important; line-height: 1.7; -webkit-line-clamp: 3; margin-bottom: 18px; }
.home-service-card__cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  align-self: flex-start;
  margin-top: auto;
  padding: 11px 16px !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #f00668 !important;
  border: 1px solid #f00668 !important;
  font-size: 13px !important;
  font-weight: 650;
}
.home-service-card__cta:hover { background: #c90053 !important; border-color: #c90053 !important; transform: translateY(-2px); }
.home-service-card.reveal { transition: opacity .5s ease, transform .5s ease, box-shadow .28s ease; }
.home-service-card.reveal.in { transform: none; }
.home-service-card:hover { box-shadow: 0 18px 36px rgba(25,36,29,.14); border-color: var(--service-accent) !important; }

/* Scrolling reveal remains subtle and respects operating-system motion preferences. */
.home-expertise__grid .home-service-card:nth-child(2) { transition-delay: .04s; }
.home-expertise__grid .home-service-card:nth-child(3) { transition-delay: .08s; }
.home-expertise__grid .home-service-card:nth-child(4) { transition-delay: .12s; }
.home-expertise__grid .home-service-card:nth-child(5) { transition-delay: .16s; }
.home-expertise__grid .home-service-card:nth-child(6) { transition-delay: .20s; }
.home-expertise .eyebrow { color: #579237 !important; }
.home-expertise .eyebrow::before { background: #579237 !important; }

/* Keep all other public-page accents aligned with the same brand system. */
.eyebrow { color: #579237; }
.eyebrow::before { background: #579237; }
a:hover { color: #f00668; }
:focus-visible { outline-color: #579237 !important; }
.site-footer { background: #202d24 !important; }
.site-footer .footer-brand .brand-logo { height: 53px !important; max-width: min(242px, 42vw); filter: none !important; background: #fff; border-radius: 6px; padding: 4px 8px; object-fit: contain; }
.footer-grid h4 { color: #b8d8a8 !important; }
.footer-links a:hover, .footer-credit a:hover { color: #ff78b1 !important; }


/* Internal-page bands and utility components also use the revised Printco palette. */
.page-header {
  background: linear-gradient(115deg, #579237 0%, #477f30 52%, #202d24 100%) !important;
  border-bottom-color: rgba(255,255,255,.16) !important;
}
.page-header::before,
.page-header::after { background: none !important; border-color: rgba(240,6,104,.22) !important; }
.cta-band {
  background: linear-gradient(118deg, #579237 0%, #477f30 48%, #202d24 100%) !important;
}
.cta-band::before { border-color: rgba(245,207,57,.18) !important; }
.cta-band::after { background: rgba(240,6,104,.18) !important; }
.cta-band .btn { background: #f00668 !important; color: #fff !important; border-color: #f00668 !important; }
.cta-band .btn:hover { background: #c90053 !important; color: #fff !important; border-color: #c90053 !important; }
.home-solutions {
  background: linear-gradient(130deg, #202d24 0%, #315132 65%, #202d24 100%) !important;
}
.home-solutions::before {
  background: radial-gradient(circle at 95% 5%, rgba(87,146,55,.22), transparent 30%), radial-gradient(circle at 3% 88%, rgba(240,6,104,.14), transparent 26%) !important;
}
.home-solution-card:hover { border-color: rgba(245,207,57,.55) !important; }
.home-enquiry {
  background: linear-gradient(112deg, #579237 0%, #477f30 45%, #202d24 100%) !important;
}
.home-enquiry::before { border-color: rgba(245,207,57,.16) !important; }
.home-enquiry .eyebrow { color: #e1f0d8 !important; }
.home-enquiry .eyebrow::before { background: #f00668 !important; }
.home-clients { background: #f0f6ec !important; }
.home-product-card__media { background: linear-gradient(135deg, #edf7e8, #fff5e9) !important; }
.home-hero__secondary { color: #f00668 !important; border-color: rgba(240,6,104,.45) !important; }
.home-hero__secondary:hover { color: #fff !important; background: #f00668 !important; border-color: #f00668 !important; }
.nav-toggle { background: rgba(87,146,55,.10) !important; }
.nav-toggle span { background: #579237 !important; }
.home-cert-carousel__viewport { scrollbar-color: #579237 transparent !important; }
.home-cert-carousel__viewport::-webkit-scrollbar-thumb { background: #579237 !important; }
.home-cert-card__seal,
.home-cert-card__seal::before { border-color: rgba(87,146,55,.36) !important; }
.card:hover, .home-product-card:hover, .home-solution-card:hover, .home-cert-card:hover,
.contact-info-item:hover, .client-logo:hover {
  border-color: rgba(87,146,55,.35) !important;
  box-shadow: 0 14px 30px rgba(37,76,31,.12) !important;
}

@media (max-width: 1180px) {
  .site-header .brand-logo { height: 52.9px !important; }
  .nav > a, .nav > .nav-item > a { font-size: 17px !important; }
}
@media (max-width: 900px) {
  .site-header .container { min-height: 68px; }
  .site-header .brand-logo { height: 47.2px !important; max-width: min(225px, 70vw); }
  .nav > a, .nav > .nav-item > a { font-size: 17px !important; }
  .nav-dropdown a, .nav-dropdown .nav-dropdown-viewall { font-size: 17px !important; }
  .home-about__facts { grid-template-columns: 1fr !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) {
    grid-template-columns: 34px minmax(0,1fr);
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.2) !important;
  }
  .home-about__facts .home-about__fact:last-child { border-bottom: 0 !important; }
  .home-service-card { top: 78px; grid-template-columns: minmax(150px, .36fr) minmax(0, 1fr); }
  .home-service-card:nth-child(6n+2) { top: 88px; }
  .home-service-card:nth-child(6n+3) { top: 98px; }
  .home-service-card:nth-child(6n+4) { top: 108px; }
  .home-service-card:nth-child(6n+5) { top: 118px; }
  .home-service-card:nth-child(6n) { top: 128px; }
}
@media (max-width: 600px) {
  .site-topbar__inner { gap: 8px; }
  .site-topbar__details { flex-wrap: wrap; gap: 8px 12px; }
  .site-topbar__details a { font-size: 14px !important; }
  .site-topbar__note { display: none; }
  .site-header .brand-logo { height: 47.2px !important; max-width: min(205px, 68vw); }
  .home-hero__visual { border-radius: 8px; }
  .home-hero__image, .home-hero__image img { border-radius: 8px !important; }
  .home-expertise__grid { gap: 18px !important; }
  .home-service-card { position: relative !important; top: auto !important; z-index: auto !important; grid-template-columns: minmax(0, 1fr) !important; }
  .home-service-card__image { height: 168px !important; min-height: 168px; }
  .home-service-card__image img { height: 168px; min-height: 168px; }
  .home-service-card__body { min-height: 0 !important; padding: 20px !important; }
  .home-service-card__body h3 { font-size: 19px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .home-service-card,
  .home-service-card__image img,
  .home-service-card__cta { transition: none !important; animation: none !important; }
}

/* October 21 refinements: feather-colour identity, taller stacked cards, clean certification marks. */
:root {
  --printco-ink: #002038;
  --printco-feather-blue: #0080d0;
  --printco-feather-magenta: #e80090;
  --printco-feather-yellow: #f8e808;
  --printco-leaf-green: #579237;
  --printco-pink: #f00668;
}

/* A single palette for the section surfaces: quiet tints, with one intentional dark brand panel. */
.home-expertise { background-color: #f5f8f3 !important; }
.home-showreel { background-color: #f3f8fb !important; }
.home-about { background-color: #ffffff !important; }
.home-products { background-color: #fffdf6 !important; }
.home-certifications { background-color: #f7f9fc !important; }
.home-clients { background-color: #f4f8f1 !important; }

/* Match the three-feather logo while preserving the requested dark, white-text proof strip. */
.home-about__facts {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(120deg, #002038 0%, #082c42 55%, #122536 100%) !important;
  border-color: rgba(0,32,56,.12) !important;
  padding-top: 16px !important;
}
.home-about__facts::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg,
    var(--printco-feather-blue) 0%, var(--printco-feather-blue) 33.333%,
    var(--printco-feather-magenta) 33.333%, var(--printco-feather-magenta) 66.666%,
    var(--printco-feather-yellow) 66.666%, var(--printco-feather-yellow) 100%);
}
.home-about__fact-icon,
.home-about__fact:nth-child(2) .home-about__fact-icon,
.home-about__fact:nth-child(3) .home-about__fact-icon {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.home-about__fact:nth-child(1) .home-about__fact-icon { box-shadow: inset 0 0 0 2px rgba(0,128,208,.27); }
.home-about__fact:nth-child(2) .home-about__fact-icon { box-shadow: inset 0 0 0 2px rgba(232,0,144,.3); }
.home-about__fact:nth-child(3) .home-about__fact-icon { box-shadow: inset 0 0 0 2px rgba(248,232,8,.32); }

/* Our Solutions uses Printco's wordmark navy, edged with the three feather colours. */
.home-solutions {
  position: relative !important;
  isolation: isolate;
  background: #002038 !important;
  border-top: 0 !important;
  color: #fff !important;
}
.home-solutions::before {
  background: linear-gradient(115deg, rgba(0,128,208,.18), rgba(232,0,144,.11) 56%, rgba(248,232,8,.09)) !important;
}
.home-solutions::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  pointer-events: none;
  background: linear-gradient(90deg,
    var(--printco-feather-blue) 0%, var(--printco-feather-blue) 33.333%,
    var(--printco-feather-magenta) 33.333%, var(--printco-feather-magenta) 66.666%,
    var(--printco-feather-yellow) 66.666%, var(--printco-feather-yellow) 100%);
}
.home-solutions .eyebrow { color: #f8e808 !important; }
.home-solutions .eyebrow::before { background: #e80090 !important; }
.home-solutions__intro h2 { color: #fff !important; }
.home-solutions__intro > p:not(.eyebrow) { color: rgba(255,255,255,.78) !important; }
.home-solution-card {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.18) !important;
}
.home-solution-card:nth-child(1) .home-solution-card__image > span { background: #0080d0 !important; color: #fff !important; }
.home-solution-card:nth-child(2) .home-solution-card__image > span { background: #e80090 !important; color: #fff !important; }
.home-solution-card:nth-child(3) .home-solution-card__image > span { background: #f8e808 !important; color: #002038 !important; }
.home-solution-card:nth-child(4) .home-solution-card__image > span { background: #579237 !important; color: #fff !important; }
.home-solution-card:hover { border-color: rgba(0,128,208,.7) !important; background: rgba(255,255,255,.1) !important; }
.home-solutions .btn--light { background: #fff !important; color: #e80090 !important; border-color: #fff !important; }
.home-solutions .btn--light:hover { background: #e80090 !important; color: #fff !important; border-color: #e80090 !important; }

/* Each stacked expertise card is 20% taller than the previous 190px baseline. */
.home-service-card { min-height: 228px !important; }
.home-service-card__image,
.home-service-card__image img { min-height: 228px !important; }
.home-service-card__body { min-height: 228px !important; }
.home-service-card:nth-child(6n+1) { --service-accent: #579237; --service-soft: #f0f7eb; --service-line: #cfe3c4; }
.home-service-card:nth-child(6n+2) { --service-accent: #e80090; --service-soft: #fff0f7; --service-line: #f2c6df; }
.home-service-card:nth-child(6n+3) { --service-accent: #0080d0; --service-soft: #edf7fd; --service-line: #c6e3f5; }
.home-service-card:nth-child(6n+4) { --service-accent: #579237; --service-soft: #f0f7eb; --service-line: #cfe3c4; }
.home-service-card:nth-child(6n+5) { --service-accent: #e80090; --service-soft: #fff0f7; --service-line: #f2c6df; }
.home-service-card:nth-child(6n) { --service-accent: #0080d0; --service-soft: #edf7fd; --service-line: #c6e3f5; }
.home-service-card__body h3 { color: #002038 !important; }
.home-service-card__body p { color: #4e5d69 !important; }
.home-service-card__cta { background: #f00668 !important; border-color: #f00668 !important; }
.home-service-card__cta:hover { background: #c90053 !important; border-color: #c90053 !important; }

/* Certification identifiers are bespoke site UI, not imitations of third-party seals. */
.home-certifications .home-section-heading .eyebrow { color: #579237 !important; }
.home-cert-card {
  grid-template-columns: 88px minmax(0,1fr) !important;
  align-items: center !important;
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid #e0e9ef !important;
  border-radius: 14px !important;
  box-shadow: 0 7px 22px rgba(0,32,56,.045) !important;
}
.home-cert-card__seal {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 78px !important;
  min-height: 94px !important;
  padding: 8px 4px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, #edf7fd 0%, #fff4fa 100%) !important;
  color: #002038 !important;
  text-align: center !important;
}
.home-cert-card__seal::before {
  inset: 5px !important;
  border: 1px solid rgba(0,128,208,.22) !important;
  border-radius: 9px !important;
}
.home-cert-card__icon {
  display: block;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  fill: none;
  stroke: #0080d0;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  position: relative;
  z-index: 1;
}
.home-cert-card:nth-child(3n+2) .home-cert-card__icon { stroke: #e80090; }
.home-cert-card:nth-child(3n) .home-cert-card__icon { stroke: #579237; }
.home-cert-card__seal span {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #002038 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  overflow-wrap: anywhere;
}
.home-cert-card__tag { color: #e80090 !important; }
.home-cert-card__content h3 { color: #002038 !important; }
.home-cert-card__content p { color: #566773 !important; }
.home-cert-card .home-text-link { color: #e80090 !important; }
.home-cert-card .home-text-link:hover { color: #bf006e !important; }
.home-cert-carousel__arrow { border-radius: 9px !important; }
.home-cert-carousel__arrow:focus-visible { outline: 3px solid rgba(0,128,208,.35) !important; outline-offset: 2px; }

/* The Services dropdown gets 20% more width on desktop, while preserving the mobile accordion. */
.nav-dropdown--wide { min-width: 360px !important; width: 360px !important; max-width: calc(100vw - 40px) !important; }

@media (max-width: 900px) {
  .home-service-card { min-height: 228px !important; }
  .home-service-card__image,
  .home-service-card__image img { min-height: 228px !important; }
  .home-service-card__body { min-height: 228px !important; }
  .nav-dropdown--wide { min-width: 0 !important; width: 100% !important; max-width: 100% !important; }
  .home-cert-card { grid-template-columns: 76px minmax(0,1fr) !important; gap: 14px !important; }
  .home-cert-card__seal { width: 70px !important; min-height: 86px !important; }
}
@media (max-width: 600px) {
  .home-service-card { min-height: 0 !important; }
  .home-service-card__image,
  .home-service-card__image img { min-height: 202px !important; height: 202px !important; }
  .home-service-card__body { min-height: 0 !important; }
  .home-cert-card { grid-template-columns: 66px minmax(0,1fr) !important; gap: 12px !important; padding: 15px !important; }
  .home-cert-card__seal { width: 62px !important; min-height: 78px !important; }
  .home-cert-card__icon { width: 27px; height: 27px; flex-basis: 27px; }
  .home-solutions { background: #002038 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .home-cert-card, .home-solution-card, .home-service-card { transition: none !important; }
}

