/* P0004A — cinematic service stories. Loaded after p0004.css. */
.core-services-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 1.1rem;
}

.core-service-card {
    min-height: 31rem;
    grid-column: span 4;
    padding: 0;
    isolation: isolate;
    border-color: rgba(255,255,255,.17);
    background: #0b1b38;
}

.core-service-card:nth-child(1),
.core-service-card:nth-child(4) { grid-column: span 8; }

.core-service-card:nth-child(5) { grid-column: span 7; }
.core-service-card:nth-child(6) { grid-column: span 5; }

.core-service-image,
.core-service-image-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.core-service-image {
    z-index: -3;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}

.core-service-image-shade {
    z-index: -2;
    background:
        linear-gradient(180deg, rgba(2,10,28,.12) 8%, rgba(2,10,28,.34) 42%, rgba(2,10,28,.97) 100%),
        linear-gradient(90deg, rgba(3,14,36,.7), transparent 68%);
}

.core-service-card:nth-child(1) .core-service-image-shade,
.core-service-card:nth-child(4) .core-service-image-shade,
.core-service-card:nth-child(5) .core-service-image-shade {
    background:
        linear-gradient(90deg, rgba(2,11,30,.98) 0%, rgba(2,11,30,.86) 38%, rgba(2,11,30,.18) 78%),
        linear-gradient(180deg, transparent 25%, rgba(2,11,30,.8) 100%);
}

.core-service-story {
    display: flex;
    height: 100%;
    min-height: inherit;
    flex-direction: column;
    padding: clamp(1.5rem, 3vw, 2.5rem);
}

.core-service-card:nth-child(1) .core-service-story,
.core-service-card:nth-child(4) .core-service-story,
.core-service-card:nth-child(5) .core-service-story { width: min(64%, 35rem); }

.core-service-topline { margin-bottom: auto; }
.core-service-category { color: #d4e3f7; text-shadow: 0 1px 12px rgba(0,0,0,.65); }
.core-service-card h3 { max-width: 17ch; margin-top: 5rem; text-shadow: 0 3px 24px rgba(0,0,0,.55); }
.core-service-card > p { display: none; }
.core-service-story > p { max-width: 40rem; margin: 0 0 1.25rem; color: #d3dfef; line-height: 1.65; text-shadow: 0 2px 14px rgba(0,0,0,.7); }
.core-service-tags { margin-bottom: 1.25rem; }
.core-service-tags li { border-color: rgba(255,255,255,.2); color: #eef6ff; background: rgba(3,14,36,.5); backdrop-filter: blur(9px); }
.core-service-link { backdrop-filter: blur(2px); }

.core-service-card:hover .core-service-image {
    transform: scale(1.055);
    filter: saturate(1.08) contrast(1.03);
}

.core-service-card::after {
    inset: 0;
    height: 100%;
    border-radius: inherit;
    opacity: 0;
    background: linear-gradient(135deg, rgba(20,195,255,.16), transparent 46%, rgba(105,75,255,.12));
    transition: opacity .4s ease;
}

.core-service-card:hover::after { transform: none; opacity: 1; }

@media (max-width: 1050px) {
    .core-service-card,
    .core-service-card:nth-child(1),
    .core-service-card:nth-child(4),
    .core-service-card:nth-child(5),
    .core-service-card:nth-child(6) { grid-column: span 6; }

    .core-service-card:nth-child(1) .core-service-story,
    .core-service-card:nth-child(4) .core-service-story,
    .core-service-card:nth-child(5) .core-service-story { width: auto; }

    .core-service-card:nth-child(1) .core-service-image-shade,
    .core-service-card:nth-child(4) .core-service-image-shade,
    .core-service-card:nth-child(5) .core-service-image-shade {
        background: linear-gradient(180deg, rgba(2,10,28,.12) 8%, rgba(2,10,28,.34) 42%, rgba(2,10,28,.97) 100%);
    }
}

@media (max-width: 680px) {
    .core-service-card,
    .core-service-card:nth-child(1),
    .core-service-card:nth-child(4),
    .core-service-card:nth-child(5),
    .core-service-card:nth-child(6) { grid-column: 1 / -1; min-height: 30rem; }

    .core-service-card h3 { margin-top: 4rem; }
    .core-service-story { padding: 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
    .core-service-image { transition: none; }
    .core-service-card:hover .core-service-image { transform: none; }
}
