.mq{--mq-accent:#145849;--mq-ink:#172d28;--mq-surface:#fff;box-sizing:border-box;background:var(--mq-surface);color:var(--mq-ink);font:16px/1.6 system-ui,sans-serif;border:1px solid #dbe5df;border-radius:24px;padding:40px;max-width:1100px;margin:auto}.mq *{box-sizing:border-box}.mq h2,.mq h3,.mq p{color:inherit;margin:0}.mq h2{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.035em;margin:12px 0}.mq h3{font-size:20px;line-height:1.3;margin-bottom:8px}.mq-heading{max-width:650px;margin-bottom:32px}.mq-eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:var(--mq-accent)}.mq-muted,.mq-heading p{color:#52675e;font-size:14px}.mq-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px}.mq-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #e0e8e2;cursor:pointer}.mq-option strong,.mq-option small{display:block}.mq-option small{font-size:13px;color:#52675e}.mq input[type=number]{width:84px;flex:none;text-align:center;border-radius:8px}.mq input,.mq textarea{border:1px solid #bccbc1;background:var(--mq-surface);color:var(--mq-ink);padding:10px 12px;font:inherit;max-width:100%;border-radius:8px}.mq input[type=checkbox]{width:20px;height:20px;accent-color:var(--mq-accent);flex:none}.mq-summary{background:#f0f5f1;border:1px solid #dbe5df;border-radius:16px;padding:28px;align-self:start}.mq-total{display:block;font-size:clamp(30px,4vw,42px);font-weight:750;letter-spacing:-.035em;margin:12px 0;overflow-wrap:anywhere}.mq-lines{margin:24px 0}.mq-lines p{display:flex;gap:12px;justify-content:space-between;font-size:13px;padding:9px 0;border-bottom:1px solid #dbe5df}.mq-lines strong{white-space:nowrap}.mq-adjustment{font-size:12px;margin-bottom:16px!important}.mq button{border:0;border-radius:9px;background:var(--mq-accent);color:#fff;padding:14px 20px;cursor:pointer;font:600 14px/1.4 system-ui,sans-serif}.mq button:hover{filter:brightness(.9)}.mq button:disabled{opacity:.55;cursor:not-allowed}.mq-open{width:100%;display:flex;justify-content:space-between}.mq-request{border-top:1px solid #dbe5df;margin-top:32px;padding-top:28px}.mq-request[hidden]{display:none}.mq-contact{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.mq-request label{display:block;font-size:14px;font-weight:600}.mq-request input:not([type=checkbox]),.mq-request textarea{display:block;width:100%;margin-top:6px}.mq-consent{display:flex!important;gap:12px;font-weight:400!important;margin:20px 0}.mq-consent a{color:var(--mq-accent);text-decoration:underline}.mq-status{font-size:14px;margin-top:16px!important}.mq-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.mq :focus-visible{outline:3px solid var(--mq-accent);outline-offset:4px}.mq--compact{max-width:650px;padding:28px;border-radius:14px}.mq--compact .mq-workspace{grid-template-columns:1fr;gap:24px}.mq--compact .mq-summary{background:transparent;border:0;border-top:2px solid var(--mq-accent);border-radius:0;padding:24px 0 0}.mq--editorial{border:0;border-radius:0;padding:40px 0}.mq--editorial .mq-heading{border-left:4px solid var(--mq-accent);padding-left:24px}.mq--editorial .mq-summary{background:var(--mq-surface);border:2px solid var(--mq-accent);border-radius:0}.mq--editorial .mq-option{border-bottom-style:dashed}.mq--editorial button{border-radius:0}@media(max-width:640px){.mq{padding:22px;border-radius:16px}.mq-workspace,.mq-contact{grid-template-columns:1fr;gap:24px}.mq-summary{padding:22px}.mq-option{gap:12px}.mq--editorial{padding:24px 0;border-radius:0}.mq-lines p{flex-wrap:wrap}.mq-heading{margin-bottom:24px}}
.mq .mq-title{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.035em;margin:12px 0;color:inherit}

/* Theme guard: themes paint every button / [type=button|submit] on :hover and :focus (Hello Elementor: pink, 0,2,0)
   and input:focus (0,2,1). These keep our look in those states; Elementor style controls stay more specific. */
.mq button:hover, .mq button:focus { background:var(--mq-accent); color:#fff; border:0; }
.mq button:hover { background:color-mix(in srgb, var(--mq-accent) 86%, #000); }
.mq input:not([type=checkbox]):focus, .mq textarea:focus { border-color:var(--mq-accent); }
