/* Short, finite animations. Content stays visible without JavaScript. */
.headline-line{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}
.headline-content{display:block;transform-origin:left bottom}
.hero-art{isolation:isolate}
.orbit-link{position:absolute;right:22px;top:30px;width:106px;height:106px;display:grid;place-items:center;color:#f0d18e;z-index:2;border-radius:50%;background:#082738c9;transition:background .3s,scale .3s}
.orbit-link svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:orbit-arrive 4.5s cubic-bezier(.2,.65,.3,1) 1}
.orbit-link text{fill:currentColor;font:10px Arial,Helvetica,sans-serif;letter-spacing:2.1px}
.orbit-link>span{font-size:32px;line-height:1;transition:transform .35s}
.orbit-link:hover,.orbit-link:focus-visible{color:#fff0cd;background:#125169;scale:1.04}
.orbit-link:hover>span{transform:rotate(45deg)}
.service-card{transition:transform .4s cubic-bezier(.2,.75,.25,1),box-shadow .4s}
.transport-icon{transition:transform .6s cubic-bezier(.2,.75,.25,1),opacity .6s}
.card-link b{display:inline-block;transition:transform .35s}
.service-card:hover,.service-card:focus-visible{transform:translateY(-7px);box-shadow:0 18px 36px #08273815}
.service-card.sea:hover,.service-card.sea:focus-visible{color:#f0f5f3}
.service-card:hover .transport-icon,.service-card:focus-visible .transport-icon{transform:translate(7px,-6px) rotate(-9deg);opacity:.55}
.service-card:hover .card-link b,.service-card:focus-visible .card-link b{transform:translate(4px,-4px)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 15%,#ffffff1f 50%,transparent 85%);transform:translateX(-120%);transition:transform .65s}
.button:hover:after,.button:focus-visible:after{transform:translateX(120%)}
.button>span{display:inline-block;transition:transform .3s}
.button:hover>span,.button:focus-visible>span{transform:translate(3px,-3px)}
.header nav>a:not(.button){position:relative}
.header nav>a:not(.button):after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .3s}
.header nav>a:not(.button):hover:after,.header nav>a:not(.button):focus-visible:after{transform:scaleX(1);transform-origin:left}
.timeline li:before{animation:step-arrive .6s ease-out 1}
.form-status:not(:empty){animation:status-arrive .25s ease-out 1}
@keyframes orbit-arrive{from{transform:rotate(-100deg)}to{transform:rotate(0)}}
@keyframes step-arrive{from{box-shadow:0 0 0 9px #008caf00;scale:.5}50%{box-shadow:0 0 0 7px #008caf25}to{box-shadow:0 0 0 0 #008caf00;scale:1}}
@keyframes status-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.orbit-link{width:80px;height:80px;top:18px;right:18px}.orbit-link text{font-size:10px}.orbit-link>span{font-size:25px}}
@media(hover:none){.service-card:hover{transform:none;box-shadow:none}.service-card:hover .transport-icon{transform:none}.orbit-link:hover{scale:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.headline-line{overflow:visible}.service-card:hover,.service-card:focus-visible,.service-card:hover .transport-icon,.service-card:focus-visible .transport-icon,.service-card:hover .card-link b,.service-card:focus-visible .card-link b,.button:hover>span,.orbit-link:hover>span{transform:none}.orbit-link:hover{scale:1}}
