.elementor-kit-8{--e-global-color-primary:#2F5BFF;--e-global-color-secondary:#FF7A1A;--e-global-color-text:#565B73;--e-global-color-accent:#14162B;--e-global-color-47c2e0e:#1F45E0;--e-global-color-1051b52:#FF9A4D;--e-global-color-34b5f1a:#F3F6FF;--e-global-color-97bed58:#E6ECFF;--e-global-color-0fe4233:#E3E7F2;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Printstr global CSS (Phase 1)
   Paste into: Elementor > Site Settings > Custom CSS  (or Appearance > Customize > Additional CSS)
   Colors and fonts below mirror Site Settings > Global Colors / Global Fonts.
   ========================================================================== */
:root{
  --ps-blue:#2F5BFF;        /* Innovation  - primary */
  --ps-blue-ink:#1F45E0;
  --ps-orange:#FF7A1A;      /* Creativity  - secondary */
  --ps-orange-light:#FF9A4D;
  --ps-ink:#14162B;         /* Midnight - text, footer, hero start */
  --ps-gray:#565B73;        /* Body text */
  --ps-line:#E3E7F2;
  --ps-tint:#F3F6FF;        /* Panels */
  --ps-blue-tint:#E6ECFF;   /* Icon circles, pills */
  --ps-orange-tint:#FFEEDF;
  --ps-radius:16px;
  --ps-shadow:0 1px 2px rgba(20,22,43,.04),0 10px 28px rgba(20,22,43,.07);
  --ps-display:"Poppins",system-ui,sans-serif;
  --ps-body:"Figtree",system-ui,sans-serif;
}

/* ---------- headline accent word ("So do we.", "More.") ---------- */
.ps-hl{color:var(--ps-blue)}
.ps-hero .ps-hl{color:var(--ps-orange-light)}

/* ---------- eyebrow pill (Heading widget, class ps-eyebrow) ---------- */
.ps-eyebrow .elementor-heading-title{display:inline-block;background:var(--ps-blue-tint);color:var(--ps-blue-ink);border-radius:99px;padding:5px 12px;font:600 12px/1.2 var(--ps-display);letter-spacing:.06em;text-transform:uppercase}
.ps-hero .ps-eyebrow .elementor-heading-title{background:rgba(255,255,255,.14);color:#fff}

/* ---------- hero (Container, class ps-hero) ---------- */
.ps-hero{overflow:hidden}
/* cut-out sits on the bottom edge of the hero and may bleed off the right edge */
.ps-hero .ps-hero-cut{margin-top:auto}
.ps-hero .ps-hero-cut img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:bottom right}
@media (max-width:767px){.ps-hero .ps-hero-cut img{max-height:340px;object-position:bottom center}}

/* ---------- cards ---------- */
.ps-card{background:#fff;border:1px solid var(--ps-line);border-radius:var(--ps-radius);box-shadow:var(--ps-shadow);transition:border-color .15s}
.ps-card:hover{border-color:var(--ps-blue)}
.ps-cat .elementor-image-box-img img{height:160px;width:100%;object-fit:contain}
.ps-cat .elementor-image-box-title a{color:inherit}
.ps-photo img{border-radius:12px;width:100%;object-fit:cover}

/* ---------- steps (Container, class ps-steps, holding Icon Box widgets) ---------- */
.ps-steps{counter-reset:psstep}
.ps-steps > .e-con-inner > .elementor-widget-icon-box,
.ps-steps > .elementor-widget-icon-box{counter-increment:psstep;position:relative}
.ps-steps .elementor-icon-box-icon{position:relative}
.ps-steps .elementor-icon-box-icon::after{content:counter(psstep);position:absolute;left:44px;top:-6px;width:24px;height:24px;border-radius:50%;background:var(--ps-orange);color:#fff;font:700 12px/24px var(--ps-display);text-align:center}
@media (min-width:1025px){
  .ps-steps .elementor-widget-icon-box:not(:last-child)::after{content:"";position:absolute;top:30px;left:76px;right:-12px;border-top:2px dotted rgba(47,91,255,.45)}
}

/* ---------- strips of icon + label (Icon List inline, class ps-strip) ---------- */
.ps-strip .elementor-icon-list-icon{background:var(--ps-blue-tint);border-radius:50%;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}

/* ---------- map (Container, class ps-map) ---------- */
.ps-map{background-color:var(--ps-tint);background-image:radial-gradient(rgba(47,91,255,.35) 1.3px,transparent 1.4px);background-size:12px 12px;border-radius:var(--ps-radius)}

/* ---------- header list button (HTML widget) ---------- */
.ps-mylist{display:inline-flex;align-items:center;gap:8px;background:var(--ps-blue);color:#fff!important;border-radius:999px;padding:9px 16px;font:600 15px/1 var(--ps-display);text-decoration:none;box-shadow:0 8px 18px rgba(47,91,255,.25)}
.ps-list-count{min-width:22px;height:22px;border-radius:99px;background:var(--ps-orange);color:#fff;display:inline-grid;place-items:center;font-size:12px;padding:0 6px}

/* ---------- Products page filter (HTML widget, id ps-filter) ---------- */
#ps-filter .ps-search{display:flex;align-items:center;gap:8px;border:1.5px solid var(--ps-line);border-radius:12px;padding:10px 14px;max-width:560px;background:#fff}
#ps-filter .ps-search input{border:0;outline:0;flex:1;font:16px var(--ps-body);background:transparent;padding:0}
#ps-filter .ps-search:focus-within{border-color:var(--ps-blue)}
#ps-filter .ps-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#ps-filter .ps-chips button{border:1.5px solid var(--ps-line);background:#fff;border-radius:99px;padding:7px 14px;font:500 14px var(--ps-body);color:var(--ps-ink);cursor:pointer}
#ps-filter .ps-chips button[aria-pressed="true"]{background:var(--ps-blue);border-color:var(--ps-blue);color:#fff}

/* ---------- hidden holder for the quote form (footer container, class ps-quote-holder) ---------- */
.ps-quote-holder{display:none!important}

/* ==========================================================================
   Add-to-list popup, drawer and toast (rendered by printstr-list.js)
   ========================================================================== */
.ps-root,.ps-root *{box-sizing:border-box}
.ps-root{font-family:var(--ps-body);color:var(--ps-ink)}
.ps-root [hidden]{display:none!important}
.ps-title{font:800 24px/1.1 var(--ps-display);margin:0;color:var(--ps-ink);letter-spacing:-.01em}
.ps-eyebrow{font:600 11px/1 var(--ps-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ps-blue-ink)}
.ps-muted{color:var(--ps-gray);font-size:14px;margin:0 0 12px}
.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ps-blue);color:#fff;border:2px solid var(--ps-blue);border-radius:999px;padding:12px 22px;font:600 15px/1 var(--ps-display);cursor:pointer;text-decoration:none}
.ps-btn--ghost{background:transparent;color:var(--ps-blue-ink)}
.ps-btn--sm{padding:8px 14px;font-size:13px}
.ps-btn--block{width:100%}
.ps-link{background:none;border:0;color:var(--ps-gray);text-decoration:underline;cursor:pointer;font-size:13px;padding:4px}
.ps-x{position:absolute;top:12px;right:12px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ps-gray);padding:6px}
.ps-scrim{position:fixed;inset:0;background:rgba(20,22,43,.55);z-index:99998;display:grid;place-items:center;padding:16px}
.ps-modal{position:relative;background:#fff;border-radius:18px;width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;display:grid;gap:10px}
.ps-form{display:grid;gap:14px;margin-top:8px}
.ps-f{display:grid;gap:6px;font:600 14px var(--ps-body)}
.ps-f em{font-style:normal;font-weight:400;color:var(--ps-gray)}
.ps-f select,.ps-f textarea{width:100%;border:1.5px solid var(--ps-line);border-radius:10px;padding:11px 12px;font:15px var(--ps-body);background:#fff;color:var(--ps-ink)}
.ps-f select:focus,.ps-f textarea:focus{border-color:var(--ps-blue);outline:0}
.ps-qty{display:inline-flex;border:1.5px solid var(--ps-line);border-radius:10px;width:max-content;overflow:hidden}
.ps-qty button{background:#fff;border:0;width:44px;height:44px;font-size:20px;cursor:pointer;color:var(--ps-ink)}
.ps-qty input{width:84px;border:0;border-inline:1.5px solid var(--ps-line);text-align:center;font:600 16px var(--ps-body)}
.ps-drop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1.5px dashed rgba(47,91,255,.4);background:var(--ps-tint);border-radius:12px;padding:16px;color:var(--ps-gray);font-weight:400;cursor:pointer;position:relative}
.ps-drop.has{border-style:solid;border-color:var(--ps-blue);color:var(--ps-ink)}
.ps-drop input{position:absolute;width:1px;height:1px;opacity:0}
.ps-actions{display:flex;gap:10px}
.ps-actions .ps-btn{flex:1}
.ps-drawer-scrim{position:fixed;inset:0;background:rgba(20,22,43,.55);z-index:99998}
.ps-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:99999;display:flex;flex-direction:column}
.ps-dh{position:relative;padding:22px 24px;border-bottom:1px solid var(--ps-line)}
.ps-dbody,.ps-quote{flex:1;overflow:auto;padding:16px 24px;display:grid;gap:12px;align-content:start}
.ps-dfoot{padding:18px 24px;border-top:1px solid var(--ps-line);display:grid;gap:10px}
.ps-item{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--ps-line)}
.ps-item__meta{display:grid;gap:2px;min-width:0}
.ps-item__meta b{font-weight:600}
.ps-item__meta small{color:var(--ps-gray);overflow-wrap:anywhere}
.ps-empty{text-align:center;color:var(--ps-gray);padding:32px 0;display:grid;gap:12px;justify-items:center}
.ps-empty--left{text-align:left;justify-items:start}
.ps-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ps-ink);color:#fff;border-radius:99px;padding:12px 18px;display:flex;gap:14px;align-items:center;z-index:99999;font:500 15px var(--ps-body);max-width:calc(100% - 32px)}
.ps-toast button{background:none;border:0;color:#fff;text-decoration:underline;font-weight:600;cursor:pointer}
/* Elementor form when shown inside the drawer */
.ps-quote .elementor-widget-form{margin:0}
.ps-quote .elementor-field-group{margin-bottom:12px}
/* hide the artwork upload in the quote form: files are attached automatically from the list */
.ps-quote .elementor-field-group-artwork,.ps-quote .elementor-field-group-list_summary{display:none}
/* numbered "what happens next" list on For printers (Icon List, class ps-nextsteps) */
.ps-nextsteps{counter-reset:psn}
.ps-nextsteps .elementor-icon-list-item{counter-increment:psn}
.ps-nextsteps .elementor-icon-list-icon{display:none!important}
.ps-nextsteps .elementor-icon-list-item::before{content:counter(psn);flex:none;width:28px;height:28px;border-radius:50%;background:var(--ps-orange);color:#fff;font:700 13px/28px var(--ps-display);text-align:center;margin-right:12px}
/* Products grid cards: image area on light tint, fixed height */
.ps-pcard-img img{height:170px!important;width:100%;object-fit:contain;background:var(--ps-tint);border-radius:12px;padding:14px}
.ps-pcard-img.ps-photo img,.ps-cat .ps-pcard-img img[src*="photo_"]{object-fit:cover;padding:0}

/* ---------- footer tagline lines up under the wordmark (marque width + gap at 130px logo) ---------- */
.ps-tagline{padding-left:30px}
.ps-tagline p{margin:0}
/* ---------- network map image ---------- */
.ps-map-img img{border-radius:0!important}
/* ---------- floating "My list" pill (added by printstr-list.js once the list has items) ---------- */
.ps-fab{position:fixed;right:20px;bottom:20px;z-index:99990;display:inline-flex;align-items:center;gap:8px;background:var(--ps-blue);color:#fff!important;border-radius:999px;padding:11px 16px;font:600 15px/1 var(--ps-display);text-decoration:none;box-shadow:0 10px 24px rgba(47,91,255,.35)}
.ps-fab[hidden]{display:none!important}/* End custom CSS */