/* Public pages only. All animation remains inside the normal page layout. */
.ys-public-motion .flight-route{animation:ys-route-flow 3s linear infinite}
.ys-route-pulse{transform-box:fill-box;transform-origin:center;animation:ys-port-pulse 3.2s ease-out infinite}
.ys-route-pulse:nth-of-type(4){animation-delay:1.6s}
.ys-public-motion .journey-caption{flex-wrap:wrap;gap:14px}
.ys-motion-toggle{font:inherit;font-size:11px;letter-spacing:.04em;line-height:1.4;padding:8px 12px;border:1px solid #82aaa666;border-radius:20px;background:transparent;color:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0}
.ys-motion-toggle:focus-visible{outline:2px solid #20c9b4;outline-offset:4px}
.ys-motion-toggle:disabled{cursor:default;opacity:.65}
.ys-parcel-journey{margin:28px 0 34px;padding:24px 20px 12px;border:1px solid #0f786225;border-radius:16px;background:linear-gradient(110deg,#f0f9f6,#fafcf9);overflow:hidden}
.ys-parcel-labels{display:flex;justify-content:space-between;gap:14px;color:#28665d;font-size:10px;font-weight:700;letter-spacing:.12em}
.ys-parcel-labels span{flex:1}.ys-parcel-labels span:nth-child(2){text-align:center}.ys-parcel-labels span:last-child{text-align:right}
.ys-parcel-track{height:48px;position:relative;margin:10px 14px 0;border-bottom:2px dashed #2d9c8655}
.ys-moving-parcel{position:absolute;bottom:0;left:0;width:38px;height:38px;animation:ys-parcel-trip 12s ease-in-out infinite}
.ys-moving-parcel svg{width:100%;height:100%;display:block}
.ys-motion-reveal.ys-arrived{animation:ys-arrive .7s both;animation-delay:var(--ys-delay,0ms)}
.ys-public-motion .steps article,.ys-public-motion .service-grid article,.ys-public-motion .button{transition:transform .25s ease,box-shadow .25s ease}
@media(hover:hover){.ys-public-motion .steps article:hover,.ys-public-motion .service-grid article:hover{transform:translateY(-5px);box-shadow:0 15px 35px #123f3810}.ys-public-motion .button:hover{transform:translateY(-2px)}}
.ys-public-motion .steps .step-symbol svg{transition:transform .3s ease}.ys-public-motion .steps article:hover .step-symbol svg{transform:translateY(-3px) rotate(-5deg)}
.ys-motion-paused *, .ys-motion-background *{animation-play-state:paused!important}
@keyframes ys-route-flow{to{stroke-dashoffset:-48}}
@keyframes ys-port-pulse{0%,100%{transform:scale(1);opacity:.8}60%{transform:scale(1.35);opacity:.25}}
@keyframes ys-parcel-trip{0%,8%{left:0;transform:translateX(0)}44%,54%{left:50%;transform:translateX(-50%)}90%,100%{left:100%;transform:translateX(-100%)}}
@keyframes ys-arrive{from{opacity:.35;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.ys-parcel-journey{padding:18px 12px 10px}.ys-parcel-labels{font-size:8px;letter-spacing:.06em;gap:8px}}
@media(prefers-reduced-motion:reduce){.ys-public-motion *, .ys-public-motion *::before,.ys-public-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ys-motion-reveal{opacity:1!important;transform:none!important}}
.ys-motion-paused .ys-motion-reveal{animation:none!important;opacity:1;transform:none}

/* Decorative shipping backgrounds stay behind content and within each section. */
.ys-ambient-host{position:relative;isolation:isolate;overflow:hidden}
.ys-ambient-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;color:#008f80}
.ys-ambient-icon{position:absolute;display:block;width:100px;opacity:.12;animation:ys-ambient-drift 19s ease-in-out infinite alternate}
.ys-ambient-icon svg{display:block;width:100%;height:auto}
.ys-ambient-icon-0{left:4%;top:12%;animation-delay:-6s}
.ys-ambient-icon-1{left:39%;top:8%;width:150px;animation-duration:25s;animation-delay:-13s}
.ys-ambient-icon-2{right:5%;top:51%;width:74px;animation-duration:21s;animation-delay:-8s}
.ys-ambient-icon-3{left:16%;bottom:5%;width:140px;animation-duration:27s;animation-delay:-19s}
.ys-ambient-icon-4{left:57%;bottom:14%;width:64px;animation-duration:17s;animation-delay:-4s}
.ys-ambient-glow{position:absolute;width:70%;height:100%;left:0;top:0;background:radial-gradient(ellipse,#1dc9aa26,transparent 65%);animation:ys-ambient-glow 24s ease-in-out infinite alternate}
.closing .ys-ambient-layer,.account-section .ys-ambient-layer{color:#49cbb5}
@keyframes ys-ambient-drift{from{transform:translate3d(-18px,18px,0) rotate(-7deg)}to{transform:translate3d(38px,-26px,0) rotate(9deg)}}
@keyframes ys-ambient-glow{from{transform:translate3d(-10%,10%,0);opacity:.4}to{transform:translate3d(45%,-8%,0);opacity:1}}
@media(max-width:600px){.ys-ambient-icon{width:64px;opacity:.1}.ys-ambient-icon-1,.ys-ambient-icon-3{width:100px}.ys-ambient-icon-4{display:none}}
