/* Mobile-first experience refinement; preserve canonical V28 colors and content. */
body[data-ux-v30] { --lv30-focus:#a62e09; }
body[data-ux-v30] :where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--lv30-focus)!important;outline-offset:3px!important;
}
body[data-ux-v30] :where(button,a.btn,.lv-button-primary,.lv-button-secondary,.lv-header-cta) {
  min-height:44px;
}
body[data-ux-v30] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {font-size:max(16px,1rem)}
body[data-ux-v30] :where(input,select,textarea):disabled {cursor:not-allowed}
body[data-ux-v30] :where(.section-head,.lv-growth-heading) > p:last-child {max-width:65ch}
body[data-ux-v30] .lv-hero-copy {max-width:720px}
body[data-ux-v30] #lv-hero-title {line-height:1.02;letter-spacing:-.055em}
body[data-ux-v30] .lv-service-editorial-grid img {object-fit:cover}
@media(max-width:680px) {
  body[data-ux-v30] {--lv28-shell:calc(100% - 32px)}
  body[data-ux-v30] .lv-hero-inner {padding-block:42px 54px}
  body[data-ux-v30] .lv-hero-kicker {margin-bottom:12px;letter-spacing:.14em}
  body[data-ux-v30] #lv-hero-title {font-size:clamp(2.6rem,12vw,3.9rem);line-height:1.03;letter-spacing:-.045em}
  body[data-ux-v30] .lv-hero-services {margin-top:16px}
  body[data-ux-v30] .lv-feature-grid {margin-top:16px;gap:4px 12px}
  body[data-ux-v30] .lv-feature-grid>div {min-height:34px;font-size:13px}
  body[data-ux-v30] .lv-hero-actions {margin-top:20px;gap:10px}
  body[data-ux-v30] .lv-hero-actions :where(a,button) {min-height:48px}
  body[data-ux-v30] .lv-hero-tagline {margin-top:14px}
  body[data-ux-v30] main>section:not(.lv-hero):not(.page-hero):not(.legal-hero):not(.sl-hero) {padding-block:clamp(32px,8vw,46px)}
  body[data-ux-v30] :where(.page-hero,.legal-hero,.sl-hero) {padding-block:32px!important}
  body[data-ux-v30] :where(.page-hero,.legal-hero,.sl-hero) h1 {font-size:clamp(2rem,9vw,3.25rem)!important;line-height:1.08!important}
  body[data-ux-v30] :where(.section-head,.lv-growth-heading) {margin-bottom:22px}
  body[data-ux-v30] :where(.section-head,.lv-growth-heading) h2 {font-size:clamp(1.8rem,8vw,2.55rem);line-height:1.12}
  body[data-ux-v30] .lv-command-grid {gap:12px!important}
  body[data-ux-v30] .lv-command-card {min-height:0}
  body[data-ux-v30] :where(.lv-v8-service-card,.lv17-cost-card) {min-height:0;padding:18px!important}
  body[data-ux-v30] :where(.lv-faq-list summary) {padding:16px;min-height:44px}
  /* The decorative quote photograph is below the intro but before the form.
     Keep it on larger screens; on phones put the actual quote journey first. */
  body[data-ux-v30]:has(#quoteWizard) main>.lv-photo-band {display:none}
  body[data-ux-v30]:has(#quoteWizard) .wizard-layout {padding-top:0}
  body[data-ux-v30]:has(#quoteWizard) .wizard-progress {scroll-margin-top:96px}
  body[data-ux-v30]:has(#quoteWizard) .wizard-panel :where(input,select,textarea) {min-height:48px}
  body[data-ux-v30]:has(#quoteWizard) .wizard-actions button {min-height:48px}
  body[data-ux-v30] .site-footer {padding-top:46px}
}

/* UX-031: Support contains exactly two panels. Never allocate a phantom third
   column, and do not constrain the contact form to a narrow card. */
body[data-ux-v30] .support-grid{
  display:grid;
  grid-template-columns:minmax(228px,.38fr) minmax(0,1fr)!important;
  align-items:start;
  gap:clamp(20px,3vw,40px)!important;
  width:min(1120px,calc(100% - 48px))!important;
  margin-inline:auto;
}
body[data-ux-v30] .support-grid > :where(.support-menu,.support-card){
  min-width:0;
  width:100%;
  max-width:none;
}
body[data-ux-v30] .support-grid .support-menu{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  align-content:start;
}
body[data-ux-v30] .support-menu .support-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:52px;
  padding:14px 18px;
  font-size:clamp(.9375rem,1.1vw,1rem);
  line-height:1.4;
}
body[data-ux-v30] .support-grid .support-card{
  min-width:0;
  padding:clamp(24px,3.25vw,40px)!important;
}
body[data-ux-v30] .support-card > h2{
  max-width:22ch;
  font-size:clamp(2rem,3vw,2.75rem);
  line-height:1.07;
  text-wrap:balance;
}
body[data-ux-v30] .support-card :where(p,.field-note){
  max-width:70ch;
  line-height:1.6;
}
body[data-ux-v30] .support-card #contactForm{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
}
body[data-ux-v30] .support-card .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body[data-ux-v30] .support-card .form-grid .field{min-width:0}
body[data-ux-v30] .support-card .form-grid .field.full{grid-column:1/-1}
body[data-ux-v30] .support-card .field label{
  display:block;
  font-size:.875rem;
  line-height:1.4;
  font-weight:750;
}
body[data-ux-v30] .support-card :where(input:not([type="checkbox"]):not([type="radio"]),textarea){
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:48px;
  font-size:16px!important;
}
body[data-ux-v30] .support-card textarea{
  min-height:144px;
  resize:vertical;
}
body[data-ux-v30] .support-card :where(.field-note,.carrier-sms-disclaimer){
  font-size:.875rem;
  line-height:1.6;
}
body[data-ux-v30] .support-card .form-acknowledgment-card{
  width:100%;
  max-width:100%;
  margin-top:22px;
  padding:20px!important;
}
body[data-ux-v30] .support-card .form-acknowledgment-card__label{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:14px;
  align-items:start;
  font-size:.875rem;
  line-height:1.6;
}
body[data-ux-v30] .support-card .form-acknowledgment-card__label input[type="checkbox"]{
  box-sizing:border-box;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  margin:0;
  align-self:start;
  accent-color:#f4511e;
}
body[data-ux-v30] .support-card button[type="submit"]{
  min-height:52px;
  padding-inline:24px;
}
@media(max-width:900px){
  body[data-ux-v30] .support-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:20px!important;
  }
  body[data-ux-v30] .support-grid .support-menu{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  body[data-ux-v30] .support-grid{
    width:calc(100% - 28px)!important;
    gap:16px!important;
  }
  body[data-ux-v30] .support-grid .support-menu{
    grid-template-columns:minmax(0,1fr);
  }
  body[data-ux-v30] .support-grid .support-card{
    padding:22px 18px!important;
  }
  body[data-ux-v30] .support-card .form-grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  body[data-ux-v30] .support-card .form-grid .field.full{
    grid-column:auto;
  }
  body[data-ux-v30] .support-card .form-acknowledgment-card{
    padding:16px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  body[data-ux-v30] *,body[data-ux-v30] *::before,body[data-ux-v30] *::after {scroll-behavior:auto!important}
}