/* Portable landing: declarations affect only this root and its descendants. */
@font-face { font-family: 'PG Custom Solutions Outfit'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/outfit-400.woff2') format('woff2'); }
@font-face { font-family: 'PG Custom Solutions Outfit'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/outfit-600.woff2') format('woff2'); }
@font-face { font-family: 'PG Custom Solutions Outfit'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/outfit-700.woff2') format('woff2'); }
/* Lengths resolve the approved 16px rem base locally; Astra html sizing cannot alter this page. */
.pg-custom-solutions {
  --pg-space-2: 12px;
  --pg-item-copy-gap: 8px;
  --pg-item-header-gap: 8px;
  --pg-grid-gap-editorial: 48px;
  --pg-section-y-editorial: 72px;
  --pg-heading-to-intro: 12px;
  --pg-space-3: 16px;
  --pg-section-content-gap: 32px;
  --pg-space-4: 20px;
  --pg-space-6: 40px;
  --pg-space-5: 28px;
  --pg-space-1: 8px;
  --pg-grid-column-gap: 24px;
  --pg-item-separation: 28px;
  --pg-capability-row-gap: 52px;
  --pg-capability-col-gap: 60px;
  --pg-eyebrow-to-heading: 16px;
  --pg-section-y-compact: 48px;
  --pg-mobile-content-gap: 28px;
  --pg-mobile-section-y: 60px;
  --pg-mobile-section-compact: 36px;
  --pg-process-gap: 32px;
  --wp--style--root--padding-right: 0px;
  --wp--style--root--padding-left: 0px;
  --wp--style--global--content-size: 760px;
  --wp--preset--color--navy: #1a2b3d;
  --wp--preset--font-family--outfit: 'PG Custom Solutions Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --wp--preset--font-size--3x-large: 50.4px;
  --wp--preset--font-size--2x-large: 37.6px;
  --wp--preset--font-size--x-large: 24px;
  --wp--preset--font-size--large: 18.4px;
  --wp--preset--color--coral: #e96c66;
  --color-coral: #e96c66;
  --color-navy: #1a2b3d;
  --font-main: 'PG Custom Solutions Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius-sm: 6px;
  --color-white: #ffffff;
  --color-coral-hover: #d65852;
  --color-border-subtle: #e2e8f0;
  --radius-md: 10px;
  --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.03);
  --color-border: #cbd5e1;
  --color-mid-gray: #64748b;
  --color-dark-gray: #334155;
  --color-ash-gray: #f5f5f5;
  --radius-full: 9999px;
  --radius-lg: 16px;
  font-family: var(--font-main); font-size: 16.8px; line-height: 1.7; color: #334155; background: #fff; text-align: left; -webkit-font-smoothing: antialiased;
}
.pg-custom-solutions, .pg-custom-solutions *, .pg-custom-solutions *::before, .pg-custom-solutions *::after { box-sizing: border-box; }
.pg-custom-solutions *::before, .pg-custom-solutions *::after { margin: 0; padding: 0; }
.pg-custom-solutions .is-layout-flex { display: flex; }
.pg-custom-solutions button { font: inherit; color: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; border-radius: 0; }
:where(.pg-custom-solutions) .wp-block-button__link { align-content: center; box-sizing: border-box; cursor: pointer; display: inline-block; height: 100%; text-align: center; word-break: break-word; }
:where(.pg-custom-solutions) :where(.wp-block-button__link) { border-radius: 9999px; box-shadow: none; padding: calc(0.667em + 2px) calc(1.333em + 2px); text-decoration: none; }
:where(.pg-custom-solutions) .wp-block-buttons { box-sizing: border-box; }
:where(.pg-custom-solutions) .wp-block-buttons > .wp-block-button { display: inline-block; margin: 0px; }
:where(.pg-custom-solutions) .wp-block-buttons.is-content-justification-left { justify-content: flex-start; }
:where(.pg-custom-solutions) .wp-block-buttons.is-content-justification-center { justify-content: center; }
:where(.pg-custom-solutions) .wp-block-buttons .wp-block-button__link { width: 100%; }
:where(.pg-custom-solutions) .wp-block-columns { box-sizing: border-box; display: flex; flex-wrap: wrap !important; }
@media (min-width: 782px) {
:where(.pg-custom-solutions) .wp-block-columns { flex-wrap: nowrap !important; }
}
:where(.pg-custom-solutions) .wp-block-columns { align-items: normal !important; }
:where(.pg-custom-solutions) .wp-block-columns.are-vertically-aligned-center { align-items: center; }
@media (max-width: 781px) {
:where(.pg-custom-solutions) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}
@media (min-width: 782px) {
:where(.pg-custom-solutions) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 0px; flex-grow: 1; }
:where(.pg-custom-solutions) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}
:where(.pg-custom-solutions) :where(.wp-block-columns) { margin-bottom: 1.75em; }
:where(.pg-custom-solutions) .wp-block-column { flex-grow: 1; min-width: 0px; overflow-wrap: break-word; word-break: break-word; }
:where(.pg-custom-solutions) .wp-block-details { box-sizing: border-box; }
:where(.pg-custom-solutions) .wp-block-details summary { cursor: pointer; }
:where(.pg-custom-solutions) .wp-block-group { box-sizing: border-box; }
:where(.pg-custom-solutions) :where(.wp-block-group.wp-block-group-is-layout-constrained) { position: relative; }
:where(.pg-custom-solutions) .wp-block-image img { box-sizing: border-box; height: auto; max-width: 100%; vertical-align: bottom; }
:where(.pg-custom-solutions) .wp-block-image :where(figcaption) { margin-bottom: 1em; margin-top: 0.5em; }
:where(.pg-custom-solutions) .wp-element-button { cursor: pointer; }
:where(.pg-custom-solutions) :where(figure) { margin: 0px 0px 1em; }
:where(.pg-custom-solutions) .wp-block-image { margin: 0px 0px 1em; }
:where(.pg-custom-solutions) .has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
.pg-custom-solutions :where(.is-layout-flex) { gap: 0.5em; }
:where(.pg-custom-solutions) .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size); margin-left: auto !important; margin-right: auto !important; }
:where(.pg-custom-solutions) .is-layout-flex { flex-wrap: wrap; align-items: center; }
:where(.pg-custom-solutions) .is-layout-flex > :is(*, div) { margin: 0px; }
:where(.pg-custom-solutions) a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--navy); }
.pg-custom-solutions h1,
.pg-custom-solutions h2,
.pg-custom-solutions h3,
.pg-custom-solutions h4 { color: var(--wp--preset--color--navy); font-family: var(--wp--preset--font-family--outfit); font-weight: 700; }
:where(.pg-custom-solutions) h1 { font-size: var(--wp--preset--font-size--3x-large); line-height: 1.14; }
:where(.pg-custom-solutions) h2 { font-size: var(--wp--preset--font-size--2x-large); line-height: 1.2; }
:where(.pg-custom-solutions) h3 { font-size: var(--wp--preset--font-size--x-large); line-height: 1.3; }
:where(.pg-custom-solutions) h4 { font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
:where(.pg-custom-solutions) .has-navy-color { color: var(--wp--preset--color--navy) !important; }
:where(.pg-custom-solutions) .has-coral-background-color { background-color: var(--wp--preset--color--coral) !important; }
:where(.pg-custom-solutions) :where(.wp-block-columns.is-layout-flex) { gap: 2em; }
/* Match Core's :root flow specificity without adding !important. */
.pg-custom-solutions * { box-sizing: border-box; margin: 0px; padding: 0px; }
:where(.pg-custom-solutions) img { max-width: 100%; display: block; }
:where(.pg-custom-solutions) a { color: inherit; text-decoration: none; }
@media (prefers-reduced-motion: reduce) {
:where(.pg-custom-solutions) * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
:where(.pg-custom-solutions) .tagline { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13.6px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-coral); margin-bottom: 12px; }
:where(.pg-custom-solutions) .alignwide,
:where(.pg-custom-solutions) .wp-block-columns { max-width: 100% !important; width: 100% !important; }
.pg-custom-solutions p { margin-bottom: 24px; }
.pg-custom-solutions h2 { font-size: 32px; font-weight: 700; line-height: 1.2; color: var(--color-navy, #1a2b3d); margin-top: 48px; margin-bottom: 16px; letter-spacing: -0.015em; }
.pg-custom-solutions h3 { font-size: 23.2px; font-weight: 600; line-height: 1.3; color: var(--color-navy, #1a2b3d); margin-top: 36px; margin-bottom: 12px; }
.pg-custom-solutions h4 { font-size: 18.4px; font-weight: 600; line-height: 1.4; color: var(--color-navy, #1a2b3d); margin-top: 28px; margin-bottom: 8px; }
.pg-custom-solutions a { color: var(--color-navy, #1a2b3d); text-decoration: underline; text-underline-offset: 3px; transition: color 240ms ease-out; }
.pg-custom-solutions a:hover { color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .wp-block-buttons { margin: 32px auto; }
.pg-custom-solutions .wp-block-button__link,
.pg-custom-solutions .wp-element-button,
.pg-custom-solutions .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
.pg-custom-solutions a.wp-block-button__link { font-family: var(--font-main); font-weight: 600; font-size: 15.2px; line-height: 1.7; letter-spacing: normal; padding: 14px 26px; border-radius: var(--radius-sm, 6px); display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 2px solid transparent; cursor: pointer; transition: transform 240ms ease-out, box-shadow 240ms ease-out, background-color 240ms ease-out, color 240ms ease-out, border-color 240ms ease-out !important; text-decoration: none !important; }
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-element-button { background-color: var(--color-coral, #e96c66); color: var(--color-white, #ffffff); box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px; }
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-element-button:hover { background-color: var(--color-coral-hover, #d65852); color: var(--color-white, #ffffff); transform: translateY(-2px); box-shadow: rgba(233, 108, 102, 0.35) 0px 4px 14px; }
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-block-button__link:active,
:where(.pg-custom-solutions) .wp-block-button:not(.is-style-outline) .wp-element-button:active { transform: translateY(0px); }
.pg-custom-solutions .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button,
:where(.pg-custom-solutions) .wp-block-button.is-style-outline .wp-element-button { background-color: transparent; border: 2px solid var(--color-navy, #1a2b3d); color: var(--color-navy, #1a2b3d); }
.pg-custom-solutions .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover,
:where(.pg-custom-solutions) .wp-block-button.is-style-outline .wp-element-button:hover { background-color: var(--color-navy, #1a2b3d); color: var(--color-white, #ffffff); transform: translateY(-2px); }
.pg-custom-solutions .wp-block-details { border: 1px solid var(--color-border-subtle, #e2e8f0); border-radius: var(--radius-md, 10px); padding: 18.4px 21.6px; margin-bottom: 16px; background-color: var(--color-white, #ffffff); transition: box-shadow 320ms, border-color 320ms; }
:where(.pg-custom-solutions) .wp-block-details[open] { box-shadow: var(--shadow-subtle, 0 4px 20px rgba(0, 0, 0, 0.03)); border-color: var(--color-border, #cbd5e1); }
:where(.pg-custom-solutions) .wp-block-details summary { font-weight: 600; font-size: 17.6px; color: var(--color-navy, #1a2b3d); cursor: pointer; padding: 4px 0px; user-select: none; display: flex; align-items: center; justify-content: space-between; list-style: none; transition: color 240ms ease-out; }
:where(.pg-custom-solutions) .wp-block-details summary::-webkit-details-marker { display: none; }
:where(.pg-custom-solutions) .wp-block-details summary::after { content: ""; display: inline-block; width: 18px; height: 18px; background-color: var(--color-mid-gray, #64748b); mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E") center center / contain no-repeat; transition: transform 320ms, background-color 240ms ease-out; flex-shrink: 0; }
:where(.pg-custom-solutions) .wp-block-details summary:hover { color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .wp-block-details summary:hover::after { background-color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .wp-block-details[open] summary::after { transform: rotate(180deg); background-color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .wp-block-details > p:first-of-type { margin-top: 16px; color: var(--color-dark-gray, #334155); line-height: 1.6; }
:where(.pg-custom-solutions) .wp-block-columns { width: 100%; gap: 24px; margin: 32px auto; }
:where(.pg-custom-solutions) .wp-block-column { min-width: 0px; margin-bottom: 16px; }
:where(.pg-custom-solutions) .wp-block-group { padding: 32px; border-radius: var(--radius-md, 10px); }
:where(.pg-custom-solutions) .pg-trust-note,
:where(.pg-custom-solutions) p.pg-trust-note { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 13.6px; margin-top: 24px; margin-bottom: 0px; color: rgb(148, 163, 184) !important; }
:where(.pg-custom-solutions) p.pg-trust-note::before { content: ""; display: inline-block; width: 16px; height: 16px; background-color: var(--color-coral, #e96c66); mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center center / contain no-repeat; flex-shrink: 0; }
:where(.pg-custom-solutions) .tagline,
:where(.pg-custom-solutions) p.tagline { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-navy, #1a2b3d); background-color: var(--color-ash-gray, #f5f5f5); padding: 5.6px 13.6px; border-radius: var(--radius-full, 9999px); margin-bottom: 16px; width: fit-content; }
:where(.pg-custom-solutions) p.tagline::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: var(--color-coral, #e96c66); box-shadow: rgba(233, 108, 102, 0.7) 0px 0px 0px 0px; animation: 2s cubic-bezier(0.66, 0, 0, 1) 0s infinite normal none running pg-cs-pulse-dot; flex-shrink: 0; }
@keyframes pg-cs-pulse-dot { 
  0% { transform: scale(0.95); box-shadow: rgba(233, 108, 102, 0.7) 0px 0px 0px 0px; }
  70% { transform: scale(1); box-shadow: rgba(233, 108, 102, 0) 0px 0px 0px 6px; }
  100% { transform: scale(0.95); box-shadow: rgba(233, 108, 102, 0) 0px 0px 0px 0px; }
}
:where(.pg-custom-solutions) .highlight-coral { color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .service-hero-section,
:where(.pg-custom-solutions) .service-hero-section.wp-block-group { padding: 24px 0px !important; margin-bottom: 12px !important; }
:where(.pg-custom-solutions) .service-hero-title { font-family: var(--font-main); font-size: 44px; font-weight: 700; line-height: 1.15; color: var(--color-navy, #1a2b3d); letter-spacing: -0.025em; margin: 12px 0px 20px; }
:where(.pg-custom-solutions) .service-hero-lead { font-size: 18.4px; line-height: 1.65; color: var(--color-dark-gray, #334155); margin-bottom: 28px; }
@media (min-width: 992px) {
:where(.pg-custom-solutions) .pg-capability-header { display: flex !important; flex-direction: row !important; align-items: center !important; gap: var(--pg-space-2, 12px) !important; margin: 0 0 var(--pg-space-2, 12px) 0 !important; padding: 0px !important; }
}
:where(.pg-custom-solutions) .pg-capability-item,
:where(.pg-custom-solutions) .pg-capability-item.wp-block-group { background: transparent !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; box-shadow: none !important; border-radius: 0px !important; padding: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-item > * + * { margin-block-start: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-header,
:where(.pg-custom-solutions) .pg-capability-header.wp-block-group { padding: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-header > * { margin: 0px !important; padding: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-icon { width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; border-radius: 10px !important; background-color: var(--color-white, #ffffff) !important; border: 1px solid var(--color-border-subtle, #e2e8f0) !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0px !important; padding: 0px !important; box-shadow: rgba(0, 0, 0, 0.03) 0px 2px 6px !important; transition: transform 220ms ease-out, border-color 220ms ease-out !important; }
:where(.pg-custom-solutions) .pg-capability-item:hover .pg-capability-icon { transform: translateY(-2px); border-color: var(--color-coral, #e96c66) !important; }
:where(.pg-custom-solutions) .pg-capability-icon::before { content: ""; display: block; width: 20px; height: 20px; background-color: var(--color-navy, #1a2b3d); mask-repeat: no-repeat; mask-size: contain; mask-position: center center; transition: background-color 220ms ease-out; }
:where(.pg-custom-solutions) .pg-capability-item:hover .pg-capability-icon::before { background-color: var(--color-coral, #e96c66); }
:where(.pg-custom-solutions) .pg-cap--apps .pg-capability-icon::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 14H4v-4h11v4zm0-5H4V9h11v4zm5 5h-4V9h4v9z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .pg-cap--wp .pg-capability-icon::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5s-1.12-2.5-2.5-2.5z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .pg-cap--api .pg-capability-icon::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 12c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 8.74 6.35 8 5 8c-2.21 0-4 1.79-4 4s1.79 4 4 4c1.35 0 2.5-.74 3.04-1.81l6.05 3.12c-.05.21-.09.43-.09.69 0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3c-1.35 0-2.5.74-3.04 1.81l-6.05-3.12c.05-.21.09-.43.09-.69 0-.24-.04-.47-.09-.7l6.05-3.11c.54 1.07 1.69 1.81 3.04 1.81z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .pg-cap--auto .pg-capability-icon::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2v11h3v9l7-12h-4l4-8z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .pg-capability-label { font-size: 12.48px !important; font-weight: 700 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: var(--color-coral, #e96c66) !important; margin: 0px !important; line-height: 1 !important; }
:where(.pg-custom-solutions) .pg-capability-title,
:where(.pg-custom-solutions) .pg-capability-item h3,
:where(.pg-custom-solutions) .pg-capability-item .wp-block-heading { font-size: 20px; font-weight: 700; color: var(--color-navy, #1a2b3d); line-height: 1.3; margin: 0 0 var(--pg-item-copy-gap, 8px) 0 !important; }
:where(.pg-custom-solutions) .pg-capability-desc,
:where(.pg-custom-solutions) .pg-capability-item p:not(.pg-capability-label):not(.pg-capability-icon) { font-size: 15.2px; line-height: 1.65; color: var(--color-dark-gray, #334155); margin: 0px !important; }
:where(.pg-custom-solutions) .service-contextual-nav,
:where(.pg-custom-solutions) .service-contextual-nav.wp-block-group { margin-top: 32px; border-top: 1px solid var(--color-border-subtle, #e2e8f0); text-align: center; padding-top: 32px !important; }
:where(.pg-custom-solutions) .service-contextual-links { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 20px !important; margin: 0px !important; }
:where(.pg-custom-solutions) .service-contextual-links p { margin: 0px !important; }
:where(.pg-custom-solutions) .service-contextual-links a { display: inline-block; font-size: 14.4px; font-weight: 600; color: var(--color-navy, #1a2b3d); padding: 6.4px 13.6px; background: rgb(255, 255, 255); border: 1px solid var(--color-border-subtle, #e2e8f0); border-radius: 6px; transition: 220ms ease-out; text-decoration: none !important; }
:where(.pg-custom-solutions) .service-contextual-links a:hover { color: var(--color-coral, #e96c66); border-color: var(--color-coral, #e96c66); transform: translateY(-2px); box-shadow: rgba(233, 108, 102, 0.12) 0px 4px 12px; }
:where(.pg-custom-solutions) .service-authority-block,
:where(.pg-custom-solutions) .service-authority-block.wp-block-group { background-color: var(--color-navy, #1a2b3d); color: var(--color-white, #ffffff); border-radius: 16px; padding: 56px 48px; margin: 44px auto 40px; }
:where(.pg-custom-solutions) .service-authority-block h2,
:where(.pg-custom-solutions) .service-authority-block .wp-block-heading { color: var(--color-white, #ffffff); font-size: 34.4px; line-height: 1.2; margin: 8px 0px 20px; }
.pg-custom-solutions .service-authority-block p { color: rgb(203, 213, 225); font-size: 16.8px; line-height: 1.65; margin-bottom: 20px; }
:where(.pg-custom-solutions) .authority-metrics-stack,
:where(.pg-custom-solutions) .authority-metrics-stack.wp-block-group { flex-direction: column; gap: 16px; padding: 0px !important; background: none !important; border-radius: 0px !important; display: flex !important; }
:where(.pg-custom-solutions) .is-style-pg-authority-metric,
:where(.pg-custom-solutions) .is-style-pg-authority-metric.wp-block-group,
:where(.pg-custom-solutions) .stat-badge-card { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; transition: background-color 240ms ease-out, transform 240ms ease-out; padding: 20px 24px !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 20px !important; box-sizing: border-box !important; width: 100% !important; }
:where(.pg-custom-solutions) .is-style-pg-authority-metric:hover,
:where(.pg-custom-solutions) .stat-badge-card:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }
:where(.pg-custom-solutions) .stat-icon-badge,
:where(.pg-custom-solutions) p.stat-icon-badge { align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; border-radius: 10px; background: rgba(233, 108, 102, 0.15); position: relative; flex-shrink: 0; display: flex !important; margin: 0px !important; padding: 0px !important; }
:where(.pg-custom-solutions) p.stat-icon-badge::before { content: ""; display: block; width: 22px; height: 22px; background-color: var(--color-coral, #e96c66); mask-repeat: no-repeat; mask-size: contain; mask-position: center center; }
:where(.pg-custom-solutions) .pg-stat--check p.stat-icon-badge::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .pg-stat--support p.stat-icon-badge::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/%3E%3C/svg%3E"); }
:where(.pg-custom-solutions) .stat-info,
:where(.pg-custom-solutions) .stat-info.wp-block-group { flex: 1 1 0%; min-width: 0px; padding: 0px !important; background: none !important; border-radius: 0px !important; }
:where(.pg-custom-solutions) .stat-info h4,
:where(.pg-custom-solutions) .stat-info .wp-block-heading { font-size: 16px; font-weight: 600; line-height: 1.2; color: var(--color-white, #ffffff) !important; margin: 0px 0px 3.2px !important; }
.pg-custom-solutions .stat-info p { font-size: 14px; line-height: 1.35; color: rgb(148, 163, 184) !important; margin: 0px !important; }
:where(.pg-custom-solutions) p.step-number-badge { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background-color: rgba(233, 108, 102, 0.12); color: var(--color-coral, #e96c66); font-weight: 700; font-size: 18.4px; margin-bottom: 20px; margin-top: 0px; }
:where(.pg-custom-solutions) .process-steps-linear { position: relative; }
:where(.pg-custom-solutions) .pg-process-step--linear,
:where(.pg-custom-solutions) .pg-process-step--linear.wp-block-group { height: 100%; background: transparent !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; box-shadow: none !important; border-radius: 0px !important; padding: 8px 4px !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; text-align: left !important; }
:where(.pg-custom-solutions) .pg-process-step--linear .step-number-badge,
:where(.pg-custom-solutions) .pg-process-step--linear p.step-number-badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; background-color: rgba(233, 108, 102, 0.12) !important; color: var(--color-coral, #e96c66) !important; font-weight: 700 !important; font-size: 17.6px !important; margin-bottom: 16px !important; margin-top: 0px !important; border: 1px solid rgba(233, 108, 102, 0.25) !important; }
:where(.pg-custom-solutions) .pg-process-step--linear h3,
:where(.pg-custom-solutions) .pg-process-step--linear .wp-block-heading { font-size: 19.2px !important; font-weight: 700 !important; color: var(--color-navy, #1a2b3d) !important; margin: 0px 0px 7.2px !important; line-height: 1.3 !important; }
:where(.pg-custom-solutions) .pg-process-step--linear p { font-size: 14.8px !important; line-height: 1.55 !important; color: var(--color-dark-gray, #334155) !important; margin: 0px !important; }
:where(.pg-custom-solutions) .service-closing-cta,
:where(.pg-custom-solutions) .service-closing-cta.wp-block-group { background-color: var(--color-navy, #1a2b3d); color: var(--color-white, #ffffff); border-radius: 16px; padding: 56px 40px; text-align: center; margin: 44px auto 28px; }
:where(.pg-custom-solutions) .service-closing-cta h2,
:where(.pg-custom-solutions) .service-closing-cta .wp-block-heading { color: var(--color-white, #ffffff); font-size: 37.6px; font-weight: 700; line-height: 1.15; margin: 0px 0px 16px; }
.pg-custom-solutions .service-closing-cta p { color: var(--color-ash-gray, #f5f5f5); font-size: 18.4px; line-height: 1.6; max-width: 620px; margin: 0px auto 32px; }
@media (max-width: 1080px) {
:where(.pg-custom-solutions) .service-hero-grid.wp-block-columns { display: flex !important; flex-direction: column !important; gap: 40px !important; }
:where(.pg-custom-solutions) .service-hero-grid > .wp-block-column { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; margin: 0px !important; }
}
@media (max-width: 991px) {
:where(.pg-custom-solutions) .service-authority-block,
:where(.pg-custom-solutions) .service-authority-block.wp-block-group { padding: 40px 32px; }
:where(.pg-custom-solutions) .service-authority-block h2,
:where(.pg-custom-solutions) .service-authority-block .wp-block-heading { font-size: 29.6px; }
:where(.pg-custom-solutions) .pg-capability-item,
:where(.pg-custom-solutions) .pg-capability-item.wp-block-group { padding: 20px 0px !important; border-bottom: 1px solid var(--color-border-subtle, #e2e8f0) !important; }
:where(.pg-custom-solutions) .pg-capability-header { display: flex !important; flex-direction: row !important; align-items: center !important; gap: var(--pg-space-2, 12px) !important; margin-bottom: var(--pg-item-header-gap, 8px) !important; padding: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-icon { width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; }
:where(.pg-custom-solutions) .pg-capability-icon::before { width: 18px !important; height: 18px !important; }
:where(.pg-custom-solutions) .pg-capability-title,
:where(.pg-custom-solutions) .pg-capability-item h3 { font-size: 19.2px !important; line-height: 1.3 !important; margin-bottom: var(--pg-item-copy-gap, 8px) !important; }
:where(.pg-custom-solutions) .pg-capability-desc,
:where(.pg-custom-solutions) .pg-capability-item p:not(.pg-capability-label):not(.pg-capability-icon) { font-size: 15.2px !important; line-height: 1.6 !important; }
}
@media (max-width: 767px) {
:where(.pg-custom-solutions) .service-hero-section,
:where(.pg-custom-solutions) .service-hero-section.wp-block-group { margin-bottom: 20px; padding: 20px 0px 32px !important; }
:where(.pg-custom-solutions) .service-hero-section .service-hero-grid,
:where(.pg-custom-solutions) .service-hero-section .wp-block-columns { margin-top: 0px !important; margin-bottom: 0px !important; }
:where(.pg-custom-solutions) .service-hero-title { font-size: 31.2px; line-height: 1.2; margin: 12px 0px 16px; }
:where(.pg-custom-solutions) .service-hero-lead { font-size: 16.8px; line-height: 1.55; margin-bottom: 20px; }
.pg-custom-solutions h2 { font-size: 24.8px; line-height: 1.25; word-break: normal; overflow-wrap: break-word; }
.pg-custom-solutions h3 { font-size: 19.2px; line-height: 1.3; word-break: normal; overflow-wrap: break-word; }
:where(.pg-custom-solutions) .wp-block-group { padding: 28px 20px; }
:where(.pg-custom-solutions) .service-authority-block,
:where(.pg-custom-solutions) .service-authority-block.wp-block-group { margin: 40px auto; padding: 32px 20px !important; }
:where(.pg-custom-solutions) .service-authority-block h2,
:where(.pg-custom-solutions) .service-authority-block .wp-block-heading { font-size: 24.8px; line-height: 1.25; }
:where(.pg-custom-solutions) .authority-metrics-stack,
:where(.pg-custom-solutions) .authority-metrics-stack.wp-block-group { gap: 12px; }
:where(.pg-custom-solutions) .is-style-pg-authority-metric,
:where(.pg-custom-solutions) .is-style-pg-authority-metric.wp-block-group,
:where(.pg-custom-solutions) .stat-badge-card { padding: 14px 16px !important; gap: 13.6px !important; }
:where(.pg-custom-solutions) .stat-info h4,
:where(.pg-custom-solutions) .stat-info .wp-block-heading { font-size: 15.2px; }
.pg-custom-solutions .stat-info p { font-size: 13px; }
:where(.pg-custom-solutions) .stat-icon-badge,
:where(.pg-custom-solutions) p.stat-icon-badge { width: 40px; min-width: 40px; height: 40px; }
:where(.pg-custom-solutions) .service-closing-cta,
:where(.pg-custom-solutions) .service-closing-cta.wp-block-group { margin: 40px auto 16px; padding: 40px 24px !important; }
:where(.pg-custom-solutions) .service-closing-cta h2,
:where(.pg-custom-solutions) .service-closing-cta .wp-block-heading { font-size: 29.6px; }
.pg-custom-solutions .service-closing-cta p { font-size: 16.8px; }
:where(.pg-custom-solutions) .wp-block-button { width: 100%; }
:where(.pg-custom-solutions) .wp-block-button__link { width: 100%; }
:where(.pg-custom-solutions) .pg-capability-item,
:where(.pg-custom-solutions) .pg-capability-item.wp-block-group { padding: 20px 0px !important; }
:where(.pg-custom-solutions) .pg-capability-header { gap: var(--pg-space-2, 12px) !important; margin-bottom: var(--pg-item-header-gap, 8px) !important; padding: 0px !important; }
:where(.pg-custom-solutions) .pg-capability-title,
:where(.pg-custom-solutions) .pg-capability-item h3 { font-size: 19.2px !important; line-height: 1.3 !important; margin-bottom: var(--pg-item-copy-gap, 8px) !important; }
:where(.pg-custom-solutions) .pg-capability-desc,
:where(.pg-custom-solutions) .pg-capability-item p:not(.pg-capability-label):not(.pg-capability-icon) { font-size: 15.2px !important; line-height: 1.6 !important; }
:where(.pg-custom-solutions) .service-contextual-nav,
:where(.pg-custom-solutions) .service-contextual-nav.wp-block-group { margin-top: 28px; width: 100% !important; max-width: 100% !important; padding-top: 28px !important; }
:where(.pg-custom-solutions) .service-contextual-links,
:where(.pg-custom-solutions) .service-contextual-links.wp-block-group { display: flex !important; flex-direction: column !important; width: 100% !important; gap: 10.4px !important; }
:where(.pg-custom-solutions) .service-contextual-links p { width: 100% !important; margin: 0px !important; }
:where(.pg-custom-solutions) .service-contextual-links a { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 46px !important; padding: 10.4px 16px !important; font-size: 15.2px !important; font-weight: 600 !important; text-align: center !important; border-radius: 8px !important; box-sizing: border-box !important; }
}
/* Hallmark · pre-emit critique: P5 H4 E4 S5 R5 V5
 * Soluciones a medida: scoped composition; PG tokens and native blocks.
 * Screenshot ratios/crop positions are specific to the supplied evidence.
 */
.pg-custom-solutions.wp-block-group {
  padding: 0;
  border-radius: 0;
  color: var(--color-dark-gray);
}
.pg-custom-solutions .wp-block-columns { margin: 0; gap: var(--pg-grid-gap-editorial, 48px); }
.pg-custom-solutions .wp-block-column { margin: 0; min-width: 0; }
.pg-custom-solutions [class*="cs-"] { min-width: 0; }
.pg-custom-solutions .cs-section {
  padding: var(--pg-section-y-editorial, 72px) 0;
  margin: 0;
  border-radius: 0;
}
.pg-custom-solutions :is(.cs-heading, .cs-problems-intro, .cs-problem-list, .cs-problem-row, .cs-row-copy, .cs-case-heading, .cs-case-intro, .cs-case-brief, .cs-noou-support, .cs-puka-layout, .cs-puka-copy, .cs-finance-heading, .cs-finance-title, .cs-finance-copy, .cs-finance-links) {
  padding: 0;
  margin: 0;
  border-radius: 0;
}
.pg-custom-solutions .cs-section h2 { margin: 0 0 var(--pg-heading-to-intro, 12px); text-wrap: balance; }
.pg-custom-solutions .cs-section h3 { margin: 0 0 var(--pg-item-header-gap, 8px); font-size: 20px; }
.pg-custom-solutions .cs-section p { margin: 0; font-size: 16px; line-height: 1.65; }
.pg-custom-solutions .cs-section p + p { margin-top: var(--pg-space-3, 16px); }
.pg-custom-solutions .cs-section .cs-intro { font-size: 18.4px; max-width: 65ch; }
.pg-custom-solutions .cs-heading { margin-bottom: var(--pg-section-content-gap, 32px); max-width: 760px; }
.pg-custom-solutions .cs-hero .service-hero-title { text-wrap: balance; }
.pg-custom-solutions .cs-hero-note { margin: var(--pg-space-4, 20px) 0 0; font-size: 14px; }
.pg-custom-solutions .wp-block-button__link { min-height: 48px; }
.pg-custom-solutions .cs-hero .wp-block-buttons { gap: var(--pg-space-2, 12px); }
.pg-custom-solutions .cs-process-diagram {
  padding: var(--pg-space-6, 40px);
  background: var(--color-ash-gray);
  border-radius: var(--radius-lg);
  max-width: 560px;
  margin-left: auto;
}
.pg-custom-solutions .cs-process-diagram p { margin: 0; }
.pg-custom-solutions .cs-diagram-label { font-weight: 600; color: var(--color-navy); }
.pg-custom-solutions :is(.cs-diagram-inputs, .cs-diagram-output) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pg-space-2, 12px);
  padding: 0;
  margin: var(--pg-space-3, 16px) 0;
}
.pg-custom-solutions .cs-diagram-inputs p {
  flex: 0 1 auto;
  white-space: nowrap;
  text-align: center;
  font-size: 14px;
  padding: var(--pg-space-2, 12px);
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
}
.pg-custom-solutions .cs-diagram-core {
  background: var(--color-navy);
  color: var(--color-white);
  border-radius: var(--radius-md);
  padding: var(--pg-space-5, 28px);
  margin: var(--pg-space-5, 28px) 0;
}
.pg-custom-solutions .cs-diagram-core h3 { color: var(--color-white); font-size: 24px; margin: 0 0 var(--pg-space-2, 12px); }
.pg-custom-solutions .cs-diagram-core p { color: var(--color-border); font-size: 16px; }
.pg-custom-solutions .cs-diagram-output { flex-direction: column; gap: var(--pg-space-1, 8px); font-weight: 600; color: var(--color-navy); }
.pg-custom-solutions .cs-diagram-output p { border-bottom: 1px solid var(--color-border); padding-bottom: var(--pg-space-2, 12px); }
.pg-custom-solutions p.cs-diagram-caption { font-size: 13px; margin-top: var(--pg-space-5, 28px); color: var(--color-dark-gray); }
.pg-custom-solutions .cs-problems { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--pg-grid-gap-editorial, 48px); }
.pg-custom-solutions .cs-problems-intro { max-width: 430px; }
.pg-custom-solutions .cs-problem-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .65fr); align-items: center; gap: var(--pg-grid-column-gap, 24px); padding: var(--pg-item-separation, 28px) 0; border-top: 1px solid var(--color-border-subtle); }
.pg-custom-solutions .cs-problem-row:first-child { padding-top: 0; border-top: 0; }
.pg-custom-solutions .cs-problem-row p { font-size: 15.2px; }
.pg-custom-solutions .cs-problem-row .cs-row-answer { color: var(--color-navy); font-weight: 600; margin: 0; }
.pg-custom-solutions .cs-row-answer::before { content: ""; display: block; width: 24px; height: 2px; background: var(--color-coral); margin-bottom: var(--pg-space-2, 12px); }
.pg-custom-solutions .cs-scope { padding-inline: var(--pg-space-6, 40px); background: var(--color-ash-gray); border-radius: var(--radius-lg); }
.pg-custom-solutions .cs-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; gap: var(--pg-capability-row-gap, 52px) var(--pg-capability-col-gap, 60px); }
.pg-custom-solutions .cs-capability-grid > .pg-capability-item { border-radius: 0; }
/* The incumbent label forces coral with !important; this scoped override restores text contrast. */
.pg-custom-solutions .pg-capability-label { color: var(--color-navy) !important; }
.pg-custom-solutions .cs-case-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: var(--pg-grid-gap-editorial, 48px); margin-bottom: var(--pg-section-content-gap, 32px); }
.pg-custom-solutions p.cs-case-label { font-size: 14px; font-weight: 600; color: var(--color-navy); margin: 0 0 var(--pg-eyebrow-to-heading, 16px); }
.pg-custom-solutions .cs-case-brief h3:not(:first-child) { margin-top: var(--pg-item-separation, 28px); }
.pg-custom-solutions .cs-screenshot { margin: 0; }
.pg-custom-solutions .cs-evidence-mobile { display: none; }
.pg-custom-solutions .cs-screenshot :is(a, .cs-lightbox-image) { display: block; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-md); overflow: clip; background: var(--color-white); }
.pg-custom-solutions .cs-screenshot img { width: 100%; height: auto; display: block; }
.pg-custom-solutions .cs-screenshot figcaption { text-align: left; font-size: 14px; color: var(--color-dark-gray); line-height: 1.5; padding-top: var(--pg-space-2, 12px); margin: 0; }
.pg-custom-solutions .cs-screenshot :is(a, .cs-lightbox-image):hover { border-color: var(--color-navy); }
.pg-custom-solutions .cs-noou-main { max-width: 1120px; }
.pg-custom-solutions p.cs-connected-areas { padding: var(--pg-space-4, 20px) 0; margin: var(--pg-space-4, 20px) 0; border-block: 1px solid var(--color-border-subtle); font-size: 15.2px; }
.pg-custom-solutions .cs-noou-support { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--pg-grid-column-gap, 24px); }
.pg-custom-solutions .cs-noou-support img { aspect-ratio: 1.8; object-fit: cover; object-position: top; }
.pg-custom-solutions p.cs-case-result { margin-top: var(--pg-space-5, 28px); max-width: 75ch; }
.pg-custom-solutions .cs-noou .cs-case-note { display: block; margin-top: var(--pg-space-2, 12px); color: var(--color-dark-gray); font-size: 14px; line-height: 1.5; }
.pg-custom-solutions .cs-puka { padding-inline: var(--pg-space-6, 40px); background: var(--color-ash-gray); border-radius: var(--radius-lg); }
.pg-custom-solutions .cs-puka-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: var(--pg-grid-gap-editorial, 48px); align-items: center; }
.pg-custom-solutions .cs-puka-copy h2 { max-width: 20ch; }
.pg-custom-solutions .cs-puka-copy p { max-width: 65ch; }
.pg-custom-solutions .cs-text-link :is(a, .cs-lightbox-link), .pg-custom-solutions .cs-finance-links :is(a, .cs-lightbox-link) { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; color: var(--color-navy); }
.pg-custom-solutions .cs-finance-heading { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: var(--pg-grid-gap-editorial, 48px); margin-bottom: var(--pg-section-content-gap, 32px); }
.pg-custom-solutions .cs-finance-links { display: flex; flex-wrap: wrap; gap: var(--pg-grid-column-gap, 24px); margin-top: var(--pg-space-2, 12px); }
.pg-custom-solutions .cs-finance-links p + p { margin-top: 0; }
.pg-custom-solutions .cs-ai .wp-block-columns { gap: var(--pg-grid-gap-editorial, 48px); }
.pg-custom-solutions .cs-process { padding-block: var(--pg-section-y-compact, 48px); }
.pg-custom-solutions .cs-technology { padding-top: var(--pg-space-5, 28px); margin-top: var(--pg-space-5, 28px); border-top: 1px solid var(--color-border-subtle); max-width: 75ch; }
.pg-custom-solutions .cs-faq { border-top: 1px solid var(--color-border-subtle); }
.pg-custom-solutions .cs-faq .faq-accordion-group { padding: 0; max-width: 760px; margin: 0 auto; }
.pg-custom-solutions .cs-faq .cs-heading { text-align: center; margin-inline: auto; }
.pg-custom-solutions .cs-context { margin: 0 auto; }
.pg-custom-solutions .cs-context p { max-width: none; }
.pg-custom-solutions :is(a, .cs-lightbox-trigger):focus-visible { outline: 3px solid var(--color-navy); outline-offset: 4px; }
.pg-custom-solutions .service-closing-cta a:focus-visible { outline-color: var(--color-white); }
.pg-custom-solutions ::selection { background: var(--color-navy); color: var(--color-white); }
.pg-custom-solutions .cs-lightbox-trigger { appearance: none; font: inherit; padding: 0; margin: 0; cursor: pointer; text-align: inherit; }
.pg-custom-solutions .cs-lightbox-image { width: 100%; cursor: zoom-in; }
.pg-custom-solutions :is(.cs-lightbox-caption, .cs-lightbox-link) { border: 0; background: none; }
.pg-custom-solutions .cs-lightbox-caption { color: inherit; }
.pg-custom-solutions .cs-lightbox-caption:hover { text-decoration: underline; }
.pg-custom-solutions .cs-evidence-lightbox {
  margin: auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-white);
  width: fit-content;
  max-width: calc(100vw - 2 * var(--pg-space-4, 20px));
  max-height: calc(100dvh - 2 * var(--pg-space-4, 20px));
  overflow: visible;
}
.pg-custom-solutions .cs-evidence-lightbox::backdrop { background: rgb(18 30 43 / 88%); }
.pg-custom-solutions .cs-evidence-lightbox .cs-lightbox-toolbar { display: flex; justify-content: flex-end; margin-bottom: var(--pg-space-2, 12px); }
.pg-custom-solutions .cs-evidence-lightbox .cs-lightbox-close { min-height: 44px; padding: 8px 16px; border: 1px solid var(--color-white); border-radius: var(--radius-md); background: var(--color-navy); color: var(--color-white); font: inherit; font-size: 16px; line-height: 1.5; cursor: pointer; }
.pg-custom-solutions .cs-evidence-lightbox .cs-lightbox-close:focus-visible { outline: 3px solid var(--color-white); outline-offset: 4px; }
.pg-custom-solutions .cs-evidence-lightbox .cs-lightbox-full { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 2 * var(--pg-space-4, 20px) - 56px); object-fit: contain; margin: 0 auto; }
.pg-custom-solutions .cs-evidence-lightbox .cs-lightbox-status { margin: 0; }
.pg-custom-solutions .cs-evidence-lightbox [hidden] { display: none; }
@media (max-width: 1080px) {
  .pg-custom-solutions .cs-process-diagram { margin: 0; width: 100%; }
  .pg-custom-solutions .cs-hero .service-hero-lead { max-width: 70ch; }
  .pg-custom-solutions .cs-problems { grid-template-columns: minmax(0, 1fr); }
  .pg-custom-solutions .cs-problems-intro { max-width: 760px; }
}
@media (max-width: 991px) {
  .pg-custom-solutions :is(.cs-case-heading, .cs-puka-layout, .cs-finance-heading) { grid-template-columns: minmax(0, 1fr); gap: var(--pg-mobile-content-gap, 28px); }
  .pg-custom-solutions .cs-case-brief { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--pg-space-2, 12px) var(--pg-space-5, 28px); }
  .pg-custom-solutions .cs-case-brief h3:not(:first-child) { margin-top: 0; }
  .pg-custom-solutions .cs-case-brief h3:nth-of-type(2) { grid-column: 2; grid-row: 1; }
  .pg-custom-solutions .cs-puka-sheet { max-width: 584px; }
  .pg-custom-solutions .cs-ai .wp-block-columns { flex-direction: column; }
  .pg-custom-solutions .cs-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pg-custom-solutions .cs-section { padding-block: var(--pg-mobile-section-y, 60px); }
  .pg-custom-solutions :is(.cs-scope, .cs-puka) { padding-inline: var(--pg-space-4, 20px); }
  .pg-custom-solutions .cs-section h2 { font-size: 24.8px; }
  .pg-custom-solutions .cs-section .cs-intro { font-size: 16.8px; }
  .pg-custom-solutions .cs-hero .service-hero-title { font-size: 31.2px; }
  .pg-custom-solutions .cs-process-diagram { padding: var(--pg-space-4, 20px); }
  .pg-custom-solutions .cs-diagram-core { padding: var(--pg-space-4, 20px); }
  .pg-custom-solutions .cs-diagram-core h3 { font-size: 20px; }
  .pg-custom-solutions .cs-diagram-inputs p { font-size: 13px; padding-inline: var(--pg-space-1, 8px); }
  .pg-custom-solutions .cs-problem-row { grid-template-columns: minmax(0, 1fr); gap: var(--pg-space-2, 12px); }
  .pg-custom-solutions .cs-row-answer::before { display: inline-block; vertical-align: middle; margin: 0 var(--pg-space-2, 12px) 0 0; }
  .pg-custom-solutions :is(.cs-capability-grid, .cs-noou-support) { grid-template-columns: minmax(0, 1fr); gap: var(--pg-mobile-content-gap, 28px); }
  .pg-custom-solutions .cs-case-brief { display: block; }
  .pg-custom-solutions .cs-case-brief h3:not(:first-child) { margin-top: var(--pg-item-separation, 28px); }
  /* Authentic crops preserve the original type size, with the full source one tap away. */
  .pg-custom-solutions .cs-evidence-desktop { display: none; }
  .pg-custom-solutions .cs-evidence-mobile { display: block; }
  .pg-custom-solutions .cs-noou > .cs-evidence-mobile { max-width: 370px; }
  .pg-custom-solutions .cs-mobile-support img { height: 280px; aspect-ratio: auto; object-fit: cover; object-position: top; }
  .pg-custom-solutions .cs-finance-links { flex-direction: column; gap: 0; }
  .pg-custom-solutions .cs-process { padding-block: var(--pg-mobile-section-compact, 36px); }
  .pg-custom-solutions .cs-steps { gap: var(--pg-process-gap, 32px) var(--pg-space-3, 16px); }
  .pg-custom-solutions .cs-hero .wp-block-button__link,
  .pg-custom-solutions .cs-hero .wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { padding-inline: var(--pg-space-3, 16px); }
}
@media (max-width: 380px) {
  .pg-custom-solutions .cs-steps { grid-template-columns: minmax(0, 1fr); }
  .pg-custom-solutions .service-closing-cta .wp-block-button__link { padding-inline: var(--pg-space-2, 12px); font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .pg-custom-solutions *, .pg-custom-solutions *::before, .pg-custom-solutions *::after { animation: none; transition: none; scroll-behavior: auto; }
}

/* Normal Astra page: only the landing's content shell is neutralized. */
.pg-custom-solutions-page #content > .ast-container { max-width: none; padding: 0; display: block; }
.pg-custom-solutions-page #primary { width: 100%; margin: 0; padding: 0; border: 0; }
.pg-custom-solutions-page #primary .ast-article-single { margin: 0; padding: 0; border: 0; background: #fff; }
.pg-custom-solutions-page #primary .entry-header { display: none; }
.pg-custom-solutions-page #primary .entry-content { margin: 0; padding: 0; }
.pg-custom-solutions-page #primary .entry-content > .pg-custom-solutions.wp-block-group,
.pg-custom-solutions.wp-block-group { box-sizing: border-box; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 32px 80px; border-radius: 0; }
.pg-custom-solutions .alignwide { margin-left: 0; margin-right: 0; }
@media (max-width: 768px) {
.pg-custom-solutions-page #primary .entry-content > .pg-custom-solutions.wp-block-group,
.pg-custom-solutions.wp-block-group { padding-inline: 20px; }
}
