/* Revision 03: FlowButton 1929 choreography, stable cycling phrase, fitted intros. */
body[data-route=""] .ez-nav-shell,body[data-route="vehicle-transport"] .ez-nav-shell,body[data-route="transport-hauling"] .ez-nav-shell{height:0}
.hero-copy{padding-top:clamp(120px,15vh,170px)}
.hero-copy .rotating-slot{display:flex;align-items:baseline;gap:.24em;font-size:clamp(33px,3.65vw,53px);line-height:1.17;height:1.27em;max-width:1240px;margin:0 0 27px;overflow:visible;font-weight:700}
.hero-copy .rotating-slot .transport-fixed{flex:none;display:block;color:#c5edff;background:none;-webkit-text-fill-color:currentColor;animation:none;transform:none!important;transition:none;white-space:nowrap}
.hero-copy .rotating-slot .phrase-window{position:relative;display:block;flex:1;min-width:0;height:1.27em;overflow:hidden;background:none;animation:none;color:inherit}
.hero-copy .rotating-slot .rotating-phrase{display:block;white-space:nowrap;max-width:none;color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(110deg,var(--phrase-a,#87c9ff) 8%,var(--phrase-b,#c5fbff) 35%,var(--phrase-c,#63dbfb) 60%,var(--phrase-a,#87c9ff) 88%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;animation:phrase-shine 3.8s linear infinite;will-change:transform,opacity}
.rotating-phrase[data-tone=blue]{--phrase-a:#74c6ff;--phrase-b:#cefbff;--phrase-c:#65dffa}
.rotating-phrase[data-tone=violet]{--phrase-a:#b9a4ff;--phrase-b:#d9caff;--phrase-c:#80bbff}
.rotating-phrase[data-tone=teal]{--phrase-a:#63e8d5;--phrase-b:#c0ffe9;--phrase-c:#7ae8b5}
.rotating-phrase[data-tone=amber]{--phrase-a:#ffd278;--phrase-b:#ffeac3;--phrase-c:#ffa58e}
@keyframes phrase-shine{to{background-position:230% 0}}
.rotating-slot[data-cycle-paused=true] .rotating-phrase,.phrase-window[data-cycling=paused] .rotating-phrase{animation-play-state:paused}
.flow-button{--flow-pad:40px;--flow-edge:16px;display:inline-flex;justify-content:center;align-items:center;gap:0;padding:13px var(--flow-pad)!important;min-height:50px;isolation:isolate;border-radius:9px;transform:none!important;transition:background-color .4s,box-shadow .3s,border-color .4s;overflow:hidden}
.flow-button .button-label{position:relative;z-index:2;display:block;line-height:1.4;transform:translateX(-10px)!important;transition:transform 800ms cubic-bezier(.23,1,.32,1);white-space:nowrap}
.flow-button .arrow-in,.flow-button .arrow-out{display:flex!important;position:absolute!important;top:50%;width:20px;height:20px;min-width:20px;align-items:center;justify-content:center;z-index:2;transform:translateY(-50%)!important;transition:left 800ms cubic-bezier(.34,1.56,.64,1),right 800ms cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.flow-button .arrow-in{left:-28%!important;right:auto!important}.flow-button .arrow-out{left:auto!important;right:var(--flow-edge)!important}
.flow-button svg{width:20px!important;height:20px!important;flex:0 0 20px}.flow-button path{stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.flow-button:before{width:var(--flow-diameter,340px)!important;height:var(--flow-diameter,340px)!important;top:50%;left:50%;border-radius:50%;z-index:0;opacity:0;transform:translate(-50%,-50%) scale(.06);transition:transform 800ms cubic-bezier(.19,1,.22,1),opacity .25s;background:var(--ink);pointer-events:none}
.flow-button:is(:hover,:focus-visible,:active):before{opacity:1;transform:translate(-50%,-50%) scale(1)}
.flow-button:is(:hover,:focus-visible,:active) .arrow-out{right:-28%!important}
.flow-button:is(:hover,:focus-visible,:active) .arrow-in{left:var(--flow-edge)!important}
.flow-button:is(:hover,:focus-visible,:active) .button-label{transform:translateX(10px)!important}
.flow-button:active{box-shadow:inset 0 0 0 2px #ffffff70}.flow-button.light:before{background:#e2efff}
.card-actions .flow-button{--flow-pad:34px;--flow-edge:12px;min-width:0}.service-card .flow-button{--flow-pad:36px;--flow-edge:14px}
.category-hero,.category-hero.has-intro{height:100svh;min-height:600px;padding:0;width:100%;background:#fdecd5;color:var(--ink)}
.category-hero.has-intro .category-intro{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fdecd5;max-width:none}
.category-hero .category-intro{filter:url(#intro-orange-contrast)}
.category-hero.has-intro>p{bottom:103px;font-size:15px;max-width:760px;padding-inline:24px;line-height:1.5}
.category-hero.has-intro>.flow-button{bottom:34px}
@media(min-aspect-ratio:31/20){.category-hero.has-intro .category-intro{object-fit:cover}}
.intro-responsive{display:none;position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;background:#fdecd5}
.intro-wave{position:absolute;inset:24% -25% auto;width:150%;height:49%;opacity:.6;filter:blur(5px);transform-origin:center;animation:intro-wave-pass 3.8s cubic-bezier(.2,.65,.2,1) both}
.intro-wave path{fill:none;stroke:#779beb;stroke-width:7;opacity:.35}
.intro-responsive-title{position:absolute;inset:28% 18px auto;display:flex;align-items:center;flex-direction:column;text-align:center;letter-spacing:-.045em;line-height:1.12;font-weight:600}
.intro-responsive-title span{display:block;max-width:100%;color:transparent;-webkit-text-stroke:1px #d9572f;background:linear-gradient(#d9572f,#d9572f) no-repeat center bottom/100% 0;background-clip:text;-webkit-background-clip:text;animation:intro-type-fill 1.6s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.2s + var(--line-index)*.45s)}
.intro-responsive-title span:nth-child(1){--line-index:0;font-size:clamp(29px,8.1vw,66px)}
.intro-responsive-title span:nth-child(2){--line-index:1;font-size:clamp(47px,12vw,92px)}
.intro-responsive-title span:nth-child(3){--line-index:2;font-size:clamp(32px,8.2vw,66px)}
@keyframes intro-type-fill{0%{opacity:0;transform:translateY(20px);background-size:100% 0}25%{opacity:1}60%{background-size:100% 0}100%{opacity:1;transform:none;background-size:100% 100%}}
@keyframes intro-wave-pass{from{transform:translateX(-12%) scale(.94);opacity:0}to{transform:none;opacity:.6}}
.category-hero[data-settled=true] .intro-responsive-title span{animation:none;background-size:100% 100%;opacity:1;transform:none}
.category-hero[data-settled=true] .intro-wave{animation:none}
@media(max-aspect-ratio:6/5){.category-hero.has-intro .intro-responsive{display:block}.category-hero.has-intro .category-intro{visibility:hidden}.category-hero.has-intro>p{bottom:112px;max-width:570px;font-size:14px}.category-hero.has-intro>.flow-button{bottom:40px}}
@media(max-width:1100px){.hero-copy .rotating-slot{display:block;height:2.62em;font-size:clamp(36px,5.3vw,52px);margin-bottom:23px}.hero-copy .rotating-slot .phrase-window{margin-top:.08em;width:100%}}
@media(max-width:600px){.hero-copy{padding-top:113px;padding-bottom:88px}.hero-copy .rotating-slot{font-size:clamp(33px,8.5vw,43px);height:2.62em;margin-bottom:22px;letter-spacing:-.045em}.hero-copy .rotating-slot .rotating-phrase{font-size:1em}.hero-copy h1{font-size:clamp(36px,9.7vw,46px)}.hero-copy p{margin:20px 0 25px}.card-actions{gap:10px}.card-actions .flow-button{--flow-pad:32px;--flow-edge:11px}.category-hero,.category-hero.has-intro{min-height:650px}.category-hero.has-intro>p{padding-inline:22px}.category-hero.has-intro>.flow-button{bottom:33px}.intro-responsive-title{inset-block-start:30%}}
@media(max-width:370px){.hero-copy .rotating-slot{font-size:33px}.hero-copy .eyebrow{margin-bottom:18px}}
@media(max-width:850px){.truck-stage img{width:100%;max-width:100%}}
@media(max-width:600px){.road-word{font-size:17vw}}
@media(max-height:680px) and (min-width:601px){.hero-copy{padding-top:104px;padding-bottom:80px}.hero-copy .rotating-slot{font-size:41px}.category-hero,.category-hero.has-intro{min-height:540px}.category-hero.has-intro>p{bottom:85px;font-size:13px}.category-hero.has-intro>.flow-button{bottom:22px}}
@media(prefers-reduced-motion:reduce){.hero-copy .rotating-slot .rotating-phrase{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.flow-button,.flow-button:before,.flow-button .button-label,.flow-button .arrow-in,.flow-button .arrow-out{transition:none!important}.intro-responsive-title span{animation:none;background-size:100% 100%;opacity:1;transform:none}.intro-wave{animation:none}}
