/* LVW Final Three — Motion Edition V6
   Light native compositor-first enhancement. Three different brand signatures.
   Respect prior rejection: NO glassmorphism, magnetic cursor gimmicks, decorative arrows, or motion-gated content. */
:root{--lvw-ease-out:cubic-bezier(.22,1,.36,1);--lvw-ease-spring:cubic-bezier(.2,1.35,.35,1);--lvw-shift:16px}
.lineage-house{--lvw-motion-accent:#b28d65;--lvw-shift:12px}
.paw-prairie{--lvw-motion-accent:#f3c94b;--lvw-shift:14px}
.linehaul{--lvw-motion-accent:#ff713b;--lvw-shift:18px}

/* A fine, functional reading-progress line, not a decorative stripe or opaque bar. */
#lvw-scroll-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:2px;transform-origin:left center;transform:scaleX(0);pointer-events:none;background:var(--lvw-motion-accent,#af8c69);will-change:transform}
@media print{#lvw-scroll-progress{display:none!important}}

/* Progressive enhancement only: content stays fully visible with JS absent, reduced motion,
   background tab, power saver, or no IntersectionObserver. */
.lvw-motion .lvw-reveal{transition:opacity .7s var(--lvw-ease-out),transform .7s var(--lvw-ease-out);opacity:0;transform:translate3d(0,var(--lvw-shift),0)}
.lvw-motion .lvw-reveal.lvw-in-view{opacity:1;transform:translate3d(0,0,0)}
.lvw-motion .lvw-reveal.lvw-in-view.lvw-stagger-1{transition-delay:70ms}
.lvw-motion .lvw-reveal.lvw-in-view.lvw-stagger-2{transition-delay:130ms}
.lvw-motion .lvw-reveal.lvw-in-view.lvw-stagger-3{transition-delay:190ms}

@media(hover:hover) and (pointer:fine){
  .lvw-motion :is(a.button,a.ex-action,.button,.ex-actions button,.adv-actions button,.ex-select-grid button,.ex-vet-buttons button,.ex-haul-selector button,.site-nav a,.site-footer a,.lh-ledger-tabs button,.comfort-tabs button,.haul-service-tabs button,.network-cities button){
    transition:transform .36s var(--lvw-ease-out),box-shadow .36s var(--lvw-ease-out),background-color .22s ease,color .22s ease,border-color .22s ease;
  }
  .lvw-motion :is(a.button,a.ex-action,.button,.ex-actions button,.adv-actions button,.ex-select-grid button,.ex-vet-buttons button,.ex-haul-selector button,.lh-ledger-tabs button,.comfort-tabs button,.haul-service-tabs button,.network-cities button):hover:not(:disabled){
    transform:translate3d(0,-2px,0);box-shadow:0 5px 0 rgba(0,0,0,.09)
  }
  .lvw-motion :is(a.button,a.ex-action,.button,.ex-actions button,.adv-actions button,.ex-select-grid button,.ex-vet-buttons button,.ex-haul-selector button,.lh-ledger-tabs button,.comfort-tabs button,.haul-service-tabs button,.network-cities button):active:not(:disabled){
    transform:translate3d(0,1px,0);box-shadow:none;transition-duration:.10s
  }
  .lvw-motion .site-nav a:hover{text-decoration-thickness:2px;text-underline-offset:7px}
}
/* Focus is never sacrificed for the sake of animation. */
.lvw-motion :is(button,a,input,select,textarea,summary):focus-visible{outline-width:3px;outline-style:solid;outline-offset:4px}
.lvw-motion :is(.lh-ledger-tabs,.comfort-tabs,.haul-service-tabs,.ex-vet-buttons,.ex-haul-selector) [aria-pressed="true"]{transition:background-color .25s,color .25s,border-color .25s}

/* Brand A: refined archival photography, almost imperceptible movement. */
.lvw-motion .lineage-hero h1,.lvw-motion .ex-lineage-intro h1,.lvw-motion .ex-lineage-care h1{animation:lvw-type-arrive .85s var(--lvw-ease-out) both}
.lvw-motion .lineage-hero .lh-copy>p:first-child{animation:lvw-type-arrive .7s var(--lvw-ease-out) both}
.lvw-motion .lineage-hero .lh-portrait{overflow:hidden}
.lvw-motion .lineage-hero .lh-portrait img{transform:translate3d(0,var(--lvw-image-drift,0px),0) scale(1.04);will-change:transform}
.lvw-motion .lineage-house .ex-steps article{transition:background-color .3s ease,padding-left .45s var(--lvw-ease-out)}
@media(hover:hover) and (pointer:fine){.lvw-motion .lineage-house .ex-steps article:hover{padding-left:9px;background:rgba(255,255,255,.19)}}

/* Brand B: welcoming, composed, lower-amplitude feedback; no exam-form distractions. */
.lvw-motion .paw-hero h1,.lvw-motion .ex-vet-intro h1,.lvw-motion .ex-vet-arrival h1{animation:lvw-type-arrive .8s var(--lvw-ease-out) both}
.lvw-motion .paw-hero .paw-photo{overflow:hidden}
.lvw-motion .paw-hero .paw-photo img{transform:translate3d(0,var(--lvw-image-drift,0px),0) scale(1.04);will-change:transform}
.lvw-motion .paw-prairie :is(.ex-arrival-timeline li,.ex-vet-feature){transition:box-shadow .35s ease}
@media(hover:hover) and (pointer:fine){.lvw-motion .paw-prairie .ex-arrival-timeline li:hover{box-shadow:0 12px 24px rgba(25,79,150,.09)}}

/* Brand C: a deliberate technical reveal, not gamified freight controls. */
.lvw-motion .haul-hero h1,.lvw-motion .ex-haul-intro h1,.lvw-motion .ex-haul-shipping h1{animation:lvw-type-arrive .75s var(--lvw-ease-out) both}
.lvw-motion .haul-hero .haul-landscape{overflow:hidden}
.lvw-motion .haul-hero .haul-landscape img{transform:translate3d(0,var(--lvw-image-drift,0px),0) scale(1.045);will-change:transform}
.lvw-motion .linehaul :is(.ex-haul-process article,.ex-haul-spec dl>div,.adv-freight-stat){position:relative}
.lvw-motion .linehaul .ex-haul-process article::before{content:'';position:absolute;left:0;top:-3px;right:0;height:3px;background:#ff713b;transform:scaleX(0);transform-origin:left;transition:transform .56s var(--lvw-ease-out)}
@media(hover:hover) and (pointer:fine){.lvw-motion .linehaul .ex-haul-process article:hover::before{transform:scaleX(1)}}

/* Industry selection response. Trigger only after a real change, never on initial focus. */
.lvw-motion .lvw-state-bloom{animation:lvw-state-change .30s var(--lvw-ease-out) both}
@keyframes lvw-type-arrive{from{opacity:.25;transform:translate3d(0,13px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes lvw-state-change{from{opacity:.78;transform:translate3d(0,5px,0)}to{opacity:1;transform:translate3d(0,0,0)}}

/* Responsive menus are built on existing working aria-expanded logic. No obscuring overlays. */
@media(max-width:1180px){
 .lvw-motion .site-nav.open{animation:lvw-menu-open .22s var(--lvw-ease-out) both}
 @keyframes lvw-menu-open{from{opacity:.65;transform:translate3d(0,-7px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
}
/* Native cross-document transitions when browser supports it, preserving normal navigation elsewhere. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:lvw-page-out .13s ease both}
::view-transition-new(root){animation:lvw-page-in .22s ease-out both}
@keyframes lvw-page-out{to{opacity:.88}}
@keyframes lvw-page-in{from{opacity:.8}to{opacity:1}}

/* Hard user control: all enhancements disabled when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
 #lvw-scroll-progress{display:none!important}
 .lvw-motion .lvw-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .lvw-motion :is(.lh-portrait,.paw-photo,.haul-landscape) img{transform:none!important;will-change:auto!important}
 .lvw-motion :is(.lineage-hero h1,.paw-hero h1,.haul-hero h1,.ex-hero h1,.lvw-state-bloom,.site-nav.open){animation:none!important}
 .lvw-motion :is(a,button,.ex-steps article,.ex-arrival-timeline li){transform:none!important;transition:none!important;animation:none!important}
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
@media print{
 .lvw-motion .lvw-reveal{opacity:1!important;transform:none!important}
 .lvw-motion :is(.lh-portrait,.paw-photo,.haul-landscape) img{transform:none!important}
}
