/* Motion stays beneath content and never delays access to an action. */
.welcome-hero{position:relative;isolation:isolate;overflow:hidden}
.welcome-hero>.hero-message,.welcome-hero>.hero-documentary{position:relative;z-index:1}
.ambient-art{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;border-radius:inherit}
.ambient-shape{position:absolute;display:block;animation:gentle-drift 18s ease-in-out infinite alternate}
.shape-sun{width:280px;height:280px;top:-175px;left:33%;background:#ffce75;opacity:.5;border-radius:44% 56% 69% 31% / 48% 38% 62% 52%;animation-duration:21s}
.shape-tide{width:240px;height:200px;bottom:-145px;left:-50px;background:#66bdb0;opacity:.28;border-radius:60% 40% 48% 52%;animation-delay:-6s}
.shape-peach{width:155px;height:175px;bottom:8px;left:43%;background:#f5b29b;opacity:.3;border-radius:65% 35% 62% 38%;animation-duration:23s;animation-delay:-9s}
.ambient-orbit{position:absolute;width:106px;height:106px;border:1px dashed #218d8c55;border-radius:50%;left:44%;top:42px;animation:gentle-orbit 45s linear infinite}
@keyframes gentle-drift{0%{transform:translate3d(0,0,0) rotate(-8deg);border-radius:44% 56% 69% 31% / 48% 38% 62% 52%}100%{transform:translate3d(18px,-16px,0) rotate(12deg);border-radius:62% 38% 40% 60% / 58% 57% 43% 42%}}
@keyframes gentle-orbit{to{transform:rotate(360deg)}}
.hero-fineprint .motion-toggle{display:inline-flex;align-items:center;margin-left:14px;padding:0 0 0 14px;border:0;border-left:1px solid #448b8c55;border-radius:0;background:transparent;color:#35646a;font-size:10px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.motion-toggle:disabled{cursor:default;text-decoration:none}
@media(hover:hover) and (pointer:fine){
 .button{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,background .28s}
 .button:hover{transform:translateY(-3px);box-shadow:0 7px 18px #163f5017}
 .button:active{transform:translateY(-1px);box-shadow:0 2px 6px #163f5010}
 .button>span,.card-link>span,.floating-contact>span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
 .button:hover>span,.card-link:hover>span,.floating-contact:hover>span{transform:translate(3px,-3px)}
 .service-expand,.team-person,.action-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
 .service-expand:hover,.team-person:hover,.action-card:hover{transform:translateY(-5px);box-shadow:0 12px 26px #183d4710}
 .team-photo img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
 .team-person:hover .team-photo img{transform:scale(1.045)}
 .action-symbol{transition:transform .65s cubic-bezier(.22,1,.36,1)}
 .action-card:hover .action-symbol{transform:rotate(12deg)}
 nav a{position:relative;transition:color .2s}
 nav a:after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:2px;background:#168194;transform:scaleX(0);transform-origin:left;transition:transform .3s}
 nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}
}
.service-more>span{transition:transform .3s cubic-bezier(.22,1,.36,1)}
[data-motion="off"] *,[data-motion="off"] *:before,[data-motion="off"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-motion-hidden="true"] .ambient-shape,[data-motion-hidden="true"] .ambient-orbit{animation-play-state:paused}
@media(max-width:760px){.ambient-orbit{width:80px;height:80px;top:16px;left:auto;right:-20px}.shape-sun{left:25%;top:-200px}.shape-peach{bottom:38%;left:auto;right:-85px}.hero-fineprint .motion-toggle{margin-left:9px;padding-left:9px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[data-motion="off"]{scroll-behavior:auto}
