/* estilos/formation.css */
html[data-estilo="actual"] .fm,html:not([data-estilo="actual"]) .pf-route .pf-stops,html:not([data-estilo="actual"]) .path-sec .path{display: none;}.fm{--fm-h: 150px;--fm-y0: 0.86;--fm-sube: 0.74;--fm-x: 1.1rem;--fm-dot: 13px;--fm-stem: 20px;--fm-place: var(--color-primary-dark);--fm-title: var(--color-ink);--fm-muted: var(--color-muted);--fm-track: rgba(27,67,132,0.16);--fm-line: var(--color-primary-dark);--fm-glow: #7FA6DC;--fm-logo: var(--color-primary-dark);--fm-dot-bg: var(--color-ground);--fm-next: var(--color-accent);--fm-next-text: var(--color-accent-text);position: relative;}.fm-hint{display: none;margin: 0 0 0.8rem;text-align: left;font-size: 0.72rem;letter-spacing: 0.08em;color: var(--fm-muted);}.fm-scroll{position: relative;}.fm-track{list-style: none;margin: 0;padding: 0;counter-reset: fm;display: grid;grid-template-columns: repeat(var(--n,4),minmax(0,1fr));grid-template-rows: var(--fm-h) auto;column-gap: 0;}.fm-item{display: contents;}.fm-wave{grid-row: 1;grid-column: 1 / -1;position: relative;pointer-events: none;}.fm-wave svg{position: absolute;inset: 0;width: 100%;height: 100%;overflow: visible;}.fm-wave path{fill: none;stroke-linecap: round;}.fm:not(.fm-js) .fm-wave path{vector-effect: non-scaling-stroke;}.fm-wave-bg{stroke: var(--fm-track);stroke-width: 1.5;}.fm-wave-on{stroke: var(--fm-line);stroke-width: 1.75;}.fm-wave-next{stroke: var(--fm-next-text);stroke-width: 1.5;stroke-dasharray: 3 7;opacity: 0.75;}.fm-wave-flow{stroke: var(--fm-glow);stroke-width: 3;opacity: 0;filter: drop-shadow(0 0 5px var(--fm-glow));}.fm-card{counter-increment: fm;grid-row: 2;grid-column: calc(var(--i) + 1);display: grid;justify-items: start;align-content: start;gap: 0.3rem;padding: 1.1rem 1.2rem 0 var(--fm-x);text-align: left;border-left: 1px solid var(--fm-track);margin-left: calc(var(--fm-x) + var(--fm-dot) / 2 - 0.5px);padding-left: 1rem;}.fm-card::before{content: counter(fm,decimal-leading-zero);font-family: var(--a-font-label,var(--font-label,ui-monospace,monospace));font-size: 0.72rem;font-weight: 500;letter-spacing: 0.14em;color: var(--fm-muted);margin-bottom: 0.2rem;}.fm-logo{display: block;height: var(--fm-lh,64px);aspect-ratio: var(--fm-la,1);margin-bottom: 0.4rem;-webkit-mask-position: left center !important;mask-position: left center !important;background: var(--fm-logo);opacity: 0.92;-webkit-mask: var(--fm-lm) center / contain no-repeat;mask: var(--fm-lm) center / contain no-repeat;}.fm-logo--ugr{--fm-lm: url("../assets/img/formation-ugr.webp");--fm-la: 430 / 420;--fm-lh: 60px;}.fm-logo--uic{--fm-lm: url("../assets/img/formation-uic.svg");--fm-la: 1045 / 791;--fm-lh: 40px;}.fm-logo--dl{--fm-lm: url("../assets/img/formation-dl.svg");--fm-la: 937 / 871;--fm-lh: 46px;}.fm-place{font-family: var(--font-display);font-weight: 300;font-size: clamp(1.45rem,2.4vw,1.85rem);line-height: 1.05;letter-spacing: -0.025em;color: var(--fm-place);}.fm-tag{display: block;margin: -0.1rem 0 0.1rem;font-family: var(--a-font-label,var(--font-label,ui-monospace,monospace));font-size: 0.62rem;font-weight: 500;letter-spacing: 0.12em;text-transform: uppercase;color: var(--fm-next-text);}.fm-t{max-width: 24ch;font-family: var(--font-body);font-weight: 600;font-size: 1rem;line-height: 1.35;color: var(--fm-title);}.fm-d{max-width: 26ch;font-size: 0.86rem;line-height: 1.45;color: var(--fm-muted);}.fm-dot{grid-row: 1;grid-column: calc(var(--i) + 1);justify-self: start;align-self: start;position: relative;z-index: 1;margin-left: var(--fm-x);--fm-k: calc(var(--i) * (var(--i) + 1) / ((var(--n,4) - 1) * var(--n,4)));margin-top: calc(var(--fm-h) * (var(--fm-y0) - var(--fm-k) * var(--fm-sube)) - var(--fm-dot) / 2);width: var(--fm-dot);height: var(--fm-dot);border-radius: 50%;background: var(--fm-dot-bg);border: 1.5px solid var(--fm-line);box-sizing: border-box;}.fm-dot::before{content: "";position: absolute;left: 50%;top: 100%;margin-top: 4px;width: 0;height: calc(var(--fm-h) * var(--fm-k) * var(--fm-sube) + var(--fm-h) * (1 - var(--fm-y0)) - 4px);border-left: 1px dashed var(--fm-line);opacity: 0.4;translate: -50% 0;}.fm-next .fm-dot{background: var(--fm-next);border-color: var(--fm-next);}.fm-next .fm-dot::before{border-left-color: var(--fm-next-text);}.fm-next .fm-dot::after{content: "";position: absolute;inset: -6px;border-radius: 50%;border: 1px solid var(--fm-next);opacity: 0.5;}html[data-estilo="d"] .path-sec .fm,html[data-estilo="da"] .path-sec .fm{--fm-place: var(--d-ivory);--fm-title: var(--d-ivory);--fm-muted: var(--d-steel);--fm-track: rgba(242,238,230,0.18);--fm-line: var(--d-sky);--fm-glow: var(--d-sky);--fm-logo: var(--d-ivory);--fm-dot-bg: var(--d-navy);--fm-next-text: var(--d-amber-soft);}html[data-estilo="d"] .fm{--fm-place: var(--d-night);--fm-track: rgba(15,26,43,0.16);--fm-line: var(--d-night);--fm-glow: var(--d-sky);--fm-logo: var(--d-night);--fm-dot-bg: var(--d-paper);--fm-next-text: var(--d-label);}html[data-estilo="da"] .fm{--fm-place: var(--color-primary-dark);--fm-track: rgba(27,67,132,0.16);--fm-line: var(--color-primary-dark);--fm-glow: var(--d-sky);--fm-logo: var(--color-primary-dark);--fm-dot-bg: var(--d-paper);--fm-next-text: var(--d-label);}html[data-estilo="d"] .fm-tag,html[data-estilo="da"] .fm-tag{font-family: var(--font-label);}.path-grid >.fm{margin-top: 0.6rem;}@media (prefers-reduced-motion: no-preference){.fm.fm-js:not(.is-on) .fm-wave-on{stroke-dasharray: 1 1;stroke-dashoffset: 1;}.fm.fm-js:not(.is-on) .fm-wave-next{opacity: 0;}.fm.fm-js:not(.is-on) .fm-card{opacity: 0;translate: 0 12px;filter: blur(5px);}.fm.fm-js:not(.is-on) .fm-dot{scale: 0.3;opacity: 0;}.fm.fm-js.is-on .fm-wave-on{stroke-dasharray: 1 1;stroke-dashoffset: 1;animation: fmDraw 1.6s cubic-bezier(.45,.05,.3,1) 0.1s forwards;}.fm.fm-js.is-on .fm-wave-next{transition: opacity 0.8s ease-out 1.7s;}.fm.fm-js.is-on .fm-card{transition: opacity 0.7s ease-out,translate 0.8s cubic-bezier(.32,.72,0,1),filter 0.8s cubic-bezier(.32,.72,0,1);transition-delay: calc(0.25s + var(--i) * 0.38s);}.fm.fm-js.is-on .fm-dot{transition: scale 0.6s cubic-bezier(.34,1.56,.64,1),opacity 0.3s ease-out;transition-delay: calc(0.2s + var(--i) * 0.38s);}.fm.fm-js.is-on .fm-wave-flow{stroke-dasharray: 0.05 2;animation: fmFlow 4.2s linear 2.2s infinite;}.fm.fm-js.is-on .fm-next .fm-dot::after{animation: fmPulse 2.4s ease-out 2s infinite;}}@keyframes fmDraw{to{stroke-dashoffset: 0;}}@keyframes fmFlow{0%{stroke-dashoffset: 0.05;opacity: 0;}12%{opacity: 0.9;}82%{opacity: 0.9;}100%{stroke-dashoffset: -1;opacity: 0;}}@keyframes fmPulse{0%{transform: scale(0.8);opacity: 0.7;}100%{transform: scale(2.1);opacity: 0;}}@media (max-width: 759px){.fm{--fm-h: 120px;}.fm-hint{display: block;}.fm-scroll{overflow-x: auto;overscroll-behavior-x: contain;scroll-snap-type: x proximity;scrollbar-width: none;margin-inline: -1.25rem;padding-inline: 1.25rem;scroll-padding-inline: 1.25rem;-webkit-mask: linear-gradient(90deg,transparent 0,#000 1.25rem,#000 calc(100% - 2.5rem),transparent 100%);mask: linear-gradient(90deg,transparent 0,#000 1.25rem,#000 calc(100% - 2.5rem),transparent 100%);}.fm-scroll::-webkit-scrollbar{display: none;}.fm-track{grid-template-columns: repeat(var(--n,4),176px);width: max-content;}.fm-card{scroll-snap-align: start;padding-right: 0.6rem;}.fm-logo--ugr{--fm-lh: 52px;}.fm-logo--uic{--fm-lh: 34px;}.fm-logo--dl{--fm-lh: 40px;}.fm-place{font-size: 1.4rem;}.fm-t{font-size: 0.95rem;}.fm-d{font-size: 0.82rem;}}html[data-estilo="a"] .path-sec .fm{--fm-dot-bg: var(--color-white);}.who-text >.pf-route{margin-top: 1.4rem;padding-top: 1.4rem;}html:not([data-estilo="actual"]) .who-text:has(>.pf-route){max-width: none;}.who-text .fm{--fm-h: 120px;}.who-text .fm-place{font-size: clamp(1.3rem,2vw,1.6rem);}.who-text:has(>.pf-route),.who-text >.pf-route{min-width: 0;}html .who-text p.fm-hint{font-size: 0.75rem;line-height: 1.4;color: var(--fm-muted);}html[data-estilo="actual"] .fm-mini,html:not([data-estilo="actual"]) #presentation .pf-route .fm{display: none;}#presentation .pf-route:has(.fm-mini){margin-top: clamp(2rem,4vw,3rem);}html:not([data-estilo="actual"]) #presentation .pf-route-title{margin-bottom: 1rem;}.fm-mini{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(4,minmax(0,1fr));border-top: 1px solid var(--color-border);border-bottom: 1px solid var(--color-border);counter-reset: fm;}.fm-mini li{counter-increment: fm;position: relative;display: flex;align-items: center;gap: 0.9rem;padding: 1.15rem 1.2rem 1.15rem 0;min-width: 0;}.fm-mini li + li{padding-left: 1.2rem;border-left: 1px solid var(--color-border);}.fm-mini li::before{content: "";position: absolute;top: -1px;left: 0;right: 0;height: 2px;background: var(--color-primary-dark);transform: scaleX(0);transform-origin: left;transition: transform 0.9s cubic-bezier(.32,.72,0,1) calc(var(--i) * 0.18s + 0.2s);}.fm-mini li.is-next::before{background: repeating-linear-gradient(90deg,var(--color-accent) 0 6px,transparent 6px 11px);}.pf-route.is-visible .fm-mini li::before,.pf-route.in .fm-mini li::before,.pf-route.revealed .fm-mini li::before{transform: none;}.fm-mini .fm-logo{flex: none;margin: 0;--fm-logo: var(--color-primary-dark);height: calc(var(--fm-lh) * 0.62);opacity: 0.9;}.fm-mini-t{display: grid;gap: 0.1rem;min-width: 0;}.fm-mini-t b{font-family: var(--a-font-label,var(--font-label,ui-monospace,monospace));font-size: 0.7rem;font-weight: 500;letter-spacing: 0.12em;text-transform: uppercase;color: var(--color-muted);}.fm-mini-t span{font-size: 0.92rem;line-height: 1.35;font-weight: 500;color: var(--color-ink);}.fm-mini .fm-tag{margin: 0.15rem 0 0;font-style: normal;color: var(--color-accent-text);}@media (max-width: 899px){.fm-mini{grid-template-columns: repeat(2,minmax(0,1fr));}.fm-mini li:nth-child(3){padding-left: 0;border-left: 0;}.fm-mini li:nth-child(n+3){border-top: 1px solid var(--color-border);}}@media (max-width: 479px){.fm-mini{grid-template-columns: 1fr;}.fm-mini li,.fm-mini li + li{padding: 0.9rem 0;border-left: 0;}.fm-mini li + li{border-top: 1px solid var(--color-border);}}
