/* Package 3 only; shared tokens and focus/link policy remain foundation-owned. */
.pl-home .pl-button { justify-content: center; text-align: center; }
.pl-home .pl-button > [aria-hidden] { display: inline-block; transition: transform var(--transition-base, 200ms); }
/* The hero and About Us CTAs use the header CTA arrow rotation instead of this nudge. */
.pl-home .pl-button:not(.hero *, .pl-why *):is(:hover,:focus-visible) > [aria-hidden] { transform: translateX(4px); }
.pl-home .pl-solution-card { transition: border-color var(--transition-base, 200ms); }
.pl-home .pl-solution-card:is(:hover,:focus-within) { border-color: var(--color-accent-orange); }
.pl-home .pl-solution-card > .pl-button { align-self: stretch; }
.solutions-overview .elementor-2535 .elementor-element-4600699 { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto; gap: var(--card-gap); }
.solutions-overview .elementor-element-4600699 > .e-con { grid-column: span 2; min-width: 0; padding: var(--card-padding); }
.solutions-overview .elementor-element-4600699 > .e-con:nth-child(4) { grid-column: 2 / span 2; }
.solutions-overview .elementor-button-content-wrapper { justify-content: center; align-items: center; gap: 10px; }
.solutions-overview .elementor-button-text { flex-grow: 0; }
/* Benefit callouts: readable labels and a reliable decorative SVG check. */
.solutions-overview .solution-benefit {
 display: flex; align-items: center; gap: var(--spacing-xs);
 width: 100%; margin: auto 0 0; padding: calc(var(--spacing-sm) * .75);
 background: var(--color-cloud-white); border: 1px solid var(--color-border);
 border-radius: var(--radius-md); color: var(--color-dark-blue);
}
.solutions-overview .solution-benefit-check { flex: 0 0 24px; width: 24px; height: 24px; color: var(--color-primary-blue); }
main#content.solutions-overview .solution-benefit h3 {
 flex: 1; min-width: 0; align-self: center; margin: 0;
 font: var(--font-weight-semibold) 1rem/1.4 var(--font-marketing);
 color: var(--color-dark-blue); text-align: left;
}
/* Full-width chrome on this page; reading widths remain bounded below. */
body:has(> .solutions-overview) .pl-header .pl-header-inner { max-width: none; }
@media (min-width: 1101px) {
 body:has(> .solutions-overview) .pl-navigation > ul { margin-inline: auto; }
}
/* From 1920px the sitewide 90% header width applies here too. */
@media (min-width: 1101px) and (max-width: 1919px) {
 body:has(> .solutions-overview) .pl-header .pl-header-inner { padding-inline: clamp(24px, 4vw, 96px); }
}
.solutions-overview .elementor-2535 > .e-con > .e-con-inner {
 width: min(var(--max-width), calc(100% - 2 * var(--container-gutter)));
 max-width: none;
 margin-inline: auto;
 padding-inline: 0;
}
.solutions-overview .elementor-2535 .elementor-element.elementor-element-4600699 { --width: 100%; }
.solutions-overview .elementor-2535 .elementor-element.elementor-element-4435166.e-con { --width: min(100%, 760px); --align-self: flex-start; }
@media (max-width: 767px) {
 .solutions-overview { --container-gutter: var(--spacing-md); }
}
@media (max-width: 1024px) {
 .solutions-overview .elementor-2535 .elementor-element-4600699 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .solutions-overview .elementor-element-4600699 > .e-con:nth-child(4) { grid-column: span 2; }
 .solutions-overview .elementor-element-4600699 > .e-con:last-child { grid-column: 2 / span 2; }
}
@media (max-width: 600px) {
 .solutions-overview .elementor-2535 .elementor-element-4600699 { grid-template-columns: minmax(0, 1fr); }
 .solutions-overview .elementor-element-4600699 > .e-con:nth-child(n) { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
 .pl-home .pl-button:is(:hover,:focus-visible) > [aria-hidden] { transform: none; }
}
.pl-reduce-motion .pl-home .pl-button:is(:hover,:focus-visible) > [aria-hidden] { transform: none; }

/* The legacy tablet rule hid the trust strip and its motion control entirely.
   The motion control sits in its own row directly under the logo strip;
   its reserved height matches the toggle so inserting it causes no shift. */
.pl-home .pl-trust { display: grid; grid-template-columns: 185px minmax(0, 1fr); height: auto; gap: 12px 32px; }
.pl-home .pl-trust .pl-motion-control { grid-column: 2; min-height: 32px; justify-self: end; }
.pl-home .pl-trust .pl-motion-toggle { margin: 0; }
@media (max-width: 767px) {
 .pl-home .pl-trust { grid-template-columns: minmax(0, 1fr); }
 .pl-home .pl-trust .pl-motion-control { grid-column: 1; justify-self: start; }
}

/* Integrated QA: retain the orange fill; white text on orange (user decision 2026-10-29). */
.pl-home .pl-submit-row button { background:var(--color-accent-orange); color:white; }

/* Preserve the original upper-tablet composition; desktop action grids are
   integrated in source-spacing.css. */
@media (min-width: 1001px) and (max-width: 1024px) {
 .pl-home .pl-solution-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
 .pl-home .pl-solution-card { grid-column: span 2; }
 .pl-home .pl-solution-card:nth-child(4) { grid-column: 2 / span 2; }
}
.pl-home .pl-industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: var(--max-width); margin-inline: auto; align-items: start; }
.pl-home .pl-industry-details { min-width: 0; }
.pl-home .pl-industry-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 16px var(--card-padding); cursor: pointer; list-style: none; transition: background-color var(--transition-base), color var(--transition-base); }
.pl-home .pl-industry-details > summary::-webkit-details-marker { display: none; }
.pl-home .pl-industry-details > summary h3 { padding: 0; margin: 0; border: 0; color: inherit; }
.pl-home .pl-industry-details > summary svg { flex: 0 0 20px; transition: transform var(--transition-base); }
.pl-home .pl-industry-details[open] > summary svg { transform: rotate(180deg); }
.pl-home .pl-industry-details > summary:is(:hover,:focus-visible) { background: var(--color-cloud-white); color: var(--color-dark-blue); }
.pl-home .pl-industry-copy { padding: var(--card-padding); border-top: 1px solid var(--color-border); }
.pl-home .pl-industry-copy .pl-button { max-width: 100%; }
.pl-home .pl-submit-row button { transition: background-color var(--transition-base), color var(--transition-base); }
.pl-home .pl-submit-row button:is(:hover,:focus-visible) { background: var(--color-dark-blue); color: white; }
@media (max-width: 600px) {
 .pl-home .pl-industry-grid { grid-template-columns: minmax(0, 1fr); }
}
