/* Lead engine -- samtastic-core 1.21.366. Uses the site's own tokens when present. */
.sle, .sle-block, .sle-toast, .sle-pill { --sle-ink: var(--nv-ink, #0f172a); --sle-mute: #5b6475; --sle-line: #e5e7eb; --sle-bg: #fff; --sle-soft: #f6f7f9; --sle-gold: var(--sam-gold, #9c7a2e); --sle-acc: #0b1220; --sle-wa: #128c4a; --sle-tg: #229ed9; font-family: inherit; }
html.sle-open { overflow: hidden; }
.sle { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; }
.sle[hidden] { display: none; }
.sle__scrim { position: absolute; inset: 0; background: rgba(9, 13, 22, .45); opacity: 0; transition: opacity .2s; }
.sle__sheet { position: relative; width: 100%; max-width: 560px; max-height: 92dvh; display: flex; flex-direction: column; background: var(--sle-bg); color: var(--sle-ink); border-radius: 18px 18px 0 0; box-shadow: 0 -10px 40px rgba(0,0,0,.18); transform: translateY(24px); opacity: 0; transition: transform .22s ease, opacity .22s ease; }
.sle.is-in .sle__scrim { opacity: 1; }
.sle.is-in .sle__sheet { transform: none; opacity: 1; }
@media (min-width: 720px) { .sle { align-items: center; } .sle__sheet { border-radius: 18px; max-height: 86vh; } }
@media (prefers-reduced-motion: reduce) { .sle__sheet, .sle__scrim { transition: none; } }
.sle__top { display: flex; align-items: center; gap: 10px; padding: 10px 10px 6px; }
.sle__icon { width: 44px; height: 44px; border: 0; background: transparent; font-size: 28px; line-height: 1; color: var(--sle-ink); cursor: pointer; border-radius: 10px; }
.sle__icon:hover, .sle__icon:focus-visible { background: var(--sle-soft); }
.sle__bar { flex: 1; height: 4px; background: var(--sle-line); border-radius: 4px; overflow: hidden; }
.sle__bar i { display: block; height: 100%; width: 5%; background: var(--sle-gold); transition: width .25s; }
.sle__body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 4px 20px calc(20px + env(safe-area-inset-bottom)); }
.sle__kicker { margin: 4px 0 2px; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--sle-gold); font-weight: 700; }
.sle__h { margin: 2px 0 6px; font-size: 22px; line-height: 1.25; outline: none; }
.sle__sub { margin: 0 0 14px; color: var(--sle-mute); font-size: 15px; }
.sle__chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 14px 0; }
.sle-chip { min-height: 52px; padding: 10px 14px; border: 1.5px solid var(--sle-line); border-radius: 12px; background: var(--sle-bg); color: var(--sle-ink); font: inherit; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; transition: border-color .12s, background .12s; }
.sle-chip small { display: block; margin-top: 2px; font-weight: 400; font-size: 12.5px; color: var(--sle-mute); }
.sle-chip:hover { border-color: #c9ced6; }
.sle-chip:focus-visible, .sle-btn:focus-visible, .sle-link:focus-visible { outline: 3px solid rgba(156,122,46,.45); outline-offset: 2px; }
.sle-chip.is-on { border-color: var(--sle-acc); background: var(--sle-acc); color: #fff; }
.sle-chip.is-on small { color: rgba(255,255,255,.8); }
.sle__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 16px 0 4px; }
.sle-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 20px; border: 0; border-radius: 12px; background: var(--sle-acc); color: #fff !important; font: inherit; font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.sle-btn:disabled { opacity: .6; }
.sle-btn--wa { background: var(--sle-wa); }
.sle-btn--tg { background: var(--sle-tg); }
.sle-btn--ghost { background: var(--sle-soft); color: var(--sle-ink) !important; border: 1.5px solid var(--sle-line); }
.sle-btn--sm { min-height: 40px; padding: 8px 14px; font-size: 14px; width: 100%; margin-top: 8px; }
.sle-link { min-height: 44px; padding: 8px 6px; border: 0; background: none; color: var(--sle-mute); font: inherit; font-size: 15px; text-decoration: underline; cursor: pointer; }
.sle-field { display: block; margin: 12px 0; }
.sle-field span { display: block; margin-bottom: 6px; font-size: 13.5px; color: var(--sle-mute); }
.sle-field input { width: 100%; min-height: 50px; padding: 10px 14px; border: 1.5px solid var(--sle-line); border-radius: 12px; font: inherit; font-size: 16px; background: var(--sle-bg); color: var(--sle-ink); box-sizing: border-box; }
.sle-field input:focus { border-color: var(--sle-acc); outline: none; }
.sle-check { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0; font-size: 15px; cursor: pointer; }
.sle-check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--sle-acc); }
.sle-step { display: flex; align-items: center; gap: 12px; margin: 18px 0; }
.sle-step input { width: 96px; min-height: 56px; text-align: center; font: inherit; font-size: 24px; font-weight: 700; border: 1.5px solid var(--sle-line); border-radius: 12px; }
.sle-step__b { width: 56px; height: 56px; border-radius: 12px; border: 1.5px solid var(--sle-line); background: var(--sle-soft); font-size: 26px; cursor: pointer; }
.sle-ac { position: relative; }
.sle-ac__list { list-style: none; margin: -4px 0 0; padding: 4px; border: 1px solid var(--sle-line); border-radius: 12px; background: var(--sle-bg); box-shadow: 0 8px 24px rgba(0,0,0,.08); max-height: 260px; overflow: auto; }
.sle-ac__list button { display: block; width: 100%; min-height: 48px; padding: 8px 10px; border: 0; background: none; text-align: left; font: inherit; color: var(--sle-ink); border-radius: 8px; cursor: pointer; }
.sle-ac__list button:hover, .sle-ac__list button:focus-visible { background: var(--sle-soft); }
.sle-ac__list small, .sle-list small { display: block; color: var(--sle-mute); font-size: 12.5px; }
.sle-ac__none { padding: 10px; color: var(--sle-mute); font-size: 14px; }
.sle-ok { margin: 6px 0; color: #137333; font-weight: 600; }
.sle-load { padding: 40px 0; text-align: center; color: var(--sle-mute); }
.sle-err { color: #b42318; }
.sle-est { margin: 14px 0; padding: 16px; border-radius: 14px; background: var(--sle-acc); color: #fff; }
.sle-est__lab { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; opacity: .75; }
.sle-est strong { display: block; margin: 4px 0; font-size: 28px; }
.sle-est small { opacity: .85; font-size: 13px; }
.sle-sec { margin: 16px 0; }
.sle-sec h3, .sle-ask h3 { margin: 0 0 8px; font-size: 16px; }
.sle-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--sle-line); border-radius: 12px; overflow: hidden; }
.sle-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 12px; }
.sle-list li > a { display: flex; flex: 1; justify-content: space-between; align-items: flex-start; gap: 12px; margin: -10px -12px; padding: 10px 12px; color: inherit; text-decoration: none; }
.sle-list b { display: block; }
.sle-list li + li { border-top: 1px solid var(--sle-line); }
.sle-list li > a:hover { background: var(--sle-soft); }
.sle-list li em, .sle-list a em { font-style: normal; font-weight: 700; white-space: nowrap; }
.sle-list li > span, .sle-list li > a > span { min-width: 0; }
.sle-note { margin: 8px 0 0; font-size: 12.5px; color: var(--sle-mute); }
.sle-links { display: flex; flex-direction: column; gap: 4px; margin: 14px 0; }
.sle-links a { padding: 8px 0; color: var(--sle-ink); font-weight: 600; }
.sle-yield { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }
.sle-yield output { grid-column: 1 / -1; font-weight: 700; font-size: 17px; }
.sle-ask { margin: 18px -20px 0; padding: 18px 20px; background: var(--sle-soft); border-top: 1px solid var(--sle-line); }
.sle-ask p { margin: 0 0 10px; color: var(--sle-mute); font-size: 14px; }
.sle-hand__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sle-hand__btns .sle-btn--ghost { grid-column: 1 / -1; }
.sle-hand__btns .sle-btn:only-child { grid-column: 1 / -1; }
.sle-extra { margin-bottom: 8px; }
.sle-extra > span { font-size: 13px; color: var(--sle-mute); }
.sle-form { margin-top: 10px; }
.sle-form .sle-btn { width: 100%; }
.sle-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.sle-msg { min-height: 1em; margin: 6px 0 0; font-size: 14px; color: #b42318; }
.sle-done { padding: 12px; border-radius: 12px; background: #e7f6ec; color: #137333; font-weight: 600; }

/* In-page "Next steps" block */
.sle-block { margin: 32px auto; max-width: 980px; padding: 20px; border: 1px solid var(--sle-line); border-radius: 16px; background: var(--sle-bg); color: var(--sle-ink); }
.sle-block__kicker { margin: 0 0 10px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--sle-gold); font-weight: 700; }
.sle-block__ctas { display: flex; flex-wrap: wrap; gap: 10px; }
.sle-block__cta { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 16px; border-radius: 12px; border: 1.5px solid var(--sle-line); color: var(--sle-ink) !important; text-decoration: none !important; font-weight: 700; }
.sle-block__cta.is-primary { background: var(--sle-acc); border-color: var(--sle-acc); color: #fff !important; }
.sle-block__links { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 14px; font-size: 14px; }
.sle-block__links span { color: var(--sle-mute); }
.sle-block__links a { color: var(--sle-ink); }
@media (max-width: 600px) { .sle-block__cta { flex: 1 1 100%; } }

/* The contextual button inside the sticky "Ask Sam" bars */
.g3d-cta .g3d-cta__btn--lead { background: var(--sam-gold, #9c7a2e) !important; color: #fff !important; border: 0; font: inherit; font-weight: 700; cursor: pointer; }

/* Property Finder prompt */
.sle-toast { position: fixed; left: 12px; right: 12px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 99990; max-width: 520px; margin: 0 auto; padding: 14px 14px 12px; border-radius: 16px; background: var(--sle-bg); color: var(--sle-ink); box-shadow: 0 12px 40px rgba(0,0,0,.2); transform: translateY(16px); opacity: 0; transition: transform .25s, opacity .25s; }
.sle-toast.is-in { transform: none; opacity: 1; }
.sle-toast p { margin: 0 34px 10px 0; }
.sle-toast p small { display: block; color: var(--sle-mute); }
.sle-toast__x { position: absolute; top: 4px; right: 4px; width: 40px; height: 40px; border: 0; background: none; font-size: 24px; cursor: pointer; color: var(--sle-mute); }
.sle-toast__btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sle-toast__btns button { min-height: 64px; padding: 8px; border: 1.5px solid var(--sle-line); border-radius: 12px; background: var(--sle-soft); font: inherit; font-weight: 800; color: var(--sle-ink); cursor: pointer; text-align: left; }
.sle-toast__btns small { display: block; font-weight: 400; font-size: 11.5px; color: var(--sle-mute); line-height: 1.3; }

/* Pages with no sticky bar: one small dismissible pill */
.sle-pill { position: fixed; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 99980; display: flex; align-items: center; border-radius: 999px; background: var(--sle-acc); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.sle-pill__go { min-height: 46px; padding: 10px 6px 10px 16px; border: 0; background: none; color: #fff; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.sle-pill__x { width: 40px; height: 46px; border: 0; background: none; color: rgba(255,255,255,.75); font-size: 20px; cursor: pointer; }
@media (max-width: 600px) { .sle-pill { left: 12px; right: auto; max-width: calc(100% - 24px); } .sle-pill__go { font-size: 13px; } }

/* New Launch 3D Map card */
.sle-mapcta:empty { display: none; }

@media (prefers-color-scheme: dark) {
	.nv-dark .sle, .nv-dark .sle-block, .nv-dark .sle-toast { --sle-bg: #111827; --sle-soft: #1f2937; --sle-line: #374151; --sle-ink: #f3f4f6; --sle-mute: #9ca3af; --sle-acc: #e5c77a; }
}
