/* The request stays first, followed by Robo's quote walkthrough and the equipment guide. */
.quote-hero { padding-top: 34px; padding-bottom: 32px; }
.quote-hero .wrap { max-width: var(--wrap); }
.quote-hero-tagline { margin: 0 0 8px; font-size: 19px; line-height: 1.4; }
.quote-hero.sec-navy .quote-hero-tagline { color: var(--green-dark); }
.quote-hero-lead { max-width: 68ch; }
.quote-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: clamp(24px, 4vw, 52px); align-items: center; }
.quote-hero-truck { display: block; width: 100%; height: 184px; object-fit: cover; object-position: 68% 54%; border-radius: 12px; }
.quote-sec { padding-top: 32px; }
.quote-sec .steps-tabs li { padding-top: 0; padding-bottom: 0; }
.quote-sec .steps-tabs button { display: block; min-width: 132px; min-height: 72px; padding: 8px 0 14px; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.quote-sec .steps-tabs button:hover strong { color: var(--green-dark); }
.quote-sec .steps-tabs button:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.quote-sec .steps-tabs .n { display: block; }
.quote-sec .input::placeholder { opacity: .5; }
.quote-step-toolbar { display: flex; align-items: center; gap: 18px; margin-bottom: 34px; }
.quote-step-toolbar .steps-tabs { flex: 1 1 auto; min-width: 0; margin: 0; }
.quote-sample-link { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 44px; color: var(--color-brand); font-weight: 600; text-underline-offset: 3px; }
.quote-sample-link:hover { color: var(--color-brand-dark); }
.quote-sample-link:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.quote-equipment-preview { display: grid; grid-template-columns: minmax(128px, 190px) minmax(0, 1fr); gap: 16px; align-items: center; margin: 16px 0 18px; padding-top: 16px; border-top: 1px solid var(--color-border); }
.quote-equipment-preview[hidden] { display: none; }
.quote-equipment-preview img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--color-border); border-radius: 8px; background: #fff; }
.quote-equipment-preview p { margin: 0; color: var(--navy); font-size: 15px; font-weight: 700; line-height: 1.45; }
.quote-request-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}
.quote-request-form, .quote-happens { min-width: 0; }
.quote-happens { border-top: 3px solid var(--color-brand); padding-top: 17px; }
@media (min-width: 1051px) {
  /* Align the green rule with the divider beneath the Step 1 / Step 2 tabs. */
  .quote-happens { margin-top: 75px; }
}
.quote-happens h2 { margin: 0 0 18px; color: var(--green-dark); font-size: 24px; line-height: 1.25; }
.quote-happens-copy { display: grid; gap: 13px; margin: 0; }
.quote-happens-copy p { margin: 0; line-height: 1.55; }
.quote-testimonial-section { padding-top: 30px; padding-bottom: 34px; }
.customer-testimonial--quote-wide { grid-template-columns: minmax(0, 1fr) minmax(220px, 270px); align-items: center; }
.customer-testimonial--quote-wide blockquote { font-size: 17px; line-height: 1.55; }
.customer-testimonial--quote-wide figcaption { align-self: center; }
.quote-ready-card { margin-top: 22px; padding: 18px 20px; border: 1px solid #B9D4E7; border-left: 4px solid var(--color-brand); border-radius: 8px; background: #F4F9FC; }
.quote-ready-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 12px; }
.quote-ready-head h2 { margin: 0; color: var(--green-dark); font-size: 20px; line-height: 1.3; }
.quote-ready-brand .robo-mark-home { width: 132px; margin: 0; padding: 5px 7px; }
.quote-ready-card > p { margin: 0; line-height: 1.5; }
.quote-ready-card > .quote-ready-closing { margin-top: 8px; }
.quote-walkthrough { border-top: 1px solid var(--color-border); }
.quote-walkthrough .rp-step { padding: 70px 0; }
.quote-walkthrough .rp-step-head-no-number { display: block; max-width: none; margin-bottom: 38px; }
.quote-walkthrough .rp-step-head-no-number h2 { max-width: 32ch; }
.quote-walkthrough .rp-quote-visual { grid-area:image; display:flex; flex-direction:column; gap:28px; min-width:0; padding-right:16px; }
.quote-walkthrough .rp-quote-support-image { overflow:hidden; margin:0; border:1px solid #B9D4E7; border-radius:12px; background:#EAF5FC; }
.quote-walkthrough .rp-quote-support-image img { display:block; width:100%; height:auto; }
.quote-walkthrough .rp-quote-visual > .rp-quote-image { padding-right:0; }
.quote-walkthrough .rp-wishes li { grid-template-columns:48px minmax(0, 1fr); gap:24px; }
.quote-walkthrough .rp-wish-number { width:48px; height:48px; font-size:18px; }
.quote-walkthrough .rp-wishes h3 { text-wrap:wrap; }
.quote-walkthrough .rp-wishes-heading { font-size:clamp(28px,3vw,40px)!important; font-weight:800!important; line-height:1.12!important; letter-spacing:-.025em; }
.quote-preview { padding-top: 44px; padding-bottom: 52px; }
.quote-equipment-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: clamp(28px, 4vw, 52px); align-items: start; margin-top: 8px; }
.quote-equipment-copy { min-width: 0; }
.quote-move-title { margin: 0 0 14px; font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--color-text); }
.quote-equipment-copy .rp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; }
.quote-preview-figure { margin: 0; min-width: 0; }
.quote-preview-figure img { display: block; width: 100%; height: auto; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-bg); }
.quote-preview :focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
/* Planning ahead: a lead and two linked planner cards, one ruled row. */
.quote-plan-ahead { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 2.4vw, 28px); align-items: stretch; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--color-border); }
.quote-plan-lead .kicker { margin-bottom: 4px; }
.quote-plan-lead h3 { margin: 0 0 6px; font-size: 20px; line-height: 1.3; }
.quote-plan-lead p:last-child { margin: 0; color: var(--color-text-secondary); }
.quote-plan-card { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border: 1px solid var(--color-border); border-top: 3px solid var(--navy); background: #fff; color: var(--color-text); text-decoration: none; transition: background-color .15s ease, border-color .15s ease; }
.quote-plan-card:hover { background: var(--surface-blue); }
.quote-plan-card:hover .quote-plan-name { text-decoration: underline; text-underline-offset: 3px; }
.quote-plan-name { color: var(--color-brand); font-size: 17px; font-weight: 600; line-height: 1.3; }
.quote-plan-text { font-size: 15px; line-height: 1.5; color: var(--color-text); }
.quote-brokerage { border-top: 1px solid var(--color-border); padding: 24px 0 28px; }
.quote-brokerage .wrap { max-width: 1040px; }
.quote-brokerage p { margin: 0 0 6px; font-size: 14px; line-height: 1.55; color: var(--color-text-secondary); }
.quote-brokerage summary { display: list-item; width: fit-content; min-height: 44px; padding: 10px 0; color: var(--color-brand); font-size: 14px; font-weight: 700; cursor: pointer; }
.quote-brokerage summary:hover { color: var(--color-brand-dark); }
.quote-brokerage summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.quote-brokerage .ucw-credentials { max-width: 540px; margin-top: 10px; }
@media (max-width: 1050px) {
  .quote-request-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .quote-equipment-copy .rp-benefits { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .quote-plan-ahead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quote-plan-lead { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .quote-hero-layout { grid-template-columns: minmax(0, 1fr); }
  .quote-hero-truck { height: 190px; }
  .quote-equipment-layout { grid-template-columns: minmax(0, 1fr); }
  .quote-preview-figure { max-width: 420px; }
}
@media (max-width: 640px) {
  .quote-step-toolbar { flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
  .quote-step-toolbar .steps-tabs { flex: 1 1 100%; }
  .quote-sample-link { min-height: 40px; }
  .quote-equipment-preview { grid-template-columns: minmax(100px, 132px) minmax(0, 1fr); gap: 12px; }
  .quote-hero { padding-top: 26px; padding-bottom: 24px; }
  .quote-sec { padding-top: 24px; }
  .quote-preview { padding-top: 32px; padding-bottom: 36px; }
  .quote-walkthrough .rp-step { padding: 56px 0; }
  .quote-walkthrough .rp-step-head-no-number { margin-bottom: 30px; }
  .quote-walkthrough .rp-wishes li { grid-template-columns:36px minmax(0, 1fr); gap:14px; }
  .quote-walkthrough .rp-wish-number { width:36px; height:36px; font-size:15px; }
  .quote-happens h2 { font-size: 22px; }
  .quote-testimonial-section { padding-top: 25px; padding-bottom: 28px; }
  .customer-testimonial--quote-wide { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .customer-testimonial--quote-wide blockquote { font-size: 16px; }
  .customer-testimonial--quote-wide figcaption { align-self: start; }
  .quote-ready-card { margin-top: 18px; padding: 15px 16px; }
  .quote-ready-head { grid-template-columns: minmax(0, 1fr); gap: 9px; margin-bottom: 10px; }
  .quote-ready-head h2 { font-size: 18px; }
  .quote-ready-brand .robo-mark-home { width: 120px; }
  .quote-equipment-copy .rp-benefits { grid-template-columns: minmax(0, 1fr); }
  .quote-plan-ahead { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
}
@media print {
  .quote-preview { display: none; }
}
