/* Bright product-specific image library */
.product-list article:nth-child(1):before{background-image:url('assets/images/products/business-cards-colour.jpg?v=30')!important}
.product-list article:nth-child(2):before{background-image:url('assets/images/products/brochures-colour.jpg?v=30')!important}
.product-list article:nth-child(3):before{background-image:url('assets/images/products/flyers-colour.jpg?v=30')!important}
.product-list article:nth-child(4):before{background-image:url('assets/images/products/folders-colour.jpg?v=30')!important}
.product-list article:nth-child(5):before{background-image:url('assets/images/products/stationery-colour.jpg?v=30')!important}
.product-list article:nth-child(6):before{background-image:url('assets/images/products/posters-colour.jpg?v=30')!important}
.product-list article:nth-child(7):before{background-image:url('assets/images/products/booklets-colour.jpg?v=30')!important}
.product-list article:nth-child(8):before{background-image:url('assets/images/products/invitations-colour.jpg?v=30')!important}
.products-page .product-list article:nth-child(9):before{background-image:url('assets/images/products/documents-colour.jpg?v=30')!important;background-position:center!important}
.label-types span:nth-child(1){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/product-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(2){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/battery-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(3){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/stickers-colour.jpg?v=30')!important}
.label-types span:nth-child(4){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/roll-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(5){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/sheet-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(6){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/die-cut-stickers-colour.jpg?v=30')!important}
.label-types span:nth-child(7){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/clear-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(9){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/durable-labels-colour.jpg?v=30')!important}
.merch-list article:nth-child(1):before{background-image:url('assets/images/products/mugs-colour.jpg?v=30')!important}
.merch-list article:nth-child(2):before{background-image:url('assets/images/products/pens-colour.jpg?v=30')!important}
.merch-list article:nth-child(3):before{background-image:url('assets/images/products/keychains-colour.jpg?v=30')!important}
.merch-list article:nth-child(4):before{background-image:url('assets/images/products/bottles-colour.jpg?v=30')!important}
.merch-list article:nth-child(5):before{background-image:url('assets/images/products/tshirts-colour.jpg?v=30')!important}
.merch-list article:nth-child(6):before{background-image:url('assets/images/products/caps-colour.jpg?v=30')!important}
.merch-list article:nth-child(7):before{background-image:url('assets/images/products/goodie-bags-colour.jpg?v=30')!important}
.merch-list article:nth-child(8):before{background-image:url('assets/images/products/bookmarks-colour.jpg?v=30')!important}
.merch-list article:nth-child(9):before{background-image:url('assets/images/products/notebooks-colour.jpg?v=30')!important}
.corporate-options article:nth-child(1):before{background-image:url('assets/images/products/corporate-boxes-premium.jpg?v=30')!important}
.corporate-options article:nth-child(2):before{background-image:url('assets/images/products/pr-boxes-premium.jpg?v=30')!important}
.corporate-options article:nth-child(3):before{background-image:url('assets/images/products/welcome-kits-premium.jpg?v=30')!important}
.corporate-options article:nth-child(4):before{background-image:url('assets/images/products/event-kits-premium.jpg?v=30')!important}
.corporate-options article:nth-child(5):before{background-image:url('assets/images/products/office-gifts-premium.jpg?v=30')!important}
.corporate-options article:nth-child(6):before{background-image:url('assets/images/products/campaign-packs-premium.jpg?v=30')!important}
.service-card-grid article:before{content:"";display:block;width:calc(100% + 60px);margin:-30px -30px 24px;aspect-ratio:1.35;background:center/cover no-repeat;border-radius:13px 13px 0 0}
.service-card-grid article:nth-child(1):before{background-image:url('assets/images/products/invitations-colour.jpg?v=30')}.service-card-grid article:nth-child(2):before{background-image:url('assets/images/products/stationery-colour.jpg?v=30')}.service-card-grid article:nth-child(3):before{background-image:url('assets/images/products/goodie-bags-colour.jpg?v=30')}.service-card-grid article:nth-child(4):before{background-image:url('assets/images/products/product-packaging-colour.jpg?v=30')}.service-card-grid article:nth-child(5):before{background-image:url('assets/images/products/digital-service-colour.jpg?v=30')}.service-card-grid article:nth-child(6):before{background-image:url('assets/images/products/offset-service-colour.jpg?v=30')}.service-card-grid article:nth-child(7):before{background-image:url('assets/images/products/screen-service-colour.jpg?v=30')}.service-card-grid article:nth-child(8):before{background-image:url('assets/images/products/sublimation-service-colour.jpg?v=30')}.service-card-grid article:nth-child(9):before{background-image:url('assets/images/products/uv-service-colour.jpg?v=30')}.service-card-grid article:nth-child(10):before{background-image:url('assets/images/products/vinyl-service-colour.jpg?v=30')}.service-card-grid article:nth-child(11):before{background-image:url('assets/images/products/laser-service-colour.jpg?v=30')}.service-card-grid article:nth-child(12):before{background-image:url('assets/images/products/embroidery-service-colour.jpg?v=30')}.service-card-grid article:nth-child(13):before{background-image:url('assets/images/products/large-format-service-colour.jpg?v=30')}.service-card-grid article:nth-child(14):before{background-image:url('assets/images/products/installation-service-colour.png')}.service-card-grid article:nth-child(15):before{background-image:url('assets/images/products/delivery-service-colour.png')}
.service-card-grid article{padding-top:30px;overflow:hidden}.service-card-grid h3{margin-top:22px}
@media(max-width:600px){.service-card-grid article:before{width:calc(100% + 36px);margin:-18px -18px 18px;aspect-ratio:1.45}}

/* Final contrast system */
@media(max-width:600px){
 .labels-showcase,.team-section,.corporate-suite,.service-range,.faq-hero,.clients-hero,.contact-hero{background:#132b45!important;color:#fff!important}
 .labels-showcase h2,.labels-showcase h3,.labels-showcase p,.team-section h2,.team-section p,.corporate-suite h2,.corporate-suite h3,.corporate-suite p,.service-range h2,.service-range h3,.service-range p{color:#fff!important}
 .urgent-service,.client-standards,.contact-closing{background:#a92663!important;color:#fff!important}
 .urgent-service h2,.urgent-service p,.urgent-service .label,.client-standards p,.contact-closing h2,.contact-closing p{color:#fff!important}
 .category-heading p,.product-feature-copy p,.merch-copy p,.service-promise p,.quality-service p,.corporate-service p{color:#273f52!important}
}

/* Product card contrast */
body main .corporate-suite .corporate-options article,
body main .corporate-suite .corporate-options article :is(h3,p,span),
body main .product-list article :is(h3,p,span),
body main .merch-list article :is(h3,p,span),
body main .category-grid article :is(h3,p,span),
body main .specialty-grid article :is(h3,p,span){
  color:#173451!important;
  opacity:1!important;
}
body main .corporate-suite .corporate-options article:nth-child(3n+1){background:#dff5fa!important}
body main .corporate-suite .corporate-options article:nth-child(3n+2){background:#fff0f6!important}
body main .corporate-suite .corporate-options article:nth-child(3n){background:#fff8dc!important}
body main .project>div{inset:auto 36px 36px!important}

@media(max-width:600px){
  body main .project>div{inset:auto 22px 24px!important}
}

/* v46 — show the complete large-format installation photograph */
.services-page .production-band figure{
 background:#f3f7f8!important;
}

/* v47 — square artwork matched to the split-panel proportions */
.services-page .production-band figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:600px){
  .services-page .production-band figure img{
    height:auto!important;
    object-fit:contain!important;
  }
}
.services-page .production-band figure img{
 object-fit:contain!important;
 object-position:center!important;
}

/* v42 — keep the corporate assembly film uncropped at every viewport */
.products-page .corporate-image video{
 display:block!important;
 width:100%!important;
 height:100%!important;
 object-fit:contain!important;
 object-position:center!important;
 background:#071a35!important;
}
@media(max-width:600px){
 .products-page .corporate-image{
  width:calc(100% - 28px)!important;
  height:auto!important;
  aspect-ratio:16/9!important;
 }
 .products-page .corporate-image video{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
 }
}

/* v38 — final colour, contrast, watermark and motion refinement */
.craft-copy .label{color:#173451!important}
.craft-copy>p:not(.label){color:#243a4f!important;opacity:1!important}
.craft-copy li{color:#172f48!important;border-color:rgba(19,43,69,.34)!important}
.craft-copy ul{border-color:rgba(19,43,69,.34)!important}

.logos img,.proof-logos button img{filter:none!important;opacity:1!important}
.proof-logos button{background:#e6f4fa!important}
.proof-logos button:hover,.proof-logos button:focus-visible,.proof-logos button.is-color{background:#fff!important}

.client-logo-grid figure,.client-logo-grid figure:nth-child(n){background:#dceff7!important}
.client-logo-grid figure:hover{background:#c8e8f3!important}

.product-list article:after,.merch-list article:after,.category-grid article:after,
.corporate-options article:after,.specialty-grid article:after{
 top:12px!important;right:12px!important;width:58px!important;height:44px!important;
 box-sizing:border-box!important;border:1px solid rgba(19,43,69,.16)!important;border-radius:8px!important;
 background:rgba(255,255,255,.94) url('assets/images/4h-printer-logo.png') center/42px auto no-repeat!important;
 opacity:1!important;filter:none!important;box-shadow:0 5px 14px rgba(19,43,69,.16)!important;z-index:5!important;
}

.urgent-service h2,.urgent-service h2 em{color:#fff!important;opacity:1!important;visibility:visible!important}
.urgent-service h2 em{color:#ffe168!important;display:inline!important}
.urgent-service .wrap>div>p{color:#fff!important;opacity:1!important}
.urgent-service .label{color:#d9f5ff!important}

.project,.product-list article,.merch-list article,.category-grid article,.corporate-options article,
.specialty-grid article,.service-card-grid article,.client-logo-grid figure{
 transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease!important;
}
.project:hover,.product-list article:hover,.merch-list article:hover,.category-grid article:hover,
.corporate-options article:hover,.specialty-grid article:hover,.service-card-grid article:hover{
 transform:translateY(-7px)!important;box-shadow:0 18px 42px rgba(19,43,69,.16)!important;
}
.project img,.hero-image img,.about-hero-image img,.products-hero-image img,.services-hero-image img{
 transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease!important;
}
.project:hover img,.hero-image:hover img,.about-hero-image:hover img,.products-hero-image:hover img,.services-hero-image:hover img{
 transform:scale(1.025)!important;
}
.service-list a{transition:padding-left .28s ease,background .28s ease,color .28s ease!important}
.service-list a:hover{padding-left:18px;background:#e7f7fb!important}
.reveal{transition-duration:.75s!important;transition-timing-function:cubic-bezier(.2,.75,.2,1)!important}
.reveal:nth-child(2){transition-delay:.06s}.reveal:nth-child(3){transition-delay:.12s}.reveal:nth-child(4){transition-delay:.18s}

@media(max-width:600px){
 .product-list article:after,.merch-list article:after,.category-grid article:after,
 .corporate-options article:after,.specialty-grid article:after{
   top:7px!important;right:7px!important;width:42px!important;height:33px!important;
   border-radius:6px!important;background-size:32px auto!important;
 }
 .project:hover,.product-list article:hover,.merch-list article:hover,.category-grid article:hover,
 .corporate-options article:hover,.specialty-grid article:hover,.service-card-grid article:hover{transform:none!important;box-shadow:none!important}
}
@media(prefers-reduced-motion:reduce){
 .project,.product-list article,.merch-list article,.category-grid article,.corporate-options article,
 .specialty-grid article,.service-card-grid article,.client-logo-grid figure,.project img,.hero-image img,
 .about-hero-image img,.products-hero-image img,.services-hero-image img{transition:none!important;transform:none!important}
}

/* v32 — complete image framing and interactive About proof logos */
.projects .project{background:#132b45!important}
.projects .project img{
 object-fit:cover!important;
 object-position:center!important;
 filter:saturate(1.05) contrast(1.03)!important;
 transform:none!important;
}
.projects .project.big img{padding:0!important}
.projects .project.color img{background:linear-gradient(145deg,#dff7fb,#e9eef8)!important}
.projects .project.photo img{background:linear-gradient(145deg,#fff0f6,#eef8fb)!important}

.about-hero-image img,.services-hero-image img,
.about-photo-band img,
.production-band img{
 object-position:center!important;
 filter:saturate(1.08) contrast(1.08) brightness(1.03)!important;
 image-rendering:auto;
}
.about-photo-band{background:#132b45!important}
.about-photo-band img{object-fit:cover!important}
.single-location .facility-cards{grid-template-columns:minmax(0,1fr)!important}
.single-location .facility-cards article{max-width:none!important}

.service-card-grid article:before{
 background-size:contain!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
 background-color:#eef7fa!important;
}
.service-card-grid article:nth-child(3n+2):before{background-color:#fff2f7!important}
.service-card-grid article:nth-child(3n):before{background-color:#fff8df!important}

.proof-logos{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:16px!important;
}
.proof-logos button{
 appearance:none;
 border:1px solid rgba(19,43,69,.17);
 border-radius:14px;
 background:rgba(255,255,255,.52);
 min-height:124px;
 padding:20px;
 cursor:pointer;
 transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.proof-logos button:hover,.proof-logos button:focus-visible,.proof-logos button.is-color{
 transform:translateY(-4px);
 background:#fff;
 border-color:#11a9cc;
 box-shadow:0 14px 32px rgba(19,43,69,.12);
 outline:none;
}
.proof-logos button img{
 display:block;
 width:100%!important;
 height:84px!important;
 padding:0!important;
 background:transparent!important;
 object-fit:contain!important;
 filter:grayscale(1)!important;
 opacity:.58!important;
 transition:filter .24s ease,opacity .24s ease,transform .24s ease;
}
.proof-logos button:hover img,.proof-logos button:focus-visible img,.proof-logos button.is-color img{
 filter:none!important;
 opacity:1!important;
 transform:scale(1.035);
}
@media(max-width:600px){
 .projects .project img{object-fit:cover!important}
 .proof-logos{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
 .proof-logos button{min-height:92px;padding:10px}
 .proof-logos button img{height:64px!important}
 .service-card-grid article:before{background-size:contain!important}
}

/* v34 — mobile contrast, compact service imagery and single-location balance */
.single-location .facility-cards{
 display:grid!important;
 grid-template-columns:1fr!important;
 width:100%!important;
}
.single-location .facility-cards article{
 grid-column:1/-1!important;
 width:100%!important;
 max-width:none!important;
 min-height:240px!important;
 background:linear-gradient(120deg,#eef9fb 0%,#fff4f8 58%,#fff7d9 100%)!important;
 border-top:4px solid #11a9cc!important;
}
.single-location .facility-cards p{color:#30485b!important}
.single-location .facility-cards small{color:#132b45!important;font-weight:700!important}

.faq-hero .wrap>p:not(.eyebrow){color:#e7f0f4!important}
.faq-hero .text-button{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
.faq-hero .eyebrow{color:#9fe8f4!important}

@media(max-width:600px){
 .faq-hero .wrap>p:not(.eyebrow){color:#e7f0f4!important;opacity:1!important}
 .faq-hero .text-button{color:#fff!important;opacity:1!important}
 .service-card-grid article{
   background:#f8f4ee!important;
   color:#132b45!important;
   padding:16px!important;
   border-color:rgba(19,43,69,.18)!important;
 }
 .service-card-grid article:nth-child(3n+2){background:#fff1f6!important}
 .service-card-grid article:nth-child(3n){background:#fff8dc!important}
 .service-card-grid article:before{
   width:calc(100% + 32px)!important;
   margin:-16px -16px 16px!important;
   aspect-ratio:1.6!important;
   background-size:cover!important;
   background-position:center!important;
 }
 .service-card-grid article h3{color:#132b45!important;margin:14px 0 8px!important}
 .service-card-grid article p{color:#30485b!important;opacity:1!important}
 .service-card-grid article span{color:#a92663!important;font-weight:700!important}
 .single-location .facility-cards{margin-top:32px!important}
 .single-location .facility-cards article{padding:24px!important;min-height:220px!important}
 .single-location .facility-cards h3{margin:28px 0 12px!important}
}
.category-grid article:nth-child(1):before{background-image:url('assets/images/products/product-packaging-colour.jpg?v=30')!important}
.category-grid article:nth-child(2):before{background-image:url('assets/images/products/sleeves-colour.jpg?v=30')!important}
.category-grid article:nth-child(3):before{background-image:url('assets/images/products/custom-boxes-colour.jpg?v=30')!important}
.category-grid article:nth-child(4):before{background-image:url('assets/images/products/shopping-bags-colour.jpg?v=30')!important}
.category-grid article:nth-child(5):before{background-image:url('assets/images/products/custom-inserts-colour.jpg?v=30')!important}
.label-types span:nth-child(7){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/clear-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(9){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/durable-labels-colour.jpg?v=30')!important}

/* Corrected product offer and single-image specialty cards */
.label-types span:nth-child(1){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/product-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(2){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/battery-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(3){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/stickers-colour.jpg?v=30')!important}
.label-types span:nth-child(4){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/sheet-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(5){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/die-cut-stickers-colour.jpg?v=30')!important}
.label-types span:nth-child(6){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/clear-labels-colour.jpg?v=30')!important}
.label-types span:nth-child(7){background-image:linear-gradient(transparent 52%,#101923d9),url('assets/images/products/durable-labels-colour.jpg?v=30')!important}
.specialty-grid article:nth-child(1):before{background-image:url('assets/images/products/digital-service-colour.jpg?v=30')!important}
.specialty-grid article:nth-child(2):before{background-image:url('assets/images/products/laser-service-colour.jpg?v=30')!important}
.specialty-grid article:nth-child(3):before{background-image:url('assets/images/products/uv-service-colour.jpg?v=30')!important}
.specialty-grid article:nth-child(4):before{background-image:url('assets/images/products/label-printing-v38.jpg')!important}

/* v30 — refined Packaging introduction and corporate showcase */
.products-page .category-block{
 background:linear-gradient(135deg,#fffaf2 0%,#f4fbfd 100%)!important;
 padding-top:84px!important;
 padding-bottom:104px!important;
}
.products-page .category-heading{
 display:grid!important;
 grid-template-columns:minmax(0,1.05fr) minmax(320px,.55fr)!important;
 gap:20px 64px!important;
 align-items:end!important;
 margin:0 0 38px!important;
 padding:42px 46px 40px!important;
 border:1px solid rgba(19,43,69,.14);
 border-top:4px solid #11a9cc;
 border-radius:16px;
 background:linear-gradient(112deg,#eaf8fb 0%,#fff6f8 100%)!important;
 box-shadow:0 14px 40px rgba(19,43,69,.06);
}
.products-page .category-heading .label{
 grid-column:1/-1!important;
 margin:0 0 8px!important;
 color:#21627c!important;
}
.products-page .category-heading h2{
 max-width:720px!important;
 font-size:clamp(48px,4.6vw,70px)!important;
 line-height:.98!important;
 color:#132b45!important;
}
.products-page .category-heading h2 em{color:#b42564!important}
.products-page .category-heading>p:last-child{
 max-width:470px!important;
 margin:0 0 4px!important;
 color:#30485b!important;
 font-size:16px!important;
 line-height:1.65!important;
}
.products-page .corporate-image{
 width:min(1100px,calc(100% - 80px));
 height:auto!important;
 aspect-ratio:16/9;
 margin:58px auto 68px!important;
 overflow:hidden;
 border:1px solid rgba(255,255,255,.14);
 border-radius:18px;
 box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.products-page .corporate-image img,.products-page .corporate-image video{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center!important}
.products-page .category-grid{margin-top:0!important;gap:22px!important}
.products-page .corporate-image{
 width:min(1100px,calc(100% - 80px));
 height:auto!important;
 aspect-ratio:16/9;
 margin:58px auto 68px!important;
 overflow:hidden;
 border-radius:18px;
 border:1px solid rgba(255,255,255,.15);
 box-shadow:0 24px 64px rgba(4,15,31,.28);
}
.products-page .corporate-image img,.products-page .corporate-image video{
 width:100%;height:100%;object-fit:cover!important;object-position:center!important;
 filter:saturate(.96) contrast(1.02)!important;
}
@media(max-width:900px){
 .products-page .category-heading{grid-template-columns:1fr!important;gap:20px!important}
 .products-page .category-heading .label{grid-column:auto!important}
 .products-page .category-heading>p:last-child{max-width:620px!important}
 .products-page .corporate-image{width:calc(100% - 32px);aspect-ratio:4/3;margin:42px auto 52px!important}
}
@media(max-width:600px){
 .products-page .category-block{padding-top:58px!important;padding-bottom:68px!important}
 .products-page .category-heading{margin-bottom:26px!important;padding-bottom:26px!important;gap:16px!important}
 .products-page .category-heading .label{margin-bottom:4px!important}
 .products-page .category-heading h2{font-size:clamp(36px,10.5vw,44px)!important;line-height:1!important}
 .products-page .category-heading>p:last-child{font-size:14px!important;line-height:1.55!important}
 .products-page .category-grid{gap:14px!important}
 .products-page .category-heading{display:block!important;padding:30px 22px 28px!important;margin-bottom:28px!important}
 .products-page .category-heading .label{margin-bottom:18px!important}
 .products-page .category-heading h2{font-size:clamp(36px,10.5vw,44px)!important}
 .products-page .category-heading>p:last-child{margin-top:18px!important;font-size:15px!important;line-height:1.55!important}
 .products-page .corporate-image{width:calc(100% - 28px);aspect-ratio:1.2;margin:34px auto 42px!important;border-radius:13px}
 .products-page .corporate-image img{object-position:45% center!important}
}

/* v35 — phone layouts always show complete imagery */
@media(max-width:600px){
 .hero-image,
 .about-hero-image,
 .products-hero-image,
 .services-hero-image,
 .about-photo-band,
 .team-photo,
 .team-image,
 .product-feature>figure,
 .labels-showcase figure,
 .merch-showcase>figure,
 .production-band figure,
 .corporate-image,
 .craft-image{
   height:auto!important;
   min-height:0!important;
   aspect-ratio:auto!important;
   background:#eef7fa!important;
 }
 .hero-image>img,
 .about-hero-image img,
 .products-hero-image img,
 .services-hero-image img,
 .about-photo-band img,
 .team-photo img,
 .team-image img,
 .product-feature>figure>img,
 .labels-showcase figure img,
 .merch-showcase>figure>img,
 .production-band figure img,
 .corporate-image img,
 .craft-image img{
   display:block!important;
   width:100%!important;
   height:auto!important;
   max-height:none!important;
   object-fit:contain!important;
   object-position:center!important;
   transform:none!important;
 }
 .projects .project img{
   width:100%!important;
   height:auto!important;
   min-height:0!important;
   aspect-ratio:auto!important;
   object-fit:contain!important;
   object-position:center!important;
 }
 .product-list article:before,
 .merch-list article:before,
 .category-grid article:before,
 .corporate-options article:before,
 .specialty-grid article:before,
 .service-card-grid article:before{
   background-size:contain!important;
   background-position:center!important;
   background-repeat:no-repeat!important;
   background-color:#eef7fa!important;
 }
 .label-types span{
   background-size:100% 100%,contain!important;
   background-position:center,center!important;
   background-repeat:no-repeat,no-repeat!important;
   background-color:#eef7fa!important;
 }
 .product-list article:before,
 .merch-list article:before,
 .category-grid article:before,
 .corporate-options article:before,
 .specialty-grid article:before{aspect-ratio:1.18!important}
 .service-card-grid article:before{aspect-ratio:1.35!important}
}

/* v38 cascade lock */
.craft-copy .label{color:#173451!important}.craft-copy>p:not(.label){color:#243a4f!important;opacity:1!important}
.craft-copy li{color:#172f48!important;border-color:rgba(19,43,69,.34)!important}.craft-copy ul{border-color:rgba(19,43,69,.34)!important}
.logos img,.proof-logos button img{filter:none!important;opacity:1!important}
.proof-logos button{background:#e6f4fa!important}
.client-logo-grid figure,.client-logo-grid figure:nth-child(n){background:#dceff7!important}.client-logo-grid figure:hover{background:#c8e8f3!important}
.product-list article:after,.merch-list article:after,.category-grid article:after,.corporate-options article:after,.specialty-grid article:after{top:12px!important;right:12px!important;width:58px!important;height:44px!important;box-sizing:border-box!important;border:1px solid rgba(19,43,69,.16)!important;border-radius:8px!important;background:rgba(255,255,255,.94) url('assets/images/4h-printer-logo.png') center/42px auto no-repeat!important;opacity:1!important;filter:none!important;box-shadow:0 5px 14px rgba(19,43,69,.16)!important;z-index:5!important}
.urgent-service,.urgent-service .wrap{background:#a92663!important;color:#fff!important}.urgent-service h2,.urgent-service h2 em{color:#fff!important;opacity:1!important;visibility:visible!important}.urgent-service h2 em{color:#ffe168!important;display:inline!important}.urgent-service .wrap>div>p{color:#fff!important;opacity:1!important}.urgent-service .label{color:#d9f5ff!important}
@media(max-width:600px){.product-list article:after,.merch-list article:after,.category-grid article:after,.corporate-options article:after,.specialty-grid article:after{top:7px!important;right:7px!important;width:42px!important;height:33px!important;border-radius:6px!important;background-size:32px auto!important}.urgent-service,.urgent-service .wrap{background:#a92663!important;color:#fff!important}.urgent-service h2 em{color:#ffe168!important}.urgent-service .wrap>div>p{color:#fff!important}}
.logos.logo-slider{display:block!important;overflow:hidden!important;max-width:none!important;padding:12px 0!important;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.logo-track{display:flex;width:max-content;align-items:center;gap:18px;animation:logoGlide 42s linear infinite;will-change:transform}
.logo-track img{flex:0 0 170px;width:170px;height:92px;max-width:none!important;max-height:none!important;object-fit:contain;padding:18px;background:#e6f4fa;border:1px solid rgba(19,43,69,.12);border-radius:12px}
.logos.logo-slider:hover .logo-track{animation-play-state:paused}
@keyframes logoGlide{to{transform:translateX(-50%)}}
@media(max-width:600px){.logo-track{gap:10px;animation-duration:30s}.logo-track img{flex-basis:125px;width:125px;height:76px;padding:12px}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none!important}.logos.logo-slider{overflow-x:auto!important;mask-image:none}.reveal{transition:none!important}}

/* v42 final corporate-film framing */
.products-page .corporate-image video{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#071a35!important}
@media(max-width:600px){.products-page .corporate-image{width:calc(100% - 28px)!important;height:auto!important;aspect-ratio:16/9!important}.products-page .corporate-image video{width:100%!important;height:100%!important;object-fit:contain!important}}

/* v48 final cascade: preserve readable text on every coloured panel */
body main .team-section,
body main .labels-showcase,
body main .corporate-suite,
body main .service-range,
body main .faq-hero,
body main .clients-hero,
body main .contact-hero{
  background:#132b45!important;
  color:#fff!important;
}
body main .urgent-service,
body main .client-standards,
body main .contact-closing{
  background:#a92663!important;
  color:#fff!important;
}
body main .team-section :is(h1,h2,h3,p,li,a),
body main .labels-showcase :is(h1,h2,h3,p,li,a),
body main .corporate-suite :is(h1,h2,h3,p,li,a),
body main .service-range :is(h1,h2,h3,p,li,a),
body main .faq-hero :is(h1,h2,h3,p,li,a),
body main .clients-hero :is(h1,h2,h3,p,li,a),
body main .contact-hero :is(h1,h2,h3,p,li,a),
body main .urgent-service :is(h1,h2,h3,p,li,a),
body main .client-standards :is(h1,h2,h3,p,li,a),
body main .contact-closing :is(h1,h2,h3,p,li,a){
  color:#fff!important;
  opacity:1!important;
}
body main .service-range .label,
body main .faq-hero .eyebrow,
body main .clients-hero .eyebrow,
body main .contact-hero .eyebrow,
body main .urgent-service .label,
body main .client-standards .label,
body main .contact-closing .label{color:#bdeaf3!important}
body main .service-range h2 em,
body main .faq-hero h1 em,
body main .clients-hero h1 em,
body main .contact-hero h1 em{color:#ff4d9a!important}
body main .contact-hero .text-button,
body main .faq-hero .text-button,
body main .clients-hero .text-button{color:#fff!important;border-color:rgba(255,255,255,.72)!important}
body main .urgent-service h2 em,
body main .client-standards h2 em,
body main .contact-closing h2 em{color:#ffe168!important}
body main .service-range .service-card-grid article{
  background:#193b59!important;
  border-color:rgba(189,234,243,.35)!important;
  color:#fff!important;
}
body main .service-range .service-card-grid article :is(h3,p,span){color:#fff!important;opacity:1!important}
body footer,body footer :is(p,a,address,li,span){color:#e7edf1!important;opacity:1!important}

/* The replacement installation artwork fills the desktop panel and remains uncropped on phones. */
body main.services-page .production-band figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:600px){
  body main .team-section,
  body main .labels-showcase,
  body main .corporate-suite,
  body main .service-range,
  body main .faq-hero,
  body main .clients-hero,
  body main .contact-hero{background:#132b45!important;color:#fff!important}
  body main .urgent-service,
  body main .client-standards,
  body main .contact-closing{background:#a92663!important;color:#fff!important}
  body main .service-range .service-heading>p:last-child,
  body main .contact-closing .wrap>p:last-child,
  body main .urgent-service .wrap>div>p{color:#fff!important;opacity:1!important}
  body main.services-page .production-band figure img{
    height:auto!important;
    object-fit:contain!important;
  }
}

/* v51 section gutters: horizontal breathing room for every content section. */
body main section.wrap,
body main section > .wrap{
  box-sizing:border-box!important;
  padding-left:clamp(32px,3.25vw,52px)!important;
  padding-right:clamp(32px,3.25vw,52px)!important;
}

/* FAQ rows keep their compact vertical rhythm; spacing belongs to the section. */
body main.faq-page .faq-group details{padding:0!important}

@media(max-width:600px){
  body main section.wrap,
  body main section > .wrap{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  body main.faq-page .faq-group details{padding:0!important}
}

/* v52 Services mobile repair: compact catalogue and reliable visibility. */
@media(max-width:600px){
  body main.services-page .service-card-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  body main.services-page .service-card-grid article{
    min-width:0!important;
    min-height:0!important;
    padding:12px!important;
    border-radius:11px!important;
    overflow:hidden!important;
  }
  body main.services-page .service-card-grid article:before{
    width:calc(100% + 24px)!important;
    margin:-12px -12px 14px!important;
    aspect-ratio:1.18!important;
  }
  body main.services-page .service-card-grid h3{
    margin:12px 0 7px!important;
    font-size:16px!important;
    line-height:1.12!important;
    overflow-wrap:anywhere!important;
  }
  body main.services-page .service-card-grid p{
    font-size:11px!important;
    line-height:1.48!important;
    overflow-wrap:anywhere!important;
  }
  body main.services-page .service-card-grid span{font-size:9px!important}
}
