.mi-wrap {
	--mi-accent: #12715b;
	--mi-accent-text: #fff;
	--mi-border: #d0d5dd;
	--mi-muted: #667085;
	--mi-error: #b42318;
	--mi-bg: #fff;
	--mi-radius: 8px;
	font: inherit;
	color: inherit;
	max-width: 720px;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
}
.mi-wrap *, .mi-wrap *::before, .mi-wrap *::after { box-sizing: border-box; }
.mi-form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.mi-wrap [hidden] { display: none !important; }
.mi-cond { display: flex; flex-direction: column; gap: 14px; }
.mi-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mi-row > .mi-cond { display: contents; }
.mi-row > .mi-cond[hidden] { display: none; }
@media (max-width: 600px) { .mi-row { grid-template-columns: 1fr; } }
.mi-short .mi-row { grid-template-columns: 1fr 1fr; }
@media (max-width: 480px) { .mi-short .mi-row { grid-template-columns: 1fr; } }

.mi-field { display: flex; flex-direction: column; gap: 6px; margin: 0; border: 0; padding: 0; min-width: 0; }
.mi-field > span, .mi-field > legend { font-size: 14px; font-weight: 600; line-height: 1.3; padding: 0; }
.mi-wrap input[type="text"], .mi-wrap input[type="tel"], .mi-wrap input[type="email"],
.mi-wrap input[type="date"], .mi-wrap select, .mi-wrap textarea {
	width: 100%;
	font: inherit;
	font-size: 16px;
	color: #101828;
	background: var(--mi-bg);
	border: 1px solid var(--mi-border);
	border-radius: var(--mi-radius);
	padding: 11px 12px;
	min-height: 46px;
	margin: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.mi-wrap select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23667085' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 34px;
}
.mi-wrap textarea { resize: vertical; min-height: 90px; }
.mi-wrap input:focus, .mi-wrap select:focus, .mi-wrap textarea:focus {
	outline: 2px solid var(--mi-accent);
	outline-offset: 1px;
	border-color: var(--mi-accent);
}
.mi-invalid input, .mi-invalid select, .mi-invalid textarea, input.mi-invalid { border-color: var(--mi-error) !important; }
.mi-invalid > span, .mi-invalid > legend { color: var(--mi-error); }

.mi-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.mi-pill { position: relative; cursor: pointer; margin: 0; }
.mi-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mi-pill span {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--mi-border);
	border-radius: 999px;
	font-size: 15px;
	line-height: 1.2;
	background: var(--mi-bg);
	color: #101828;
	transition: background .15s, border-color .15s;
}
.mi-pill input:checked + span { background: var(--mi-accent); border-color: var(--mi-accent); color: var(--mi-accent-text); }
.mi-pill input:focus-visible + span { outline: 2px solid var(--mi-accent); outline-offset: 2px; }

.mi-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--mi-muted); line-height: 1.4; margin: 0; cursor: pointer; }
.mi-consent input { margin-top: 2px; width: 18px; height: 18px; flex: none; accent-color: var(--mi-accent); }

.mi-submit, .mi-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 24px;
	font: inherit;
	font-size: 17px;
	font-weight: 600;
	color: var(--mi-accent-text);
	background: var(--mi-accent);
	border: 1px solid var(--mi-accent);
	border-radius: var(--mi-radius);
	cursor: pointer;
	text-decoration: none;
	transition: filter .15s;
}
.mi-submit { width: 100%; }
.mi-submit:hover, .mi-btn:hover { filter: brightness(1.12); color: var(--mi-accent-text); }
.mi-submit:disabled { cursor: wait; filter: brightness(.95); }
.mi-btn-alt { background: transparent; color: var(--mi-accent); }
.mi-btn-alt:hover { color: var(--mi-accent); background: rgba(0,0,0,.04); }
.mi-spinner { display: none; width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: mi-spin .7s linear infinite; }
.mi-loading .mi-spinner { display: inline-block; }
@keyframes mi-spin { to { transform: rotate(360deg); } }

.mi-error { color: var(--mi-error); font-size: 14px; margin: 0; }
.mi-fine { color: var(--mi-muted); font-size: 12px; margin: 0; text-align: center; line-height: 1.5; }
.mi-fine a, .mi-consent a { color: inherit; text-decoration: underline; }
.mi-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mi-req { color: var(--mi-error); }
.mi-req-note { font-size: 12px; color: var(--mi-muted); margin: 0; }
.mi-req-note span { color: var(--mi-error); }
.mi-hint { font-size: 13px; color: var(--mi-muted); margin: 0; }

/* The theme styles every <button> with an outlined accent color. These two-class
   selectors win over it so the submit button keeps the intake colors. */
.mi-wrap .mi-submit, .mi-wrap .mi-submit:focus {
	color: var(--mi-accent-text);
	background: var(--mi-accent);
	border: 1px solid var(--mi-accent);
	border-radius: var(--mi-radius);
	text-transform: inherit;
	letter-spacing: inherit;
}
.mi-wrap .mi-submit:hover { color: var(--mi-accent-text); background: var(--mi-accent); border-color: var(--mi-accent); filter: brightness(1.12); }
.mi-wrap .mi-submit:focus-visible { outline: 2px solid #7dd3b0; outline-offset: 2px; }

.mi-done { text-align: center; padding: 24px 8px; outline: none; }
.mi-done h3 { margin: 8px 0; font-size: 22px; }
.mi-done p { margin: 0 0 12px; }
.mi-check { width: 52px; height: 52px; margin: 0 auto; border-radius: 50%; background: #067647; color: #fff; font-size: 28px; line-height: 52px; }
.mi-done-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

/* Dark panels (add the CSS class "mi-dark-wrap" to the widget or a parent) */
.mi-dark-wrap .mi-wrap { --mi-border: #ffffff; --mi-muted: rgba(255,255,255,.8); --mi-error: #fda29b; color: #fff; }
.mi-dark-wrap .mi-field > span, .mi-dark-wrap .mi-field > legend { color: #fff; font-weight: 500; }
.mi-dark-wrap .mi-pill span { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.mi-dark-wrap .mi-pill input:checked + span { background: var(--mi-accent); border-color: var(--mi-accent); color: #fff; }
.mi-dark-wrap .mi-pill input:focus-visible + span, .mi-dark-wrap .mi-wrap input:focus, .mi-dark-wrap .mi-wrap select:focus, .mi-dark-wrap .mi-wrap textarea:focus { outline-color: #7dd3b0; }
.mi-dark-wrap .mi-consent { color: rgba(255,255,255,.85); }
.mi-dark-wrap .mi-btn-alt { color: #fff; border-color: #fff; }
.mi-dark-wrap .mi-btn-alt:hover { color: #fff; background: rgba(255,255,255,.08); }
.mi-dark-wrap .mi-done h3 { color: #fff; }
.mi-dark-wrap .mi-invalid input, .mi-dark-wrap .mi-invalid select, .mi-dark-wrap .mi-invalid textarea { box-shadow: 0 0 0 2px var(--mi-error); }
.mi-dark-wrap .mi-submit { border-color: #fff; }

/* The text block placed next to the form inside the same dark panel (the
   "By submitting this form..." disclosure) inherits dark theme text, which
   is unreadable on navy. Match it to the form's fine print instead. */
.e-con:has(> .mi-dark-wrap) > .elementor-widget-text-editor,
.e-con:has(> .mi-dark-wrap) > .elementor-widget-text-editor p {
	color: rgba(255,255,255,.85) !important;
}
.e-con:has(> .mi-dark-wrap) > .elementor-widget-text-editor a {
	color: #fff !important;
	text-decoration: underline !important;
}

/* Header "Case Review" button target: keep the heading clear of the sticky header */
#case-review { scroll-margin-top: 130px; }

/* Keep the four header buttons on one line */
.elementor-location-header .elementor-element-60db710 { flex-wrap: nowrap !important; width: auto !important; flex: 0 0 auto !important; max-width: none !important; gap: 6px !important; }
.elementor-location-header .elementor-element-60db710 .elementor-button { padding: 12px 9px !important; font-size: 13px !important; }

/* Short form in narrow boxes (hero cards, sidebars): stack fields when there isn't room for two columns */
.mi-short .mi-row { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.mi-short .mi-form { gap: 10px; }
.mi-short .mi-fine { font-size: 11px; }
.mi-short textarea { min-height: 70px; }
