/* A conceptual map of six comfort variables, centred on the person. */
.comfort-human{margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:8px;isolation:isolate}
.comfort-figure{display:block;width:100%;max-width:520px;height:auto;overflow:visible}
.comfort-guides{stroke:#153a46;stroke-width:.65;opacity:.13}
.comfort-guides rect{stroke-dasharray:2 6}
.comfort-layer{fill:none;stroke-width:1.1;opacity:.22;transition:opacity .7s ease;transform-origin:260px 228px}
.comfort-layer circle,.comfort-layer path{vector-effect:non-scaling-stroke}
.comfort-track{stroke-width:.65;opacity:.4}
.comfort-radiation{stroke:#c87348}.comfort-moisture{stroke:#009fb8}.comfort-wind{stroke:#478a9b}.comfort-temperature{stroke:url(#comfort-thermal)}.comfort-activity{stroke:#b76b46}.comfort-clothing{stroke:#153a46}
.comfort-radial,.comfort-droplets,.comfort-temperature-in,.comfort-temperature-out,.comfort-pulse,.comfort-insulation,.comfort-air-orbit{transform-origin:260px 228px}
.comfort-radial{animation:comfort-radiate 5s ease-in-out infinite;stroke-width:1.2}
.comfort-radial-echo{animation-delay:-2.5s}
.comfort-droplets{animation:comfort-evaporate 7s ease-in-out infinite}
.comfort-drop{fill:#009fb810;animation:comfort-drop-glint 4s ease-in-out infinite;animation-delay:var(--delay)}
.comfort-air-orbit{animation:comfort-circulate 36s linear infinite}
.comfort-air-stream{stroke-dasharray:22 150;animation:comfort-airflow 7s linear infinite;opacity:0;transition:opacity .6s}
.comfort-temperature-in{animation:comfort-incoming 6s ease-in-out infinite}
.comfort-temperature-out{animation:comfort-outgoing 6s ease-in-out infinite;animation-delay:-3s}
.comfort-temperature-ring{opacity:.55}
.comfort-pulse{animation:comfort-metabolic 5s ease-out infinite}
.comfort-pulse-second{animation-delay:-2.5s}
.comfort-insulation{animation:comfort-insulate 6s ease-in-out infinite}
.comfort-body{stroke:#153a46;stroke-width:1.55;pointer-events:none}
.comfort-outline,.comfort-head{fill:#fff;fill-opacity:.88}
.comfort-alternate{stroke-width:1.15;opacity:.48;fill:#fff;fill-opacity:.65}
.comfort-body-detail{stroke-width:.8;opacity:.35}
.comfort-core{fill:#c87348;stroke:none}
.comfort-garment{stroke-width:3.5;stroke:#153a46;opacity:0;transition:opacity .7s;stroke-dasharray:2 5}
.comfort-person-label{fill:#647880;font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:2px}
.comfort-motion-caption{font-size:14px;line-height:1.6;text-align:center;color:#50646c;max-width:350px;min-height:45px;margin:0}
.comfort-human[data-active=aire] [data-ring=aire],.comfort-human[data-active=radiacion] [data-ring=radiacion],.comfort-human[data-active=velocidad] [data-ring=velocidad],.comfort-human[data-active=humedad] [data-ring=humedad],.comfort-human[data-active=actividad] [data-ring=actividad],.comfort-human[data-active=ropa] [data-ring=ropa]{opacity:1;stroke-width:1.5}
.comfort-human[data-active=velocidad] .comfort-air-stream{opacity:1}
.comfort-human[data-active=ropa] .comfort-garment{opacity:.45}
.comfort-human[data-active=actividad] .comfort-core{animation:comfort-core-beat 2.5s ease-in-out infinite;transform-origin:260px 229px}
@keyframes comfort-radiate{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(.73);opacity:1}}
@keyframes comfort-evaporate{0%{transform:scale(.66);opacity:.15}25%{opacity:.9}85%{opacity:.65}100%{transform:scale(1.03);opacity:.15}}
@keyframes comfort-drop-glint{0%,100%{fill:#009fb808}50%{fill:#009fb838}}
@keyframes comfort-circulate{to{transform:rotate(360deg)}}
@keyframes comfort-airflow{to{stroke-dashoffset:-344}}
@keyframes comfort-incoming{0%{transform:scale(1.3);opacity:0}30%{opacity:.8}100%{transform:scale(.7);opacity:0}}
@keyframes comfort-outgoing{0%{transform:scale(.7);opacity:0}35%{opacity:.85}100%{transform:scale(1.3);opacity:0}}
@keyframes comfort-metabolic{0%{transform:scale(.25);opacity:0}20%{opacity:.85}100%{transform:scale(1.45);opacity:0}}
@keyframes comfort-insulate{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(1.035);opacity:1}}
@keyframes comfort-core-beat{0%,100%{transform:scale(1)}50%{transform:scale(1.6)}}
@media(max-width:800px){.comfort-human{align-self:center}.comfort-motion-caption{font-size:14px}}
@media(max-width:650px){.comfort-figure{max-width:400px}.comfort-human{width:100%}.comfort-motion-caption{max-width:290px;margin-bottom:14px}.factor-content{gap:20px}}
@media(prefers-reduced-motion:reduce){.comfort-human *{animation:none!important;transition:none!important}.comfort-temperature-in,.comfort-temperature-out,.comfort-pulse,.comfort-radial-echo{opacity:0}}
