
/* Lowes Van Lines / Frontend System V33
   Final, deliberately narrow typography/layout authority.
   Prior V28/V30/V31 retain their feature, legal, branding and consent contracts.
   Inputs, route handlers, payment/carrier and marketing opt-ins are unchanged. */
body[data-frontend-v33]{
  --lv33-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --lv33-ink:#10263c;
  --lv33-muted:#475d72;
  --lv33-line:#d7e2eb;
  --lv33-focus:#a52b09;
  --lv33-radius:16px;
  --lv33-space-1:8px;
  --lv33-space-2:16px;
  --lv33-space-3:24px;
  --lv33-space-4:32px;
  --lv33-space-5:48px;
  --lv33-space-6:64px;
  font-family:var(--lv33-font)!important;
  font-size:16px!important;
  line-height:1.6;
  font-synthesis:weight;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body[data-frontend-v33] :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,.btn,.lv-button,.sl-button){
  font-family:var(--lv33-font)!important;
}
body[data-frontend-v33] :is(main,main>section,.shell,.container,.sl-shell,.lv31-hero-copy,.lv31-hero-image){
  min-width:0;
}
body[data-frontend-v33] main :is(p,li,dd,dt){
  overflow-wrap:break-word;
}
body[data-frontend-v33] :is(.page-hero,.legal-hero) h1,
body[data-frontend-v33] :is(.page-hero,.legal-hero) .display{
  max-width:24ch;
  margin-block:12px 20px;
  font-size:clamp(2.25rem,3.9vw,3.5rem)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  font-weight:800!important;
  text-transform:none!important;
  text-wrap:balance;
}
body[data-frontend-v33] :is(.page-hero,.legal-hero) :is(p,.lede,.legal-lead){
  max-width:65ch;
  font-size:clamp(1rem,1.22vw,1.125rem)!important;
  line-height:1.68!important;
  color:var(--lv33-muted);
}
body[data-frontend-v33] :is(.section-head,.lv-growth-heading) h2{
  max-width:23ch;
  font-size:clamp(1.8rem,3.45vw,2.9rem)!important;
  line-height:1.13!important;
  letter-spacing:-.035em!important;
  font-weight:800;
  text-wrap:balance;
}
body[data-frontend-v33] :is(.section-head,.lv-growth-heading) > p:last-child{
  max-width:68ch;
  font-size:clamp(1rem,1.12vw,1.125rem);
  line-height:1.65;
  color:var(--lv33-muted);
}
body[data-frontend-v33] :is(.eyebrow,.sl-eyebrow,.lv-hero-kicker){
  line-height:1.45;
  font-weight:800;
  letter-spacing:.12em;
}
body[data-frontend-v33] :is(.breadcrumbs,.sl-breadcrumb){
  line-height:1.5;
}
body[data-frontend-v33] .lv-hero #lv-hero-title{
  max-width:18ch;
  font-size:clamp(3rem,5.5vw,4.9rem)!important;
  line-height:1.03!important;
  letter-spacing:-.048em!important;
  font-weight:850!important;
}
body[data-frontend-v33] .lv-hero-services{
  max-width:59ch;
  line-height:1.65;
}
body[data-frontend-v33] .sl-hero h1{
  max-width:19ch;
  font-size:clamp(2.45rem,4vw,4.2rem)!important;
  line-height:1.09!important;
  letter-spacing:-.045em!important;
  font-weight:850!important;
  color:#fff!important;
}
body[data-frontend-v33] .sl-hero .sl-dek{
  max-width:63ch;
  font-size:clamp(1rem,1.25vw,1.125rem)!important;
  line-height:1.65!important;
  color:#f0f5f9!important;
}
body[data-frontend-v33] .lv-v8-detail h1{
  max-width:23ch;
  font-size:clamp(2.2rem,3.6vw,3.55rem)!important;
  line-height:1.12!important;
  letter-spacing:-.038em!important;
  font-weight:800!important;
}
body[data-frontend-v33] .lv-v8-detail .lede{
  max-width:64ch;
  font-size:clamp(1rem,1.25vw,1.125rem)!important;
  line-height:1.67!important;
}
body[data-frontend-v33] .lv-v8-quote-card h2{
  font-size:clamp(1.2rem,2vw,1.5rem)!important;
  line-height:1.3!important;
}
/* Services hero: original 11.5ch/82px heading crowded out the photographed truck.
   Give the text real column width and a modest editorial type scale instead. */
body[data-frontend-v33][data-services-v31] .lv31-hero{
  padding-block:clamp(36px,4.2vw,60px)!important;
}
body[data-frontend-v33][data-services-v31] .lv31-hero-shell{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(24px,3.7vw,54px)!important;
}
body[data-frontend-v33][data-services-v31] .lv31-hero #lv31-services-title{
  max-width:18ch!important;
  font-size:clamp(2.5rem,3.85vw,3.75rem)!important;
  line-height:1.1!important;
  letter-spacing:-.042em!important;
  font-weight:820!important;
  text-transform:none!important;
}
body[data-frontend-v33][data-services-v31] .lv31-hero-copy>p:not(.lv31-hero-note){
  max-width:60ch;
  font-size:1.0625rem;
  line-height:1.66;
}
body[data-frontend-v33][data-services-v31] .lv31-hero-copy .breadcrumbs{
  margin-bottom:18px;
}
body[data-frontend-v33][data-services-v31] .lv31-hero-actions{
  gap:12px 20px;
  margin-top:22px;
}
body[data-frontend-v33][data-services-v31] .lv31-service-catalog .section-head h2{
  max-width:23ch;
  font-size:clamp(2rem,3.1vw,3rem)!important;
  line-height:1.13!important;
}
body[data-frontend-v33] :is(.lv-v8-service-card,.lv31-service-catalog .lv-v8-service-card,.lv-command-card,.resource-card,.service-card,.lv-service-card,.feature-card,.lv17-cost-card){
  min-width:0;
  overflow-wrap:break-word;
  text-decoration-thickness:from-font;
  text-underline-offset:.17em;
}
body[data-frontend-v33] :is(.lv-service-grid,.lv-v8-service-grid,.resource-grid,.lv31-guides .resource-grid,.lv-command-grid,.support-grid,.footer-grid){
  min-width:0;
  row-gap:clamp(14px,2vw,24px);
}
body[data-frontend-v33] :is(.lv-service-card,.resource-card,.service-card,.feature-card,.lv-v8-service-card,.lv-command-card):focus-visible{
  outline:3px solid var(--lv33-focus)!important;
  outline-offset:3px!important;
}
body[data-frontend-v33] .lv31-service-catalog .lv-v8-service-card strong{
  font-size:clamp(1.0625rem,1.4vw,1.25rem);
  line-height:1.3;
}
body[data-frontend-v33] .lv31-service-catalog .lv-v8-service-card small{
  font-size:.9375rem;
  line-height:1.6;
}
body[data-frontend-v33] .lv31-service-catalog .lv-v8-service-grid{
  gap:clamp(14px,1.8vw,22px)!important;
}
body[data-frontend-v33] :is(.lv-faq-list details,.lv-faq-list summary){
  min-width:0;
  overflow-wrap:break-word;
}
body[data-frontend-v33] .lv-faq-list summary{
  min-height:48px;
  line-height:1.5;
}
body[data-frontend-v33] :is(.lv-v8-quote-card,.support-card,.wizard-panel,.summary-card){
  min-width:0;
}
body[data-frontend-v33] :is(.field,.wizard-panel,.support-card) :is(label,.field>span:first-child){
  font-size:clamp(.925rem,1vw,1rem);
  line-height:1.45;
  font-weight:720;
}
body[data-frontend-v33] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
  font-family:var(--lv33-font)!important;
  font-size:16px!important;
  line-height:1.5;
  min-height:48px;
  max-width:100%;
  color:var(--lv33-ink);
}
body[data-frontend-v33] textarea{
  resize:vertical;
  min-height:120px;
}
body[data-frontend-v33] :is(.wizard-actions button,.support-card button[type="submit"],.btn,.lv-button,.sl-button){
  min-height:48px;
  line-height:1.4;
  text-align:center;
}
body[data-frontend-v33] :is(.site-header,.lv-site-header) :is(a,button):focus-visible,
body[data-frontend-v33] main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--lv33-focus)!important;
  outline-offset:3px!important;
}
/* Dark photo hero needs a WHITE focus outline. */
body[data-frontend-v33] :is(.lv-hero,.sl-hero) :is(a,button):focus-visible{
  outline:3px solid #fff!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px #071f38!important;
}
body[data-frontend-v33] .mobile-conversion-bar a{
  min-height:48px;
  line-height:1.35;
  font-weight:750;
}
body[data-frontend-v33] .lv7-table-scroll{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
body[data-frontend-v33] .lv7-table-scroll table{
  min-width:max-content;
  border-collapse:collapse;
}
body[data-frontend-v33] .lv7-table-scroll :is(th,td){
  padding:12px 16px;
  vertical-align:top;
  line-height:1.5;
}
@media(max-width:1000px){
  body[data-frontend-v33][data-services-v31] .lv31-hero-shell{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:26px!important;
  }
  body[data-frontend-v33][data-services-v31] .lv31-hero #lv31-services-title{
    font-size:clamp(2.15rem,4.2vw,3rem)!important;
  }
}
@media(max-width:680px){
  body[data-frontend-v33]{
    --lv33-radius:14px;
    --lv33-space-5:36px;
    --lv33-space-6:48px;
    font-size:16px!important;
  }
  body[data-frontend-v33] :is(.page-hero,.legal-hero) h1,
  body[data-frontend-v33] :is(.page-hero,.legal-hero) .display{
    max-width:100%;
    margin-block:10px 15px;
    font-size:clamp(2rem,8.5vw,2.65rem)!important;
    line-height:1.13!important;
    letter-spacing:-.035em!important;
  }
  body[data-frontend-v33] :is(.page-hero,.legal-hero) :is(p,.lede,.legal-lead){
    font-size:1rem!important;
    line-height:1.6!important;
  }
  body[data-frontend-v33] :is(.section-head,.lv-growth-heading) h2{
    font-size:clamp(1.65rem,7.4vw,2.15rem)!important;
    line-height:1.15!important;
  }
  body[data-frontend-v33] .lv-hero{min-height:0!important;}
  body[data-frontend-v33] .lv-hero-inner{
    min-height:0!important;
    padding-block:32px 86px!important;
    align-items:center;
  }
  body[data-frontend-v33] .lv-hero #lv-hero-title{
    max-width:100%;
    font-size:clamp(2.15rem,10.5vw,2.8rem)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
  }
  /* Keep the controlled-motion toggle away from the following overlapping
     conversion section; the top-right is free alongside the short kicker. */
  body[data-frontend-v33] .lv-hero-motion-toggle{
    top:12px!important;
    bottom:auto!important;
    right:14px!important;
    min-height:44px!important;
    padding-inline:12px!important;
  }
  body[data-frontend-v33] .lv-hero-kicker{margin-bottom:10px}
  body[data-frontend-v33] .lv-hero-services{margin-top:13px;font-size:1rem!important;line-height:1.55}
  body[data-frontend-v33] .lv-feature-grid{
    margin-block:16px 0;
    gap:6px;
  }
  body[data-frontend-v33] .lv-feature-grid>div{
    min-height:34px!important;
    padding-block:4px!important;
    font-size:.875rem;
    line-height:1.3;
  }
  body[data-frontend-v33] .lv-hero-actions{margin-top:19px;gap:9px}
  body[data-frontend-v33] .lv-hero-actions :is(a,button){min-height:48px;padding-block:10px}
  body[data-frontend-v33] .sl-hero h1{
    max-width:100%;
    font-size:clamp(2rem,8.5vw,2.9rem)!important;
    line-height:1.12!important;
  }
  body[data-frontend-v33][data-services-v31] .lv31-hero{
    padding-block:26px 36px!important;
  }
  body[data-frontend-v33][data-services-v31] .lv31-hero-shell{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }
  body[data-frontend-v33][data-services-v31] .lv31-hero #lv31-services-title{
    max-width:100%!important;
    font-size:clamp(2rem,8.5vw,2.6rem)!important;
    line-height:1.12!important;
    letter-spacing:-.035em!important;
  }
  body[data-frontend-v33][data-services-v31] .lv31-hero-actions{margin-top:18px}
  body[data-frontend-v33][data-services-v31] .lv31-hero-note{margin-top:12px}
  body[data-frontend-v33][data-services-v31] .lv31-hero-image{aspect-ratio:1.6}
  body[data-frontend-v33] :is(.lv-service-grid,.lv-v8-service-grid,.resource-grid,.lv-command-grid,.lv31-guides .resource-grid){
    grid-template-columns:minmax(0,1fr);
  }
  body[data-frontend-v33] :is(.lv-service-card,.resource-card,.service-card,.feature-card){
    padding:clamp(16px,4vw,22px);
  }
  body[data-frontend-v33] :is(.wizard-panel,.support-card,.summary-card){
    max-width:100%;
  }
  body[data-frontend-v33] .mobile-conversion-bar{
    padding-bottom:calc(9px + env(safe-area-inset-bottom));
  }
}
@media(max-width:359px){
  body[data-frontend-v33] .lv-hero #lv-hero-title{font-size:2.05rem!important;letter-spacing:-.035em!important}
  body[data-frontend-v33] .mobile-conversion-bar a{font-size:.8125rem}
  body[data-frontend-v33] .lv31-hero-actions a{overflow-wrap:break-word}
}
@media(prefers-reduced-motion:reduce){
  body[data-frontend-v33] :is(.lv-service-card,.resource-card,.service-card,.lv-command-card,.lv-v8-service-card){transition:none!important;transform:none!important}
}
@media(forced-colors:active){
  body[data-frontend-v33] :is(.lv-service-card,.resource-card,.service-card,.lv-command-card,.lv-v8-service-card){border:1px solid CanvasText!important}
  body[data-frontend-v33] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight!important}
}
@media print{
  body[data-frontend-v33] .mobile-conversion-bar,
  body[data-frontend-v33] .lv-hero-motion-toggle{display:none!important}
  body[data-frontend-v33] .site-header{position:static!important}
  body[data-frontend-v33]{color:#000;background:#fff}
}
/* After V9/V15/V28 !important selectors, ensure the actual informational hero
   paragraphs retain a minimum 16px text size in every browser/viewport. */
body[data-frontend-v33] main .sl-hero .sl-shell .sl-hero-copy .sl-dek {
  font-size:clamp(1rem,1.2vw,1.125rem)!important;
  line-height:1.65!important;
}
body[data-frontend-v33] main .lv-hero .lv-hero-inner .lv-hero-copy .lv-hero-services {
  font-size:1rem!important;
  line-height:1.6!important;
}


/* UX-370: The V5 task section used a negative margin to float over a taller
   hero. Modern mobile hero sizing left the dark heading on a dark/white seam.
   Keep the conversion section fully in normal document flow, on white. */
body[data-frontend-v33] .lv-hero{
  min-height:clamp(560px,69vh,700px)!important;
}
/* This second list repeats the service categories directly above and crowds
   the moving photography. Keep the source markup for legacy compatibility. */
body[data-frontend-v33] .lv-hero .lv-feature-grid{
  display:none!important;
}
body[data-frontend-v33] .lv-hero .lv-hero-inner{
  min-height:0!important;
  padding-block:clamp(64px,7vw,100px)!important;
}
body[data-frontend-v33] .lv-command-bar{
  margin-top:0!important;
  padding:clamp(46px,5vw,72px) 0 clamp(54px,6vw,84px)!important;
  background:#fff!important;
}
body[data-frontend-v33] .lv-command-bar__head{
  display:block!important;
  max-width:850px;
  margin:0 0 24px!important;
}
body[data-frontend-v33] .lv-command-bar__head h2{
  color:#10263c!important;
  font-size:clamp(2rem,3.8vw,3.1rem)!important;
  line-height:1.15!important;
  letter-spacing:-.038em!important;
  margin:0!important;
  text-wrap:balance;
}
body[data-frontend-v33] .lv-command-bar .lv-micro-label{
  color:#475d72!important;
  font-size:.78rem!important;
  line-height:1.5!important;
  margin:0 0 10px!important;
}
body[data-frontend-v33] .lv-command-grid{
  margin-top:0!important;
}
@media(max-width:680px){
  /* Mobile: show the photo at full brightness ABOVE a solid copy surface.
     The previous full-cover scrim made the branded truck effectively invisible. */
  body[data-frontend-v33] .lv-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-height:0!important;
    background-color:#071f38!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-video-layer{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:clamp(180px,53vw,258px)!important;
    min-height:180px!important;
    flex:0 0 auto!important;
    background-color:#dfe7ef!important;
    background-size:cover!important;
    background-position:center 45%!important;
    opacity:1!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-video-layer video{
    display:block;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-height:100%;
    object-fit:cover!important;
    object-position:68% center!important;
    filter:none!important;
    opacity:1!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-shade{
    display:none!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-inner{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-height:0!important;
    padding:clamp(25px,6vw,34px) max(16px,calc((100vw - 1180px)/2)) 38px!important;
    background-color:#071f38!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-copy{
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  body[data-frontend-v33] .lv-hero .lv-hero-motion-toggle{
    top:12px!important;
    bottom:auto!important;
    right:12px!important;
  }
  body[data-frontend-v33] .lv-command-bar{
    margin:0!important;
    padding:38px 0 64px!important;
    background:#fff!important;
  }
  body[data-frontend-v33] .lv-command-bar__head{
    margin:0 0 20px!important;
  }
  body[data-frontend-v33] .lv-command-bar__head h2{
    max-width:20ch!important;
    font-size:clamp(1.85rem,8.2vw,2.35rem)!important;
    line-height:1.16!important;
  }
  /* The homepage already has clear hero and task-card actions. Its separate
     fixed conversion dock covered the next heading at 390px and duplicated CTAs.
     Keep the dock on other marketing routes; remove it only from the homepage. */
  body[data-frontend-v33][data-ux-page="index"] [data-mobile-conversion-bar]{
    display:none!important;
  }
  body[data-frontend-v33][data-ux-page="index"]{
    padding-bottom:max(0px,env(safe-area-inset-bottom))!important;
  }
}

