.solutions-hero {
    background:
        linear-gradient(120deg, rgba(2, 5, 9, 0.99), rgba(3, 9, 12, 0.95) 55%, rgba(9, 22, 20, 0.9)),
        url("../images/textures/defence-camouflage.png");
    background-size: auto, 22rem auto;
    min-height: 32rem;
    overflow: hidden;
    padding-block: calc(var(--header-height) + clamp(2rem, 3vw, 3rem)) var(--space-6);
    position: relative;
}

.solutions-hero::before {
    background: radial-gradient(circle at 74% 47%, rgba(88, 187, 212, 0.12), transparent 25rem);
    content: "";
    inset: 0;
    position: absolute;
}

.solutions-hero__inner {
    align-items: center;
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 0.9fr) minmax(31rem, 1fr);
    position: relative;
}

.solutions-hero__copy { --flow-space: var(--space-6); position: relative; z-index: 2; }
.solutions-hero h1 { font-size: clamp(2.5rem, 4.2vw, 4.5rem); max-width: 13ch; text-transform: uppercase; }
.solutions-hero h1 span { color: var(--color-accent); display: block; }
.solutions-hero__copy .lede { max-width: 39rem; }
.solutions-hero__copy .button { margin-top: var(--space-3); }

.systems-network { aspect-ratio: 1.4; display: grid; max-width: 33rem; place-items: center; position: relative; width: 100%; }
.systems-network__lines { height: 100%; inset: 0; position: absolute; width: 100%; }
.systems-network__lines path { animation: network-flow 2.5s linear infinite; fill: none; stroke: rgba(88, 187, 212, 0.5); stroke-dasharray: 5 8; stroke-width: 1.5; }
.systems-network__lines circle { fill: none; stroke: rgba(88, 187, 212, 0.18); stroke-dasharray: 3 8; }
.systems-network__core { align-items: center; background: rgba(3, 9, 13, 0.94); border: 1px solid var(--color-border-strong); border-radius: 50%; box-shadow: 0 0 4rem rgba(88, 187, 212, 0.16); display: flex; flex-direction: column; height: 9rem; justify-content: center; position: relative; text-align: center; width: 9rem; z-index: 2; }
.systems-network__core span, .systems-network__core small { color: var(--color-text-faint); font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.systems-network__core strong { color: var(--color-tech); font-family: var(--font-display); font-size: clamp(1rem, 1.6vw, 1.35rem); line-height: 1; margin-block: var(--space-2); max-width: 7.5rem; text-align: center; text-transform: uppercase; }
.systems-network__node { align-items: center; background: #050c11; border: 1px solid var(--color-border-strong); border-radius: 50%; box-shadow: 0 0 1.5rem rgba(88, 187, 212, 0.1); display: flex; flex-direction: column; height: 3.8rem; justify-content: center; position: absolute; transition: transform var(--duration-base) var(--ease-command), border-color var(--duration-base); width: 3.8rem; z-index: 3; }
.systems-network__node:hover { border-color: var(--color-accent); transform: scale(1.1); }
.systems-network__node span { color: var(--color-tech); font-family: var(--font-mono); font-size: 0.55rem; letter-spacing: 0.1em; }
.systems-network__node strong { color: var(--color-text); font-size: var(--font-size-md); margin-top: 0.15rem; }
.systems-network__node--1 { left: 44%; top: 2%; }
.systems-network__node--2 { right: 3%; top: 23%; }
.systems-network__node--3 { bottom: 8%; right: 8%; }
.systems-network__node--4 { bottom: 0; left: 44%; }
.systems-network__node--5 { bottom: 8%; left: 8%; }
.systems-network__node--6 { left: 3%; top: 23%; }
.solutions-hero__status { align-items: center; color: var(--color-text-faint); display: flex; font-family: var(--font-mono); font-size: var(--font-size-xs); gap: var(--space-5); letter-spacing: 0.08em; margin-top: var(--space-3); position: relative; text-transform: uppercase; }
.solutions-hero__status i { background: var(--color-accent); border-radius: 50%; height: 0.25rem; width: 0.25rem; }

.page-breadcrumb { align-items: center; color: var(--color-text-faint); display: flex; font-family: var(--font-mono); font-size: 0.68rem; gap: var(--space-3); letter-spacing: 0.12em; text-transform: uppercase; }
.page-breadcrumb a { color: var(--color-tech); }
.page-breadcrumb a:hover { color: var(--color-text); }
.page-breadcrumb span[aria-current="page"] { color: var(--color-text-muted); }

.solution-domains, .turnkey-delivery { background: var(--color-bg-deep); }
.integration-layer { background: linear-gradient(180deg, #08110f, var(--color-bg-deep)); }
.solution-domains::before, .integration-layer::before, .turnkey-delivery::before, .solutions-cta::before { background: linear-gradient(90deg, transparent, rgba(88, 187, 212, 0.48), rgba(197, 154, 61, 0.3), transparent); content: ""; height: 1px; left: var(--gutter); position: absolute; right: var(--gutter); top: 0; }
.solution-domains.section, .integration-layer.section, .turnkey-delivery.section { padding-block: clamp(3.5rem, 5vw, 5rem); }

.solutions-heading { align-items: end; display: grid; gap: var(--space-10); grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.65fr); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.solutions-heading .flow { --flow-space: var(--space-5); }
.solutions-heading h2, .integration-layer h2 { font-size: clamp(2rem, 3.3vw, 3.5rem); }
.solutions-heading .lede { justify-self: end; }

.solution-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.solution-card { background: linear-gradient(145deg, rgba(16, 26, 25, 0.96), rgba(4, 10, 15, 0.98)); border: 1px solid var(--color-border); min-height: 25rem; padding: clamp(1.5rem, 3vw, 2.5rem); position: relative; transition: border-color var(--duration-base), transform var(--duration-base); }
.solution-card:hover { border-color: var(--color-border-strong); transform: translateY(-3px); z-index: 2; }
.solution-card::after { background: var(--gradient-tech); bottom: 0; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0.18); transform-origin: left; transition: transform var(--duration-base); width: 100%; }
.solution-card:hover::after { transform: scaleX(1); }
.solution-card__top { align-items: center; display: flex; justify-content: space-between; }
.solution-card__top > span { color: var(--color-tech); font-family: var(--font-mono); font-size: var(--font-size-xs); letter-spacing: var(--tracking-wide); }
.solution-card__top > div { align-items: center; border: 1px solid var(--color-border-strong); color: var(--color-accent); display: flex; font-family: var(--font-mono); height: 3rem; justify-content: center; width: 3rem; }
.solution-card h3 { font-size: clamp(1.5rem, 2vw, 2rem); margin-top: var(--space-10); text-transform: uppercase; }
.solution-card > p { color: var(--color-text-muted); font-size: var(--font-size-sm); line-height: 1.65; margin-top: var(--space-4); }
.solution-card ul { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; margin-top: var(--space-6); }
.solution-card li { border: 1px solid var(--color-border); color: var(--color-text-faint); font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.06em; padding: var(--space-2); text-transform: uppercase; }
.solution-card > a { bottom: var(--space-8); color: var(--color-text); font-family: var(--font-display); font-size: var(--font-size-sm); font-weight: 700; left: clamp(1.5rem, 3vw, 2.5rem); position: absolute; text-transform: uppercase; }
.solution-card > a:hover { color: var(--color-accent); }

.integration-layer__grid { align-items: center; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: minmax(0, 0.85fr) minmax(30rem, 1fr); }
.integration-layer__copy { --flow-space: var(--space-5); }
.integration-stack { display: grid; gap: var(--space-2); }
.integration-stack div { align-items: center; background: rgba(5, 13, 17, 0.86); border: 1px solid var(--color-border); display: flex; min-height: 3.5rem; padding: var(--space-3) var(--space-5); }
.integration-stack div:nth-child(1) { border-color: var(--color-accent); margin-inline: 12%; }
.integration-stack div:nth-child(2) { margin-inline: 10%; }
.integration-stack div:nth-child(3) { margin-inline: 8%; }
.integration-stack div:nth-child(4) { margin-inline: 6%; }
.integration-stack div:nth-child(5) { margin-inline: 4%; }
.integration-stack span { color: var(--color-tech); font-family: var(--font-mono); font-size: var(--font-size-xs); margin-right: var(--space-5); }
.integration-stack strong { color: var(--color-text); font-family: var(--font-display); font-size: var(--font-size-sm); letter-spacing: 0.05em; text-transform: uppercase; }

.delivery-track { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); list-style: none; }
.delivery-track li { border-left: 1px solid var(--color-border); min-height: 10rem; padding: var(--space-5); position: relative; }
.delivery-track li:last-child { border-right: 1px solid var(--color-border); }
.delivery-track li::before { background: var(--color-tech); content: ""; height: 2px; left: 0; position: absolute; top: 0; width: 35%; }
.delivery-track span { color: var(--color-tech); font-family: var(--font-mono); font-size: var(--font-size-xs); }
.delivery-track strong { color: var(--color-text); display: block; font-family: var(--font-display); font-size: var(--font-size-sm); margin-top: var(--space-8); text-transform: uppercase; }

.solutions-cta { background: var(--color-bg-deep); padding-block: clamp(3rem, 5vw, 4.5rem); position: relative; }
.solutions-cta__panel { align-items: end; background: rgba(11, 22, 34, 0.72); border: 1px solid var(--color-border-strong); box-shadow: var(--glow-tech); display: grid; gap: var(--space-10); grid-template-columns: minmax(0, 1fr) auto; padding: clamp(2rem, 5vw, 4rem); }
.solutions-cta__panel .flow { --flow-space: var(--space-5); }
.solutions-cta__panel h2 { font-size: clamp(2rem, 4vw, 4rem); }

@keyframes network-flow { to { stroke-dashoffset: -40; } }

@media (max-width: 63.99rem) {
    .solutions-hero__inner { grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1fr); }
    .solutions-heading { grid-template-columns: 1fr; }
    .solutions-heading .lede { justify-self: start; }
    .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .integration-layer__grid { grid-template-columns: 1fr; }
    .delivery-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
    .solutions-hero { min-height: auto; padding-top: calc(var(--header-height) + var(--space-10)); }
    .solutions-hero__inner { grid-template-columns: 1fr; }
    .solutions-hero h1 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
    .systems-network { margin-inline: auto; max-width: 25rem; }
    .systems-network__core { height: 8rem; width: 8rem; }
    .systems-network__core strong { font-size: var(--font-size-lg); }
    .systems-network__node { height: 3.4rem; width: 3.4rem; }
    .solutions-hero__status { align-items: flex-start; flex-direction: column; gap: var(--space-2); }
    .solutions-hero__status i { display: none; }
    .solution-grid { grid-template-columns: 1fr; }
    .solution-card { min-height: 23rem; }
    .integration-layer__grid { gap: var(--space-10); }
    .delivery-track { grid-template-columns: 1fr; }
    .delivery-track li { border-right: 1px solid var(--color-border); min-height: 0; }
    .delivery-track strong { margin-top: var(--space-4); }
    .solutions-cta__panel { align-items: start; grid-template-columns: 1fr; padding: var(--space-6); }
    .solutions-cta__panel .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) { .systems-network__lines path { animation: none; } }
