/* The price on the truck. Estimate adjustments stay inside .lb-tool. */
.lb{--ink:#071d3b;--red:#d92f35;--cream:#f6f0e7;--card:#fffdf9;--letter:#f3ece0;--line:#ddd2c1;--soft:#4a5a72;--mist:#c9d2df;--sans:Manrope,Arial,sans-serif;--serif:Fraunces,Georgia,serif;margin:0;background:var(--ink);color:var(--ink);font:500 16px/1.6 var(--sans);-webkit-text-size-adjust:100%}
.lb *{box-sizing:border-box}
.lb img{display:block;max-width:100%}
.lb a{color:inherit}
.lb a:focus-visible,.lb button:focus-visible,.lb summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.lb h1,.lb h2{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;margin:0;text-wrap:balance}

.lb-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}
.lb-top img{width:136px;height:auto;margin-left:-10px}
.lb-phone{color:#fff!important;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}

/* First screen: navy night, a golden band of road, the rate lettered on the panel. */
.lb-hero{display:flex;flex-direction:column;color:#fff;overflow:hidden;scroll-margin-top:60px}
.lb-hero h1{font-size:clamp(32px,10vw,44px);line-height:1.08;padding:8px 20px 12px;color:var(--letter)}
.lb-road{position:relative;height:41.67vw;overflow:hidden}
.lb-truck{position:absolute;top:0;left:0;width:100%;-webkit-mask-image:linear-gradient(transparent,#000 4%,#000 97%,transparent);mask-image:linear-gradient(transparent,#000 4%,#000 97%,transparent);animation:lb-settle 1.3s cubic-bezier(.16,.8,.24,1) both}
.lb-road::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#071d3bc4,#071d3b00 30%);pointer-events:none}
.lb-from{position:absolute;z-index:2;left:3vw;top:14%;margin:0;color:#fff;font:500 clamp(18px,3.7vw,56px)/1 var(--serif);letter-spacing:-.02em;white-space:nowrap;text-shadow:0 1px 10px #071d3bb3}
.lb-from small{font:700 .42em/1 var(--sans);letter-spacing:.02em}
.lb-from small:first-child{display:block;margin-bottom:.3em;text-transform:uppercase;letter-spacing:.14em}
.lb-truck>img{width:100%;height:auto}
@keyframes lb-settle{from{transform:scale(1.04)}to{transform:none}}

.lb-go{padding:6px 20px 22px}
.lb-terms,.lb-no-call{margin:0;text-align:center;color:var(--mist)}
.lb-terms{margin-bottom:14px;font-size:15px;line-height:1.45}
.lb-terms b{color:#fff;font-weight:700}
.lb-terms s{color:#fff;text-decoration-color:var(--red);text-decoration-thickness:1.5px}
.lb-terms span{color:#fff;font-weight:700}
.lb-no-call{margin-top:10px;font-size:12.5px;line-height:1.6}
.lb-mini{display:none;margin:0 0 10px;text-align:center;font-size:13px;color:var(--mist)}
.lb-mini b{color:#fff;font-size:15px}

.lb-tool{scroll-margin-top:60px}
.lb-tool .rr-embed .intro .eyebrow,.lb-tool .rr-embed .intro>p,.lb-tool .rr-embed .intro .promise{display:none}
.lb-tool .rr-embed .est{display:block}
.lb-hero .lb-tool .rr-embed .intro h1,.lb-hero .lb-tool .rr-embed h1{color:var(--ink)}
.lb-tool .rr-embed .est-main{padding:10px 20px 0;overflow:visible}
.lb-tool .rr-embed .est-bar{min-height:32px;padding:6px 20px}
.lb-tool .rr-embed .est-progress{justify-content:space-between;font-size:10px}
.lb-tool .rr-embed .next{padding:12px 20px 0}
.lb-tool .rr-embed .go{width:100%;border-radius:6px;min-height:54px}
@media(min-width:960px){.lb-tool .rr-embed .result.step{display:block}.lb-tool .rr-embed .result.step>:is(.lock,#book-panel){margin-top:18px}}
/* Before Start the tool is just the button, sitting straight on the navy. */
.lb-hero:has(.intro) .lb-tool :is(.rr-embed,.est,.est-main,.next,.step){background:none;border:0;box-shadow:none;padding:0;min-height:0;margin:0}
.lb-hero:has(.intro) .lb-tool :is(.intro,.est-top){display:none}
.lb-hero:has(.intro) .lb-tool .go{background:#d92f35;box-shadow:none;min-height:64px;border-radius:6px;font-size:19px;font-weight:800}
/* Once started, the questions get a plain card and the whole screen. */
.lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)){justify-content:flex-start;padding-top:6px}
.lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) :is(#lb-title,.lb-road,.lb-terms,.lb-no-call){display:none}
.lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-mini{display:block}
.lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-go{width:100%;max-width:640px;margin:0 auto}
.lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-tool{background:var(--card);color:var(--ink);padding-bottom:16px;border-radius:6px}

/* Chapters: each fills the screen and the next one slides over it. */
.lb-ch{position:sticky;top:0;height:82vh;height:82svh;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:flex-end}
.lb-ch>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:70% 40%}
.lb-ch-home>img{object-position:17% 50%}
@media(max-width:959px){.lb-ch:not(.lb-ch-home){position:relative;height:auto;display:block}.lb-ch:not(.lb-ch-home)>img{position:static;height:auto}.lb-ch:not(.lb-ch-home)::after{display:none}.lb-ch:not(.lb-ch-home)>div{padding-top:22px}}
.lb-ch::after{content:'';position:absolute;inset:56% 0 0;background:linear-gradient(transparent,#071d3bf2 58%,#071d3b)}
.lb-ch>div{position:relative;z-index:1;padding:0 24px 28px;max-width:760px}
.lb-ch .lb-btn{display:none}
.lb .lb-ch h2{font-size:clamp(38px,11vw,84px);line-height:1.05;color:var(--letter)}
.lb-ch p{margin:10px 0 0;font-size:16px;line-height:1.5;max-width:36ch}
.lb-proof,.lb-facts,.lb-faq,.lb-end,.lb-footer{position:relative;z-index:1}

/* The home page's customer quote, word for word. */
.lb-proof{background:var(--cream);padding:40px 24px 0}
.lb-proof figure{max-width:760px;margin:0 auto;padding-bottom:30px;border-bottom:1px solid var(--line)}
.lb-stars{margin:0 0 10px;color:var(--ink);font-size:20px;letter-spacing:.12em;line-height:1}
.lb-proof blockquote{margin:0;font:500 23px/1.35 var(--serif);letter-spacing:-.01em;text-wrap:pretty}
.lb-proof figcaption{margin-top:12px;font-size:14px;color:var(--soft)}
.lb-proof figcaption b{color:var(--ink);margin-right:6px}

/* The answers, straight after the first screen. */
.lb-facts{background:var(--cream);padding:32px 24px 48px}
.lb-facts>*{max-width:760px;margin-left:auto;margin-right:auto}
.lb .lb-facts h2{font-size:34px;line-height:1.1}
.lb-facts dl{margin-top:14px;margin-bottom:0}
.lb-facts dl>div{display:grid;grid-template-columns:104px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.lb-facts dt{font:500 19px/1.3 var(--serif)}
.lb-facts dd{margin:0;line-height:1.5;color:var(--soft)}
.lb-facts .lb-btn{display:none;margin-top:26px}

.lb-faq{background:var(--cream);padding:64px max(24px,calc(50% - 360px))}
.lb-faq h2{font-size:34px;line-height:1.1;margin-bottom:16px}
.lb-faq details{border-bottom:1px solid var(--line)}
.lb-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:18px 0;font-weight:700}
.lb-faq summary::-webkit-details-marker{display:none}
.lb-faq summary::after{content:'+';color:var(--red);font-size:20px;line-height:1.2}
.lb-faq details[open] summary::after{content:'−'}
.lb-faq details p{margin:0 0 20px;max-width:60ch;color:var(--soft)}

.lb-end{background:var(--ink);color:#fff;text-align:center}
.lb-end>img{width:100%;height:clamp(280px,72vw,620px);object-fit:cover;object-position:50% 45%;border-bottom:4px solid var(--red)}
.lb-end>div{padding:44px 24px 56px}
.lb-end h2{font-size:clamp(32px,8vw,52px);line-height:1.1;color:var(--letter)}
.lb-btn{display:inline-block;margin-top:24px;padding:18px 48px;border-radius:6px;background:#d92f35;font-size:18px;color:#fff!important;font-weight:800;text-decoration:none}
.lb-end p{margin:18px 0 0;font-size:14px;color:var(--mist)}
.lb-end .lb-end-offer{margin-top:10px;font-size:16px;font-weight:700;color:#fff}
.lb-end .lb-btn{margin-top:20px}
.lb-end p a{font-weight:700;color:#fff}

.lb-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;padding:24px 20px;background:var(--cream);font-size:12px;color:var(--soft)}
.lb-footer span{flex-basis:100%;text-align:center}
.lb-footer span:first-child{font:500 italic 14px var(--serif);color:var(--ink)}
.lb-bar{display:none}

@media(min-width:960px){
 .lb-top{padding:14px 40px}
 .lb-top img{width:170px}
 .lb-phone{font-size:16px}
 .lb-hero{--road:max(min(41.6vw,calc(100vh - 280px)),35vw);align-items:center;min-height:calc(100vh - 56px)}
 .lb-hero h1{order:2;font-size:46px;padding:10px 40px 8px;text-align:center;max-width:none}
 .lb-road{order:1;width:100%;height:var(--road);-webkit-mask-image:linear-gradient(transparent,#000 4%,#000 97%,transparent);mask-image:linear-gradient(transparent,#000 4%,#000 97%,transparent)}
 .lb-truck{top:calc((var(--road) - 41.67vw)/2);-webkit-mask-image:none;mask-image:none}
 .lb-go{order:3;width:100%;max-width:560px;padding:0 0 18px}
 .lb-terms{margin-bottom:10px}.lb-terms br{display:none}
 .lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-go{padding-top:24px}
 .lb-proof{padding:64px 40px 0}
 .lb-proof blockquote{font-size:32px}
 .lb-facts{padding:48px 40px 72px}
 .lb .lb-facts h2{font-size:46px}
 .lb-facts dl>div{grid-template-columns:180px 1fr}
 .lb-facts .lb-btn{display:inline-block}
 .lb-ch{height:94vh}
 .lb-ch::after{inset:46% 0 0}
 .lb-ch>div{padding:0 64px 48px;max-width:1100px}
 .lb .lb-ch h2{font-size:60px}
 .lb-ch p{font-size:20px}
 .lb-ch .lb-btn{display:inline-block}
 .lb-ch>img{object-position:50% 40%}
 .lb-ch-home>img{object-position:50% 25%}
}
@media(max-width:959px){
 .lb-bar{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid #ffffff22}
 .lb-bar a{display:grid;place-items:center;min-height:48px;padding:0 10px;color:#fff;font-weight:700;font-size:14px;text-decoration:none}
 .lb-bar .lb-bar-go{background:#d92f35;border-radius:6px;font-size:16px;font-weight:800}
 .lb-at-tool .lb-bar,.lb-at-end .lb-bar{display:none}
 /* Phones see the whole scene with the words below it. */
 .lb-ch{display:block;height:auto}
 .lb-ch>img{position:relative;height:80vw;object-position:100% 40%}
 .lb-ch-home>img{object-position:12% 40%}
 .lb-ch::after{inset:auto 0;top:56vw;height:24vw;background:linear-gradient(transparent,#071d3b)}
 .lb-ch>div{padding-top:8px}
 .lb .lb-footer{padding-bottom:100px}
}
@media(prefers-reduced-motion:reduce){.lb-truck{animation:none}}
@media(max-width:350px){.lb-terms{font-size:13.5px}.lb-top img{width:124px}.lb-phone{font-size:13px}}
