/* Shared Solution Detail presentation; page content stays in native blocks. */
.gp-solution-detail { background: var(--gp-color-cream-light); color: var(--gp-color-ink); }
.gp-solution-detail :where(h1,h2,h3,p,figure,.wp-block-buttons) { margin-block: 0; }
.gp-solution-detail .gp-container { max-width: var(--gp-container); }
.gp-solution-section { padding-block: clamp(44px,5vw,72px); }
.gp-solution-detail h2 { font-size: clamp(30px,3.2vw,44px); line-height: 1.12; max-width: 850px; }
.gp-solution-intro { color: var(--gp-color-muted); max-width: 790px; margin-top: 20px !important; line-height: 1.7; }
.gp-solution-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--gp-color-muted); padding-block: 26px; }
.gp-solution-breadcrumb p + p::before { content: "/"; margin-right: 8px; }
.gp-solution-breadcrumb a { text-decoration: none; }
.gp-solution-hero { padding-block: 18px 64px; }
.gp-solution-hero-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(32px,4vw,60px); align-items: center; }
.gp-solution-hero-copy { display: grid; gap: 24px; min-width: 0; }
.gp-solution-detail h1 { font-size: clamp(42px,4.1vw,65.6px); line-height: 1.04; letter-spacing: -.04em; }
.gp-solution-hero-copy > p:not(.gp-eyebrow) { color: var(--gp-color-muted); font-size: 17px; line-height: 1.7; }
.gp-solution-hero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.gp-solution-hero .wp-block-button__link { font-size: 12px; padding: 14px 19px; }
.gp-solution-hero-media { border-radius: var(--gp-radius-large); overflow: hidden; border-bottom: 7px solid var(--gp-color-yellow); }
.gp-solution-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.gp-solution-values { background: var(--gp-color-cream); }
.gp-solution-value-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin-top: 36px; }
.gp-solution-value { border-top: 2px solid var(--gp-color-yellow); padding-top: 20px; }
.gp-solution-value h3 { font-size: 21px; line-height: 1.2; margin-bottom: 14px; }
.gp-solution-value p { font-size: 14px; line-height: 1.7; color: var(--gp-color-muted); }
.gp-solution-app-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-top: 32px; }
.gp-solution-app figure { overflow: hidden; border-radius: var(--gp-radius-small); aspect-ratio: 4/3; }
.gp-solution-app img { width: 100%; height: 100%; object-fit: cover; }
.gp-solution-app h3 { font-size: 21px; margin-top: 18px; }
.gp-solution-structures { background: var(--gp-color-cream); }
.gp-solution-detail .gp-solutions-type-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.gp-solution-detail .gp-solutions-type-card { display: flex; flex-direction: column; gap: 20px; padding: 16px; background: var(--gp-color-cream-light); }
.gp-solution-detail .gp-solutions-type-card > figure { width: 100%; aspect-ratio: 4/3; }
.gp-solution-detail .gp-solutions-type-copy { flex: 1; width: 100%; gap: 14px; }
.gp-solution-detail .gp-solutions-type-copy .wp-block-buttons { margin-top: auto; padding-top: 6px; }
.gp-solution-finishing-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; margin-top: 40px; }
.gp-solution-finish { text-align: center; min-width: 0; }
.gp-solution-finish figure { position: relative; width: min(190px,100%); aspect-ratio: 1; overflow: hidden; border-radius: 50%; margin-inline: auto; }
.gp-solution-finish img { display: block; position: absolute; max-width: none; width: 100%; height: 100%; object-fit: cover; }
/* Crop existing media to the printed pattern, foil, relief, gloss and surface detail. */
.gp-solution-finish .wp-image-83 { height: auto; width: 500%; left: -400%; top: -246%; }
.gp-solution-finish .wp-image-61 { height: auto; width: 724%; left: -35%; top: -385%; }
.gp-solution-finish .wp-image-66 { height: auto; width: 724%; left: -170%; top: -375%; }
.gp-solution-finish .wp-image-90 { height: auto; width: 545.45%; left: -222.73%; top: -272.73%; }
.gp-solution-finish .wp-image-78 { height: auto; width: 461.54%; left: -265.38%; top: -234.62%; }
.gp-solution-finish h3 { font-size: 17px; line-height: 1.3; margin-top: 20px; }
.gp-solution-process { background: var(--gp-color-cream); }
.gp-solution-process .gp-product-process__steps { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin-top: 34px; }
.gp-solution-process .gp-product-process__steps li { border-top: 1px solid var(--gp-color-line); padding: 22px 0 0; }
.gp-solution-process .gp-product-process__steps span { color: var(--gp-color-green); font-size: 27px; }
.gp-solution-process .gp-product-process__steps strong { display: block; font-size: 19px; }
.gp-solution-process .gp-product-process__steps p { font-size: 14px; color: var(--gp-color-muted); margin-top: 14px; line-height: 1.7; }
.gp-solution-products-query { margin-top: 32px; }
.gp-solution-products-query .wp-block-post-template { padding: 0; grid-template-columns: repeat(3,minmax(0,1fr)); }
.gp-solution-products-query .wp-block-post-template > li { display: flex; min-width: 0; }
.gp-solution-products-query .gp-product-related-card { width: 100%; }
.gp-solution-final { background: var(--gp-color-cream-light); color: var(--gp-color-cream-light); padding: 16px var(--gp-gutter) 72px; }
.gp-solution-final-grid { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 48px; padding: clamp(28px,4vw,56px); background: var(--gp-color-teal-deep); border-radius: var(--gp-radius-large); }
.gp-solution-final-copy { display: grid; gap: 22px; max-width: 750px; }
.gp-solution-final .gp-eyebrow { color: var(--gp-color-yellow); }
.gp-solution-final h2 { font-size: clamp(30px,3.1vw,42px); }
.gp-solution-final p { color: inherit; }
.gp-solution-final .wp-block-button__link { white-space: normal; }
@media (max-width:1199.98px) {
 .gp-solution-hero-grid { grid-template-columns: 1fr; gap: 32px; }
 .gp-solution-hero-copy { max-width: 800px; }
 .gp-solution-hero-media { width: 100%; max-width: 640px; }
 .gp-solution-value-grid,.gp-solution-app-grid,.gp-solution-finishing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gp-solution-detail .gp-solutions-type-grid,.gp-solution-products-query .wp-block-post-template { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gp-solution-process .gp-product-process__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gp-solution-process .gp-product-process__steps li::after { content: none; }
 .gp-solution-final-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width:767px) {
 .gp-solution-hero { padding-block: 12px 44px; }
 .gp-solution-value-grid,.gp-solution-app-grid,.gp-solution-finishing-grid { grid-template-columns: 1fr; gap: 28px; }
 .gp-solution-app figure { max-width: 100%; }
 .gp-solution-process .gp-product-process__steps { grid-template-columns: 1fr; }
 .gp-solution-detail .gp-solutions-type-grid,.gp-solution-products-query .wp-block-post-template { grid-template-columns: 1fr; }
 .gp-solution-finish { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 20px; align-items: center; text-align: left; }
 .gp-solution-finish h3 { margin-top: 0; }
 .gp-solution-final { padding-block: 0 44px; }
}
