
.tm-ia-shell {
	max-width: 980px;
	margin: 28px auto;
	padding: 0 16px;
	--tm-ia-primary: #111827;
	--tm-ia-link: #111827;
}

.tm-ia-shell * { box-sizing: border-box; }
.tm-ia-shell a,
.tm-ia-shell a:visited,
.tm-ia-shell a:hover,
.tm-ia-shell a:focus {
	color: inherit;
	text-decoration: none;
}

.tm-ia-card {
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #e5e7eb;
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10);
	overflow: hidden;
}

.tm-ia-head {
	position: relative;
	padding: 12px 84px 12px 16px;
	background: #000000;
	color: #ffffff !important;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	align-items: center;
}

.tm-ia-head-actions { position:absolute; top:50%; right:16px; transform:translateY(-50%); display:flex; align-items:center; gap:10px; }
.tm-ia-restart, .tm-ia-restart:hover, .tm-ia-restart:focus, .tm-ia-restart:visited {
	width: 26px;
	height: 26px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	margin:0;
	border:none !important;
	border-radius:999px;
	background:rgba(255,255,255,.14) !important;
	color:#ffffff !important;
	-webkit-text-fill-color:#ffffff !important;
	font-size:15px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	box-shadow:none !important;
	text-shadow:none !important;
	opacity:.94;
}
.tm-ia-restart:hover, .tm-ia-restart:focus { opacity:1; background:rgba(255,255,255,.22) !important; }
.tm-ia-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.tm-ia-brand strong { display:block; font-size:20px; line-height:1; letter-spacing:-0.02em; }
.tm-ia-progress-meta { min-width:140px; }
.tm-ia-step-label { display:block; margin-bottom:7px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; opacity:.84; }
.tm-ia-progress { height:7px; background: rgba(255,255,255,.16); border-radius:999px; overflow:hidden; }
.tm-ia-progress span { display:block; height:100%; border-radius:999px; background: linear-gradient(90deg, #ffffff, #d1d5db); transition: width .35s ease; }

.tm-ia-body { padding: 16px 16px 14px; display:flex; flex-direction:column; }
.tm-ia-intro { margin-bottom: 14px; display:flex; flex-direction:column; justify-content:center; min-height: 70px; }
.tm-ia-intro h3 { margin:0 0 8px; font-size:22px !important; line-height:1.12; color:#0f172a !important; letter-spacing:-0.03em; font-weight:800; max-width:100%; }
.tm-ia-intro p { margin:0; color:#475569 !important; font-size:16px !important; line-height:1.42; max-width: 100%; }
.tm-ia-feedback { min-height: 0; margin-bottom: 6px; color:#b91c1c; font-weight:600; font-size:12px; }
.tm-ia-feedback.is-success { color:#047857; }
.tm-ia-step { display:none; animation: tmIaFade .28s ease; min-height: 172px; }
.tm-ia-step.is-active { display:block; }
@keyframes tmIaFade { from { opacity:0; transform: translateY(10px);} to { opacity:1; transform:none;} }

.tm-ia-grid { display:grid; grid-template-columns: 1fr; gap:10px; }
.tm-ia-form { display:flex; flex-direction:column; flex:1; min-height:0; }
.tm-ia-form label { display:flex; flex-direction:column; gap:7px; font-weight:600; color:#0f172a; font-size:13px; }
.tm-ia-hidden-label > span { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.tm-ia-form input[type=text],
.tm-ia-form input[type=email],
.tm-ia-form textarea {
	width:100%;
	padding:12px 14px;
	border:1px solid #d1d5db;
	border-radius:14px;
	background:#fff;
	color:#0f172a;
	font-size:14px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
	transition:border-color .2s ease, box-shadow .2s ease;
}
.tm-ia-form input:focus,
.tm-ia-form textarea:focus {
	outline:none;
	border-color: var(--tm-ia-primary);
	box-shadow: 0 0 0 4px rgba(17,24,39,.08);
}
.tm-ia-note { margin-top:14px; font-size:13px; line-height:1.45; color:#64748b; }

.tm-ia-service-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:9px; align-content:start; }
.tm-ia-service { position:relative; display:block; }
.tm-ia-service input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.tm-ia-service span {
	display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:14px; border:1px solid #d1d5db; background:#fff;
	font-weight:600; font-size:12px; line-height:1.3; color:#0f172a; transition: all .18s ease; box-shadow:none;
}
.tm-ia-service input:checked + span { background:#0f172a; color:#fff; border-color:#0f172a; box-shadow:0 12px 24px rgba(15,23,42,.14); }

.tm-ia-voice-actions { display:flex; align-items:center; gap:10px; margin-top:10px; }
.tm-ia-voice-status { color:#64748b; font-size:12px; }

.tm-ia-choice-group { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; width:100%; align-items:stretch; }
.tm-ia-choice-group > * { min-width:0; }
.tm-ia-choice {
	padding:12px 10px;
	border-radius:16px;
	border:1px solid #d1d5db;
	background:#fff;
	cursor:pointer;
	font-weight:700;
	color:#0f172a;
	transition: all .18s ease;
	box-shadow:none;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:84px;
	width:100%;
	min-width:0;
}
.tm-ia-choice__icon {
	width:36px;
	height:36px;
	border-radius:999px;
	background:#f8fafc;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:17px;
}
.tm-ia-choice__label { display:block; width:100%; font-size:13px; line-height:1.2; text-align:center; }
.tm-ia-choice.is-selected { background:#0f172a; color:#fff; border-color:#0f172a; box-shadow:0 12px 24px rgba(15,23,42,.14); }
.tm-ia-choice.is-selected .tm-ia-choice__icon { background:rgba(255,255,255,.14); }

.tm-ia-step-panel { display:flex; flex-direction:column; gap:12px; width:100%; }
.tm-ia-step-section { background:#ffffff; border:1px solid #e5e7eb; border-radius:18px; padding:12px; width:100%; overflow:hidden; }
.tm-ia-step-section--download { padding:14px 12px; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.tm-ia-mini-title { margin:0 0 10px; font-size:12px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:#475569; }

.tm-ia-download-note { margin:0; font-size:13px; line-height:1.45; color:#475569; }

.tm-ia-presentation-link {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	width:100%;
	margin-top:0;
	padding:13px 14px;
	border-radius:16px;
	border:1px solid #111827;
	background:#111827;
	font-size:13px;
	font-weight:700;
	color:#ffffff !important;
	box-shadow:0 12px 24px rgba(17,24,39,.16);
}
.tm-ia-presentation-link__icon {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:26px;
	height:26px;
	border-radius:999px;
	background:rgba(255,255,255,.12);
	font-size:14px;
	flex:0 0 26px;
}
.tm-ia-presentation-link__label { font-size:13px; line-height:1.2; color:#ffffff; }

.tm-ia-actions {
	display:flex;
	justify-content:space-between;
	gap:10px;
	margin-top:auto;
	padding-top:12px;
	position:sticky;
	bottom:0;
	background:linear-gradient(180deg, rgba(248,250,252,0) 0%, #f8fafc 22%, #f8fafc 100%);
}
.tm-ia-primary, .tm-ia-secondary, .tm-ia-ghost {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	border:1px solid #111827 !important;
	cursor:pointer;
	padding:11px 15px;
	border-radius:14px;
	font-weight:700;
	font-size:13px;
	transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease, border-color .15s ease;
	outline: none !important;
	-webkit-tap-highlight-color: transparent;
}
.tm-ia-primary:hover, .tm-ia-secondary:hover, .tm-ia-ghost:hover, .tm-ia-choice:hover, .tm-ia-service span:hover { transform: translateY(-1px); }
.tm-ia-primary { background: #111827 !important; color:#fff; box-shadow:0 12px 24px rgba(17,24,39,.16); }
.tm-ia-secondary { background:#fff !important; color:#111827 !important; border:1px solid #111827 !important; box-shadow:none; }
.tm-ia-ghost { background:transparent !important; color:#111827 !important; border:1px solid #111827 !important; }

.tm-ia-cta-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; margin-bottom:8px; align-items:stretch; }
.tm-ia-summary { background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:14px; margin-bottom:12px; }
.tm-ia-summary h4 { margin:0 0 10px; font-size:16px; color:#0f172a; }
.tm-ia-summary ul { margin:0; padding-left:18px; color:#475569; font-size:13px; }
.tm-ia-summary li + li { margin-top:4px; }
.tm-ia-followup-note { margin: 0 0 10px; color:#475569; font-size:13px; font-weight:600; }
.tm-ia-cta-button { min-height:52px; width:100%; gap:10px; justify-content:center; text-align:center; }
.tm-ia-cta-button__icon { display:inline-flex; align-items:center; justify-content:center; width:22px; font-size:16px; }
.tm-ia-cta-button__text { display:inline-flex; align-items:center; line-height:1.2; }
.tm-ia-step--final .tm-ia-summary { margin-bottom:10px; }

.tm-ia-disabled { opacity:.45; pointer-events:none; }

.tm-ia-primary, .tm-ia-primary:visited, .tm-ia-primary:hover, .tm-ia-primary:focus { color:#fff !important; border-color:#111827 !important; }
.tm-ia-secondary, .tm-ia-secondary:visited, .tm-ia-secondary:hover, .tm-ia-secondary:focus { color:#111827 !important; border-color:#111827 !important; }
.tm-ia-launcher, .tm-ia-launcher:hover, .tm-ia-launcher:focus { color:#fff !important; border-color:#111827 !important; }
.tm-ia-ghost, .tm-ia-ghost:visited, .tm-ia-ghost:hover, .tm-ia-ghost:focus { color:#111827 !important; border-color:#111827 !important; }
.tm-ia-shell button:focus, .tm-ia-shell a:focus, .tm-ia-shell button:focus-visible, .tm-ia-shell a:focus-visible { outline:2px solid #111827 !important; outline-offset:2px; box-shadow:none !important; }
.tm-ia-shell button, .tm-ia-shell a, .tm-ia-shell input, .tm-ia-shell textarea { -webkit-appearance:none; appearance:none; }
.tm-ia-field-error { display:block; margin-top:6px; color:#b91c1c; font-size:12px; font-weight:600; }

.tm-ia-window { position: relative; }
.tm-ia-shell--floating {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 99999;
	max-width: 372px;
	width: min(372px, calc(100vw - 24px));
	margin: 0;
	padding: 0;
}
.tm-ia-shell--floating .tm-ia-card {
	border-radius: 22px;
	box-shadow: 0 22px 64px rgba(15, 23, 42, 0.16);
	overflow: visible;
	background: transparent;
	border: none;
}
.tm-ia-shell--floating .tm-ia-window {
	background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
	border: 1px solid #111827;
	border-radius: 22px;
	overflow: hidden;
	height: 560px;
	display:flex;
	flex-direction:column;
}
.tm-ia-shell--floating .tm-ia-body {
	flex:1;
	overflow: auto;
	min-height:0;
}
.tm-ia-launcher {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateY(0);
	padding: 11px 15px;
	border-radius: 999px;
	border: 1px solid #111827 !important;
	background: linear-gradient(135deg, #111827 0%, #0f172a 100%);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 14px 28px rgba(15,23,42,.18);
}
.tm-ia-launcher__icon {
	width: 26px; height: 26px; border-radius: 999px; background: rgba(255,255,255,.12);
	display: inline-flex; align-items: center; justify-content: center;
}
.tm-ia-shell--floating .tm-ia-window {
	opacity: 0;
	transform: translateY(14px) scale(.98);
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
}
.tm-ia-shell--floating.is-open .tm-ia-window {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
.tm-ia-shell--floating.is-open .tm-ia-launcher {
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
}
.tm-ia-shell--floating .tm-ia-launcher { opacity: 1; transition: opacity .22s ease, transform .22s ease; }

.tm-ia-close, .tm-ia-close:hover, .tm-ia-close:focus, .tm-ia-close:visited {
	position: static;
	transform: none;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	border: none !important;
	border-radius: 0;
	background: transparent !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none !important;
	text-shadow: none !important;
	opacity: .92;
}
.tm-ia-close:hover,
.tm-ia-close:focus {
	opacity: 1;
	background: transparent !important;
	transform: none;
	outline: none !important;
}
.tm-ia-shell--floating .tm-ia-head { padding-right: 84px; }
.tm-ia-shell--contact { max-width: 880px; margin: 0 auto; }
.tm-ia-shell--contact .tm-ia-card { border-radius: 26px; }
.tm-ia-shell--contact .tm-ia-body { padding: 22px 22px 18px; }
.tm-ia-shell--budget { max-width: 100%; margin: 0; padding: 0; }
.tm-ia-shell--budget .tm-ia-card { border-radius: 28px; }
.tm-ia-shell--budget .tm-ia-body { padding: 24px; }
.tm-ia-shell--budget .tm-ia-intro { min-height: 78px; }
.tm-ia-shell--budget .tm-ia-step { min-height: 190px; }

@media (max-width: 782px) {
	.tm-ia-head { flex-direction:column; align-items:flex-start; }
	.tm-ia-progress-meta { width:100%; min-width:0; }
	.tm-ia-choice-group { grid-template-columns: 1fr; }
	.tm-ia-cta-grid { grid-template-columns: 1fr; }
	.tm-ia-actions { flex-direction:column-reverse; }
	.tm-ia-primary, .tm-ia-secondary, .tm-ia-ghost { width:100%; }
	.tm-ia-shell--floating {
		right: 12px;
		left: 12px;
		bottom: 12px;
		width: auto;
		max-width: none;
	}
	.tm-ia-shell--floating .tm-ia-window {
		height: min(560px, calc(100vh - 92px));
	}
	.tm-ia-launcher {
		width: 100%;
		justify-content: center;
	}
}
