/* Engravme — canonical custom stylesheet.
 * Colors and type inherit the Elementor Site Settings kit.
 * Shared header first; responsive overrides descend from larger to smaller.
 */

/* Sticky navigation retains the original transparent top-of-page state. */
body .elementor-location-header .elementor-element.engravme-header-main.e-con {
    transition: padding-top 280ms cubic-bezier(.22, 1, .36, 1), padding-bottom 280ms cubic-bezier(.22, 1, .36, 1), background-color 280ms ease, box-shadow 280ms ease;
}
body .elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img {
    transition: width 280ms cubic-bezier(.22, 1, .36, 1), height 280ms cubic-bezier(.22, 1, .36, 1);
}

body .elementor-location-header .elementor-element.engravme-header-main.e-con.engravme-is-sticky {
    position: fixed;
    top: var(--engravme-sticky-top, 0px);
    left: 0;
    right: 0;
    width: 100%;
    background-color: var(--e-global-color-engforest);
    background-color: color-mix(in srgb, var(--e-global-color-engforest) 75%, var(--e-global-color-engink));
    border-bottom: 0;
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--e-global-color-enggold) 45%, transparent), 0 8px 24px color-mix(in srgb, var(--e-global-color-engink) 40%, transparent);
    padding-block: 10px;
    z-index: 100;
}
body .elementor-location-header .engravme-is-sticky .elementor-element.engravme-header-logo.elementor-widget-image img {
    width: 145px;
    height: 80.4px;
    mix-blend-mode: screen;
}
.engravme-header-placeholder { width: 100%; pointer-events: none; }

/* Global header: standard Elementor containers and widgets. */
.engravme-announcement {
    position: relative;
    z-index: 31;
}
.elementor-location-header .elementor-element.engravme-announcement-text.elementor-widget-heading .elementor-heading-title {
    white-space: nowrap;
}
.elementor-location-header .elementor-element.engravme-header-main.e-con {
    padding: 24px 100px;
    position: relative;
    z-index: 30;
}
.engravme-header-logo {
    flex: 0 0 auto;
}
.engravme-header-logo a,
.elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img {
    display: block;
}
.elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right:  auto;
}
.elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
    white-space: nowrap;
}
.engravme-header-nav .elementor-menu-toggle {
    width: 52px;
    height: 52px;
    padding: 10px;
    align-items: center;
    justify-content: center;
}
.engravme-header-nav .elementor-menu-toggle svg {
    width: 32px;
    height: 32px;
}
.engravme-header-nav .elementor-menu-toggle:focus-visible,
.engravme-header-main a:focus-visible {
    outline: 2px solid var(--e-global-color-engwhite);
    outline-offset: 5px;
}
.elementor-location-header .elementor-element.engravme-header-cta.elementor-widget-button {
    flex: 0 0 auto;
}
.engravme-header-cta .elementor-button {
    white-space: nowrap;
    transition: background-color 180ms ease, color 180ms ease;
}

/* Desktop compact: retain the full menu without wrapping. */

/* Global footer: standard containers and native editable widgets. */
.elementor .elementor-element.engravme-page-cta.e-con {
    padding: 61px 100px 43px;
}
.elementor .engravme-page-cta-title {
    flex: 0 1 39.057%;
    margin-right: 3.143%;
}
.engravme-page-cta-intro { display: block; }
.engravme-page-cta-accent { color: var(--e-global-color-engbright); }
.engravme-page-cta-mobile-break { display: none; }
.elementor .engravme-page-cta-copy {
    flex: 0 1 30.035%;
    margin-right: 6.344%;
}
.engravme-page-cta-copy p,
.engravme-footer-text p,
.engravme-footer-copyright p { margin: 0; }
.elementor .elementor-element.engravme-page-cta-buttons.e-con {
    flex: 0 0 368px;
    width: auto;
    gap: 30px;
}
.engravme-page-cta-button .elementor-button {
    white-space: nowrap;
    transition: background-color 180ms ease, color 180ms ease;
}
.engravme-page-cta-button--primary .elementor-button { min-width: 190px; }
.engravme-page-cta-button--outline .elementor-button { min-width: 148px; }
.elementor-location-footer .elementor-element.engravme-footer-body.e-con {
    padding: 92px 100px 33px;
}
.elementor-location-footer .elementor-element.engravme-footer-column.e-con {
    gap: 32px;
    flex: 0 0 auto;
    min-width: 0;
}
.elementor-location-footer .elementor-element.engravme-footer-brand.e-con { width: 25.14552%; }
.elementor-location-footer .elementor-element.engravme-footer-explore.e-con { width: 19.09197%; }
.elementor-location-footer .elementor-element.engravme-footer-company.e-con { width: 18.91735%; }
.elementor-location-footer .elementor-element.engravme-footer-contact.e-con { width: 22.64261%; }
.elementor-location-footer .elementor-element.engravme-footer-hours.e-con { width: 14.20255%; gap: 18px; }
.engravme-footer-logo { margin-left: -39px; }
.elementor-location-footer .elementor-element.engravme-footer-logo.elementor-widget-image img { display: block; width: 386px; height: 215px; }
.engravme-footer-menu .elementor-item { padding: 0; }
.elementor-location-footer .elementor-element.engravme-footer-contact-details.e-con { gap: 0; }
.elementor-location-footer .elementor-element.engravme-footer-contact-row.e-con { gap: 17px; }
.elementor-location-footer .elementor-element.engravme-footer-contact-row--pin.e-con { align-items: flex-start; margin-bottom: 7px; }
.engravme-footer-contact-row--pin .engravme-footer-icon-desktop { padding-top: 4px; }
.engravme-footer-contact-text { min-width: 0; }
.elementor-location-footer .engravme-footer-contact-text a { color: inherit; }
.engravme-footer-contact-text a:hover { color: var(--e-global-color-enggold); }
.elementor-location-footer .elementor-element.engravme-footer-contact-row--pin .elementor-element.engravme-footer-contact-text { max-width: 211px; }
.engravme-footer-contact-row--phone .engravme-footer-contact-text p,
.engravme-footer-contact-row--mail .engravme-footer-contact-text p { line-height: 38px; }
.elementor-location-footer .elementor-element.engravme-footer-contact-icon { flex: 0 0 18px; width: 18px; }
.elementor-location-footer .elementor-element.engravme-footer-icon-mobile { display: none; }
.elementor-location-footer .elementor-element.engravme-footer-hours-details.e-con { gap: 25px; }
.engravme-footer-hours-details p { white-space: nowrap; }
.elementor-location-footer .elementor-element.engravme-footer-socials.e-con { width: auto; gap: 17px; }
.elementor-location-footer .elementor-element.engravme-footer-social { width: 34px; flex: 0 0 34px; }
.elementor-location-footer .elementor-element.engravme-footer-social--facebook { width: 35px; flex-basis: 35px; }
.engravme-footer-social .elementor-icon { display: block; }
.engravme-footer-social svg [fill]:not([fill="none"]),
.engravme-footer-contact-icon svg [fill]:not([fill="none"]) { fill: currentColor; }
.engravme-footer-contact-icon svg [stroke]:not([stroke="none"]) { stroke: currentColor; }
body .elementor-location-footer .engravme-footer-social a.elementor-icon { scale: 1; transition: color 280ms ease, scale 280ms cubic-bezier(.22, .61, .36, 1); }
body .elementor-location-footer .engravme-footer-social a.elementor-icon:focus-visible { color: var(--e-global-color-enggold); scale: 1.08; outline: 2px solid var(--e-global-color-enggold); outline-offset: 5px; border-radius: 50%; }
.elementor-location-footer .elementor-element.engravme-footer-bottom.e-con {
    border-top: 1px solid var(--e-global-color-engwhite);
    margin-top: 20px;
    padding-top: 21px;
    gap: 24px;
}
.elementor-location-footer .elementor-element.engravme-footer-copyright,
.elementor-location-footer .elementor-element.engravme-footer-legal { width: auto; }
.engravme-footer-legal .elementor-nav-menu > li:first-child { position: relative; margin-right: 20px; }
.engravme-footer-legal .elementor-nav-menu > li:first-child::after {
    content: "|";
    position: absolute;
    right: -12px;
    top: 0;
    color: var(--e-global-color-engwhite);
}
.elementor-location-footer a:focus-visible,
.engravme-page-cta a:focus-visible {
    outline: 2px solid var(--e-global-color-enggold);
    outline-offset: 5px;
}


/* Footer asset geometry and native icon baselines. */
.engravme-footer-logo a,
.engravme-footer-contact-icon .elementor-icon { display: block; }
.elementor-location-footer .elementor-element.engravme-footer-icon-desktop.elementor-widget-icon svg { width: 18px; height: auto; }
.elementor-location-footer .elementor-element.engravme-footer-icon-mobile.elementor-widget-icon .elementor-icon svg { fill: none; }


/* Home banner: editable native widgets over the Figma background artwork. */
:is(.home, .page-id-709, .page-id-741, .page-id-805, .page-id-852, .page-id-870, .page-id-881) .elementor-location-header { position: relative; z-index: 30; }
:is(.home, .page-id-709, .page-id-741, .page-id-805, .page-id-852, .page-id-870, .page-id-881) .elementor-location-header .elementor-element.engravme-header-main.e-con {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--e-global-color-engclear);
}
.elementor .elementor-element.engravme-home-banner.e-con {
    min-height: 887px;
    padding: 231px 100px 226px;
}
.elementor .elementor-element.engravme-hero-content.e-con { max-width: 802px; }
.elementor .elementor-element.engravme-hero-badge.elementor-widget-heading {
    width: fit-content;
    padding: 7px 25px;
    border-radius: 100px;
    background-color: var(--e-global-color-engherotag);
}
.engravme-hero-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-hero-title.elementor-widget-heading { margin-top: 29px; }
.engravme-hero-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-hero-copy.elementor-widget-text-editor {
    max-width: 560px;
    margin-top: 6px;
}
.engravme-hero-copy p { margin: 0; }
.elementor .elementor-element.engravme-hero-buttons.e-con { gap: 14px; margin-top: 38px; width: auto; }
.elementor .elementor-element.engravme-hero-button.elementor-widget-button { width: auto; }
.engravme-hero-button .elementor-button { white-space: nowrap; transition: background-color 180ms ease, color 180ms ease; }
.engravme-hero-button--primary .elementor-button { min-width: 232px; }
.engravme-hero-button--outline .elementor-button { min-width: 196px; }
.engravme-home-banner a:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 5px; }


/* About Us banner: native page content, separate Figma artwork per device. */
.elementor .elementor-element.engravme-about-banner.e-con { min-height: 637px; padding: 214px 100px 69px; }
.elementor .elementor-element.engravme-about-content.e-con { max-width: 802px; }
.elementor .elementor-element.engravme-about-title.elementor-widget-heading { margin-top: 20px; }
.elementor .elementor-element.engravme-about-copy.elementor-widget-text-editor { max-width: 758px; margin-top: 6px; }
.engravme-about-copy p { margin: 0; }

/* About Us — Our Story: editable text, button and device-specific photographs. */
.elementor .elementor-element.engravme-story.e-con { padding: 100px 100px 101px; }
.elementor .elementor-element.engravme-story.e-con > .e-con-inner { gap: 47px; align-items: center; }
.elementor .elementor-element.engravme-story-photo.elementor-widget-image { width: 49.418605%; flex: 0 0 49.418605%; }
.engravme-story-photo img { display: block; width: 100%; height: auto; border-radius: 0; }
.elementor .elementor-element.engravme-story-photo--mobile.elementor-widget-image { display: none; }
.elementor .elementor-element.engravme-story-content.e-con { flex: 1; max-width: 786px; }
.elementor .elementor-element.engravme-story-title.elementor-widget-heading { max-width: 705px; margin-top: 19px; }
.elementor .elementor-element.engravme-story-copy.elementor-widget-text-editor { margin-top: 19px; }
.engravme-story-copy p { margin: 0; }
.elementor .elementor-element.engravme-story-button.elementor-widget-button { margin-top: 35px; width: auto; }
.engravme-story-button .elementor-button { transition: background-color 180ms ease; box-shadow: inset 0 0 0 1px var(--e-global-color-enggold); }
.engravme-story-button .elementor-button:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 5px; }

/* About workshop: reversed desktop layout; shared native components. */
.elementor .elementor-element.engravme-workshop.engravme-workshop--about > .e-con-inner { flex-direction: row-reverse; }
.elementor .engravme-workshop--about .elementor-element.engravme-workshop-photo { inset: 0 auto 0 0; }
.elementor .engravme-workshop--about .elementor-element.engravme-workshop-content.e-con { padding: 101px 94.5px 100px 15.5px; }
.elementor .engravme-workshop--about .elementor-element.engravme-workshop-features.e-con { width: 747px; max-width: 100%; }

/* About Our Quality: editable cards and the source cross-section glow. */
.elementor .elementor-element.engravme-quality.e-con { padding: 100px 100px 102px; position: relative; z-index: 1; overflow: visible; }
.elementor .elementor-element.engravme-quality > .e-con-inner { position: static; align-items: center; }
.elementor .elementor-element.engravme-quality-glow { position: absolute; width: min(1654px, calc(100% + 628px)); max-width: none; overflow: hidden; height: 1654px; left: calc(max(0px, (100vw - 1920px) / 2) - 628px); top: -934px; pointer-events: none; z-index: 0; }
.engravme-quality-glow img { display: block; width: 1654px; height: 1654px; max-width: none; }
.elementor .elementor-element.engravme-quality-badge, .elementor .elementor-element.engravme-quality-title, .elementor .elementor-element.engravme-quality-grid { position: relative; z-index: 1; }
.elementor .elementor-element.engravme-quality-title { margin-top: 19px; text-align: center; }
.elementor .elementor-element.engravme-quality-grid.e-con { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px; margin-top: 33px; align-items: start; }
.elementor .elementor-element.engravme-quality-card.e-con { min-height: 351px; padding: 35px 34px 28px; text-align: center; }
.elementor .elementor-element.engravme-quality-card:first-child { min-height: 342px; }
.elementor .elementor-element.engravme-quality-icon-desktop.e-con { width: 94px; height: 94px; flex: 0 0 94px; position: relative; }
.elementor .elementor-element.engravme-quality-ring { width: 94px; }
.engravme-quality-ring img { display: block; width: 94px; height: 94px; }
.elementor .elementor-element.engravme-quality-symbol { position: absolute; width: auto; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.engravme-quality-symbol img { display: block; width: auto; max-width: none; }
.elementor .elementor-element.engravme-quality-icon-mobile { display: none; }
.elementor .elementor-element.engravme-quality-card-title { margin-top: 33px; width: 100%; }
.elementor .elementor-element.engravme-quality-copy { margin-top: 5px; width: 100%; }
.engravme-quality-copy p { margin: 0; }
.engravme-quality img { box-shadow: none; border-radius: 0; }

/* About Our Values: native content beside the Figma customer-service photograph. */
.elementor .engravme-values .elementor-element.engravme-workshop-photo { inset: 0 auto 0 0; }
.elementor .engravme-values .elementor-element.engravme-workshop-content.e-con { padding: 122px 101px 122px 28px; }
.elementor .engravme-values .elementor-element.engravme-workshop-badge.elementor-widget-heading { margin-left: 0; }
.elementor .engravme-values .elementor-element.engravme-workshop-title { margin-left: 0; }
.elementor .elementor-element.engravme-values-button.elementor-widget-button { width: auto; margin-top: 30px; }
.engravme-values-button .elementor-button { box-shadow: inset 0 0 0 1px var(--e-global-color-enggold); transition: background-color 180ms ease; }
.engravme-values-button .elementor-button:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 5px; }

/* About-specific CTA. The global footer remains the black footer body only. */
.elementor .elementor-element.engravme-about-cta.e-con { padding: 75px 100px 74px; }
.elementor .elementor-element.engravme-about-cta > .e-con-inner { flex-direction: column; align-items: center; gap: 0; }
.elementor .elementor-element.engravme-about-cta-title { text-align: center; }
.elementor .elementor-element.engravme-about-cta-copy { margin-top: 3px; text-align: center; }
.engravme-about-cta-copy p { margin: 0; }
.elementor .elementor-element.engravme-about-cta-button.elementor-widget-button { width: auto; margin-top: 16px; }
.engravme-about-cta-button .elementor-button { box-shadow: inset 0 0 0 1px var(--e-global-color-enggold); transition: background-color 180ms ease; }
.engravme-about-cta-button .elementor-button:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 5px; }

/* Business Solutions shares the established internal-page banner layout. */
.elementor .elementor-element.engravme-business-banner.e-con { min-height: 638px; padding-bottom: 70px; }
.elementor .engravme-business-banner .elementor-element.engravme-about-copy { max-width: 713px; }

/* What We Create: native, editable collection cards and accessible carousel. */
.elementor .elementor-element.engravme-create.e-con { padding: 100px 0 98px; }
.elementor .elementor-element.engravme-create-intro.e-con { padding: 0 100px; }
.elementor .elementor-element.engravme-create-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background-color: var(--e-global-color-engherotag); margin-left: -2.5px; }
.engravme-create-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-create-intro-row.e-con { margin-top: 19px; }
.elementor .elementor-element.engravme-create-title.elementor-widget-heading { width: 41.036%; }
.engravme-create-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-create-copy.elementor-widget-text-editor { width: 50.116%; padding-left: 22px; }
.engravme-create-copy::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 3px; width: 3px; border-radius: 100px; background: var(--e-global-color-engmetal); }
.engravme-create-copy p { margin: 0; }
.elementor .elementor-element.engravme-create-carousel.e-con { --engravme-visible: 5; --engravme-card-gap: 28px; margin-top: 65px; padding: 0 28px 0 30px; }
.elementor .elementor-element.engravme-create-card.e-con { flex: 0 0 calc((100% - (var(--engravme-visible) - 1) * var(--engravme-card-gap)) / var(--engravme-visible)); min-width: 0; }
.elementor .elementor-element.engravme-create-media.e-con { aspect-ratio: 350 / 482; padding: 13px 11px 12px; overflow: hidden; }
.elementor .elementor-element.engravme-create-photo.elementor-widget-image { width: 100%; height: 100%; }
.engravme-create-photo .elementor-widget-container { height: 100%; }
.engravme-create-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.elementor .elementor-element.engravme-create-photo--mobile.elementor-widget-image { display: none; }
.elementor .elementor-element.engravme-create-card-title.elementor-widget-heading { width: 100%; min-height: 70px; margin-top: 16px; text-align: center; }
.engravme-create-card-title .elementor-heading-title { margin-inline: auto; }
.engravme-create-card--0 .elementor-heading-title { max-width: 329px; }
.engravme-create-card--1 .elementor-heading-title { max-width: 312px; }
.engravme-create-card--2 .elementor-heading-title { max-width: 311px; }
.engravme-create-card--3 .elementor-heading-title { max-width: 221px; }
.engravme-create-card--4 .elementor-heading-title { max-width: 207px; }
.elementor .elementor-element.engravme-create-learn.elementor-widget-button { display: flex; width: auto; margin-top: 16px; }
.engravme-create .elementor .elementor-element.engravme-create-learn .elementor-button { display: flex; padding: 0 0 1px; border: 0; border-radius: 0; border-bottom: 1px solid currentColor; background: var(--e-global-color-engclear); }
.engravme-create-learn .elementor-button-content-wrapper { gap: 10px; }
.engravme-create-learn .elementor-button-icon { display: flex; align-items: center; }
.engravme-create-learn .elementor-button-icon svg { width: 10px; height: 10px; }
.engravme-create-learn .elementor-button-icon svg path { fill: currentColor; }
.elementor .engravme-create .e-loop-item.is-featured .engravme-create-media { background-color: var(--e-global-color-engcardactive); }
.elementor .engravme-create-card.is-featured .engravme-create-learn .elementor-button { color: var(--e-global-color-enggold); }
/* About collections: manual browsing, hover-only highlight. */
.elementor .engravme-create--manual .e-loop-item .engravme-create-media { transition: background-color .25s ease; }
.elementor .engravme-create--manual .e-loop-item:hover .engravme-create-media { background-color: var(--e-global-color-engcardactive); }
.elementor .engravme-create--manual .e-loop-item:hover .engravme-create-learn .elementor-button { color: var(--e-global-color-enggold); }
.engravme-create a:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 4px; }



/* Boxed content inherits the 1720px Elementor Site Settings content width.
 * Outer section backgrounds and the collection carousel remain full width. */
.elementor .elementor-element.engravme-boxed.e-con > .e-con-inner { padding: 0; }
.elementor-location-header .elementor-element.engravme-header-logo { margin-left: -21px; }

/* Materials We Engrave: static native cards; duplicate any card to add a material. */
.elementor .elementor-element.engravme-materials.e-con { padding: 107px 100px 94px; }
.elementor .elementor-element.engravme-materials-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background: var(--e-global-color-engherotag); }
.engravme-materials-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-materials-title.elementor-widget-heading { margin-top: 19px; text-align: center; }
.engravme-materials-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-material-grid.e-con { flex-direction: row; flex-wrap: wrap; gap: 19px; margin-top: 56px; }
.elementor .elementor-element.engravme-material-card.e-con { position: relative; isolation: isolate; overflow: hidden; flex: 0 0 calc((100% - 57px) / 4); min-width: 0; aspect-ratio: 415 / 362; padding: 0 16px 32px; transition: transform 180ms ease; }
.elementor .elementor-element.engravme-material-card.e-con:nth-child(n+5) { padding-bottom: 45px; }
.elementor .elementor-element.engravme-material-image.elementor-widget-image { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.engravme-material-image .elementor-widget-container { height: 100%; }
.engravme-material-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.elementor .elementor-element.engravme-material-name.elementor-widget-heading { position: relative; width: 100%; z-index: 1; text-align: center; }
.engravme-material-card::after { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; border: 1px solid var(--e-global-color-engclear); transition: border-color 180ms ease; }
.engravme-material-card:focus-within::after { border-color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-material-inquiry.e-con { margin-top: 59px; }
.elementor .elementor-element.engravme-material-prompt.elementor-widget-text-editor { width: auto; max-width: 100%; text-align: center; }
.engravme-material-prompt p { margin: 0; }
.elementor .elementor-element.engravme-material-button.elementor-widget-button { width: auto; margin-top: 19px; }
.engravme-material-button .elementor-button { transition: background-color 180ms ease; }
.engravme-material-button a:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 4px; }
/* Our Process: native editable four-step timeline from desktop/mobile Figma. */
.elementor .elementor-element.engravme-process.e-con { position: relative; isolation: isolate; overflow: hidden; padding: 100px 100px; }
.engravme-process::before { content: ""; position: absolute; pointer-events: none; z-index: -1; width: 2426px; height: 1030px; left: calc(50% - 1368.47px); top: -87.68px; background: url("https://engravme.com/wp-content/uploads/2026/10/engravme-process-background-desktop.webp") no-repeat center / 100% 100%; }
.elementor .elementor-element.engravme-process-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background: var(--e-global-color-engherotag); }
.engravme-process-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-process-title { margin-top: 19px; text-align: center; }
.engravme-process-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-process-steps.e-con { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); width: 100%; max-width: 1536px; margin-top: 48px; gap: 0; }
.elementor .elementor-element.engravme-process-step.e-con { position: relative; text-align: center; min-width: 0; }
.engravme-process-number { opacity: .56; }
.elementor .elementor-element.engravme-process-circle.e-con { position: relative; width: 94px; height: 94px; min-height: 94px; border: 0; background: url("https://engravme.com/wp-content/uploads/2026/10/engravme-process-ring-desktop.svg") no-repeat center; border-radius: 50%; margin-top: 15px; }
.elementor .elementor-element.engravme-process-disc.e-con { width: 66px; height: 66px; min-height: 66px; border-radius: 50%; }
.elementor .elementor-element.engravme-process-icon img { display: block; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-process-icon { width: auto; }
.engravme-process-step:not(:last-child)::after { content: ""; position: absolute; top: 89px; left: calc(50% + 47px); width: calc(100% - 94px); height: 1px; background: repeating-linear-gradient(to right,var(--e-global-color-engink) 0 5px,transparent 5px 10px); }
.elementor .elementor-element.engravme-process-name { margin-top: 33px; text-align: center; }
.elementor .elementor-element.engravme-process-copy.elementor-widget-text-editor { margin-top: 2px; text-align: center; max-width: 335px; }
.engravme-process-copy p { margin: 0; }
.elementor .elementor-element.engravme-process-step:first-child .engravme-process-copy { max-width: 323px; margin-top: 5px; }
.elementor .elementor-element.engravme-process-step:nth-child(3) .engravme-process-copy { max-width: 337px; }
.elementor .elementor-element.engravme-process-step:last-child .engravme-process-copy { max-width: 309px; }

/* Inside Our Workshop: boxed text with full-bleed photo and mobile content-first order. */
.elementor .elementor-element.engravme-workshop.e-con { padding: 0 100px; overflow: hidden; }
.elementor .elementor-element.engravme-workshop > .e-con-inner { flex-direction: row; align-items: stretch; gap: 0; }
.elementor .elementor-element.engravme-workshop-media.e-con { position: relative; width: 50%; flex-shrink: 0; }
.elementor .elementor-element.engravme-workshop-photo.elementor-widget-image { max-width: none; }
.elementor .elementor-element.engravme-workshop-photo { position: absolute; inset: 0 0 0 auto; width: calc(100% + max(100px, (100vw - var(--container-max-width,1720px)) / 2)); height: 100%; }
.engravme-workshop-photo .elementor-widget-container { height: 100%; }
.elementor .elementor-element.engravme-workshop-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-workshop-content.e-con { width: 50%; padding: 101px 0 100px 105px; align-items: flex-start; }
.elementor .elementor-element.engravme-workshop-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; margin-left: -11.5px; border-radius: 100px; background: var(--e-global-color-engherotag); }
.engravme-workshop-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-workshop-title { margin-top: 19px; margin-left: -4px; }
.engravme-workshop-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-workshop-copy.elementor-widget-text-editor { margin-top: 10px; max-width: 731px; }
.engravme-workshop-copy p { margin: 0; }
.elementor .elementor-element.engravme-workshop-features.e-con { display: grid; grid-template-columns: 403fr 304fr; gap: 39px 40px; width: calc(100% - 8px); margin: 46px 0 0 4px; }
.elementor .elementor-element.engravme-workshop-feature.e-con { position: relative; flex-direction: row; align-items: center; gap: 20px; min-width: 0; }
.engravme-workshop-feature:nth-child(-n+2)::after { content: ""; position: absolute; top: calc(100% + 17px); left: 3px; right: 0; height: 1px; background: var(--e-global-color-engworkshopline); }
.elementor .elementor-element.engravme-workshop-check { width: 26px; flex-shrink: 0; }
.elementor .elementor-element.engravme-workshop-check img { display: block; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-workshop-feature-title { width: auto; }

/* Business Solutions: all published ACF-backed posts in native Elementor Loop Carousel. */
.elementor .elementor-element.engravme-business.e-con { padding: 103px 100px 100px; }
.elementor .elementor-element.engravme-business-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background: var(--e-global-color-engbusinessbadge); }
.engravme-business-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-business-title { margin-top: 19px; text-align: center; }
.engravme-business-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-business-intro { margin-top: 7px; text-align: center; }
.engravme-business-intro p { margin: 0; }
.elementor .elementor-element.engravme-business-carousel { width: 100%; margin-top: 42px; min-width: 0; }
.elementor .elementor-element.engravme-solution-card.e-con { display: flex; flex-direction: row; align-items: stretch; width: 100%; min-height: 562px; background: radial-gradient(ellipse at 45% 50%,var(--e-global-color-engbusinessglow),transparent 60%),var(--e-global-color-engbusinesscard); }
.elementor .elementor-element.engravme-solution-media.e-con { width: 49.535%; flex-shrink: 0; position: relative; overflow: hidden; }
.elementor .elementor-element.engravme-solution-image.elementor-widget-image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.engravme-solution-image .elementor-widget-container { height: 100%; }
.elementor .elementor-element.engravme-solution-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-solution-content.e-con { width: 50.465%; padding: 71px 54px 71px 47px; }
.elementor .elementor-element.engravme-solution-copy { margin-top: 11px; }
.engravme-solution-copy p { margin: 0; }
.elementor .elementor-element.engravme-solution-list-widget { margin-top: 31px; }
.engravme-solution-list { margin: 0 0 0 -11px; max-width: 739px; padding-left: 27px; color: var(--e-global-color-engwhite); font-family: var(--e-global-typography-engbusinesscopy-font-family),sans-serif; font-size: var(--e-global-typography-engbusinesscopy-font-size); font-weight: var(--e-global-typography-engbusinesscopy-font-weight); line-height: var(--e-global-typography-engbusinesscopy-line-height); }
.engravme-solution-list li + li { margin-top: 21px; }
.engravme-solution-list li::marker { font-size: .7em; }
.elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button { top: 50%; bottom: auto; transform: translateY(-50%); width: 66px; height: 66px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -87px; right: auto; }
.elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -76px; left: auto; }
.elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev.swiper-button-disabled { opacity: 1; }
.elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button:focus-visible { outline: 2px solid var(--e-global-color-enggold); outline-offset: 2px; }
.elementor .elementor-element.engravme-business-actions.e-con { flex-direction: row; justify-content: center; gap: 12px; margin-top: 50px; }
.engravme-business-button .elementor-button { padding: 13px 23px; border-radius: 0 10px 0 10px; }

.elementor .elementor-element.engravme-business-button .elementor-button:is(:hover, :focus, :active) { border-radius: 0 10px 0 10px; }

.elementor .elementor-element.engravme-business-carousel .swiper { width: 100%; margin: 0; }
.elementor .elementor-element.engravme-solution-image img[src*="engravme-solution-corporate-awards"] { position: absolute; left: -17.647%; top: -6.939%; width: 120%; height: 121.174%; max-width: none; }

/* Featured Work: static native Image widgets; duplicate a card to extend the wrapping grid. */
.elementor .elementor-element.engravme-featured.e-con { padding: 98px 100px 95px; }
.elementor .elementor-element.engravme-featured-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background: var(--e-global-color-engherotag); }
.engravme-featured-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-featured-title.elementor-widget-heading { margin-top: 19px; text-align: center; }
.engravme-featured-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-featured-grid.e-con { flex-direction: row; flex-wrap: wrap; gap: 20px; margin-top: 46px; }
.elementor .elementor-element.engravme-featured-card.elementor-widget-image { flex: 0 0 calc((100% - 100px) / 6); width: calc((100% - 100px) / 6); min-width: 0; aspect-ratio: 270 / 215; overflow: hidden; }
.engravme-featured-card .elementor-widget-container { height: 100%; }
.engravme-featured-card img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.elementor .elementor-element.engravme-featured-button.elementor-widget-button { width: auto; margin-top: 51px; }
.elementor .elementor-element.engravme-featured-button .elementor-button:is(:hover, :focus, :active) { border-radius: 0 10px 0 10px; }
.engravme-featured-button a:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 4px; }


/* Testimonials: ACF records rendered by the native Elementor Loop Carousel. */
.elementor .elementor-element.engravme-testimonials.e-con { padding: 98px 100px 100px; }
.elementor .elementor-element.engravme-testimonials-badge.elementor-widget-heading { width: fit-content; padding: 7px 25px; border-radius: 100px; background: var(--e-global-color-engherotag); }
.engravme-testimonials-badge .elementor-heading-title { white-space: nowrap; margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
.elementor .elementor-element.engravme-testimonials-title.elementor-widget-heading { margin-top: 19px; text-align: center; }
.engravme-testimonials-accent { color: var(--e-global-color-engmetal); }
.elementor .elementor-element.engravme-testimonials-carousel { width: 100%; margin-top: 50px; }
.elementor .elementor-element.engravme-testimonials-carousel .swiper { margin-inline: 0; width: 100%; }
.engravme-testimonials-carousel .swiper-wrapper { align-items: stretch; }
.engravme-testimonials-carousel .swiper-slide { height: auto; }
.elementor .elementor-element.engravme-testimonial-card.e-con { min-height: 336px; padding: 35px 55px 34px 38px; height: 100%; }
.elementor .elementor-element.engravme-testimonial-quote.elementor-widget-image { width: 52px; height: 44px; margin-left: -1px; }
.elementor .elementor-element.engravme-testimonial-quote img { display: block; width: 100%; height: auto; border-radius: 0; box-shadow: none; filter: none; }
.elementor .elementor-element.engravme-testimonial-rating { margin-top: 25px; margin-left: -1px; }
.engravme-testimonial-rating .e-rating { height: 23px; }
.elementor .elementor-element.engravme-testimonial-rating .e-rating-wrapper { display: flex; gap: var(--e-rating-gap); margin: 0; }
.elementor .elementor-element.engravme-testimonial-rating .e-icon { width: 24px; height: 23px; margin: 0; flex: 0 0 24px; }
.elementor .elementor-element.engravme-testimonial-rating .e-icon-wrapper { height: 23px; }
.elementor .elementor-element.engravme-testimonial-rating .e-rating .e-icon-wrapper svg { width: 25px; height: 23px; max-width: none; }
.engravme-testimonial-rating .e-icon-marked svg path { fill: var(--e-rating-icon-marked-color); }
.engravme-testimonial-rating .e-icon-unmarked svg path { fill: var(--e-rating-icon-color); }
.elementor .elementor-element.engravme-testimonial-copy { margin-top: 13px; }
.engravme-testimonial-copy p { margin: 0; }
.elementor .elementor-element.engravme-testimonial-name { margin-top: 15px; }
.elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button { top: 50%; bottom: auto; transform: translateY(-50%); width: 66px; height: 66px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -87px; right: auto; }
.elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -76px; left: auto; }
.engravme-testimonials-carousel .elementor-swiper-button svg { width: 100%; height: 100%; }
.engravme-testimonials-carousel .elementor-swiper-button:focus-visible { outline: 2px solid var(--e-global-color-enggold); outline-offset: 2px; }

/* Business Solutions listing: native ACF-backed Loop Grid. */
.elementor .elementor-element.engravme-listing.e-con { padding: 100px; }
.elementor .engravme-listing > .e-con-inner { gap: 50px; }
.elementor .elementor-element.engravme-listing-intro.e-con { flex-direction: row; align-items: flex-end; justify-content: space-between; }
.elementor .elementor-element.engravme-listing-intro-title.e-con { width: 45%; align-items: flex-start; gap: 40px; }
.elementor .elementor-element.engravme-listing-intro-copy { width: 665px; max-width: 44%; padding-left: 22px; position: relative; }
.engravme-listing-intro-copy::before { content: ''; position: absolute; left: 0; top: 14px; bottom: 14px; width: 1px; background: var(--e-global-color-engmetal); }
.engravme-listing-title .elementor-heading-title, .engravme-listing-card-title .elementor-heading-title, .engravme-listing-intro-copy p, .engravme-listing-card-copy, .engravme-listing-card-copy .elementor-widget-container, .engravme-listing-card-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.engravme-listing p { margin: 0; }

.elementor .elementor-element.engravme-listing-grid { width: 100%; }
.elementor .engravme-listing-grid .elementor-loop-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 20px; align-items: start; }
.elementor .elementor-element.engravme-listing-card.e-con { width: 100%; gap: 0; }
.elementor .elementor-element.engravme-listing-image { width: 100%; }
.engravme-listing-image img { box-shadow: none; display: block; width: 100%; aspect-ratio: 415 / 398; object-fit: cover; border-radius: 0; }
.elementor .elementor-element.engravme-listing-image--mobile { display: none; }
.elementor .elementor-element.engravme-listing-card-title { margin-top: 30px; }
.elementor .elementor-element.engravme-listing-card-copy { margin-top: 24px; }

/* Business Solutions: Why Choose Us, editable static cards. */
.elementor .elementor-element.engravme-why.e-con { padding: 100px; }
.elementor .engravme-why > .e-con-inner { align-items: center; gap: 0; }
.elementor .elementor-element.engravme-why-badge { background: var(--e-global-color-engbusinessbadge); }
.elementor .elementor-element.engravme-why-title { width: 559px; max-width: 100%; text-align: center; margin-top: 19px; }
.engravme-why-title span { color: var(--e-global-color-enggold); }
.elementor .elementor-element.engravme-why-grid.e-con { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 33px; width: 100%; }
.elementor .elementor-element.engravme-why-card.e-con { padding: 29px 20px; align-items: center; gap: 32px; text-align: center; border: 1px solid color-mix(in srgb, var(--e-global-color-enggold) 60%, transparent); background: color-mix(in srgb, var(--e-global-color-engink) 40%, transparent); box-shadow: 0 14px 84px color-mix(in srgb, var(--e-global-color-enggold) 40%, transparent); }
.elementor .elementor-element.engravme-why-icon { width: 56px; height: 56px; flex: 0 0 56px; }
.engravme-why-icon img { display: block; width: 56px; height: 56px; box-shadow: none; }
.engravme-why-card-title .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.engravme-why-card-title br { display: none; }


/* Products banner: shared internal-page layout, source-specific text width. */
.elementor .elementor-element.engravme-products-banner.e-con { min-height: 638px; padding-bottom: 70px; }
.elementor .engravme-products-banner .elementor-element.engravme-about-content { max-width: 974px; }
.engravme-products-gold { color: var(--e-global-color-enggold); }

/* Products: shared category/material query, native WooCommerce Loop Grid. */
.elementor .elementor-element.engravme-product-image--mobile { display: none; }
.elementor .elementor-element.engravme-product-catalog.e-con { padding: 100px 100px 110px; overflow: hidden; isolation: isolate; }
.engravme-product-catalog::before, .engravme-product-catalog::after { content: ''; position: absolute; pointer-events: none; z-index: -1; background-repeat: no-repeat; background-size: 100% 100%; }
.engravme-product-catalog::before { width: 187.8125%; height: 98.958333vw; right: auto; bottom: auto; left: -41.0417%; top: -225px; background-image: url('https://engravme.com/wp-content/uploads/2026/10/engravme-catalog-wave.svg'); }
.engravme-product-catalog::after { width: 1864px; height: 1864px; left: calc(50% - 965px); top: 170px; background-image: url('https://engravme.com/wp-content/uploads/2026/10/engravme-catalog-glow.svg'); }
.elementor .engravme-product-catalog > .e-con-inner { gap: 0; }
.elementor .elementor-element.engravme-product-filters, .elementor .elementor-element.engravme-product-grid, .elementor .elementor-element.engravme-product-pagination { width: 100%; }
.engravme-catalog-controls { display: flex; align-items: center; justify-content: space-between; gap: 24px; font-family: var(--e-global-typography-engfootbtn-font-family); font-size: var(--e-global-typography-engfootbtn-font-size); line-height: var(--e-global-typography-engfootbtn-line-height); }
.engravme-catalog-tabs { display: flex; align-items: center; gap: 30px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.engravme-catalog-tabs::-webkit-scrollbar { display: none; }
.elementor .engravme-catalog-tab { flex: none; display: block; padding: 13px 23px; border: 1px solid var(--e-global-color-enggold); border-radius: 100px; color: var(--e-global-color-engwhite); text-decoration: none; white-space: nowrap; }
.engravme-catalog-tab.is-active, .engravme-catalog-tab:hover { background: var(--e-global-color-enggold); color: var(--e-global-color-engwhite) !important; }
/* Preserve native button colors against the shared monochrome hover filter. */
body .elementor .engravme-product-detail .elementor-element.elementor-widget-button .elementor-button:is(:hover, :focus-visible) { filter: none; }

/* Native WooCommerce specifications table: scoped to product details. */
.elementor .engravme-detail-specifications table.shop_attributes { width: 100%; margin: 0; table-layout: fixed; border-collapse: separate; border-spacing: 0; border: 1px solid color-mix(in srgb, var(--e-global-color-enggold) 35%, transparent); border-radius: 0 10px 0 10px; overflow: hidden; background: var(--e-global-color-engcard); }
.elementor .engravme-detail-specifications table.shop_attributes tr { display: table-row; }
.elementor .engravme-detail-specifications table.shop_attributes th,
.elementor .engravme-detail-specifications table.shop_attributes td { display: table-cell; padding: 20px 24px; border: 0; text-align: left; vertical-align: top; font-style: normal; line-height: 1.6; overflow-wrap: anywhere; }
.elementor .engravme-detail-specifications table.shop_attributes th { width: 28%; color: var(--e-global-color-engmetal); font-weight: 500; background: color-mix(in srgb, var(--e-global-color-enggold) 7%, var(--e-global-color-engcard)); border-right: 1px solid color-mix(in srgb, var(--e-global-color-enggold) 20%, transparent); }
.elementor .engravme-detail-specifications table.shop_attributes td { color: var(--e-global-color-engwhite); font-weight: 400; background: transparent; }
.elementor .engravme-detail-specifications table.shop_attributes tr + tr th,
.elementor .engravme-detail-specifications table.shop_attributes tr + tr td { border-top: 1px solid color-mix(in srgb, var(--e-global-color-enggold) 20%, transparent); }
.elementor .engravme-detail-specifications table.shop_attributes td p { margin: 0; padding: 0; font-style: normal; }

/* Compact grouped WooCommerce catalog filters. */
.engravme-catalog-controls { position: relative; flex-wrap: nowrap; }
.engravme-catalog-controls .engravme-catalog-tabs { flex: 1; }
.engravme-catalog-filters { margin-left: auto; flex: none; }
.engravme-catalog-filters summary { cursor: pointer; padding: 13px 23px; background: var(--e-global-color-enggold); color: var(--e-global-color-engwhite); border-radius: 0 10px 0 10px; }
.engravme-catalog-filter-form { position: absolute; top: calc(100% + 16px); right: 0; z-index: 20; width: 100%; padding: 24px; background: var(--e-global-color-engink); border: 1px solid var(--e-global-color-enggold); border-radius: 0 10px 0 10px; box-shadow: 0 12px 32px #0008; }
.engravme-catalog-filter-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.engravme-catalog-filter-fields label { min-width: 0; color: var(--e-global-color-engwhite); font-size: 16px; }
.engravme-catalog-filter-fields select { display: block; width: 100%; min-width: 0; margin-top: 8px; padding: 12px 30px 12px 12px; border: 1px solid var(--e-global-color-enggold); border-radius: 0 10px 0 10px; background: var(--e-global-color-engink); color: var(--e-global-color-engwhite); font: inherit; text-overflow: ellipsis; }
.engravme-catalog-filter-fields select:disabled { opacity: .65; }
.engravme-product-catalog .engravme-catalog-filters :is(select,summary,a):focus-visible { outline: 1px solid var(--e-global-color-enggold); outline-offset: 2px; box-shadow: none; }
.engravme-product-catalog .engravme-catalog-filter-fields select:focus { border-color: var(--e-global-color-enggold); box-shadow: none; }

.engravme-catalog-reset { display: inline-block; margin-top: 16px; color: var(--e-global-color-engmetal); font-family: var(--e-global-typography-engherocopy-font-family); }
.engravme-product-catalog :is(a,select,button):focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 3px; }
.elementor .elementor-element.engravme-product-grid { margin-top: 55px; }
.elementor .engravme-product-grid .elementor-loop-container { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.engravme-product-grid .e-loop-item[hidden] { display: none; }
.elementor .elementor-element.engravme-product-card.e-con { padding: 0; gap: 0; height: 100%; background: color-mix(in srgb, var(--e-global-color-engwhite) 7%, transparent); }
.engravme-product-image a { display: block; line-height: 0; }
.engravme-product-image img { display: block; width: 100%; aspect-ratio: 415 / 362; object-fit: cover; border-radius: 0; box-shadow: none; }
.elementor .elementor-element.engravme-product-details.e-con { padding: 22px 25px 28px; gap: 0; flex: 1; align-items: flex-start; transition: background-color .18s ease; }
.engravme-product-copy p { margin: 0; }
.elementor .elementor-element.engravme-product-copy.elementor-widget-text-editor { margin-top: 8px; width: 287px; max-width: 100%; }
.elementor .elementor-element.engravme-product-order { margin-top: 22px; }
.engravme-product-order .elementor-button { padding: 13px 23px; border-radius: 0 10px 0 10px; }
.engravme-product-order .elementor-button:hover, .engravme-product-order .elementor-button:focus { border-radius: 0 10px 0 10px; border-color: var(--e-global-color-enggold); }
.elementor .elementor-element.engravme-product-pagination { margin-top: 56px; }
.engravme-catalog-pagination { display: flex; justify-content: center; align-items: center; gap: 30px; font-family: var(--e-global-typography-engfootbtn-font-family); font-size: 16px; line-height: 26px; color: var(--e-global-color-enggold); }
.engravme-catalog-pagination a, .engravme-catalog-pagination span { color: inherit; text-decoration: none; }
.engravme-catalog-pagination .current { min-width: 35px; height: 35px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid currentColor; }
.engravme-catalog-pagination [aria-disabled] { opacity: .5; }
.elementor .engravme-catalog-pager .engravme-catalog-load-more[hidden] { display: none; }
.engravme-catalog-empty { color: var(--e-global-color-engwhite); text-align: center; font-family: var(--e-global-typography-engherocopy-font-family); }
.engravme-catalog-empty a { color: var(--e-global-color-engmetal); }
.engravme-product-grid .elementor-posts-nothing-found { display: none; }
.engravme-product-catalog[aria-busy=true] .engravme-product-grid { opacity: .55; }
.elementor-editor-active .engravme-product-catalog::before, .elementor-editor-active .engravme-product-catalog::after { pointer-events: none; }

/* Products: page-specific custom-product CTA. */
.elementor .elementor-element.engravme-products-cta.e-con { padding: 61px 100px 43px; }
.elementor .elementor-element.engravme-products-cta > .e-con-inner { display: grid; grid-template-columns: minmax(0, 1fr) 516px 192px; gap: 109px; align-items: center; }
.elementor .elementor-element.engravme-products-cta-title { max-width: 514px; }
.engravme-products-cta-accent { color: var(--e-global-color-engmetal); }
.engravme-products-cta-copy p { margin: 0; }
.engravme-products-cta-button .elementor-button { white-space: nowrap; box-shadow: inset 0 0 0 1px var(--e-global-color-enggold); transition: background-color .18s ease; }
.engravme-products-cta-button .elementor-button:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: 5px; }

.elementor .elementor-element.engravme-gallery-feed { width: 100%; }
.engravme-gallery-item { margin: 0; padding: 0; }
.engravme-gallery-image { display: block; overflow: hidden; }
.engravme-gallery-image img { border-radius: 0; }

/* Gallery: ACF-managed image items with progressive reveal and native lightboxes. */
.elementor .engravme-gallery-banner .elementor-element.engravme-about-copy { max-width: 713px; }
.elementor .elementor-element.engravme-gallery-section.e-con { padding: 101px 100px 100px; overflow: hidden; }
.elementor .elementor-element.engravme-gallery-section > .e-con-inner { flex-direction: column; align-items: center; gap: 0; container-type: inline-size; }
.elementor .engravme-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: calc((100cqw - 40px) * .239285714); gap: 20px; width: 100%; }
.elementor .engravme-gallery-item { min-width: 0; height: 100%; overflow: hidden; }
.engravme-gallery-item:nth-child(9n + 1) { grid-column: 1; grid-row: calc(var(--gallery-block, 0) * 4 + 1) / span 2; }
.engravme-gallery-item:nth-child(9n + 2) { grid-column: 2; grid-row: calc(var(--gallery-block, 0) * 4 + 1); }
.engravme-gallery-item:nth-child(9n + 3) { grid-column: 2; grid-row: calc(var(--gallery-block, 0) * 4 + 2); }
.engravme-gallery-item:nth-child(9n + 4) { grid-column: 3; grid-row: calc(var(--gallery-block, 0) * 4 + 1) / span 2; }
.engravme-gallery-item:nth-child(9n + 5) { grid-column: 1; grid-row: calc(var(--gallery-block, 0) * 4 + 4); }
.engravme-gallery-item:nth-child(9n + 6) { grid-column: 1; grid-row: calc(var(--gallery-block, 0) * 4 + 3); }
.engravme-gallery-item:nth-child(9n + 7) { grid-column: 2; grid-row: calc(var(--gallery-block, 0) * 4 + 3) / span 2; }
.engravme-gallery-item:nth-child(9n + 8) { grid-column: 3; grid-row: calc(var(--gallery-block, 0) * 4 + 3); }
.engravme-gallery-item:nth-child(9n + 9) { grid-column: 3; grid-row: calc(var(--gallery-block, 0) * 4 + 4); }
.elementor .engravme-gallery-image { width: 100%; height: 100%; }
.engravme-gallery-image picture { display: block; width: 100%; height: 100%; line-height: 0; }
.engravme-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.elementor .elementor-element.engravme-gallery-more { width: auto; margin-top: 60px; }
.engravme-gallery-more .elementor-button { box-shadow: inset 0 0 0 1px var(--e-global-color-enggold); }
.engravme-gallery-image:focus-visible, .engravme-gallery-more a:focus-visible { outline: 2px solid var(--e-global-color-engwhite); outline-offset: -4px; }
.elementor .engravme-gallery-item[hidden], .elementor .elementor-element.engravme-gallery-more[hidden] { display: none; }

/* Contact banner: source-specific position and copy width. */
.elementor .elementor-element.engravme-contact-banner.e-con { padding: 244px 100px 140px; }
.elementor .engravme-contact-banner .elementor-element.engravme-about-copy { max-width: 662px; margin-top: 8px; }

/* Contact details and native WPForms. */
.elementor .engravme-contact-help.e-con { padding:111px 24px 100px; background:var(--e-global-color-engink); }
.elementor .engravme-contact-columns.e-con { width:100%; max-width:1470px; margin:auto; padding:0; display:grid; grid-template-columns:415px minmax(0,930px); gap:125px; align-items:start; }
.elementor .engravme-contact-info.e-con,.elementor .engravme-contact-details.e-con { padding:0; gap:0; }
.engravme-contact-tag { align-self:flex-start; border-radius:50px; background:var(--e-global-color-engherotag); padding:7px 25px; }
.elementor .elementor-element.engravme-contact-title { margin:40px 0 50px; }
.engravme-contact-title .elementor-heading-title { text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.engravme-contact-accent { color:var(--e-global-color-engmetal); }
.elementor .engravme-contact-row.e-con { padding:30px 0; flex-direction:row; align-items:center; gap:17px; border-bottom:1px solid transparent; background-image:repeating-linear-gradient(to right,var(--e-global-color-engwhite) 0 8px,transparent 8px 18px); background-position:left bottom; background-size:100% 1px; background-repeat:no-repeat; }
.elementor .engravme-contact-row.e-con:first-child { padding-top:0; }
.elementor .engravme-contact-row.e-con:last-child { border:0; padding-bottom:0; background-image:none; }
.elementor .engravme-contact-icon { width:55px; flex:0 0 55px; }
.engravme-contact-icon img { width:55px; height:55px; box-shadow:none; }
.engravme-contact-detail p { margin:0; }
.engravme-contact-detail a { color:inherit; }
.elementor .engravme-contact-hours .elementor-element.engravme-contact-detail { line-height:38px; }
.elementor .engravme-contact-form.e-con { padding:35px 40px 44px; background:var(--e-global-color-engformpanel); }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full { margin:0; }
.engravme-contact-form .wpforms-field-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full .wpforms-field { padding:0; min-width:0; }
.engravme-contact-form .engravme-form-full { grid-column:1/-1; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full .wpforms-field-label { font-family:var(--e-global-typography-engproducttitle-font-family),serif; font-size:var(--e-global-typography-engproducttitle-font-size); font-weight:400; line-height:35px; margin:0 0 9px; color:var(--e-global-color-engwhite); }
.engravme-contact-form .wpforms-required-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input[type=text],.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input[type=email],.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full select,.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full textarea { width:100%; max-width:none; height:49px; padding:10px 14px; background-color:var(--e-global-color-engforminput); border:0; border-radius:0; box-shadow:none; color:var(--e-global-color-engwhite); font-family:var(--e-global-typography-engfootcopy-font-family),sans-serif; font-size:16px; line-height:28px; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input::placeholder,.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full textarea::placeholder,.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full select { color:var(--e-global-color-engmuted); font-size:9px; opacity:1; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full select { appearance:none; background-image:url(https://engravme.com/wp-content/themes/hello-elementor-child-master-1/assets/images/engravme-contact-chevron.svg); background-repeat:no-repeat; background-position:right 15px center; background-size:11px 6px; padding-right:35px; }
.engravme-contact-form select option { color:var(--e-global-color-engwhite); background:var(--e-global-color-engcard); }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full textarea { height:123px; resize:vertical; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full .wpforms-submit-container { padding:0; margin-top:50px; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full button[type=submit] { width:248px; height:54px; padding:12px 24px; border:1px solid var(--e-global-color-enggold); border-radius:0 10px 0 10px; background:var(--e-global-color-enggold); color:var(--e-global-color-engwhite); font-family:var(--e-global-typography-engfootcopy-font-family),sans-serif; font-size:18px; font-weight:400; line-height:28px; box-shadow:none; }
.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full button[type=submit]:hover { background:var(--e-global-color-engforest); border-radius:0 10px 0 10px; }
.engravme-contact-form input:focus-visible,.engravme-contact-form select:focus-visible,.engravme-contact-form textarea:focus-visible,.engravme-contact-form button:focus-visible { outline:2px solid var(--e-global-color-enggold); outline-offset:3px; }

/* Product-specific native WPForms accessory choices. */
.elementor .engravme-order-form .wpforms-container .engravme-quote-accessories .wpforms-field-label-inline { color: var(--e-global-color-engwhite); font-family: var(--e-global-typography-engfootcopy-font-family), sans-serif; font-size: 16px; line-height: 1.6; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .engravme-quote-accessories li { display: flex; align-items: flex-start; gap: 12px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .engravme-quote-accessories input[type=checkbox] { appearance: auto; -webkit-appearance: checkbox; flex: 0 0 18px; width: 18px; height: 18px; min-width: 18px; padding: 0; margin: 4px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; accent-color: var(--e-global-color-enggold); cursor: pointer; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .engravme-quote-accessories input[type=checkbox]::before,
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .engravme-quote-accessories input[type=checkbox]::after { content: none; display: none; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .engravme-quote-accessories .wpforms-field-label-inline { margin: 0; cursor: pointer; }

/* Contact: Our Location, native editable Google Maps. */
.elementor .engravme-contact-location.e-con { gap:0; }
.elementor .engravme-location-tag { align-self:center; padding:7px 25px; border-radius:50px; background:var(--e-global-color-engherotag); }
.elementor .elementor-element.engravme-location-title { margin:40px 0 50px; }
.engravme-location-title .elementor-heading-title { text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.elementor .engravme-contact-location.e-con > .elementor-element.engravme-location-map { width:100%; max-width:1720px; margin:0 auto; }
.engravme-location-map iframe { display:block; width:100%; border:0; }

/* Subtle global interactions; geometry, colors and asymmetric corners remain owned by existing styles. */
body .elementor .elementor-button,
body .engravme-contact-form .wpforms-container button[type=submit] {
    transition: scale 280ms cubic-bezier(.22, .61, .36, 1), filter 350ms ease, background-color 350ms ease, color 350ms ease, border-color 350ms ease;
}
body .elementor .elementor-button .elementor-button-icon { transition: translate 350ms cubic-bezier(.22, .61, .36, 1); }
body .elementor .elementor-button:active,
body .engravme-contact-form .wpforms-container button[type=submit]:active { translate: 0 0; }

/* Consistent button growth without changing document layout or corner shapes. */
body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]) { scale: 1; transform-origin: center; transition: scale 280ms cubic-bezier(.22, .61, .36, 1), filter 350ms ease, background-color 350ms ease, color 350ms ease, border-color 350ms ease; }
body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]):not(:disabled):not([aria-disabled="true"]):active { scale: .98; }

/* Native Elementor Loop Carousel owns collection slides, gestures and navigation. */
.elementor .elementor-element.engravme-create-native { width: 100%; min-width: 0; }
.elementor .elementor-element.engravme-create-native .swiper { overflow: hidden; width: 100%; margin-inline: 0; }
.elementor .engravme-create-native .engravme-create-card.e-con { flex: initial; width: 100%; }
.elementor .engravme-create-native .e-loop-item.is-featured .engravme-create-learn .elementor-button { color: var(--e-global-color-enggold); }
.elementor .elementor-element.engravme-create-native .elementor-swiper-button { top: var(--engravme-native-arrow-top, 221px); bottom: auto; transform: none; width: 66px; height: 66px; z-index: 3; }
.elementor .elementor-element.engravme-create-native .elementor-swiper-button-prev { left: -10px; }
.elementor .elementor-element.engravme-create-native .elementor-swiper-button-next { right: -11px; }


/* Memorial Collection: page-owned ACF showcase cards. */
.elementor .elementor-element.engravme-memorial-collection.e-con { padding:100px 100px; background:var(--e-global-color-engink); color:var(--e-global-color-engwhite); }
.engravme-memorial-collection > .e-con-inner { max-width:1720px; align-items:center; gap:0; }
.elementor .engravme-memorial-heading { margin-top:40px; text-align:center; }
.engravme-memorial-heading .elementor-heading-title { text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.elementor .elementor-element.engravme-memorial-intro { margin-top:32px; width:100%; max-width:643px; text-align:center; }
.engravme-memorial-intro p { max-width:643px; margin:0 auto; text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.elementor .elementor-element.engravme-memorial-cards-widget { width:100%; margin-top:50px; }
.engravme-memorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:50px 20px; }
.engravme-memorial-card[hidden], .engravme-memorial-more[hidden] { display:none; }
.engravme-memorial-card-link { display:block; height:100%; color:inherit; text-decoration:none; }
.engravme-memorial-card-link:focus-visible { outline:2px solid var(--e-global-color-enggold); outline-offset:6px; }

.engravme-memorial-image { display:block; aspect-ratio:560/398; overflow:hidden; }
.engravme-memorial-image img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0; }
.engravme-memorial-card h3 { margin:30px 0 0; color:var(--e-global-color-engwhite); font-family:var(--e-global-typography-engcollectiontitle-font-family); font-size:var(--e-global-typography-engcollectiontitle-font-size); font-weight:var(--e-global-typography-engcollectiontitle-font-weight); line-height:var(--e-global-typography-engcollectiontitle-line-height); text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.engravme-memorial-card p { margin:24px 0 0; color:var(--e-global-color-engwhite); font-family:var(--e-global-typography-engsectioncopy-font-family); font-size:var(--e-global-typography-engsectioncopy-font-size); font-weight:var(--e-global-typography-engsectioncopy-font-weight); line-height:var(--e-global-typography-engsectioncopy-line-height); text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.engravme-memorial-more-wrap { text-align:center; }
.elementor .engravme-memorial-more.elementor-button { margin-top:80px; border:1px solid var(--e-global-color-enggold); border-radius:0 10px 0 10px; padding:12px 23px; background:var(--e-global-color-enggold); color:var(--e-global-color-engwhite); font-family:var(--e-global-typography-engfootbtn-font-family); font-size:var(--e-global-typography-engfootbtn-font-size); line-height:var(--e-global-typography-engfootbtn-line-height); }
.elementor .engravme-memorial-more.elementor-button:hover, .elementor .engravme-memorial-more.elementor-button:focus-visible { background:var(--e-global-color-engforest); border-color:var(--e-global-color-enggold); color:var(--e-global-color-engwhite); }


/* Memorial Our Craft: native workshop widgets, page-specific layout. */
.elementor .elementor-element.engravme-craft > .e-con-inner { flex-direction:row-reverse; }
.elementor .engravme-craft .elementor-element.engravme-workshop-photo { inset:0 auto 0 0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-content.e-con { padding:99px 105px 102px 0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-badge { margin-left:0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-title { margin-left:0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-copy { margin-left:4px; }
.elementor .engravme-craft .elementor-element.engravme-workshop-features.e-con { width:747px; max-width:100%; margin-left:8px; }


/* Memorial Process uses the shared native steps with its source-specific background. */
.engravme-process--memorial::before { width:2416.28px; height:944.87px; left:calc(50% - 1213px); top:-88px; background-image:url("https://engravme.com/wp-content/uploads/2026/10/engravme-memorial-process-background.webp"); }

/* Theme Builder 404: global typography, colors and shared buttons. */
.elementor .elementor-element.engravme-error404.e-con { min-height:100svh; width:100%; justify-content:center; padding:80px 100px 100px; background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--e-global-color-enggold) 13%,transparent),transparent 66%),var(--e-global-color-engink); }
.engravme-error404 > .e-con-inner { align-items:center; gap:0; max-width:1720px; }
.elementor .engravme-404-number { margin-top:24px; text-align:center; }
.elementor .elementor-element.engravme-404-number .elementor-heading-title { font-size:calc(var(--e-global-typography-engherotitle-font-size) * 1.9); line-height:1; }
.elementor .engravme-404-title { margin-top:8px; text-align:center; }
.elementor .engravme-404-copy { margin-top:24px; text-align:center; }
.engravme-404-copy p { margin:0; }
.elementor .elementor-element.engravme-404-actions.e-con { margin-top:32px; flex-wrap:wrap; }
.engravme-404-button .elementor-button:hover, .engravme-404-button .elementor-button:focus-visible { border-color:var(--e-global-color-enggold); }
/* Start Your Order: page introduction and native WPForms inquiry. */
.elementor .elementor-element.engravme-order-intro.e-con { padding:70px 100px 60px; align-items:center; background:radial-gradient(ellipse at center,color-mix(in srgb,var(--e-global-color-enggold) 10%,transparent),transparent 70%),var(--e-global-color-engink); }
.elementor .engravme-order-title { margin-top:24px; text-align:center; }
.elementor .engravme-order-lead { margin-top:24px; text-align:center; }
.engravme-order-lead p { max-width:760px; margin:0 auto; }
.elementor .elementor-element.engravme-order-section.e-con { padding:0 100px 100px; background:var(--e-global-color-engink); }
.elementor .elementor-element.engravme-order-columns.e-con { padding:0; max-width:1720px; margin-inline:auto; flex-direction:row; gap:70px; align-items:flex-start; }
.elementor .elementor-element.engravme-order-info.e-con { width:32%; padding:32px 0 0; gap:24px; }
.engravme-order-info p { margin:0; }
.engravme-order-details ul { margin:0; padding-left:22px; }
.engravme-order-details li + li { margin-top:12px; }
.elementor .engravme-order-note { padding-top:24px; border-top:1px solid var(--e-global-color-engfooterline); }
.elementor .elementor-element.engravme-order-form.e-con { flex:1; min-width:0; padding:40px; gap:0; }
.elementor .elementor-element.engravme-order-form-title .elementor-heading-title { font-size:calc(var(--e-global-typography-engsectiontitle-font-size) * .72); line-height:1.2; }
.elementor .elementor-element.engravme-order-required { margin:12px 0 28px; }
.engravme-order-required p { margin:0; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full input::placeholder,
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full textarea::placeholder,
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full select { font-size:14px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .wpforms-required-label { position:static; width:auto; height:auto; overflow:visible; clip-path:none; color:var(--e-global-color-engmetal); }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .wpforms-field-description { color:var(--e-global-color-engwhite); font-size:14px; line-height:22px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .wpforms-field { scroll-margin-top:150px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .wpforms-field-label { font-size:22px; line-height:30px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full textarea { min-height:110px; height:110px; }

/* Privacy Policy: native editable legal content. */
.elementor .elementor-element.engravme-privacy-body.e-con { padding:70px 100px 100px; }
.elementor .elementor-element.engravme-privacy-copy.e-con { width:100%; max-width:1080px; margin-inline:auto; padding:0; gap:36px; }
.elementor .elementor-element.engravme-privacy-section.e-con { padding:0; gap:18px; }
.elementor .engravme-privacy-section .elementor-heading-title { font-size:calc(var(--e-global-typography-engsectiontitle-font-size) * .64); line-height:1.25; }
.engravme-privacy-copy p { margin:0 0 16px; }
.engravme-privacy-copy p:last-child { margin-bottom:0; }
.engravme-privacy-copy ul { padding-left:24px; margin:0 0 16px; }
.engravme-privacy-copy li + li { margin-top:8px; }
.engravme-privacy-copy a { color:var(--e-global-color-engforest); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.engravme-privacy-copy a:hover { color:var(--e-global-color-engink); }
.engravme-privacy-copy a:focus-visible { outline:2px solid var(--e-global-color-engforest); outline-offset:3px; }

@media (hover: hover) and (pointer: fine) {
    body .elementor-location-footer .engravme-footer-social a.elementor-icon:hover { color: var(--e-global-color-enggold); scale: 1.08; }

    body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]):not(:disabled):not([aria-disabled="true"]):hover { scale: 1.03; }
    body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]):not(:disabled):not([aria-disabled="true"]):active { scale: .98; }

    body .elementor .elementor-button:hover,
    body .engravme-contact-form .wpforms-container button[type=submit]:not(:disabled):hover { filter: brightness(1.12); }
    body .elementor .elementor-button:hover .elementor-button-icon { translate: 5px 0; }
    body .elementor .elementor-button:active,
    body .engravme-contact-form .wpforms-container button[type=submit]:active { translate: 0 0; }

    .engravme-product-card:hover .engravme-product-details { background: var(--e-global-color-enggold); }
    .elementor .elementor-element.engravme-product-card:hover .elementor-element.engravme-product-order .elementor-button { background: var(--e-global-color-engwhite); color: var(--e-global-color-engink); border-color: var(--e-global-color-engwhite); }
    .elementor .elementor-element.engravme-product-card .elementor-element.engravme-product-order .elementor-button:is(:hover, :focus-visible) { background: var(--e-global-color-engforest); color: var(--e-global-color-engwhite); border-color: var(--e-global-color-enggold); filter: none; }
    .engravme-material-card:hover { transform: translateY(-3px); }
    .engravme-material-card:hover::after { border-color: var(--e-global-color-engmetal); }
}

@media (max-width: 1600px) {
.elementor .elementor-element.engravme-order-intro.e-con { padding-inline:48px; }
.elementor .elementor-element.engravme-order-section.e-con { padding-inline:48px; }
.elementor .elementor-element.engravme-order-columns.e-con { gap:40px; }


.elementor .engravme-craft .elementor-element.engravme-workshop-content.e-con { padding:80px 48px 80px 0; }
.elementor .elementor-element.engravme-memorial-collection.e-con { padding-inline:48px; }
/* Gallery. */
.elementor .elementor-element.engravme-gallery-section.e-con { padding-inline: 48px; }

    /* Products CTA. */
.elementor .elementor-element.engravme-products-cta.e-con { padding-inline: 48px; }
.elementor .elementor-element.engravme-products-cta > .e-con-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 192px; gap: 40px; }

    /* Product catalog */
    .elementor .elementor-element.engravme-product-catalog.e-con { padding-inline: 48px; }
    .engravme-catalog-tabs { gap: 16px; }

    /* Why Choose Us */
    .elementor .elementor-element.engravme-why.e-con { padding-right: 60px; padding-left: 60px; }

    /* Business Solutions listing */
    .elementor .elementor-element.engravme-listing.e-con { padding-right: 60px; padding-left: 60px; }

    .elementor .engravme-values .elementor-element.engravme-workshop-content.e-con { padding: 80px 48px 80px 0; }

    .elementor .elementor-element.engravme-quality.e-con { padding-inline: 60px; }

    .elementor .engravme-workshop--about .elementor-element.engravme-workshop-content.e-con { padding: 80px 48px 80px 0; }

    .elementor .elementor-element.engravme-story.e-con { padding-inline: 60px; }
    .elementor .elementor-element.engravme-story.e-con > .e-con-inner { gap: 36px; }

    .elementor .elementor-element.engravme-about-banner.e-con { padding-inline: 60px; }

    .elementor .elementor-element.engravme-testimonials.e-con { padding-inline: 48px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button { width: 40px; height: 40px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -46px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -46px; }

    .elementor .elementor-element.engravme-featured.e-con { padding-inline: 48px; }

    .elementor-location-header .elementor-element.engravme-header-main.e-con {
        padding-right: 48px;
        padding-left: 48px;
    }
    .elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu {
        margin-right: 28px;
        --e-nav-menu-horizontal-menu-item-margin: 10px;
    }
    .elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
        font-size: calc(var(--e-global-typography-engnav-font-size) * 0.888889);
    }
    .elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img {
        width: 180px;
        height: auto;
    }

    /* Footer: compact desktop. */
    .elementor .elementor-element.engravme-page-cta.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-body.e-con { padding-right: 48px; padding-left: 48px; }
    .elementor .engravme-page-cta-title { flex-basis: 37%; margin-right: 24px; }
    .elementor .engravme-page-cta-copy { flex-basis: 30%; margin-right: 32px; }
    .elementor .elementor-element.engravme-page-cta-buttons.e-con { flex-basis: auto; gap: 12px; }
    .elementor .elementor-element.engravme-page-cta-title.elementor-widget-heading .elementor-heading-title { font-size: calc(var(--e-global-typography-engfootcta-font-size) * .85); }
    .elementor-location-footer .elementor-element.engravme-footer-menu.elementor-widget-nav-menu .elementor-nav-menu .elementor-item,
    .elementor-location-footer .elementor-element.engravme-footer-text.elementor-widget-text-editor { font-size: calc(var(--e-global-typography-engfoottext-font-size) * .888889); }
    .elementor-location-footer .elementor-element.engravme-footer-logo.elementor-widget-image img { height: auto; }
    /* Home banner: compact desktop. */
    .elementor .elementor-element.engravme-home-banner.e-con { min-height: 840px; padding: 200px 48px 150px; }
    .elementor .elementor-element.engravme-hero-content.e-con { max-width: 700px; }
    .elementor .elementor-element.engravme-hero-title.elementor-widget-heading .elementor-heading-title { font-size: calc(var(--e-global-typography-engherotitle-font-size) * .82); line-height: calc(var(--e-global-typography-engherotitle-line-height) * .85); }
    /* Collection introduction: compact desktop. */
    .elementor .elementor-element.engravme-create-intro.e-con { padding-inline: 48px; }
    .elementor .elementor-element.engravme-create-title.elementor-widget-heading { width: 45%; }
    .elementor .elementor-element.engravme-create-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
    .elementor-location-header .elementor-element.engravme-header-logo { margin-left: 0; }
    .elementor .elementor-element.engravme-materials.e-con { padding: 80px 48px 75px; }
    .elementor .elementor-element.engravme-process.e-con { padding: 80px 48px; }
    .elementor .elementor-element.engravme-process-steps.e-con { gap: 24px; }
    .engravme-process-step:not(:last-child)::after { width: calc(100% - 70px); }
    .elementor .elementor-element.engravme-workshop.e-con { padding: 0 48px; }
    .elementor .elementor-element.engravme-workshop-photo { width: calc(100% + 48px); }
    .elementor .elementor-element.engravme-workshop-content.e-con { padding: 80px 0 80px 48px; }
    .elementor .elementor-element.engravme-workshop-badge { margin-left: 0; }
    .elementor .elementor-element.engravme-workshop-features.e-con { gap: 32px 24px; }
    .elementor .elementor-element.engravme-workshop-feature.e-con { gap: 12px; }
    .elementor .elementor-element.engravme-business.e-con { padding: 80px 48px; }
    .elementor .elementor-element.engravme-solution-content.e-con { padding: 48px 32px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -46px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -46px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button { width: 40px; height: 40px; --arrow-size: 40px; }
}

@media (max-width: 1200px) {
    /* Product catalog */
    .elementor .engravme-catalog-tab { padding-inline: 18px; }

    .elementor-location-header .elementor-element.engravme-header-main.e-con {
        padding-right: 32px;
        padding-left: 32px;
    }
    .elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu {
        margin-right: 0;
        --e-nav-menu-horizontal-menu-item-margin: 12px;
    }
    .elementor-location-header .elementor-element.engravme-header-cta.elementor-widget-button {
        display: none;
    }

    /* Footer: tablet landscape. */
    .elementor .elementor-element.engravme-page-cta.e-con {
        flex-direction: column;
        text-align: center;
        padding: 60px 32px;
        gap: 24px;
    }
    .elementor .engravme-page-cta-title,
    .elementor .engravme-page-cta-copy { flex-basis: auto; width: 100%; max-width: 700px; margin: 0; }
    .elementor .elementor-element.engravme-page-cta-buttons.e-con { justify-content: center; }
    .elementor-location-footer .elementor-element.engravme-footer-body.e-con { padding: 60px 32px 28px; }
    .elementor-location-footer .elementor-element.engravme-footer-brand.e-con { width: 100%; margin-bottom: 32px; }
    .elementor-location-footer .engravme-footer-logo { margin-left: 0; }
    .elementor-location-footer .elementor-element.engravme-footer-logo.elementor-widget-image img { width: 260px; }
    .elementor-location-footer .elementor-element.engravme-footer-explore.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-company.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-contact.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-hours.e-con { width: 25%; }
    .elementor .elementor-element.engravme-home-banner.e-con { padding-right: 32px; padding-left: 32px; }
    .elementor .elementor-element.engravme-create.e-con { padding-block: 70px; }
    .elementor .elementor-element.engravme-create-intro.e-con { padding-inline: 32px; }
    .elementor .elementor-element.engravme-create-carousel.e-con { --engravme-visible: 3; --engravme-card-gap: 20px; margin-top: 45px; }
    .elementor .elementor-element.engravme-page-cta > .e-con-inner { flex-direction: column; align-items: center; gap: 24px; }
    .elementor .elementor-element.engravme-materials.e-con { padding-inline: 32px; }
}

/* Tablet: native Elementor dropdown navigation. */
@media (max-width: 1024px) {
    .engravme-catalog-filter-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.elementor .elementor-element.engravme-privacy-body.e-con { padding:50px 32px 70px; }

.elementor .elementor-element.engravme-order-intro.e-con { padding:60px 32px 40px; }
.elementor .elementor-element.engravme-order-section.e-con { padding:0 32px 70px; }
.elementor .elementor-element.engravme-order-columns.e-con { flex-direction:column; }
.elementor .elementor-element.engravme-order-info.e-con { width:100%; padding:0; }
.elementor .elementor-element.engravme-order-form.e-con { width:100%; }


.elementor .elementor-element.engravme-error404.e-con { padding:60px 32px 70px; }
.elementor .engravme-craft .elementor-element.engravme-workshop-content.e-con { padding:60px 32px 60px 0; }
.elementor .elementor-element.engravme-memorial-collection.e-con { padding:70px 32px; }
.engravme-memorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .engravme-is-sticky .engravme-header-nav .elementor-nav-menu--dropdown { margin-top: 10px; }

    .elementor .engravme-contact-columns.e-con { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:40px; }
    .elementor .engravme-contact-help.e-con { padding:70px 32px; }
    .elementor .engravme-contact-form.e-con { padding:30px 24px; }

/* Gallery. */
.elementor .elementor-element.engravme-gallery-section.e-con { padding: 60px 32px; }
.elementor .engravme-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: calc((100cqw - 20px) * .358928571); }
.elementor .engravme-gallery-item { grid-column: auto; grid-row: auto; }
.elementor .elementor-element.engravme-gallery-more { margin-top: 40px; }

    /* Products CTA. */
.elementor .elementor-element.engravme-products-cta.e-con { padding: 60px 32px; }
.elementor .elementor-element.engravme-products-cta > .e-con-inner { display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.elementor .elementor-element.engravme-products-cta-copy { max-width: 516px; }
.elementor .elementor-element.engravme-products-cta-button { width: auto; }

    /* Product catalog */
    .elementor .elementor-element.engravme-product-catalog.e-con { padding: 60px 32px; }
    .elementor .engravme-product-grid .elementor-loop-container { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .elementor .elementor-element.engravme-products-banner.e-con { min-height: 600px; }
    /* Why Choose Us */
    .elementor .elementor-element.engravme-why.e-con { padding: 60px 40px; }
    .elementor .elementor-element.engravme-why-grid.e-con { grid-template-columns: repeat(2,minmax(0,1fr)); }

    /* Business Solutions listing */
    .elementor .elementor-element.engravme-listing.e-con { padding: 60px 40px; }
    .elementor .engravme-listing-grid .elementor-loop-container { grid-template-columns: repeat(2,minmax(0,1fr)); }

    .elementor .elementor-element.engravme-business-banner.e-con { min-height: 600px; }

    .elementor .elementor-element.engravme-about-cta.e-con { padding: 60px 32px; }

    .elementor .engravme-values .elementor-element.engravme-workshop-content.e-con { padding: 60px 32px 60px 0; }

    .elementor .elementor-element.engravme-quality.e-con { padding: 60px 32px; }
    .elementor .elementor-element.engravme-quality-grid.e-con { gap: 16px; }
    .elementor .elementor-element.engravme-quality-card.e-con { padding: 28px 20px; }

    .elementor .engravme-workshop--about .elementor-element.engravme-workshop-content.e-con { padding: 60px 32px 60px 0; }

    .elementor .elementor-element.engravme-story.e-con { padding: 60px 40px; }
    .elementor .elementor-element.engravme-story.e-con > .e-con-inner { flex-direction: column; gap: 30px; }
    .elementor .elementor-element.engravme-story-content.e-con { order: 0; width: 100%; max-width: 786px; align-items: center; text-align: center; }
    .elementor .elementor-element.engravme-story-photo--desktop.elementor-widget-image { order: 1; width: 100%; max-width: 850px; flex-basis: auto; }

    .elementor .elementor-element.engravme-about-banner.e-con { padding: 180px 40px 70px; min-height: 600px; }

    .elementor .elementor-element.engravme-testimonials.e-con { padding: 60px 32px; }
    .elementor .elementor-element.engravme-testimonials-carousel { margin-top: 36px; }
    .elementor .elementor-element.engravme-testimonial-card.e-con { padding: 28px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button { width: 30px; height: 40px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -32px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -32px; }

    .elementor .elementor-element.engravme-featured.e-con { padding: 60px 32px; }
    .elementor .elementor-element.engravme-featured-card.elementor-widget-image { flex-basis: calc((100% - 40px) / 3); width: calc((100% - 40px) / 3); }
    .elementor .elementor-element.engravme-featured-grid.e-con { margin-top: 36px; }
    .elementor .elementor-element.engravme-featured-button.elementor-widget-button { margin-top: 36px; }

    .elementor-location-header .elementor-element.engravme-header-main.e-con {
        padding: 24px 32px;
    }
    .elementor-location-header .elementor-element.engravme-header-nav.elementor-widget-nav-menu {
        margin-right: 0;
    }
    .elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img {
        width: 160px;
        height: 89px;
    }
    .engravme-header-nav .elementor-nav-menu--dropdown {
        margin-top: 24px;
    }

    /* Footer: tablet portrait. */
    .elementor-location-footer .elementor-element.engravme-footer-explore.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-company.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-contact.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-hours.e-con { width: 50%; }
    .elementor-location-footer .elementor-element.engravme-footer-explore.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-company.e-con { margin-bottom: 32px; }
    /* Home banner: tablet. */
    .elementor .elementor-element.engravme-home-banner.e-con { min-height: 800px; padding-top: 180px; padding-bottom: 140px; }
    .elementor .elementor-element.engravme-hero-title.elementor-widget-heading .elementor-heading-title { font-size: var(--e-global-typography-engherotitle-font-size); line-height: var(--e-global-typography-engherotitle-line-height); }
    .elementor .elementor-element.engravme-create-intro-row.e-con { align-items: flex-start; }
    .elementor .elementor-element.engravme-create-copy.elementor-widget-text-editor { width: 49%; }
    .elementor .elementor-element.engravme-materials.e-con { padding-block: 60px; }
    .elementor .elementor-element.engravme-material-grid.e-con { gap: 16px; margin-top: 40px; }
    .elementor .elementor-element.engravme-material-card.e-con:nth-child(n) { flex-basis: calc((100% - 16px) / 2); padding-bottom: 24px; }
    .elementor .elementor-element.engravme-material-inquiry.e-con { margin-top: 40px; }
    .elementor .elementor-element.engravme-process.e-con { padding: 60px 32px; }
    .elementor .elementor-element.engravme-process-steps.e-con { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 32px; }
    .engravme-process-step:not(:last-child)::after { display: none; }
    .elementor .elementor-element.engravme-workshop.e-con { padding: 0 32px; }
    .elementor .elementor-element.engravme-workshop-photo { width: calc(100% + 32px); }
    .elementor .elementor-element.engravme-workshop-content.e-con { padding: 60px 0 60px 32px; }
    .elementor .elementor-element.engravme-workshop-badge.elementor-widget-heading { padding: 7px 13px; margin-left: 0; }
    .engravme-workshop-badge .elementor-heading-title { white-space: normal; }
    .elementor .elementor-element.engravme-workshop-features.e-con { grid-template-columns: 1fr; gap: 32px; }
    .engravme-workshop-feature:not(:last-child)::after { content: ""; position: absolute; top: calc(100% + 15px); left: 0; right: 0; height: 1px; background: var(--e-global-color-engworkshopline); }
    .elementor .elementor-element.engravme-business.e-con { padding: 60px 32px; }
    .elementor .elementor-element.engravme-solution-content.e-con { padding: 32px 24px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: -32px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: -32px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button { width: 30px; height: 40px; --arrow-size: 30px; }
}

/* Mobile: matches the 440px Figma frame, excluding its device status bar. */
@media (max-width: 767px) {
    .elementor .engravme-detail-specifications table.shop_attributes th { width: 38%; }
    .elementor .engravme-detail-specifications table.shop_attributes th,
    .elementor .engravme-detail-specifications table.shop_attributes td { padding: 14px 12px; }

    .engravme-catalog-filter-fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .engravme-catalog-filters { width: 100%; }
    .engravme-catalog-filters summary { width: fit-content; margin-left: auto; }
.elementor .engravme-memorial-more.elementor-button { padding:8.5px 23px; }

/* Memorial CTA source-specific mobile spacing and gold. */
.engravme-memorial-cta .engravme-products-cta-accent { color: var(--e-global-color-engmetal); }
.elementor .engravme-memorial-cta .elementor-element.engravme-products-cta-copy { margin-top:24px; }

.elementor .elementor-element.engravme-privacy-body.e-con { padding:40px 24px 50px; }
.elementor .elementor-element.engravme-privacy-copy.e-con { gap:30px; }

.elementor .elementor-element.engravme-order-intro.e-con { padding:50px 24px 40px; }
.elementor .elementor-element.engravme-order-section.e-con { padding:0 24px 50px; }
.elementor .elementor-element.engravme-order-form.e-con { padding:24px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full .wpforms-field-label { font-size:20px; line-height:28px; }
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full input::placeholder,
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full textarea::placeholder,
.elementor .engravme-order-form div.wpforms-container.wpforms-container-full select { font-size:14px; }


.elementor .elementor-element.engravme-error404.e-con { padding:50px 24px 60px; }
.elementor .elementor-element.engravme-404-number .elementor-heading-title { font-size:calc(var(--e-global-typography-engherotitle-font-size) * 1.7); }
.elementor .elementor-element.engravme-404-actions.e-con { flex-direction:column; align-items:center; gap:16px; }
.elementor .engravme-404-copy { margin-top:20px; }
.engravme-404-title .engravme-hero-accent { display:block; }
.elementor .elementor-element.engravme-process.engravme-process--memorial.e-con { padding:60px 24px 50px; }
.engravme-process--memorial::before { display:none; }

.elementor .elementor-element.engravme-craft > .e-con-inner { flex-direction:column; }
.elementor .engravme-craft .elementor-element.engravme-workshop-content.e-con { padding:50px 24px 30px; }
.elementor .engravme-craft .elementor-element.engravme-workshop-title.elementor-widget-heading { max-width:100%; width:100%; }
.elementor .engravme-craft .engravme-workshop-title .engravme-workshop-accent { display:block; }
.elementor .engravme-craft .elementor-element.engravme-workshop-copy { margin-left:0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-features.e-con { width:100%; margin-left:0; }
.elementor .engravme-craft .elementor-element.engravme-workshop-photo { inset:0; }

.elementor .elementor-element.engravme-memorial-collection.e-con { padding:50px 24px; }
.elementor .engravme-memorial-heading, .elementor .elementor-element.engravme-memorial-intro { margin-top:24px; }
.elementor .elementor-element.engravme-memorial-cards-widget { margin-top:30px; }
.engravme-memorial-grid { grid-template-columns:minmax(0,1fr); row-gap:30px; }
.engravme-memorial-image { aspect-ratio:392/351; }
.engravme-memorial-card h3 { margin-top:24px; }
.engravme-memorial-card p { margin-top:16px; line-height:24px; }
.elementor .engravme-memorial-more.elementor-button { margin-top:60px; }

    .elementor .elementor-element.engravme-create-native { padding-bottom: 66px; }
    .elementor .elementor-element.engravme-create-native .elementor-swiper-button { top: auto; bottom: 0; width: 36px; height: 36px; }
    .elementor .elementor-element.engravme-create-native .elementor-swiper-button-prev { left: calc(50% - 44px); }
    .elementor .elementor-element.engravme-create-native .elementor-swiper-button-next { right: calc(50% - 44px); }

    /* Compact scrolled navigation; original transparent banner header is unchanged. */
    body .elementor-location-header .elementor-element.engravme-header-main.e-con.engravme-is-sticky { padding-block: 12px; }
    body .elementor-location-header .engravme-is-sticky .elementor-element.engravme-header-logo.elementor-widget-image img { width: 108px; height: 59.6px; }
    .engravme-is-sticky .engravme-header-nav .elementor-nav-menu--dropdown { margin-top: 12px; }

    .elementor .engravme-location-tag { padding:7px 13px; }
    .elementor .elementor-element.engravme-location-title { margin:24px 0 30px; }

    .elementor .engravme-contact-help.e-con { padding:50px 24px; }
    .elementor .engravme-contact-columns.e-con { display:flex; flex-direction:column; gap:30px; }
    .elementor .engravme-contact-info.e-con { width:100%; }
    .engravme-contact-tag { align-self:center; padding:7px 13px; }
    .elementor .elementor-element.engravme-contact-title { margin:24px 0 30px; width:100%; text-align:center; }
    .elementor .engravme-contact-row.e-con { padding:15px 0 16px; gap:16px; }
    .engravme-contact-detail { line-height:24px; }
    .elementor .engravme-contact-hours .elementor-element.engravme-contact-detail { line-height:24px; }
    .engravme-contact-address-break { display:none; }
    .elementor .engravme-contact-form.e-con { width:100%; padding:24px; }
    .engravme-contact-form .wpforms-field-container { grid-template-columns:minmax(0,1fr); gap:24px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full .wpforms-field-label { line-height:35px; text-box-trim:trim-both; text-box-edge:cap alphabetic; margin-bottom:16px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input[type=text],.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input[type=email],.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full select { height:48px; padding:10px 12px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full input::placeholder,.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full textarea::placeholder,.elementor .engravme-contact-form div.wpforms-container.wpforms-container-full select { font-size:12px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full textarea { height:110px; padding:4px 12px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full .wpforms-submit-container { margin-top:24px; }
    .elementor .engravme-contact-form div.wpforms-container.wpforms-container-full button[type=submit] { width:auto; height:47px; padding:8px 22px; font-size:16px; }

    .elementor .engravme-contact-banner .elementor-element.engravme-about-copy { margin-top: 24px; }

/* Gallery. */
 .elementor .engravme-gallery-banner .elementor-element.engravme-about-copy { max-width: 377px; }
.elementor .elementor-element.engravme-gallery-section.e-con { padding: 49px 24px 50px; }
.engravme-gallery-section::before { content: ''; position: absolute; pointer-events: none; width: 379.378%; height: 199.8845vw; left: -155.682%; top: 71px; background: url('https://engravme.com/wp-content/uploads/2026/10/engravme-gallery-wave-mobile.webp') center / contain no-repeat; }
.elementor .engravme-gallery-grid { display: flex; flex-direction: column; gap: 25px; }
.elementor .engravme-gallery-item { height: auto; aspect-ratio: 392 / 313.20874; }
.elementor .engravme-gallery-item:nth-child(9n + 1), .elementor .engravme-gallery-item:nth-child(9n + 4) { aspect-ratio: 392 / 468; }
.elementor .elementor-element.engravme-gallery-more { margin-top: 50px; }


    /* Products CTA. */
.elementor .elementor-element.engravme-products-cta.e-con { padding: 50px 24px; }
.elementor .elementor-element.engravme-products-cta > .e-con-inner { gap: 0; }
.engravme-products-cta-title .elementor-heading-title, .engravme-products-cta-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
.engravme-products-cta-accent { color: var(--e-global-color-enggold); }
.elementor .elementor-element.engravme-products-cta-copy { margin-top: 30px; max-width: 392px; }
.elementor .elementor-element.engravme-products-cta-button { margin-top: 24px; }

    .elementor .engravme-product-short-copy .elementor-element.engravme-product-order { margin-top: 22px; }
    .elementor .engravme-product-short-copy .elementor-element.engravme-product-details { padding-bottom: 30px; }
    .elementor .elementor-element.engravme-product-image--desktop { display: none; }
    .elementor .elementor-element.engravme-product-image--mobile { display: block; }
    /* Product catalog */
    .elementor .elementor-element.engravme-product-catalog.e-con { padding: 50px 24px; }
    .engravme-product-catalog::before { width: 379.378%; height: 199.7727vw; left: -155.682%; top: 109px; background-image: url('https://engravme.com/wp-content/uploads/2026/10/engravme-catalog-wave-mobile.webp'); }
    .engravme-product-catalog::after { display: none; }
    .engravme-catalog-controls { flex-direction: column; align-items: stretch; gap: 24px; }
    .engravme-catalog-tabs { gap: 15px; margin-right: -24px; padding-right: 24px; }
    .elementor .engravme-catalog-tab { padding: 5px 23px; line-height: 28px; }
    .elementor .elementor-element.engravme-product-grid { margin-top: 25px; }
    .elementor .engravme-product-grid .elementor-loop-container { grid-template-columns: minmax(0,1fr); gap: 25px; align-items: start; }
    .engravme-product-image a { display: block; line-height: 0; }
.engravme-product-image img { aspect-ratio: 392 / 362; }
    .elementor .elementor-element.engravme-product-details.e-con { padding: 25px 20px 31px; }
    .engravme-product-name .elementor-heading-title, .engravme-product-sku .elementor-heading-title, .engravme-product-copy, .engravme-product-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-product-sku { margin-top: 18px; }
    .elementor .elementor-element.engravme-product-copy.elementor-widget-text-editor { margin-top: 18px; width: 343px; max-width: 100%; }
    .elementor .elementor-element.engravme-product-order { margin-top: 27px; }
    .engravme-product-order .elementor-button { padding: 18px 24px; }
    .engravme-product-order .elementor-button-text { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-product-pagination { margin-top: 50px; text-align: center; }
    .engravme-catalog-js .engravme-catalog-pagination { display: none; }
    .elementor .engravme-catalog-pager .engravme-catalog-load-more { background: var(--e-global-color-enggold); border: 1px solid var(--e-global-color-enggold); border-radius: 0 10px 0 10px; color: var(--e-global-color-engwhite); font-family: var(--e-global-typography-engfootbtn-font-family); font-size: 16px; line-height: 28px; padding: 9px 22px; }
    .elementor .engravme-catalog-pager .engravme-catalog-load-more:hover { background: var(--e-global-color-engforest); border-color: var(--e-global-color-enggold); }
    .engravme-catalog-pagination { flex-wrap: wrap; gap: 15px; }
    

    .engravme-products-banner .engravme-hero-accent { color: var(--e-global-color-enggold); }
    .elementor .elementor-element.engravme-products-banner.e-con { min-height: 660px; padding-bottom: 100px; }
    /* Why Choose Us */
    .elementor .elementor-element.engravme-why.e-con { padding: 50px 24px; }
    .elementor .elementor-element.engravme-why-title { width: 100%; margin-top: 24px; }
    .engravme-why-title .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-why-grid.e-con { margin-top: 30px; gap: 8px; }
    .elementor .elementor-element.engravme-why-card.e-con { padding: 23px 10px; gap: 16px; }
    .elementor .elementor-element.engravme-why-card-title { max-width: 150px; }
    .engravme-why-card-title br { display: initial; }

    .engravme-listing-card-copy br { display: none; }
    /* Business Solutions listing */
    .elementor .elementor-element.engravme-listing.e-con { padding: 50px 24px; }
    .elementor .engravme-listing > .e-con-inner { gap: 30px; }
    .elementor .elementor-element.engravme-listing-intro.e-con { flex-direction: column; align-items: stretch; gap: 24px; }
    .elementor .elementor-element.engravme-listing-intro-title.e-con { width: 100%; gap: 24px; }
    .elementor .elementor-element.engravme-listing-intro-copy { width: 100%; max-width: none; padding-left: 0; }
    .engravme-listing-intro-copy::before { display: none; }
    .elementor .engravme-listing-grid .elementor-loop-container { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .elementor .elementor-element.engravme-listing-image--desktop { display: none; }
    .elementor .elementor-element.engravme-listing-image--mobile { display: block; }
    .engravme-listing-image img { aspect-ratio: 392 / 351; }
    .elementor .elementor-element.engravme-listing-card-title { margin-top: 24px; }
    .elementor .elementor-element.engravme-listing-card-copy { margin-top: 16px; }

    .elementor .elementor-element.engravme-business-banner.e-con { min-height: 660px; padding-bottom: 100px; }
    .elementor .engravme-business-banner .elementor-element.engravme-about-copy { max-width: 375px; align-self: flex-start; }

    .elementor .elementor-element.engravme-about-cta.e-con { padding: 50px 24px; margin-top: 50px; }
    .engravme-about-cta-title .elementor-heading-title, .engravme-about-cta-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-about-cta-copy { margin-top: 24px; }
    .elementor .elementor-element.engravme-about-cta-button.elementor-widget-button { margin-top: 24px; }

    .elementor .engravme-values .elementor-element.engravme-workshop-content.e-con { padding: 50px 24px 30px; }
    .elementor .engravme-values .elementor-element.engravme-workshop-title .elementor-heading-title { font-size: var(--e-global-typography-engsectiontitle-font-size); line-height: var(--e-global-typography-engsectiontitle-line-height); }
    .elementor .elementor-element.engravme-values-button.elementor-widget-button { margin-top: 24px; }

    .elementor .elementor-element.engravme-quality.e-con { padding: 50px 24px 0; }
    .elementor .elementor-element.engravme-quality-glow { display: none; }
    .elementor .elementor-element.engravme-quality-title.elementor-widget-heading { margin-top: 24px; width: 250px; max-width: 100%; }
    .engravme-quality-title .elementor-heading-title, .engravme-quality-card-title .elementor-heading-title, .engravme-quality-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-quality-grid.e-con { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; }
    .elementor .elementor-element.engravme-quality-card.e-con { min-height: 280px; padding: 24px; }
    .elementor .elementor-element.engravme-quality-icon-desktop.e-con { display: none; }
    .elementor .elementor-element.engravme-quality-icon-mobile { display: block; width: 72px; height: 72px; }
    .engravme-quality-icon-mobile img { display: block; width: 72px; height: 72px; }
    .elementor .elementor-element.engravme-quality-card-title { margin-top: 24px; }
    .elementor .elementor-element.engravme-quality-copy { margin-top: 16px; }

    .elementor .elementor-element.engravme-workshop.engravme-workshop--about > .e-con-inner { flex-direction: column; }
    .elementor .engravme-workshop--about .elementor-element.engravme-workshop-content.e-con { padding: 50px 24px 30px; }
    .elementor .engravme-workshop--about .elementor-element.engravme-workshop-photo { inset: 0; }
    .elementor .engravme-workshop--about .elementor-element.engravme-workshop-features.e-con { width: 100%; }

    .elementor .elementor-element.engravme-story.e-con { padding: 50px 24px; }
    .elementor .elementor-element.engravme-story-photo--desktop.elementor-widget-image { display: none; }
    .elementor .elementor-element.engravme-story-photo--mobile.elementor-widget-image { display: block; order: 1; width: 100%; flex-basis: auto; }
    .elementor .elementor-element.engravme-story-title.elementor-widget-heading { margin-top: 24px; }
    .elementor .elementor-element.engravme-story-copy.elementor-widget-text-editor { margin-top: 24px; }
    .engravme-story-title .elementor-heading-title, .engravme-story-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-story-button.elementor-widget-button { margin-top: 24px; }

    .elementor .elementor-element.engravme-about-banner.e-con { min-height: 660px; padding: 134px 24px 100px; }
    .elementor .elementor-element.engravme-about-content.e-con { align-items: center; text-align: center; }
    .elementor .elementor-element.engravme-about-title.elementor-widget-heading { margin-top: 24px; }
    .elementor .elementor-element.engravme-about-copy.elementor-widget-text-editor { margin-top: 24px; }
    .engravme-about-title .elementor-heading-title, .engravme-about-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }

    .elementor .elementor-element.engravme-testimonials.e-con { padding: 50px 24px; }
    .elementor .elementor-element.engravme-testimonials-badge.elementor-widget-heading { padding: 7px 13px; }
    .elementor .elementor-element.engravme-testimonials-title.elementor-widget-heading { margin-top: 24px; max-width: 353px; }
    .engravme-testimonials-title .elementor-heading-title, .engravme-testimonial-name .elementor-heading-title, .engravme-testimonial-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-testimonials-carousel { margin-top: 30px; padding-bottom: 66px; }
    .elementor .elementor-element.engravme-testimonial-card.e-con { min-height: 261px; padding: 20px; }
    .elementor .elementor-element.engravme-testimonial-quote.elementor-widget-image { width: 39px; height: 33px; margin-left: 0; }
    .elementor .elementor-element.engravme-testimonial-rating { margin-top: 20px; margin-left: 0; }
    .engravme-testimonial-rating .e-rating { height: 16px; }
    .elementor .elementor-element.engravme-testimonial-rating .e-icon { width: 17px; height: 16px; flex-basis: 17px; }
    .elementor .elementor-element.engravme-testimonial-rating .e-icon-wrapper { height: 16px; }
    .elementor .elementor-element.engravme-testimonial-rating .e-rating .e-icon-wrapper svg { transform: scale(.708333, .695652); transform-origin: top left; }
    .elementor .elementor-element.engravme-testimonial-copy { margin-top: 24px; }
    .elementor .elementor-element.engravme-testimonial-name { margin-top: 32px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button { top: auto; bottom: 0; transform: none; width: 36px; height: 36px; }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: calc(50% - 44px); }
    .elementor .elementor-element.engravme-testimonials-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: calc(50% - 44px); }

    .elementor .elementor-element.engravme-featured.e-con { padding: 50px 24px; }
    .elementor .elementor-element.engravme-featured-badge.elementor-widget-heading { padding: 7px 13px; }
    .elementor .elementor-element.engravme-featured-title.elementor-widget-heading { margin-top: 24px; max-width: 268px; }
    .engravme-featured-title .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-featured-grid.e-con { gap: 8px; margin-top: 30px; }
    .elementor .elementor-element.engravme-featured-card.elementor-widget-image { flex-basis: calc((100% - 8px) / 2); width: calc((100% - 8px) / 2); aspect-ratio: 192 / 131; }
    .engravme-featured-card img { transform: scale(1.02689); }
    .engravme-featured-card--2 img { transform: scale(1.04167); }
    .engravme-featured-card--4 img, .engravme-featured-card--5 img { transform: scale(1.03125); }
    .engravme-featured-card--6 img { transform: scale(1.01042); }
    .elementor .elementor-element.engravme-featured-button.elementor-widget-button { margin-top: 30px; }

    .elementor-location-header .elementor-element.engravme-header-main.e-con {
        padding: 23px 24px;
    }
    .elementor-location-header .elementor-element.engravme-announcement-text.elementor-widget-heading .elementor-heading-title {
        font-size: var(--e-global-typography-engannounce-font-size);
        line-height: var(--e-global-typography-engannounce-line-height);
        letter-spacing: var(--e-global-typography-engannounce-letter-spacing);
    }
    .elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img {
        width: 125px;
        height: 69px;
    }
    .engravme-header-nav .elementor-nav-menu--dropdown {
        margin-top: 23px;
    }

    /* Footer: mobile, with Figma cap-height text trimming. */
    .elementor .elementor-element.engravme-page-cta.e-con { padding: 50px 24px; gap: 24px; }
    .elementor .elementor-element.engravme-page-cta-title.elementor-widget-heading .elementor-heading-title { font-size: var(--e-global-typography-engfootcta-font-size); text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .engravme-page-cta-intro { display: inline; }
    .engravme-page-cta-mobile-break { display: inline; }
    .elementor .engravme-page-cta-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .engravme-page-cta-copy { max-width: 392px; }
    .elementor .elementor-element.engravme-page-cta-buttons.e-con { gap: 12px; }
    .engravme-page-cta-button--primary .elementor-button { min-width: 174px; }
    .engravme-page-cta-button--outline .elementor-button { min-width: 135px; }
    .elementor-location-footer .elementor-element.engravme-footer-body.e-con { padding: 50px 24px 24px; }
    .elementor-location-footer .elementor-element.engravme-footer-brand.e-con { margin-bottom: 40px; }
    .elementor-location-footer .elementor-element.engravme-footer-logo.elementor-widget-image img { width: 154px; height: 106px; object-fit: cover; }
    .elementor-location-footer .elementor-element.engravme-footer-column.e-con { gap: 24px; }
    .elementor-location-footer .elementor-element.engravme-footer-explore.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-company.e-con { width: 50%; margin-bottom: 24px; }
    .elementor-location-footer .engravme-footer-heading .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor-location-footer .elementor-element.engravme-footer-menu.elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
        display: block;
        font-size: var(--e-global-typography-engfoottext-font-size);
        text-box-trim: trim-both;
        text-box-edge: cap alphabetic;
    }
    .elementor-location-footer .elementor-element.engravme-footer-menu.elementor-widget-nav-menu .elementor-nav-menu { display: flex; flex-direction: column; gap: 18px; }
    .elementor-location-footer .elementor-element.engravme-footer-contact.e-con,
    .elementor-location-footer .elementor-element.engravme-footer-hours.e-con { width: 100%; border-top: 1px solid var(--e-global-color-engfooterline); padding-top: 23px; }
    .elementor-location-footer .elementor-element.engravme-footer-contact.e-con { margin-bottom: 24px; }
    .elementor-location-footer .elementor-element.engravme-footer-contact-details.e-con { gap: 24px; }
    .elementor-location-footer .elementor-element.engravme-footer-contact-row.e-con { gap: 8px; }
    .elementor-location-footer .elementor-element.engravme-footer-contact-row--pin.e-con { align-items: center; margin-bottom: 0; }
    .elementor-location-footer .elementor-element.engravme-footer-contact-row--pin .elementor-element.engravme-footer-contact-text { max-width: none; }
    .elementor-location-footer .elementor-element.engravme-footer-icon-desktop { display: none; }
    .elementor-location-footer .elementor-element.engravme-footer-icon-mobile { display: block; flex-basis: 24px; width: 24px; }
    .elementor-location-footer .engravme-footer-text,
    .elementor-location-footer .engravme-footer-text p { font-size: var(--e-global-typography-engfoottext-font-size); line-height: var(--e-global-typography-engfoottext-line-height); }
    .elementor-location-footer .engravme-footer-text p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor-location-footer .elementor-element.engravme-footer-hours.e-con { gap: 24px; }
    .elementor-location-footer .elementor-element.engravme-footer-hours-details.e-con { gap: 24px; padding-bottom: 23px; border-bottom: 1px solid var(--e-global-color-engfooterline); }
    .elementor-location-footer .elementor-element.engravme-footer-bottom.e-con { flex-direction: column; align-items: flex-start; border-top: 0; padding-top: 0; margin-top: 24px; gap: 24px; }
    .elementor-location-footer .engravme-footer-copyright p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor-location-footer .engravme-footer-legal .elementor-item { display: block; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor-location-footer .engravme-footer-legal .elementor-nav-menu > li:first-child::after { top: -9px; }
    .elementor-location-footer .elementor-element.engravme-footer-menu.elementor-widget-nav-menu ul.elementor-nav-menu::after { display: none; }
    .elementor-location-footer .elementor-element.engravme-footer-company.e-con { padding-left: 4px; }
    /* Home banner: 440px mobile source; device status bar is not part of the website. */
    .elementor .elementor-element.engravme-home-banner.e-con { min-height: 879px; padding: 134px 24px 317px; }
    .elementor .elementor-element.engravme-hero-content.e-con { max-width: none; align-items: center; text-align: center; }
    .elementor .elementor-element.engravme-hero-badge.elementor-widget-heading { padding: 7px 13px; }
    .elementor .elementor-element.engravme-hero-title.elementor-widget-heading { margin-top: 24px; }
    .elementor .elementor-element.engravme-hero-title.elementor-widget-heading .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-hero-copy.elementor-widget-text-editor { max-width: 392px; margin-top: 24px; }
    .engravme-hero-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-hero-buttons.e-con { flex-direction: column; gap: 12px; margin-top: 24px; }
    .engravme-hero-button .elementor-button { width: 211px; min-width: 211px; }
    /* What We Create: independent 440px mobile source. */
    .elementor .elementor-element.engravme-create.e-con { padding: 50px 0; }
    .elementor .elementor-element.engravme-create-intro.e-con { padding-inline: 24px; align-items: center; text-align: center; }
    .elementor .elementor-element.engravme-create-badge.elementor-widget-heading { padding: 7px 13px; margin-left: 0; }
    .engravme-create-badge .elementor-heading-title { margin-right: calc(var(--e-global-typography-engherolabel-letter-spacing) * -1); }
    .elementor .elementor-element.engravme-create-intro-row.e-con { margin-top: 24px; flex-direction: column; align-items: center; }
    .elementor .elementor-element.engravme-create-title.elementor-widget-heading { width: 100%; }
    .elementor .elementor-element.engravme-create-title .elementor-heading-title { font-size: var(--e-global-typography-engsectiontitle-font-size); line-height: var(--e-global-typography-engsectiontitle-line-height); text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-create-copy.elementor-widget-text-editor { width: 100%; padding: 0; margin-top: 24px; }
    .engravme-create-copy::before { display: none; }
    .engravme-create-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-create-carousel.e-con { --engravme-visible: 2; --engravme-card-gap: 8px; padding-inline: 24px; margin-top: 30px; }
    .elementor .elementor-element.engravme-create-media.e-con { aspect-ratio: 192 / 291; padding: 10px; }
    .elementor .elementor-element.engravme-create-photo--desktop.elementor-widget-image { display: none; }
    .elementor .elementor-element.engravme-create-photo--mobile.elementor-widget-image { display: block; }
    .elementor .elementor-element.engravme-create-card-title.elementor-widget-heading { min-height: 40px; }
    .engravme-create-card-title .elementor-heading-title { max-width: 100%; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-create-learn.elementor-widget-button { margin-top: 23px; }
    .engravme-create .elementor .elementor-element.engravme-create-learn .elementor-button { padding-bottom: 5px; }
    .engravme-create-learn .elementor-button-text { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    /* Crop the dynamic category thumbnails to the independent Figma mobile masks. */
    .engravme-create-loop .engravme-create-card--1 .engravme-create-photo,
    .engravme-create-loop .engravme-create-card--2 .engravme-create-photo { position: relative; overflow: hidden; }
    .engravme-create-loop .engravme-create-card--1 .engravme-create-photo img { position: absolute; left: 50%; top: 50%; width: 116.279%; height: 102.952%; max-width: none; transform: translate(-50%, -50%); }
    .engravme-create-loop .engravme-create-card--2 .engravme-create-photo img { position: absolute; left: 50%; top: 50%; width: 118.023%; height: 104.428%; max-width: none; transform: translate(-50%, -50%); }
    .elementor .elementor-element.engravme-create-intro > .e-con-inner { align-items: center; }
    /* Materials: two-column 440px Figma layout on a black background. */
    .elementor .elementor-element.engravme-materials.engravme-boxed.e-con { padding: 50px 24px 40px; background-color: var(--e-global-color-engink); }
    .elementor .elementor-element.engravme-materials-badge.elementor-widget-heading { padding: 7px 13px; }
    .elementor .elementor-element.engravme-materials-title.elementor-widget-heading { margin-top: 24px; }
    .engravme-materials-title .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-material-grid.e-con { gap: 8px; margin-top: 30px; }
    .elementor .elementor-element.engravme-material-card.e-con:nth-child(n) { flex-basis: calc((100% - 8px) / 2); aspect-ratio: 192 / 155; padding: 0 8px 20px; }
    .engravme-material-image img { object-position: center bottom; }
    .engravme-material-card--wood .engravme-material-image img { position: absolute; left: 50%; bottom: 0; width: 102.604%; height: 110.968%; max-width: none; transform: translateX(-50%); }
    .engravme-material-name .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-material-inquiry.e-con { margin-top: 24px; }
    .elementor .elementor-element.engravme-material-prompt.elementor-widget-text-editor { max-width: 304px; }
    .engravme-material-prompt p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-material-button.elementor-widget-button { margin-top: 24px; }
    .elementor .elementor-element.engravme-process.e-con { padding: 50px 24px 60px; }
    .engravme-process::before { width: 789px; height: 1336px; left: calc(50% - 394px); top: 0; background-image: url("https://engravme.com/wp-content/uploads/2026/10/engravme-process-background-mobile.webp"); }
    .elementor .elementor-element.engravme-process-badge.elementor-widget-heading { padding: 7px 13px; }
    .elementor .elementor-element.engravme-process-title { margin-top: 24px; }
    .engravme-process-title .elementor-heading-title, .engravme-process-name .elementor-heading-title, .engravme-process-number .elementor-heading-title, .engravme-process-copy p { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-process-steps.e-con { display: flex; flex-direction: column; align-items: center; gap: 90px; margin-top: 30px; }
    .elementor .elementor-element.engravme-process-step.e-con { width: 221px; max-width: 100%; }
    .elementor .elementor-element.engravme-process-circle.e-con { width: 72px; height: 72px; min-height: 72px; margin-top: 16px; background-image: url("https://engravme.com/wp-content/uploads/2026/10/engravme-process-ring-mobile.svg"); }
    .elementor .elementor-element.engravme-process-disc.e-con { width: 56px; height: 56px; min-height: 56px; }
    .engravme-process-icon { transform: scale(.736842); }
    .engravme-process-step:nth-child(3) .engravme-process-icon { transform: scale(.777778); }
    .engravme-process-step:nth-child(4) .engravme-process-icon { transform: scale(.823529); }
    .elementor .elementor-element.engravme-process-name { margin-top: 24px; }
    .elementor .elementor-element.engravme-process-step:nth-child(n) .engravme-process-copy { margin-top: 16px; max-width: 221px; }
    .engravme-process-step:not(:last-child)::after { display: block; top: auto; bottom: -72px; left: 50%; height: 54px; width: 1px; background: repeating-linear-gradient(to bottom,var(--e-global-color-engink) 0 5px,transparent 5px 10px); }
    .elementor .elementor-element.engravme-workshop.e-con { padding: 0; }
    .elementor .elementor-element.engravme-workshop > .e-con-inner { flex-direction: column; }
    .elementor .elementor-element.engravme-workshop-content.e-con { width: 100%; order: 0; padding: 40px 24px 30px; align-items: center; }
    .elementor .elementor-element.engravme-workshop-badge.elementor-widget-heading { padding: 7px 13px; margin-left: 0; }
    .engravme-workshop-badge .elementor-heading-title { white-space: nowrap; }
    .elementor .elementor-element.engravme-workshop-title.elementor-widget-heading { margin: 24px 0 0; max-width: 319px; text-align: center; }
    .engravme-workshop-title .elementor-heading-title, .engravme-workshop-copy p, .engravme-workshop-feature-title .elementor-heading-title { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-workshop-copy.elementor-widget-text-editor { margin-top: 24px; text-align: center; }
    .elementor .elementor-element.engravme-workshop-features.e-con { width: 100%; margin: 30px 0 0; gap: 32px; }
    .elementor .elementor-element.engravme-workshop-feature.e-con { gap: 8px; min-height: 24px; }
    .elementor .elementor-element.engravme-workshop-check { width: 24px; }
    .elementor .elementor-element.engravme-workshop-check img { max-width: 100%; height: auto; }
    .engravme-workshop-feature:not(:last-child)::after { top: calc(100% + 16px); }
    .elementor .elementor-element.engravme-workshop-media.e-con { width: 100%; order: 1; aspect-ratio: 440 / 350; overflow: hidden; }
    .elementor .elementor-element.engravme-workshop-photo { inset: 0; width: 100%; height: 100%; }
    .elementor .elementor-element.engravme-workshop-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .elementor .elementor-element.engravme-business.e-con { padding: 50px 24px; }
    .elementor .elementor-element.engravme-business-badge.elementor-widget-heading { padding: 7px 13px; background: var(--e-global-color-engherotag); }
    .elementor .elementor-element.engravme-business-title.elementor-widget-heading { margin-top: 24px; max-width: 319px; }
    .elementor .elementor-element.engravme-solution-image img[src*="engravme-solution-corporate-awards"] { left: -3.061%; top: -.361%; width: 106.378%; height: 100.361%; }
    .engravme-business-title .elementor-heading-title, .engravme-business-intro p, .engravme-solution-title .elementor-heading-title, .engravme-solution-copy, .engravme-solution-copy p, .engravme-solution-list li { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
    .elementor .elementor-element.engravme-business-intro { margin-top: 24px; }
    .elementor .elementor-element.engravme-business-carousel { margin-top: 30px; padding-bottom: 66px; }
    .elementor .elementor-element.engravme-solution-card.e-con { flex-direction: column; min-height: 0; background: var(--e-global-color-engbusinessmobile); }
    .elementor .elementor-element.engravme-solution-media.e-con { width: 100%; aspect-ratio: 392 / 277; }
    .elementor .elementor-element.engravme-solution-content.e-con { width: 100%; padding: 20px 20px 30px; }
    .elementor .elementor-element.engravme-solution-copy { margin-top: 20px; }
    .elementor .elementor-element.engravme-solution-list-widget { margin-top: 24px; }
    .engravme-solution-list { margin-left: 0; max-width: none; padding-left: 20px; }
    .engravme-solution-list li + li { margin-top: 24px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button { top: auto; bottom: 0; transform: none; width: 36px; height: 36px; --arrow-size: 36px; }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-prev { left: calc(50% - 44px); }
    .elementor .elementor-element.engravme-business-carousel.elementor-widget-loop-carousel .elementor-swiper-button-next { right: calc(50% - 44px); }
    .elementor .elementor-element.engravme-business-actions.e-con { flex-direction: column; align-items: center; gap: 12px; margin-top: 30px; }
    .engravme-business-button .elementor-button { padding: 9.5px 23px; }
}

@media (max-width: 400px) {
    .elementor .elementor-element.engravme-testimonials-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }

    .elementor .elementor-element.engravme-featured-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }

    .elementor-location-header .elementor-element.engravme-announcement-text.elementor-widget-heading .elementor-heading-title {
        font-size: calc(var(--e-global-typography-engannounce-font-size) * 0.8);
        letter-spacing: calc(var(--e-global-typography-engannounce-letter-spacing) * 0.8);
    }

    /* Footer: narrow phones. */
    .elementor .elementor-element.engravme-page-cta-title.elementor-widget-heading .elementor-heading-title { font-size: calc(var(--e-global-typography-engfootcta-font-size) * .8); }
    .elementor .elementor-element.engravme-page-cta-buttons.e-con { flex-wrap: wrap; }
    .elementor .elementor-element.engravme-page-cta-title.elementor-widget-heading .elementor-heading-title { line-height: calc(var(--e-global-typography-engfootcta-line-height) * .84); }
    .elementor-location-footer .elementor-element.engravme-footer-menu.elementor-widget-nav-menu .elementor-nav-menu .elementor-item { font-size: calc(var(--e-global-typography-engfoottext-font-size) * .928571); }
    /* Home banner: narrow phones. */
    .elementor .elementor-element.engravme-hero-title.elementor-widget-heading .elementor-heading-title { font-size: calc(var(--e-global-typography-engherotitle-font-size) * .8); line-height: calc(var(--e-global-typography-engherotitle-line-height) * .84); }
    .elementor .elementor-element.engravme-create-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
    .engravme-create .elementor .elementor-element.engravme-create-card-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engcollectiontitle-font-size) * .85); line-height: calc(var(--e-global-typography-engcollectiontitle-line-height) * .88); }
    .elementor .elementor-element.engravme-create-card-title.elementor-widget-heading { min-height: 60px; }
    .elementor .elementor-element.engravme-materials-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
    .elementor .elementor-element.engravme-material-name .elementor-heading-title { font-size: calc(var(--e-global-typography-engmaterialtitle-font-size) * .85); }
    .elementor .elementor-element.engravme-process-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
    .elementor .elementor-element.engravme-workshop-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
    .elementor .elementor-element.engravme-business-title .elementor-heading-title { font-size: calc(var(--e-global-typography-engsectiontitle-font-size) * .84); line-height: calc(var(--e-global-typography-engsectiontitle-line-height) * .86); }
}

@media (prefers-reduced-motion: reduce) {
    body .elementor-location-footer .engravme-footer-social a.elementor-icon { scale: none !important; transition: none !important; }

    body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]) { scale: none !important; transition: none !important; }

    body .elementor .elementor-button,
    body .elementor .elementor-button .elementor-button-icon,
    body .engravme-contact-form .wpforms-container button[type=submit] { transition: none !important; translate: none !important; filter: none !important; }

    .engravme-material-card, .engravme-material-card::after { transition: none; }
    .engravme-material-card:hover { transform: none; }
}

/* Respect visitors who prefer reduced motion. */
@media (prefers-reduced-motion: reduce) {
    body .elementor-location-footer .engravme-footer-social a.elementor-icon { scale: none !important; transition: none !important; }

    body .elementor :is(.elementor-button, button, .elementor-menu-toggle, .elementor-swiper-button, [role="button"]) { scale: none !important; transition: none !important; }

    body .elementor .elementor-button,
    body .elementor .elementor-button .elementor-button-icon,
    body .engravme-contact-form .wpforms-container button[type=submit] { transition: none !important; translate: none !important; filter: none !important; }

    body .elementor-location-header .elementor-element.engravme-header-main.e-con,
    body .elementor-location-header .elementor-element.engravme-header-logo.elementor-widget-image img { transition: none; }
}
