.crmi { --crmi-red:#ff3939; --crmi-yellow:#ffe14a; --crmi-muted:#b8b8c9; box-sizing:border-box; background:#0c0b13; color:#fff; padding:clamp(24px,5vw,64px); border-radius:24px; width:100%; max-width:none; margin:32px auto; font-family:Arial,Helvetica,sans-serif; }
.crmi *, .crmi *::before, .crmi *::after { box-sizing:border-box; }
.crmi .crmi-heading { text-align:center; margin-bottom:32px; }
.crmi .crmi-eyebrow { color:var(--crmi-yellow); font-size:11px; font-weight:800; letter-spacing:3px; margin:0 0 16px; line-height:1.5; }
.crmi .crmi-heading h2 { color:#fff; font-size:clamp(38px,8vw,88px); font-weight:900; letter-spacing:-3px; line-height:.94; margin:0 0 22px; }
.crmi .crmi-heading h2 span { color:var(--crmi-red); }
.crmi p { color:var(--crmi-muted); font-size:15px; line-height:1.6; margin:12px 0; }
.crmi strong { color:var(--crmi-red); }
.crmi .crmi-machine { width:100%; max-width:none; margin:auto; border:1px solid #34303f; border-radius:16px; overflow:hidden; background:#12111c; }
.crmi .crmi-stats { display:flex; justify-content:space-between; padding:18px 22px; gap:10px; border-bottom:1px solid #34303f; font-size:10px; letter-spacing:1.5px; color:var(--crmi-muted); }
.crmi .crmi-stats strong { display:block; margin-top:5px; font-size:22px; font-variant-numeric:tabular-nums; letter-spacing:0; }
.crmi .crmi-screen { position:relative; background:#0a0912; }
.crmi canvas { display:block; width:100%; height:auto; aspect-ratio:4/3; outline-offset:-4px; }
.crmi .crmi-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; padding:20px; background:linear-gradient(180deg,#0c0b13dc,#171020f0); }
.crmi [hidden] { display:none !important; }
.crmi .crmi-overlay h3 { color:#fff; font-size:clamp(22px,5vw,46px); line-height:1.05; letter-spacing:-1px; margin:0 0 10px; }
.crmi .crmi-overlay p { margin:4px 0 18px; font-size:clamp(12px,2.4vw,16px); }
.crmi button, .crmi a.crmi-cta { font-family:inherit; font-weight:800; line-height:1.3; font-size:12px; letter-spacing:1px; cursor:pointer; border:0; border-radius:8px; text-decoration:none; text-transform:none; box-shadow:none; min-height:48px; margin:0; }
.crmi button[data-start], .crmi a.crmi-cta { background:var(--crmi-yellow); color:#19100b; padding:16px 22px; }
.crmi button:focus-visible, .crmi a:focus-visible, .crmi canvas:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.crmi button:disabled { cursor:default; opacity:.4; }
.crmi .crmi-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px 0; }
.crmi .crmi-touch { display:flex; gap:8px; }
.crmi .crmi-actions button { min-width:52px; padding:12px 16px; background:#292534; color:#fff; touch-action:none; user-select:none; -webkit-user-select:none; }
.crmi .crmi-actions button[data-control="fire"] { color:var(--crmi-yellow); }
.crmi .crmi-help { margin:12px 18px; font-size:11px; text-align:center; }
.crmi .crmi-message { border-top:1px solid #34303f; padding:18px 22px; margin:0; min-height:90px; font-size:13px; color:#f0d7e2; }
.crmi .crmi-footer { display:flex; justify-content:space-between; align-items:center; gap:26px; padding-top:36px; }
.crmi .crmi-footer h3 { color:#fff; font-size:clamp(24px,3.5vw,36px); line-height:1.1; margin:0; letter-spacing:-1px; }
.crmi .crmi-footer .crmi-eyebrow { margin-bottom:10px; }
.crmi .crmi-cta { display:inline-flex; align-items:center; gap:20px; flex-shrink:0; }
@media(max-width:620px) { .crmi { border-radius:16px; padding:22px 12px; } .crmi .crmi-heading h2 { letter-spacing:-1.8px; } .crmi .crmi-footer { flex-direction:column; align-items:stretch; padding:26px 8px 0; } .crmi .crmi-stats { padding:12px 16px; } .crmi .crmi-overlay .crmi-eyebrow { font-size:9px; letter-spacing:1px; margin-bottom:8px; } .crmi button[data-start] { padding:12px 18px; min-height:44px; } .crmi .crmi-actions { padding:10px 10px 0; } .crmi .crmi-actions button { padding:10px 12px; } .crmi .crmi-help { font-size:10px; } .crmi .crmi-cta { justify-content:space-between; } }
.crmi button[data-open-lead], .crmi button[data-submit-lead] { background:var(--crmi-yellow); color:#19100b; padding:16px 22px; }
.crmi .crmi-dialog { width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 32px); padding:32px; border:1px solid #514052; border-radius:18px; background:#14111d; color:#fff; margin:auto; overflow:auto; box-shadow:0 24px 100px #0009; }
.crmi .crmi-dialog::backdrop { background:#08070dbd; backdrop-filter:blur(5px); }
.crmi .crmi-dialog h3 { color:#fff; font:900 clamp(28px,5vw,40px)/1.05 Arial,sans-serif; letter-spacing:-1px; margin:0 30px 14px 0; }
.crmi .crmi-dialog .crmi-eyebrow { padding-right:30px; font-size:10px; letter-spacing:1.5px; }
.crmi .crmi-close { position:absolute; right:12px; top:10px; width:44px; min-height:44px; background:transparent; color:#fff; font-size:28px; padding:0; }
.crmi .crmi-dialog form { margin:22px 0 0; }
.crmi .crmi-dialog label { display:block; color:#eee; font-size:13px; line-height:1.5; margin:0 0 14px; font-weight:600; }
.crmi .crmi-dialog input:not([type=checkbox]), .crmi .crmi-dialog textarea { display:block; width:100%; border:1px solid #514758; border-radius:7px; background:#211b2a; color:#fff; font:16px/1.4 Arial,sans-serif; padding:11px 12px; margin:6px 0 0; box-shadow:none; }
.crmi .crmi-dialog textarea { resize:vertical; }
.crmi .crmi-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.crmi .crmi-dialog .crmi-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; font-weight:400; }
.crmi .crmi-dialog input[type=checkbox] { margin:3px 0; flex-shrink:0; width:16px; height:16px; accent-color:var(--crmi-red); }
.crmi .crmi-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.crmi .crmi-dialog .crmi-privacy { font-size:11px; }
.crmi .crmi-dialog a { color:var(--crmi-yellow); text-decoration:underline; }
.crmi .crmi-dialog button[type=submit] { width:100%; }
.crmi .crmi-dialog [data-form-status] { margin-bottom:0; font-size:13px; color:#f4dce6; }
@media(max-width:480px) { .crmi .crmi-dialog { padding:26px 20px; } .crmi .crmi-form-row { grid-template-columns:1fr; gap:0; } }

/* Full viewport section on desktop, including inside a boxed Elementor widget. */
@media(min-width:621px) {
  .crmi { position:relative; left:50%; width:var(--crmi-viewport-width,100%); margin-left:calc(var(--crmi-viewport-width,100%) / -2); margin-right:0; border-radius:0; padding:40px clamp(16px,3vw,48px); }
}
.crmi .crmi-heading h2, .crmi .crmi-footer h3, .crmi .crmi-overlay h3, .crmi .crmi-dialog h3 { color:var(--crmi-red); }
.crmi .crmi-heading h2 span, .crmi .crmi-stats strong { color:var(--crmi-yellow); }
.crmi .crmi-actions button[data-control="left"], .crmi .crmi-actions button[data-control="right"] { color:var(--crmi-red); }
@media(max-width:620px) {
  .crmi .crmi-actions { flex-direction:column; justify-content:center; align-items:center; gap:12px; }
  .crmi .crmi-touch { justify-content:center; width:100%; gap:14px; }
  .crmi .crmi-touch button { min-width:64px; min-height:52px; font-size:18px; }
  .crmi .crmi-actions button[data-pause] { min-height:44px; padding:10px 24px; }
}

/* Compact laptop view; mobile sizing and controls keep their existing layout. */
@media(min-width:621px) {
  .crmi { padding-top:22px; padding-bottom:22px; margin-top:16px; margin-bottom:16px; }
  .crmi .crmi-heading { margin-bottom:16px; }
  .crmi .crmi-heading .crmi-eyebrow { margin-bottom:6px; }
  .crmi .crmi-heading h2 { font-size:clamp(34px,4.2vw,58px); line-height:1; margin-bottom:10px; }
  .crmi .crmi-heading h2 br { display:none; }
  .crmi .crmi-heading h2 span::before { content:' '; }
  .crmi .crmi-heading p { margin:6px 0; }
  .crmi .crmi-stats { padding:10px 18px; }
  .crmi .crmi-stats strong { font-size:18px; margin-top:2px; }
  .crmi .crmi-actions { padding-top:8px; }
  .crmi .crmi-actions button { min-height:40px; padding:8px 16px; }
  .crmi .crmi-help { margin:8px 18px; }
  .crmi .crmi-message { min-height:54px; padding:12px 18px; }
  .crmi .crmi-footer { padding-top:18px; }
  .crmi .crmi-footer h3 { font-size:26px; }
  .crmi .crmi-footer p { margin:6px 0; }
  .crmi .crmi-overlay h3 { font-size:clamp(24px,3vw,36px); margin-bottom:6px; }
  .crmi .crmi-overlay .crmi-eyebrow { margin-bottom:6px; }
  .crmi .crmi-overlay p { margin-bottom:12px; }
  .crmi .crmi-overlay { padding:14px; }
}
.crmi button[data-dismiss-thanks] { background:var(--crmi-yellow); color:#19100b; padding:16px 22px; }
.crmi [data-thank-you] { padding-top:12px; }
