/* Recursos del manual v1.1: un gesto breve por sección. */
.salvamento{width:130px;height:130px;pointer-events:none;margin-bottom:24px}
.salvamento svg{display:block;width:100%;height:100%;overflow:visible}
.salvamento svg path{vector-effect:non-scaling-stroke;stroke-width:2}
.perspective-head .salvamento{margin-top:-20px}
.method .section-top{position:relative;padding-bottom:32px}
.method-heading-art{position:absolute;left:0;top:48px}
.method-heading-art .salvamento{width:140px;height:140px;margin:0}
.analysis-copy .salvamento{width:110px;height:110px;margin-bottom:24px}
.contact>.salvamento{width:140px;height:140px;margin:0 auto 28px}
.salvamento-ring.is-seen svg{animation:salvamento-float 2.6s ease-in-out both}
.salvamento-lighthouse.is-seen path:last-child{animation:salvamento-light 2.6s ease-in-out both}
.salvamento-compass.is-seen .salvamento-needle{transform-origin:125px 125px;animation:salvamento-orient 2.6s ease-in-out both}
.salvamento-boat.is-seen svg{animation:salvamento-sail 2.6s ease-in-out both}
@keyframes salvamento-float{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-8px) rotate(-5deg)}75%{transform:translateY(2px) rotate(2deg)}}
@keyframes salvamento-light{0%,100%{opacity:1}35%{opacity:.2}70%{opacity:1}}
@keyframes salvamento-orient{0%,100%{transform:rotate(0)}35%{transform:rotate(-24deg)}70%{transform:rotate(8deg)}}
@keyframes salvamento-sail{0%{transform:translateX(-16px) rotate(-4deg)}65%{transform:translateX(4px) rotate(2deg)}100%{transform:translateX(0) rotate(0)}}
@media(max-width:700px){.salvamento{width:100px;height:100px;margin-bottom:22px}.perspective-head .salvamento{margin-top:0}.method .section-top{padding-bottom:0;display:flex;flex-direction:column}.method-heading-art{position:static;order:1}.method-heading-art .salvamento{width:100px;height:100px;margin-bottom:22px}.method .section-top>.section-label{order:2}.method .section-top>h2{order:3}.analysis-copy .salvamento{width:100px;height:100px}.contact>.salvamento{width:110px;height:110px}}
@media(prefers-reduced-motion:reduce){.salvamento *{animation:none!important;transform:none!important}}

/* Movimiento propio de cada objeto, activo solo dentro de pantalla. */
.salvamento{position:relative}
.salvamento-ring.is-seen svg{animation:buoy 4.8s ease-in-out infinite}
.salvamento-lighthouse.is-seen path:last-child{animation:none}
.salvamento-lighthouse .lighthouse-beam{transform-origin:123px 84px;stroke:none}
.salvamento-lighthouse.is-seen .lighthouse-beam{animation:beam-sweep 5s linear infinite}
.salvamento-lighthouse.is-seen .lighthouse-lamp{animation:lamp-turn 5s linear infinite}
.salvamento-compass.is-seen .salvamento-needle{transform-origin:125px 125px;animation:north 7s linear infinite}
.salvamento:not(.in-view) *, .salvamento.is-paused *{animation-play-state:paused!important}
.salvamento-control{pointer-events:auto;position:absolute;right:-18px;bottom:-6px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #f4f0e844;border-radius:50%;background:#082d4b99;color:#f4f0e8;font:12px Arial,sans-serif;cursor:pointer}
.salvamento-control:focus-visible{outline:2px solid #ff4f00;outline-offset:3px}
@keyframes buoy{0%,100%{transform:translateY(3px) rotate(-7deg)}25%{transform:translate(3px,-6px) rotate(0deg)}50%{transform:translateY(-10px) rotate(7deg)}75%{transform:translate(-3px,-3px) rotate(0deg)}}
@keyframes beam-sweep{0%,100%{transform:scaleX(1);opacity:.85}25%{transform:scaleX(0);opacity:.25}50%{transform:scaleX(-1);opacity:.85}75%{transform:scaleX(0);opacity:.12}}
@keyframes lamp-turn{0%,50%,100%{opacity:.8}25%{opacity:1}75%{opacity:.4}}
@keyframes north{0%,100%{transform:rotate(-39deg)}8%{transform:rotate(29deg)}16%{transform:rotate(-70deg)}24%{transform:rotate(-17deg)}32%{transform:rotate(-51deg)}40%{transform:rotate(-32deg)}48%{transform:rotate(-43deg)}56%,90%{transform:rotate(-39deg)}}
@media(prefers-reduced-motion:reduce){.salvamento *{animation:none!important;transform:none!important}.salvamento-control{display:none}}
