/* The same diamond and pulse animation serve Home and the product pages. */
.page-template-tpl-pilot .pace-announcement-bar,
.page-template-tpl-geoptimise .pace-announcement-bar { box-sizing: border-box; }
.pace-home .pace-home-platform-mark[data-pace-diagram] {
    position: relative;
    isolation: isolate;
    border: 0;
    box-shadow: none;
    margin-block: 30px 74px;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}
.pace-home div[data-pace-diagram] { cursor: default; }
.pace-home-platform .pace-home-platform-mark[data-pace-diagram] { width: 160px; height: 160px; margin-block: 60px 55px; }
.pace-home-platform [data-pace-diagram] .pace-platform-content img { width: 88px; }
.pace-geo [data-pace-diagram]:focus-visible { outline: 2px solid var(--pace-home-green); outline-offset: 8px; }
.pace-diagram-scroll-hint { position: absolute; left: 16px; top: 55%; width: 36px; height: 36px; border: 1px solid #b7becf; border-radius: 50%; background: #fff; pointer-events: none; }
.pace-diagram-scroll-hint::before { content: ''; position: absolute; top: 5px; left: 11px; width: 12px; height: 24px; border: 1px solid #747474; border-radius: 8px; background: #f4f4f4; }
.pace-diagram-scroll-hint::after { content: ''; position: absolute; top: 12px; left: 15px; width: 4px; height: 6px; border-radius: 50%; background: #111; animation: pace-scroll-ball 1.5s ease-in-out infinite; }
@keyframes pace-scroll-ball { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
.pace-home [data-pace-diagram] > span {
    position: relative;
    z-index: 1;
    transform: none;
    box-shadow: 0 2px 5px rgba(7, 26, 98, .15);
    transition: box-shadow .45s ease-out;
}
.pace-platform-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    transform: rotate(-45deg);
}
.pace-home [data-pace-diagram] .pace-platform-content { width: auto; height: auto; border-radius: 0; background: transparent; transform: rotate(-45deg); }
.pace-geo .pace-platform-content img { filter: brightness(0) invert(1); }
.pace-geo .pace-platform-content b { white-space: nowrap; }
.pace-home.pace-geo .pace-home-platform-mark--asset > span { background: transparent; box-shadow: none; }
.pace-home.pace-geo .pace-home-platform-mark--asset .pace-platform-content img { width: 166px; height: 166px; max-width: none; object-fit: contain; filter: none; }
.pace-platform-ring {
    position: absolute;
    inset: 0;
    z-index: -1;
    border: 1px solid #e7eaf1;
    border-radius: inherit;
    pointer-events: none;
    transform: scale(var(--pace-ring-scale));
    opacity: .85;
    animation: pace-platform-outline-pulse 2.5s ease-in-out infinite;
    animation-play-state: paused;
}
.pace-platform-ring--1 { --pace-ring-scale: 1; border-color: #929dbc; }
.pace-platform-ring--2 { --pace-ring-scale: 1.22; border-color: #b8c1d8; }
.pace-platform-ring--3 { --pace-ring-scale: 1.44; border-color: #d6ddeb; }
.pace-platform-ring--4 { --pace-ring-scale: 1.66; border-color: #e7ecf4; }
[data-pace-diagram].is-diagram-visible .pace-platform-ring { animation-play-state: running; }
@keyframes pace-platform-outline-pulse {
    0%, 100% { opacity: .95; }
    50% { opacity: .18; }
}
[data-pace-diagram].is-progressing > span { box-shadow: 0 3px 12px rgba(7, 26, 98, .22); }
.pace-geo-steps[data-pace-diagram-cards] > a {
    border: 1px solid transparent;
    transition: transform .45s cubic-bezier(.2, .65, .3, 1), opacity .55s ease, border-color .45s ease-out, box-shadow .45s ease-out;
    padding-top: 18px !important;
    height: 104px;
    width: 417px;
}
.pace-geo-steps[data-pace-diagram-cards] > a.is-diagram-active {
    border-color: var(--pace-home-green);
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 6px 18px rgba(7, 26, 98, .18);
}
.pace-geoptimise .pace-geo-steps[data-pace-diagram-cards] > a.is-diagram-active,
.pace-pilot .pace-geo-steps[data-pace-diagram-cards] > a.is-diagram-active { border-color: transparent; }
.pace-geo-steps[data-pace-diagram-cards] > a:focus-visible { outline: 2px solid var(--pace-home-navy); outline-offset: 4px; }
.pace-home .pace-geo-steps[data-pace-diagram-cards]:focus { outline: none; }
@media (max-width: 640px) {
    .pace-diagram-scroll-hint { left: 8px; }
    .pace-geo [data-pace-diagram] .pace-platform-content b { font-size: 13px; }
    .pace-geo-steps[data-pace-diagram-cards] > a.is-diagram-active { transform: translate3d(0, -2px, 0); }
}
@media (prefers-reduced-motion: reduce) {
    .pace-diagram-scroll-hint::after { animation: none; }
    .pace-platform-ring { animation: none; opacity: .7; }
    .pace-platform-ring, .pace-geo [data-pace-diagram] > span,
    .pace-geo-steps[data-pace-diagram-cards] > a { transition: none; }
    .pace-geo-steps[data-pace-diagram-cards] > a.is-diagram-active { transform: none; }
}
