/* Industry pages. Builds on landing.css and service.css. */

.in-hero { background:
        radial-gradient(700px 440px at 76% 48%, rgba(37, 99, 235, .3), transparent 70%),
        radial-gradient(520px 360px at 92% 12%, rgba(56, 189, 248, .14), transparent 70%),
        linear-gradient(180deg, var(--lx-ink) 0%, var(--lx-ink-2) 100%); }

/* ---------------------------------------------------------------- 3D operations layers */
.in-layers { position: relative; height: 470px; perspective: 1400px; transform-style: preserve-3d; }
.in-layer {
    position: absolute; left: 50%; top: 50%;
    width: min(380px, 90%); margin-left: calc(min(380px, 90%) / -2); margin-top: calc(-70px + (1 - var(--i)) * 128px);
    padding: 18px 22px; border-radius: 20px; color: #fff;
    transform: rotateX(38deg) rotateZ(-16deg) translateZ(calc((var(--i) - 1) * 50px));
    box-shadow: 0 30px 60px -22px rgba(2, 6, 23, .7), inset 0 1px 0 rgba(255, 255, 255, .3);
    border: 1px solid rgba(255, 255, 255, .22);
    animation: in-breathe 7s ease-in-out infinite; animation-delay: calc(var(--i) * -1.2s);
}
.in-layer strong { display: block; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.in-layer ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.in-layer li { position: relative; padding-left: 18px; font-size: 14px; line-height: 1.4; }
.in-layer li::before { content: ""; position: absolute; left: 0; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .85); }
.in-layer--emerald { background: linear-gradient(135deg, rgba(20, 39, 54, .96), rgba(4, 74, 169, .9)); }
.in-layer--teal { background: linear-gradient(135deg, rgba(4, 74, 169, .95), rgba(37, 99, 235, .9)); }
.in-layer--gold { background: linear-gradient(135deg, rgba(180, 83, 9, .95), rgba(251, 191, 36, .9)); }
@keyframes in-breathe {
    0%, 100% { transform: rotateX(38deg) rotateZ(-16deg) translateZ(calc((var(--i) - 1) * 50px)); }
    50% { transform: rotateX(38deg) rotateZ(-16deg) translateZ(calc((var(--i) - 1) * 70px)); }
}
@media (max-width: 960px) {
    .in-layers { height: auto; perspective: none; display: grid; gap: 12px; }
    .in-layer { position: static; width: 100%; margin: 0; transform: none; animation: none; }
}

.in-card__tag { display: inline-block; padding: 5px 11px; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #bfdbfe; background: rgba(37, 99, 235, .25); border: 1px solid rgba(147, 197, 253, .3); transform: translateZ(40px); }

.in-flow .sv-flow__node { background: linear-gradient(135deg, #0d1e3a, #071324); }
.in-flow { padding: 24px; border-radius: 24px; background: radial-gradient(400px 260px at 80% 20%, rgba(37, 99, 235, .3), transparent 70%), var(--lx-ink); }

/* ---------------------------------------------------------------- compliance */
.in-compliance { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 28px; max-width: 1000px; padding: 40px; border-radius: 26px; background: #fff; border: 1px solid var(--lx-line); box-shadow: 0 30px 60px -45px rgba(7, 19, 36, .5); }
.in-compliance__icon { display: inline-flex; width: 72px; height: 72px; align-items: center; justify-content: center; border-radius: 22px; background: linear-gradient(135deg, #2563eb, #044aa9); box-shadow: 0 16px 30px -12px rgba(37, 99, 235, .7); }
.in-compliance__icon svg { width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.in-compliance .lx-body + .lx-body { margin-top: 14px; }
@media (max-width: 640px) { .in-compliance { grid-template-columns: 1fr; padding: 26px; } }

/* ---------------------------------------------------------------- case study */
.in-case { display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: center; margin-top: 28px; padding: 36px; border-radius: 24px; background: #fff; border: 1px solid var(--lx-line); }
.in-case h3 { margin-top: 10px; font-size: 24px; line-height: 1.3; }
.in-case h3 a { color: #142736; text-decoration: none; }
.in-case h3 a:hover { color: #044aa9; }
.in-case p { margin: 12px 0 18px !important; font-size: 16px; line-height: 1.7; color: var(--lx-muted); }
.in-case__metrics { display: grid; gap: 12px; padding: 20px; border-radius: 20px; background: var(--lx-ink); }
.in-case__metrics div { display: flex; align-items: baseline; gap: 14px; }
.in-case__metrics strong { min-width: 90px; font-size: 32px; font-weight: 700; background: var(--lx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.in-case__metrics span { font-size: 14.5px; color: #cbd5e1; }
@media (max-width: 860px) { .in-case { grid-template-columns: 1fr; padding: 26px; } }

/* ---------------------------------------------------------------- hub */
.in-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.in-principles div { padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(148, 163, 184, .18); }
.in-principles strong { display: block; font-size: 17px; color: #fff; }
.in-principles p { margin-top: 8px !important; font-size: 14.5px; line-height: 1.6; color: #94a3b8; }
@media (max-width: 900px) { .in-principles { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) { .in-layer { animation: none !important; } }
