
/* ---- Modix Use Cases: scoped base (safe inside WordPress / GeneratePress / Elementor) ---- */
#mxcs{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;color:#151922;background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;width:100%;overflow-x:hidden;text-align:left}
#mxcs, #mxcs *, #mxcs *::before, #mxcs *::after{box-sizing:border-box}
#mxcs *{font-family:inherit!important}
#mxcs h1,#mxcs h2,#mxcs h3,#mxcs h4,#mxcs p,#mxcs ul,#mxcs li,#mxcs figure,#mxcs table{margin:0;padding:0;font-family:inherit!important;text-transform:none;letter-spacing:normal}
#mxcs ul{list-style:none}
#mxcs a{text-decoration:none}
#mxcs a:hover,#mxcs a:focus{text-decoration:none}
#mxcs button{cursor:pointer;line-height:normal;text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;background-image:none}
#mxcs .button,#mxcs a.button,#mxcs .case-link,#mxcs .contact-button,#mxcs .quote-submit{text-transform:none!important;letter-spacing:normal!important;text-decoration:none!important;background-image:none}
#mxcs img,#mxcs video{max-width:100%;border:0;height:auto}
#mxcs .quote-form select{background:#fff;border:1px solid #dedfe3;border-radius:6px;color:#151922;font:inherit;font-size:15px;padding:13px 14px;width:100%;-webkit-appearance:menulist;appearance:menulist}
#mxcs .quote-form input{background:#fff;border:1px solid #dedfe3;border-radius:6px;color:#151922;font:inherit;font-size:15px;padding:13px 14px;width:100%}
body.mxc-modal-open{overflow:hidden}
/* ---- break out of the Elementor + GeneratePress containers so the section runs edge to edge ---- */
.elementor-section:has(#mxcs)>.elementor-container{max-width:none!important;width:100%!important}
.elementor-column:has(#mxcs)>.elementor-widget-wrap{padding:0!important}
.elementor-widget:has(#mxcs){margin:0!important;width:100%!important}
.e-con:has(#mxcs),.e-con:has(#mxcs)>.e-con-inner{padding:0!important;max-width:none!important;width:100%!important;--content-width:100%;--width:100%;--padding-left:0;--padding-right:0;--padding-top:0;--padding-bottom:0}
.site.grid-container:has(#mxcs),.site-content:has(#mxcs),.content-area:has(#mxcs),.inside-article:has(#mxcs),.entry-content:has(#mxcs){max-width:none!important;padding:0!important;margin-left:0!important;margin-right:0!important}
#mxcs{--red:#c90812; --red-dark:#a9040d; --ink:#151922; --muted:#69707a; --line:#dedfe3; --page:#fbfbfa; --white:#fff;}
#mxcs, #mxcs *, #mxcs *::before, #mxcs *::after{box-sizing:border-box;}
#mxcs{margin:0; background:#fbfbfa; color:#151922; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;}
body.mxc-modal-open{overflow:hidden;}
#mxcs .case-main{max-width:1100px; margin:0 auto; padding:34px 28px 64px;}
#mxcs a{color:#c90812; font-weight:800; text-decoration:none;}
#mxcs .back{display:inline-block; margin-bottom:26px;}
#mxcs h1{font-size:clamp(34px,5vw,58px); line-height:1.04; margin:0 0 12px;}
#mxcs .summary{color:#555d68; font-size:21px; line-height:1.4; margin:0 0 26px;}
#mxcs .media{aspect-ratio:16/9; background:#f0f0f1; border:1px solid #dedfe3; border-radius:10px; display:grid; margin:26px 0; min-height:0; overflow:hidden; place-items:center; position:relative;}
#mxcs img, #mxcs video, #mxcs iframe{border:0; display:block; max-height:680px; max-width:100%; min-height:0; object-fit:contain; width:100%;}
#mxcs .media > img{height:100%; max-height:none; object-fit:cover; object-position:center;}
#mxcs img, #mxcs video{height:auto;}
#mxcs iframe{aspect-ratio:16/9; height:auto;}
#mxcs .video-note{background:rgba(255,255,255,.94); border-radius:999px; bottom:18px; color:#c90812; font-size:14px; font-weight:850; margin:0; padding:9px 14px; position:absolute;}
#mxcs .placeholder{color:#5f6670; font-size:26px; font-weight:850; padding:60px; text-align:center;}
#mxcs .tags{display:flex; flex-wrap:wrap; gap:10px; margin:24px 0;}
#mxcs .tags span{border:1px solid rgba(201,8,18,.32); border-radius:999px; color:#c90812; font-size:13px; font-weight:850; padding:8px 12px;}
#mxcs .description, #mxcs .story, #mxcs .case-table, #mxcs .gallery-grid figure{background:#fff; border:1px solid #dedfe3; border-radius:10px;}
#mxcs .description{font-size:18px; line-height:1.58; padding:24px;}
#mxcs .story{margin-top:20px; padding:28px;}
#mxcs .story h2, #mxcs .image-gallery h2{font-size:26px; margin:0 0 18px;}
#mxcs .story p{color:#343a43; font-size:18px; line-height:1.6; margin:0;}
#mxcs .story p + p{margin-top:14px;}
#mxcs .image-gallery{margin-top:22px;}
#mxcs .gallery-grid{align-items:start; display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr));}
#mxcs .gallery-grid figure{aspect-ratio:4/3; margin:0; overflow:hidden;}
#mxcs .gallery-grid figure.gallery-portrait{aspect-ratio:2/3;}
#mxcs .gallery-grid img{height:100%; max-height:none; object-fit:cover; object-position:center; padding:0; width:100%;}
#mxcs .case-table{border-collapse:separate; border-spacing:0; margin-top:20px; overflow:hidden; width:100%;}
#mxcs .case-table th, #mxcs .case-table td{border-bottom:1px solid #dedfe3; padding:18px 20px; text-align:left; vertical-align:top;}
#mxcs .case-table tr:last-child th, #mxcs .case-table tr:last-child td{border-bottom:0;}
#mxcs .case-table th{background:#f6f6f7; color:#c90812; font-size:13px; letter-spacing:.03em; text-transform:uppercase; width:190px;}
#mxcs .case-table td{color:#343a43; font-size:17px; line-height:1.48;}
#mxcs .printer-link{border:1px solid rgba(201,8,18,.32); border-radius:999px; display:inline-flex; font-size:14px; margin-left:10px; padding:7px 12px; white-space:nowrap;}
#mxcs .printer-recommendations{margin-top:34px;}
#mxcs .recommendations-heading{align-items:end; display:flex; gap:20px; justify-content:space-between; margin-bottom:14px;}
#mxcs .recommendations-heading p{color:#c90812; font-size:13px; font-weight:850; letter-spacing:.04em; margin:0; text-transform:uppercase;}
#mxcs .recommendations-heading h2{font-size:28px; line-height:1.15; margin:0;}
#mxcs .printer-grid{display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr));}
#mxcs .printer-card{background:#fff; border:1px solid #dedfe3; border-radius:8px; color:#151922; display:block; min-width:0; overflow:hidden; text-decoration:none; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;}
#mxcs .printer-card:hover{border-color:rgba(201,8,18,.45); box-shadow:0 14px 34px rgba(20,24,32,.12); transform:translateY(-2px);}
#mxcs .printer-image-wrap{align-items:center; background:#f7f7f7; border-bottom:1px solid #dedfe3; display:flex; min-height:178px; overflow:hidden; padding:8px; position:relative;}
#mxcs .printer-image-wrap img{aspect-ratio:1.6; height:auto; max-height:178px; max-width:100%; object-fit:contain; width:100%;}
#mxcs .printer-image-wrap span{background:#c90812; border-radius:2px; color:#fff; font-size:10px; font-weight:900; letter-spacing:.04em; padding:5px 8px; position:absolute; right:10px; text-transform:uppercase; top:10px;}
#mxcs .printer-copy{padding:18px 18px 20px;}
#mxcs .printer-copy h3{color:#151922; font-size:24px; letter-spacing:0; line-height:1; margin:0 0 10px;}
#mxcs .printer-copy p{color:#69707a; font-size:13px; line-height:1.35; margin:0 0 13px; min-height:36px;}
#mxcs .printer-build{color:#151922; font-size:13px; font-weight:800; margin-bottom:14px;}
#mxcs .printer-copy strong{color:#c90812; display:block; font-size:17px;}
#mxcs .contact-band{background:#c90812; margin-top:28px;}
#mxcs .contact-inner{align-items:center; color:#fff; display:grid; gap:18px; grid-template-columns:1fr auto; margin:0 auto; max-width:1400px; min-height:70px; padding:10px 34px;}
#mxcs .contact-inner h2{font-size:22px; line-height:1; margin:0 0 4px;}
#mxcs .contact-inner p{font-size:14px; font-weight:550; margin:0;}
#mxcs .contact-button{background:#fff; border:0; border-radius:6px; color:#c90812; cursor:pointer; font:inherit; font-size:15px; font-weight:900; padding:14px 42px;}
#mxcs .floating-help{align-items:center; background:#c90812; border:0; border-radius:999px; bottom:24px; box-shadow:0 14px 36px rgba(15,20,30,.24); color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-weight:900; gap:10px; height:54px; justify-content:flex-start; overflow:hidden; padding:0 0 0 54px; position:fixed; right:24px; transition:width .18s ease, background-color .18s ease, box-shadow .18s ease, opacity .16s ease, transform .16s ease; width:54px; z-index:30;}
#mxcs .floating-help::before{background-color:transparent; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-8 8H7l-4 3v-6a8 8 0 1 1 18-5Z'/%3E%3Cpath d='M8 11h8'/%3E%3Cpath d='M8 15h5'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; background-size:28px 28px; content:""; height:54px; left:0; position:absolute; top:0; width:54px;}
#mxcs .floating-help.is-hidden{opacity:0; pointer-events:none; transform:translateY(12px);}
#mxcs .floating-help:hover, #mxcs .floating-help:focus-visible{background:#a9040d; box-shadow:0 18px 44px rgba(15,20,30,.28); outline:0; width:156px;}
#mxcs .help-label{font-size:15px; opacity:0; padding-right:18px; transform:translateX(-8px); transition:opacity .14s ease, transform .16s ease; white-space:nowrap;}
#mxcs .floating-help:hover .help-label, #mxcs .floating-help:focus-visible .help-label{opacity:1; transform:translateX(0);}
#mxcs .modal{display:none; inset:0; position:fixed; z-index:80;}
#mxcs .modal.is-open{display:block;}
#mxcs .modal-backdrop{background:rgba(16,18,23,.62); border:0; cursor:pointer; inset:0; position:absolute; width:100%;}
#mxcs .modal-close{align-items:center; background:#fff; border:1px solid #dedfe3; border-radius:999px; color:#151922; cursor:pointer; display:flex; font-size:30px; height:42px; justify-content:center; line-height:1; position:absolute; right:16px; top:16px; width:42px; z-index:4;}
#mxcs .quote-panel{background:#fff; border-radius:10px; box-shadow:0 24px 80px rgba(0,0,0,.35); display:grid; gap:26px; grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr); left:50%; max-height:calc(100vh - 32px); max-width:min(920px,calc(100vw - 48px)); overflow-y:auto; padding:42px; position:absolute; top:50%; transform:translate(-50%,-50%); width:100%;}
#mxcs .quote-panel.is-thanks{grid-template-columns:1fr; max-width:min(560px,calc(100vw - 48px));}
#mxcs .quote-panel.is-thanks .quote-copy, #mxcs .quote-panel.is-thanks .quote-form{display:none;}
#mxcs .modal-eyebrow{color:#c90812; font-size:13px; font-weight:900; letter-spacing:.02em; margin:0 0 14px; text-transform:uppercase;}
#mxcs .quote-copy h2{font-size:34px; line-height:1.05; margin:0 0 14px;}
#mxcs .quote-copy p:not(.modal-eyebrow){color:#3a4049; font-size:17px; line-height:1.55; margin:0;}
#mxcs .quote-form{display:grid; gap:14px;}
#mxcs .quote-form label{display:grid; gap:7px;}
#mxcs .quote-form span{color:#242a32; font-size:13px; font-weight:850;}
#mxcs .quote-form em{color:#69707a; font-style:normal; font-weight:650;}
#mxcs .quote-form input, #mxcs .quote-form textarea{background:#fff; border:1px solid #dedfe3; border-radius:6px; color:#151922; font:inherit; font-size:15px; padding:13px 14px; width:100%;}
#mxcs .quote-form input:focus, #mxcs .quote-form textarea:focus{border-color:#c90812; box-shadow:0 0 0 3px rgba(201,8,18,.12); outline:0;}
#mxcs .quote-message{grid-column:1 / -1;}
#mxcs .quote-submit{background:#c90812; border:0; border-radius:6px; color:#fff; cursor:pointer; font:inherit; font-size:15px; font-weight:900; padding:15px 20px;}
#mxcs .quote-note{color:#c90812; font-size:13px; font-weight:750; margin:0;}
#mxcs .quote-thanks{align-content:center; display:grid; gap:14px; justify-items:start; min-height:260px;}
#mxcs .quote-thanks[hidden]{display:none;}
#mxcs .quote-thanks h2{color:#c90812; font-size:40px; line-height:1.08; margin:0;}
#mxcs .quote-thanks-main{color:#151922; font-size:24px; font-weight:850; line-height:1.25; margin:0;}
#mxcs .quote-thanks-sub{color:#3a4049; font-size:17px; line-height:1.55; margin:0 0 12px;}
@media (max-width: 900px){#mxcs .printer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 760px){#mxcs .case-main{padding:24px 18px 48px;}
#mxcs .gallery-grid, #mxcs .printer-grid{grid-template-columns:1fr;}
#mxcs h1{font-size:34px;}
#mxcs .recommendations-heading{align-items:start; display:block;}
#mxcs .recommendations-heading h2{font-size:24px; margin-top:6px;}
#mxcs .printer-copy p{min-height:0;}
#mxcs .contact-inner{grid-template-columns:1fr auto; padding:10px 18px;}
#mxcs .contact-button{padding:13px 18px;}
#mxcs .floating-help{bottom:18px; right:18px;}
#mxcs .quote-panel{grid-template-columns:1fr; padding:34px 24px 26px;}}
/* ---- overrides that must win over the scoped prototype rules (placed last on purpose) ---- */
#mxcs .modal{z-index:100000!important}
#mxcs .floating-help{z-index:99990!important;left:24px!important;right:auto!important} /* Zoho SalesIQ chat bubble owns the bottom-right corner */
@media (max-width: 980px){ #mxcs .floating-help{left:18px!important} }
