.site-social-links a {
    position: relative;
    display: inline-grid;
    place-items: center;
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.site-social-links a::after {
    content: "";
    position: absolute;
    inset: -40%;
    background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .65) 50%, transparent 62%);
    transform: translateX(-120%) rotate(12deg);
    transition: transform .5s ease;
}

.site-social-links a:hover {
    transform: translateY(-3px) scale(1.06);
    border-color: #d7b658;
    background: rgba(215, 182, 88, .12);
    box-shadow: 0 8px 20px rgba(2, 72, 53, .22);
}

.site-social-links a:hover::after { transform: translateX(120%) rotate(12deg); }
.site-social-links a i { position: relative; z-index: 1; }
.site-social-links-footer a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); }

.legacy-facts {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 20%, rgba(218, 184, 91, .18), transparent 28%),
        radial-gradient(circle at 92% 80%, rgba(40, 149, 108, .2), transparent 30%),
        linear-gradient(135deg, #063b2f, #075c46 52%, #033e31) !important;
}

.legacy-facts::before {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    top: -210px;
    left: 50%;
    border: 1px solid rgba(218, 184, 91, .25);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(218,184,91,.035), 0 0 0 75px rgba(218,184,91,.025);
    transform: translateX(-50%);
    animation: legacyHalo 5s ease-in-out infinite;
}

.legacy-facts-intro { position: relative; z-index: 1; margin: 0 auto 30px; max-width: 720px; text-align: center; color: #fff; }
.legacy-facts-intro span { color: #e7ca74; font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.legacy-facts-intro h2 { margin: 8px 0 0; color: #fff; font-size: clamp(1.65rem, 3vw, 2.5rem); }

.legacy-badge {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 180px;
    padding: 26px 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.07));
    box-shadow: 0 20px 55px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.22);
    backdrop-filter: blur(12px);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.legacy-badge::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 260px;
    right: -95px;
    top: -45px;
    background: linear-gradient(90deg, transparent, rgba(232,201,111,.18), transparent);
    transform: rotate(24deg);
    animation: legacyShine 4.6s ease-in-out infinite;
}

.legacy-badge:hover { transform: translateY(-7px); border-color: rgba(231,202,116,.6); box-shadow: 0 28px 68px rgba(0,0,0,.28); }
.legacy-badge-icon { position: relative; display: grid; place-items: center; width: 92px; height: 92px; flex: 0 0 92px; border-radius: 50%; color: #f1d783; font-size: 2.3rem; background: linear-gradient(145deg,#0a7558,#034333); border: 1px solid rgba(236,210,133,.55); box-shadow: 0 0 0 8px rgba(231,202,116,.08), 0 14px 32px rgba(0,0,0,.22); }
.legacy-badge-icon::after { content:""; position:absolute; inset:-9px; border:1px dashed rgba(236,210,133,.42); border-radius:50%; animation: legacySpin 14s linear infinite; }
.legacy-badge-copy { position: relative; z-index: 1; }
.legacy-badge-number { display:flex; align-items:flex-start; color:#fff; font-size:clamp(2.2rem,5vw,3.7rem); font-weight:800; line-height:.95; letter-spacing:-.04em; }
.legacy-badge-number sup { margin: 2px 0 0 5px; color:#f0d37d; font-size:.45em; }
.legacy-badge-copy h3 { margin: 9px 0 4px; color:#f1d783; font-size:1.02rem; letter-spacing:.08em; text-transform:uppercase; }
.legacy-badge-copy p { margin:0; color:rgba(255,255,255,.72); font-size:.88rem; }

.contextual-testimonial-image { width:100px; height:100px; object-fit:cover; object-position:center; border:4px solid #fff; box-shadow:0 8px 24px rgba(6,83,63,.2); }
.contextual-training-image { height:320px; object-fit:cover; object-position:center; transition:transform .65s ease, filter .65s ease; }
.training-item:hover .contextual-training-image { transform:scale(1.07); filter:saturate(1.08) contrast(1.03); }

@keyframes legacySpin { to { transform:rotate(360deg); } }
@keyframes legacyHalo { 50% { opacity:.55; transform:translateX(-50%) scale(1.08); } }
@keyframes legacyShine { 0%,30% { transform:translateX(-250px) rotate(24deg); } 65%,100% { transform:translateX(120px) rotate(24deg); } }

@media (max-width: 575.98px) {
    .legacy-badge { align-items:flex-start; gap:18px; padding:22px 18px; border-radius:22px; }
    .legacy-badge-icon { width:70px; height:70px; flex-basis:70px; font-size:1.75rem; }
    .legacy-badge-copy p { font-size:.8rem; }
}

@media (prefers-reduced-motion: reduce) {
    .legacy-facts::before, .legacy-badge::after, .legacy-badge-icon::after { animation:none; }
    .legacy-badge, .contextual-training-image, .site-social-links a { transition:none; }
}
