:root {
    --cmyk-cream: #FFF5D8;
    --cmyk-sand: #F2DA9A;
    --cmyk-text: #ACA592;
    --cmyk-accent: #CD9601;
    --cmyk-mocha: #2C2822;
    --cmyk-taupe: #686258;
    --cmyk-espresso: #1C1609;
    --cmyk-espresso-fespa: #211B0E;
    --cmyk-bg: #140E00;
    --cmyk-card: #1F1C17;
    --cmyk-readable-font: Helvetica, Arial, sans-serif;
    --cmyk-page-start-offset: 0px;
    --cmyk-comment-anchor-offset: 120px;
    --cmyk-mobile-header-height: 68px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLOBAL LAYOUT — Edge-to-edge, consistent width across ALL pages
   ═══════════════════════════════════════════════════════════════════════════
   The Elementor kit sets --container-max-width: 1140px on desktop, producing
   ~150px auto-margins on a 1440px viewport.  The header uses 1280px so it
   only has ~80px margins.  This creates a visual inconsistency: page content
   looks narrower/indented compared with the header bar.

   FIX: override the variable to 1280px for all .e-con elements at desktop.
   Safe for nested containers — max-width:1280px is a no-op when the element
   is already bounded by a narrower parent (e.g. a 600px column). Responsive
   behaviour at tablet (≤1024px) and mobile (≤767px) is already correct via
   the kit's own breakpoint rules — no override needed there.
   ─────────────────────────────────────────────────────────────────────────── */
@media (min-width: 1025px) {
    .e-con {
        --container-max-width: 1280px !important;
    }
}

/* ── Cross-browser / Safari-specific resets ── */
/* Prevent horizontal overflow. overflow-x ONLY on body (never on html).
   Setting overflow-x on html makes it the scroll container, which breaks
   Chrome's IntersectionObserver — Elementor's entrance animations would
   stay invisible (stuck in .elementor-invisible) because IO never fires. */
body {
    overflow-x: hidden;
    max-width: 100%;
    font-family: var(--cmyk-readable-font);
}
/* Remove blue tap highlight on iOS Safari */
*, *::before, *::after {
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}
/* Smooth scrolling for in-page anchors only — avoid animated scroll on initial page load. */
@media (prefers-reduced-motion: no-preference) {
    html:focus-within {
        scroll-behavior: smooth;
    }
}
/* -webkit-appearance: none on all form elements so Safari uses our custom styling */
input,
textarea,
select,
button {
    -webkit-appearance: none;
    appearance: none;
}
/* Re-apply white-bg and dark text for the specific types Safari resets too aggressively */
input[type="submit"],
input[type="button"],
input[type="reset"],
button[type="submit"] {
    cursor: pointer;
}
/* Footer safe-area padding for iPhone home indicator (viewport-fit=cover) */
footer,
.site-footer,
footer.elementor-location-footer {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* ── Footer: compact sizing ─────────────────────────────────────────────── */
/* 1. Logo: shrink from ~380px to 160px */
footer .elementor-179 .elementor-widget-image img {
    max-width: 160px !important;
    height: auto !important;
    width: auto !important;
}
footer .elementor-179 {
    background: var(--cmyk-espresso, #1C1609) !important;
    border-top: 1px solid var(--cmyk-taupe, #686258) !important;
}
footer .elementor-179 .elementor-widget-text-editor,
footer .elementor-179 .elementor-widget-text-editor p {
    color: var(--cmyk-text, #ACA592) !important;
    line-height: 1.65 !important;
}
footer .elementor-179 .elementor-widget-heading .elementor-heading-title {
    color: var(--cmyk-cream, #FFF5D8) !important;
    letter-spacing: 0 !important;
}
footer .elementor-179 .elementor-social-icons-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    height: auto !important;
    max-height: none !important;
}
footer .elementor-179 .elementor-grid-item {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
}
footer .elementor-179 .elementor-social-icon {
    border: 1px solid var(--cmyk-accent, #CD9601) !important;
    transition: background 0.2s ease, transform 0.2s ease !important;
}
footer .elementor-179 .elementor-social-icon svg,
footer .elementor-179 .elementor-social-icon i {
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    max-height: 1em !important;
    display: block !important;
    flex-shrink: 0 !important;
}
footer .elementor-179 .elementor-social-icon:hover,
footer .elementor-179 .elementor-social-icon:focus-visible {
    background: var(--cmyk-cream, #FFF5D8) !important;
    transform: translateY(-2px) !important;
}

/* 2. Outer section: reduce the inline-padded top/bottom whitespace and
    add comfortable horizontal padding so text never sits on the edge */
footer .elementor-179 .e-con-boxed {
    padding-top: 44px !important;
    padding-bottom: 32px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}
footer .elementor-179 .e-con-boxed > .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* Mobile: a bit less side padding but still enough to keep text away from
   the screen edge (user reported "text on the edge" at narrow widths). */
@media (max-width: 767px) {
    footer .elementor-179 .e-con-boxed {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* 3. Main horizontal gap between brand column and nav columns */
footer .elementor-179 .elementor-element-23e88158 {
    gap: 32px !important;
    row-gap: 32px !important;
}

/* 4. Nav link items: reduce vertical spacing (was 24px margin + 8px padding) */
footer .elementor-179 .elementor-icon-list-item {
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
}

/* 5. Nav link text: slightly smaller */
footer .elementor-179 .elementor-icon-list-text {
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
}

/* 6. Contact icon-box items: tighten spacing */
footer .elementor-179 .elementor-widget-icon-box {
    margin-bottom: 4px !important;
}

/* 6b. Contact icon-box: icon on the LEFT, vertically centered — Elementor sets
        flex-direction:row-reverse (icon-end) + align-items:start, which pushes
        the icon to the right and top-aligns it, making it look misplaced.
        We force row direction and center alignment on all breakpoints. */
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-wrapper {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
}
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-icon {
    flex-shrink: 0 !important;
    margin: 0 !important;
}
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon i {
    font-size: 15px !important;
    line-height: 1 !important;
}
/* On tablet/mobile Elementor adds block-start, stacking icon above text.
   Keep it inline at all sizes. */
@media (max-width: 1024px) {
    footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-wrapper {
        flex-direction: row !important;
        align-items: center !important;
    }
}

/* 7. Nav column link colors — fix pink leak from WP/WC defaults */
footer .elementor-179 .elementor-icon-list-item a,
footer .elementor-179 .elementor-icon-list-item a .elementor-icon-list-text {
    color: var(--cmyk-text, #ACA592) !important;
}
footer .elementor-179 .elementor-icon-list-item a:hover,
footer .elementor-179 .elementor-icon-list-item a:hover .elementor-icon-list-text {
    color: var(--cmyk-accent, #CD9601) !important;
}

footer .elementor-179 .elementor-widget-icon-box a,
footer .elementor-179 .elementor-widget-icon-box a:visited,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon i,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon svg,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-title,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-title a,
footer .elementor-179 .elementor-widget-icon-box .elementor-icon-box-description {
    color: var(--cmyk-text, #ACA592) !important;
    fill: var(--cmyk-text, #ACA592) !important;
}

footer .elementor-179 .elementor-widget-icon-box a:hover,
footer .elementor-179 .elementor-widget-icon-box a:focus-visible {
    color: var(--cmyk-accent, #CD9601) !important;
    fill: var(--cmyk-accent, #CD9601) !important;
}

/* 8. Social icon foreground — icons sit on gold circles, must be dark not gray */
footer .elementor-179 .elementor-social-icon,
footer .elementor-179 .elementor-social-icon i,
footer .elementor-179 .elementor-social-icon svg {
    color: var(--cmyk-bg, #140E00) !important;
}

/* 9. Footer label headings ("Contact Us At:" / "Business Hours") — bump 12px → 13px */
footer .elementor-179 .elementor-element-37677491 .elementor-heading-title,
footer .elementor-179 .elementor-element-3fc63f8e .elementor-heading-title {
    font-size: 13px !important;
}

/* ── Mobile tap target improvements (WCAG 2.5.5 / Apple HIG minimum 44px, practical min 36px) ── */

/* 10. Footer nav icon-list links — 20px → 36px min-height on mobile */
@media (max-width: 767px) {
    footer .elementor-179 .elementor-icon-list-item a {
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* 11. Footer contact icon-box — icon link (16px) and text link (15px) → 36px */
@media (max-width: 767px) {
    footer .elementor-179 .elementor-icon-box-icon a {
        min-width: 36px !important;
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    footer .elementor-179 .elementor-icon-box-title a {
        min-height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}

/* 12. Footer social icons — 33px circles → 40px on mobile */
@media (max-width: 767px) {
    footer .elementor-179 .elementor-social-icon {
        width: 40px !important;
        height: 40px !important;
        line-height: 40px !important;
    }
}

/* 13. Archive hero back link ("← Category Name") — 25px → 36px min-height */
.cmyk-archive-back {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 14. Page-level nav widget dropdown links (Solutions, Services pages) — 18px → 36px */
@media (max-width: 767px) {
    .elementor-widget-tp-navigation-menu-lite .dropdown-menu > li > a {
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* 15. Plain WordPress content list links — unclassed <ul><li><a> in page body areas */
@media (max-width: 767px) {
    .page-content ul:not([class]) > li > a,
    .entry-content ul:not([class]) > li > a {
        min-height: 36px !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* 16. Contact page email/phone inline links — increase touch area with vertical padding */
@media (max-width: 767px) {
    body.page-id-193 .cmyk-contact-grid p a,
    body.page-id-193 .cmyk-contact-link {
        display: inline-block !important;
        min-height: 36px !important;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
        line-height: 1 !important;
        vertical-align: middle !important;
    }
}

body.page-id-193 .cmyk-contact-page {
    max-width: 1200px;
}

body.page-id-193 .cmyk-contact-lead {
    color: var(--cmyk-cream);
    font-weight: 600;
    margin-bottom: 10px !important;
}

body.page-id-193 .cmyk-contact-support {
    max-width: 900px;
}

/* Contact page — 3-column contact cards grid */
body.page-id-193 .cmyk-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 24px 0 32px;
}
body.page-id-193 .cmyk-contact-card {
    padding: 24px;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
body.page-id-193 .cmyk-contact-card h3 {
    margin: 0 0 12px;
}
body.page-id-193 .cmyk-contact-card p {
    margin: 0 0 12px;
}
body.page-id-193 .cmyk-contact-card p:last-child {
    margin-bottom: 0;
}
body.page-id-193 .cmyk-contact-meta {
    color: var(--cmyk-text) !important;
    font-size: 0.85em;
}
body.page-id-193 .cmyk-contact-link {
    color: var(--cmyk-accent) !important;
    text-decoration: none !important;
}
body.page-id-193 .cmyk-contact-link:hover,
body.page-id-193 .cmyk-contact-link:focus-visible {
    color: var(--cmyk-sand) !important;
}
body.page-id-193 .cmyk-contact-hours {
    color: var(--cmyk-text);
}
body.page-id-193 .cmyk-contact-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 44px;
    padding: 10px 24px;
    background: var(--cmyk-accent);
    border: 1px solid var(--cmyk-accent);
    border-radius: 999px;
    color: var(--cmyk-bg) !important;
    font-weight: 700;
    text-decoration: none !important;
}
body.page.page-id-193 .page-content a.cmyk-contact-cta,
body.page.page-id-193 .page-content a.cmyk-contact-cta:visited,
body.page.page-id-193 .page-content a.cmyk-contact-cta:hover,
body.page.page-id-193 .page-content a.cmyk-contact-cta:focus-visible {
    color: var(--cmyk-bg) !important;
}
body.page-id-193 .cmyk-contact-cta:hover,
body.page-id-193 .cmyk-contact-cta:focus-visible {
    background: var(--cmyk-sand);
    border-color: var(--cmyk-sand);
}
@media (max-width: 900px) {
    body.page-id-193 .cmyk-contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 600px) {
    body.page-id-193 .cmyk-contact-grid {
        grid-template-columns: 1fr;
    }
}

body.page-id-193 .cmyk-contact-grid p span {
    color: var(--cmyk-text, #ACA592) !important;
}

/* Contact page — Google Maps section */
body.page-id-193 .cmyk-maps-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 32px;
}
body.page-id-193 .cmyk-contact-map-card {
    padding: 18px;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
}
@media (max-width: 600px) {
    body.page-id-193 .cmyk-maps-grid {
        grid-template-columns: 1fr;
    }
}
body.page-id-193 .cmyk-contact-map-frame,
body.page-id-193 .cmyk-maps-grid iframe {
    border-radius: 12px;
    border: 1px solid var(--cmyk-taupe, #686258);
    display: block;
    height: 280px;
    width: 100%;
}
body.page-id-193 .cmyk-map-label {
    color: var(--cmyk-text, #ACA592);
    font-size: 0.825rem;
    margin: 0 0 8px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* 17. About page inline sub-nav links ("Why CMYK | Our History | …") — keep inline, add padding */
@media (max-width: 767px) {
    body.page-id-186 .page-content p a {
        display: inline-block !important;
        padding-top: 9px !important;
        padding-bottom: 9px !important;
        line-height: 1 !important;
    }
}

/* Ensure the masthead CONTAINER occupies real height in document flow.
   Without this, the Elementor shell (88px/95px) overflows a 0-height parent,
   and the following hero section starts at top:0, overlapping the header. */
header#masthead {
    min-height: 95px !important;
    height: auto !important;
    position: relative !important;
    z-index: 10 !important;
}
@media (max-width: 767px) {
    header#masthead {
        min-height: var(--cmyk-mobile-header-height, 88px) !important;
        height: auto !important;
    }
}

body.page-template-elementor_header_footer header#masthead .elementor > .e-con:first-child,
body.cmyk-archive-prototype header#masthead .elementor > .e-con:first-child {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    /* z-index no longer needed — header scrolls with page, not fixed */
    z-index: auto !important;
    /* Elementor CSS custom property — keep as relative so it scrolls with the page */
    --position: relative !important;
    /* Remove Elementor-set border that shows as a gray line under the header */
    border-bottom: none !important;
}
/* Lock the logo container dimensions so the image never causes a reflow/flash
   when the browser renders it from disk cache on each page navigation. */
header#masthead img[src*="cmyk-logo"] {
    content-visibility: auto;
    contain-intrinsic-size: 126px 32px;
    width: auto !important;
    max-width: 141px !important;
    height: auto !important;
    max-height: 35px !important;
    object-fit: contain !important;
    display: block !important;
}
/* Override Elementor's border-bottom on the header section — applies to all page types.
   Adding 'header' before '#masthead' gives this rule 1 extra specificity point so it
   beats Elementor's own !important rule (body.page:not(.home) #masthead .element-780b38bc). */
body.page:not(.home) header#masthead .elementor-element-780b38bc,
body.blog header#masthead .elementor-element-780b38bc,
body header#masthead .elementor-element-780b38bc {
    border-bottom: none !important;
}
/* elementor-element-fbcbb3e is an empty container inside the header template
   that adds a 20px gap below the visual header shell. Hide it. */
header#masthead .elementor-element-fbcbb3e {
    display: none !important;
}
/* Safe-area inset for iOS notch/Dynamic Island — mobile only.
   On macOS Safari, env(safe-area-inset-top) returns ~28px for the
   camera notch which incorrectly adds space on desktop. */
@media (max-width: 767px) {
    :root {
        --cmyk-page-start-offset: 0px;
        --cmyk-comment-anchor-offset: 104px;
        --cmyk-mobile-logo-width: clamp(78px, 23vw, 90px);
    }

    body.page-template-elementor_header_footer header#masthead .elementor > .e-con:first-child,
    body.cmyk-archive-prototype header#masthead .elementor > .e-con:first-child {
        padding-top: env(safe-area-inset-top, 0px);
        min-height: var(--cmyk-mobile-header-height) !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        align-items: center !important;
    }

    body header#masthead img[src*="cmyk-logo"] {
        display: block;
        width: var(--cmyk-mobile-logo-width) !important;
        max-width: var(--cmyk-mobile-logo-width) !important;
        height: auto !important;
        margin: 0 !important;
    }
}

/* ── Desktop navigation: dropdown spacing, hover states & polish ─────────────
   Plus Addons sets margin-bottom:24px on .dropdown-menu li by default, creating
   large gaps. Links have padding:0 giving tiny click targets. No hover states,
   separators, or top accent border on the dropdown panels.
   ─────────────────────────────────────────────────────────────────────────── */
@media (min-width: 768px) {
    /* Tighten the real Plus Addons spacing sources on desktop */
    header#masthead .elementor-widget-tp-navigation-menu-lite {
        padding: 4px 6px !important;
    }

    header#masthead .plus-navigation-wrap .plus-navigation-inner .navbar-nav {
        display: flex !important;
        align-items: center !important;
    }

    /* CLS fix: prevent nav menu horizontal reflow during font load.
       The inner .plus-navigation-menu shrink-wraps to text and shifts
       as fonts swap (352→447→611px). Making it fill the parent and
       centering items inside keeps bounds stable from first paint. */
    header#masthead .plus-navigation-menu > .plus-navigation-menu {
        width: 100% !important;
    }
    header#masthead .plus-navigation-menu .navbar-nav {
        justify-content: center !important;
        width: 100% !important;
    }

    /* Desktop header balance: Elementor stores this Plus Addons nav as
       an absolutely positioned, scaled widget. Keep the centered header shell,
       and pin the visible nav to that shell's right edge so wide desktops stay
       visually balanced and dropdowns open from the correct place. */
    @media (min-width: 1024px) {
        header#masthead .elementor-element-780b38bc > .e-con-inner {
            position: relative !important;
        }

        header#masthead .elementor-widget-tp-navigation-menu-lite.elementor-absolute {
            left: auto !important;
            right: 5cm !important;
            width: 760px !important;
            max-width: 760px !important;
            transform: none !important;
        }

        header#masthead .plus-navigation-wrap,
        header#masthead .plus-navigation-menu,
        header#masthead .plus-navigation-menu > .plus-navigation-menu,
        header#masthead ul.nav.navbar-nav {
            width: 100% !important;
            max-width: 100% !important;
        }

        header#masthead .plus-navigation-menu .navbar-nav {
            justify-content: flex-end !important;
        }

        header#masthead #theplus-navigation-normal-menu.collapse {
            display: block !important;
            visibility: visible !important;
            height: auto !important;
            overflow: visible !important;
        }
    }
    /* Keep desktop dropdown behaviour basic and stable: no fades or slide effects */
    header#masthead .plus-navigation-menu .nav li a,
    header#masthead ul.nav.navbar-nav > li,
    header#masthead ul.nav.navbar-nav > li > a,
    header#masthead .plus-navigation-wrap .plus-navigation-inner,
    header#masthead .plus-navigation-wrap .plus-navigation-inner .nav li,
    header#masthead .plus-navigation-wrap .plus-navigation-inner .nav li > a,
    header#masthead .plus-navigation-wrap .plus-navigation-inner .nav li > .dropdown-menu,
    header#masthead ul.nav.navbar-nav .dropdown-menu,
    header#masthead ul.nav.navbar-nav .dropdown-menu > li > a {
        transition: none !important;
        transition-property: none !important;
        transition-delay: 0s !important;
        animation: none !important;
    }

    header#masthead .plus-navigation-menu .navbar-nav > li {
        padding: 0 0 4px 0 !important;
    }

    /* Top-level nav links: slightly larger again after the desktop balance pass */
    header#masthead ul.nav.navbar-nav > li > a {
        display: flex !important;
        align-items: center !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        color: var(--cmyk-cream, #FFF5D8) !important;
        text-decoration: none !important;
        letter-spacing: normal !important;
            min-height: 40px !important;
        padding: 10px 8px 4px 8px !important;
    }

    header#masthead ul.nav.navbar-nav > li > a:hover,
    header#masthead ul.nav.navbar-nav > li > a:focus-visible,
    header#masthead ul.nav.navbar-nav > li.current-menu-item > a,
    header#masthead ul.nav.navbar-nav > li.current-menu-ancestor > a,
    header#masthead ul.nav.navbar-nav > li.active > a {
        color: var(--cmyk-accent, #CD9601) !important;
        text-decoration: none !important;
    }

    header#masthead ul.nav.navbar-nav > li > a:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
    }

    /* Dropdown panel: gold top border anchors it to the nav bar, rounded bottom */
    header#masthead ul.nav.navbar-nav .dropdown-menu {
        padding: 0 8px 4px 8px !important;
        border-top: 2px solid var(--cmyk-accent, #CD9601) !important;
        border-radius: 0 0 16px 16px !important;
        overflow: visible !important;
        padding: 6px 0 !important;
        min-width: 204px !important;
        width: auto !important;
    }

    /* Dropdown items: remove the Plus Addons 24px gap; add thin separators */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li {
        margin: 0 !important;
        padding: 0 !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu > li:not(:last-child) {
        border-bottom: 1px solid rgba(104, 98, 88, 0.35) !important;
    }

    /* Dropdown links: proper padding so the entire row is clickable */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li > a {
        display: block !important;
        min-height: 40px !important;
        padding: 9px 16px !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        color: var(--cmyk-cream, #FFF5D8) !important;
        background-color: transparent !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    /* Hover / focus state: gold text + subtle row highlight */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li > a:hover,
    header#masthead ul.nav.navbar-nav .dropdown-menu > li > a:focus-visible {
        color: var(--cmyk-accent, #CD9601) !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
    }

    header#masthead ul.nav.navbar-nav .dropdown-menu > li > a:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
    }

    /* Active / current-page item in dropdown */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li.current-menu-item > a,
    header#masthead ul.nav.navbar-nav .dropdown-menu > li.active > a {
        color: var(--cmyk-accent, #CD9601) !important;
    }
}

/* ── Nav: deterministic 3rd-level desktop fly-out positioning ───────────────
   Live Plus Addons CSS always pushes nested .dropdown-menu panels to the right.
   On the CMYK menu tree the breaking branch is deterministic: depth-2 parents
   such as DTF Printer, UV Printer, Fabric, and Self Adhesive Vinyl / Lamination
    create one more level of fly-out, and that last panel must open LEFT so it
    stays inside the viewport. Keep depth-1 panels opening right; force the
    depth-2 fly-out level to open left.
   ─────────────────────────────────────────────────────────────────────────── */
@media (min-width: 768px) {
    /* Parent <li> must be position:relative so the child panel can anchor */
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu {
        position: relative !important;
    }

    /* Depth-1 children under Products / Solutions open RIGHT */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li.depth-1.dropdown-submenu > .dropdown-menu {
        top: -4px !important;
        left: calc(100% - 2px) !important;
        right: auto !important;
        margin-top: 0 !important;
    }

    /* Depth-2 and deeper children open LEFT so the last column stays visible */
    header#masthead ul.nav.navbar-nav .dropdown-menu > li.dropdown-submenu > .dropdown-menu > li.depth-2.dropdown-submenu > .dropdown-menu {
        top: -4px !important;
        left: auto !important;
        right: calc(100% - 2px) !important;
        margin-top: 0 !important;
    }

    /* Arrow indicator on items that have a fly-out */
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > a::after {
        content: '›' !important;
        float: right !important;
        margin-left: 8px !important;
        color: var(--cmyk-accent, #CD9601) !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }

    /* Fly-out panel: nested child panel styling so the extra level reads clearly */
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu {
        background-color: var(--cmyk-card, #1F1C17) !important;
        border: 1px solid rgba(104, 98, 88, 0.55) !important;
        border-top: 2px solid var(--cmyk-accent, #CD9601) !important;
        border-radius: 16px !important;
        overflow: visible !important;
        padding: 6px 0 !important;
        min-width: 204px !important;
        width: auto !important;
        z-index: 10 !important;
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32) !important;
    }

    /* Items inside the fly-out panel */
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li {
        margin: 0 !important;
        padding: 0 !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li:not(:last-child) {
        border-bottom: 1px solid rgba(104, 98, 88, 0.35) !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li > a {
        display: block !important;
        min-height: 38px !important;
        padding: 9px 14px !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        color: var(--cmyk-sand, #F2DA9A) !important;
        background-color: transparent !important;
        letter-spacing: normal !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li > a:hover,
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li > a:focus-visible {
        color: var(--cmyk-accent, #CD9601) !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li > a:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
    }
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li.current-menu-item > a,
    header#masthead ul.nav.navbar-nav .dropdown-menu li.dropdown-submenu > .dropdown-menu > li.active > a {
        color: var(--cmyk-accent, #CD9601) !important;
    }
}

/* ── Plus Addons mobile nav drawer — palette + sizing fixes ──────────────────
   The Plus Addons navigation widget renders a .plus-mobile-menu-content drawer
    that defaults to a light gray background and positions itself
   relative to the nav widget, opening 20px too high (at 56px instead of 76px).
   Item tap targets are 39px / 12px font — below mobile accessibility minimums.
   ─────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    body.page-template-elementor_header_footer header#masthead .elementor > .e-con:first-child,
    body.cmyk-archive-prototype header#masthead .elementor > .e-con:first-child {
        background: var(--cmyk-bg, #140E00) !important;
    }

    header#masthead .elementor-widget-tp-navigation-menu-lite {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        flex: 0 0 48px !important;
        padding: 0 !important;
        margin-left: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    header#masthead .elementor-widget-tp-navigation-menu-lite.elementor-absolute {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 48px !important;
        height: 48px !important;
        align-self: center !important;
    }

    header#masthead .plus-navigation-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header#masthead .plus-navigation-inner {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
    }

    header#masthead .plus-navigation-inner > .collapse.navbar-collapse:not(.plus-mobile-menu-content) {
        display: none !important;
    }

    header#masthead .plus-mobile-nav-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        margin: 0 !important;
    }

    header#masthead .plus-mobile-nav-toggle:focus-visible,
    header#masthead .mobile-plus-toggle-menu:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: 2px !important;
        border-radius: 8px !important;
        box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
    }

    /* Hamburger toggle: enlarge to 44×44 minimum tap target */
    header#masthead .mobile-plus-toggle-menu {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        flex: 0 0 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    /* Drawer: position below the full 76px fixed header, full-width, dark bg */
    header#masthead .plus-mobile-menu-content {
        position: fixed !important;
        top: var(--cmyk-mobile-header-rendered-height, calc(var(--cmyk-mobile-header-height) + env(safe-area-inset-top, 0px))) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: calc(100vh - var(--cmyk-mobile-header-rendered-height, calc(var(--cmyk-mobile-header-height) + env(safe-area-inset-top, 0px)))) !important;
        max-height: calc(100vh - var(--cmyk-mobile-header-rendered-height, calc(var(--cmyk-mobile-header-height) + env(safe-area-inset-top, 0px)))) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 9998 !important;
        background-color: var(--cmyk-espresso, #1C1609) !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
        border-top: 1px solid var(--cmyk-taupe, #686258) !important;
    }

    header#masthead .plus-mobile-menu-content.collapse:not(.in):not(.show) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    header#masthead .plus-mobile-menu-content.collapse.in,
    header#masthead .plus-mobile-menu-content.collapse.show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 14px 16px !important;
        margin: 0 !important;
        background: var(--cmyk-bg, #140E00) !important;
        border-bottom: 1px solid var(--cmyk-taupe, #686258) !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 46px !important;
        padding: 10px 12px !important;
        border: 1px solid var(--cmyk-taupe, #686258) !important;
        border-radius: 8px !important;
        background: var(--cmyk-card, #1F1C17) !important;
        color: var(--cmyk-cream, #FFF5D8) !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        letter-spacing: normal !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action.is-primary {
        background: var(--cmyk-accent, #CD9601) !important;
        border-color: var(--cmyk-accent, #CD9601) !important;
        color: var(--cmyk-bg, #140E00) !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action:hover,
    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action:focus-visible {
        border-color: var(--cmyk-accent, #CD9601) !important;
        color: var(--cmyk-accent, #CD9601) !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: 2px !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action:not(:focus-visible) {
        outline: none !important;
    }

    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action.is-primary:hover,
    header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-action.is-primary:focus-visible {
        color: var(--cmyk-bg, #140E00) !important;
    }

    @media (min-width: 520px) and (max-width: 1023px) {
        header#masthead .plus-mobile-menu-content .cmyk-mobile-menu-actions {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
    }

    /* Inner menu list wrapper */
    header#masthead .plus-mobile-menu {
        display: block !important;
        background-color: var(--cmyk-espresso, #1C1609) !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
    }

    header#masthead .plus-mobile-menu-content > .plus-mobile-menu > ul.nav.navbar-nav {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Top-level items: min 44px tap target, 14px font, separator line */
    header#masthead .plus-mobile-menu > ul > li {
        border-bottom: 1px solid var(--cmyk-taupe, #686258) !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
    header#masthead .plus-mobile-menu > ul {
        margin: 0 !important;
        padding: 0 !important;
    }
    header#masthead .plus-mobile-menu > ul > li > a {
        display: flex !important;
        align-items: center !important;
        min-height: 46px !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--cmyk-cream, #FFF5D8) !important;
        background-color: transparent !important;
        letter-spacing: normal !important;
        text-transform: none !important;
    }
    header#masthead .plus-mobile-menu-content > .plus-mobile-menu > ul.nav.navbar-nav > li > a {
        display: flex !important;
        align-items: center !important;
        min-height: 46px !important;
        padding: 12px 18px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.35 !important;
    }
    header#masthead .plus-mobile-menu > ul > li > a:hover,
    header#masthead .plus-mobile-menu > ul > li > a:focus-visible {
        color: var(--cmyk-accent, #CD9601) !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
    }
    header#masthead .plus-mobile-menu > ul > li > a:focus-visible,
    header#masthead .plus-mobile-menu .dropdown-menu > li > a:focus-visible,
    header#masthead .plus-mobile-menu .dropdown-menu .dropdown-menu > li > a:focus-visible {
        outline: 2px solid var(--cmyk-accent, #CD9601) !important;
        outline-offset: -2px !important;
        box-shadow: inset 0 0 0 1px rgba(205, 150, 1, 0.24) !important;
    }
    header#masthead .plus-mobile-menu > ul > li.current-menu-item > a,
    header#masthead .plus-mobile-menu > ul > li.current-menu-ancestor > a {
        color: var(--cmyk-accent, #CD9601) !important;
    }

    /* Sub-menu items: deeper indent, slightly muted, still 44px target */
    header#masthead .plus-mobile-menu .dropdown-menu {
        background-color: var(--cmyk-bg, #140E00) !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    header#masthead .plus-mobile-menu .dropdown-menu > li {
        border-bottom: 1px solid rgba(104, 98, 88, 0.4) !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }
    header#masthead .plus-mobile-menu .dropdown-menu > li > a {
        display: flex !important;
        align-items: center !important;
        min-height: 44px !important;
        padding: 10px 18px 10px 34px !important;
        font-size: 13px !important;
        color: var(--cmyk-sand, #F2DA9A) !important;
        background-color: transparent !important;
        letter-spacing: normal !important;
        text-transform: none !important;
    }
    header#masthead .plus-mobile-menu .dropdown-menu > li > a:hover,
    header#masthead .plus-mobile-menu .dropdown-menu > li > a:focus-visible {
        color: var(--cmyk-cream, #FFF5D8) !important;
        background-color: rgba(255, 255, 255, 0.04) !important;
    }

    /* Third-level (deeply nested) sub-menus */
    header#masthead .plus-mobile-menu .dropdown-menu .dropdown-menu > li > a {
        padding-left: 48px !important;
        font-size: 13px !important;
        color: var(--cmyk-text, #ACA592) !important;
    }
}

body.page-template-elementor_header_footer:not(.home) #page > header#masthead + *,
body.single-post:not(.home) #page > header#masthead + *,
body.blog:not(.home) #page > header#masthead + * {
    margin-top: 0 !important;
}
/* Default-template inner pages were still inheriting stacked top padding from
   legacy/theme rules (136px desktop, 96px mobile), which created the large
   blank band between the header logo and the first page line. Keep this page
   family flush with the shared header; mobile still gets the dedicated
   .page-header margin-top rule below for light breathing room. */
body.page-template-default:not(.home):not(.cmyk-solution-selector):not(.cmyk-solution-product-page) main#content,
body.page-template-default:not(.home):not(.cmyk-solution-selector):not(.cmyk-solution-product-page) .site-main {
    padding-top: 0 !important;
}
/* Product pages use Hello Elementor + WooCommerce default wrapper (no #page/masthead) */
body.single-product:not(.home) #primary {
    margin-top: 0 !important;
}
/* Selector pages: masthead is 0-height; EHF fixed header is ~104px; H1 has 66px padding-top.
   44px margin gives H1 text at 44+66=110px — identical to archive pages. */
body.cmyk-solution-selector #page > header#masthead + * {
    margin-top: 44px !important;
}

body.page-template-elementor_header_footer:not(.home):not(.cmyk-solution-selector) .page-header,
body.page-template-elementor_header_footer:not(.home):not(.cmyk-solution-selector) .page-content {
    width: calc(100% - 32px) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body.page-template-elementor_header_footer:not(.home):not(.cmyk-solution-selector) .page-header {
    margin-bottom: 18px !important;
}

body.page-id-195.page-template-elementor_header_footer:not(.home) .page-header,
body.page-id-194.page-template-elementor_header_footer:not(.home) .page-header,
body.page-id-186.page-template-elementor_header_footer:not(.home) .page-header,
body.page-id-192.page-template-elementor_header_footer:not(.home) .page-header {
    margin-bottom: 28px !important;
}

/* Product landing pages should sit in the same tighter shell as the approved
   archive prototype rather than stretching to the wider generic page width. */
body.page-template-elementor_header_footer.cmyk-product-landing-page:not(.home):not(.cmyk-solution-selector) .page-header,
body.page-template-elementor_header_footer.cmyk-product-landing-page:not(.home):not(.cmyk-solution-selector) .page-content,
body.page-template-default.cmyk-product-landing-page .page-header,
body.page-template-default.cmyk-product-landing-page .page-content {
    max-width: 1140px !important;
}

body.cmyk-product-landing-page .page-content {
    display: flex;
    flex-direction: column;
}

body.cmyk-product-landing-page .cmyk-product-landing-pill-nav {
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}

body.cmyk-product-landing-page .page-content > .cmyk-enhanced-section {
    margin-top: 32px !important;
}

/* Heat Transfer Machines landing: keep Elementor hero only; product grid comes from mu-plugin sections. */
body.cmyk-heat-transfer-landing .page-content > .elementor > .e-con:not(:first-child),
body.cmyk-laminators-landing .page-content > .elementor > .e-con:not(:first-child) {
    display: none !important;
}

/* The Products page still carries one old inline-styled content card from the
   migrated body content. Restyle it into the landing-page system and hide the
   duplicated legacy category list because the archive-style pill nav replaces it. */
body.cmyk-products-page .page-content > div[style*="max-width:1100px"] {
    max-width: none !important;
    margin: 0 !important;
    padding: 32px !important;
    background: linear-gradient(180deg, var(--cmyk-mocha) 0%, var(--cmyk-card) 100%) !important;
    border: 1px solid var(--cmyk-taupe) !important;
    border-radius: 28px !important;
}

body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > h2:first-of-type,
body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > ul:first-of-type {
    display: none !important;
}

body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > h3,
body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > ul:not(:first-of-type),
body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > p:not(:first-of-type) {
    display: none !important;
}

body.cmyk-products-page .page-content > div[style*="max-width:1100px"] > p:first-of-type {
    margin: 0 !important;
    max-width: 68ch;
}

/* Generic inner EHF pages need footer breathing room only when page-content
    or the appended enhanced landing section sits directly above the footer
    (About Us / Services / Team-style pages, plus Products-style enhanced pages). */
body.page-template-elementor_header_footer:not(.home):not(.cmyk-solution-selector) .page-content + footer,
body.page-template-elementor_header_footer:not(.home):not(.cmyk-solution-selector) .cmyk-enhanced-section + footer {
    margin-top: 56px !important;
}

body.page:not(.home):not(.cmyk-solution-selector) .page-content > .cmyk-first-card-tight-top {
    padding-top: 24px !important;
}

/* ── Home page hero photo ────────────────────────────────────────────────────
   IMPORTANT: do NOT put the photo URL in CSS — the webp-converter-for-media
   plugin output-buffers the entire HTML and rewrites every uploads/*.webp
   URL into a broken http:// passthru URL (mixed-content blocked).
   The image is set via inline style by JS in the wp_head block at the bottom
   of this file (URL built from concatenated parts so the plugin's regex
   cannot match it).
   ─────────────────────────────────────────────────────────────────────────── */
.home .elementor-element.elementor-element-5c2cebad {
    min-height: 720px !important;
    --min-height: 720px !important;
    /* background-image is set in <head> critical CSS (see wp_head hook) for early LCP paint.
       Hero pulls up behind the transparent header via negative margin-top.
       Header has z-index:10 so it paints over the hero image. */
    background-color: #1C1609 !important;
    position: relative !important;
    overflow: hidden !important;
    margin-top: -95px !important;
    z-index: 0 !important;
}
/* Ensure hero text/buttons always sit above the ::before background layer. */
.home .elementor-element.elementor-element-5c2cebad > .e-con-inner {
    position: relative !important;
    z-index: 1 !important;
}
/* Tablet: header is 128px on tablet viewport — pull hero fully behind it and push content below */
@media (min-width: 768px) and (max-width: 1199px) {
    .home .elementor-element.elementor-element-5c2cebad {
        min-height: 528px !important;
        --min-height: 528px !important;
        margin-top: -128px !important;
    }
    /* Push hero content clear of the 128px transparent header (eyebrow text has -134px from inner margins) */
    .home .elementor-element.elementor-element-5c2cebad > .e-con-inner {
        padding-top: 249px !important;
    }
}
/* Mobile: hero height driven by content, not a fixed 900px slab */
@media (max-width: 767px) {
    .home .elementor-element.elementor-element-5c2cebad {
        min-height: auto !important;
        --min-height: auto !important;
        margin-top: -68px !important;
        padding-bottom: 60px !important;
    }
    /* Push hero content clear of the 68px transparent header without leaving a large mobile logo-to-heading gap. */
    .home .elementor-element.elementor-element-5c2cebad > .e-con-inner {
        padding-top: 140px !important;
    }
}
/* Hero background — girl photo dimmed via ::before so text stays crisp.
   The background-image is defined here (not on the element) so opacity only
   affects the image, not the child text/button elements.
   Critical CSS in <head> also sets ::before early to paint the image before
   the main bundle arrives (prevents blank-hero FOUC on slow connections). */
.home .elementor-element.elementor-element-5c2cebad::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url("/wp-content/uploads/2026/04/CMYK-Girl-3-scaled.webp") !important;
    background-color: transparent !important;
    background-size: cover !important;
    background-position: center 18% !important;
    background-repeat: no-repeat !important;
    opacity: 0.50 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Hero: dark wash plus right-side blend, above the image and below text. */
.home .elementor-element.elementor-element-5c2cebad::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(rgba(20, 14, 0, 0.38), rgba(20, 14, 0, 0.38)),
        linear-gradient(
            to right,
            transparent 24%,
            rgba(28, 22, 9, 0.72) 55%,
            rgba(28, 22, 9, 0.92) 78%,
            #1C1609 95%
        ) !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* ── Hero text: base content width and header-safe positioning ───────────────
   Elementor kit uses --container-max-width:1140px (auto-centred) but the
    header uses max-width:1280px + padding-left:40px. Override the hero's
    .e-con-inner to keep the content inside the same safe width as the header.
    The centered presentation is applied by the home hero block below.
   ─────────────────────────────────────────────────────────────────────────── */
@media (min-width: 768px) {
    .home .elementor-element.elementor-element-5c2cebad > .e-con-inner {
        max-width: 1280px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;
        z-index: 1 !important;
    }
}

/* Home hero: center the intro copy and CTAs within the top hero.
    These selectors depend on the current Elementor element IDs; update them if
    the home hero is rebuilt in Elementor. Last verified: May 12, 2026. */
.home .elementor-element-5c2cebad .elementor-element-1dc63b69,
.home .elementor-element-5c2cebad .elementor-element-279764f6,
.home .elementor-element-5c2cebad .elementor-element-3cd6e27,
.home .elementor-element-5c2cebad .cmyk-hero-cta-note {
    align-self: center !important;
    --align-self: center !important;
    align-items: center !important;
    --flex-align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
.home .elementor-element-5c2cebad .cmyk-hero-cta-note {
    width: 100% !important;
    max-width: 520px !important;
}
.home .elementor-element-5c2cebad .elementor-element-279764f6 > .e-con-inner {
    align-items: center !important;
    text-align: center !important;
}
.home .elementor-element-5c2cebad .elementor-element-1733258,
.home .elementor-element-5c2cebad .elementor-element-3cd6e27 {
    width: 100% !important;
    text-align: center !important;
}
.home .elementor-element-5c2cebad .elementor-element-1733258 .heading-title,
.home .elementor-element-5c2cebad .elementor-element-3cd6e27 .text-content-block,
.home .elementor-element-5c2cebad .elementor-element-3cd6e27 .text-content-block p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.home .elementor-element-5c2cebad .elementor-element-4805b12d,
.home .elementor-element-5c2cebad .elementor-element-4805b12d.e-con {
    justify-content: center !important;
    --justify-content: center !important;
    align-items: center !important;
    --flex-align-items: center !important;
    width: 100% !important;
}
@keyframes cmykHeroSlideLeftToCenter {
    from {
        transform: translate3d(var(--cmyk-hero-slide-offset, -560px), var(--cmyk-hero-lift-offset, 0px), 0);
    }
    to {
        transform: translate3d(0, var(--cmyk-hero-lift-offset, 0px), 0);
    }
}
.home .elementor-element-5c2cebad .elementor-element-1dc63b69 {
    --cmyk-hero-slide-offset: 0px;
    --cmyk-hero-lift-offset: 0px;
    animation: none !important;
    transform: none !important;
    will-change: auto;
}
@media (min-width: 1200px) {
    .home .elementor-element-5c2cebad .elementor-element-1dc63b69 {
        --cmyk-hero-lift-offset: 0px;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .home .elementor-element-5c2cebad .elementor-element-1dc63b69 {
        --cmyk-hero-slide-offset: 0px;
    }
}
@media (max-width: 767px) {
    .home .elementor-element-5c2cebad .elementor-element-1dc63b69 {
        --cmyk-hero-slide-offset: 0px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .home .elementor-element-5c2cebad .elementor-element-1dc63b69 {
        animation: none;
        will-change: auto;
    }
}

/* Home: disable delayed Elementor reveals on key above-the-fold sections so the
    page does not look like a different layout before the content appears. */
.home .elementor-element.elementor-element-279764f6.elementor-invisible,
.home .elementor-element.elementor-element-54e8a2dc.elementor-invisible,
.home .elementor-element.elementor-element-46d87080.elementor-invisible,
.home .elementor-element.elementor-element-11b80dea .elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}
.home .elementor-element.elementor-element-279764f6.animated,
.home .elementor-element.elementor-element-54e8a2dc.animated,
.home .elementor-element.elementor-element-46d87080.animated,
.home .elementor-element.elementor-element-11b80dea .animated {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* What Clients Say — horizontal gutters (same FESPA pattern) */
.home .elementor-element-11b80dea {
    padding-left: clamp(24px, 4vw, 80px) !important;
    padding-right: clamp(24px, 4vw, 80px) !important;
    box-sizing: border-box !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-heading-shell {
    justify-content: center !important;
    --justify-content: center !important;
    align-items: center !important;
    --flex-align-items: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-copy-stack {
    width: 100% !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: center !important;
    --flex-align-items: center !important;
    gap: 12px !important;
    text-align: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-copy-stack > .elementor-element {
    width: 100% !important;
    text-align: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-eyebrow .elementor-heading-title {
    margin: 0 0 10px !important;
    text-align: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-title .heading-title {
    margin: 0 !important;
    text-align: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonials-intro,
.home .elementor-element-11b80dea .cmyk-testimonials-intro .text-content-block,
.home .elementor-element-11b80dea .cmyk-testimonials-intro .text-content-block p {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-shell {
    height: 100% !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-body {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    gap: 20px !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-quote-title .heading-title {
    margin: 0 !important;
    min-height: 2.5em !important;
    line-height: 1.22 !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-quote-copy,
.home .elementor-element-11b80dea .cmyk-testimonial-quote-copy .text-content-block {
    flex: 1 1 auto !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-quote-copy .text-content-block p {
    margin: 0 !important;
    line-height: 1.68 !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-footer {
    margin-top: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-name .heading-title {
    margin: 0 !important;
    font-size: clamp(1.12rem, 1.18vw, 1.34rem) !important;
    line-height: 1.28 !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-badge-wrap {
    flex: 0 0 auto !important;
}
.home .elementor-element-11b80dea .cmyk-testimonial-card-badge .elementor-heading-title {
    margin: 0 !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
    .home .elementor-element-11b80dea > .e-con-inner {
        gap: 30px !important;
    }
    .home .elementor-element-11b80dea .elementor-element-2ee4835c {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
        align-items: stretch !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonials-copy-stack {
        gap: 10px !important;
        max-width: 780px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonials-intro .text-content-block p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        max-width: 700px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-card-body {
        gap: 16px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-card-footer {
        gap: 10px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-card-name .heading-title {
        font-size: clamp(1.08rem, 1.55vw, 1.24rem) !important;
    }
}
@media (max-width: 767px) {
    .home .elementor-element-11b80dea .cmyk-testimonial-card-body {
        gap: 18px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-quote-title .heading-title {
        min-height: 0 !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-card-footer {
        flex-direction: column !important;
        align-items: center !important;
        gap: 14px !important;
    }
    .home .elementor-element-11b80dea .cmyk-testimonial-card-name,
    .home .elementor-element-11b80dea .cmyk-testimonial-card-name .heading-title {
        text-align: center !important;
    }
}

/* ── Hero section: headline, eyebrow, and CTA button improvements ────────────
   1. Headline bumped from 32px → 42px (desktop) for multinational-grade impact.
   2. Eyebrow bumped from 12px → 14px for legibility.
   3. Secondary "About Us" button converted to ghost/outline style so it is
      clearly secondary vs. the solid gold "Explore Products" primary CTA.
   4. Both buttons get font-weight:500 and 15px for sharper legibility.
   ─────────────────────────────────────────────────────────────────────────── */
/* Eyebrow label: "Guaranteed and Affordable Digital Solutions" — keep hidden immediately while JS removes the node. */
.home .elementor-element-484ab472 {
    display: none !important;
}

/* Home section titles/subtitles: use the same readable title + supporting copy
   rhythm as the Shop by Brand block, while keeping the small gold kicker labels. */
/* dghdr002 = "OUR SOLUTIONS" eyebrow label — hidden per request */
.home .elementor-element-dghdr002 {
    display: none !important;
}
.home .elementor-element-dghdr003 .elementor-heading-title,
.home .elementor-element-e58ab5e .elementor-heading-title {
    color: var(--cmyk-cream, #FFF5D8) !important;
    font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 10px !important;
    font-family: var(--cmyk-readable-font) !important;
}

.home .elementor-element-dghdr004 .text-content-block p,
.home .elementor-element-3ac945ae .heading-title,
.home .elementor-element-3ac945ae .head-title,
.home .elementor-element-3ac945ae h2 {
    color: var(--cmyk-text, #ACA592) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    max-width: 760px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: var(--cmyk-readable-font) !important;
}

/* Main hero headline */
@media (min-width: 1024px) {
    .home .elementor-element-1733258 .heading-title {
        font-size: 42px !important;
        line-height: 1.15 !important;
    }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .home .elementor-element-1733258 .heading-title {
        font-size: 36px !important;
        line-height: 1.18 !important;
    }
}

/* Both hero CTA buttons: sharper text */
.home .elementor-element-2c93f607 a.button-link-wrap,
.home .elementor-element-1709c25 a.button-link-wrap {
    font-size: 15px !important;
    font-weight: 500 !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 6px !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}

/* Primary button: keep gold fill, darken text slightly for contrast */
.home .elementor-element-2c93f607 a.button-link-wrap {
    background: var(--cmyk-accent, #CD9601) !important;
    color: var(--cmyk-bg, #140E00) !important;
}
.home .elementor-element-2c93f607 a.button-link-wrap:hover,
.home .elementor-element-1709c25 a.button-link-wrap:hover {
    transform: translateY(-2px) !important;
}

/* Secondary button: ghost/outline — transparent bg, cream border + text */
.home .elementor-element-1709c25 a.button-link-wrap {
    border: 1.5px solid rgba(255, 245, 216, 0.75) !important;
    color: var(--cmyk-cream, #FFF5D8) !important;
    background: rgba(255, 245, 216, 0.1) !important;
}
.home .elementor-element-1709c25 a.button-link-wrap:hover {
    border-color: var(--cmyk-cream, #FFF5D8) !important;
    color: var(--cmyk-cream, #FFF5D8) !important;
    background: rgba(255, 245, 216, 0.18) !important;
}
.home .elementor-element-5c2cebad .cmyk-hero-cta-note {
    margin: 0 0 10px;
    color: var(--cmyk-text, #ACA592) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    max-width: 520px !important;
}
.home .elementor-element-5c2cebad .cmyk-hero-cta-note a {
    color: var(--cmyk-accent, #CD9601) !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .home .elementor-element-5c2cebad .elementor-element-279764f6 {
        gap: 16px !important;
        row-gap: 16px !important;
    }
    .home .elementor-element-1733258 .heading-title {
        font-size: clamp(22px, 6.8vw, 26px) !important;
        line-height: 1.16 !important;
    }
    .home .elementor-element-1733258 .heading-title .cmyk-hero-effect-line {
        white-space: nowrap !important;
    }
    .home .elementor-element-1733258 .heading-title .cmyk-hero-effect-lines {
        display: inline !important;
    }
    .home .elementor-element-5c2cebad .elementor-element-3cd6e27 .text-content-block,
    .home .elementor-element-5c2cebad .elementor-element-3cd6e27 .text-content-block p {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        margin-bottom: 0 !important;
    }
    .home .elementor-element-5c2cebad .cmyk-hero-cta-note {
        margin-bottom: 0 !important;
        line-height: 1.45 !important;
    }
}
@media (max-width: 340px) {
    .home .elementor-element-1733258 .heading-title .cmyk-hero-effect-lines {
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        vertical-align: top !important;
    }
    .home .elementor-element-1733258 .heading-title .cmyk-hero-effect-line {
        display: block !important;
    }
    .home .elementor-element-5c2cebad .elementor-element-2c93f607 a.button-link-wrap,
    .home .elementor-element-5c2cebad .elementor-element-1709c25 a.button-link-wrap {
        min-height: 44px !important;
        padding: 9px 9px !important;
        font-size: 13px !important;
    }
}
@media (max-width: 767px) {
    .home .elementor-element-5c2cebad .elementor-element-4805b12d,
    .home .elementor-element-5c2cebad .elementor-element-4805b12d.e-con {
        --flex-direction: row !important;
        flex-wrap: nowrap !important;
        --flex-wrap: nowrap !important;
        gap: 8px !important;
        align-items: center !important;
    }
    .home .elementor-element-5c2cebad .elementor-element-2c93f607,
    .home .elementor-element-5c2cebad .elementor-element-1709c25 {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }
    .home .elementor-element-5c2cebad .elementor-element-2c93f607 a.button-link-wrap,
    .home .elementor-element-5c2cebad .elementor-element-1709c25 a.button-link-wrap {
        width: auto !important;
        min-width: 0 !important;
        min-height: 48px !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }
    .home .elementor-element-5c2cebad .cmyk-hero-cta-note {
        max-width: 330px !important;
        font-size: 13px !important;
    }
}

/* ── Home hero brand logo strip (c06d595 + b60372a) ───────────────────────
   Canonical rules. cmyk-bootstrap-critical mirrors first-paint essentials only.
   ─────────────────────────────────────────────────────────────────────────── */
.home .elementor-element.elementor-element-c06d595 {
    margin-top: -350px !important;
    position: relative !important;
    z-index: 2 !important;
    pointer-events: none !important;
    min-height: 80px !important;
}
html:not(.cmyk-logos-ready) .home .elementor-element.elementor-element-b60372a {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    min-height: 80px !important;
}
html.cmyk-logos-ready .home .elementor-element.elementor-element-b60372a {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 0.2s ease !important;
}
.home .elementor-element.elementor-element-b60372a .swiper-slide:has(img[src*="AT-Ink" i]),
.home .elementor-element.elementor-element-b60372a .swiper-slide:has(img[src*="at-ink" i]) {
    display: none !important;
}
.home .elementor-element.elementor-element-b60372a {
    margin-top: 0 !important;
    border-bottom: none !important;
}
.home .elementor-element-b60372a .swiper-slide {
    height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.home .elementor-element-b60372a .elementor-image-carousel-wrapper {
    overflow: hidden !important;
    max-height: 80px !important;
}
.home .elementor-element-b60372a img,
.home .elementor-element-b60372a .swiper-slide-image {
    height: 52px !important;
    min-height: 52px !important;
    width: auto !important;
    max-width: 200px !important;
    min-width: 24px !important;
    max-height: 52px !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}
.home .elementor-element-b60372a .elementor-widget-container,
.home .elementor-element-b60372a .elementor-image-carousel {
    min-height: 80px !important;
}
@media (min-width: 768px) and (max-width: 1023px) {
    .home .elementor-element.elementor-element-c06d595 {
        margin-top: -48px !important;
        z-index: 2 !important;
        padding-top: 0 !important;
        padding-bottom: 14px !important;
        --padding-top: 0px !important;
        --padding-bottom: 14px !important;
    }
    .home .elementor-element.elementor-element-c06d595 > .e-con-inner {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
@media (max-width: 767px) {
    body.home header#masthead {
        min-height: var(--cmyk-mobile-header-height, 68px) !important;
    }
    body.home header#masthead .elementor > .e-con:first-child {
        height: var(--cmyk-mobile-header-height, 68px) !important;
        min-height: var(--cmyk-mobile-header-height, 68px) !important;
        --min-height: var(--cmyk-mobile-header-height, 68px) !important;
    }
    body.home.page-template-elementor_header_footer header#masthead .elementor > .e-con:first-child,
    body.home.page-template-elementor_header_footer header#masthead .elementor-element-780b38bc.elementor-element-780b38bc {
        background: transparent !important;
        background-color: transparent !important;
    }
    .home .elementor-element.elementor-element-c06d595 {
        margin-top: -92px !important;
        z-index: 2 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        --padding-top: 0px !important;
        --padding-bottom: 0px !important;
    }
    .home .elementor-element.elementor-element-c06d595 > .e-con-inner {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    /* Mobile hero copy wrapper: ease Elementor's -70px pull-up to -30px so
       the small kicker clears the 88px fixed header while spacing stays intact. */
    .home .elementor-element.elementor-element-279764f6 {
        margin-top: -30px !important;
    }
    .home .elementor-element.elementor-element-5c2cebad > .e-con-inner {
        z-index: 3 !important;
    }
    .home .elementor-element.elementor-element-b60372a {
        margin-top: 10px !important;
        padding-bottom: 12px !important;
    }
}

/* ── Home page: section 789ea0a7 ────────────────────────────────────────────
   Keep this section fully opaque. Specific Home overrides may reuse the same
   Elementor container for updated content blocks such as FESPA highlights.
   ─────────────────────────────────────────────────────────────────────────── */
.home .elementor-element.elementor-element-789ea0a7 {
    opacity: 1 !important;
}

/* "Start Your Printing Journey" CTA — keep hidden (button links to #).
   "What Clients Say" testimonials — now visible; update content in Elementor editor. */
.home .elementor-element.elementor-element-332db906 {
    display: none !important;
}

/* ── Home page: Digi Solutions 2-card-per-row section ────────────────────────
   Cards grid: container dgcards0, each card: dg[1-4]a0001
   Photos: 900×510 (16:9). Cards sit on dark bg (#1C1609).
   Desktop grid also mirrored in wp_head (cmyk-home-digi-grid-critical) because
   Autoptimize CSS minify can mis-nest these rules inside a tablet media query.
   ─────────────────────────────────────────────────────────────────────────── */

/* Card container: 2-per-row on desktop + border + hover lift */
.home .elementor-element.elementor-element-dgcards0 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    justify-content: center !important;
    align-items: stretch !important;
}
/* Width reduced by 10%: was calc(50% - 12px), now calc(45% - 12px) */
.home .elementor-element.elementor-element-dgcards0 > .e-con {
    flex: 0 0 calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 0 !important;
    border: 1px solid var(--cmyk-taupe) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
    cursor: pointer;
}
.home .elementor-element.elementor-element-dgcards0 > .e-con:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(205, 150, 1, 0.18) !important;
    border-color: var(--cmyk-accent) !important;
}

/* Photo: fill card width, taller height for 2-col layout */
/* Note: cards are .e-con-boxed which adds .e-con-inner, so no > before .elementor-widget-image */
.elementor-element-dgcards0 > .e-con .elementor-widget-image {
    width: 100% !important;
    margin: 0 !important;
}
.elementor-element-dgcards0 > .e-con .elementor-widget-image img {
    width: 100% !important;
    height: 252px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}

/* Card heading */
.elementor-element-dgcards0 > .e-con h3.elementor-heading-title {
    font-size: clamp(1.1rem, 2vw, 1.5rem) !important;
    line-height: 1.3 !important;
    color: var(--cmyk-cream) !important;
    margin-bottom: 8px !important;
}

/* Card description (p tag rendered by heading widget) */
.elementor-element-dgcards0 > .e-con p.elementor-heading-title {
    font-size: 0.93rem !important;
    line-height: 1.55 !important;
    color: var(--cmyk-text) !important;
    margin-bottom: 16px !important;
    font-weight: 400 !important;
}

/* Responsive: tablet → force 2 columns (Elementor sets flex-direction:column at tablet, override it) */
@media (max-width: 1024px) {
    .home .elementor-element-dgcards0,
    .home .elementor-element-dgcards0 > .e-con-inner {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 24px !important;
    }
    .elementor-element-dgcards0 > .e-con .elementor-widget-image img {
        height: 216px !important;
    }
}

/* Responsive: mobile → 1 column */
@media (max-width: 767px) {
    .elementor-element-dgcards0 > .e-con {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .elementor-element-dgcards0 > .e-con .elementor-widget-image img {
        height: 168px !important; /* corrected selector + tuned mobile height */
    }
    .elementor-element-dgcards0 > .e-con .e-con-full {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }
    /* Prevent button text wrapping at 320px */
    .elementor-element-dgcards0 > .e-con .elementor-widget-tp-button a,
    .elementor-element-dgcards0 > .e-con .elementor-widget-tp-button span {
        white-space: nowrap !important;
    }
}

/* ── Digi Solution Selector Pages ─────────────────────────────────────────── */
/* Force dark bg on the main page wrapper */
.cmyk-solution-selector #page,
.cmyk-solution-selector .site {
    background: var(--cmyk-bg) !important;
}
/* H1 title: readable landing-page style for selector pages */
.cmyk-solution-selector.page:not(.home) .entry-title,
body.cmyk-solution-selector.page:not(.home) h1.entry-title,
body.cmyk-solution-selector h1.entry-title {
    color: var(--cmyk-cream) !important;
    font-size: clamp(2rem, 3vw, 2.4rem) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 0 0 0 0 !important;
    padding: 66px 0 12px 0 !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    font-family: var(--cmyk-readable-font) !important;
}
/* WP page-header wrapper (actual class used by Hello Elementor) */
.cmyk-solution-selector .page-header {
    padding: 0 40px 0 !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
/* WP page-content wrapper (actual class) */
.cmyk-solution-selector .page-content {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 40px 60px !important;
    background: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
/* Also cover entry-header/entry-content if present */
.cmyk-solution-selector .entry-header {
    padding: 0 40px 0 !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: none !important;
}
.cmyk-solution-selector .entry-content {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 40px 60px !important;
    background: none !important;
}
/* Hide post meta / nav */
.cmyk-solution-selector .entry-footer,
.cmyk-solution-selector .post-navigation,
.cmyk-solution-selector .woocommerce-breadcrumb { display: none !important; }
/* Full-page dark bg */
.cmyk-solution-selector .site-content,
.cmyk-solution-selector #content {
    background: var(--cmyk-bg) !important;
    padding: 0 !important;
}
.cmyk-solution-selector .site-main,
.cmyk-solution-selector main#content {
    background: var(--cmyk-bg) !important;
}

/* ── Solutions — shared wrapper ───────────────────────────────────────────── */
.cmyk-solution-selector-page {
    background: var(--cmyk-bg) !important;
}
.cmyk-sol-intro {
    color: var(--cmyk-text);
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 40px;
    max-width: 640px;
}

/* ── SUB-PAGE solution cards (signage, textile, label, décor) ──────────────
   Simple 2-column grid of horizontal cards. Image left, text right.        */
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
    margin-bottom: 48px;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 8px;
    color: var(--cmyk-cream);
    text-decoration: none !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-card-img {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-card-img img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-card-body {
    padding: 24px 24px 20px;
    display: flex; flex-direction: column;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-card:hover {
    border-color: var(--cmyk-accent) !important;
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(205, 150, 1, 0.18);
    color: var(--cmyk-cream) !important;
    text-decoration: none !important;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-label {
    font-size: 1.05rem; font-weight: 700;
    color: var(--cmyk-cream);
    margin-bottom: 8px;
    line-height: 1.25;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-desc {
    font-size: 0.9rem;
    color: var(--cmyk-text);
    line-height: 1.65;
    flex: 1;
}
.cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-cta {
    margin-top: 16px;
    font-size: 0.82rem;
    color: var(--cmyk-accent);
    font-weight: 500;
}
@media (max-width: 767px) {
    .cmyk-solution-selector:not(.cmyk-solutions-hub) .cmyk-sol-grid {
        grid-template-columns: 1fr;
    }
}

/* ── SOLUTIONS HUB (/solutions/ page 191) — Bento Mosaic Grid ───────────────
   Full-bleed photo tiles, gradient overlay, text at bottom.
   Desktop:
     Row 1 → [Card 1: 2fr, 420px tall] [Card 2: 1fr, 420px]
     Row 2 → [Card 3: 1fr, 260px]      [Card 4: 1fr, 260px]
     Row 3 → [Card 5: 1fr, 260px]      [Card 6: 1fr, 260px]
   ─────────────────────────────────────────────────────────────────────────── */

/* Eyebrow + big H1 headline above the bento grid */
.cmyk-solutions-hub .cmyk-sol-eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--cmyk-accent);
    margin-bottom: 14px;
}
.cmyk-solutions-hub .cmyk-sol-headline {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    color: var(--cmyk-cream);
    line-height: 1.1;
    margin: 0 0 16px 0;
    max-width: 720px;
}
.cmyk-solutions-hub .cmyk-sol-intro {
    margin-bottom: 40px;
}

/* Grid container — 8 cards in asymmetric 2-col bento layout */
.cmyk-solutions-hub .cmyk-sol-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 380px 240px 240px 240px;
    gap: 12px;
    margin-bottom: 64px;
}

/* Base card */
.cmyk-solutions-hub .cmyk-sol-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--cmyk-taupe);
    text-decoration: none !important;
    color: var(--cmyk-cream);
    display: block;
    background: var(--cmyk-card);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Photo fills the card */
.cmyk-solutions-hub .cmyk-sol-card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.cmyk-solutions-hub .cmyk-sol-card-img img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
    transition: transform 0.5s ease;
}

/* Gradient overlay: transparent top → dark bottom */
.cmyk-solutions-hub .cmyk-sol-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(20, 14, 0, 0.0) 30%,
        rgba(20, 14, 0, 0.55) 65%,
        rgba(20, 14, 0, 0.92) 100%
    );
    pointer-events: none;
}

/* Number badge */
.cmyk-solutions-hub .cmyk-sol-number {
    position: absolute;
    top: 16px;
    right: 18px;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--cmyk-accent);
    opacity: 0.65;
    z-index: 1;
}

/* Text body pinned to bottom */
.cmyk-solutions-hub .cmyk-sol-card-body {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 24px 24px 22px;
    z-index: 1;
    display: flex;
    flex-direction: column;
}
.cmyk-solutions-hub .cmyk-sol-label {
    font-size: clamp(1rem, 1.4vw, 1.25rem);
    font-weight: 700;
    color: var(--cmyk-cream);
    line-height: 1.2;
    margin-bottom: 0;
}
.cmyk-solutions-hub .cmyk-sol-desc {
    font-size: 0.85rem;
    color: rgba(255, 245, 216, 0.72);
    line-height: 1.55;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.3s ease, margin-top 0.3s ease;
    opacity: 0;
    margin-top: 0;
}
.cmyk-solutions-hub .cmyk-sol-cta {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cmyk-accent);
    letter-spacing: 0.05em;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
    margin-top: 0;
}

/* Hover: zoom photo, reveal text */
.cmyk-solutions-hub .cmyk-sol-card:hover {
    border-color: var(--cmyk-accent) !important;
    box-shadow: 0 0 0 1px var(--cmyk-accent), 0 16px 40px rgba(205, 150, 1, 0.22);
    transform: translateY(-3px);
    text-decoration: none !important;
    color: var(--cmyk-cream) !important;
}
.cmyk-solutions-hub .cmyk-sol-card:hover .cmyk-sol-card-img img {
    transform: scale(1.07);
}
.cmyk-solutions-hub .cmyk-sol-card:hover .cmyk-sol-desc {
    max-height: 80px;
    opacity: 1;
    margin-top: 8px;
}
.cmyk-solutions-hub .cmyk-sol-card:hover .cmyk-sol-cta {
    max-height: 30px;
    opacity: 1;
    margin-top: 12px;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    .cmyk-solutions-hub .cmyk-sol-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
        gap: 10px;
    }
    .cmyk-solutions-hub .cmyk-sol-card {
        height: 220px;
    }
    .cmyk-solutions-hub .cmyk-sol-card:nth-child(1) {
        grid-column: 1 / 3;
        height: 280px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .cmyk-solutions-hub .cmyk-sol-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 10px;
    }
    .cmyk-solutions-hub .cmyk-sol-card {
        grid-column: 1 !important;
        grid-row: auto !important;
        height: 190px;
    }
    .cmyk-solutions-hub .cmyk-sol-desc,
    .cmyk-solutions-hub .cmyk-sol-cta {
        max-height: 80px !important;
        opacity: 1 !important;
        margin-top: 6px !important;
    }
    .cmyk-solutions-hub .cmyk-sol-card-body {
        padding: 16px;
    }
    .cmyk-solutions-hub .cmyk-sol-label {
        font-size: 0.95rem;
    }
    .cmyk-solutions-hub .cmyk-sol-desc {
        font-size: 0.78rem;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    .cmyk-solutions-hub .cmyk-sol-headline {
        font-size: 1.8rem;
    }
}

/* Legacy gallery HTML includes <br> separators between cards; hide them so
   the CSS grid controls spacing consistently on mobile and desktop. */
.cmyk-gallery-grid > br {
    display: none !important;
}

.cmyk-company-card {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px;
    background: linear-gradient(180deg, var(--cmyk-mocha) 0%, var(--cmyk-card) 100%);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 24px;
    color: var(--cmyk-text);
    line-height: 1.75;
}
.cmyk-company-card--wide {
    max-width: 1200px;
}
.cmyk-company-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}
.cmyk-company-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 20px;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 999px;
    color: var(--cmyk-cream) !important;
    font-size: 14px;
    line-height: 1.2;
    text-decoration: none !important;
}
.cmyk-company-nav a.is-active {
    background: var(--cmyk-accent);
    border-color: var(--cmyk-accent);
    color: var(--cmyk-bg) !important;
    font-weight: 700;
}
body.page .cmyk-company-nav a.is-active,
body.page .cmyk-company-nav a.is-active:visited,
body.page .cmyk-company-nav a.is-active:hover,
body.page .cmyk-company-nav a.is-active:focus-visible {
    color: var(--cmyk-bg) !important;
}
body.page:not(.home) .page-content .cmyk-company-nav a.is-active,
body.page:not(.home) .page-content .cmyk-company-nav a.is-active:visited,
body.page:not(.home) .page-content .cmyk-company-nav a.is-active:hover,
body.page:not(.home) .page-content .cmyk-company-nav a.is-active:focus-visible {
    color: var(--cmyk-bg) !important;
}
body.page .cmyk-company-nav a.is-active:focus-visible,
body.page:not(.home) .page-content .cmyk-company-nav a.is-active:focus-visible {
    outline-color: var(--cmyk-bg) !important;
    box-shadow: 0 0 0 1px var(--cmyk-bg), 0 0 0 4px rgba(205, 150, 1, 0.18) !important;
}
.cmyk-company-card h2 {
    margin: 0 0 16px;
    color: var(--cmyk-accent);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.2;
}
.cmyk-company-card h3 {
    margin: 28px 0 10px;
    color: var(--cmyk-cream);
    font-size: 1.08rem;
    line-height: 1.25;
}
.cmyk-company-card p {
    margin: 0 0 16px;
}
.cmyk-company-card p:last-child {
    margin-bottom: 0;
}
.cmyk-help-center-list {
    margin: 0 0 24px;
    padding-left: 20px;
}
.cmyk-help-center-list li {
    margin-bottom: 6px;
}
.cmyk-help-center-list li:last-child {
    margin-bottom: 0;
}
.cmyk-help-center-link {
    color: var(--cmyk-accent) !important;
    font-weight: 600;
    text-decoration: none !important;
}
.cmyk-help-center-link:hover,
.cmyk-help-center-link:focus-visible {
    color: var(--cmyk-sand) !important;
}
.cmyk-support-card {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 32px 48px;
    background: var(--cmyk-espresso);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 20px;
    color: var(--cmyk-text);
    line-height: 1.8;
}
.cmyk-support-card h2 {
    margin: 0 0 16px;
    color: var(--cmyk-accent);
    font-size: clamp(1.4rem, 2.5vw, 1.9rem);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.cmyk-support-card h3 {
    margin: 28px 0 8px;
    color: var(--cmyk-cream);
    font-size: 1.05rem;
    line-height: 1.4;
}
.cmyk-support-card p {
    margin: 0 0 16px;
}
.cmyk-support-card p:last-child {
    margin-bottom: 0;
}
.cmyk-support-box {
    margin-top: 12px;
    padding: 18px 20px;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 12px;
}
.cmyk-support-box p,
.cmyk-support-box ul {
    margin: 0;
}
.cmyk-support-box ul,
.cmyk-support-list {
    padding-left: 20px;
}
.cmyk-support-box li,
.cmyk-support-list li {
    margin-bottom: 8px;
}
.cmyk-support-box li:last-child,
.cmyk-support-list li:last-child {
    margin-bottom: 0;
}
.cmyk-support-link {
    color: var(--cmyk-accent) !important;
    text-decoration: none !important;
}
.cmyk-support-link:hover,
.cmyk-support-link:focus-visible {
    color: var(--cmyk-sand) !important;
}
.cmyk-support-label {
    color: var(--cmyk-cream);
}
.cmyk-company-quote {
    margin-top: 24px;
    padding: 22px;
    background: var(--cmyk-bg);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
    color: var(--cmyk-sand);
}
.cmyk-gallery-head {
    max-width: 760px;
    margin: 0 auto 30px;
    text-align: center;
}
.cmyk-gallery-eyebrow {
    margin: 0 0 12px !important;
    color: var(--cmyk-sand);
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    font-weight: 700;
    line-height: 1.3;
}
.cmyk-gallery-head h2 {
    margin-bottom: 14px;
    color: var(--cmyk-cream);
    font-size: clamp(2rem, 4vw, 3.2rem);
}
.cmyk-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}
.cmyk-gallery-card {
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none !important;
    transition: border-color 0.2s ease, transform 0.2s ease;
}
.cmyk-gallery-card:hover,
.cmyk-gallery-card:focus-visible {
    border-color: var(--cmyk-accent);
    transform: translateY(-2px);
}
.cmyk-gallery-card img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.cmyk-gallery-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--cmyk-bg);
}
.cmyk-gallery-lightbox:target {
    display: flex;
}
.cmyk-gallery-lightbox img {
    max-width: min(92vw, 1100px);
    max-height: 82vh;
    width: auto;
    height: auto;
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
}
.cmyk-gallery-close {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 10px 16px;
    background: var(--cmyk-accent);
    border: 1px solid var(--cmyk-accent);
    border-radius: 999px;
    color: var(--cmyk-bg) !important;
    font-weight: 700;
    text-decoration: none !important;
}
.cmyk-team-intro {
    max-width: 720px;
}
.cmyk-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 28px;
}
.cmyk-team-card {
    padding: 24px;
    background: var(--cmyk-bg);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 18px;
}
.cmyk-team-card h3 {
    margin-top: 0;
    color: var(--cmyk-cream);
}
.cmyk-team-role {
    margin: 0 !important;
    color: var(--cmyk-sand);
    font-weight: 700;
}
.cmyk-team-email {
    margin-top: 10px !important;
}
.cmyk-team-email a {
    display: inline-block;
    max-width: 100%;
    color: var(--cmyk-accent) !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.45;
}
.cmyk-team-email a:hover,
.cmyk-team-email a:focus-visible {
    color: var(--cmyk-sand) !important;
}
@media (max-width: 767px) {
    .cmyk-help-center-link,
    .cmyk-support-link,
    .cmyk-team-email a {
        display: inline-block !important;
        max-width: 100%;
        min-height: 36px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        vertical-align: middle !important;
    }
}
@media (max-width: 767px) {
    .cmyk-company-card {
        padding: 26px 20px;
        border-radius: 18px;
    }
    .cmyk-company-nav a {
        width: 100%;
        justify-content: center;
    }
    .cmyk-gallery-grid,
    .cmyk-team-grid {
        grid-template-columns: 1fr;
    }
}

.cmyk-enhanced-section {
    margin-top: 48px;
    padding: 32px;
    background: linear-gradient(180deg, var(--cmyk-mocha) 0%, var(--cmyk-card) 100%);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 28px;
}

.cmyk-enhanced-section h2,
.cmyk-enhanced-section h3 {
    color: var(--cmyk-cream);
}

.cmyk-enhanced-section p {
    color: var(--cmyk-text);
}

.cmyk-enhanced-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

body.cmyk-product-landing-page .page-content > .cmyk-products-category-section + .cmyk-products-category-section {
    margin-top: 20px !important;
}

body.cmyk-product-landing-page .page-content > .cmyk-products-category-section + .cmyk-featured-products-section {
    margin-top: 56px !important;
}

body.cmyk-product-landing-page .page-content > .cmyk-products-category-section > h2 {
    color: var(--cmyk-cream) !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
}

body.cmyk-product-landing-page .page-content > .cmyk-featured-products-section > h2 {
    color: var(--cmyk-accent) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

@media (min-width: 1200px) {
    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-card {
        grid-column: span 2;
    }

    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-card:nth-last-child(2):nth-child(4) {
        grid-column: 2 / span 2;
    }

    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-card:last-child:nth-child(5) {
        grid-column: 4 / span 2;
    }

    /* Six category cards: even 3×2 grid (no 5-card centering). */
    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid:has(.cmyk-enhanced-card:nth-child(6):last-child) .cmyk-enhanced-card:nth-last-child(2):nth-child(4),
    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid:has(.cmyk-enhanced-card:nth-child(6):last-child) .cmyk-enhanced-card:last-child:nth-child(5) {
        grid-column: span 2;
    }

    /* Seven category cards: 3 + 3 + 1 centered. */
    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid:has(.cmyk-enhanced-card:nth-child(7):last-child) .cmyk-enhanced-card:nth-last-child(2):nth-child(4),
    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid:has(.cmyk-enhanced-card:nth-child(7):last-child) .cmyk-enhanced-card:last-child:nth-child(5) {
        grid-column: span 2;
    }

    body.cmyk-products-page .cmyk-products-category-section .cmyk-enhanced-grid:has(.cmyk-enhanced-card:nth-child(7):last-child) .cmyk-enhanced-card:last-child:nth-child(7) {
        grid-column: 3 / span 2;
    }
}

.cmyk-enhanced-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 100%;
    background: var(--cmyk-bg);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 24px;
    color: var(--cmyk-cream, #FFF5D8);
    text-decoration: none;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cmyk-enhanced-card:hover,
.cmyk-enhanced-card:focus-visible,
.cmyk-enhanced-card:visited {
    color: var(--cmyk-cream, #FFF5D8);
    text-decoration: none;
}

body.cmyk-product-landing-page .page-content .cmyk-enhanced-card,
body.cmyk-product-landing-page .page-content .cmyk-enhanced-card:hover,
body.cmyk-product-landing-page .page-content .cmyk-enhanced-card:focus-visible,
body.cmyk-product-landing-page .page-content .cmyk-enhanced-card:visited,
body.cmyk-product-landing-page .page-content .cmyk-archive-pill,
body.cmyk-product-landing-page .page-content .cmyk-archive-pill:hover,
body.cmyk-product-landing-page .page-content .cmyk-archive-pill:focus-visible,
body.cmyk-product-landing-page .page-content .cmyk-archive-pill:visited {
    text-decoration: none !important;
}

body.page.cmyk-product-landing-page .page-content a.cmyk-archive-pill,
body.page.cmyk-product-landing-page .page-content a.cmyk-archive-pill:visited {
    color: var(--cmyk-cream) !important;
}

body.page.cmyk-product-landing-page .page-content a.cmyk-archive-pill:hover,
body.page.cmyk-product-landing-page .page-content a.cmyk-archive-pill:focus-visible {
    color: var(--cmyk-cream) !important;
}

body.page.cmyk-product-landing-page .page-content .cmyk-enhanced-card-body h3 {
    color: var(--cmyk-cream) !important;
}

.cmyk-enhanced-card:hover {
    border-color: var(--cmyk-accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(205, 150, 1, 0.15);
}

.cmyk-enhanced-card-media {
    /* aspect-ratio fallback for Safari < 15 */
    position: relative;
    overflow: hidden;
    /* Percentage-padding fallback: 75% = 4:3 ratio */
    padding-top: 75%;
    background: linear-gradient(135deg, var(--cmyk-mocha) 0%, var(--cmyk-espresso) 100%);
}
@supports (aspect-ratio: 4 / 3) {
    .cmyk-enhanced-card-media {
        aspect-ratio: 4 / 3;
        padding-top: 0;
    }
}

.cmyk-enhanced-card-media img {
    /* For aspect-ratio fallback: absolutely positioned inside padding-top container */
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@supports (aspect-ratio: 4 / 3) {
    .cmyk-enhanced-card-media img {
        position: static;
        inset: auto;
    }
}

.cmyk-enhanced-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    /* gap fallback for Safari < 14.5 */
    gap: 12px;
    row-gap: 12px;
    padding: 20px;
}

.cmyk-enhanced-card-body h3 {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.3;
    color: var(--cmyk-cream);
}

.cmyk-enhanced-card-body p {
    margin: 0;
    color: var(--cmyk-text);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cmyk-enhanced-card-cta {
    margin-top: auto;
    color: var(--cmyk-sand);
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
}

.cmyk-enhanced-card-cta::after {
    content: ' →';
    opacity: 0.8;
}

body.cmyk-solutions-page .page-content > .cmyk-solutions-overview-section {
    margin-top: 0 !important;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
}

body.cmyk-solutions-page .page-header {
    margin-bottom: 14px !important;
}

body.cmyk-solutions-page .page-header h1.entry-title,
.cmyk-color-effect-text {
    display: inline-block;
    margin: 0 !important;
    color: var(--cmyk-accent) !important;
    background-color: var(--cmyk-accent);
    background-image: url('/wp-content/uploads/2026/05/cmyk-webiso-bg-text.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    body.cmyk-solutions-page .page-header h1.entry-title,
    .cmyk-color-effect-text {
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent !important;
    }
}

body.cmyk-solutions-page .page-content > .cmyk-product-landing-pill-nav {
    margin-bottom: 20px !important;
}

body.cmyk-solutions-page .page-content > .cmyk-solutions-overview-section > h2 {
    margin-top: 0;
    margin-bottom: 24px;
    color: var(--cmyk-accent) !important;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 0;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card {
    position: relative;
    min-height: 450px;
    border: 1px solid var(--cmyk-taupe);
    border-radius: 14px;
    background: var(--cmyk-card);
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:hover,
body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:focus-visible {
    transform: translateY(0);
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:focus-visible {
    outline: 2px solid var(--cmyk-accent);
    outline-offset: 3px;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding-top: 0;
    aspect-ratio: auto;
    background: var(--cmyk-card);
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.01);
    transition: transform 0.6s ease, filter 0.6s ease;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:hover .cmyk-enhanced-card-media img,
body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:focus-visible .cmyk-enhanced-card-media img {
    transform: scale(1.07);
    filter: saturate(1.05);
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -82px;
    z-index: 2;
    padding: 28px 28px 26px;
    background: linear-gradient(180deg, var(--cmyk-card) 0%, var(--cmyk-bg) 100%);
    border-top: 1px solid var(--cmyk-taupe);
    transition: transform 0.35s ease;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:hover .cmyk-enhanced-card-body,
body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:focus-visible .cmyk-enhanced-card-body {
    transform: translateY(-82px);
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body h3 {
    margin: 0 0 12px;
    color: var(--cmyk-cream) !important;
    font-size: clamp(1rem, 1.65vw, 1.25rem);
    font-weight: 700;
    line-height: 1.3;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body p {
    margin: 0 0 18px;
    color: var(--cmyk-text);
    font-size: 14px;
    line-height: 1.55;
    -webkit-line-clamp: 3;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-cta {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    color: var(--cmyk-accent);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:hover .cmyk-enhanced-card-cta,
body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card:focus-visible .cmyk-enhanced-card-cta {
    color: var(--cmyk-cream);
}

@media (min-width: 768px) and (max-width: 1199px) {
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card {
        min-height: 350px;
    }
}

@media (max-width: 767px) {
    body.cmyk-solutions-page .page-content > .cmyk-solutions-overview-section {
        margin-top: 0 !important;
    }

    body.cmyk-solutions-page .page-header {
        margin-bottom: 10px !important;
    }

    body.cmyk-solutions-page .page-content > .cmyk-product-landing-pill-nav {
        margin-bottom: 16px !important;
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card {
        min-height: 0;
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-media {
        position: relative;
        height: 320px;
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body {
        position: relative;
        bottom: auto;
        padding: 22px 20px 24px;
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card,
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-media img,
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body {
        transition: none !important;
    }

    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card,
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-media img,
    body.cmyk-solutions-page .cmyk-solutions-overview-section .cmyk-enhanced-card-body {
        transform: none !important;
        filter: none !important;
    }
}

.cmyk-archive-prototype .woocommerce-products-header,
.cmyk-archive-prototype .woocommerce-breadcrumb {
    display: none;
}

/* Hide any sub-category tile WooCommerce injects — we want products only */
.cmyk-archive-prototype ul.products li.product-category {
    display: none !important;
}

.cmyk-archive-hero {
    margin-top: 0;
    margin-bottom: 24px;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 8px 0 0 0 !important;
    box-shadow: none !important;
}

.cmyk-archive-prototype main,
.cmyk-archive-prototype .site-main,
.cmyk-archive-prototype #content {
    /* Header is no longer fixed — small top padding for visual breathing room */
    padding-top: 20px;
    padding-bottom: 56px;
}

.cmyk-archive-hero h1 {
    margin: 0;
    color: var(--cmyk-cream);
    font-size: clamp(1.68rem, 2.8vw, 2.24rem) !important;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Back button — parent category link on child archives */
.cmyk-archive-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 0;
    background: none;
    border: none;
    color: var(--cmyk-accent);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: color 0.2s ease, gap 0.2s ease;
}
.cmyk-archive-back:hover,
.cmyk-archive-back:focus-visible {
    color: var(--cmyk-sand);
}
.cmyk-archive-back:hover .cmyk-archive-back-arrow {
    transform: translateX(-3px);
}
.cmyk-archive-back-arrow {
    display: inline-block;
    transition: transform 0.2s ease;
}

.cmyk-archive-hero-desc {
    margin-top: 12px;
    color: var(--cmyk-text);
    font-size: 1rem;
    line-height: 1.6;
}

/* ── Solution product landing pages (/ink-solutions/, /signage-solutions/, etc.) ── */
.cmyk-solution-product-page .site-main {
    /* These pages now share the same flush header-to-title start as the rest
       of the fixed-header page families; the old 40px top padding recreated
       the visible blank band the default-template reset removes elsewhere. */
    padding-top: 0 !important;
    padding-bottom: 56px;
}
.cmyk-solution-product-page .page-header,
.cmyk-solution-product-page .page-content {
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: 24px;
}
.cmyk-solution-product-page h1.entry-title,
.cmyk-solution-product-page .entry-title {
    color: var(--cmyk-cream) !important;
    font-size: clamp(1.68rem, 2.8vw, 2.24rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 0 20px !important;
}
.cmyk-sol-page-intro {
    color: var(--cmyk-text, #ACA592);
    font-size: 1.05rem;
    line-height: 1.65;
    max-width: 720px;
    margin: 0 0 32px;
}
/* Sibling nav pills between solution pages */
.cmyk-sol-pill-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
}
/* Override global Elementor link color so pills render correctly.
   body.page:not(.home) .page-content a has specificity (0,3,2) + !important,
   so we need (0,4,1) to beat it: add body.page to the selector. */
body.page.cmyk-solution-product-page .cmyk-sol-pill-nav .cmyk-archive-pill,
body.page.cmyk-solution-product-page .cmyk-sol-pill-nav .cmyk-archive-pill:visited {
    color: var(--cmyk-cream) !important;
}
body.page.cmyk-solution-product-page .cmyk-sol-pill-nav .cmyk-archive-pill.is-active,
body.page.cmyk-solution-product-page .cmyk-sol-pill-nav .cmyk-archive-pill.is-active:visited {
    color: var(--cmyk-bg) !important;
    font-weight: 700 !important;
}
/* Suppress WooCommerce "Read more" / "Add to cart" buttons (CSS fallback) */
.cmyk-solution-product-page a.button.product_type_simple,
.cmyk-solution-product-page a.add_to_cart_button,
.cmyk-solution-product-page .added_to_cart {
    display: none !important;
}

/* Ensure product grid is full-width inside WP page entry-content */
.entry-content .cmyk-archive-prototype {
    max-width: none;
    width: 100%;
}

.cmyk-archive-hero-desc p {
    margin: 0 0 8px;
    color: var(--cmyk-text);
}

.cmyk-archive-hero-desc p:last-child {
    margin-bottom: 0;
}

.cmyk-archive-pill-nav {
    display: flex;
    flex-wrap: wrap;
    /* gap fallback for Safari < 14.5 */
    margin: 28px -6px 0;
    gap: 12px;
    row-gap: 12px;
    column-gap: 12px;
}
.cmyk-archive-pill-nav > .cmyk-archive-pill {
    /* margin fallback when gap is not supported */
    margin: 6px;
}

.cmyk-archive-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid var(--cmyk-taupe);
    border-radius: 999px;
    background: var(--cmyk-card);
    color: var(--cmyk-cream);
    font-family: var(--cmyk-readable-font);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.cmyk-archive-pill:hover,
.cmyk-archive-pill:focus-visible {
    border-color: var(--cmyk-accent);
    color: var(--cmyk-cream);
}

.cmyk-archive-pill.is-active {
    border-color: var(--cmyk-accent);
    background: var(--cmyk-accent);
    color: var(--cmyk-bg);
}

.cmyk-archive-prototype .woocommerce-notices-wrapper {
    margin-bottom: 20px;
}

.cmyk-archive-prototype .woocommerce-ordering {
    display: none !important;
}

.cmyk-archive-prototype.woocommerce .woocommerce-result-count,
.cmyk-archive-prototype.woocommerce-page .woocommerce-result-count,
.cmyk-archive-prototype .woocommerce-result-count {
    display: block;
    clear: both;
    width: 100% !important;
    float: none !important;
    margin: 12px 0 0;
    padding: 0;
    color: var(--cmyk-text);
    font-size: 0.875rem;
}

/* Brand tag hero count label */
.cmyk-archive-result-count {
    margin: 8px 0 0;
    color: var(--cmyk-text);
    font-size: 0.875rem;
    line-height: 1.4;
}

/* Brand SEO footer — sits below the product grid */
.cmyk-brand-seo-footer {
    max-width: 1140px;
    margin: 56px auto 0;
    padding: 40px 24px;
    border-top: 1px solid var(--cmyk-taupe);
}
.cmyk-brand-seo-footer h2 {
    color: var(--cmyk-cream) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
    letter-spacing: 0.01em;
}
.cmyk-brand-seo-footer p {
    color: var(--cmyk-text) !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    max-width: 860px;
    margin: 0 !important;
}

.cmyk-archive-products-section {
    margin-top: 24px;
    margin-bottom: 0;
}

.cmyk-archive-products-heading h2 {
    margin: 0;
}

.cmyk-archive-prototype ul.products {
    display: grid;
    clear: both;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 20px 0 0 !important;
    padding: 0;
    list-style: none;
}

.cmyk-archive-prototype ul.products::before,
.cmyk-archive-prototype ul.products::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.cmyk-archive-prototype.woocommerce ul.products.columns-4 li.product,
.cmyk-archive-prototype.woocommerce-page ul.products.columns-4 li.product,
.cmyk-archive-prototype.woocommerce ul.products[class*="columns-"] li.product,
.cmyk-archive-prototype.woocommerce-page ul.products[class*="columns-"] li.product,
.cmyk-archive-prototype ul.products li.product {
    display: block;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
    /* Prevent any single item in the last row from spanning/stretching */
    grid-column: span 1 !important;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card {
    height: 100%;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media {
    overflow: hidden;
    position: relative;
    /* aspect-ratio fallback for Safari < 15: padding-top 100% = 1:1 square */
    padding-top: 100%;
    aspect-ratio: 1 / 1;
    background: #FFFFFF !important;
    background-image: none !important;
}

/* No-image placeholder: dark card bg with subtle icon */
.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media.cmyk-no-image {
    background: var(--cmyk-card, #1F1C17) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ACA592' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 32% !important;
}
@supports (aspect-ratio: 1 / 1) {
    .cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media:not(.cmyk-no-image) {
        padding-top: 0;
        background: #FFFFFF !important;
        background-image: none !important;
    }
    .cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media.cmyk-no-image {
        padding-top: 0;
    }
}

.cmyk-spare-parts-archive ul.products li.product .cmyk-enhanced-card-media::before,
.cmyk-spare-parts-archive ul.products li.product-category > a::before {
    content: 'CMYK';
    position: absolute;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%) rotate(-18deg);
    color: var(--cmyk-espresso, #1C1609);
    font-family: var(--cmyk-readable-font, inherit);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: var(--cmyk-spare-archive-watermark-opacity, 0.288);
    text-shadow: 0 2px 10px rgba(28, 22, 9, 0.14);
    pointer-events: none;
    user-select: none;
}

.cmyk-spare-parts-archive ul.products li.product .cmyk-enhanced-card-media::before {
    top: 50%;
    font-size: var(--cmyk-spare-archive-watermark-font-size, clamp(1.35rem, 2.9vw, 3rem));
    letter-spacing: var(--cmyk-spare-archive-watermark-letter-spacing, clamp(0.2rem, 0.58vw, 0.5rem));
}

.cmyk-spare-parts-archive ul.products li.product-category > a {
    position: relative;
}

.cmyk-spare-parts-archive ul.products li.product-category > a::before {
    top: 42%;
    font-size: var(--cmyk-spare-archive-tile-watermark-font-size, clamp(1.22rem, 2.5vw, 2.6rem));
    letter-spacing: var(--cmyk-spare-archive-tile-watermark-letter-spacing, clamp(0.18rem, 0.5vw, 0.44rem));
}

@media (max-width: 767px) {
    .cmyk-spare-parts-archive {
        --cmyk-spare-archive-watermark-opacity: 0.36;
        --cmyk-spare-archive-watermark-font-size: clamp(1rem, 5.2vw, 1.45rem);
        --cmyk-spare-archive-watermark-letter-spacing: clamp(0.16rem, 0.95vw, 0.26rem);
        --cmyk-spare-archive-tile-watermark-font-size: clamp(0.98rem, 4.9vw, 1.35rem);
        --cmyk-spare-archive-tile-watermark-letter-spacing: clamp(0.15rem, 0.82vw, 0.24rem);
    }
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media img {
    /* Ensure absolute positioning when in padding-top fallback mode */
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #FFFFFF !important;
    display: block;
    padding: 8px !important;
    box-sizing: border-box !important;
}
@supports (aspect-ratio: 1 / 1) {
    .cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-media img {
        position: static;
        inset: auto;
        width: 100% !important;
        height: 100% !important;
    }
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-body {
    gap: 18px;
    background: var(--cmyk-bg);
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card:hover,
.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card:focus-visible {
    color: var(--cmyk-cream, #FFF5D8);
    text-decoration: none;
}

.cmyk-archive-prototype ul.products li.product a.cmyk-enhanced-card,
.cmyk-archive-prototype ul.products li.product a.cmyk-enhanced-card:visited,
.cmyk-archive-prototype ul.products li.product a.cmyk-enhanced-card:hover,
.cmyk-archive-prototype ul.products li.product a.cmyk-enhanced-card:focus-visible {
    color: var(--cmyk-cream, #FFF5D8) !important;
    text-decoration: none !important;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card img {
    margin: 0;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-body h3 {
    color: var(--cmyk-cream, #FFF5D8) !important;
    text-decoration: none;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-cta {
    color: var(--cmyk-accent, #CD9601) !important;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-price {
    display: block;
    color: var(--cmyk-sand, #F2DA9A) !important;
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.3;
}

.cmyk-archive-prototype ul.products li.product .cmyk-enhanced-card-price .woocommerce-Price-amount {
    color: inherit !important;
}

.cmyk-archive-prototype ul.products li.product a,
.cmyk-archive-prototype ul.products li.product a:hover,
.cmyk-archive-prototype ul.products li.product a:focus-visible {
    text-decoration: none;
}

.cmyk-archive-prototype nav.woocommerce-pagination {
    margin-top: 28px;
}

.cmyk-archive-prototype nav.woocommerce-pagination ul {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.cmyk-archive-prototype nav.woocommerce-pagination ul li {
    display: inline-flex !important;
    float: none !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cmyk-archive-prototype nav.woocommerce-pagination ul li span,
.cmyk-archive-prototype nav.woocommerce-pagination ul li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid var(--cmyk-taupe);
    border-radius: 999px;
    background: var(--cmyk-card);
    color: var(--cmyk-cream);
    text-decoration: none !important;
    line-height: 1;
}

.cmyk-archive-prototype nav.woocommerce-pagination ul li span.current {
    border-color: var(--cmyk-accent);
    background: var(--cmyk-accent);
    color: var(--cmyk-bg);
}

.cmyk-archive-prototype nav.woocommerce-pagination ul li a:hover {
    border-color: var(--cmyk-accent);
    color: var(--cmyk-cream);
}

.cmyk-archive-prototype nav.woocommerce-pagination ul li a:focus-visible,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible {
    border-color: var(--cmyk-accent) !important;
    background: var(--cmyk-card, #1F1C17) !important;
    color: var(--cmyk-cream, #FFF5D8) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype),
body.woocommerce-shop:not(.cmyk-archive-prototype) {
    background: var(--cmyk-bg, #140E00) !important;
    color: var(--cmyk-text, #ACA592) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) .woocommerce-breadcrumb,
body.post-type-archive-product:not(.cmyk-archive-prototype) .woocommerce-breadcrumb a,
body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-breadcrumb,
body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-breadcrumb a {
    color: var(--cmyk-text, #ACA592) !important;
}

/* Shop is the one remaining non-prototype WooCommerce archive in this phase.
   Keep its breadcrumb flush under the header and remove the extra H1 top gap
   so it starts like the other fixed-header page families. */
body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-breadcrumb {
    margin-bottom: 0 !important;
}

body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-products-header,
body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-products-header__title.page-title {
    margin-top: 0 !important;
}

body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-products-header__title.page-title {
    margin-bottom: 16px !important;
}

/* Bring the remaining WooCommerce loop cards onto the same card shell and
   square media-box treatment used by the custom archive prototype. */
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product {
    display: block !important;
    height: 100%;
    position: relative;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    background: var(--cmyk-bg, #140E00) !important;
    border: 1px solid var(--cmyk-taupe, #686258);
    border-radius: 24px;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link::before,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link::before {
    content: "";
    display: block;
    grid-column: 1;
    grid-row: 1;
    padding-top: 100%;
    background: #FFFFFF !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link:hover,
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link:focus-visible,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link:hover,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link:focus-visible {
    border-color: var(--cmyk-accent, #CD9601);
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(205, 150, 1, 0.15);
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link img,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product > a.woocommerce-LoopProduct-link img {
    display: block;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100% !important;
    object-fit: contain !important;
    background: #FFFFFF !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    margin: 0 !important;
    padding: 20px 20px 0 !important;
    font-size: 1.02rem;
    line-height: 1.35;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title:last-child,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title:last-child {
    padding-bottom: 20px !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .price,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .price {
    display: block;
    grid-column: 1;
    grid-row: 3;
    margin-bottom: 0 !important;
    padding: 12px 20px 20px !important;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .price .woocommerce-Price-amount,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .price .woocommerce-Price-amount {
    color: inherit !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product span.onsale,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product span.onsale {
    top: 14px;
    right: 14px;
    left: auto !important;
    margin: 0;
    min-width: 0;
    min-height: 0;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--cmyk-accent, #CD9601) !important;
    color: var(--cmyk-bg, #140E00) !important;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 4px 14px rgba(20, 14, 0, 0.25);
    z-index: 3;
}

/* Keep the remaining non-prototype Shop/archive loop on the same explicit
   grid system as the prototype archives instead of relying on theme floats. */
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products::before,
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products::after,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products::before,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    grid-column: span 1 !important;
}

/* Spare parts uses the denser 5-column layout on desktop only; smaller
   breakpoints fall back to the shared archive pattern for readability. */
@media (min-width: 1200px) {
    body.term-spare-parts.cmyk-archive-prototype ul.products {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products,
    body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product a,
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product a:visited,
body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product a:hover,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product a,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product a:visited,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product a:hover,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a {
    color: var(--cmyk-cream, #FFF5D8) !important;
    text-decoration: none !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .woocommerce-loop-product__title {
    color: var(--cmyk-cream, #FFF5D8) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products li.product .price,
body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products li.product .price {
    color: var(--cmyk-sand, #F2DA9A) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) .woocommerce-ordering select,
body.woocommerce-shop:not(.cmyk-archive-prototype) .woocommerce-ordering select,
body.woocommerce-page .woocommerce-ordering select,
body.woocommerce-page select.orderby {
    background: var(--cmyk-card, #1F1C17) !important;
    border: 1px solid var(--cmyk-taupe, #686258) !important;
    color: var(--cmyk-cream, #FFF5D8) !important;
}

body.woocommerce-page .woocommerce-ordering select:focus,
body.woocommerce-page select.orderby:focus {
    border-color: var(--cmyk-accent, #CD9601) !important;
    outline: none !important;
}

body.woocommerce-page .woocommerce-breadcrumb,
body.woocommerce-page .woocommerce-breadcrumb a,
body.woocommerce-page .woocommerce-breadcrumb a:visited {
    color: var(--cmyk-text, #ACA592) !important;
}

body.woocommerce-page .woocommerce-breadcrumb a:hover,
body.woocommerce-page .woocommerce-breadcrumb a:focus-visible {
    color: var(--cmyk-accent, #CD9601) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li span,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li span,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid var(--cmyk-taupe, #686258) !important;
    background: var(--cmyk-card, #1F1C17) !important;
    color: var(--cmyk-cream, #FFF5D8) !important;
}

body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li span.current,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li span.current {
    border-color: var(--cmyk-accent, #CD9601) !important;
    background: var(--cmyk-accent, #CD9601) !important;
    color: var(--cmyk-bg, #140E00) !important;
}

@media (max-width: 767px) {
    /* Match the taller mobile title gap used by the Elementor header/footer inner-page family. */
    body.page:not(.home):not(.cmyk-solution-selector):not(.page-template-elementor_header_footer):not(.woocommerce-page) .page-header {
        margin-top: 20px !important;
    }

    body.page-template-elementor_header_footer:not(.home) #page > header#masthead + *,
    body.single-post:not(.home) #page > header#masthead + *,
    body.blog:not(.home) #page > header#masthead + * {
        margin-top: 0 !important;
    }
    body.single-product:not(.home) #primary {
        margin-top: 0 !important;
    }

    body.home.page-template-elementor_header_footer #page > header#masthead + * {
        margin-top: 0 !important;
    }

    .cmyk-archive-prototype main,
    .cmyk-archive-prototype .site-main,
    .cmyk-archive-prototype #content {
        /* Header is no longer fixed — small top padding for visual breathing room */
        padding-top: 16px !important;
        padding-bottom: 40px;
    }

    .cmyk-enhanced-section {
        margin-top: 32px;
        padding: 20px;
        border-radius: 22px;
    }

    /* For archive pages: the main padding already accounts for header, so remove extra margin */
    .cmyk-archive-prototype .cmyk-enhanced-section {
        margin-top: 0 !important;
    }

    .cmyk-enhanced-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cmyk-archive-pill-nav {
        gap: 10px;
    }

    .cmyk-archive-pill {
        width: 100%;
    }

    .cmyk-archive-prototype .woocommerce-result-count {
        width: 100%;
    }

    .cmyk-archive-prototype ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products,
    body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .cmyk-archive-hero {
        padding-top: 12px !important;
        margin-top: 0 !important;
    }

    .cmyk-archive-hero h1 {
        font-size: clamp(1.4rem, 7vw, 1.82rem) !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    /* Tablet header is slightly taller (~106px) — add a touch more offset */
    .cmyk-archive-prototype main,
    .cmyk-archive-prototype .site-main,
    .cmyk-archive-prototype #content {
        padding-top: 110px !important;
    }

    .cmyk-archive-pill-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        margin: 24px 0 0;
        gap: 12px;
        align-items: stretch;
    }

    .cmyk-archive-pill-nav > .cmyk-archive-pill {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 12px 14px;
        line-height: 1.35;
        text-align: center;
        white-space: normal;
    }

    .cmyk-archive-prototype ul.products {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    body.post-type-archive-product:not(.cmyk-archive-prototype) ul.products,
    body.woocommerce-shop:not(.cmyk-archive-prototype) ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
    }
}

/* ── Contact Form ── */
.cmyk-contact-form {
    display: grid;
    gap: 18px;
    margin-top: 24px;
    scroll-margin-top: calc(var(--cmyk-page-start-offset, 116px) + 24px);
}
.cmyk-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.cmyk-form-row.cmyk-form-row--single {
    grid-template-columns: 1fr;
}
@media (max-width: 767px) {
    .cmyk-form-row { grid-template-columns: 1fr; }
}
.cmyk-form-group label {
    display: block;
    font-size: .85rem;
    color: var(--cmyk-sand);
    margin-bottom: 6px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.cmyk-form-help {
    display: block;
    margin-top: 6px;
    color: var(--cmyk-text);
    font-size: .82rem;
    line-height: 1.45;
}
.cmyk-form-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.cmyk-form-group input,
.cmyk-form-group textarea,
.cmyk-form-group select {
    width: 100%;
    padding: 12px 16px;
    background: #1F1C17;
    border: 1px solid var(--cmyk-taupe);
    border-radius: 10px;
    color: var(--cmyk-cream);
    font-size: 1rem;
    font-family: inherit;
    outline: none;
    transition: border-color .2s;
    box-sizing: border-box;
    /* Explicitly reset Safari native input appearance */
    -webkit-appearance: none;
    appearance: none;
    /* Prevent iOS Safari zoom on focus (font-size must be >= 16px equivalent) */
    -webkit-text-size-adjust: 100%;
}
.cmyk-form-group input:focus,
.cmyk-form-group textarea:focus {
    border-color: var(--cmyk-accent);
}
.cmyk-form-group textarea {
    resize: vertical;
    min-height: 120px;
}
.cmyk-form-group input::placeholder,
.cmyk-form-group textarea::placeholder {
    color: var(--cmyk-taupe);
    opacity: 1;
}
/* Safari-specific placeholder (older WebKit) */
.cmyk-form-group input::-webkit-input-placeholder,
.cmyk-form-group textarea::-webkit-input-placeholder {
    color: var(--cmyk-taupe);
    opacity: 1;
}
.cmyk-form-notice {
    padding: 14px 20px;
    border-radius: 12px;
    font-size: .95rem;
    margin-bottom: 18px;
}
.cmyk-application-panel {
    margin-top: 28px;
}
.cmyk-support-form-panel {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--cmyk-taupe);
}
.cmyk-support-form-panel-title {
    color: var(--cmyk-cream);
    margin: 0 0 8px;
    font-size: 1.05rem;
    line-height: 1.4;
}
.cmyk-support-form-panel > p:first-of-type {
    margin-top: 0;
}
.cmyk-support-form-panel .cmyk-contact-form {
    margin-top: 20px;
}
.cmyk-application-panel-title {
    color: var(--cmyk-cream);
    margin: 0 0 8px;
    font-size: 1.05rem;
    line-height: 1.4;
}
.cmyk-application-panel > p:first-of-type {
    margin-top: 0;
}
.cmyk-form-notice.success {
    background: rgba(205,150,1,.12);
    border: 1px solid var(--cmyk-accent);
    color: var(--cmyk-sand);
}
.cmyk-form-notice.error {
    background: rgba(205,150,1,.12);
    border: 1px solid var(--cmyk-accent);
    color: var(--cmyk-sand);
}

/* ── Careers Page ── */
.cmyk-careers-section {
    padding: 40px 40px 48px;
    max-width: 1100px;
    margin: 0 auto;
    background: #1C1609;
    border-radius: 20px;
    color: #ACA592;
    line-height: 1.9;
}
.cmyk-careers-heading {
    color: #CD9601;
    margin-top: 0;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    text-transform: uppercase;
    letter-spacing: .06em;
}
.cmyk-careers-sub {
    color: #F2DA9A;
    font-size: clamp(1rem, 2vw, 1.2rem);
    margin-top: 0;
    margin-bottom: 8px;
}
.cmyk-careers-sub--spaced {
    margin-top: 32px;
}
.cmyk-careers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 28px 0;
}
.cmyk-careers-card {
    background: #1F1C17;
    border: 1px solid #686258;
    border-radius: 16px;
    padding: 24px;
    transition: border-color .2s, transform .2s;
}
.cmyk-careers-card:hover {
    border-color: #CD9601;
    transform: translateY(-3px);
}
.cmyk-careers-card h3 {
    color: #FFF5D8;
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.cmyk-careers-card .tag {
    display: inline-block;
    background: #2C2822;
    color: #F2DA9A;
    border-radius: 999px;
    padding: 3px 12px;
    font-size: .82rem;
    margin-bottom: 12px;
    border: 1px solid #686258;
}
.cmyk-careers-card ul {
    padding-left: 18px;
    margin: 10px 0 0;
}
.cmyk-careers-card li {
    margin-bottom: 6px;
    color: #ACA592;
    font-size: .95rem;
}
.cmyk-careers-cta {
    background: #2C2822;
    border: 1px solid #686258;
    border-radius: 16px;
    padding: 28px;
    margin-top: 28px;
    text-align: center;
}
.cmyk-careers-cta h3 {
    color: #FFF5D8;
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1.1rem;
}
.cmyk-reseller-page {
    max-width: 900px;
}
.cmyk-reseller-benefits {
    margin-top: 12px;
    padding: 18px 20px;
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 16px;
}
.cmyk-reseller-benefits ul {
    margin: 0;
    padding-left: 20px;
}
.cmyk-reseller-benefits li {
    margin-bottom: 8px;
}
.cmyk-reseller-benefits li:last-child {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .cmyk-careers-section { padding: 28px 20px 36px; }
    .cmyk-support-card { padding: 28px 20px 36px; }
}

/* ── Blog Archive ── */
.blog .site-main {
    max-width: 1280px;
    margin: 0 auto;
    /* Padding-top is forced to 0 here — offset is handled by JS margin-top on this element.
       Other rules (including legacy inline CSS) set padding-top: 40px or 96px which stack to 136px
       and push the page-header 136px too far down. This !important override wins over all of them. */
    padding-top: 0 !important;
    padding-right: 40px;
    padding-bottom: 60px;
    padding-left: 40px;
}
/* ID-specificity override to beat any class-based padding-top rule on the blog main element */
body.blog main#content,
body.single-post main#content {
    padding-top: 0 !important;
}
/* ── Blog Single Post ── */
body.single-post .site-main {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 0 !important;
    padding-left: 40px;
    padding-right: 40px;
}
.blog .page-header {
    margin-bottom: 36px;
}
.blog .page-header h1.entry-title {
    color: var(--cmyk-cream);
    margin: 0;
}
.blog .page-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 1099px) {
    .blog .page-content { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .blog .page-content { grid-template-columns: 1fr; }
}
.blog article.post {
    background: var(--cmyk-card);
    border: 1px solid var(--cmyk-taupe);
    border-radius: 16px;
    padding: 24px;
    display: grid;
    grid-template-areas:
        "thumb"
        "title"
        "excerpt"
        "more";
    grid-template-rows: auto auto 1fr auto;
    transition: border-color .2s, transform .2s, box-shadow .2s;
}
.blog article.post:hover {
    border-color: var(--cmyk-accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(205,150,1,.12);
}
.blog article.post h2.entry-title {
    font-size: 1rem !important;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.4;
    margin: 0 0 12px;
    color: var(--cmyk-cream);
    grid-area: title;
}
.blog article.post h2.entry-title a {
    color: var(--cmyk-cream);
    text-decoration: none;
    transition: color .2s;
}
.blog article.post h2.entry-title a:hover { color: var(--cmyk-accent); }
.blog article.post .entry-excerpt {
    color: var(--cmyk-text);
    font-size: .92rem;
    line-height: 1.7;
    margin: 0 0 16px;
    grid-area: excerpt;
}
.blog article.post .cmyk-academy-card-thumb,
.blog article.post > a:has(img.wp-post-image) {
    display: block;
    grid-area: thumb;
    margin: -24px -24px 16px;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    line-height: 0;
    text-decoration: none;
}
.blog article.post img.wp-post-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}
.cmyk-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: var(--cmyk-accent);
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .01em;
    margin-top: auto;
    grid-area: more;
    transition: color .2s ease, opacity .2s ease;
}
.cmyk-read-more:hover,
.cmyk-read-more:focus-visible {
    color: var(--cmyk-sand);
    opacity: 1;
}

body.single-post .entry-content a,
body.single-post .entry-content a:visited,
body.single-post .page-content a,
body.single-post .page-content a:visited,
body.single-post #respond a,
body.single-post #respond a:visited {
    color: var(--cmyk-accent) !important;
    text-decoration-color: currentColor;
}

body.single-post .entry-content a:hover,
body.single-post .entry-content a:focus,
body.single-post .entry-content a:active,
body.single-post .page-content a:hover,
body.single-post .page-content a:focus,
body.single-post .page-content a:active,
body.single-post #respond a:hover,
body.single-post #respond a:focus,
body.single-post #respond a:active {
    color: var(--cmyk-sand) !important;
}

body.single-post .comment-respond,
body.single-post #respond,
body.single-post #reply-title,
body.single-post .comment-reply-title {
    scroll-margin-top: var(--cmyk-comment-anchor-offset, 120px) !important;
}

/* ── Blog Single Post — dark theme article body & comments ── */
body.single-post {
    background-color: var(--cmyk-bg) !important;
    color: var(--cmyk-text) !important;
}
body.single-post .site,
body.single-post .site-content,
body.single-post main#content,
body.single-post .site-main {
    background-color: transparent !important;
}
body.single-post .page-header {
    margin-bottom: 24px !important;
}
body.single-post .page-header h1.entry-title {
    color: var(--cmyk-cream) !important;
}
body.single-post .page-content,
body.single-post .entry-content {
    background: var(--cmyk-card) !important;
    border: 1px solid var(--cmyk-taupe) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    color: var(--cmyk-text) !important;
    box-sizing: border-box !important;
}
body.single-post .page-content p,
body.single-post .page-content li,
body.single-post .entry-content p,
body.single-post .entry-content li {
    color: var(--cmyk-text) !important;
}
body.single-post .page-content h1,
body.single-post .page-content h2,
body.single-post .page-content h3,
body.single-post .page-content h4,
body.single-post .page-content h5,
body.single-post .page-content h6,
body.single-post .entry-content h1,
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4,
body.single-post .entry-content h5,
body.single-post .entry-content h6 {
    color: var(--cmyk-cream) !important;
}
body.single-post .page-content strong,
body.single-post .page-content b,
body.single-post .entry-content strong,
body.single-post .entry-content b {
    color: var(--cmyk-cream) !important;
}
body.single-post .page-content blockquote,
body.single-post .entry-content blockquote {
    margin: 24px 0 !important;
    padding: 16px 20px !important;
    border-left: 3px solid var(--cmyk-accent) !important;
    background: var(--cmyk-espresso) !important;
    color: var(--cmyk-text) !important;
    border-radius: 0 8px 8px 0 !important;
}
body.single-post .page-content ul:not([class]),
body.single-post .page-content ol:not([class]),
body.single-post .entry-content ul:not([class]),
body.single-post .entry-content ol:not([class]) {
    color: var(--cmyk-text) !important;
    padding-left: 1.4em !important;
}
body.single-post .page-content ul:not([class]) li::marker,
body.single-post .page-content ol:not([class]) li::marker,
body.single-post .entry-content ul:not([class]) li::marker,
body.single-post .entry-content ol:not([class]) li::marker {
    color: var(--cmyk-accent) !important;
}
body.single-post .cmyk-reading-time {
    color: var(--cmyk-text) !important;
}

/* Comments area — mirror product review form dark treatment */
body.single-post .comments-area {
    margin-top: 40px !important;
    color: var(--cmyk-text) !important;
}
body.single-post .comments-area h2,
body.single-post .comments-area h3,
body.single-post #reply-title,
body.single-post .comment-reply-title {
    color: var(--cmyk-cream) !important;
    font-family: var(--cmyk-readable-font) !important;
    font-weight: 700 !important;
}
body.single-post .comment-notes,
body.single-post .comment-form label,
body.single-post .comment-form .required,
body.single-post .logged-in-as {
    color: var(--cmyk-text) !important;
    font-size: 0.875rem !important;
}
body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea {
    background: var(--cmyk-espresso) !important;
    border: 1px solid var(--cmyk-taupe) !important;
    color: var(--cmyk-cream) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-family: var(--cmyk-readable-font) !important;
    font-size: 0.875rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
body.single-post .comment-form input[type="text"]:focus,
body.single-post .comment-form input[type="email"]:focus,
body.single-post .comment-form input[type="url"]:focus,
body.single-post .comment-form textarea:focus {
    border-color: var(--cmyk-accent) !important;
    outline: none !important;
}
body.single-post .comment-form input::placeholder,
body.single-post .comment-form textarea::placeholder {
    color: var(--cmyk-text) !important;
    opacity: 0.7 !important;
}
body.single-post .comment-form input[type="checkbox"] {
    accent-color: var(--cmyk-accent) !important;
    width: auto !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}
body.single-post .comment-form input[type="submit"],
body.single-post .comment-form #submit {
    background: var(--cmyk-accent) !important;
    color: var(--cmyk-bg) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 28px !important;
    font-family: var(--cmyk-readable-font) !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    width: auto !important;
    transition: background 0.18s !important;
}
body.single-post .comment-form input[type="submit"]:hover,
body.single-post .comment-form #submit:hover {
    background: var(--cmyk-sand) !important;
}
body.single-post #respond,
body.single-post .comment-respond {
    margin-top: 0 !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--cmyk-taupe) !important;
}
body.single-post #comments .comment .comment-body,
body.single-post #comments .pingback .comment-body {
    border-color: var(--cmyk-taupe) !important;
    color: var(--cmyk-text) !important;
}
body.single-post #comments .comment-metadata,
body.single-post #comments .comment-metadata a,
body.single-post #comments .reply a {
    color: var(--cmyk-text) !important;
}
@media (max-width: 767px) {
    body.single-post .site-main {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.single-post .page-content,
    body.single-post .entry-content {
        padding: 20px !important;
    }
}

/* ── Generic inner-page dark background (raw post_content pages) ── */
body.page-id-187,
body.page-id-189,
body.page-id-190,
body.page-id-193,
body.page-id-194,
body.page-id-195 {
    background-color: var(--cmyk-bg) !important;
}
body.page-id-187 .site,
body.page-id-187 .site-content,
body.page-id-187 .site-main,
body.page-id-187 .page-content,
body.page-id-187 .entry-content,
body.page-id-189 .site,
body.page-id-189 .site-content,
body.page-id-189 .site-main,
body.page-id-189 .entry-content,
body.page-id-190 .site,
body.page-id-190 .site-content,
body.page-id-190 .site-main,
body.page-id-190 .entry-content,
body.page-id-193 .site,
body.page-id-193 .site-content,
body.page-id-193 .site-main,
body.page-id-193 .page-content,
body.page-id-193 .entry-content,
body.page-id-194 .site,
body.page-id-194 .site-content,
body.page-id-194 .site-main,
body.page-id-194 .page-content,
body.page-id-194 .entry-content,
body.page-id-195 .site,
body.page-id-195 .site-content,
body.page-id-195 .site-main,
body.page-id-195 .page-content,
body.page-id-195 .entry-content {
    background-color: var(--cmyk-bg) !important;
    color: var(--cmyk-text);
}
/* Wrap raw headings that have no card container */
body.page-id-187 .entry-content > h1,
body.page-id-187 .entry-content > h2,
body.page-id-189 .entry-content > h1,
body.page-id-189 .entry-content > h2,
body.page-id-190 .entry-content > h1,
body.page-id-190 .entry-content > h2 {
    color: var(--cmyk-accent);
}
body.page-id-187 .entry-content > p,
body.page-id-189 .entry-content > p,
body.page-id-190 .entry-content > p {
    color: var(--cmyk-text);
}
body.page-id-187 .entry-content > ul li,
body.page-id-189 .entry-content > ul li,
body.page-id-190 .entry-content > ul li {
    color: var(--cmyk-text);
}
/* Services (187) + About section pages (186, 192, 331-334) — pill nav flex row */
body.page-id-186 .page-content div[style*="flex-wrap"],
body.page-id-186 .entry-content div[style*="flex-wrap"],
body.page-id-187 .page-content div[style*="flex-wrap"],
body.page-id-187 .entry-content div[style*="flex-wrap"],
body.page-id-192 .page-content div[style*="flex-wrap"],
body.page-id-192 .entry-content div[style*="flex-wrap"],
body.page-id-331 .page-content div[style*="flex-wrap"],
body.page-id-331 .entry-content div[style*="flex-wrap"],
body.page-id-332 .page-content div[style*="flex-wrap"],
body.page-id-332 .entry-content div[style*="flex-wrap"],
body.page-id-333 .page-content div[style*="flex-wrap"],
body.page-id-333 .entry-content div[style*="flex-wrap"],
body.page-id-334 .page-content div[style*="flex-wrap"],
body.page-id-334 .entry-content div[style*="flex-wrap"],
body.page-id-194 .page-content div[style*="flex-wrap"],
body.page-id-194 .entry-content div[style*="flex-wrap"] {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
}
body.page-id-186 .page-content div[style*="flex-wrap"] br,
body.page-id-186 .entry-content div[style*="flex-wrap"] br,
body.page-id-187 .page-content div[style*="flex-wrap"] br,
body.page-id-187 .entry-content div[style*="flex-wrap"] br,
body.page-id-192 .page-content div[style*="flex-wrap"] br,
body.page-id-192 .entry-content div[style*="flex-wrap"] br,
body.page-id-331 .page-content div[style*="flex-wrap"] br,
body.page-id-331 .entry-content div[style*="flex-wrap"] br,
body.page-id-332 .page-content div[style*="flex-wrap"] br,
body.page-id-332 .entry-content div[style*="flex-wrap"] br,
body.page-id-333 .page-content div[style*="flex-wrap"] br,
body.page-id-333 .entry-content div[style*="flex-wrap"] br,
body.page-id-334 .page-content div[style*="flex-wrap"] br,
body.page-id-334 .entry-content div[style*="flex-wrap"] br,
body.page-id-194 .page-content div[style*="flex-wrap"] br,
body.page-id-194 .entry-content div[style*="flex-wrap"] br {
    display: none !important;
}
body.page-id-186 .page-content div[style*="flex-wrap"] a,
body.page-id-186 .entry-content div[style*="flex-wrap"] a,
body.page-id-187 .page-content div[style*="flex-wrap"] a,
body.page-id-187 .entry-content div[style*="flex-wrap"] a,
body.page-id-192 .page-content div[style*="flex-wrap"] a,
body.page-id-192 .entry-content div[style*="flex-wrap"] a,
body.page-id-331 .page-content div[style*="flex-wrap"] a,
body.page-id-331 .entry-content div[style*="flex-wrap"] a,
body.page-id-332 .page-content div[style*="flex-wrap"] a,
body.page-id-332 .entry-content div[style*="flex-wrap"] a,
body.page-id-333 .page-content div[style*="flex-wrap"] a,
body.page-id-333 .entry-content div[style*="flex-wrap"] a,
body.page-id-334 .page-content div[style*="flex-wrap"] a,
body.page-id-334 .entry-content div[style*="flex-wrap"] a,
body.page-id-194 .page-content div[style*="flex-wrap"] a,
body.page-id-194 .entry-content div[style*="flex-wrap"] a {
    display: inline-flex !important;
    align-items: center;
}

/* ── Brother-style typography reset ───────────────────────────────────────── */
body,
body button,
body input,
body select,
body textarea {
    font-family: var(--cmyk-readable-font) !important;
}

body .elementor-widget-heading .elementor-heading-title,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .entry-title,
body .cmyk-sol-label,
body .cmyk-careers-heading,
body .cmyk-careers-card h3,
body.blog .page-header h1.entry-title,
body.blog article.post h2.entry-title {
    font-family: var(--cmyk-readable-font) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

body .elementor-widget-text-editor,
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li,
body .elementor p,
body .elementor li,
body .elementor a,
body .elementor label,
body p,
body li,
body .entry-content p,
body .entry-content li,
body .entry-content label,
body .cmyk-enhanced-section p,
body .cmyk-enhanced-section li,
body .cmyk-sol-desc,
body .cmyk-careers-section p,
body .cmyk-careers-section li,
body.blog article.post .entry-excerpt,
body .woocommerce-breadcrumb,
body .woocommerce-breadcrumb a,
body .cmyk-form-group label,
body .page-header .entry-title + p,
body .page-header .entry-title + .archive-description {
    font-family: var(--cmyk-readable-font) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

body .elementor-widget-text-editor p,
body .elementor p,
body .elementor li,
body p,
body li,
body .entry-content p,
body .cmyk-enhanced-section p,
body .cmyk-sol-desc,
body .cmyk-careers-section p,
body.blog article.post .entry-excerpt,
body .page-header .entry-title + p,
body .page-header .entry-title + .archive-description {
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
}

body .plus-navigation-menu .navbar-nav > li > a,
body header nav a,
body header a,
body .woocommerce-breadcrumb,
body .woocommerce-breadcrumb a,
body .cmyk-form-group label,
body.blog .page-header .archive-title,
body.blog .page-header .entry-title {
    font-family: var(--cmyk-readable-font) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Home page — keep known supporting copy on the approved readable text color. */
body.home .elementor-element-dghdr004 .text-content-block p,
body.home .cmyk-home-why-text,
body.home .cmyk-home-why-card-text,
body.home .cmyk-fespa-text,
body.home .cmyk-fp-desc {
    color: var(--cmyk-text, #ACA592) !important;
}

body header#masthead a,
body header#masthead a:visited {
    color: var(--cmyk-cream, #FFF5D8) !important;
    text-decoration: none !important;
}

body header#masthead a:hover,
body header#masthead a:focus-visible {
    color: var(--cmyk-accent, #CD9601) !important;
    text-decoration: none !important;
}

body .plus-navigation-menu .navbar-nav > li > a,
body header nav a,
body header a,
body .woocommerce-breadcrumb,
body .woocommerce-breadcrumb a,
body .cmyk-form-group label {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

body .elementor-button,
body .elementor-button-text,
body .cmyk-form-submit,
body .cmyk-careers-btn,
body .cmyk-read-more,
body .cmyk-sol-cta,
body button,
body input[type="submit"],
body input[type="button"] {
    font-family: var(--cmyk-readable-font) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

body .cmyk-archive-pill {
    text-transform: none !important;
}

body a.cmyk-fp-secondary,
body .elementor a.cmyk-fp-secondary,
body .cmyk-read-more,
body .cmyk-archive-back {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
}

body .cmyk-help-center-link,
body .cmyk-support-link {
    font-family: var(--cmyk-readable-font) !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    transition: color 0.2s ease, opacity 0.2s ease;
}

body .cmyk-help-center-link:hover,
body .cmyk-help-center-link:focus-visible,
body .cmyk-support-link:hover,
body .cmyk-support-link:focus-visible {
    color: var(--cmyk-sand, #F2DA9A) !important;
    opacity: 1;
}

body .cmyk-archive-back:hover,
body .cmyk-archive-back:focus-visible {
    color: var(--cmyk-sand, #F2DA9A) !important;
    opacity: 1;
}

body .cmyk-sol-label,
body .cmyk-careers-card h3,
body.blog article.post h2.entry-title {
    font-size: 1rem !important;
    line-height: 1.4 !important;
}

body .cmyk-careers-heading {
    line-height: 1.25 !important;
}

body.page:not(.home) .page-content a[style*="background:#CD9601"],
body.page:not(.home) .page-content a[style*="background: #CD9601"],
body.page:not(.home) .page-content a[style*="background:var(--cmyk-accent"],
body.page:not(.home) .page-content a[style*="background: var(--cmyk-accent"],
body.page:not(.home) .page-content a.cmyk-careers-btn,
body.page:not(.home) .page-content a.cmyk-support-cta,
body.page:not(.home) .page-content a.cmyk-careers-btn:visited,
body.page:not(.home) .page-content a.cmyk-support-cta:visited,
body.page:not(.home) .page-content a.cmyk-careers-btn:hover,
body.page:not(.home) .page-content a.cmyk-support-cta:hover,
body.page:not(.home) .page-content a.cmyk-careers-btn:focus-visible,
body.page:not(.home) .page-content a.cmyk-support-cta:focus-visible {
    color: var(--cmyk-bg, #140E00) !important;
    fill: var(--cmyk-bg, #140E00) !important;
    text-decoration: none !important;
}

/* Global primary button system: homepage featured-product CTA, support CTA,
   careers CTA, and custom form submit buttons share one visual pattern. */
body a.cmyk-fp-btn,
body .elementor a.cmyk-fp-btn,
body a.cmyk-support-cta,
body .elementor a.cmyk-support-cta,
body a.cmyk-careers-btn,
body .elementor a.cmyk-careers-btn,
body button.cmyk-form-submit,
body input.cmyk-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 12px 28px;
    border: 1px solid var(--cmyk-accent, #CD9601);
    border-radius: 999px;
    background: var(--cmyk-accent, #CD9601);
    color: var(--cmyk-bg, #140E00) !important;
    font-family: var(--cmyk-readable-font) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

body a.cmyk-fp-btn:hover,
body a.cmyk-fp-btn:focus-visible,
body .elementor a.cmyk-fp-btn:hover,
body .elementor a.cmyk-fp-btn:focus-visible,
body a.cmyk-support-cta:hover,
body a.cmyk-support-cta:focus-visible,
body .elementor a.cmyk-support-cta:hover,
body .elementor a.cmyk-support-cta:focus-visible,
body a.cmyk-careers-btn:hover,
body a.cmyk-careers-btn:focus-visible,
body .elementor a.cmyk-careers-btn:hover,
body .elementor a.cmyk-careers-btn:focus-visible,
body button.cmyk-form-submit:hover,
body button.cmyk-form-submit:focus-visible,
body input.cmyk-form-submit:hover,
body input.cmyk-form-submit:focus-visible {
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(205, 150, 1, 0.18);
}

body a.cmyk-fp-btn:focus-visible,
body .elementor a.cmyk-fp-btn:focus-visible,
body a.cmyk-support-cta:focus-visible,
body .elementor a.cmyk-support-cta:focus-visible,
body a.cmyk-careers-btn:focus-visible,
body .elementor a.cmyk-careers-btn:focus-visible,
body button.cmyk-form-submit:focus-visible,
body input.cmyk-form-submit:focus-visible,
body a.cmyk-fp-secondary:focus-visible,
body .elementor a.cmyk-fp-secondary:focus-visible,
body .cmyk-read-more:focus-visible,
body .cmyk-archive-pill:focus-visible,
body .cmyk-archive-back:focus-visible,
body .cmyk-company-nav a:focus-visible,
body .cmyk-help-center-link:focus-visible,
body .cmyk-support-link:focus-visible,
body.page-id-193 .cmyk-contact-link:focus-visible,
body .cmyk-team-email a:focus-visible,
body.cmyk-archive-prototype nav.woocommerce-pagination ul li a:focus-visible,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body .cmyk-enhanced-card:focus-visible {
    outline: 2px solid var(--cmyk-accent, #CD9601) !important;
    outline-offset: 3px !important;
}

body a.cmyk-fp-btn:focus-visible,
body .elementor a.cmyk-fp-btn:focus-visible,
body a.cmyk-support-cta:focus-visible,
body .elementor a.cmyk-support-cta:focus-visible,
body a.cmyk-careers-btn:focus-visible,
body .elementor a.cmyk-careers-btn:focus-visible,
body button.cmyk-form-submit:focus-visible,
body input.cmyk-form-submit:focus-visible {
    box-shadow: 0 0 0 4px rgba(205, 150, 1, 0.18), 0 8px 24px rgba(205, 150, 1, 0.18);
}

body a.cmyk-fp-secondary:focus-visible,
body .elementor a.cmyk-fp-secondary:focus-visible,
body .cmyk-read-more:focus-visible,
body .cmyk-archive-pill:focus-visible,
body .cmyk-archive-back:focus-visible,
body .cmyk-company-nav a:focus-visible,
body .cmyk-help-center-link:focus-visible,
body .cmyk-support-link:focus-visible {
    box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
}

body.page-id-193 .cmyk-contact-link:focus-visible,
body .cmyk-team-email a:focus-visible,
body.cmyk-archive-prototype nav.woocommerce-pagination ul li a:focus-visible,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible {
    box-shadow: 0 0 0 3px rgba(205, 150, 1, 0.14) !important;
}

body .cmyk-archive-pill:focus-visible,
body .cmyk-company-nav a:focus-visible,
body.cmyk-archive-prototype nav.woocommerce-pagination ul li a:focus-visible,
body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
body .cmyk-enhanced-card:focus-visible {
    border-color: var(--cmyk-accent, #CD9601) !important;
}

body .cmyk-enhanced-card:focus-visible {
    box-shadow: 0 0 0 4px rgba(205, 150, 1, 0.14), 0 8px 28px rgba(205, 150, 1, 0.15) !important;
}

@media (max-width: 767px) {
    body a.cmyk-fp-btn,
    body .elementor a.cmyk-fp-btn,
    body a.cmyk-support-cta,
    body .elementor a.cmyk-support-cta,
    body a.cmyk-careers-btn,
    body .elementor a.cmyk-careers-btn,
    body button.cmyk-form-submit,
    body input.cmyk-form-submit {
        padding: 10px 16px;
    }
}

@media (max-width: 1199px) {
    body a.cmyk-fp-btn:focus-visible,
    body .elementor a.cmyk-fp-btn:focus-visible,
    body a.cmyk-support-cta:focus-visible,
    body .elementor a.cmyk-support-cta:focus-visible,
    body a.cmyk-careers-btn:focus-visible,
    body .elementor a.cmyk-careers-btn:focus-visible,
    body button.cmyk-form-submit:focus-visible,
    body input.cmyk-form-submit:focus-visible,
    body a.cmyk-fp-secondary:focus-visible,
    body .elementor a.cmyk-fp-secondary:focus-visible,
    body .cmyk-read-more:focus-visible,
    body .cmyk-archive-pill:focus-visible,
    body .cmyk-archive-back:focus-visible,
    body .cmyk-company-nav a:focus-visible,
    body .cmyk-help-center-link:focus-visible,
    body .cmyk-support-link:focus-visible,
    body.page-id-193 .cmyk-contact-link:focus-visible,
    body .cmyk-team-email a:focus-visible,
    body.cmyk-archive-prototype nav.woocommerce-pagination ul li a:focus-visible,
    body.post-type-archive-product:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
    body.woocommerce-shop:not(.cmyk-archive-prototype) nav.woocommerce-pagination ul li a:focus-visible,
    body .cmyk-enhanced-card:focus-visible,
    body.single-product .product_meta a:focus-visible,
    body.single-product.cmyk-spare-parts-product .product_meta a:focus-visible {
        outline-offset: 2px !important;
    }
}

body.page:not(.home):not(.cmyk-solution-selector):not(.cmyk-solution-product-page) .page-header h1.entry-title,
body.blog .page-header h1.entry-title {
    font-size: clamp(2rem, 3vw, 2.4rem) !important;
    line-height: 1.15 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

body .cmyk-archive-hero h1 {
    font-family: var(--cmyk-readable-font) !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}
