/* Requested homepage refinements. Keep the existing typography and layout. */
body.tsg-layout-home .tsg-hero__copy > h1,
.tsg-elementor-page .tsg-hero__copy > h1 {
    color: #235bc8 !important;
    -webkit-text-fill-color: #235bc8 !important;
}

body.tsg-layout-home .tsg-map360__place-dot,
.tsg-elementor-page .tsg-map360__place-dot {
    background: #e2d9f4 !important;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--place-accent, #3b1e7b) 34%, white),
        color-mix(in srgb, var(--place-accent, #3b1e7b) 21%, white)) !important;
    border: 2px solid color-mix(in srgb, var(--place-accent, #3b1e7b) 62%, white) !important;
    color: var(--place-accent, #3b1e7b) !important;
    box-shadow: 0 5px 12px color-mix(in srgb, var(--place-accent, #3b1e7b) 13%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, .65) !important;
}

/* Visible side publications retain the same geometry, full colour and clarity. */
body.tsg-layout-home .tsg-showcase-card:not(.is-hidden),
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) {
    --card-opacity: 1 !important;
    opacity: 1 !important;
    filter: none !important;
}

body.tsg-layout-home .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta h3,
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta h3 {
    color: var(--tsg-primary, #3b1e7b) !important;
}
body.tsg-layout-home .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta p,
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta p {
    color: #17151e !important;
}
body.tsg-layout-home .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__media,
body.tsg-layout-home .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__media img,
body.tsg-layout-home .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta,
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__media,
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__media img,
.tsg-elementor-page .tsg-showcase-card:not(.is-hidden) .tsg-showcase-card__meta {
    opacity: 1 !important;
    filter: none !important;
}

/* Only the identity drawing and its two original XD states, no card styling. */
.tsg-service-card__art--identity .tsg-identity-motion {
    display: block;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 310px;
    overflow: visible;
    pointer-events: none;
}
@media (max-width: 760px) {
    .tsg-service-card__art--identity .tsg-identity-motion {
        /* The native 250px art area includes 14px top and 8px bottom padding. */
        max-height: 228px;
    }
}
.tsg-identity-motion__moving {
    transform: var(--identity-start);
    transform-origin: 0 0;
    transform-box: view-box;
}
body.tsg-motion-enabled .tsg-identity-motion__moving {
    transition: transform 300ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
    body.tsg-motion-enabled .tsg-service-card--3:hover .tsg-identity-motion__moving {
        transform: var(--identity-hover);
    }
}
body.tsg-motion-enabled .tsg-service-card--3:focus-visible .tsg-identity-motion__moving {
    transform: var(--identity-hover);
}
@media (prefers-reduced-motion: reduce) {
    body.tsg-motion-enabled .tsg-service-card--3 .tsg-identity-motion__moving {
        transform: var(--identity-start) !important;
        transition: none !important;
    }
}
