:root {
  --handy914-blue: #0090f0;
  --handy914-blue-dark: #0078c8;
  --handy914-navy: #123b63;
  --handy914-ink: #0f172a;
	--handy914-body: #0f172a;
  --handy914-muted: #64748b;
  --handy914-soft: #eaf4fd;
  --handy914-border: #d8ebfc;
  --handy914-white: #fff;
	--handy914-panel: #fff;
	--handy914-card: #fff;
	--handy914-success: #18794e;
	--handy914-button-text: #fff;
	--handy914-border-width: 1px;
	--handy914-panel-radius: 20px;
	--handy914-control-radius: 9px;
	--handy914-button-radius: 9px;
	--handy914-base-font-size: 16px;
	--handy914-font: inherit;
	--handy914-shadow-alpha: .10;
}
.handy914-estimator, .handy914-estimator * { box-sizing: border-box; }
.handy914-estimator { max-width: 680px; margin: 0 auto; padding: clamp(20px, 4vw, 36px); color: var(--handy914-body); background: var(--handy914-panel); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-panel-radius); box-shadow: 0 18px 50px rgba(18,59,99,var(--handy914-shadow-alpha)); font-family: var(--handy914-font); font-size: var(--handy914-base-font-size); }
.handy914-estimator [hidden], #top .handy914-estimator [hidden] { display: none !important; }
.handy914-estimator h3 { margin: 4px 0 22px; color: var(--handy914-ink); font-size: clamp(25px, 4vw, 34px); line-height: 1.15; }
.handy914-kicker { margin: 0; color: var(--handy914-blue-dark); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.handy914-guide { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; padding: 0 2px 18px; border-bottom: var(--handy914-border-width) solid var(--handy914-border); }
.handy914-guide__avatar { width: 48px; height: 48px; display: block; flex: 0 0 48px; object-fit: cover; object-position: 50% 14%; background: var(--handy914-soft); border: 2px solid var(--handy914-border); border-radius: 50%; }
.handy914-guide__identity strong, .handy914-guide__identity small { display: block; }
.handy914-guide__identity strong { color: var(--handy914-ink); font-size: 16px; line-height: 1.3; }
.handy914-guide__identity small { margin-top: 3px; color: var(--handy914-muted); font-size: 13px; }
.handy914-guide__identity i { width: 8px; height: 8px; display: inline-block; margin-right: 5px; background: var(--handy914-success); border-radius: 50%; }
.handy914-progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; color: var(--handy914-muted); font-size: 12px; font-weight: 700; }
.handy914-progress { height: 5px; margin: 0 0 26px; overflow: hidden; background: var(--handy914-border); border-radius: 99px; }
.handy914-progress span { display: block; height: 100%; background: var(--handy914-blue); border-radius: inherit; transition: width .25s ease; }
.handy914-step[hidden] { display: none !important; }
.handy914-step.is-active { display: block; animation: handy914-message-in .24s ease-out; }
.handy914-chat-prompt { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 22px; }
.handy914-chat-avatar { width: 34px; height: 34px; display: block; flex: 0 0 34px; margin-top: 4px; object-fit: cover; object-position: 50% 14%; background: var(--handy914-soft); border: 2px solid var(--handy914-border); border-radius: 50%; }
.handy914-chat-bubble { position: relative; width: min(100%, 545px); padding: 17px 19px; background: var(--handy914-soft); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: 4px 18px 18px 18px; }
.handy914-chat-bubble h3 { margin: 5px 0 7px; font-size: clamp(23px, 4vw, 31px); }
.handy914-chat-bubble > p:last-child { margin: 0; color: var(--handy914-muted); font-size: 14px; line-height: 1.5; }
.handy914-chat-reply { width: fit-content; max-width: 82%; margin: 0 0 18px auto; padding: 12px 16px; color: var(--handy914-button-text); background: var(--handy914-blue); border-radius: 17px 4px 17px 17px; box-shadow: 0 6px 16px rgba(31,111,191,.15); font-weight: 700; line-height: 1.4; }
@keyframes handy914-message-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.handy914-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.handy914-choice { min-height: 72px; padding: 14px; display: flex; align-items: center; gap: 11px; text-align: left; color: var(--handy914-ink); background: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); cursor: pointer; font: inherit; font-weight: 700; }
.handy914-choice:hover, .handy914-choice[aria-pressed="true"] { color: var(--handy914-white); background: var(--handy914-blue); border-color: var(--handy914-blue); }
.handy914-choice__icon { width: 25px; height: 25px; display: grid; place-items: center; color: var(--handy914-blue); background: var(--handy914-soft); border-radius: 6px; }
.handy914-choice__icon::before { content: "+"; font-size: 20px; line-height: 1; }
.handy914-choice[aria-pressed="true"] .handy914-choice__icon::before { content: "✓"; font-size: 16px; }
.handy914-choice[aria-pressed="true"] .handy914-choice__icon { color: var(--handy914-blue-dark); background: var(--handy914-white); }
.handy914-service-wrap { margin-top: 20px; padding: 16px; background: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); }
.handy914-estimator label { display: block; color: var(--handy914-ink); font-weight: 700; }
.handy914-estimator input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]), .handy914-estimator select, .handy914-estimator textarea { width: 100%; min-height: 56px; margin-top: 8px; padding: 15px 16px; color: var(--handy914-body); background-color: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); box-shadow: 0 1px 2px rgba(15,23,42,.04); font: inherit; font-size: 16px; }
.handy914-estimator select { padding-right: 48px; appearance: none; -webkit-appearance: none; color-scheme: light; background-image: linear-gradient(45deg,transparent 50%,var(--handy914-blue) 50%),linear-gradient(135deg,var(--handy914-blue) 50%,transparent 50%); background-position: calc(100% - 21px) 25px,calc(100% - 15px) 25px; background-size: 6px 6px,6px 6px; background-repeat: no-repeat; cursor: pointer; }
.handy914-estimator select option { color: var(--handy914-body); background: #fff; }
.handy914-estimator textarea { min-height: 135px; resize: vertical; }
.handy914-estimator input[readonly] { color: var(--handy914-body); background: var(--handy914-card); cursor: default; }
.handy914-estimator input::placeholder, .handy914-estimator textarea::placeholder { color: #7b8797; opacity: 1; }

/* Enfold form rules are intentionally strong. Keep estimator controls consistent. */
#top .handy914-estimator input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
#top .handy914-estimator select {
	height: 56px !important;
	min-height: 56px !important;
	margin-top: 8px !important;
	padding: 0 16px !important;
	color: var(--handy914-body) !important;
	background-color: var(--handy914-card) !important;
	border: var(--handy914-border-width) solid var(--handy914-border) !important;
	border-radius: var(--handy914-control-radius) !important;
	box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
	font-family: var(--handy914-font) !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}
#top .handy914-estimator select {
	padding-right: 48px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	background-color: var(--handy914-card) !important;
	background-image: linear-gradient(45deg,transparent 50%,var(--handy914-blue) 50%),linear-gradient(135deg,var(--handy914-blue) 50%,transparent 50%) !important;
	background-position: calc(100% - 21px) 25px,calc(100% - 15px) 25px !important;
	background-size: 6px 6px,6px 6px !important;
	background-repeat: no-repeat !important;
}
#top .handy914-estimator textarea {
	height: auto !important;
	min-height: 150px !important;
	margin-top: 8px !important;
	padding: 15px 16px !important;
	color: var(--handy914-body) !important;
	background-color: var(--handy914-card) !important;
	border: var(--handy914-border-width) solid var(--handy914-border) !important;
	border-radius: var(--handy914-control-radius) !important;
	box-shadow: 0 1px 2px rgba(15,23,42,.04) !important;
	font-family: var(--handy914-font) !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}
#top .handy914-estimator input[readonly] { color: var(--handy914-body) !important; background-color: var(--handy914-card) !important; opacity: 1 !important; }
#top .handy914-estimator input::placeholder, #top .handy914-estimator textarea::placeholder { color: #7b8797 !important; opacity: 1 !important; }
.handy914-estimator input:focus, .handy914-estimator select:focus, .handy914-estimator textarea:focus, .handy914-choice:focus { outline: 3px solid rgba(66,147,228,.28); outline-offset: 2px; border-color: var(--handy914-blue); }
.handy914-size-list { display: grid; gap: 9px; margin-bottom: 18px; }
.handy914-assumptions { margin-top: 20px; }
.handy914-assumption[hidden] { display: none !important; }
.handy914-service-questions { display: grid; gap: 16px; margin: 20px 0; }
.handy914-question-set[hidden], .handy914-unresearched[hidden] { display: none !important; }
.handy914-question-set { display: grid; gap: 15px; }
.handy914-assumption { padding: 14px 16px; color: var(--handy914-body); background: var(--handy914-soft); border-left: 4px solid var(--handy914-blue); border-radius: var(--handy914-control-radius); }
.handy914-assumption strong, .handy914-assumption span { display: block; }
.handy914-assumption strong { margin-bottom: 3px; color: var(--handy914-ink); }
.handy914-assumption span { color: var(--handy914-muted); font-size: 14px; line-height: 1.45; }
.handy914-radio { position: relative; display: flex !important; align-items: center; padding: 14px 46px 14px 14px; background: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); cursor: pointer; }
.handy914-radio:has(input:checked) { background: var(--handy914-soft); border-color: var(--handy914-blue); }
.handy914-radio input { position: absolute; right: 16px; accent-color: var(--handy914-blue); }
.handy914-radio strong, .handy914-radio small { display: block; }
.handy914-radio small, .handy914-estimator label small { color: var(--handy914-muted); font-weight: 400; }
.handy914-check { margin-top: 16px; font-weight: 500 !important; }
.handy914-check input { margin-right: 8px; accent-color: var(--handy914-blue); }
.handy914-check--option { position: relative; min-height: 66px; display: flex !important; align-items: center; gap: 12px; padding: 13px 16px; background: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); cursor: pointer; }
.handy914-check--option:has(input:checked) { background: var(--handy914-soft); border-color: var(--handy914-blue); }
.handy914-check--option input { width: 23px; height: 23px; flex: 0 0 23px; margin: 0; appearance: none; border: 2px solid var(--handy914-border); border-radius: 6px; background: var(--handy914-card); }
.handy914-check--option input:checked { border-color: var(--handy914-blue); background-color: var(--handy914-blue); background-image: linear-gradient(135deg,transparent 45%,#fff 45% 56%,transparent 56%),linear-gradient(45deg,transparent 43%,#fff 43% 54%,transparent 54%); }
#top .handy914-check--option input[type="checkbox"] { display: block !important; width: 23px !important; height: 23px !important; min-height: 23px !important; flex: 0 0 23px !important; margin: 0 !important; padding: 0 !important; -webkit-appearance: none !important; appearance: none !important; background-color: var(--handy914-card) !important; border: 2px solid var(--handy914-border) !important; border-radius: 6px !important; }
#top .handy914-check--option input[type="checkbox"]:checked { background-color: var(--handy914-blue) !important; border-color: var(--handy914-blue) !important; }
.handy914-check--option strong, .handy914-check--option small { display: block; }
.handy914-check--option small { color: var(--handy914-muted); font-weight: 400; }
.handy914-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.handy914-fields .wide { grid-column: 1/-1; }
.handy914-fields input[type="file"] { width: 100%; margin-top: 8px; padding: 13px; background: var(--handy914-card); border: var(--handy914-border-width) dashed var(--handy914-border); border-radius: var(--handy914-control-radius); font-weight: 400; }
.handy914-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.handy914-actions button, .handy914-quote-button { min-height: 48px; padding: 11px 20px; border: 0; border-radius: var(--handy914-button-radius); cursor: pointer; font: inherit; font-weight: 700; }
.handy914-next, .handy914-submit, .handy914-quote-button { color: var(--handy914-button-text); background: var(--handy914-blue); box-shadow: 0 8px 20px rgba(31,111,191,.20); }
.handy914-next:hover, .handy914-submit:hover, .handy914-quote-button:hover { background: var(--handy914-navy); }
.handy914-next:disabled, .handy914-submit:disabled { opacity: .55; cursor: not-allowed; }
.handy914-back { color: var(--handy914-navy); background: transparent; border: 1px solid #cbd5df !important; }
.handy914-fineprint { color: var(--handy914-muted); }
.handy914-fineprint { text-align: center; font-size: 13px; }
.handy914-message { margin-top: 12px; color: #b42318; font-weight: 700; }
.handy914-message:empty { display: none; }
.handy914-zip-status { display: block; min-height: 0; margin-top: 6px; font-size: 13px; font-weight: 600; }
.handy914-zip-status:empty { display: none; }
.handy914-zip-status.is-valid { color: var(--handy914-success); }
.handy914-zip-status.is-invalid { color: #b42318; }
.handy914-result { padding: 20px; background: var(--handy914-card); border: var(--handy914-border-width) solid var(--handy914-border); border-radius: var(--handy914-control-radius); }
.handy914-result h3 { margin: 5px 0 0; color: var(--handy914-navy); font-size: clamp(36px, 8vw, 56px); }
.handy914-result__service { margin-top: 4px; color: var(--handy914-muted); font-weight: 700; }
.handy914-result__basis { margin: 18px 0; padding: 14px 16px; background: var(--handy914-soft); border-radius: var(--handy914-control-radius); }
.handy914-result__basis strong, .handy914-result__basis span { display: block; }
.handy914-result__basis span { margin-top: 3px; color: var(--handy914-muted); }
.handy914-review-reasons { margin: 14px 0 18px 20px; color: var(--handy914-body); }
.handy914-result__success { margin-top: 20px; padding: 14px; color: var(--handy914-success); background: #eaf8f1; border-radius: 9px; font-weight: 700; }
.handy914-estimator input[type="hidden"], #top .handy914-estimator input[type="hidden"] { display: none !important; width: 0 !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.handy914-estimator .handy914-honeypot, #top .handy914-estimator .handy914-honeypot, #top .handy914-estimator .handy914-honeypot * { display: none !important; visibility: hidden !important; position: absolute !important; left: -9999px !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.handy914-modal[hidden] { display: none !important; }
.handy914-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 18px; }
.handy914-modal__backdrop { position: absolute; inset: 0; background: rgba(4,19,33,.72); }
.handy914-modal__dialog { position: relative; width: min(720px,100%); max-height: calc(100vh - 36px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border-radius: var(--handy914-panel-radius); }
.handy914-modal__close { position: absolute; z-index: 2; top: 10px; right: 12px; width: 40px; height: 40px; color: var(--handy914-navy); background: var(--handy914-white); border: 1px solid #dbe2e9; border-radius: 50%; cursor: pointer; font-size: 26px; line-height: 1; }
.handy914-modal-open { overflow: hidden; }
.handy914-float, .handy914-float * { box-sizing: border-box; }
.handy914-float, #top .handy914-float { position: fixed; z-index: 99990; right: max(22px,env(safe-area-inset-right)); bottom: max(22px,env(safe-area-inset-bottom)); width: 76px !important; min-width: 76px !important; max-width: 76px !important; height: 76px !important; min-height: 76px !important; max-height: 76px !important; display: block; margin: 0 !important; padding: 3px !important; color: var(--handy914-white); background: var(--handy914-white) !important; border: 2px solid var(--handy914-blue) !important; border-radius: 50% !important; box-shadow: 0 10px 28px rgba(18,59,99,.26); cursor: pointer; line-height: 1; appearance: none; -webkit-appearance: none; transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.handy914-float:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 34px rgba(18,59,99,.38); }
.handy914-float:focus-visible { outline: 4px solid rgba(0,144,240,.3); outline-offset: 4px; }
.handy914-float img { position: relative; z-index: 2; width: 100% !important; max-width: none !important; height: 100% !important; display: block; margin: 0 !important; object-fit: cover; object-position: 50% 35%; border: 0 !important; border-radius: 50% !important; }
.handy914-float__pulse { position: absolute; z-index: 1; inset: -4px; border: 1.5px solid rgba(0,144,240,.38); border-radius: 50%; animation: handy914-float-pulse 2.7s ease-out infinite; }
.handy914-float__tooltip { position: absolute; right: calc(100% + 12px); top: 50%; width: max-content; padding: 9px 12px; color: var(--handy914-white); background: var(--handy914-navy); border-radius: 9px; box-shadow: 0 8px 22px rgba(18,59,99,.22); opacity: 0; pointer-events: none; text-align: right; transform: translate(7px,-50%); transition: opacity .18s ease, transform .18s ease; }
.handy914-float__tooltip::after { content: ""; position: absolute; left: 100%; top: 50%; border: 6px solid transparent; border-left-color: var(--handy914-navy); transform: translateY(-50%); }
.handy914-float__tooltip strong, .handy914-float__tooltip small { display: block; color: inherit; line-height: 1.25; }
.handy914-float__tooltip strong { font-size: 14px; }
.handy914-float__tooltip small { margin-top: 2px; color: #c8e7fb; font-size: 12px; }
.handy914-float:hover .handy914-float__tooltip, .handy914-float:focus-visible .handy914-float__tooltip { opacity: 1; transform: translate(0,-50%); }
.handy914-modal-open .handy914-float { opacity: 0; pointer-events: none; transform: scale(.9); }
@keyframes handy914-float-pulse { 0% { opacity: .55; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.22); } }
@media (hover: none), (pointer: coarse), (max-width: 782px) { .handy914-float__tooltip { display: none; } }
@media (max-width: 782px) {
	.handy914-modal { align-items: stretch; padding: 0; }
	.handy914-modal__dialog { width: 100%; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-radius: 0; }
	.handy914-modal__close { position: fixed; top: max(9px,env(safe-area-inset-top)); right: max(9px,env(safe-area-inset-right)); }
  .handy914-modal .handy914-estimator { width: 100%; min-height: 100%; max-width: none; margin: 0; padding: max(54px,calc(env(safe-area-inset-top) + 48px)) 14px max(84px,calc(env(safe-area-inset-bottom) + 70px)); overflow-x: hidden; border: 0; border-radius: 0; box-shadow: none; }
	.handy914-guide { gap: 9px; margin-bottom: 14px; padding-bottom: 12px; }
	.handy914-guide__avatar { width: 48px; height: 48px; flex-basis: 48px; }
	.handy914-guide__identity strong { font-size: 15px; }
	.handy914-guide__identity small { font-size: 11px; }
	.handy914-progress-meta span:last-child { display: none; }
	.handy914-progress { margin-bottom: 18px; }
	.handy914-chat-avatar { width: 34px; height: 34px; flex-basis: 34px; }
	.handy914-chat-prompt { gap: 8px; margin-bottom: 15px; }
	.handy914-chat-bubble { min-width: 0; padding: 13px 14px; }
	.handy914-chat-bubble h3 { margin: 4px 0 5px; font-size: clamp(21px,6.4vw,27px); }
	.handy914-chat-bubble > p:last-child { font-size: 13px; line-height: 1.4; }
	.handy914-chat-reply { max-width: 90%; }
  .handy914-category-grid, .handy914-fields { grid-template-columns: 1fr; }
	.handy914-category-grid { gap: 8px; }
	.handy914-choice { min-height: 58px; padding: 10px 12px; }
	.handy914-fields .wide { grid-column: auto; }
	.handy914-fields > *, .handy914-category-grid > *, .handy914-size-list > * { min-width: 0; }
	.handy914-step.is-active .handy914-actions { position: sticky; z-index: 5; bottom: max(8px,env(safe-area-inset-bottom)); margin: 16px -4px 0; padding: 10px 4px; background: linear-gradient(to bottom,rgba(255,255,255,0),var(--handy914-panel) 28%); }
  .handy914-actions { flex-direction: column-reverse; }
  .handy914-actions button { width: 100%; }
	.handy914-float, #top .handy914-float { right: max(13px,env(safe-area-inset-right)); bottom: max(13px,env(safe-area-inset-bottom)); width: 58px !important; min-width: 58px !important; max-width: 58px !important; height: 58px !important; min-height: 58px !important; max-height: 58px !important; padding: 2px !important; }
}
@media (prefers-reduced-motion: reduce) { .handy914-progress span, .handy914-float { transition: none; } .handy914-float__pulse { animation: none; } }
