@keyframes advisor-pulse {
	0%, 80%, 100% { opacity: .25; transform: translateY(0); }
	40% { opacity: 1; transform: translateY(-3px); }
}

@scope (.advisor-selector) {
	:scope {
			--bg: #f6f4f0;
			--paper: #fffdf9;
			--white: #ffffff;
			--ink: #1b1a17;
			--muted: #666158;
			--line: #ded6cb;
			--soft: #eee8df;
			--brand: #d52b1e;
			--brand-dark: #a51f16;
			--green: #23714d;
			--blue: #254f77;
			--shadow: 0 16px 42px rgba(42, 34, 24, .12);
		}

		* {
			box-sizing: border-box;
		}

		[x-cloak] {
			display: none !important;
		}

		:scope {
			font-family: Arial, Helvetica, sans-serif;
			color: var(--ink);
			font-size: 17px;
		}

		button,
		input,
		textarea {
			font: inherit;
		}

		button {
			cursor: pointer;
		}

		.page {
			width: min(1120px, calc(100vw - 28px));
			margin: 0 auto;
			padding: 26px 0 30px;
		}

		.header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			margin-bottom: 20px;
		}

		.logo-row {
			display: flex;
			align-items: center;
			gap: 12px;
			min-width: 0;
		}

		.logo {
			display: grid;
			place-items: center;
			width: 48px;
			height: 48px;
			border-radius: 8px;
			background: var(--ink);
			color: #fff;
			font-weight: 800;
			font-size: 15px;
		}

		h1 {
			margin: 0;
			font-size: 28px;
			line-height: 1.1;
		}

		.header p {
			margin: 5px 0 0;
			color: var(--muted);
			font-size: 16px;
			line-height: 1.35;
		}

		.status {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			border: 1px solid rgba(35, 113, 77, .22);
			border-radius: 999px;
			background: rgba(255, 255, 255, .72);
			padding: 9px 13px;
			color: var(--green);
			font-size: 15px;
			white-space: nowrap;
		}

		.status::before {
			content: "";
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: currentColor;
		}

		.header-actions {
			display: flex;
			align-items: center;
			gap: 8px;
			flex: 0 0 auto;
		}

		.back-button,
		.reset-button {
			min-height: 42px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: var(--white);
			padding: 8px 12px;
			color: var(--ink);
			font-size: 15px;
			font-weight: 700;
			white-space: nowrap;
		}

		.back-button:hover,
		.back-button:focus-visible,
		.reset-button:hover,
		.reset-button:focus-visible {
			border-color: var(--brand);
			color: var(--brand-dark);
		}

		.back-button[hidden],
		.reset-button[hidden] {
			display: none;
		}

		.steps {
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: 8px;
			margin-bottom: 16px;
			display: none;
		}

		.step {
			min-height: 58px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: rgba(255, 255, 255, .70);
			padding: 9px 10px;
			color: var(--muted);
		}

		.step strong {
			display: block;
			font-size: 16px;
			line-height: 1.15;
		}

		.step span {
			display: block;
			margin-top: 3px;
			font-size: 13px;
		}

		.step.active {
			border-color: rgba(213, 43, 30, .45);
			background: #fff;
			color: var(--ink);
			box-shadow: inset 0 -4px 0 var(--brand);
		}

		.step.done {
			border-color: rgba(35, 113, 77, .20);
			background: rgba(35, 113, 77, .08);
			color: var(--green);
		}

		.main {
			display: grid;
			grid-template-columns: minmax(0, 1fr) 300px;
			gap: 16px;
			align-items: start;
		}

		.helper,
		.side {
			border: 1px solid var(--line);
			border-radius: 8px;
			background: rgba(255, 253, 249, .94);
			box-shadow: var(--shadow);
		}

		.helper {
			height: 700px;
			max-height: calc(100vh - 135px);
			min-height: 560px;
			display: flex;
			flex-direction: column;
			overflow: hidden;
		}

		.question-head {
			padding: 24px 28px 20px;
			border-bottom: 1px solid var(--line);
			background: var(--paper);
		}

		.question-head h2 {
			margin: 0;
			font-size: 32px;
			line-height: 1.12;
			max-width: 720px;
		}

		.question-head p {
			margin: 7px 0 0;
			max-width: 690px;
			color: var(--muted);
			font-size: 17px;
			line-height: 1.45;
		}

		.messages {
			flex: 1;
			min-height: 0;
			overflow: auto;
			padding: 22px 28px;
			overscroll-behavior: contain;
			scroll-behavior: smooth;
			-webkit-overflow-scrolling: touch;
		}

		.message {
			margin-bottom: 18px;
			display: flex;
		}

		.message.mobile-message-transition {
			transition: opacity .24s ease, transform .36s cubic-bezier(.22, 1, .36, 1), height .36s cubic-bezier(.22, 1, .36, 1), margin-bottom .36s cubic-bezier(.22, 1, .36, 1);
			will-change: opacity, transform;
			-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
		}

		.message.mobile-message-enter-start {
			opacity: 0;
			transform: translate3d(0, 24px, 0);
		}

		.message.mobile-message-leave {
			transition-duration: .36s;
			transform: translate3d(0, var(--mobile-message-slide-y, -22px), 0);
		}

		.message.user {
			justify-content: flex-end;
		}

		.bubble {
			width: min(680px, 100%);
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			padding: 18px;
			line-height: 1.45;
			box-shadow: 0 10px 22px rgba(42, 34, 24, .07);
		}

		.message-text {
			margin: 0;
		}

		.message.user .bubble {
			width: fit-content;
			max-width: min(620px, 92%);
			background: var(--ink);
			border-color: var(--ink);
			color: #fff;
		}

		.message.answered .bubble {
			background: var(--paper);
			box-shadow: none;
			color: var(--muted);
		}

		.message.answered:not(.transitioning) .quick,
		.message.answered:not(.transitioning) .selection-picker,
		.message.answered:not(.transitioning) .vehicle-autocomplete {
			display: none;
		}

		.quick {
			display: grid;
			grid-template-columns: 1fr;
			gap: 10px;
			margin-top: 16px;
		}

		.choice {
			min-height: 56px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: var(--white);
			color: var(--ink);
			padding: 15px 17px;
			text-align: left;
			line-height: 1.25;
			font-size: 18px;
		}

		.choice strong,
		.choice small {
			display: block;
		}

		.choice small {
			margin-top: 4px;
			color: var(--muted);
			font-size: 14px;
		}

		.selection-picker {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: 10px;
			margin-top: 16px;
		}

		.selection-picker select {
			min-width: 0;
			min-height: 54px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			padding: 0 14px;
			color: var(--ink);
			font: inherit;
		}

		.selection-picker button {
			min-height: 54px;
			border: 0;
			border-radius: 8px;
			background: var(--ink);
			color: #fff;
			padding: 0 18px;
			font-weight: 800;
		}

		.preparation-images {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 10px;
			margin-top: 16px;
		}

		.preparation-images figure {
			margin: 0;
		}

		.preparation-image-button {
			position: relative;
			display: block;
			width: 100%;
			border: 0;
			border-radius: 8px;
			padding: 0;
			background: transparent;
			cursor: zoom-in;
		}

		.preparation-images img {
			display: block;
			width: 100%;
			aspect-ratio: 4 / 3;
			border: 1px solid var(--line);
			border-radius: 8px;
			object-fit: contain;
			background: #fff;
		}

		.preparation-image-button:hover img,
		.preparation-image-button:focus-visible img {
			border-color: var(--brand);
			box-shadow: 0 0 0 4px rgba(213, 43, 30, .10);
		}

		.preparation-zoom-icon {
			position: absolute;
			right: 9px;
			bottom: 9px;
			display: grid;
			width: 34px;
			height: 34px;
			place-items: center;
			border-radius: 50%;
			background: rgba(24, 22, 20, .88);
			color: #fff;
			font-size: 21px;
			font-weight: 800;
		}

		.preparation-images figcaption {
			margin-top: 5px;
			color: var(--muted);
			font-size: 14px;
			text-align: center;
		}

		.image-viewer {
			width: min(960px, calc(100vw - 32px));
			max-width: none;
			border: 0;
			border-radius: 8px;
			padding: 48px 16px 16px;
			background: #fff;
			box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
		}

		.image-viewer::backdrop {
			background: rgba(18, 16, 14, .72);
		}

		.image-viewer img {
			display: block;
			width: 100%;
			max-height: 78vh;
			object-fit: contain;
		}

		.image-viewer p {
			margin: 12px 0 0;
			text-align: center;
			font-weight: 700;
		}

		.image-viewer-close {
			position: absolute;
			top: 8px;
			right: 8px;
			width: 36px;
			height: 36px;
			border: 0;
			border-radius: 50%;
			background: var(--ink);
			color: #fff;
			font-size: 25px;
			line-height: 1;
		}

		.choice:hover,
		.choice:focus-visible {
			border-color: rgba(213, 43, 30, .56);
			outline: 4px solid rgba(213, 43, 30, .10);
		}

		.vehicle-autocomplete {
			margin-top: 16px;
		}

		.vehicle-search-input {
			width: 100%;
			min-height: 58px;
			border: 2px solid var(--ink);
			border-radius: 8px;
			padding: 0 16px;
			background: #fff;
			color: var(--ink);
			font-size: 18px;
			outline: none;
		}

		.vehicle-search-input:focus {
			border-color: var(--brand);
			box-shadow: 0 0 0 4px rgba(213, 43, 30, .12);
		}

		.vehicle-search-status {
			min-height: 20px;
			margin: 7px 2px 0;
			color: var(--muted);
			font-size: 14px;
		}

		.vehicle-suggestions {
			display: grid;
			max-height: 300px;
			overflow-y: auto;
			margin-top: 8px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
		}

		.vehicle-suggestions[hidden] {
			display: none;
		}

		.vehicle-suggestion {
			border: 0;
			border-bottom: 1px solid var(--line);
			background: #fff;
			padding: 12px 14px;
			color: var(--ink);
			text-align: left;
		}

		.vehicle-suggestion:last-child {
			border-bottom: 0;
		}

		.vehicle-suggestion:hover,
		.vehicle-suggestion:focus-visible {
			background: var(--paper);
			outline: 2px solid var(--brand);
			outline-offset: -2px;
		}

		.vehicle-suggestion strong,
		.vehicle-suggestion small {
			display: block;
		}

		.vehicle-suggestion small {
			margin-top: 3px;
			color: var(--muted);
			font-size: 14px;
		}

		.vehicle-search-fallback {
			width: 100%;
			min-height: 52px;
			margin-top: 12px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: var(--paper);
			color: var(--ink);
			font-weight: 800;
			font-size: 16px;
		}

		.vehicle-search-fallback:hover,
		.vehicle-search-fallback:focus-visible {
			border-color: var(--brand);
			outline: 4px solid rgba(213, 43, 30, .10);
		}

		.composer {
			border-top: 1px solid var(--line);
			padding: 16px 28px 20px;
			background: #fff;
		}

		.composer-label {
			display: block;
			margin-bottom: 9px;
			font-weight: 800;
		}

		.input-row {
			display: grid;
			grid-template-columns: minmax(0, 1fr) 132px;
			gap: 10px;
		}

		textarea {
			width: 100%;
			min-height: 66px;
			max-height: 150px;
			resize: vertical;
			border: 1px solid var(--line);
			border-radius: 8px;
			padding: 16px;
			background: #fff;
			color: var(--ink);
			line-height: 1.35;
			outline: none;
		}

		textarea:focus {
			border-color: rgba(213, 43, 30, .55);
			box-shadow: 0 0 0 4px rgba(213, 43, 30, .10);
		}

		.primary {
			min-height: 66px;
			border: 0;
			border-radius: 8px;
			background: var(--brand);
			color: #fff;
			font-weight: 800;
			font-size: 18px;
		}

		.primary:hover,
		.primary:focus-visible {
			background: var(--brand-dark);
			outline: 4px solid rgba(213, 43, 30, .14);
		}

		.side {
			display: none;
			padding: 18px;
			margin-top: 0;
			box-shadow: none;
		}

		.side.visible {
			display: block;
		}

		.side h2 {
			margin: 0 0 12px;
			font-size: 22px;
			line-height: 1.15;
		}

		.summary {
			display: grid;
			gap: 10px;
			margin-bottom: 18px;
		}

		.summary-row {
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			padding: 12px;
		}

		.summary-row span {
			display: block;
			margin-bottom: 5px;
			color: var(--muted);
			font-size: 13px;
			font-weight: 800;
			text-transform: uppercase;
			letter-spacing: .04em;
		}

		.summary-row strong {
			display: block;
			font-size: 17px;
			line-height: 1.25;
		}

		.summary-row.empty strong {
			color: var(--muted);
			font-weight: 400;
		}

		.result-box {
			border-top: 1px solid var(--line);
			padding-top: 16px;
		}

		.result-box h3 {
			margin: 0 0 8px;
			font-size: 20px;
			line-height: 1.15;
		}

		.result-box p {
			margin: 0;
			color: var(--muted);
			line-height: 1.45;
		}

		.result-products {
			display: grid;
			gap: 8px;
			margin-top: 12px;
		}

		.recommendation {
			display: grid;
			gap: 10px;
			margin-top: 12px;
		}

		.product {
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			padding: 14px;
		}

		.product--selected,
		.product-option.is-selected {
			border-color: rgba(213, 43, 30, .55);
			box-shadow: inset 4px 0 0 var(--brand);
		}

		.product-heading {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
		}

		.product-options {
			display: grid;
			gap: 10px;
		}

		.product-option {
			width: 100%;
			color: var(--ink);
			text-align: left;
			transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
		}

		.product-option.is-alternative {
			border-color: #d0cdc7;
			background: #ecebe8;
			box-shadow: none;
			color: #55524d;
		}

		.product-option.is-alternative:hover,
		.product-option.is-alternative:focus-visible {
			border-color: var(--brand);
			background: #f5f3ef;
			outline: 2px solid rgba(213, 43, 30, .16);
		}

		.product-option:disabled {
			cursor: default;
			opacity: 1;
			-webkit-text-fill-color: currentColor;
		}

		.product span {
			display: inline-flex;
			margin-bottom: 7px;
			border-radius: 999px;
			background: rgba(213, 43, 30, .10);
			color: var(--brand-dark);
			padding: 4px 8px;
			font-size: 12px;
			font-weight: 800;
		}

		.product-heading .product-label {
			margin-bottom: 0;
		}

		.product-option.is-alternative .product-label {
			background: #d9d7d2;
			color: #55524d;
		}

		.product strong {
			display: block;
			font-size: 18px;
			line-height: 1.2;
		}

		.product .product-price {
			flex: 0 0 auto;
			font-size: 18px;
			white-space: nowrap;
		}

		.product .product-name {
			margin-top: 10px;
		}

		.product p {
			margin-top: 7px;
			font-size: 15px;
		}

		.offer-action,
		.installation-contact {
			margin-top: 18px;
			border-top: 1px solid var(--line);
			padding-top: 18px;
		}

		.human-handover-dock {
			flex: 0 0 auto;
			border-top: 1px solid var(--line);
			background: var(--paper);
			padding: 14px 28px 16px;
			box-shadow: 0 -8px 20px rgba(42, 34, 24, .06);
		}

		.set-price {
			display: flex;
			align-items: baseline;
			justify-content: space-between;
			gap: 16px;
			margin-bottom: 12px;
		}

		.set-price span {
			color: var(--muted);
			font-size: 15px;
			font-weight: 700;
		}

		.set-price strong {
			font-size: 26px;
			white-space: nowrap;
		}

		.installation-contact h3 {
			margin: 0 0 12px;
			font-size: 20px;
		}

		.contact-fields {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 11px;
			margin-bottom: 12px;
		}

		.contact-fields label:last-child {
			grid-column: 1 / -1;
		}

		.contact-fields span {
			display: block;
			margin-bottom: 5px;
			font-size: 14px;
			font-weight: 800;
		}

		.contact-fields small {
			color: var(--muted);
			font-weight: 400;
		}

		.contact-fields input {
			width: 100%;
			min-height: 46px;
			border: 1px solid var(--line);
			border-radius: 6px;
			background: var(--white);
			padding: 9px 11px;
			color: var(--ink);
		}

		.contact-fields input:focus {
			border-color: var(--blue);
			outline: 2px solid rgba(37, 79, 119, .18);
			outline-offset: 1px;
		}

		.form-success,
		.form-error {
			margin-top: 10px !important;
			font-size: 15px;
			font-weight: 700;
		}

		.form-success {
			color: var(--green) !important;
		}

		.form-error {
			color: var(--brand-dark) !important;
		}

		.contact-confirmation {
			border-left: 4px solid var(--green);
			padding: 4px 0 4px 13px;
		}

		.contact-confirmation strong {
			font-size: 20px;
		}

		.contact-confirmation p {
			margin-top: 4px;
			color: var(--ink);
		}

		.handover-confirmation {
			border-left: 4px solid var(--blue);
			padding: 4px 0 4px 13px;
		}

		.handover-confirmation strong {
			font-size: 18px;
		}

		.handover-confirmation p {
			margin-top: 4px;
			color: var(--ink);
		}

		.actions {
			display: grid;
			gap: 9px;
			margin-top: 12px;
		}

		.action {
			width: 100%;
			min-height: 52px;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			color: var(--ink);
			font-weight: 800;
		}

		.action.red {
			border-color: var(--brand);
			background: var(--brand);
			color: #fff;
		}

		.action.secondary {
			border-color: var(--ink);
			background: var(--white);
			padding: 10px 14px;
			line-height: 1.25;
			white-space: normal;
		}

		.action:disabled {
			cursor: default;
			opacity: .68;
		}

		.note {
			margin-top: 16px;
			border-radius: 8px;
			background: rgba(37, 79, 119, .08);
			padding: 12px;
			color: var(--blue);
			font-size: 15px;
			line-height: 1.4;
		}

		.debug {
			margin-top: 18px;
			border-top: 1px solid var(--line);
			padding-top: 12px;
			color: var(--muted);
			font-size: 13px;
		}

		.debug summary {
			cursor: pointer;
			font-weight: 800;
		}

		.debug pre {
			max-height: 230px;
			overflow: auto;
			margin: 10px 0 0;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: #fff;
			padding: 10px;
			color: var(--ink);
			font-size: 12px;
			white-space: pre-wrap;
			word-break: break-word;
		}

		.typing {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			color: var(--muted);
		}

		.dots {
			display: inline-flex;
			gap: 4px;
		}

		.dots span {
			width: 7px;
			height: 7px;
			border-radius: 50%;
			background: var(--brand);
			animation: advisor-pulse 1s infinite ease-in-out;
		}

		.dots span:nth-child(2) {
			animation-delay: .16s;
		}

		.dots span:nth-child(3) {
			animation-delay: .32s;
		}

		.error {
			border: 1px solid rgba(213, 43, 30, .28);
			border-radius: 8px;
			background: rgba(213, 43, 30, .08);
			color: var(--brand-dark);
			padding: 12px;
		}

		.slideup-launcher {
			position: fixed;
			right: 22px;
			bottom: 22px;
			z-index: 1000;
			display: flex;
			align-items: center;
			gap: 11px;
			min-height: 58px;
			border: 0;
			border-radius: 8px;
			background: var(--brand);
			box-shadow: 0 14px 34px rgba(42, 34, 24, .24);
			padding: 8px 18px 8px 9px;
			color: #fff;
			font-weight: 800;
		}

		.slideup-launcher:hover,
		.slideup-launcher:focus-visible {
			background: var(--brand-dark);
			outline: 4px solid rgba(213, 43, 30, .18);
		}

		.slideup-launcher__mark {
			display: grid;
			width: 40px;
			height: 40px;
			place-items: center;
			border-radius: 6px;
			background: #fff;
			color: var(--brand-dark);
			font-size: 13px;
		}

		.slideup-panel {
			position: fixed;
			right: 18px;
			bottom: 18px;
			z-index: 1001;
			display: flex;
			width: min(1040px, calc(100vw - 36px));
			height: min(780px, calc(100dvh - 36px));
			flex-direction: column;
			overflow: hidden;
			border: 1px solid var(--line);
			border-radius: 8px;
			background: var(--bg);
			box-shadow: 0 24px 70px rgba(27, 26, 23, .28);
		}

		.slideup-toolbar {
			display: flex;
			min-height: 52px;
			flex: 0 0 auto;
			align-items: center;
			justify-content: space-between;
			border-bottom: 1px solid var(--line);
			background: var(--ink);
			padding: 0 10px 0 18px;
			color: #fff;
		}

		.slideup-toolbar strong {
			font-size: 16px;
		}

		.slideup-close {
			display: grid;
			width: 38px;
			height: 38px;
			place-items: center;
			border: 0;
			border-radius: 6px;
			background: transparent;
			color: #fff;
			font-size: 28px;
			line-height: 1;
		}

		.slideup-close:hover,
		.slideup-close:focus-visible {
			background: rgba(255, 255, 255, .14);
			outline: 2px solid #fff;
		}

		:scope.advisor-selector--slideup .page {
			display: flex;
			width: 100%;
			min-height: 0;
			flex: 1;
			flex-direction: column;
			padding: 14px;
		}

		:scope.advisor-selector--slideup .header {
			flex: 0 0 auto;
			margin-bottom: 12px;
		}

		:scope.advisor-selector--slideup .header p {
			display: none;
		}

		:scope.advisor-selector--slideup .main {
			min-height: 0;
			flex: 1;
			grid-template-columns: minmax(0, 1fr);
		}

		:scope.advisor-selector--slideup .helper {
			height: 100%;
			min-height: 0;
			max-height: none;
		}

		:scope.advisor-selector--slideup .side {
			display: none !important;
		}

		:scope.advisor-selector--iframe {
			height: 100dvh;
		}

		:scope.advisor-selector--iframe .page {
			display: flex;
			width: 100%;
			height: 100%;
			min-height: 0;
			flex-direction: column;
			padding: 0;
		}

		:scope.advisor-selector--iframe .header,
		:scope.advisor-selector--iframe .steps,
		:scope.advisor-selector--iframe .side {
			display: none !important;
		}

		:scope.advisor-selector--iframe .iframe-actions {
			position: absolute;
			top: 16px;
			right: 64px;
			z-index: 2;
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 8px;
		}

		:scope.advisor-selector--iframe .question-head {
			position: relative;
			padding-right: 72px;
		}

		:scope.advisor-selector--iframe .question-head.has-iframe-actions {
			padding-right: 280px;
		}

		:scope.advisor-selector--iframe .main {
			display: block;
			min-height: 0;
			flex: 1;
		}

		:scope.advisor-selector--iframe .helper {
			height: 100%;
			min-height: 0;
			max-height: none;
			border: 0;
			border-radius: 0;
			box-shadow: none;
		}

		.slideup-enter,
		.slideup-leave {
			transition: opacity .2s ease, transform .24s ease;
		}

		.slideup-enter-start,
		.slideup-leave-end {
			opacity: 0;
			transform: translateY(28px);
		}

		.slideup-enter-end,
		.slideup-leave-start {
			opacity: 1;
			transform: translateY(0);
		}

		@media (max-width: 900px) {
			:scope {
				font-size: 16px;
			}

			.page {
				width: min(100vw - 18px, 720px);
				padding-top: 10px;
			}

			.header {
				align-items: center;
				flex-wrap: wrap;
			}

			.status {
				display: none;
			}

			h1 {
				font-size: 24px;
			}

			.steps {
				grid-template-columns: 1fr;
			}

			.step {
				display: none;
			}

			.step.active,
			.step.done {
				display: block;
			}

			.main {
				grid-template-columns: 1fr;
			}

			.side.visible {
				display: none;
			}

			.helper {
				height: calc(100vh - 118px);
				min-height: 560px;
				max-height: none;
			}

			.question-head,
			.messages,
			.composer,
			.human-handover-dock {
				padding-left: 16px;
				padding-right: 16px;
			}

			.question-head h2 {
				font-size: 27px;
			}

			.question-head p {
				font-size: 16px;
			}

			.message.assistant.answered:not(.transitioning),
			.message.user {
				display: none;
			}

			.message.assistant:not(.answered) {
				transition: opacity .24s ease, transform .32s cubic-bezier(.22, 1, .36, 1);
				will-change: opacity, transform;
				-webkit-backface-visibility: hidden;
				backface-visibility: hidden;
			}

			.quick,
			.input-row,
			.selection-picker {
				grid-template-columns: 1fr;
			}

			.preparation-images {
				grid-template-columns: 1fr;
			}

			.contact-fields {
				grid-template-columns: 1fr;
			}

			.contact-fields label:last-child {
				grid-column: auto;
			}

			.set-price {
				align-items: flex-start;
				flex-direction: column;
				gap: 4px;
			}

			.choice {
				min-height: 54px;
			}

			.primary {
				width: 100%;
			}

			.slideup-launcher {
				left: 10px;
				right: 10px;
				bottom: 10px;
				width: auto;
				max-width: none;
				justify-content: center;
			}

			.slideup-launcher > span:last-child {
				min-width: 0;
				overflow-wrap: anywhere;
			}

			.slideup-panel {
				right: 6px;
				bottom: 6px;
				width: calc(100vw - 12px);
				height: calc(100dvh - 12px);
			}

			:scope.advisor-selector--slideup .page {
				width: 100%;
				padding: 10px;
			}

			:scope.advisor-selector--slideup .helper {
				height: 100%;
				min-height: 0;
			}

			:scope.advisor-selector--iframe .page {
				width: 100%;
				padding: 0;
			}

			:scope.advisor-selector--iframe .helper {
				height: 100%;
				min-height: 0;
			}

			:scope.advisor-selector--iframe .helper.has-iframe-actions {
				padding-bottom: calc(64px + env(safe-area-inset-bottom));
			}

			:scope.advisor-selector--iframe .question-head.has-iframe-actions {
				padding-right: 64px;
			}

			:scope.advisor-selector--iframe .iframe-actions {
				position: fixed;
				top: auto;
				right: 0;
				bottom: 0;
				left: 0;
				z-index: 10;
				padding: 10px 12px max(10px, env(safe-area-inset-bottom));
				border-top: 1px solid var(--line);
				background: rgba(255, 253, 249, .96);
				box-shadow: 0 -8px 24px rgba(42, 34, 24, .10);
				backdrop-filter: blur(8px);
			}

			:scope.advisor-selector--iframe .iframe-actions .back-button,
			:scope.advisor-selector--iframe .iframe-actions .reset-button {
				min-width: 0;
				flex: 1;
			}
		}

		@media (max-width: 620px) {
			:scope.advisor-selector--iframe .question-head.has-iframe-actions {
				padding-right: 64px;
			}
		}
}
