/* Main page composition. Shared estimate and holiday engine rules remain in landing-b. */
.page-main{--accent:#d92f35;--accent-ink:#fff}
.page-main .lb-truck{mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.2) 5%,rgba(0,0,0,.65) 12%,#000 20%,#000 84%,rgba(0,0,0,.65) 92%,rgba(0,0,0,.2) 97%,transparent 100%)}
.page-main .lb-no-call{font-size:13px}
.page-main .lb-btn,.page-main .lb-bar .lb-bar-go,.page-main .lb-hero:has(.intro) .lb-tool .rr-embed .go{background:#d92f35;color:#fff!important}
.page-main .lb-btn{margin-top:32px}
.page-main .lb-hero:has(.intro) .lb-tool .rr-embed .go{min-height:60px;font-size:18px}
.page-main .lb-go{padding-bottom:calc(24px + var(--consent-h,0px))}
.page-main .lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)){min-height:0;height:auto;background:var(--ink)}
.page-main .lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-go{position:static;padding-bottom:24px}
.page-main .main-included,.page-main .main-before{background:var(--cream)}
.page-main .main-included header{max-width:700px;margin-bottom:48px}
.page-main .main-mosaic{display:grid;gap:32px 24px}
.page-main .main-tile .k-photo{aspect-ratio:3/2}
.page-main .main-tile h3{margin-top:16px}
.page-main .main-tile p{margin:8px 0 0;color:var(--soft)}
.page-main .main-detail-floor img{object-position:50% 70%}
.page-main .main-detail-plan img{object-position:60% 30%}
.page-main .main-detail-room img{object-position:60% 40%}
.page-main .main-plan,.page-main .main-home{background:var(--ink);color:var(--letter);position:relative;overflow:hidden}
.page-main .main-scene,.page-main .main-home-photo{margin:0;aspect-ratio:3/2;mask-image:linear-gradient(#000 88%,transparent)}
.page-main .main-scene img,.page-main .main-home-photo img{width:100%;height:100%;object-fit:cover}
.page-main .main-plan-content,.page-main .main-home-copy{padding:32px var(--gutter)}
.page-main .main-plan ul{display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style:none;padding:0;margin:32px 0 0}
.page-main .main-plan li{border-top:1px solid #ffffff40;padding-top:16px;font-size:15px;font-weight:700}
.page-main .main-rates{background:var(--card);gap:48px}
.page-main .main-rate-copy .k-small{margin:16px 0 0;color:var(--soft)}
.page-main table{width:100%;border-collapse:collapse;table-layout:fixed;align-self:start}
.page-main table th:first-child{width:44%;text-align:left}
.page-main table th,.page-main table td{padding:8px;text-align:center;border-bottom:1px solid var(--line)}
.page-main thead th{font-size:13px;height:56px}
.page-main tbody th{font-size:13px;line-height:1.5;font-weight:500;height:60px}
.page-main tbody th b{font-size:16px;font-weight:700}
.page-main tbody th span{display:block}
.page-main table :is(th,td):nth-child(2){background:#d92f350f}
.page-main thead th:nth-child(2){color:#d92f35}
.page-main tbody td:nth-child(2){font:500 24px/1.2 var(--serif)}
.page-main tbody td:nth-child(3){font-size:15px;color:var(--soft)}
.page-main table small{display:block;font:700 13px/1.5 var(--sans)}
.page-main .main-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-main .main-review{margin:48px 0 0}
.page-main .main-review blockquote{margin:0;font:500 22px/1.4 var(--serif)}
.page-main .main-review figcaption{margin-top:16px;font-size:14px;color:var(--mist)}
.page-main .main-before ol{list-style:none;counter-reset:steps;padding:0;margin:32px 0 0}
.page-main .main-before li{counter-increment:steps;display:flex;gap:16px;margin-top:24px}
.page-main .main-before li::before{content:counter(steps) '.';color:#d92f35;font:500 32px/1.2 var(--serif)}
.page-main .main-before .k-faq p{color:var(--soft)}
.page-main .lb-end{height:100svh;min-height:640px;overflow:hidden}
.page-main .lb-end>img{position:absolute;width:175%;max-width:none;left:-38%;top:0;height:auto;border:0;mask-image:linear-gradient(#000 70%,transparent);transition-duration:1.4s}
.page-main .lb-end>div{position:absolute;bottom:40px;left:0;right:0;padding:0 var(--gutter);z-index:1}
.page-main .lb-end .lb-end-offer{margin-top:16px}
.page-main .lb-end p{font-size:14px;margin-top:16px}
.page-main .lb-footer{background:var(--ink);color:var(--mist);font-size:13px;padding:24px var(--gutter) calc(24px + env(safe-area-inset-bottom))}
.page-main .lb-footer span:first-child{color:var(--letter)}
@media(min-width:600px){.page-main .main-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){
 .page-main .lb-truck{mask-image:none}
 .page-main .lb-road{mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.2) 5%,rgba(0,0,0,.65) 12%,#000 20%,#000 84%,rgba(0,0,0,.65) 92%,rgba(0,0,0,.2) 97%,transparent 100%),linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
 .page-main .main-mosaic{grid-template-columns:repeat(12,minmax(0,1fr));row-gap:48px}
 .page-main .main-detail-wrap{grid-column:1/8}.page-main .main-detail-floor{grid-column:8/13}.page-main .main-detail-plan{grid-column:1/6}.page-main .main-detail-room{grid-column:6/13}
 .page-main .main-tile .k-photo{aspect-ratio:auto;height:400px}
 .page-main section.main-plan{height:min(92svh,860px)}
 .page-main .main-scene{position:absolute;inset:0;aspect-ratio:auto;mask-image:none}
 .page-main .main-scene img{object-position:50% 45%}
 .page-main section.main-plan::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#071d3bf2,#071d3b00 52%);pointer-events:none}
 .page-main .main-plan-content{position:absolute;bottom:48px;left:0;right:0;padding:0 var(--gutter);display:grid;grid-template-columns:7fr 5fr;gap:24px;align-items:end;z-index:1}
 .page-main .main-plan-content>div{max-width:620px}
 .page-main .main-plan ul{display:flex;margin:0;gap:0}.page-main .main-plan li{border-top:0;border-left:1px solid #ffffff40;padding:0 16px}
 .page-main .main-rate-copy{grid-column:1/6;position:sticky;top:96px;align-self:start}
 .page-main .main-rates table{grid-column:7/13}
 .page-main tbody th{height:72px}.page-main tbody th span{display:inline}.page-main tbody td:nth-child(2){font-size:30px}
 .page-main .main-home{display:grid;grid-template-columns:7fr 5fr;min-height:720px}
 .page-main .main-home-photo{height:720px;aspect-ratio:auto;mask-image:linear-gradient(to right,#000 88%,transparent)}
 .page-main .main-home-copy{align-self:center;padding:64px max(40px,calc((100vw - 1200px)/2)) 64px 24px}
 .page-main .main-review blockquote{font-size:26px}
 .page-main .main-before-copy{grid-column:1/6;position:sticky;top:96px;align-self:start}.page-main .main-before .k-faq{grid-column:6/13}
 .page-main .lb-end{min-height:760px}.page-main .lb-end>img{width:100%;left:0;height:100%;object-fit:cover;object-position:50% 38%;mask-image:linear-gradient(transparent,#000 10%)}
 .page-main .lb-end::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#071d3b 0,#071d3bd9 26%,#071d3b00 56%);pointer-events:none}
 .page-main .lb-end>div{bottom:72px}.page-main .lb-end h2{font-size:60px}
}

.js .page-main .lb-end.k-p>img{transform:scale(1.05)}
.js .page-main .lb-end.k-p.in>img{transform:none}
@media(prefers-reduced-motion:reduce){.js .page-main .lb-end.k-p>img{transform:none;transition:none}}
.page-main .main-before li::before{flex:0 0 36px}
.page-main .main-before li{align-items:baseline}
.page-main .main-rates table{table-layout:fixed;width:100%}
@media(max-width:959px){.page-main .main-rates th:first-child,.page-main .main-rates td:first-child{width:40%}.page-main .main-rates tbody td{white-space:nowrap}.page-main .main-rates tbody td:nth-child(2){font-size:21px;padding-inline:10px}}
@media(min-width:960px){.page-main .lb-hero{--road:max(min(41.6vw,calc(100vh - 280px - var(--consent-h,0px))),28vw)}.page-main .lb-road{mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.2) 5%,rgba(0,0,0,.65) 12%,#000 20%,#000 84%,rgba(0,0,0,.65) 92%,rgba(0,0,0,.2) 97%,transparent 100%);mask-composite:add;-webkit-mask-composite:source-over}}
/* Phone: the price sits with the button, large, not squeezed beside the cab. */
.lb-from-m{display:none}
@media(max-width:959px){.page-main .lb-road .lb-from{display:none}.page-main .lb-road::before{display:none}.page-main .lb-from-m{display:block;margin:0 0 6px;text-align:center;font:500 38px/1 var(--serif);letter-spacing:-.02em;color:#fff}.page-main .lb-from-m small{font:700 13px/1 var(--sans);letter-spacing:.04em}.page-main .lb-from-m small:first-child{text-transform:uppercase;letter-spacing:.14em;margin-right:4px}}
.page-main .lb-hero:has(.lb-tool .est-main .step):not(:has(.intro)) .lb-from-m{display:none}
/* Rates: the online column is the hero of the table. */
.page-main .main-rates{background:var(--cream)}
.page-main .main-rates table{border-collapse:separate;border-spacing:0}
.page-main .main-rates th,.page-main .main-rates td{border-bottom:1px solid var(--line);background:none}
.page-main .main-rates thead th{border-bottom:2px solid var(--ink)}
.page-main .main-rates table tr>:nth-child(2){background:var(--ink);color:#fff;text-align:center;border-bottom-color:#ffffff24}
.page-main .main-rates thead tr>:nth-child(2){color:var(--letter);border-radius:6px 6px 0 0;border-bottom-color:#ffffff4d}
.page-main .main-rates tbody tr:last-child>:nth-child(2){border-radius:0 0 6px 6px;border-bottom:0}
.page-main .main-rates tbody td:nth-child(2) small,.page-main .main-rates tbody td:nth-child(2) span{color:var(--mist)}
@media(min-width:960px){.page-main .main-tile p{font-size:17px}.page-main .main-tile h3{font-size:30px}.page-main .main-before li{font-size:18px}.page-main .main-rates tbody td:nth-child(2){font-size:34px}.page-main .main-rates table{font-size:18px}}
@media(max-width:959px){.page-main .lb-go{padding-bottom:24px}}
@media(min-width:960px){.page-main .main-tile p{font-size:19px}.page-main .main-tile h3{font-size:32px}.page-main .main-before li{font-size:20px}.page-main .main-rate-copy .k-small{font-size:17px}.page-main .main-rates th,.page-main .main-rates td{font-size:19px}.page-main .main-rates tbody td:nth-child(2){font-size:36px}}
.page-main .main-before li{align-items:flex-start}.page-main .main-before li::before{line-height:1;font-size:28px;transform:translateY(-1px)}

/* First-load hero intro. Normal styles remain the resting state. */
@media(prefers-reduced-motion:no-preference){
.hi .page-main #lb-title{--hi-x:-20px;animation:hi-left 620ms cubic-bezier(.16,.8,.24,1) 0ms backwards}
.hi .page-main .lb-from{--hi-x:-10px;animation:hi-left 520ms cubic-bezier(.16,.8,.24,1) 260ms backwards}
.hi .page-main .lb-terms{--hi-y:8px;animation:hi-rise 480ms cubic-bezier(.16,.8,.24,1) 300ms backwards}
.hi .page-main .lb-tool{--hi-s:.97;animation:hi-zoom 460ms cubic-bezier(.16,.8,.24,1) 360ms backwards}
.hi .page-main .lb-no-call{animation:hi-fade 500ms ease-out 640ms backwards}
@media(min-width:960px){.hi .page-main #lb-title{animation-name:hi-rise;--hi-y:14px}}
}
/* City section on the quote page: only shows when an ad click names a city. */
.page-main .main-local{background:var(--ink);color:#fff}
.page-main .main-local .k-eye{color:var(--mist)}
.page-main .main-local .k-h2{color:var(--letter);max-width:18ch}
.page-main .main-local .k-lead{max-width:60ch;color:#fff}
.page-main .lb-incl{color:#fff}
.page-main .main-rate-copy .k-lead{margin-top:16px;color:var(--ink)}
