:root {
    --bg: #ffffff;
    --surface: #f5f5f7;
    --text: #101114;
    --muted: #666b73;
    --line: rgba(0,0,0,.08);
    --dark: #0b0d11;
    --blue: #1478ff;
    --blue-dark: #0064e8;
    --radius: 28px;
    --max: 1240px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

.container {
    width: min(calc(100% - 48px), var(--max));
    margin-inline: auto;
}

.narrow {
    max-width: 920px;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
    border-bottom: 1px solid rgba(0,0,0,.06);
}


.custom-logo {
    width: auto;
    max-height: 44px;
}

.primary-navigation {
    display: flex;
    align-items: center;
}


.hero {
    min-height: 710px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 72% 22%, rgba(29,126,255,.17), transparent 38%),
        radial-gradient(circle at 18% 75%, rgba(115,64,255,.12), transparent 35%),
        #f7f8fa;
}

.hero-content {
    padding-block: 120px 130px;
    text-align: center;
}

.eyebrow,
.section-label {
    margin-bottom: 18px;
    color: var(--blue);
    font-size: 14px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .11em;
}

.section-label.light {
    color: #79b8ff;
}

.hero h1 {
    max-width: 1050px;
    margin: 0 auto;
    font-size: clamp(54px, 7.5vw, 104px);
    line-height: .98;
    letter-spacing: -.065em;
    font-weight: 740;
}

.hero h1 span {
    color: #70757d;
}

.hero-intro {
    max-width: 740px;
    margin: 34px auto 0;
    color: #52575f;
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.42;
    letter-spacing: -.02em;
}

.hero-actions {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 25px;
    border-radius: 999px;
    font-weight: 650;
    transition: transform .18s ease, background .18s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button-primary {
    background: var(--blue);
    color: white;
}

.button-primary:hover {
    background: var(--blue-dark);
}

.button-secondary {
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.75);
}

.intro-section {
    padding: 145px 0;
    text-align: center;
}

.intro-section h2 {
    margin: 0;
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.06;
    letter-spacing: -.05em;
}

.lead {
    margin: 32px auto 0;
    color: var(--muted);
    font-size: 22px;
    line-height: 1.55;
}

.services-section {
    padding: 110px 0 140px;
    background: var(--surface);
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    margin-bottom: 48px;
}

.section-heading h2 {
    margin: 0;
    font-size: clamp(40px, 4vw, 58px);
    letter-spacing: -.045em;
}

.section-heading > a {
    color: var(--blue);
    font-weight: 650;
    white-space: nowrap;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
}

.service-card {
    min-height: 310px;
    padding: 38px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: var(--radius);
    background: white;
    transition: transform .28s ease, box-shadow .28s ease;
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px rgba(0,0,0,.09);
}

.service-card h3 {
    margin: 30px 0 10px;
    font-size: 32px;
    letter-spacing: -.035em;
}

.service-card p {
    margin: 0;
    color: var(--muted);
    font-size: 18px;
}

.service-dark {
    background: var(--dark);
    color: white;
}

.service-dark p {
    color: #b8bec8;
}

.service-accent {
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.25), transparent 35%),
        linear-gradient(145deg, #0b73ff, #6659ef);
    color: white;
}

.service-accent p {
    color: rgba(255,255,255,.82);
}

.service-icon {
    align-self: flex-start;
    min-width: 58px;
    height: 58px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--surface);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
}

.service-dark .service-icon,
.service-accent .service-icon {
    background: rgba(255,255,255,.12);
}

.dark-section {
    padding: 140px 0;
    background:
        radial-gradient(circle at 84% 20%, rgba(38,107,255,.19), transparent 32%),
        var(--dark);
    color: white;
}

.feature-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 90px;
    align-items: center;
}

.feature-copy h2 {
    margin: 0;
    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.feature-copy p {
    margin: 28px 0 0;
    max-width: 650px;
    color: #aab0ba;
    font-size: 21px;
}

.status-panel {
    padding: 20px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: var(--radius);
    background: rgba(255,255,255,.055);
    box-shadow: inset 0 1px rgba(255,255,255,.04);
    backdrop-filter: blur(15px);
}

.status-row {
    min-height: 76px;
    display: grid;
    grid-template-columns: 16px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.status-row:last-child {
    border-bottom: 0;
}

.status-row strong {
    color: #90dda6;
    font-size: 14px;
}

.status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #4bd269;
    box-shadow: 0 0 0 5px rgba(75,210,105,.12);
}

.local-section {
    padding: 150px 0;
    text-align: center;
}

.local-section h2 {
    margin: 0;
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.06;
    letter-spacing: -.05em;
}

.local-section .button {
    margin-top: 36px;
}

.button-dark {
    background: var(--dark);
    color: white;
}

.button-light {
    background: white;
    color: var(--dark);
}

.cta-section {
    padding: 40px 0 110px;
}

.cta-card {
    padding: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    border-radius: 32px;
    background:
        radial-gradient(circle at 80% 0%, rgba(69,143,255,.28), transparent 32%),
        var(--dark);
    color: white;
}

.cta-card h2 {
    max-width: 750px;
    margin: 0;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.06;
    letter-spacing: -.045em;
}

.site-footer {
    background: #f4f5f7;
    border-top: 1px solid var(--line);
}

.footer-inner {
    width: min(calc(100% - 48px), var(--max));
    margin: 0 auto;
    padding: 65px 0 34px;
}

.footer-inner strong {
    font-size: 22px;
}

.footer-inner p {
    margin: 3px 0 0;
    color: var(--muted);
}

.footer-contact {
    margin-top: 30px;
    display: flex;
    gap: 24px;
}

.footer-contact a {
    color: var(--blue);
}

.footer-bottom {
    margin-top: 50px;
    padding-top: 25px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #7a7e84;
    font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 900px) {
.primary-navigation {

        display: none;
    }


    .service-grid,
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-grid {
        gap: 55px;
    }

    .cta-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(calc(100% - 30px), var(--max));
    }


    .custom-logo {
        max-width: 210px;
        max-height: 38px;
    }

    .hero {
        min-height: 620px;
    }

    .hero-content {
        padding-block: 95px;
    }

    .hero h1 {
        font-size: clamp(48px, 15vw, 72px);
    }

    .intro-section,
    .local-section {
        padding: 100px 0;
    }

    .services-section,
    .dark-section {
        padding: 90px 0;
    }

    .service-card {
        min-height: 270px;
        padding: 28px;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .cta-card {
        padding: 38px 28px;
    }

    .footer-bottom,
    .footer-contact {
        flex-direction: column;
    }
}

/* =========================================================
   HOMEPAGE V0.2
   ========================================================= */

.hero-v2 {
    position: relative;
    overflow: hidden;
    min-height: 820px;
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 78% 20%, rgba(30,110,255,.22), transparent 34%),
        radial-gradient(circle at 22% 82%, rgba(114,74,255,.14), transparent 32%),
        linear-gradient(180deg, #080b11 0%, #0d1119 100%);
    color: white;
}

.hero-v2-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 95%);
}

.hero-v2-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none;
}

.hero-v2-orb-a {
    width: 420px;
    height: 420px;
    right: 8%;
    top: 12%;
    background: rgba(27,119,255,.22);
}

.hero-v2-orb-b {
    width: 320px;
    height: 320px;
    left: 8%;
    bottom: 3%;
    background: rgba(111,74,255,.16);
}

.hero-v2-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 74px;
    align-items: center;
    padding-block: 120px;
}

.hero-v2-copy {
    max-width: 700px;
}

.hero-v2-eyebrow {
    color: #7fbdff;
}

.hero-v2 h1 {
    margin: 0;
    font-size: clamp(58px, 6.5vw, 96px);
    line-height: .97;
    letter-spacing: -.065em;
    font-weight: 740;
}

.hero-v2 h1 span {
    display: block;
    color: #8c929d;
}

.hero-v2-copy > p {
    max-width: 690px;
    margin: 30px 0 0;
    color: #b2b8c3;
    font-size: 21px;
    line-height: 1.55;
}

.button-glass {
    color: white;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    backdrop-filter: blur(14px);
}

.button-glass:hover {
    background: rgba(255,255,255,.13);
}

.hero-v2-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 42px;
    color: #8f97a4;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: .03em;
}

.hero-v2-proof span {
    position: relative;
}

.hero-v2-proof span:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -13px;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #4f5661;
}

.hero-visual {
    position: relative;
    min-height: 540px;
}

.hero-console {
    position: absolute;
    inset: 45px 0 45px 20px;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.11);
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)),
        rgba(10,14,22,.78);
    box-shadow:
        0 40px 100px rgba(0,0,0,.45),
        inset 0 1px rgba(255,255,255,.05);
    backdrop-filter: blur(18px);
}

.hero-console-top {
    height: 54px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.console-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.24);
}

.console-title {
    margin-left: 12px;
    color: #78808c;
    font-size: 10px;
    letter-spacing: .15em;
    font-weight: 750;
}

.hero-console-body {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 28px;
    align-items: center;
    padding: 42px 34px 34px;
}

.console-health {
    display: flex;
    justify-content: center;
}

.console-health-ring {
    width: 176px;
    height: 176px;
    padding: 14px;
    border-radius: 50%;
    background:
        conic-gradient(
            #3f9cff 0deg,
            #77d59a 275deg,
            rgba(255,255,255,.08) 275deg
        );
    box-shadow:
        0 0 60px rgba(45,130,255,.16),
        inset 0 0 30px rgba(0,0,0,.2);
}

.console-health-ring > div {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #10151f;
}

.console-health-ring strong {
    color: #8ed9a6;
    font-size: 18px;
    letter-spacing: .08em;
}

.console-health-ring span {
    margin-top: 5px;
    color: #79818e;
    font-size: 12px;
}

.console-metrics {
    display: grid;
    gap: 24px;
}

.console-metric {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 15px;
}

.metric-label {
    color: #b6bdc8;
    font-size: 13px;
}

.metric-state {
    color: #8ed9a6;
    font-size: 12px;
    font-weight: 700;
}

.metric-bar {
    grid-column: 1 / -1;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
}

.metric-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2f7eff, #62c4ff);
}

.console-stream {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100px;
    padding: 20px 26px;
    display: flex;
    align-items: end;
    gap: 8px;
    border-top: 1px solid rgba(255,255,255,.05);
    opacity: .5;
}

.console-stream span {
    flex: 1;
    border-radius: 3px 3px 0 0;
    background: linear-gradient(to top, #1d73ff, #55b9ff);
}

.console-stream span:nth-child(1) { height: 22%; }
.console-stream span:nth-child(2) { height: 48%; }
.console-stream span:nth-child(3) { height: 34%; }
.console-stream span:nth-child(4) { height: 62%; }
.console-stream span:nth-child(5) { height: 44%; }
.console-stream span:nth-child(6) { height: 78%; }
.console-stream span:nth-child(7) { height: 55%; }
.console-stream span:nth-child(8) { height: 72%; }
.console-stream span:nth-child(9) { height: 40%; }
.console-stream span:nth-child(10) { height: 67%; }
.console-stream span:nth-child(11) { height: 52%; }
.console-stream span:nth-child(12) { height: 82%; }

.floating-card {
    position: absolute;
    z-index: 3;
    min-width: 190px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(18,24,35,.78);
    box-shadow: 0 20px 50px rgba(0,0,0,.28);
    backdrop-filter: blur(14px);
}

.floating-card small {
    display: block;
    color: #7d8796;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.floating-card strong {
    display: block;
    margin-top: 4px;
    color: white;
    font-size: 14px;
}

.floating-card-security {
    right: -20px;
    top: 18px;
}

.floating-card-cloud {
    left: -10px;
    bottom: 8px;
}

.statement-section {
    padding: 160px 0;
    background: white;
}

.statement-inner {
    max-width: 1040px;
    text-align: center;
}

.statement-kicker {
    margin-bottom: 24px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
}

.statement-inner h2 {
    margin: 0;
    font-size: clamp(48px, 5.8vw, 78px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.statement-inner h2 span {
    display: block;
    color: #868b93;
}

.statement-inner p {
    max-width: 820px;
    margin: 34px auto 0;
    color: var(--muted);
    font-size: 21px;
    line-height: 1.6;
}

.services-v2 {
    padding: 120px 0 150px;
    background: #f3f4f6;
}

.section-heading-v2 {
    align-items: end;
}

.section-heading-v2 > div {
    max-width: 740px;
}

.section-heading-v2 > p {
    max-width: 420px;
    margin: 0 0 8px;
    color: var(--muted);
    font-size: 18px;
}

.service-showcase {
    display: grid;
    gap: 22px;
}

.showcase-card {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    min-height: 420px;
    padding: 46px;
    background: white;
    border: 1px solid rgba(0,0,0,.045);
    box-shadow: 0 18px 45px rgba(0,0,0,.035);
    transition:
        transform .32s ease,
        box-shadow .32s ease;
}

.showcase-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 34px 80px rgba(0,0,0,.09);
}

.showcase-managed {
    min-height: 540px;
    color: white;
    background:
        radial-gradient(circle at 74% 38%, rgba(50,133,255,.25), transparent 30%),
        linear-gradient(145deg, #0b1018, #121925);
}

.showcase-copy {
    position: relative;
    z-index: 3;
    max-width: 620px;
}

.showcase-number {
    display: inline-block;
    margin-bottom: 36px;
    color: #8c929b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.showcase-card h3 {
    margin: 0;
    max-width: 610px;
    font-size: clamp(38px, 4.4vw, 64px);
    line-height: 1.02;
    letter-spacing: -.05em;
}

.showcase-card p {
    max-width: 560px;
    margin: 24px 0 0;
    color: var(--muted);
    font-size: 18px;
}

.showcase-managed p {
    color: #aeb5c0;
}

.showcase-link {
    display: inline-block;
    margin-top: 30px;
    color: var(--blue);
    font-weight: 700;
}

.showcase-managed .showcase-link {
    color: #7db9ff;
}

.managed-visual {
    position: absolute;
    right: 4%;
    top: 50%;
    width: 390px;
    height: 390px;
    transform: translateY(-50%);
}

.managed-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 110px;
    height: 110px;
    transform: translate(-50%,-50%);
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(100,170,255,.95), rgba(42,102,255,.95));
    box-shadow:
        0 0 0 18px rgba(57,122,255,.08),
        0 0 80px rgba(64,130,255,.35);
}

.managed-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(115,175,255,.28);
    border-radius: 50%;
    transform: translate(-50%,-50%);
}

.ring-one {
    width: 250px;
    height: 250px;
}

.ring-two {
    width: 360px;
    height: 360px;
}

.managed-node {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #7dc0ff;
    box-shadow: 0 0 18px rgba(80,160,255,.7);
}

.node-a { left: 10%; top: 47%; }
.node-b { right: 14%; top: 18%; }
.node-c { right: 4%; bottom: 18%; }
.node-d { left: 30%; bottom: 2%; }

.showcase-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 22px;
}

.showcase-row .showcase-card {
    min-height: 470px;
}

.showcase-security {
    background:
        radial-gradient(circle at 80% 20%, rgba(34,126,255,.13), transparent 32%),
        #ffffff;
}

.shield-visual {
    position: absolute;
    right: 38px;
    bottom: 34px;
    width: 210px;
    height: 210px;
}

.shield-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 110px;
    height: 130px;
    transform: translate(-50%,-50%);
    clip-path: polygon(50% 0%, 92% 16%, 84% 75%, 50% 100%, 16% 75%, 8% 16%);
    background: linear-gradient(160deg, #1f8cff, #4e5dff);
    box-shadow: 0 30px 50px rgba(35,102,255,.2);
}

.shield-core span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 28px;
    height: 28px;
    border: 3px solid white;
    border-radius: 50%;
    transform: translate(-50%,-50%);
}

.shield-line {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(40,120,255,.17);
    border-radius: 50%;
    transform: translate(-50%,-50%);
}

.shield-line-a {
    width: 150px;
    height: 150px;
}

.shield-line-b {
    width: 185px;
    height: 185px;
}

.shield-line-c {
    width: 215px;
    height: 215px;
}

.showcase-cloud {
    background:
        radial-gradient(circle at 75% 28%, rgba(118,73,255,.13), transparent 32%),
        #ffffff;
}

.cloud-visual {
    position: absolute;
    right: 36px;
    bottom: 34px;
    width: 225px;
    height: 180px;
}

.cloud-tile {
    position: absolute;
    width: 78px;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    color: white;
    font-size: 26px;
    font-weight: 800;
    box-shadow: 0 22px 42px rgba(0,0,0,.13);
}

.tile-mail {
    left: 18px;
    top: 45px;
    background: linear-gradient(145deg, #176eff, #39a0ff);
}

.tile-files {
    right: 14px;
    top: 12px;
    background: linear-gradient(145deg, #774dff, #a763ff);
}

.tile-teams {
    right: 44px;
    bottom: 0;
    background: linear-gradient(145deg, #4958d9, #7378ff);
}

.cloud-glow {
    position: absolute;
    inset: 30px;
    border-radius: 50%;
    background: rgba(94,86,255,.16);
    filter: blur(35px);
}

.showcase-backup {
    min-height: 470px;
    background:
        radial-gradient(circle at 80% 30%, rgba(25,140,255,.12), transparent 32%),
        white;
}

.backup-visual {
    position: absolute;
    right: 6%;
    top: 50%;
    width: 330px;
    height: 250px;
    transform: translateY(-50%);
}

.backup-stack {
    position: absolute;
    left: 50%;
    width: 210px;
    height: 68px;
    transform: translateX(-50%);
    border-radius: 20px;
    background: linear-gradient(145deg, #18202d, #29354a);
    box-shadow: 0 18px 38px rgba(0,0,0,.12);
}

.stack-a { top: 26px; }
.stack-b { top: 92px; opacity: .86; }
.stack-c { top: 158px; opacity: .7; }

.backup-arrow {
    position: absolute;
    right: 0;
    top: 84px;
    width: 74px;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #1478ff;
    color: white;
    font-size: 34px;
    box-shadow: 0 20px 40px rgba(20,120,255,.24);
}

.showcase-network {
    min-height: 500px;
    color: white;
    background:
        radial-gradient(circle at 75% 35%, rgba(40,142,255,.2), transparent 34%),
        linear-gradient(145deg, #0b1017, #121a26);
}

.showcase-network p {
    color: #aeb5c0;
}

.showcase-network .showcase-link {
    color: #7db9ff;
}

.network-visual {
    position: absolute;
    right: 5%;
    top: 50%;
    width: 360px;
    height: 300px;
    transform: translateY(-50%);
}

.network-node {
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #4b9dff;
    box-shadow: 0 0 24px rgba(60,145,255,.7);
}

.n1 { left: 12%; top: 45%; }
.n2 { left: 43%; top: 12%; }
.n3 { right: 12%; top: 42%; }
.n4 { left: 38%; bottom: 10%; }
.n5 { left: 50%; top: 47%; width: 38px; height: 38px; }

.network-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, rgba(68,150,255,.1), rgba(68,150,255,.65));
    transform-origin: left center;
}

.l1 { left: 16%; top: 48%; width: 150px; transform: rotate(-27deg); }
.l2 { left: 48%; top: 18%; width: 145px; transform: rotate(24deg); }
.l3 { left: 50%; top: 52%; width: 135px; transform: rotate(92deg); }
.l4 { left: 17%; top: 51%; width: 145px; transform: rotate(24deg); }


.industries-section {
    padding: 140px 0;
    background: #ffffff;
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 18px;
}

.industry-card {
    min-height: 280px;
    padding: 30px;
    border-radius: 26px;
    border: 1px solid rgba(0,0,0,.06);
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,249,251,.96));
    box-shadow: 0 18px 40px rgba(0,0,0,.035);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.industry-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 28px 60px rgba(0,0,0,.08);
    border-color: rgba(20,120,255,.15);
}

.industry-mark {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #edf4ff;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
}

.industry-card h3 {
    margin: 54px 0 12px;
    font-size: 27px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.industry-card p {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
}

.approach-section {
    position: relative;
    overflow: hidden;
    padding: 150px 0;
    background:
        radial-gradient(circle at 18% 25%, rgba(60,120,255,.16), transparent 30%),
        radial-gradient(circle at 88% 85%, rgba(113,69,255,.12), transparent 28%),
        linear-gradient(145deg, #090d13, #111925);
    color: white;
}

.approach-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    align-items: center;
}

.approach-copy h2 {
    margin: 0;
    max-width: 650px;
    font-size: clamp(48px, 5.3vw, 74px);
    line-height: 1.01;
    letter-spacing: -.055em;
}

.approach-copy h2 span {
    display: block;
    color: #7e8794;
}

.approach-copy p {
    max-width: 620px;
    margin: 30px 0 0;
    color: #adb5c0;
    font-size: 20px;
    line-height: 1.6;
}

.text-link-v2 {
    display: inline-block;
    margin-top: 30px;
    color: #79b9ff;
    font-weight: 700;
}

.principles-panel {
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.045);
    backdrop-filter: blur(16px);
}

.principle {
    min-height: 118px;
    padding: 26px 28px;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    align-items: start;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.principle:last-child {
    border-bottom: 0;
}

.principle > span {
    color: #5f9cff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
}

.principle strong {
    display: block;
    font-size: 20px;
    letter-spacing: -.02em;
}

.principle p {
    margin: 5px 0 0;
    color: #8f98a5;
    font-size: 15px;
}

.local-v2 {
    padding: 140px 0;
    background:
        linear-gradient(180deg, #ffffff, #f5f7fa);
}

.local-v2-inner {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 80px;
    align-items: center;
}

.local-v2-copy h2 {
    margin: 0;
    max-width: 760px;
    font-size: clamp(48px, 5vw, 72px);
    line-height: 1.02;
    letter-spacing: -.055em;
}

.local-v2-copy p {
    max-width: 700px;
    margin: 28px 0 0;
    color: var(--muted);
    font-size: 20px;
}

.local-v2-callout {
    padding: 42px;
    border-radius: 30px;
    background:
        radial-gradient(circle at 88% 12%, rgba(20,120,255,.12), transparent 32%),
        #f1f4f8;
    border: 1px solid rgba(0,0,0,.055);
}

.local-v2-callout > span {
    display: block;
    color: #8b9098;
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.local-v2-callout strong {
    display: block;
    margin-top: 10px;
    font-size: 34px;
    letter-spacing: -.04em;
}

.local-v2-callout p {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 17px;
}

.final-cta {
    padding: 40px 0 120px;
    background: #f5f7fa;
}

.final-cta-card {
    position: relative;
    overflow: hidden;
    min-height: 470px;
    padding: 76px;
    display: flex;
    align-items: center;
    border-radius: 38px;
    background:
        linear-gradient(145deg, #0b1017, #121b28);
    color: white;
}

.final-cta-glow {
    position: absolute;
    width: 620px;
    height: 620px;
    right: -80px;
    top: -180px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(46,130,255,.35), rgba(46,130,255,.04) 45%, transparent 70%);
    filter: blur(10px);
}

.final-cta-content {
    position: relative;
    z-index: 2;
    max-width: 830px;
}

.final-cta-content h2 {
    margin: 0;
    font-size: clamp(50px, 5.7vw, 82px);
    line-height: 1;
    letter-spacing: -.06em;
}

.final-cta-content > p {
    max-width: 650px;
    margin: 28px 0 0;
    color: #aeb5c0;
    font-size: 20px;
}

.button-glass-light {
    color: white;
    border: 1px solid rgba(255,255,255,.15);
    background: rgba(255,255,255,.07);
}

.button-glass-light:hover {
    background: rgba(255,255,255,.12);
}

@media (max-width: 1100px) {
    .hero-v2-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .hero-v2-copy {
        max-width: 850px;
    }

    .hero-visual {
        min-height: 500px;
        max-width: 760px;
        width: 100%;
        margin: 0 auto;
    }

    .managed-visual,
    .backup-visual,
    .network-visual {
        opacity: .78;
        transform: translateY(-50%) scale(.86);
        transform-origin: center right;
    }

    .industry-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 900px) {
    .showcase-row {
        grid-template-columns: 1fr;
    }

    .showcase-managed,
    .showcase-backup,
    .showcase-network {
        min-height: 620px;
    }

    .managed-visual,
    .backup-visual,
    .network-visual {
        top: auto;
        right: 50%;
        bottom: 20px;
        transform: translateX(50%) scale(.78);
        transform-origin: center bottom;
    }

    .showcase-copy {
        max-width: 100%;
    }

    .approach-grid,
    .local-v2-inner {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .industry-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 680px) {
    .hero-v2 {
        min-height: auto;
    }

    .hero-v2-inner {
        padding-block: 90px 80px;
    }

    .hero-v2 h1 {
        font-size: clamp(52px, 15vw, 72px);
    }

    .hero-v2-copy > p {
        font-size: 18px;
    }

    .hero-v2-proof {
        gap: 9px 16px;
    }

    .hero-v2-proof span::after {
        display: none;
    }

    .hero-visual {
        min-height: 430px;
    }

    .hero-console {
        inset: 30px 0;
    }

    .hero-console-body {
        grid-template-columns: 1fr;
        padding: 30px 20px 115px;
    }

    .console-health-ring {
        width: 135px;
        height: 135px;
    }

    .floating-card {
        min-width: 145px;
        padding: 12px 14px;
    }

    .floating-card-security {
        right: -5px;
    }

    .floating-card-cloud {
        left: -4px;
    }

    .statement-section,
    .services-v2,
    .industries-section,
    .approach-section,
    .local-v2 {
        padding-block: 95px;
    }

    .showcase-card {
        padding: 30px;
        border-radius: 26px;
    }

    .showcase-card h3 {
        font-size: 40px;
    }

    .showcase-managed,
    .showcase-backup,
    .showcase-network {
        min-height: 610px;
    }

    .shield-visual,
    .cloud-visual {
        opacity: .7;
        transform: scale(.76);
        transform-origin: right bottom;
    }

    .industry-grid {
        grid-template-columns: 1fr;
    }

    .industry-card {
        min-height: auto;
    }

    .industry-card h3 {
        margin-top: 36px;
    }

    .principle {
        grid-template-columns: 36px 1fr;
        padding: 22px 20px;
    }

    .local-v2-callout {
        padding: 30px;
    }

    .final-cta {
        padding-bottom: 80px;
    }

    .final-cta-card {
        min-height: 500px;
        padding: 46px 30px;
        border-radius: 28px;
    }

    .final-cta-content h2 {
        font-size: 50px;
    }
}

/* Accessibility focus states */

a:focus-visible,
button:focus-visible {
    outline: 3px solid #64a8ff;
    outline-offset: 4px;
}


/* =========================================================
   V0.3 HEADER + HERO REFINEMENT
   ========================================================= */

:root {
    --header-height: 78px;
}

/* ---------- Accessibility ---------- */

.skip-link {
    position: fixed;
    left: 18px;
    top: -100px;
    z-index: 99999;
    padding: 12px 18px;
    border-radius: 10px;
    background: #ffffff;
    color: #0a0d12;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

.skip-link:focus {
    top: 18px;
}


/* ---------- Header ---------- */

.site-header {
    position: sticky;
    top: 0;
    z-index: 9000;
    width: 100%;
    border-bottom: 1px solid rgba(15,23,42,.055);
    background: rgba(255,255,255,.78);
    backdrop-filter: saturate(180%) blur(22px);
    -webkit-backdrop-filter: saturate(180%) blur(22px);
    transition:
        background .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.site-header.is-scrolled {
    background: rgba(255,255,255,.92);
    border-color: rgba(15,23,42,.08);
    box-shadow: 0 10px 30px rgba(15,23,42,.055);
}

.header-shell {
    width: min(1380px, calc(100% - 48px));
    min-height: var(--header-height);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
}

.site-branding {
    flex: 0 0 auto;
}

.brand-link {
    display: flex;
    align-items: center;
    line-height: 0;
}

.brand-logo {
    display: block;
    width: auto;
    height: 48px;
    max-width: 175px;
    object-fit: contain;
}

.brand-name {
    color: #10131a;
    font-size: 20px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -.03em;
}


/* ---------- Desktop navigation ---------- */

.primary-navigation {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.primary-menu {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.primary-menu > li {
    position: relative;
    margin: 0;
}

.primary-menu > li > a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 11px;
    color: #232830;
    font-size: 14px;
    line-height: 1;
    font-weight: 620;
    letter-spacing: -.01em;
    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.primary-menu > li > a:hover {
    color: #0b72e7;
    background: rgba(11,114,231,.055);
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a {
    color: #0b72e7;
}


/*
 * Turn the LAST navigation item into the single Contact CTA.
 * This removes the need for a separate duplicate Contact button.
 */

.primary-menu > li:last-child {
    margin-left: 7px;
}

.primary-menu > li:last-child > a {
    min-height: 44px;
    padding: 0 19px;
    border-radius: 999px;
    color: #ffffff;
    background:
        linear-gradient(180deg, #1686ff, #0872ea);
    box-shadow:
        0 7px 18px rgba(0,115,235,.18),
        inset 0 1px rgba(255,255,255,.23);
}

.primary-menu > li:last-child > a:hover {
    color: #ffffff;
    background:
        linear-gradient(180deg, #2990ff, #0877f4);
    transform: translateY(-1px);
}


/* ---------- Dropdown navigation ---------- */

.primary-menu .sub-menu {
    position: absolute;
    left: 50%;
    top: calc(100% + 12px);
    z-index: 100;
    min-width: 260px;
    margin: 0;
    padding: 9px;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform:
        translateX(-50%)
        translateY(-7px);
    border: 1px solid rgba(15,23,42,.075);
    border-radius: 18px;
    background: rgba(255,255,255,.97);
    box-shadow:
        0 24px 65px rgba(15,23,42,.14);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition:
        opacity .18s ease,
        visibility .18s ease,
        transform .18s ease;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform:
        translateX(-50%)
        translateY(0);
}

.primary-menu .sub-menu li {
    margin: 0;
}

.primary-menu .sub-menu a {
    display: block;
    padding: 11px 13px;
    border-radius: 11px;
    color: #343942;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 580;
}

.primary-menu .sub-menu a:hover {
    color: #076fdc;
    background: #f2f7fd;
}


/* ---------- Mobile menu control ---------- */

.mobile-menu-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border: 0;
    border-radius: 12px;
    background: #f2f4f7;
    color: #161a20;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}

.menu-toggle-icon {
    position: relative;
    width: 18px;
    height: 14px;
}

.menu-toggle-icon i {
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition:
        top .2s ease,
        transform .2s ease;
}

.menu-toggle-icon i:first-child {
    top: 3px;
}

.menu-toggle-icon i:last-child {
    top: 9px;
}

.mobile-menu-toggle[aria-expanded="true"] .menu-toggle-icon i:first-child {
    top: 6px;
    transform: rotate(45deg);
}

.mobile-menu-toggle[aria-expanded="true"] .menu-toggle-icon i:last-child {
    top: 6px;
    transform: rotate(-45deg);
}


/* =========================================================
   HERO V0.3
   ========================================================= */

.hero-v2 {
    min-height: calc(100svh - var(--header-height));
    max-height: 930px;
    isolation: isolate;
    background:
        radial-gradient(
            ellipse at 78% 31%,
            rgba(27,122,255,.26) 0%,
            rgba(27,122,255,.105) 28%,
            transparent 56%
        ),
        radial-gradient(
            ellipse at 18% 92%,
            rgba(100,62,255,.12),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #070a10 0%,
            #0a0f18 50%,
            #0d1420 100%
        );
}

.hero-v2::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(
            90deg,
            rgba(6,10,16,.78) 0%,
            rgba(6,10,16,.34) 45%,
            transparent 76%
        );
}

.hero-v2-grid {
    opacity: .68;
    background-size: 46px 46px;
}

.hero-v2-inner {
    width: min(1380px, calc(100% - 64px));
    grid-template-columns:
        minmax(0, .95fr)
        minmax(500px, 1.05fr);
    gap: clamp(35px, 5vw, 82px);
    padding-top: 84px;
    padding-bottom: 92px;
}

.hero-v2-copy {
    position: relative;
    z-index: 5;
    max-width: 690px;
}

.hero-v2-eyebrow {
    margin-bottom: 22px;
    color: #79b7fb;
    font-size: 12px;
    letter-spacing: .14em;
}

.hero-v2 h1 {
    font-size: clamp(57px, 5.6vw, 87px);
    line-height: .965;
    letter-spacing: -.061em;
    text-wrap: balance;
}

.hero-v2 h1 span {
    margin-top: 5px;
    background:
        linear-gradient(
            100deg,
            #8c929c 0%,
            #abb2bd 50%,
            #7d8591 100%
        );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-v2-copy > p {
    max-width: 640px;
    margin-top: 28px;
    color: #aab2be;
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.58;
}

.hero-v2 .hero-actions {
    margin-top: 34px;
}

.hero-v2 .button {
    min-height: 50px;
    padding-inline: 22px;
    border-radius: 999px;
}

.hero-v2-proof {
    margin-top: 34px;
    color: #818a97;
}


/* ---------- Integrated operations visual ---------- */

.hero-visual {
    min-height: 520px;
    transform: translateY(9px);
    perspective: 1200px;
}

.hero-console {
    inset:
        20px
        0
        18px
        0;

    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.073),
            rgba(255,255,255,.023)
        ),
        rgba(7,12,20,.83);

    box-shadow:
        0 55px 110px rgba(0,0,0,.42),
        0 0 100px rgba(38,112,255,.075),
        inset 0 1px rgba(255,255,255,.07);

    transform:
        rotateY(-2.4deg)
        rotateX(.7deg);

    transform-origin: center center;

    transition:
        transform .25s ease-out,
        box-shadow .25s ease-out;
}

.hero-console::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.055),
            transparent 28%,
            transparent 72%,
            rgba(60,130,255,.045)
        );
}

.hero-console-top {
    height: 52px;
}

.console-title {
    font-size: 9px;
}

.hero-console-body {
    padding:
        43px
        38px
        120px;
}

.console-health-ring {
    width: 170px;
    height: 170px;
    animation:
        compro-health-glow 4.5s ease-in-out infinite;
}

.metric-bar i {
    position: relative;
    overflow: hidden;
}

.metric-bar i::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.5),
            transparent
        );
    animation:
        compro-status-sweep 5.5s ease-in-out infinite;
}

.console-stream span {
    transform-origin: bottom;
    animation:
        compro-stream 3.6s ease-in-out infinite alternate;
}

.console-stream span:nth-child(2n) {
    animation-delay: -.7s;
}

.console-stream span:nth-child(3n) {
    animation-delay: -1.4s;
}


/* ---------- Floating status cards ---------- */

.floating-card {
    min-width: 185px;
    padding: 15px 17px;
    border-radius: 16px;
    border-color: rgba(255,255,255,.1);
    background:
        linear-gradient(
            145deg,
            rgba(28,36,50,.86),
            rgba(13,19,29,.82)
        );
    box-shadow:
        0 20px 55px rgba(0,0,0,.34),
        inset 0 1px rgba(255,255,255,.05);
}

.floating-card::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 50%;
    background: #6fd596;
    box-shadow:
        0 0 13px rgba(111,213,150,.65);
    vertical-align: 1px;
}

.floating-card-security {
    right: -18px;
    top: 2px;
    animation:
        compro-float-a 5.2s ease-in-out infinite;
}

.floating-card-cloud {
    left: -21px;
    bottom: -2px;
    animation:
        compro-float-b 5.8s ease-in-out infinite;
}


/* ---------- Better hero transition ---------- */

.hero-v2 + .statement-section {
    position: relative;
}

.hero-v2 + .statement-section::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: min(900px, 80vw);
    height: 1px;
    transform: translateX(-50%);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(20,30,45,.1),
            transparent
        );
}

.statement-section {
    padding-top: 135px;
    padding-bottom: 135px;
}


/* ---------- Motion ---------- */

@keyframes compro-health-glow {
    0%, 100% {
        filter: drop-shadow(0 0 0 rgba(70,150,255,0));
    }

    50% {
        filter: drop-shadow(0 0 16px rgba(70,150,255,.18));
    }
}

@keyframes compro-status-sweep {
    0%, 30% {
        transform: translateX(-120%);
    }

    55%, 100% {
        transform: translateX(160%);
    }
}

@keyframes compro-stream {
    from {
        transform: scaleY(.78);
        opacity: .62;
    }

    to {
        transform: scaleY(1);
        opacity: 1;
    }
}

@keyframes compro-float-a {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes compro-float-b {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(7px);
    }
}


/* =========================================================
   MOBILE HEADER + HERO
   ========================================================= */

@media (max-width: 980px) {

    :root {
        --header-height: 70px;
    }

    .header-shell {
        width: min(100% - 34px, 1380px);
        min-height: var(--header-height);
    }

    .brand-logo {
        height: 42px;
        max-width: 155px;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .primary-navigation {
        position: fixed;
        left: 17px;
        right: 17px;
        top: calc(var(--header-height) + 8px);
        display: block;
        max-height: calc(100svh - var(--header-height) - 25px);
        overflow-y: auto;
        padding: 10px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        border: 1px solid rgba(15,23,42,.08);
        border-radius: 22px;
        background: rgba(255,255,255,.98);
        box-shadow: 0 26px 70px rgba(15,23,42,.18);
        transition:
            opacity .2s ease,
            visibility .2s ease,
            transform .2s ease;
    }

    .primary-navigation.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .primary-menu {
        display: block;
    }

    .primary-menu > li {
        margin: 0;
    }

    .primary-menu > li > a {
        min-height: 48px;
        padding: 0 15px;
        font-size: 16px;
    }

    .primary-menu > li:last-child {
        margin:
            8px
            0
            0;
    }

    .primary-menu > li:last-child > a {
        justify-content: center;
    }

    .primary-menu .sub-menu {
        position: static;
        min-width: 0;
        margin:
            0
            0
            6px
            14px;
        padding: 0 0 0 11px;
        opacity: 1;
        visibility: visible;
        transform: none;
        border: 0;
        border-left: 1px solid #e1e6ed;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .primary-menu .sub-menu a {
        padding:
            9px
            12px;
    }

    .hero-v2 {
        min-height: auto;
        max-height: none;
    }

    .hero-v2-inner {
        width: min(100% - 40px, 900px);
        grid-template-columns: 1fr;
        gap: 48px;
        padding-top: 82px;
        padding-bottom: 78px;
    }

    .hero-v2-copy {
        max-width: 780px;
    }

    .hero-visual {
        min-height: 500px;
        max-width: 760px;
        margin-inline: auto;
    }

    .hero-console {
        transform: none;
    }

}

@media (max-width: 620px) {

    .header-shell {
        width: calc(100% - 28px);
    }

    .brand-logo {
        height: 38px;
        max-width: 145px;
    }

    .menu-toggle-label {
        display: none;
    }

    .hero-v2-inner {
        width: calc(100% - 34px);
        padding-top: 66px;
    }

    .hero-v2 h1 {
        font-size: clamp(48px, 14vw, 66px);
    }

    .hero-visual {
        min-height: 420px;
    }

    .hero-console {
        inset: 18px 0;
    }

    .floating-card-security {
        right: -4px;
    }

    .floating-card-cloud {
        left: -4px;
    }

}


/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {

    .console-health-ring,
    .metric-bar i::after,
    .console-stream span,
    .floating-card-security,
    .floating-card-cloud {
        animation: none !important;
    }

    .hero-console {
        transform: none !important;
    }

}


/* =========================================================
   V0.3 SCROLL REVEALS
   ========================================================= */

.reveal-ready {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity .72s cubic-bezier(.2,.75,.25,1),
        transform .72s cubic-bezier(.2,.75,.25,1);
}

.reveal-ready.reveal-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {

    .reveal-ready {
        opacity: 1;
        transform: none;
        transition: none;
    }

}


/* =========================================================
   V0.4 HOMEPAGE POLISH
   ========================================================= */


/* ---------- Skip link ---------- */

.skip-link {
    top: 12px;
    left: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-150%);
    pointer-events: none;
}

.skip-link:focus,
.skip-link:focus-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

@media print {
    .skip-link {
        display: none !important;
    }
}


/* =========================================================
   MICROSOFT 365 VISUAL V2
   ========================================================= */

.cloud-visual-v2 {
    width: 245px;
    height: 220px;
    right: 30px;
    bottom: 28px;
}

.cloud-visual-v2 .cloud-glow,
.cloud-visual-v2 .cloud-tile {
    display: none;
}

.cloud-center {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 86px;
    height: 86px;
    transform: translate(-50%,-50%) rotate(45deg);
    border-radius: 26px;
    background:
        linear-gradient(145deg, #2388ff, #6656ff);
    box-shadow:
        0 24px 50px rgba(58,91,255,.24),
        0 0 45px rgba(87,108,255,.18);
}

.cloud-center-core {
    position: absolute;
    inset: 18px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.6);
    background:
        linear-gradient(145deg, rgba(255,255,255,.28), rgba(255,255,255,.06));
}

.cloud-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    border: 1px solid rgba(70,105,255,.17);
    transform: translate(-50%,-50%);
}

.cloud-orbit-a {
    width: 150px;
    height: 150px;
}

.cloud-orbit-b {
    width: 210px;
    height: 210px;
}

.cloud-node {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #4a92ff;
    box-shadow: 0 0 20px rgba(60,130,255,.6);
}

.cloud-node-a { left: 28px; top: 72px; }
.cloud-node-b { right: 27px; top: 50px; }
.cloud-node-c { right: 50px; bottom: 24px; }
.cloud-node-d { left: 58px; bottom: 22px; }

.cloud-link {
    position: absolute;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(69,116,255,.5),
            transparent
        );
    transform-origin: left center;
}

.cloud-link-a {
    width: 110px;
    left: 46px;
    top: 79px;
    transform: rotate(18deg);
}

.cloud-link-b {
    width: 104px;
    left: 125px;
    top: 105px;
    transform: rotate(-30deg);
}

.cloud-link-c {
    width: 95px;
    left: 64px;
    bottom: 51px;
    transform: rotate(-20deg);
}


/* =========================================================
   BACKUP VISUAL V2
   ========================================================= */

.backup-visual-v2 {
    width: 320px;
    height: 280px;
    right: 5%;
}

.backup-visual-v2 .backup-stack,
.backup-visual-v2 .backup-arrow {
    display: none;
}

.backup-vault {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 210px;
    height: 155px;
    transform: translate(-50%,-50%);
    border-radius: 26px;
    overflow: hidden;
    background:
        linear-gradient(145deg, #182331, #2b3b4d);
    box-shadow:
        0 30px 65px rgba(16,30,50,.2),
        inset 0 1px rgba(255,255,255,.08);
}

.backup-vault-top {
    height: 36px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.05),
            transparent
        );
}

.backup-vault-body {
    padding: 22px;
    display: grid;
    gap: 12px;
}

.backup-vault-body span {
    display: block;
    height: 13px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            rgba(69,150,255,.92),
            rgba(77,196,255,.45)
        );
}

.backup-vault-body span:nth-child(2) {
    width: 78%;
}

.backup-vault-body span:nth-child(3) {
    width: 58%;
}

.backup-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    border: 1px solid rgba(40,135,255,.16);
    transform: translate(-50%,-50%);
}

.backup-ring-a {
    width: 250px;
    height: 250px;
}

.backup-ring-b {
    width: 300px;
    height: 300px;
}

.backup-pulse {
    position: absolute;
    right: 7px;
    top: 92px;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background:
        linear-gradient(145deg, #198dff, #5a70ff);
    box-shadow:
        0 20px 50px rgba(25,130,255,.24);
}

.backup-pulse::before,
.backup-pulse::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.9);
    transform: translate(-50%,-50%);
}

.backup-pulse::before {
    width: 24px;
    height: 24px;
}

.backup-pulse::after {
    width: 8px;
    height: 8px;
    background: white;
}

.backup-pulse span {
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 1px solid rgba(24,135,255,.25);
    animation: backup-pulse-ring 2.6s ease-out infinite;
}

@keyframes backup-pulse-ring {
    0% {
        transform: scale(.72);
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    100% {
        transform: scale(1.25);
        opacity: 0;
    }
}


/* =========================================================
   NETWORK VISUAL V2
   ========================================================= */

.network-visual-v2 {
    width: 390px;
    height: 320px;
}

.network-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 54px;
    height: 54px;
    transform: translate(-50%,-50%);
    border-radius: 18px;
    background:
        linear-gradient(145deg, #3c98ff, #3264ff);
    box-shadow:
        0 0 0 14px rgba(55,120,255,.07),
        0 0 55px rgba(59,130,255,.33);
}

.network-visual-v2 .network-node {
    width: 17px;
    height: 17px;
}

.network-visual-v2 .n1 { left: 12%; top: 48%; }
.network-visual-v2 .n2 { left: 43%; top: 10%; }
.network-visual-v2 .n3 { right: 12%; top: 44%; }
.network-visual-v2 .n4 { left: 40%; bottom: 8%; }
.network-visual-v2 .n5 {
    left: 49%;
    top: 48%;
    width: 18px;
    height: 18px;
    opacity: 0;
}

.network-visual-v2 .l1 {
    left: 16%;
    top: 50%;
    width: 150px;
    transform: rotate(-22deg);
}

.network-visual-v2 .l2 {
    left: 49%;
    top: 17%;
    width: 142px;
    transform: rotate(25deg);
}

.network-visual-v2 .l3 {
    left: 51%;
    top: 54%;
    width: 125px;
    transform: rotate(90deg);
}

.network-visual-v2 .l4 {
    left: 16%;
    top: 52%;
    width: 148px;
    transform: rotate(22deg);
}

.network-packet {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #7fc1ff;
    box-shadow: 0 0 15px rgba(90,170,255,.9);
}

.p1 {
    left: 26%;
    top: 43%;
    animation: network-packet-a 3.3s linear infinite;
}

.p2 {
    left: 58%;
    top: 29%;
    animation: network-packet-b 3.9s linear infinite;
}

.p3 {
    left: 51%;
    top: 62%;
    animation: network-packet-c 3.6s linear infinite;
}

@keyframes network-packet-a {
    0% { transform: translate(0,0); opacity: 0; }
    15% { opacity: 1; }
    100% { transform: translate(74px,-34px); opacity: 0; }
}

@keyframes network-packet-b {
    0% { transform: translate(0,0); opacity: 0; }
    15% { opacity: 1; }
    100% { transform: translate(77px,36px); opacity: 0; }
}

@keyframes network-packet-c {
    0% { transform: translate(0,0); opacity: 0; }
    15% { opacity: 1; }
    100% { transform: translate(-5px,80px); opacity: 0; }
}


/* =========================================================
   INDUSTRIES EDITORIAL V2
   ========================================================= */

.industries-v2 {
    padding: 125px 0 135px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.industries-heading {
    margin-bottom: 62px;
}

.industries-editorial {
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(380px, .85fr);
    gap: 70px;
    align-items: stretch;
}

.industries-list {
    border-top: 1px solid rgba(15,23,42,.1);
}

.industry-row {
    display: grid;
    grid-template-columns: 50px 1fr 34px;
    gap: 20px;
    align-items: center;
    min-height: 150px;
    padding: 26px 8px;
    border-bottom: 1px solid rgba(15,23,42,.1);
    transition:
        padding-left .25s ease,
        background .25s ease;
}

.industry-row:hover {
    padding-left: 12px;
    background:
        linear-gradient(
            90deg,
            rgba(20,120,255,.035),
            transparent
        );
}

.industry-row-number {
    align-self: start;
    padding-top: 7px;
    color: #2a84ef;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.industry-row h3 {
    margin: 0;
    font-size: clamp(25px, 2.2vw, 34px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.industry-row p {
    max-width: 620px;
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
}

.industry-row-mark {
    color: #9da4ae;
    font-size: 26px;
    font-weight: 300;
    text-align: center;
    transition:
        color .2s ease,
        transform .2s ease;
}

.industry-row:hover .industry-row-mark {
    color: #1a82ee;
    transform: rotate(45deg);
}

.industries-visual {
    position: relative;
    overflow: hidden;
    min-height: 590px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 50%, rgba(42,121,255,.22), transparent 32%),
        radial-gradient(circle at 80% 10%, rgba(109,74,255,.17), transparent 35%),
        linear-gradient(145deg, #0a0f17, #121a27);
    box-shadow:
        0 30px 75px rgba(12,24,45,.14);
}


/* ---------- Spacing refinement ---------- */

.services-v2 {
    padding-bottom: 125px;
}

.approach-section {
    padding-top: 130px;
    padding-bottom: 130px;
}

.local-v2 {
    padding-top: 125px;
    padding-bottom: 125px;
}


/* ---------- Responsive ---------- */

@media (max-width: 1000px) {

    .industries-editorial {
        grid-template-columns: 1fr;
    }

    .industries-visual {
        min-height: 480px;
    }

}

@media (max-width: 700px) {

    .cloud-visual-v2 {
        transform: scale(.78);
        transform-origin: right bottom;
    }

    .backup-visual-v2 {
        right: 50%;
        bottom: 6px;
        top: auto;
        transform:
            translateX(50%)
            scale(.76);
        transform-origin: center bottom;
    }

    .network-visual-v2 {
        right: 50%;
        bottom: 0;
        top: auto;
        transform:
            translateX(50%)
            scale(.74);
        transform-origin: center bottom;
    }

    .industry-row {
        grid-template-columns: 38px 1fr;
    }

    .industry-row-mark {
        display: none;
    }

    .industries-visual {
        min-height: 390px;
    }


}

@media (prefers-reduced-motion: reduce) {

    .backup-pulse span,
    .network-packet {
        animation: none !important;
    }

}

/* === COMPRO V3.6 SHARED ICON BASES START === */

/*
 * These icon bases were originally inside the old V0.5 cinematic section.
 * They are still used by current service pages, so preserve them as a
 * compact shared block while removing the dead cinematic CSS.
 */

.server-icon {
    display: grid;
    gap: 3px;
}

.server-icon i {
    display: block;
    height: 7px;
    border-radius: 3px;
    background: linear-gradient(90deg,#418eff,#74c6ff);
}

.cloud-icon {
    border-radius: 16px;
    background:
        radial-gradient(circle at 35% 55%, #62aaff 0 30%, transparent 31%),
        radial-gradient(circle at 60% 40%, #62aaff 0 36%, transparent 37%),
        radial-gradient(circle at 72% 62%, #62aaff 0 29%, transparent 30%);
}

.network-icon i {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #5ca4ff;
}

.network-icon i:nth-child(1) {
    left: 0;
    top: 9px;
}

.network-icon i:nth-child(2) {
    right: 0;
    top: 2px;
}

.network-icon i:nth-child(3) {
    right: 3px;
    bottom: 0;
}

.endpoint-icon {
    border: 2px solid #5da6ff;
    border-radius: 5px;
}

.endpoint-icon::after {
    content: "";
    position: absolute;
    left: 7px;
    right: 7px;
    bottom: -7px;
    height: 2px;
    border-radius: 2px;
    background: #5da6ff;
}

/* === COMPRO V3.6 SHARED ICON BASES END === */

/* =========================================================
   V0.6 DISTRIBUTED CINEMATIC MOTION
   Natural scrolling. No sticky scroll traps.
   ========================================================= */


/* ---------- Global section motion ---------- */


/* =========================================================
   IT WITHOUT THE DISTRACTION
   Full-width ambient topology
   ========================================================= */

.statement-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.statement-section::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: min(1250px, 92vw);
    height: 520px;
    transform:
        translate(
            calc(-50% + var(--statement-x, 0px)),
            calc(-50% + var(--statement-y, 0px))
        )
        rotate(var(--statement-rotate, 0deg));
    opacity: .72;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 54%, rgba(35,128,255,.12) 0 4px, transparent 5px),
        radial-gradient(circle at 31% 23%, rgba(35,128,255,.10) 0 5px, transparent 6px),
        radial-gradient(circle at 48% 61%, rgba(92,85,255,.10) 0 6px, transparent 7px),
        radial-gradient(circle at 70% 28%, rgba(35,128,255,.10) 0 5px, transparent 6px),
        radial-gradient(circle at 86% 68%, rgba(35,128,255,.12) 0 4px, transparent 5px),
        linear-gradient(22deg, transparent 48.9%, rgba(60,130,255,.06) 49%, rgba(60,130,255,.06) 49.15%, transparent 49.25%),
        linear-gradient(-16deg, transparent 49%, rgba(60,130,255,.05) 49.1%, rgba(60,130,255,.05) 49.25%, transparent 49.35%);
    transition: opacity .3s ease;
}

.statement-inner {
    position: relative;
    z-index: 2;
}


/* =========================================================
   MANAGED IT
   Larger animated network assembly
   ========================================================= */

.showcase-managed {
    min-height: 610px;
    overflow: hidden;
}

.showcase-managed::after {
    content: "";
    position: absolute;
    right: -120px;
    top: 50%;
    width: 620px;
    height: 620px;
    transform:
        translateY(-50%)
        scale(var(--managed-bg-scale, .92));
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(49,125,255,.13), transparent 64%);
    pointer-events: none;
}

.managed-visual {
    width: 470px;
    height: 470px;
    right: 1%;
    transform:
        translateY(calc(-50% + var(--managed-y, 0px)))
        rotate(var(--managed-rotate, 0deg))
        scale(var(--managed-scale, 1));
    transition: filter .25s ease;
}

.managed-ring {
    transition:
        width .7s cubic-bezier(.2,.8,.2,1),
        height .7s cubic-bezier(.2,.8,.2,1),
        border-color .7s ease,
        opacity .7s ease;
}


.managed-core {
    transition:
        transform .65s cubic-bezier(.2,.8,.2,1),
        box-shadow .65s ease;
}


.managed-node {
    opacity: .25;
    transform: scale(.55);
    transition:
        opacity .5s ease,
        transform .5s cubic-bezier(.2,.9,.2,1);
}


/* =========================================================
   CYBERSECURITY
   Oversized shield / security field
   ========================================================= */

.showcase-security {
    isolation: isolate;
    overflow: hidden;
}

.showcase-security::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -170px;
    bottom: -190px;
    width: 560px;
    height: 560px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(31,125,255,.13), transparent 66%);
    transform: scale(var(--security-field-scale, .88));
}

.shield-visual {
    width: 275px;
    height: 275px;
    right: 22px;
    bottom: 12px;
    transform:
        translate(
            var(--security-x, 0px),
            var(--security-y, 0px)
        )
        scale(var(--security-scale, .9));
}

.shield-core {
    width: 138px;
    height: 164px;
    opacity: .88;
    transform:
        translate(-50%,-50%)
        scale(.78);
    transition:
        transform .72s cubic-bezier(.18,.85,.25,1),
        opacity .72s ease,
        filter .72s ease;
}


.shield-line {
    opacity: .3;
    transition:
        opacity .6s ease,
        width .75s cubic-bezier(.2,.8,.2,1),
        height .75s cubic-bezier(.2,.8,.2,1);
}


/* =========================================================
   MICROSOFT 365
   Floating cloud system
   ========================================================= */

.showcase-cloud {
    isolation: isolate;
    overflow: hidden;
}

.showcase-cloud::after {
    content: "";
    position: absolute;
    right: -100px;
    bottom: -130px;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(95,77,255,.12), transparent 68%);
}

.cloud-visual-v2 {
    width: 300px;
    height: 270px;
    right: 4px;
    bottom: 0;
    transform:
        translate(
            var(--cloud-x, 0px),
            var(--cloud-y, 0px)
        )
        rotate(var(--cloud-rotate, 0deg))
        scale(var(--cloud-scale, .94));
}

.cloud-center {
    transition:
        transform .75s cubic-bezier(.2,.85,.2,1),
        box-shadow .75s ease;
}


.cloud-orbit-a {
    animation: compro-cloud-spin 14s linear infinite;
}

.cloud-orbit-b {
    animation: compro-cloud-spin-reverse 19s linear infinite;
}

.cloud-node {
    transition:
        transform .65s cubic-bezier(.2,.9,.2,1),
        opacity .65s ease;
    opacity: .4;
}


/* =========================================================
   BACKUP & RECOVERY
   Dramatic recovery sequence
   ========================================================= */

.showcase-backup {
    overflow: hidden;
}

.showcase-backup::after {
    content: "";
    position: absolute;
    right: -130px;
    top: 50%;
    width: 540px;
    height: 540px;
    transform:
        translateY(-50%)
        scale(var(--backup-field-scale, .92));
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(28,137,255,.12), transparent 66%);
}

.backup-visual-v2 {
    width: 390px;
    height: 330px;
    right: 2%;
    transform:
        translateY(calc(-50% + var(--backup-y, 0px)))
        scale(var(--backup-scale, .94));
}

.backup-vault {
    transform:
        translate(-50%,-50%)
        rotate(var(--backup-vault-rotate, 0deg));
    transition:
        filter .5s ease,
        opacity .5s ease;
}


.backup-pulse {
    transition:
        transform .6s cubic-bezier(.2,.85,.2,1),
        box-shadow .6s ease;
}


.backup-vault-body span {
    position: relative;
    overflow: hidden;
}

.backup-vault-body span::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.6),
            transparent
        );
}


/* =========================================================
   NETWORKS
   Full topology motion
   ========================================================= */

.showcase-network {
    min-height: 560px;
    overflow: hidden;
}

.showcase-network::after {
    content: "";
    position: absolute;
    right: -160px;
    top: 50%;
    width: 650px;
    height: 650px;
    transform:
        translateY(-50%)
        scale(var(--network-field-scale, .9));
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(34,126,255,.14), transparent 67%);
}

.network-visual-v2 {
    width: 470px;
    height: 390px;
    right: 0;
    transform:
        translateY(calc(-50% + var(--network-y, 0px)))
        rotate(var(--network-rotate, 0deg))
        scale(var(--network-scale, .95));
}

.network-core {
    transition:
        transform .65s cubic-bezier(.2,.85,.2,1),
        box-shadow .65s ease;
}


.network-visual-v2 .network-line {
    opacity: .3;
    transition:
        opacity .7s ease,
        box-shadow .7s ease;
}


/* =========================================================
   INDUSTRIES
   Living visual instead of static panel
   ========================================================= */

.industries-visual {
    transform:
        translateY(var(--industries-y, 0px))
        scale(var(--industries-scale, .97));
}


/* =========================================================
   HOW WE WORK
   More depth without disturbing content
   ========================================================= */

.approach-section::before {
    content: "";
    position: absolute;
    left: -180px;
    top: 50%;
    width: 640px;
    height: 640px;
    transform:
        translateY(calc(-50% + var(--approach-y, 0px)))
        scale(var(--approach-scale, 1));
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(54,116,255,.12), transparent 67%);
    pointer-events: none;
}

.principle {
    transition:
        background .25s ease,
        transform .25s ease;
}

.principle:hover {
    transform: translateX(7px);
    background: rgba(255,255,255,.035);
}


/* =========================================================
   LOCAL SECTION
   Ambient regional-style network field
   ========================================================= */

.local-v2 {
    position: relative;
    overflow: hidden;
}

.local-v2::before {
    content: "";
    position: absolute;
    right: -100px;
    top: 50%;
    width: 620px;
    height: 620px;
    transform:
        translateY(calc(-50% + var(--local-y, 0px)))
        rotate(var(--local-rotate, 0deg));
    opacity: .7;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, rgba(28,125,255,.10) 0 4px, transparent 5px),
        radial-gradient(circle at 58% 23%, rgba(28,125,255,.08) 0 5px, transparent 6px),
        radial-gradient(circle at 68% 52%, rgba(28,125,255,.11) 0 4px, transparent 5px),
        radial-gradient(circle at 42% 72%, rgba(28,125,255,.08) 0 6px, transparent 7px),
        radial-gradient(circle at center, rgba(25,120,255,.07), transparent 65%);
    pointer-events: none;
}

.local-v2-inner {
    position: relative;
    z-index: 2;
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes compro-cloud-spin {
    from {
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }
}

@keyframes compro-cloud-spin-reverse {
    from {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }

    to {
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }
}

@keyframes compro-backup-data {
    0%, 25% {
        transform: translateX(-120%);
    }

    60%, 100% {
        transform: translateX(140%);
    }
}

@keyframes compro-node-glow {
    from {
        box-shadow:
            0 0 12px rgba(60,145,255,.38);
    }

    to {
        box-shadow:
            0 0 30px rgba(60,145,255,.9);
    }
}

@keyframes compro-industry-orbit {
    from {
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }

    to {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }
}

@keyframes compro-industry-orbit-reverse {
    from {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }

    to {
        transform:
            translate(-50%,-50%)
            rotate(0deg);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .showcase-managed,
    .showcase-backup,
    .showcase-network {
        min-height: 650px;
    }

    .managed-visual {
        width: 390px;
        height: 390px;
    }

    .backup-visual-v2 {
        width: 340px;
        height: 280px;
    }

    .network-visual-v2 {
        width: 380px;
        height: 310px;
    }

}

@media (max-width: 680px) {

    .statement-section::after,
    .local-v2::before {
        opacity: .38;
    }

    .showcase-managed::after,
    .showcase-security::after,
    .showcase-cloud::after,
    .showcase-backup::after,
    .showcase-network::after {
        opacity: .6;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
.cloud-orbit,
.backup-vault-body span::after,
.network-node {

        animation: none !important;
    }

    .managed-visual,
    .shield-visual,
    .cloud-visual-v2,
    .backup-visual-v2,
    .network-visual-v2,
    .industries-visual {
        transform: none !important;
    }

}


/* =========================================================
   V0.7 FLOATING ISLAND DESIGN
   Dark canvas + contained feature experiences
   ========================================================= */

:root {
    --island-bg: #0e141e;
    --island-bg-2: #111a27;
    --island-bg-3: #151f2e;
    --island-border: rgba(255,255,255,.075);
    --island-text: #f4f6f9;
    --island-muted: #929caa;
    --site-dark: #070b11;
}


/* =========================================================
   OVERALL DARK CANVAS
   ========================================================= */

body.home {
    background: var(--site-dark);
    color: var(--island-text);
}

body.home main {
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(34,104,255,.035),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 62%,
            rgba(83,61,255,.035),
            transparent 28%
        ),
        var(--site-dark);
}


/* =========================================================
   DARK GLASS HEADER
   ========================================================= */

.site-header {
    border-bottom-color: rgba(255,255,255,.055);
    background: rgba(7,11,17,.80);
    box-shadow: none;
}

.site-header.is-scrolled {
    border-bottom-color: rgba(255,255,255,.075);
    background: rgba(7,11,17,.93);
    box-shadow:
        0 12px 34px rgba(0,0,0,.24);
}

.primary-menu > li > a {
    color: #d6dae0;
}

.primary-menu > li > a:hover {
    color: #ffffff;
    background: rgba(255,255,255,.055);
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a {
    color: #6eafff;
}

.primary-menu .sub-menu {
    border-color: rgba(255,255,255,.075);
    background: rgba(14,20,30,.98);
    box-shadow:
        0 26px 70px rgba(0,0,0,.42);
}

.primary-menu .sub-menu a {
    color: #cbd1da;
}

.primary-menu .sub-menu a:hover {
    color: #ffffff;
    background: rgba(255,255,255,.06);
}

.mobile-menu-toggle {
    color: #eef1f5;
    background: rgba(255,255,255,.075);
}


/* =========================================================
   INTRO STATEMENT ISLAND
   ========================================================= */

.statement-section {
    padding: 110px 24px;
    background: transparent;
}

.statement-inner {
    max-width: 1280px;
    padding: 105px 75px;
    border: 1px solid var(--island-border);
    border-radius: 46px;
    background:
        radial-gradient(
            circle at 78% 28%,
            rgba(35,116,255,.105),
            transparent 34%
        ),
        radial-gradient(
            circle at 18% 82%,
            rgba(102,73,255,.07),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #0c121b,
            #111824
        );
    box-shadow:
        0 42px 100px rgba(0,0,0,.28),
        inset 0 1px rgba(255,255,255,.035);
}

.statement-section::after {
    opacity: .10;
}

.statement-kicker {
    color: #6fb0ff;
}

.statement-inner h2 {
    color: #f2f4f7;
}

.statement-inner h2 span {
    color: #747e8b;
}

.statement-inner p {
    color: #969fac;
}


/* =========================================================
   SERVICES AREA
   ========================================================= */

.services-v2 {
    padding:
        45px
        0
        130px;
    background: transparent;
}

.services-v2 .section-heading-v2 h2 {
    color: #f3f5f8;
}

.services-v2 .section-heading-v2 > p {
    color: #8e97a5;
}

.services-v2 .section-label {
    color: #66aaff;
}

.service-showcase {
    gap: 30px;
}


/* =========================================================
   BASE FLOATING SERVICE ISLAND
   ========================================================= */

.showcase-card {
    border: 1px solid var(--island-border);
    border-radius: 42px;
    color: var(--island-text);
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(47,120,255,.07),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            var(--island-bg-2),
            var(--island-bg)
        );
    box-shadow:
        0 36px 85px rgba(0,0,0,.30),
        inset 0 1px rgba(255,255,255,.045);
    transition:
        transform .38s cubic-bezier(.2,.8,.2,1),
        box-shadow .38s ease,
        border-color .38s ease;
}

.showcase-card:hover {
    transform: translateY(-8px);
    border-color: rgba(103,166,255,.18);
    box-shadow:
        0 52px 110px rgba(0,0,0,.40),
        0 0 50px rgba(30,105,255,.045),
        inset 0 1px rgba(255,255,255,.055);
}

.showcase-card h3 {
    color: #f4f6f9;
}

.showcase-card p {
    color: #929ba8;
}

.showcase-number {
    color: #606b78;
}


/* =========================================================
   MANAGED IT HERO ISLAND
   ========================================================= */

.showcase-managed {
    width: 97%;
    min-height: 610px;
    margin:
        0
        auto;
    background:
        radial-gradient(
            circle at 79% 44%,
            rgba(43,124,255,.20),
            transparent 34%
        ),
        radial-gradient(
            circle at 20% 100%,
            rgba(92,64,255,.075),
            transparent 33%
        ),
        linear-gradient(
            145deg,
            #090f17,
            #111a27
        );
}

.showcase-managed p {
    color: #9da6b2;
}


/* =========================================================
   SECURITY + MICROSOFT FLOATING PAIR
   ========================================================= */

.showcase-row {
    gap: 30px;
    padding-inline: 2%;
}

.showcase-row .showcase-card {
    min-height: 500px;
}

.showcase-security {
    transform: translateY(18px);
    background:
        radial-gradient(
            circle at 78% 74%,
            rgba(25,124,255,.15),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #101824,
            #0c121b
        );
}

.showcase-security:hover {
    transform: translateY(10px);
}

.showcase-cloud {
    transform: translateY(-8px);
    background:
        radial-gradient(
            circle at 78% 68%,
            rgba(105,75,255,.16),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #111825,
            #0c121b
        );
}

.showcase-cloud:hover {
    transform: translateY(-16px);
}


/* =========================================================
   BACKUP ISLAND
   Slightly offset left
   ========================================================= */

.showcase-backup {
    width: 94%;
    min-height: 500px;
    margin-right: 6%;
    background:
        radial-gradient(
            circle at 78% 50%,
            rgba(31,131,255,.15),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            #101824,
            #0d141e
        );
}


/* =========================================================
   NETWORK ISLAND
   Slightly offset right
   ========================================================= */

.showcase-network {
    width: 94%;
    min-height: 575px;
    margin-left: 6%;
    background:
        radial-gradient(
            circle at 76% 48%,
            rgba(35,129,255,.18),
            transparent 38%
        ),
        radial-gradient(
            circle at 15% 100%,
            rgba(77,58,255,.07),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #090f17,
            #101925
        );
}


/* =========================================================
   INTERNAL VISUALS
   Keep animation contained inside each island
   ========================================================= */

.showcase-managed::after,
.showcase-security::after,
.showcase-cloud::after,
.showcase-backup::after,
.showcase-network::after {
    opacity: .72;
}

.managed-visual {
    transform: translateY(-50%);
}

.shield-visual {
    transform: none;
}

.cloud-visual-v2 {
    transform: none;
}

.backup-visual-v2,
.network-visual-v2 {
    transform: translateY(-50%);
}


/* =========================================================
   WHO WE SUPPORT
   One large floating editorial island
   ========================================================= */

.industries-v2 {
    padding:
        90px
        0
        135px;
    background: transparent;
}

.industries-heading h2 {
    color: #f2f4f7;
}

.industries-heading > p {
    color: #8f98a5;
}

.industries-editorial {
    gap: 45px;
    padding: 48px;
    border: 1px solid var(--island-border);
    border-radius: 44px;
    background:
        radial-gradient(
            circle at 87% 15%,
            rgba(48,113,255,.08),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            #101721,
            #0c121b
        );
    box-shadow:
        0 42px 100px rgba(0,0,0,.30),
        inset 0 1px rgba(255,255,255,.04);
}

.industries-list {
    border-top-color: rgba(255,255,255,.075);
}

.industry-row {
    border-bottom-color: rgba(255,255,255,.075);
}

.industry-row:hover {
    background:
        linear-gradient(
            90deg,
            rgba(44,128,255,.055),
            transparent
        );
}

.industry-row h3 {
    color: #f2f4f7;
}

.industry-row p {
    color: #8e98a5;
}

.industry-row-mark {
    color: #606b78;
}

.industries-visual {
    min-height: 610px;
    border-color: rgba(255,255,255,.055);
    background:
        radial-gradient(
            circle at 50% 50%,
            rgba(42,121,255,.23),
            transparent 32%
        ),
        radial-gradient(
            circle at 80% 10%,
            rgba(109,74,255,.17),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #090f17,
            #121a27
        );
    box-shadow:
        inset 0 1px rgba(255,255,255,.035);
}


/* =========================================================
   HOW WE WORK
   Turn full-width dark section into island
   ========================================================= */

.approach-section {
    padding:
        80px
        24px
        115px;
    background: transparent;
}

.approach-section::before {
    display: none;
}

.approach-grid {
    max-width: 1380px;
    padding: 72px;
    border: 1px solid var(--island-border);
    border-radius: 46px;
    background:
        radial-gradient(
            circle at 15% 30%,
            rgba(42,113,255,.14),
            transparent 31%
        ),
        radial-gradient(
            circle at 88% 88%,
            rgba(96,65,255,.11),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            #090f17,
            #111925
        );
    box-shadow:
        0 42px 105px rgba(0,0,0,.34),
        inset 0 1px rgba(255,255,255,.04);
}

.principles-panel {
    background:
        rgba(255,255,255,.035);
}


/* =========================================================
   LOCAL EXPERTISE ISLAND
   ========================================================= */

.local-v2 {
    padding:
        60px
        24px
        115px;
    background: transparent;
}

.local-v2::before {
    opacity: .18;
}

.local-v2-inner {
    max-width: 1380px;
    padding: 70px;
    border: 1px solid var(--island-border);
    border-radius: 44px;
    background:
        radial-gradient(
            circle at 82% 22%,
            rgba(37,124,255,.10),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #101721,
            #0c121b
        );
    box-shadow:
        0 40px 95px rgba(0,0,0,.29),
        inset 0 1px rgba(255,255,255,.04);
}

.local-v2-copy h2 {
    color: #f2f4f7;
}

.local-v2-copy p {
    color: #929ba8;
}

.local-v2-callout {
    border-color: rgba(255,255,255,.07);
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(38,127,255,.14),
            transparent 34%
        ),
        #131d2a;
    box-shadow:
        0 24px 55px rgba(0,0,0,.20);
}

.local-v2-callout > span {
    color: #6f7a88;
}

.local-v2-callout strong {
    color: #f2f4f7;
}

.local-v2-callout p {
    color: #8f99a6;
}


/* =========================================================
   FINAL CTA ISLAND
   ========================================================= */

.final-cta {
    padding:
        25px
        24px
        100px;
    background: transparent;
}

.final-cta-card {
    width: min(1380px, 100%);
    margin-inline: auto;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 46px;
    background:
        radial-gradient(
            circle at 82% 30%,
            rgba(39,126,255,.22),
            transparent 38%
        ),
        radial-gradient(
            circle at 20% 110%,
            rgba(92,64,255,.09),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #090f17,
            #111a27
        );
    box-shadow:
        0 45px 110px rgba(0,0,0,.36),
        inset 0 1px rgba(255,255,255,.04);
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    border-top:
        1px solid rgba(255,255,255,.055);
    background: #070b11;
    color: #9099a6;
}

.site-footer a {
    color: #79b7ff;
}


/* =========================================================
   SUBTLE ISLAND ENTRANCE DEPTH
   ========================================================= */

.showcase-card.reveal-ready,
.industries-editorial.reveal-ready,
.approach-grid.reveal-ready,
.local-v2-inner.reveal-ready,
.final-cta-card.reveal-ready {
    transform:
        translateY(30px)
        scale(.985);
}

.showcase-card.reveal-ready.reveal-visible,
.industries-editorial.reveal-ready.reveal-visible,
.approach-grid.reveal-ready.reveal-visible,
.local-v2-inner.reveal-ready.reveal-visible,
.final-cta-card.reveal-ready.reveal-visible {
    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {

    .primary-navigation {
        background:
            rgba(12,18,27,.985);
        border-color:
            rgba(255,255,255,.075);
    }

    .statement-inner,
    .approach-grid,
    .local-v2-inner {
        padding:
            60px
            42px;
    }

    .showcase-managed,
    .showcase-backup,
    .showcase-network {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .showcase-security,
    .showcase-cloud {
        transform: none;
    }

    .showcase-security:hover,
    .showcase-cloud:hover {
        transform: translateY(-6px);
    }

    .industries-editorial {
        padding: 36px;
    }

}

@media (max-width: 680px) {

    .statement-section,
    .approach-section,
    .local-v2,
    .final-cta {
        padding-left: 15px;
        padding-right: 15px;
    }

    .statement-inner,
    .approach-grid,
    .local-v2-inner {
        padding:
            48px
            27px;
        border-radius: 32px;
    }

    .showcase-card {
        border-radius: 30px;
    }

    .service-showcase {
        gap: 22px;
    }

    .showcase-row {
        padding-inline: 0;
        gap: 22px;
    }

    .industries-editorial {
        padding:
            26px
            22px;
        border-radius: 32px;
    }

    .final-cta-card {
        border-radius: 32px;
    }

}


/* =========================================================
   PRINT / SCREENSHOT SAFETY
   ========================================================= */

@media print {

    .reveal-ready,
    .reveal-ready.reveal-visible {
        opacity: 1 !important;
        transform: none !important;
    }

}


/* =========================================================
   V0.8 LIGHT CANVAS + DARK FLOATING ISLANDS
   ========================================================= */

:root {
    --page-canvas: #f3f5f7;
    --page-canvas-2: #f7f8fa;
    --page-text: #11161d;
    --page-muted: #67717d;
}


/* =========================================================
   GLOBAL CANVAS
   ========================================================= */

body.home {
    background: var(--page-canvas);
    color: var(--page-text);
}

body.home main {
    background:
        radial-gradient(
            circle at 12% 24%,
            rgba(32,119,255,.035),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 70%,
            rgba(91,66,255,.03),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            var(--page-canvas) 18%,
            var(--page-canvas-2) 55%,
            var(--page-canvas) 100%
        );
}


/* =========================================================
   LIGHT GLASS HEADER
   Logo regains contrast
   ========================================================= */

.site-header {
    border-bottom-color: rgba(15,23,42,.055);
    background: rgba(255,255,255,.82);
    box-shadow: none;
}

.site-header.is-scrolled {
    border-bottom-color: rgba(15,23,42,.08);
    background: rgba(255,255,255,.94);
    box-shadow:
        0 10px 30px rgba(15,23,42,.065);
}

.primary-menu > li > a {
    color: #252b33;
}

.primary-menu > li > a:hover {
    color: #0876e8;
    background: rgba(10,113,230,.055);
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a {
    color: #0876e8;
}

.primary-menu .sub-menu {
    border-color: rgba(15,23,42,.075);
    background: rgba(255,255,255,.98);
    box-shadow:
        0 24px 65px rgba(15,23,42,.14);
}

.primary-menu .sub-menu a {
    color: #343a43;
}

.primary-menu .sub-menu a:hover {
    color: #0874df;
    background: #f1f6fc;
}

.mobile-menu-toggle {
    color: #171c22;
    background: #f1f3f6;
}


/* =========================================================
   HERO
   Keep cinematic dark hero exactly where it belongs
   ========================================================= */

.hero-v2 {
    box-shadow:
        0 35px 90px rgba(12,25,45,.16);
}


/* =========================================================
   INTRO
   Open bright breathing space
   ========================================================= */

.statement-section {
    padding:
        135px
        24px
        145px;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f7f8fa
        );
}

.statement-inner {
    max-width: 1080px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.statement-section::after {
    opacity: .48;
}

.statement-kicker {
    color: #1280ec;
}

.statement-inner h2 {
    color: #131820;
}

.statement-inner h2 span {
    color: #858c96;
}

.statement-inner p {
    color: #69727d;
}


/* =========================================================
   CAPABILITIES
   Light canvas surrounding dark islands
   ========================================================= */

.services-v2 {
    position: relative;
    padding:
        115px
        0
        150px;
    background:
        linear-gradient(
            180deg,
            #f1f3f6,
            #f7f8fa 48%,
            #f0f3f6
        );
}

.services-v2::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: min(1200px, 90%);
    height: 1px;
    transform: translateX(-50%);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(15,23,42,.09),
            transparent
        );
}

.services-v2 .section-heading-v2 h2 {
    color: #151a21;
}

.services-v2 .section-heading-v2 > p {
    color: #68727e;
}

.services-v2 .section-label {
    color: #137fe9;
}


/* More separation around islands */

.service-showcase {
    gap: 42px;
}

.showcase-card {
    box-shadow:
        0 28px 65px rgba(18,31,52,.16),
        0 8px 25px rgba(18,31,52,.08),
        inset 0 1px rgba(255,255,255,.045);
}

.showcase-card:hover {
    box-shadow:
        0 42px 95px rgba(17,31,53,.22),
        0 14px 32px rgba(17,31,53,.10),
        0 0 55px rgba(30,105,255,.045),
        inset 0 1px rgba(255,255,255,.055);
}


/* =========================================================
   WHO WE SUPPORT
   Bright surroundings, dark centerpiece
   ========================================================= */

.industries-v2 {
    padding:
        125px
        0
        150px;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f3f5f7
        );
}

.industries-heading h2 {
    color: #151a21;
}

.industries-heading > p {
    color: #68727d;
}

.industries-v2 .section-label {
    color: #147fe9;
}

.industries-editorial {
    box-shadow:
        0 32px 75px rgba(18,31,52,.17),
        0 10px 25px rgba(18,31,52,.07),
        inset 0 1px rgba(255,255,255,.04);
}


/* =========================================================
   HOW WE WORK
   Dark floating island on bright canvas
   ========================================================= */

.approach-section {
    padding:
        120px
        24px
        145px;
    background:
        linear-gradient(
            180deg,
            #f3f5f7,
            #ffffff
        );
}

.approach-grid {
    box-shadow:
        0 38px 90px rgba(17,30,50,.20),
        0 10px 28px rgba(17,30,50,.08),
        inset 0 1px rgba(255,255,255,.04);
}


/* =========================================================
   LOCAL
   Give the page another light breath
   ========================================================= */

.local-v2 {
    padding:
        125px
        24px;
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f4f6f8
        );
}

.local-v2::before {
    opacity: .35;
}

.local-v2-inner {
    box-shadow:
        0 30px 72px rgba(18,31,52,.15),
        0 8px 24px rgba(18,31,52,.07),
        inset 0 1px rgba(255,255,255,.04);
}


/* =========================================================
   FINAL CTA
   Dark ending island against light surroundings
   ========================================================= */

.final-cta {
    padding:
        45px
        24px
        120px;
    background:
        linear-gradient(
            180deg,
            #f4f6f8,
            #eef1f4
        );
}

.final-cta-card {
    box-shadow:
        0 40px 95px rgba(16,29,49,.22),
        0 12px 32px rgba(16,29,49,.09),
        inset 0 1px rgba(255,255,255,.04);
}


/* =========================================================
   LIGHT FOOTER
   ========================================================= */

.site-footer {
    border-top:
        1px solid rgba(15,23,42,.075);
    background: #f3f5f7;
    color: #66717d;
}

.site-footer h2,
.site-footer strong {
    color: #171c23;
}

.site-footer a {
    color: #0878e7;
}


/* =========================================================
   DEPTH: DARK ISLANDS LOOK PHYSICALLY SEPARATE
   ========================================================= */

.showcase-managed,
.showcase-security,
.showcase-cloud,
.showcase-backup,
.showcase-network,
.industries-editorial,
.approach-grid,
.local-v2-inner,
.final-cta-card {
    position: relative;
}

.showcase-managed::before,
.showcase-backup::before,
.showcase-network::before,
.industries-editorial::before,
.approach-grid::after,
.local-v2-inner::after,
.final-cta-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 7%;
    right: 7%;
    bottom: -24px;
    height: 55px;
    border-radius: 50%;
    background:
        rgba(24,39,62,.18);
    filter: blur(28px);
    pointer-events: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 980px) {

    .primary-navigation {
        background:
            rgba(255,255,255,.985);
        border-color:
            rgba(15,23,42,.08);
    }

    .statement-section {
        padding-top: 105px;
        padding-bottom: 110px;
    }

}

@media (max-width: 680px) {

    .services-v2,
    .industries-v2,
    .approach-section,
    .local-v2 {
        padding-top: 85px;
        padding-bottom: 95px;
    }

    .service-showcase {
        gap: 26px;
    }

}

/* === COMPRO V0.9 OPS START === */

/* =========================================================
   V0.9 LIVING OPERATIONS CONSOLE
   ========================================================= */

.hero-console {
    --ops-accent: #54a8ff;
    --ops-state: #8ed9a6;
    --ops-warning: #efb75d;
}

.hero-console-body {
    position: relative;
}


/* ---------- Health ring ---------- */

.console-health-ring {
    position: relative;
    transition:
        background .65s ease,
        box-shadow .65s ease,
        filter .65s ease;
}

.console-health-ring::after {
    content: "";
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 1px solid rgba(91,166,255,.16);
    opacity: .55;
    animation:
        compro-ops-health-pulse 3.2s ease-out infinite;
}

.hero-console.ops-incident .console-health-ring {
    background:
        conic-gradient(
            var(--ops-warning) 0deg,
            #56b8ff 205deg,
            #77d59a 284deg,
            rgba(255,255,255,.08) 284deg
        );
    box-shadow:
        0 0 70px rgba(239,183,93,.13),
        inset 0 0 30px rgba(0,0,0,.2);
}

.hero-console.ops-resolved .console-health-ring {
    background:
        conic-gradient(
            #3f9cff 0deg,
            #77d59a 310deg,
            rgba(255,255,255,.08) 310deg
        );
    box-shadow:
        0 0 75px rgba(76,180,255,.18),
        inset 0 0 30px rgba(0,0,0,.2);
}

.console-health-ring strong,
.console-health-ring span {
    transition:
        color .35s ease,
        opacity .35s ease;
}

.hero-console.ops-incident .console-health-ring strong {
    color: #efc270;
}

.hero-console.ops-resolved .console-health-ring strong {
    color: #8ed9a6;
}


/* ---------- Metric rows ---------- */

.console-metric {
    position: relative;
    padding:
        3px
        0;
    transition:
        transform .35s ease,
        opacity .35s ease;
}

.console-metric.ops-active {
    transform: translateX(5px);
}

.metric-label,
.metric-state {
    transition:
        color .3s ease,
        opacity .3s ease;
}

.console-metric.ops-active .metric-label {
    color: #e6ebf2;
}

.console-metric.ops-warning .metric-state {
    color: #efbd67;
}

.console-metric.ops-good .metric-state {
    color: #8ed9a6;
}

.metric-bar {
    position: relative;
}

.metric-bar i {
    transition:
        width .7s cubic-bezier(.2,.8,.2,1),
        background .45s ease,
        box-shadow .45s ease;
}

.console-metric.ops-warning .metric-bar i {
    background:
        linear-gradient(
            90deg,
            #d99642,
            #f0bd66
        );
    box-shadow:
        0 0 14px rgba(239,183,93,.20);
}

.console-metric.ops-good .metric-bar i {
    background:
        linear-gradient(
            90deg,
            #3388ff,
            #65cbff
        );
    box-shadow:
        0 0 14px rgba(73,167,255,.18);
}


/* ---------- Event feed ---------- */

.compro-ops-feed {
    position: absolute;
    z-index: 5;
    left: 34px;
    right: 34px;
    bottom: 104px;
    display: grid;
    gap: 5px;
    pointer-events: none;
}

.compro-ops-event {
    display: grid;
    grid-template-columns:
        8px
        55px
        minmax(0,1fr);
    gap: 8px;
    align-items: center;
    min-width: 0;
    color: #737e8d;
    font-size: 9px;
    line-height: 1.25;
    opacity: .55;
    transform: translateY(0);
    transition:
        opacity .35s ease,
        color .35s ease,
        transform .35s ease;
}

.compro-ops-event:first-child {
    color: #aeb8c5;
    opacity: 1;
}

.compro-ops-event.is-new {
    transform: translateY(-3px);
}

.compro-ops-event-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #657181;
}

.compro-ops-event.is-warning .compro-ops-event-dot {
    background: #eaae50;
    box-shadow:
        0 0 10px rgba(234,174,80,.6);
}

.compro-ops-event.is-good .compro-ops-event-dot {
    background: #70d296;
    box-shadow:
        0 0 10px rgba(112,210,150,.55);
}

.compro-ops-event-time {
    color: #596473;
    font-variant-numeric: tabular-nums;
}

.compro-ops-event-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ---------- Floating cards ---------- */

.floating-card small,
.floating-card strong {
    transition:
        opacity .28s ease,
        transform .28s ease,
        color .28s ease;
}

.floating-card.ops-card-changing small,
.floating-card.ops-card-changing strong {
    opacity: 0;
    transform: translateY(5px);
}

.floating-card.ops-warning::before {
    background: #eeb75f;
    box-shadow:
        0 0 13px rgba(238,183,95,.7);
}

.floating-card.ops-good::before {
    background: #6fd596;
    box-shadow:
        0 0 13px rgba(111,213,150,.65);
}


/* ---------- Telemetry ---------- */

.console-stream span {
    transition:
        height .72s cubic-bezier(.2,.8,.2,1),
        opacity .45s ease,
        filter .45s ease;
}

.hero-console.ops-incident .console-stream span {
    filter:
        saturate(1.15)
        brightness(1.05);
}

.hero-console.ops-resolved .console-stream span {
    filter:
        saturate(1.05)
        brightness(1.12);
}


/* ---------- Tiny console status badge ---------- */

.compro-ops-mode {
    position: absolute;
    z-index: 8;
    left: 50%;
    top: 18px;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding:
        6px
        10px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 999px;
    background:
        rgba(11,17,26,.72);
    color: #758090;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    opacity: .8;
}

.compro-ops-mode::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #6fd596;
    box-shadow:
        0 0 8px rgba(111,213,150,.55);
}

.hero-console.ops-incident .compro-ops-mode::before {
    background: #eeb75f;
    box-shadow:
        0 0 8px rgba(238,183,95,.6);
}


/* ---------- Animations ---------- */

@keyframes compro-ops-health-pulse {

    0% {
        opacity: 0;
        transform: scale(.90);
    }

    35% {
        opacity: .55;
    }

    100% {
        opacity: 0;
        transform: scale(1.12);
    }

}


/* ---------- Small screens ---------- */

@media (max-width: 680px) {

    .compro-ops-feed {
        left: 20px;
        right: 20px;
        bottom: 102px;
    }

    .compro-ops-event {
        grid-template-columns:
            7px
            1fr;
    }

    .compro-ops-event-time {
        display: none;
    }

    .compro-ops-mode {
        display: none;
    }

}


/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {

    .console-health-ring::after {
        animation: none !important;
        display: none;
    }

    .console-stream span {
        transition: none;
    }

}

/* === COMPRO V0.9 OPS END === */

/* === COMPRO V1.0 SECURITY VIEW START === */

.hero-console {
    transition:
        background .6s ease,
        box-shadow .6s ease,
        border-color .6s ease;
}

.hero-console.security-view {
    background:
        radial-gradient(circle at 50% 42%, rgba(64,106,255,.12), transparent 32%),
        linear-gradient(145deg, rgba(17,24,37,.97), rgba(8,13,21,.99));
    border-color: rgba(121,147,255,.12);
    box-shadow:
        0 55px 110px rgba(0,0,0,.42),
        0 0 110px rgba(78,95,255,.09),
        inset 0 1px rgba(255,255,255,.055);
}


/* Security view container */

.compro-security-view {
    position: absolute;
    inset: 54px 0 0 0;
    z-index: 12;
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity .55s ease,
        visibility .55s ease;
}

.hero-console.security-view .compro-security-view {
    opacity: 1;
    visibility: visible;
}

.hero-console.security-view .hero-console-body,
.hero-console.security-view .console-stream,
.hero-console.security-view .compro-ops-feed {
    opacity: 0;
    visibility: hidden;
    transition:
        opacity .35s ease,
        visibility .35s ease;
}


/* central identity / M365 core */

.security-scene {
    position: relative;
    width: 88%;
    height: 78%;
}

.security-core {
    position: absolute;
    left: 50%;
    top: 47%;
    width: 132px;
    height: 132px;
    transform: translate(-50%,-50%);
    border-radius: 34px;
    background:
        linear-gradient(145deg, #2a88ff, #5c63ff);
    box-shadow:
        0 0 0 18px rgba(64,111,255,.06),
        0 0 80px rgba(69,111,255,.28);
}

.security-core::before {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.65);
}

.security-core-label {
    position: absolute;
    left: 50%;
    top: calc(47% + 86px);
    transform: translateX(-50%);
    text-align: center;
}

.security-core-label strong {
    display: block;
    color: #eef3fb;
    font-size: 13px;
    letter-spacing: .04em;
}

.security-core-label span {
    display: block;
    margin-top: 4px;
    color: #7f8a99;
    font-size: 10px;
}


/* orbit rings */

.security-orbit {
    position: absolute;
    left: 50%;
    top: 47%;
    border-radius: 50%;
    border: 1px solid rgba(96,142,255,.14);
    transform: translate(-50%,-50%);
}

.security-orbit-a {
    width: 250px;
    height: 250px;
}

.security-orbit-b {
    width: 390px;
    height: 390px;
}

.security-orbit-c {
    width: 530px;
    height: 530px;
}


/* nodes */

.security-node {
    position: absolute;
    width: 126px;
    min-height: 76px;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.075);
    background:
        linear-gradient(145deg, rgba(25,34,48,.94), rgba(12,18,27,.92));
    box-shadow:
        0 18px 40px rgba(0,0,0,.24);
    transition:
        transform .45s ease,
        border-color .45s ease,
        box-shadow .45s ease,
        opacity .45s ease;
}

.security-node small {
    display: block;
    color: #687485;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .10em;
}

.security-node strong {
    display: block;
    margin-top: 5px;
    color: #e8edf4;
    font-size: 12px;
    line-height: 1.2;
}

.security-node.is-warning {
    border-color: rgba(238,183,95,.26);
    box-shadow:
        0 18px 40px rgba(0,0,0,.24),
        0 0 24px rgba(238,183,95,.10);
}

.security-node.is-good {
    border-color: rgba(103,200,145,.22);
    box-shadow:
        0 18px 40px rgba(0,0,0,.24),
        0 0 24px rgba(103,200,145,.10);
}

.security-node.identity {
    left: 7%;
    top: 18%;
}

.security-node.email {
    right: 6%;
    top: 16%;
}

.security-node.phishing {
    right: 5%;
    bottom: 18%;
}

.security-node.training {
    left: 7%;
    bottom: 16%;
}

.security-node.endpoint {
    left: 50%;
    bottom: 5%;
    transform: translateX(-50%);
}


/* attack packet */

.security-threat {
    position: absolute;
    left: 84%;
    top: 19%;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #e37b66;
    box-shadow: 0 0 18px rgba(227,123,102,.75);
    opacity: 0;
}

.hero-console.security-threat-active .security-threat {
    animation:
        compro-threat-travel 2.2s ease-in-out forwards;
}

.security-block {
    position: absolute;
    left: 63%;
    top: 35%;
    width: 52px;
    height: 61px;
    opacity: 0;
    clip-path:
        polygon(
            50% 0%,
            90% 16%,
            82% 72%,
            50% 100%,
            18% 72%,
            10% 16%
        );
    background:
        linear-gradient(145deg, #36a0ff, #5262ff);
    box-shadow:
        0 18px 35px rgba(48,118,255,.22);
}

.hero-console.security-threat-active .security-block {
    animation:
        compro-security-block 2.2s ease-in-out forwards;
}


/* phishing simulation pulse */

.phishing-pulse {
    position: absolute;
    right: 15%;
    bottom: 25%;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 1px solid rgba(87,155,255,.16);
    opacity: 0;
}

.hero-console.security-training-active .phishing-pulse {
    animation:
        compro-phishing-pulse 2.8s ease-out infinite;
}


/* security event caption */

.security-caption {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    min-width: 290px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 999px;
    background: rgba(9,14,22,.80);
    color: #9eabba;
    font-size: 10px;
    text-align: center;
    backdrop-filter: blur(10px);
}

.security-caption strong {
    color: #dfe7f0;
}


/* view transition badge */

.compro-ops-mode {
    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease;
}

.hero-console.security-view .compro-ops-mode {
    color: #90a3bb;
    border-color: rgba(99,145,255,.11);
}


/* animations */

@keyframes compro-threat-travel {
    0% {
        opacity: 0;
        transform: translate(0,0) scale(.8);
    }

    18% {
        opacity: 1;
    }

    68% {
        opacity: 1;
        transform: translate(-135px,95px) scale(1);
    }

    83% {
        opacity: 1;
        transform: translate(-165px,114px) scale(.6);
    }

    100% {
        opacity: 0;
        transform: translate(-180px,124px) scale(.1);
    }
}

@keyframes compro-security-block {
    0%, 38% {
        opacity: 0;
        transform: scale(.7);
    }

    52%, 80% {
        opacity: 1;
        transform: scale(1.06);
    }

    100% {
        opacity: .75;
        transform: scale(1);
    }
}

@keyframes compro-phishing-pulse {
    0% {
        transform: scale(.6);
        opacity: 0;
    }

    30% {
        opacity: .65;
    }

    100% {
        transform: scale(1.3);
        opacity: 0;
    }
}


/* mobile */

@media (max-width: 680px) {

    .security-scene {
        width: 96%;
        height: 82%;
    }

    .security-node {
        width: 96px;
        min-height: 66px;
        padding: 10px;
    }

    .security-orbit-c {
        width: 380px;
        height: 380px;
    }

    .security-caption {
        min-width: 0;
        width: calc(100% - 30px);
    }

}


/* reduced motion */

@media (prefers-reduced-motion: reduce) {

    .security-threat,
    .security-block,
    .phishing-pulse {
        animation: none !important;
    }

}

/* === COMPRO V1.0 SECURITY VIEW END === */

/* === COMPRO V1.1 DEVICE VISUALS START === */


/* =========================================================
   SECURITY VIEW CENTRAL INFRASTRUCTURE HUB
   Replace abstract blue square with actual IT equipment
   ========================================================= */

.security-core {
    width: 184px;
    height: 142px;
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(20,30,44,.98),
            rgba(8,14,22,.99)
        );
    border:
        1px solid rgba(102,157,255,.22);
    box-shadow:
        0 0 0 16px rgba(64,111,255,.035),
        0 25px 60px rgba(0,0,0,.38),
        0 0 75px rgba(55,118,255,.18),
        inset 0 1px rgba(255,255,255,.055);
}

.security-core::before {
    display: none;
}


/* ---------- Hub interior ---------- */

.compro-infra-hub {
    position: absolute;
    inset: 0;
    overflow: visible;
}


/* ---------- Server rack ---------- */

.compro-server-stack {
    position: absolute;
    left: 18px;
    top: 20px;
    width: 54px;
    height: 98px;
    display: grid;
    gap: 6px;
}

.compro-server-unit {
    position: relative;
    height: 28px;
    border-radius: 6px;
    border:
        1px solid rgba(255,255,255,.10);
    background:
        linear-gradient(
            180deg,
            #263547,
            #172333
        );
    box-shadow:
        inset 0 1px rgba(255,255,255,.06);
}

.compro-server-unit::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #6fd296;
    box-shadow:
        0 0 7px rgba(111,210,150,.65);
}

.compro-server-unit::after {
    content: "";
    position: absolute;
    right: 8px;
    left: 22px;
    top: 12px;
    height: 3px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            rgba(73,152,255,.9),
            rgba(111,210,150,.65)
        );
    opacity: .55;
}


/* ---------- Workstation ---------- */

.compro-workstation {
    position: absolute;
    right: 18px;
    top: 20px;
    width: 72px;
    height: 59px;
}

.compro-monitor {
    position: absolute;
    inset: 0 0 13px;
    border:
        1px solid rgba(255,255,255,.15);
    border-radius: 7px;
    background:
        radial-gradient(
            circle at 72% 28%,
            rgba(67,139,255,.22),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #18273a,
            #0c1520
        );
    box-shadow:
        inset 0 1px rgba(255,255,255,.05);
}

.compro-monitor::after {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 9px;
    height: 3px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #3a8fff 0 68%,
            rgba(255,255,255,.07) 68%
        );
}

.compro-monitor-stand {
    position: absolute;
    left: 50%;
    bottom: 3px;
    width: 22px;
    height: 13px;
    transform: translateX(-50%);
    border-bottom:
        3px solid rgba(197,212,229,.42);
}

.compro-monitor-stand::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 3px;
    height: 10px;
    transform: translateX(-50%);
    background: rgba(197,212,229,.42);
}


/* ---------- Network switch ---------- */

.compro-network-device {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 72px;
    height: 28px;
    border:
        1px solid rgba(255,255,255,.11);
    border-radius: 7px;
    background:
        linear-gradient(
            180deg,
            #263548,
            #152130
        );
}

.compro-network-device::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 10px;
    width: 4px;
    height: 4px;
    border-radius: 1px;
    background: #65caff;
    box-shadow:
        9px 0 #65caff,
        18px 0 #70d296,
        27px 0 #65caff,
        36px 0 #65caff,
        45px 0 #70d296;
}

.compro-network-device::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 7px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #70d296;
    box-shadow:
        0 0 7px rgba(112,210,150,.65);
}


/* ---------- Wireless signal ---------- */

.compro-wifi {
    position: absolute;
    left: 77px;
    bottom: 16px;
    width: 26px;
    height: 21px;
}

.compro-wifi::before,
.compro-wifi::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    border:
        2px solid transparent;
    border-top-color: #69b8ff;
    border-radius: 50%;
    transform: translateX(-50%) rotate(180deg);
}

.compro-wifi::before {
    width: 24px;
    height: 20px;
    opacity: .45;
}

.compro-wifi::after {
    width: 14px;
    height: 11px;
    opacity: .85;
}

.compro-wifi-dot {
    position: absolute;
    left: 50%;
    bottom: 1px;
    width: 4px;
    height: 4px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #72c7ff;
    box-shadow:
        0 0 7px rgba(114,199,255,.65);
}


/* ---------- Infrastructure connection traces ---------- */

.compro-infra-line {
    position: absolute;
    height: 1px;
    transform-origin: left center;
    background:
        linear-gradient(
            90deg,
            rgba(73,153,255,.15),
            rgba(91,169,255,.85),
            rgba(111,210,150,.30)
        );
    opacity: .72;
}

.compro-infra-line.one {
    left: 66px;
    top: 46px;
    width: 40px;
}

.compro-infra-line.two {
    left: 68px;
    top: 82px;
    width: 65px;
    transform: rotate(15deg);
}

.compro-infra-line.three {
    left: 92px;
    top: 103px;
    width: 43px;
    transform: rotate(-12deg);
}


/* ---------- Animated device health ---------- */

.compro-server-unit:nth-child(1)::before {
    animation:
        compro-device-light 3.1s ease-in-out infinite;
}

.compro-server-unit:nth-child(2)::before {
    animation:
        compro-device-light 3.1s .7s ease-in-out infinite;
}

.compro-server-unit:nth-child(3)::before {
    animation:
        compro-device-light 3.1s 1.4s ease-in-out infinite;
}

.compro-network-device::after {
    animation:
        compro-device-light 2.7s .5s ease-in-out infinite;
}

.compro-infra-line::after {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 10px;
    height: 3px;
    border-radius: 999px;
    background: #76caff;
    box-shadow:
        0 0 9px rgba(118,202,255,.75);
    animation:
        compro-data-packet 2.8s linear infinite;
}

.compro-infra-line.two::after {
    animation-delay: .8s;
}

.compro-infra-line.three::after {
    animation-delay: 1.5s;
}


@keyframes compro-device-light {

    0%,
    100% {
        opacity: .45;
        filter: brightness(.8);
    }

    50% {
        opacity: 1;
        filter: brightness(1.4);
    }

}


@keyframes compro-data-packet {

    0% {
        left: 0;
        opacity: 0;
    }

    12% {
        opacity: 1;
    }

    82% {
        opacity: 1;
    }

    100% {
        left: calc(100% - 10px);
        opacity: 0;
    }

}


/* =========================================================
   CHANGE LABEL PLACEMENT TO MATCH WIDER HUB
   ========================================================= */

.security-core-label {
    top: calc(47% + 92px);
}

.security-core-label strong {
    font-size: 12px;
}

.security-core-label span {
    color: #7f8997;
}


/* =========================================================
   MANAGED IT DEVICE MOTIF
   Add recognizable equipment to existing abstract illustration
   ========================================================= */

.compro-managed-devices {
    position: absolute;
    z-index: 6;
    left: 50%;
    top: 50%;
    width: 235px;
    height: 170px;
    transform:
        translate(-50%,-50%)
        perspective(700px)
        rotateX(4deg)
        rotateY(-7deg);
    pointer-events: none;
}

.compro-managed-server {
    position: absolute;
    left: 15px;
    top: 28px;
    width: 76px;
    height: 112px;
    border-radius: 13px;
    border:
        1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(
            145deg,
            rgba(35,49,67,.97),
            rgba(15,23,34,.98)
        );
    box-shadow:
        0 25px 55px rgba(0,0,0,.35),
        0 0 35px rgba(59,133,255,.08);
}

.compro-managed-server::before {
    content: "";
    position: absolute;
    inset: 14px 10px;
    border-radius: 8px;
    background:
        repeating-linear-gradient(
            180deg,
            rgba(255,255,255,.08) 0 2px,
            transparent 2px 21px
        );
}

.compro-managed-server::after {
    content: "";
    position: absolute;
    left: 13px;
    top: 18px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #71d398;
    box-shadow:
        0 22px #71d398,
        0 44px #61baff,
        0 66px #71d398;
}

.compro-managed-pc {
    position: absolute;
    right: 9px;
    top: 14px;
    width: 116px;
    height: 80px;
    border-radius: 11px;
    border:
        1px solid rgba(255,255,255,.13);
    background:
        radial-gradient(
            circle at 68% 30%,
            rgba(66,135,255,.20),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(28,42,59,.98),
            rgba(10,17,26,.98)
        );
    box-shadow:
        0 28px 60px rgba(0,0,0,.35);
}

.compro-managed-pc::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 15px;
    height: 4px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #438fff 0 80%,
            rgba(255,255,255,.08) 80%
        );
}

.compro-managed-pc::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -22px;
    width: 40px;
    height: 22px;
    transform: translateX(-50%);
    border-bottom:
        4px solid rgba(190,207,226,.40);
}

.compro-managed-switch {
    position: absolute;
    right: 24px;
    bottom: 18px;
    width: 104px;
    height: 34px;
    border-radius: 8px;
    border:
        1px solid rgba(255,255,255,.11);
    background:
        linear-gradient(
            180deg,
            #27374b,
            #152130
        );
    box-shadow:
        0 18px 35px rgba(0,0,0,.28);
}

.compro-managed-switch::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 13px;
    width: 5px;
    height: 5px;
    border-radius: 1px;
    background: #66c7ff;
    box-shadow:
        11px 0 #66c7ff,
        22px 0 #70d398,
        33px 0 #66c7ff,
        44px 0 #70d398,
        55px 0 #66c7ff;
}

.compro-managed-link {
    position: absolute;
    z-index: -1;
    height: 1px;
    background:
        linear-gradient(
            90deg,
            rgba(61,143,255,.15),
            rgba(61,143,255,.85),
            rgba(110,210,150,.4)
        );
    opacity: .8;
}

.compro-managed-link.a {
    left: 82px;
    top: 63px;
    width: 38px;
}

.compro-managed-link.b {
    left: 75px;
    top: 105px;
    width: 86px;
    transform: rotate(13deg);
}


/* =========================================================
   NETWORK VISUAL DEVICE DETAILS
   ========================================================= */

.compro-network-hardware {
    position: absolute;
    z-index: 8;
    left: 50%;
    top: 50%;
    width: 155px;
    height: 72px;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.compro-network-switch {
    position: absolute;
    left: 0;
    right: 0;
    top: 20px;
    height: 42px;
    border-radius: 10px;
    border:
        1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(
            180deg,
            rgba(42,57,76,.98),
            rgba(17,27,39,.99)
        );
    box-shadow:
        0 20px 45px rgba(0,0,0,.34),
        0 0 35px rgba(59,137,255,.10);
}

.compro-network-switch::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 16px;
    width: 7px;
    height: 6px;
    border-radius: 2px;
    background: #68c6ff;
    box-shadow:
        14px 0 #68c6ff,
        28px 0 #6fd398,
        42px 0 #68c6ff,
        56px 0 #68c6ff,
        70px 0 #6fd398,
        84px 0 #68c6ff;
}

.compro-network-ap {
    position: absolute;
    right: -13px;
    top: -2px;
    width: 38px;
    height: 18px;
    border-radius: 50%;
    border:
        1px solid rgba(255,255,255,.15);
    background:
        linear-gradient(
            180deg,
            rgba(54,72,94,.98),
            rgba(21,31,45,.98)
        );
    box-shadow:
        0 0 22px rgba(72,149,255,.18);
}

.compro-network-ap::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 5px;
    height: 5px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #6fd398;
    box-shadow:
        0 0 8px rgba(111,211,152,.75);
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .compro-server-unit::before,
    .compro-network-device::after,
    .compro-infra-line::after {
        animation: none !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .security-core {
        width: 150px;
        height: 120px;
    }

    .compro-server-stack {
        transform: scale(.82);
        transform-origin: left top;
    }

    .compro-workstation {
        transform: scale(.82);
        transform-origin: right top;
    }

    .compro-network-device {
        transform: scale(.82);
        transform-origin: right bottom;
    }

    .compro-managed-devices {
        transform:
            translate(-50%,-50%)
            scale(.82);
    }

}

/* === COMPRO V1.1 DEVICE VISUALS END === */

/* === COMPRO V1.2 SAFE MOTION START === */


/* =========================================================
   SAFE MOTION POLISH
   CSS transitions only. No MutationObservers.
   ========================================================= */

.hero-console {
    --compro-smooth:
        cubic-bezier(.22,.61,.36,1);
}


/* Operations dashboard */

.hero-console-body {
    opacity: 1;
    filter: blur(0);
    transform:
        translateY(0)
        scale(1);
    transform-origin: center center;
    will-change:
        opacity,
        transform;
    transition:
        opacity .85s ease,
        transform 1.05s var(--compro-smooth),
        filter .85s ease;
}

.console-health-ring {
    will-change:
        transform;
    transition:
        transform 1.15s var(--compro-smooth),
        background 1.15s ease,
        box-shadow 1.15s ease,
        filter 1.15s ease;
}

.hero-console.ops-incident .console-health-ring {
    transform: scale(.985);
}

.hero-console.ops-resolved .console-health-ring {
    transform: scale(1);
}

.console-health-ring strong,
.console-health-ring span {
    transition:
        color .65s ease,
        opacity .65s ease,
        transform .8s var(--compro-smooth);
}


/* Metric rows */

.console-metric {
    will-change: transform;
    transition:
        transform .9s var(--compro-smooth),
        opacity .7s ease;
}

.console-metric.ops-active {
    transform: translateX(5px);
}

.metric-label,
.metric-state {
    transition:
        opacity .65s ease,
        color .75s ease,
        transform .75s var(--compro-smooth);
}

.metric-bar i {
    will-change: width;
    transition:
        width 1.55s var(--compro-smooth),
        background 1s ease,
        box-shadow 1s ease;
}


/* Floating state cards */

.floating-card {
    will-change:
        transform,
        opacity;
    transition:
        transform .85s var(--compro-smooth),
        opacity .7s ease,
        border-color .8s ease,
        box-shadow .8s ease;
}

.floating-card small,
.floating-card strong {
    transition:
        opacity .6s ease,
        transform .75s var(--compro-smooth),
        filter .6s ease,
        color .6s ease;
}

.floating-card.ops-card-changing small,
.floating-card.ops-card-changing strong {
    opacity: 0;
    transform:
        translateY(6px)
        scale(.99);
    filter: blur(2px);
}


/* Telemetry */

.console-stream span {
    will-change: height;
    transition:
        height 1.65s var(--compro-smooth),
        opacity .8s ease,
        filter .8s ease;
}


/* Activity feed */

.compro-ops-event {
    transition:
        opacity .7s ease,
        transform .85s var(--compro-smooth),
        color .65s ease;
}

.compro-ops-event:first-child {
    animation:
        compro-v12-event-in
        .75s
        var(--compro-smooth)
        both;
}

@keyframes compro-v12-event-in {

    0% {
        opacity: 0;
        transform: translateY(5px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   VIEW CHANGE
   Operations gently recedes while security comes forward.
   ========================================================= */

.compro-security-view {
    opacity: 0;
    visibility: hidden;
    filter: blur(5px);
    transform:
        translateY(9px)
        scale(.965);
    transform-origin: center center;
    will-change:
        opacity,
        transform;
    transition:
        opacity .9s ease,
        transform 1.05s var(--compro-smooth),
        filter .9s ease,
        visibility 0s linear 1.05s;
}

.hero-console.security-view .compro-security-view {
    opacity: 1;
    visibility: visible;
    filter: blur(0);
    transform:
        translateY(0)
        scale(1);
    transition:
        opacity .95s ease .15s,
        transform 1.1s var(--compro-smooth) .1s,
        filter .9s ease .1s,
        visibility 0s linear 0s;
}

.hero-console.security-view .hero-console-body {
    opacity: 0;
    filter: blur(5px);
    transform:
        translateY(-7px)
        scale(.965);
}

.hero-console.security-view .console-stream,
.hero-console.security-view .compro-ops-feed {
    opacity: 0;
    transform: translateY(5px);
    transition:
        opacity .7s ease,
        transform .85s var(--compro-smooth);
}


/* =========================================================
   INFRASTRUCTURE GRAPHIC
   Slow, subtle movement.
   ========================================================= */

.security-core {
    transition:
        box-shadow 1.2s ease,
        border-color 1.2s ease;
}

.compro-infra-hub {
    animation:
        compro-v12-infra-float
        8s
        ease-in-out
        infinite;
}

@keyframes compro-v12-infra-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }

}

.security-node {
    transition:
        transform .95s var(--compro-smooth),
        border-color .9s ease,
        box-shadow .9s ease,
        opacity .8s ease,
        filter .8s ease;
}

.security-caption {
    transition:
        opacity .7s ease,
        transform .8s var(--compro-smooth),
        color .7s ease;
}

.compro-server-unit::before,
.compro-network-device::after {
    animation-duration: 4s;
}

.compro-infra-line::after {
    animation-duration: 3.6s;
}


/* =========================================================
   THREAT / SECURITY ANIMATIONS
   Slower acceleration and deceleration.
   ========================================================= */

.hero-console.security-threat-active .security-threat {
    animation:
        compro-v12-threat-travel
        2.8s
        var(--compro-smooth)
        forwards;
}

@keyframes compro-v12-threat-travel {

    0% {
        opacity: 0;
        transform:
            translate(0,0)
            scale(.75);
    }

    15% {
        opacity: 1;
    }

    58% {
        opacity: 1;
        transform:
            translate(-120px,84px)
            scale(1);
    }

    78% {
        opacity: 1;
        transform:
            translate(-157px,108px)
            scale(.65);
    }

    100% {
        opacity: 0;
        transform:
            translate(-180px,124px)
            scale(.12);
    }

}

.hero-console.security-threat-active .security-block {
    animation:
        compro-v12-security-block
        2.8s
        var(--compro-smooth)
        forwards;
}

@keyframes compro-v12-security-block {

    0%,
    35% {
        opacity: 0;
        transform: scale(.82);
    }

    55% {
        opacity: 1;
        transform: scale(1.035);
    }

    82% {
        opacity: .95;
        transform: scale(1);
    }

    100% {
        opacity: .72;
        transform: scale(1);
    }

}


/* =========================================================
   GPU-FRIENDLY
   Avoid expensive constant blur animation.
   ========================================================= */

.security-threat,
.security-block,
.compro-infra-hub,
.console-health-ring,
.console-stream span,
.metric-bar i {
    backface-visibility: hidden;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hero-console-body,
    .compro-security-view,
    .compro-infra-hub,
    .security-node,
    .floating-card,
    .console-metric,
    .metric-bar i,
    .console-stream span,
    .security-threat,
    .security-block {
        animation: none !important;
        transition: none !important;
    }

}

/* === COMPRO V1.2 SAFE MOTION END === */

/* === COMPRO V3.7 STRUCTURAL STACKING START === */

/*
 * Retains the layout behavior originally introduced with V1.4.
 * The old injected animation layer no longer exists.
 */

.showcase-card > * {
    position: relative;
    z-index: 3;
}

.industries-editorial,
.approach-grid,
.local-v2-inner,
.final-cta-card {
    position: relative;
    overflow: hidden;
}

.industries-editorial > *,
.approach-grid > *,
.local-v2-inner > *,
.final-cta-card > * {
    position: relative;
    z-index: 1;
}

/* === COMPRO V3.7 STRUCTURAL STACKING END === */

/* === COMPRO V1.5 SERVICE LAYOUT START === */


/* =========================================================
   GENERAL
   Reduce the repeated giant-card feeling.
   ========================================================= */

.service-showcase {
    gap: 34px;
}


/* =========================================================
   MANAGED IT
   Still the largest service card, but slightly tighter.
   ========================================================= */

.showcase-managed {
    min-height: 535px;
}

.showcase-managed .showcase-copy {
    max-width: 52%;
}

.showcase-managed .managed-visual {
    right: 3%;
    width: 47%;
    max-width: 590px;
}


/* =========================================================
   CYBERSECURITY + MICROSOFT 365

   Keep vertical compositions, just remove excess dead area
   and move the artwork upward into the card.
   ========================================================= */

.showcase-row .showcase-card {
    min-height: 455px;
}

.showcase-security,
.showcase-cloud {
    min-height: 455px;
}

.showcase-security .shield-visual {
    top: auto;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
}

.showcase-cloud .cloud-visual-v2 {
    top: auto;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
}


/*
 * Their V1.4 micro-animation layers should follow the
 * illustration instead of sitting too low.
 */


/* =========================================================
   BACKUP & RECOVERY

   Turn this into a true horizontal feature island:
   copy left, storage/recovery visual right.
   ========================================================= */

.showcase-backup {
    width: 94%;
    min-height: 420px;
    margin-right: 6%;
}

.showcase-backup .showcase-copy {
    position: relative;
    z-index: 5;
    width: 50%;
    max-width: 600px;
}

.showcase-backup .backup-visual-v2 {
    position: absolute;
    z-index: 3;
    left: auto;
    right: 3%;
    top: 50%;
    bottom: auto;
    width: 43%;
    max-width: 540px;
    height: 78%;
    transform: translateY(-50%);
}


/*
 * Bring the backup animation into the same visual zone.
 */


/* =========================================================
   NETWORKS & INFRASTRUCTURE

   Large topology on the right, copy on the left.
   Do not bury the network hardware at the bottom.
   ========================================================= */

.showcase-network {
    width: 94%;
    min-height: 455px;
    margin-left: 6%;
}

.showcase-network .showcase-copy {
    position: relative;
    z-index: 5;
    width: 49%;
    max-width: 585px;
}

.showcase-network .network-visual-v2 {
    position: absolute;
    z-index: 3;
    left: auto;
    right: 2%;
    top: 50%;
    bottom: auto;
    width: 47%;
    max-width: 590px;
    height: 86%;
    transform: translateY(-50%);
}


/*
 * Keep hardware centered inside the topology rather than
 * allowing it to fall out of the bottom edge.
 */

.showcase-network .compro-network-hardware {
    left: 50%;
    top: 54%;
    transform: translate(-50%,-50%);
}


/*
 * V1.4 network traffic now crosses the topology rather than
 * floating through the empty center of the card.
 */


/* =========================================================
   LESS UNIFORMITY

   Slightly vary the vertical placement of the paired cards.
   ========================================================= */

.showcase-security {
    transform: translateY(10px);
}

.showcase-cloud {
    transform: translateY(-6px);
}

.showcase-security:hover {
    transform: translateY(3px);
}

.showcase-cloud:hover {
    transform: translateY(-13px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .showcase-managed,
    .showcase-backup,
    .showcase-network {
        min-height: 520px;
    }

    .showcase-managed .showcase-copy,
    .showcase-backup .showcase-copy,
    .showcase-network .showcase-copy {
        width: 55%;
        max-width: 55%;
    }

    .showcase-backup .backup-visual-v2,
    .showcase-network .network-visual-v2 {
        right: 1%;
        width: 44%;
    }

}


/* =========================================================
   MOBILE
   Return to stacked visual layout.
   ========================================================= */

@media (max-width: 680px) {

    .showcase-managed,
    .showcase-security,
    .showcase-cloud,
    .showcase-backup,
    .showcase-network {
        min-height: 0;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .showcase-managed .showcase-copy,
    .showcase-backup .showcase-copy,
    .showcase-network .showcase-copy {
        width: 100%;
        max-width: none;
    }

    .showcase-security,
    .showcase-cloud {
        transform: none;
    }

    .showcase-security:hover,
    .showcase-cloud:hover {
        transform: translateY(-5px);
    }

    .showcase-backup .backup-visual-v2,
    .showcase-network .network-visual-v2 {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        max-width: none;
        height: 280px;
        margin-top: 25px;
        transform: none;
    }

}


/* =========================================================
   LARGE DESKTOP
   Keep islands substantial without becoming enormous.
   ========================================================= */

@media (min-width: 1450px) {

    .showcase-managed {
        min-height: 560px;
    }

    .showcase-row .showcase-card {
        min-height: 475px;
    }

    .showcase-backup {
        min-height: 440px;
    }

    .showcase-network {
        min-height: 475px;
    }

}

/* === COMPRO V1.5 SERVICE LAYOUT END === */

/* === COMPRO V1.5.1 COMPACT PAIR START === */


/* =========================================================
   CYBERSECURITY + MICROSOFT 365
   Reduce oversized vertical footprint.
   ========================================================= */

.showcase-row {
    align-items: stretch;
}

.showcase-row .showcase-card,
.showcase-security,
.showcase-cloud {
    min-height: 365px;
}


/* Slightly tighter internal spacing */

.showcase-security,
.showcase-cloud {
    padding-top: 38px;
    padding-bottom: 30px;
}

.showcase-security .showcase-copy,
.showcase-cloud .showcase-copy {
    position: relative;
    z-index: 5;
    max-width: 100%;
}


/* Headings need less vertical footprint */

.showcase-security h3,
.showcase-cloud h3 {
    margin-bottom: 16px;
    line-height: .98;
}

.showcase-security p,
.showcase-cloud p {
    margin-bottom: 20px;
}


/* =========================================================
   CYBERSECURITY GRAPHIC
   Pull upward and reduce slightly.
   ========================================================= */

.showcase-security .shield-visual {
    left: 50%;
    top: auto;
    bottom: 22px;
    width: 150px;
    height: 150px;
    transform:
        translateX(-50%)
        scale(.88);
    transform-origin:
        center center;
}


/* Align occasional V1.4 animation with shield */


/* =========================================================
   MICROSOFT 365 GRAPHIC
   Pull upward and reduce slightly.
   ========================================================= */

.showcase-cloud .cloud-visual-v2 {
    left: 50%;
    top: auto;
    bottom: 16px;
    width: 190px;
    height: 165px;
    transform:
        translateX(-50%)
        scale(.90);
    transform-origin:
        center center;
}


/* Align occasional V1.4 flare with the graphic */


/* =========================================================
   WIDE DESKTOP
   Do not let these grow huge again.
   ========================================================= */

@media (min-width: 1450px) {

    .showcase-row .showcase-card,
    .showcase-security,
    .showcase-cloud {
        min-height: 390px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .showcase-row .showcase-card,
    .showcase-security,
    .showcase-cloud {
        min-height: 390px;
    }

}


/* =========================================================
   MOBILE
   Let content determine card height.
   ========================================================= */

@media (max-width: 680px) {

    .showcase-row .showcase-card,
    .showcase-security,
    .showcase-cloud {
        min-height: 0;
    }

    .showcase-security,
    .showcase-cloud {
        padding-top: 32px;
        padding-bottom: 26px;
    }

    .showcase-security .shield-visual,
    .showcase-cloud .cloud-visual-v2 {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        margin:
            18px
            auto
            0;
        transform: none;
    }

}

/* === COMPRO V1.5.1 COMPACT PAIR END === */

/* === COMPRO V1.6 LOWER HOME START === */


/* =========================================================
   WHO WE SUPPORT
   Replace abstract blob with recognizable managed environment.
   ========================================================= */

.industries-environment {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 34px;
    background:
        radial-gradient(
            circle at 55% 45%,
            rgba(48,126,255,.14),
            transparent 30%
        ),
        radial-gradient(
            circle at 76% 24%,
            rgba(108,78,255,.12),
            transparent 33%
        ),
        linear-gradient(
            145deg,
            #0a1018,
            #111a27
        );
}


/* ---------- ambient depth ---------- */

.environment-glow {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 440px;
    height: 440px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(42,124,255,.11),
            rgba(72,82,255,.045) 43%,
            transparent 70%
        );
    filter: blur(10px);
}


/* =========================================================
   CLOUD
   ========================================================= */

.environment-cloud {
    position: absolute;
    left: 50%;
    top: 11%;
    width: 126px;
    height: 66px;
    transform: translateX(-50%);
    filter:
        drop-shadow(
            0 14px 25px
            rgba(50,119,255,.16)
        );
}

.cloud-bubble {
    position: absolute;
    display: block;
    border:
        1px solid rgba(132,180,255,.28);
    background:
        linear-gradient(
            145deg,
            rgba(52,111,199,.42),
            rgba(56,70,154,.24)
        );
}

.cloud-a {
    left: 26px;
    top: 19px;
    width: 76px;
    height: 38px;
    border-radius: 22px;
}

.cloud-b {
    left: 20px;
    top: 25px;
    width: 38px;
    height: 30px;
    border-radius: 50%;
}

.cloud-c {
    right: 18px;
    top: 8px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
}


/* =========================================================
   SERVER
   ========================================================= */

.environment-server {
    position: absolute;
    left: 12%;
    top: 34%;
    width: 105px;
    height: 170px;
    padding: 16px 13px;
    display: grid;
    gap: 9px;
    border:
        1px solid rgba(255,255,255,.10);
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            #243448,
            #111a27
        );
    box-shadow:
        0 28px 55px rgba(0,0,0,.34),
        0 0 45px rgba(46,122,255,.08);
}

.server-row {
    position: relative;
    display: block;
    border:
        1px solid rgba(255,255,255,.07);
    border-radius: 6px;
    background:
        linear-gradient(
            180deg,
            #293a4f,
            #1a2737
        );
}

.server-row::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 5px;
    height: 5px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #72d39a;
    box-shadow:
        0 0 7px rgba(114,211,154,.55);
}

.server-row::after {
    content: "";
    position: absolute;
    left: 26px;
    right: 10px;
    top: 50%;
    height: 3px;
    transform: translateY(-50%);
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #4696ff,
            rgba(83,172,255,.24)
        );
}


/* =========================================================
   WORKSTATION
   ========================================================= */

.environment-workstation {
    position: absolute;
    right: 11%;
    top: 34%;
    width: 160px;
    height: 130px;
}

.environment-monitor {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 96px;
    border:
        1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background:
        radial-gradient(
            circle at 68% 30%,
            rgba(59,139,255,.18),
            transparent 33%
        ),
        linear-gradient(
            145deg,
            #1c2b3e,
            #0c151f
        );
    box-shadow:
        0 28px 58px rgba(0,0,0,.35);
}

.environment-monitor span {
    position: absolute;
    left: 17px;
    right: 17px;
    bottom: 16px;
    height: 5px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #418fff 0 74%,
            rgba(255,255,255,.075) 74%
        );
}

.environment-monitor-stand {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 52px;
    height: 35px;
    transform: translateX(-50%);
    border-bottom:
        5px solid rgba(190,208,227,.38);
}

.environment-monitor-stand::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 5px;
    height: 27px;
    transform: translateX(-50%);
    background:
        rgba(190,208,227,.38);
}


/* =========================================================
   NETWORK SWITCH
   ========================================================= */

.environment-switch {
    position: absolute;
    left: 50%;
    bottom: 15%;
    width: 188px;
    height: 51px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 9px;
    padding:
        0
        19px;
    border:
        1px solid rgba(255,255,255,.11);
    border-radius: 11px;
    background:
        linear-gradient(
            180deg,
            #29394e,
            #152131
        );
    box-shadow:
        0 23px 45px rgba(0,0,0,.31);
}

.environment-switch span {
    width: 9px;
    height: 7px;
    border-radius: 2px;
    background: #65c5ff;
    opacity: .75;
}

.environment-switch span:nth-child(3),
.environment-switch span:nth-child(6) {
    background: #71d399;
}


/* =========================================================
   WIRELESS AP
   ========================================================= */

.environment-ap {
    position: absolute;
    right: 15%;
    bottom: 13%;
    width: 74px;
    height: 31px;
    border:
        1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background:
        linear-gradient(
            180deg,
            #33475e,
            #1a2737
        );
    box-shadow:
        0 0 30px rgba(65,141,255,.12);
}

.environment-ap span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 6px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #73d39a;
    box-shadow:
        0 0 9px rgba(115,211,154,.7);
}


/* =========================================================
   CONNECTIONS
   ========================================================= */

.environment-link {
    position: absolute;
    height: 1px;
    transform-origin: left center;
    background:
        linear-gradient(
            90deg,
            rgba(64,143,255,.06),
            rgba(70,151,255,.42),
            rgba(100,199,255,.17)
        );
}

.environment-link i {
    position: absolute;
    top: -1px;
    left: 0;
    width: 11px;
    height: 3px;
    border-radius: 999px;
    background: #71c8ff;
    box-shadow:
        0 0 8px rgba(113,200,255,.55);
    opacity: 0;
}

.link-a {
    left: 29%;
    top: 43%;
    width: 42%;
}

.link-b {
    left: 31%;
    top: 57%;
    width: 34%;
    transform: rotate(21deg);
}

.link-c {
    left: 53%;
    top: 58%;
    width: 27%;
    transform: rotate(-25deg);
}


/* ---------- status points ---------- */

.environment-status {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6dcaff;
    box-shadow:
        0 0 9px rgba(109,202,255,.52);
}

.status-a {
    left: 45%;
    top: 28%;
}

.status-b {
    left: 58%;
    top: 47%;
    background: #74d39a;
}

.status-c {
    left: 39%;
    bottom: 20%;
}

/* =========================================================
   LOWER HOME SPACING POLISH
   ========================================================= */

.industries-v2 {
    padding-top: 110px;
    padding-bottom: 120px;
}

.approach-section {
    padding-top: 95px;
    padding-bottom: 115px;
}

.local-v2 {
    padding-top: 95px;
    padding-bottom: 100px;
}

.final-cta {
    padding-top: 25px;
    padding-bottom: 95px;
}


/* =========================================================
   HOW WE WORK
   Slightly more compact and intentional.
   ========================================================= */

.approach-grid {
    padding:
        64px
        68px;
}

.principles-panel {
    border-radius: 26px;
}


/* =========================================================
   LOCAL
   Reduce oversized vertical footprint.
   ========================================================= */

.local-v2-inner {
    padding:
        62px
        68px;
}


/* =========================================================
   FINAL CTA
   Keep strong but not excessively tall.
   ========================================================= */

.final-cta-card {
    min-height: 0;
}

.final-cta-content {
    padding-top: 72px;
    padding-bottom: 72px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .industries-environment {
        min-height: 480px;
    }

    .environment-server {
        left: 7%;
        transform: scale(.88);
        transform-origin: left center;
    }

    .environment-workstation {
        right: 5%;
        transform: scale(.88);
        transform-origin: right center;
    }

    .approach-grid,
    .local-v2-inner {
        padding:
            54px
            44px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .industries-environment {
        min-height: 390px;
    }

    .environment-server {
        left: 2%;
        top: 32%;
        transform: scale(.68);
        transform-origin: left center;
    }

    .environment-workstation {
        right: 1%;
        top: 34%;
        transform: scale(.68);
        transform-origin: right center;
    }

    .environment-switch {
        transform:
            translateX(-50%)
            scale(.76);
    }

    .environment-cloud {
        transform:
            translateX(-50%)
            scale(.80);
    }

    .environment-ap {
        display: none;
    }

    .approach-grid,
    .local-v2-inner {
        padding:
            46px
            28px;
    }

    .final-cta-content {
        padding-top: 52px;
        padding-bottom: 52px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .environment-link i,
    .environment-status,
    .environment-cloud {
        animation: none !important;
    }

}

/* === COMPRO V1.6 LOWER HOME END === */

/* === COMPRO V1.7 COMPANY PAGE START === */


/* =========================================================
   COMPANY PAGE
   ========================================================= */

.company-page {
    overflow: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.company-hero {
    position: relative;
    overflow: hidden;
    padding:
        105px
        0
        110px;
    color: #fff;
    background:
        radial-gradient(
            circle at 77% 38%,
            rgba(42,108,255,.18),
            transparent 27%
        ),
        radial-gradient(
            circle at 89% 68%,
            rgba(115,63,230,.12),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #07101a,
            #0b1420 55%,
            #101825
        );
}

.company-hero-glow {
    position: absolute;
    right: -180px;
    top: -180px;
    width: 680px;
    height: 680px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(45,119,255,.14),
            transparent 67%
        );
    pointer-events: none;
}

.company-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(0,1.03fr)
        minmax(420px,.97fr);
    gap: 75px;
    align-items: center;
}

.company-hero-copy {
    max-width: 720px;
}

.company-hero h1 {
    margin:
        20px
        0
        28px;
    max-width: 760px;
    font-size:
        clamp(
            3.45rem,
            6vw,
            6.4rem
        );
    line-height: .91;
    letter-spacing: -.065em;
}

.company-hero h1 span {
    display: block;
    color: #89a9cf;
}

.company-hero-lead {
    max-width: 680px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size:
        clamp(
            1.08rem,
            1.45vw,
            1.28rem
        );
    line-height: 1.65;
}

.company-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.company-hero-visual {
    position: relative;
    min-height: 520px;
}

.company-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 225px;
    height: 225px;
    transform: translate(-50%,-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border:
        1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background:
        radial-gradient(
            circle at 36% 29%,
            rgba(84,149,255,.24),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            rgba(30,52,77,.96),
            rgba(10,19,30,.98)
        );
    box-shadow:
        0 38px 80px rgba(0,0,0,.37),
        0 0 80px rgba(53,119,255,.12);
}

.company-core::before {
    content: "";
    position: absolute;
    inset: 13px;
    border:
        1px solid rgba(112,165,255,.15);
    border-radius: 50%;
}

.company-core-label {
    position: relative;
    z-index: 2;
    margin-bottom: 8px;
    color: #6faaff;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .24em;
}

.company-core strong {
    position: relative;
    z-index: 2;
    font-size: 1.8rem;
    letter-spacing: -.035em;
}

.company-core-location {
    position: relative;
    z-index: 2;
    margin-top: 7px;
    color: rgba(233,241,249,.53);
    font-size: .78rem;
}

.company-orbit {
    position: absolute;
    left: 50%;
    top: 50%;
    transform:
        translate(-50%,-50%);
    border:
        1px solid rgba(83,147,255,.13);
    border-radius: 50%;
}

.company-orbit::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -4px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #65a8ff;
    box-shadow:
        0 0 13px rgba(101,168,255,.65);
}

.company-orbit.orbit-one {
    width: 340px;
    height: 340px;
    animation:
        company-orbit-spin
        32s
        linear
        infinite;
}

.company-orbit.orbit-two {
    width: 450px;
    height: 450px;
    border-color:
        rgba(135,103,255,.10);
    animation:
        company-orbit-spin-reverse
        46s
        linear
        infinite;
}

.company-node {
    position: absolute;
    min-width: 145px;
    padding:
        13px
        17px;
    border:
        1px solid rgba(255,255,255,.10);
    border-radius: 13px;
    color: rgba(238,244,250,.78);
    background:
        rgba(20,31,46,.82);
    box-shadow:
        0 18px 42px rgba(0,0,0,.24);
    backdrop-filter:
        blur(12px);
    font-size: .78rem;
    font-weight: 650;
}

.company-node span {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow:
        0 0 8px rgba(112,211,154,.5);
}

.company-node.node-one {
    left: 2%;
    top: 20%;
}

.company-node.node-two {
    right: 0;
    top: 29%;
}

.company-node.node-three {
    left: 1%;
    bottom: 20%;
}

.company-node.node-four {
    right: 2%;
    bottom: 18%;
}

@keyframes company-orbit-spin {
    to {
        transform:
            translate(-50%,-50%)
            rotate(360deg);
    }
}

@keyframes company-orbit-spin-reverse {
    to {
        transform:
            translate(-50%,-50%)
            rotate(-360deg);
    }
}


/* =========================================================
   INTRO
   ========================================================= */

.company-intro {
    padding:
        120px
        0
        115px;
}

.company-intro-grid {
    display: grid;
    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);
    gap: 90px;
}

.company-intro h2 {
    max-width: 660px;
    margin:
        17px
        0
        0;
    font-size:
        clamp(
            2.5rem,
            4.3vw,
            4.65rem
        );
    line-height: .98;
    letter-spacing: -.055em;
}

.company-intro-copy {
    padding-top: 35px;
}

.company-intro-copy p {
    margin:
        0
        0
        25px;
    color: #566270;
    font-size: 1.12rem;
    line-height: 1.72;
}


/* =========================================================
   PRINCIPLES
   ========================================================= */

.company-principles {
    padding:
        105px
        0
        120px;
    background: #f2f4f7;
}

.company-principle-grid {
    display: grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap: 20px;
    margin-top: 52px;
}

.company-principle-card {
    position: relative;
    min-height: 305px;
    padding:
        42px
        44px;
    overflow: hidden;
    border:
        1px solid rgba(19,37,59,.07);
    border-radius: 28px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f9fafb
        );
    box-shadow:
        0 18px 45px rgba(26,39,56,.055);
}

.company-principle-card::after {
    content: "";
    position: absolute;
    right: -95px;
    bottom: -95px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(55,120,240,.08),
            transparent 68%
        );
}

.company-card-number {
    display: block;
    margin-bottom: 55px;
    color: #3777dc;
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.company-principle-card h3 {
    position: relative;
    z-index: 2;
    margin:
        0
        0
        13px;
    font-size: 1.55rem;
    letter-spacing: -.035em;
}

.company-principle-card p {
    position: relative;
    z-index: 2;
    max-width: 520px;
    margin: 0;
    color: #64707d;
    line-height: 1.65;
}


/* =========================================================
   CAPABILITIES DARK ISLAND
   ========================================================= */

.company-capabilities {
    padding:
        105px
        0;
}

.company-capabilities-inner {
    display: grid;
    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);
    gap: 75px;
    padding:
        70px
        76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(
            circle at 15% 0,
            rgba(44,119,255,.15),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #09121d,
            #111b29
        );
    box-shadow:
        0 35px 70px rgba(21,34,50,.13);
}

.company-capabilities h2 {
    max-width: 540px;
    margin:
        17px
        0
        18px;
    color: #fff;
    font-size:
        clamp(
            2.6rem,
            4vw,
            4.2rem
        );
    line-height: .98;
    letter-spacing: -.055em;
}

.company-capabilities-copy p {
    max-width: 520px;
    margin: 0;
    color: rgba(232,240,248,.62);
    line-height: 1.67;
}

.company-capability-list {
    border-top:
        1px solid rgba(255,255,255,.10);
}

.company-capability-list div {
    display: grid;
    grid-template-columns:
        46px
        1fr;
    gap: 15px;
    align-items: center;
    padding:
        18px
        4px;
    border-bottom:
        1px solid rgba(255,255,255,.09);
}

.company-capability-list span {
    color: #649dff;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.company-capability-list strong {
    color: rgba(242,247,252,.88);
    font-size:
        clamp(
            1rem,
            1.6vw,
            1.27rem
        );
}


/* =========================================================
   CLIENT TYPES
   ========================================================= */

.company-clients {
    padding:
        115px
        0;
}

.company-clients-grid {
    display: grid;
    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);
    gap: 90px;
}

.company-clients h2 {
    max-width: 600px;
    margin:
        18px
        0
        0;
    font-size:
        clamp(
            2.5rem,
            4vw,
            4.3rem
        );
    line-height: 1;
    letter-spacing: -.055em;
}

.company-client-types {
    border-top:
        1px solid rgba(20,38,60,.12);
}

.company-client-types div {
    display: grid;
    grid-template-columns:
        52px
        1fr;
    align-items: center;
    min-height: 78px;
    border-bottom:
        1px solid rgba(20,38,60,.12);
    font-size:
        clamp(
            1.05rem,
            1.6vw,
            1.32rem
        );
    font-weight: 650;
}

.company-client-types span {
    color: #3477e6;
    font-size: .74rem;
    font-weight: 800;
}


/* =========================================================
   LOCAL
   ========================================================= */

.company-local {
    padding:
        20px
        0
        115px;
}

.company-local-card {
    display: grid;
    grid-template-columns:
        minmax(330px,.8fr)
        minmax(0,1.2fr);
    gap: 60px;
    align-items: center;
    min-height: 460px;
    padding:
        65px
        75px;
    overflow: hidden;
    border-radius: 34px;
    color: #fff;
    background:
        radial-gradient(
            circle at 22% 50%,
            rgba(57,126,255,.15),
            transparent 31%
        ),
        linear-gradient(
            140deg,
            #0b1520,
            #111c2b
        );
}

.company-local-map {
    position: relative;
    height: 310px;
}

.local-map-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    transform:
        translate(-50%,-50%);
    border:
        1px solid rgba(94,159,255,.18);
    border-radius: 50%;
}

.local-map-ring.ring-one {
    width: 150px;
    height: 150px;
}

.local-map-ring.ring-two {
    width: 260px;
    height: 260px;
}

.local-map-dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 17px;
    height: 17px;
    transform:
        translate(-50%,-50%);
    border-radius: 50%;
    background: #68a9ff;
    box-shadow:
        0 0 0 11px rgba(70,139,255,.10),
        0 0 32px rgba(70,139,255,.52);
}

.company-local-copy h2 {
    max-width: 680px;
    margin:
        17px
        0
        20px;
    color: #fff;
    font-size:
        clamp(
            2.65rem,
            4vw,
            4.4rem
        );
    line-height: .98;
    letter-spacing: -.055em;
}

.company-local-copy p {
    max-width: 650px;
    color: rgba(234,241,248,.65);
    line-height: 1.68;
}

.company-local-line {
    margin-top: 25px;
    color: rgba(240,246,252,.9) !important;
    font-weight: 650;
}


/* =========================================================
   CTA
   ========================================================= */

.company-cta {
    padding:
        0
        0
        110px;
}

.company-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 55px;
    padding:
        70px
        75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(
            135deg,
            #143a72,
            #172b54 54%,
            #242151
        );
}

.company-cta-card h2 {
    max-width: 720px;
    margin:
        15px
        0
        15px;
    color: #fff;
    font-size:
        clamp(
            2.45rem,
            3.9vw,
            4.2rem
        );
    line-height: .98;
    letter-spacing: -.055em;
}

.company-cta-card p {
    max-width: 640px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.company-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.company-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}

.company-phone-link:hover {
    color: #fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .company-hero-grid,
    .company-intro-grid,
    .company-capabilities-inner,
    .company-clients-grid {
        grid-template-columns: 1fr;
    }

    .company-hero-grid {
        gap: 35px;
    }

    .company-hero-visual {
        min-height: 470px;
    }

    .company-intro-grid,
    .company-clients-grid {
        gap: 45px;
    }

    .company-intro-copy {
        padding-top: 0;
    }

    .company-capabilities-inner {
        gap: 50px;
        padding:
            60px
            52px;
    }

    .company-local-card {
        grid-template-columns:
            minmax(260px,.75fr)
            minmax(0,1.25fr);
        padding:
            58px
            52px;
    }

    .company-cta-card {
        align-items: flex-start;
        flex-direction: column;
        padding:
            58px
            52px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .company-hero {
        padding:
            74px
            0
            75px;
    }

    .company-hero h1 {
        font-size:
            clamp(
                3.05rem,
                15vw,
                4.65rem
            );
    }

    .company-hero-visual {
        min-height: 390px;
        transform: scale(.88);
        transform-origin: center center;
    }

    .company-node {
        min-width: 125px;
        padding:
            10px
            12px;
        font-size: .7rem;
    }

    .company-intro,
    .company-principles,
    .company-clients {
        padding:
            82px
            0;
    }

    .company-principle-grid {
        grid-template-columns: 1fr;
    }

    .company-principle-card {
        min-height: 260px;
        padding:
            34px
            30px;
    }

    .company-card-number {
        margin-bottom: 38px;
    }

    .company-capabilities {
        padding:
            80px
            0;
    }

    .company-capabilities-inner {
        padding:
            44px
            28px;
        border-radius: 26px;
    }

    .company-local {
        padding-bottom: 80px;
    }

    .company-local-card {
        grid-template-columns: 1fr;
        gap: 10px;
        min-height: 0;
        padding:
            42px
            28px;
        border-radius: 26px;
    }

    .company-local-map {
        height: 255px;
    }

    .company-cta {
        padding-bottom: 80px;
    }

    .company-cta-card {
        padding:
            44px
            28px;
        border-radius: 26px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .company-orbit {
        animation: none !important;
    }

}

/* === COMPRO V1.7 COMPANY PAGE END === */

/* === COMPRO V1.8 SERVICES PAGE START === */

.services-page {
    overflow: hidden;
}


/* HERO */

.services-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 110px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 34%, rgba(46,118,255,.18), transparent 28%),
        radial-gradient(circle at 89% 70%, rgba(102,72,235,.13), transparent 28%),
        linear-gradient(135deg,#07101a,#0b1420 55%,#101825);
}

.services-hero-glow {
    position: absolute;
    right: -180px;
    top: -180px;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(45,119,255,.13),transparent 67%);
}

.services-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(430px,1fr);
    gap: 75px;
    align-items: center;
}

.services-hero-copy {
    max-width: 760px;
}

.services-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.services-hero h1 span {
    display: block;
    color: #89a9cf;
}

.services-hero-copy p {
    max-width: 680px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.services-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* HERO PLATFORM */

.services-hero-visual {
    position: relative;
    min-height: 520px;
}

.services-platform-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 220px;
    height: 220px;
    transform: translate(-50%,-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 30%,rgba(74,145,255,.24),transparent 38%),
        linear-gradient(145deg,#1b3049,#09131f);
    box-shadow:
        0 38px 80px rgba(0,0,0,.35),
        0 0 75px rgba(53,119,255,.13);
}

.services-platform-core span {
    color: #6faaff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .23em;
}

.services-platform-core strong {
    margin-top: 8px;
    font-size: 1.55rem;
}

.services-platform-core small {
    margin-top: 8px;
    color: rgba(235,242,249,.5);
    font-size: .68rem;
}

.services-platform-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(82,146,255,.13);
    border-radius: 50%;
}

.services-platform-ring.ring-one {
    width: 340px;
    height: 340px;
}

.services-platform-ring.ring-two {
    width: 445px;
    height: 445px;
    border-color: rgba(121,92,255,.11);
}

.services-platform-node {
    position: absolute;
    min-width: 145px;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 13px;
    color: rgba(240,245,250,.78);
    background: rgba(20,31,46,.82);
    box-shadow: 0 18px 42px rgba(0,0,0,.23);
    backdrop-filter: blur(12px);
    font-size: .78rem;
    font-weight: 650;
}

.services-platform-node::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow: 0 0 8px rgba(112,211,154,.55);
}

.services-platform-node.node-a {
    left: 1%;
    top: 21%;
}

.services-platform-node.node-b {
    right: 0;
    top: 30%;
}

.services-platform-node.node-c {
    right: 1%;
    bottom: 18%;
}

.services-platform-node.node-d {
    left: 3%;
    bottom: 20%;
}


/* INTRO */

.services-intro {
    padding: 115px 0 105px;
}

.services-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.services-intro h2 {
    max-width: 690px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.services-intro-grid > div:last-child {
    padding-top: 34px;
}

.services-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* SERVICE GRID */

.services-grid-section {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.services-modern-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.service-modern-card {
    position: relative;
    min-height: 390px;
    padding: 38px 38px 36px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 28px;
    background:
        linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.055);
}

.service-modern-card::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(55,120,240,.075),transparent 68%);
}

.service-modern-number {
    display: block;
    margin-bottom: 34px;
    color: #3477e6;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.service-modern-card h3 {
    position: relative;
    z-index: 2;
    margin: 28px 0 13px;
    font-size: 1.55rem;
    letter-spacing: -.035em;
}

.service-modern-card p {
    position: relative;
    z-index: 2;
    min-height: 98px;
    margin: 0 0 22px;
    color: #65717e;
    line-height: 1.65;
}

.service-modern-card a {
    position: relative;
    z-index: 3;
    color: #1675ef;
    font-weight: 700;
    text-decoration: none;
}

.service-modern-card a:hover {
    text-decoration: underline;
}


/* GENERIC SERVICE ICONS */

.service-modern-icon {
    position: relative;
    width: 72px;
    height: 72px;
}

.managed-icon {
    display: grid;
    gap: 7px;
}

.managed-icon span {
    display: block;
    height: 18px;
    border-radius: 5px;
    background: linear-gradient(90deg,#347ff0,#69b7e8);
}

.security-icon {
    border-radius: 22px 22px 30px 30px;
    background: linear-gradient(145deg,#3385f0,#4059e8);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.security-icon span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 19px;
    height: 19px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}

.cloud-icon span {
    position: absolute;
    left: 6px;
    top: 25px;
    width: 61px;
    height: 30px;
    border-radius: 18px;
    background: linear-gradient(135deg,#408ef2,#6261ef);
}

.cloud-icon span::before,
.cloud-icon span::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: inherit;
}

.cloud-icon span::before {
    left: 9px;
    top: -15px;
    width: 31px;
    height: 31px;
}

.cloud-icon span::after {
    right: 7px;
    top: -11px;
    width: 26px;
    height: 26px;
}

.backup-icon {
    border: 1px solid rgba(39,105,189,.18);
    border-radius: 15px;
    background: #eaf2fb;
}

.backup-icon span {
    position: absolute;
    left: 13px;
    right: 13px;
    height: 8px;
    border-radius: 999px;
    background: #3c8be8;
}

.backup-icon span:first-child {
    top: 24px;
}

.backup-icon span:last-child {
    top: 41px;
    right: 25px;
}

.network-icon span {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #3f8df0;
}

.network-icon span:nth-child(1) {
    left: 29px;
    top: 2px;
}

.network-icon span:nth-child(2) {
    left: 3px;
    bottom: 5px;
}

.network-icon span:nth-child(3) {
    right: 3px;
    bottom: 5px;
}

.network-icon::before,
.network-icon::after {
    content: "";
    position: absolute;
    left: 35px;
    top: 16px;
    width: 1px;
    height: 46px;
    transform-origin: top;
    background: rgba(51,124,219,.35);
}

.network-icon::before {
    transform: rotate(31deg);
}

.network-icon::after {
    transform: rotate(-31deg);
}

.server-icon {
    display: grid;
    gap: 7px;
}

.server-icon span {
    position: relative;
    display: block;
    height: 18px;
    border-radius: 5px;
    background: #253a51;
}

.server-icon span::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 6px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #73d39a;
}

.project-icon span {
    position: absolute;
    width: 27px;
    height: 27px;
    border: 2px solid #4389eb;
    border-radius: 8px;
}

.project-icon span:first-child {
    left: 8px;
    top: 9px;
}

.project-icon span:last-child {
    right: 7px;
    bottom: 7px;
}

.project-icon::after {
    content: "";
    position: absolute;
    left: 30px;
    top: 34px;
    width: 23px;
    height: 1px;
    transform: rotate(-35deg);
    background: #4389eb;
}

.compliance-icon {
    border-radius: 20px 20px 28px 28px;
    background: linear-gradient(145deg,#294b74,#17283c);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.compliance-icon span {
    position: absolute;
    left: 25px;
    top: 23px;
    width: 25px;
    height: 14px;
    border-left: 3px solid #71d39a;
    border-bottom: 3px solid #71d39a;
    transform: rotate(-45deg);
}

.support-icon {
    border: 2px solid #3e88eb;
    border-radius: 50%;
}

.support-icon::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 2px solid rgba(62,136,235,.45);
    border-radius: 50%;
}

.support-icon span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #3e88eb;
}


/* APPROACH ISLAND */

.services-approach {
    padding: 105px 0;
}

.services-approach-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.services-approach h2 {
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.services-approach-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.services-approach-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.services-approach-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    gap: 14px;
    padding: 20px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.services-approach-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.services-approach-list strong {
    color: rgba(242,247,252,.88);
    font-size: 1.14rem;
}


/* CTA */

.services-cta {
    padding: 15px 0 110px;
}

.services-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#242151);
}

.services-cta h2 {
    max-width: 710px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.services-cta p {
    max-width: 640px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.services-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.services-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .services-modern-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .services-hero-grid,
    .services-intro-grid,
    .services-approach-card {
        grid-template-columns: 1fr;
    }

    .services-hero-grid {
        gap: 30px;
    }

    .services-hero-visual {
        min-height: 470px;
    }

    .services-intro-grid {
        gap: 40px;
    }

    .services-intro-grid > div:last-child {
        padding-top: 0;
    }

    .services-approach-card {
        gap: 50px;
        padding: 58px 52px;
    }

    .services-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .services-hero {
        padding: 74px 0 78px;
    }

    .services-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .services-hero-visual {
        min-height: 390px;
        transform: scale(.88);
        transform-origin: center center;
    }

    .services-platform-node {
        min-width: 125px;
        padding: 10px 12px;
        font-size: .69rem;
    }

    .services-intro,
    .services-grid-section {
        padding: 82px 0;
    }

    .services-modern-grid {
        grid-template-columns: 1fr;
    }

    .service-modern-card {
        min-height: 340px;
        padding: 32px 30px;
    }

    .service-modern-card p {
        min-height: 0;
    }

    .services-approach {
        padding: 80px 0;
    }

    .services-approach-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .services-cta {
        padding-bottom: 80px;
    }

    .services-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}

/* === COMPRO V1.8 SERVICES PAGE END === */

/* === COMPRO V1.9 MANAGED IT PAGE START === */

.managed-page {
    overflow: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.managed-hero {
    position: relative;
    overflow: hidden;
    padding: 105px 0 110px;
    color: #fff;
    background:
        radial-gradient(circle at 79% 36%,rgba(41,119,255,.18),transparent 28%),
        radial-gradient(circle at 92% 71%,rgba(99,70,231,.13),transparent 29%),
        linear-gradient(135deg,#07101a,#0b1420 55%,#101825);
}

.managed-hero-glow {
    position: absolute;
    right: -160px;
    top: -180px;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(53,128,255,.12),transparent 68%);
}

.managed-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(440px,.95fr);
    gap: 75px;
    align-items: center;
}

.managed-hero-copy {
    max-width: 735px;
}

.managed-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.managed-hero h1 span {
    display: block;
    color: #89a9cf;
}

.managed-hero-copy > p {
    max-width: 680px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.managed-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* =========================================================
   OPERATIONS PANEL
   ========================================================= */

.managed-ops {
    position: relative;
    min-height: 480px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        linear-gradient(
            145deg,
            rgba(24,39,57,.92),
            rgba(9,18,29,.96)
        );
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 60px rgba(46,119,255,.08);
}

.managed-ops-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.managed-ops-header span {
    color: #659cf4;
    font-weight: 800;
}

.managed-ops-header strong {
    color: rgba(235,242,249,.38);
    font-size: .62rem;
}

.managed-health-row {
    display: flex;
    gap: 22px;
    align-items: center;
    padding: 30px 0 25px;
}

.managed-health-ring {
    position: relative;
    width: 96px;
    height: 96px;
    flex: 0 0 auto;
    border: 7px solid rgba(83,139,222,.13);
    border-top-color: #448af4;
    border-right-color: #69b9ff;
    border-radius: 50%;
    animation:
        managed-ring-spin
        9s
        linear
        infinite;
}

.managed-health-ring span {
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    background:
        radial-gradient(circle,#64a6ff 0 18%,rgba(59,126,231,.18) 20% 100%);
}

.managed-health-copy {
    display: flex;
    flex-direction: column;
}

.managed-health-copy small {
    color: rgba(232,239,246,.39);
    font-size: .61rem;
    letter-spacing: .16em;
}

.managed-health-copy strong {
    margin-top: 3px;
    color: #f1f6fb;
    font-size: 1.32rem;
}

.managed-health-copy span {
    margin-top: 5px;
    color: rgba(233,240,247,.49);
    font-size: .77rem;
}

.managed-status-list {
    display: grid;
    gap: 8px;
}

.managed-status-list > div {
    display: grid;
    grid-template-columns: 10px 100px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.managed-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6fd49b;
    box-shadow: 0 0 8px rgba(111,212,155,.55);
}

.managed-status-list strong {
    color: rgba(239,245,250,.7);
    font-size: .72rem;
}

.managed-status-list i {
    position: relative;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.055);
}

.managed-status-list i::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 82%;
    border-radius: inherit;
    background: linear-gradient(90deg,#3e85ee,#62c0ed);
}

.managed-status-list > div:nth-child(2) i::after {
    width: 74%;
}

.managed-status-list > div:nth-child(3) i::after {
    width: 91%;
}

.managed-status-list > div:nth-child(4) i::after {
    width: 87%;
}

.managed-device-row {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 27px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.managed-device {
    position: relative;
    opacity: .75;
}

.managed-device.workstation {
    width: 76px;
    height: 53px;
    border: 1px solid rgba(150,184,220,.25);
    border-radius: 7px;
    background: #18283a;
}

.managed-device.workstation::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -16px;
    width: 30px;
    height: 15px;
    transform: translateX(-50%);
    border-bottom: 3px solid rgba(150,184,220,.32);
}

.managed-device.workstation span {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    height: 4px;
    border-radius: 999px;
    background: #4f99f0;
}

.managed-device.server {
    width: 88px;
    display: grid;
    gap: 5px;
}

.managed-device.server span {
    position: relative;
    height: 18px;
    border-radius: 4px;
    background: #253a51;
}

.managed-device.server span::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 6px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #72d39a;
}

.managed-device.network {
    width: 92px;
    height: 38px;
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(150,184,220,.2);
    border-radius: 7px;
    background: #1b2a3b;
}

.managed-device.network span {
    width: 8px;
    height: 6px;
    border-radius: 2px;
    background: #64bbec;
}

.managed-device.network span:nth-child(2) {
    background: #72d39a;
}

.managed-scan-line {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 112px;
    height: 1px;
    overflow: hidden;
    background: rgba(83,145,229,.12);
}

.managed-scan-line::after {
    content: "";
    position: absolute;
    top: 0;
    left: -25%;
    width: 25%;
    height: 1px;
    background: linear-gradient(90deg,transparent,#64b7ff,transparent);
    animation:
        managed-scan
        5.5s
        ease-in-out
        infinite;
}

@keyframes managed-ring-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes managed-scan {
    0%,
    15% {
        left: -25%;
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    85%,
    100% {
        left: 100%;
        opacity: 0;
    }
}


/* =========================================================
   INTRO
   ========================================================= */

.managed-intro {
    padding: 115px 0 110px;
}

.managed-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.managed-intro h2 {
    max-width: 690px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.managed-intro-copy {
    padding-top: 34px;
}

.managed-intro-copy p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* =========================================================
   COVERAGE
   ========================================================= */

.managed-coverage {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.managed-coverage-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.managed-coverage-card {
    position: relative;
    min-height: 365px;
    padding: 36px 36px 34px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.managed-coverage-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(55,120,240,.07),transparent 68%);
}

.managed-card-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.managed-coverage-card h3 {
    position: relative;
    z-index: 2;
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.managed-coverage-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}


/* Coverage graphics */

.managed-card-visual {
    position: relative;
    width: 68px;
    height: 68px;
}

.visual-monitor {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.visual-monitor::before,
.visual-monitor::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(67,137,235,.3);
}

.visual-monitor::before {
    inset: 12px;
}

.visual-monitor::after {
    inset: 24px;
    background: #4389eb;
    border: 0;
}

.visual-monitor span {
    position: absolute;
    left: 50%;
    top: -3px;
    width: 8px;
    height: 8px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #70d39a;
}

.visual-endpoint {
    width: 74px;
    height: 51px;
    border: 2px solid #3e87ea;
    border-radius: 7px;
}

.visual-endpoint::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 32px;
    height: 14px;
    transform: translateX(-50%);
    border-bottom: 3px solid #3e87ea;
}

.visual-endpoint span {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 9px;
    height: 4px;
    border-radius: 999px;
    background: #5ea9ed;
}

.visual-patch {
    border-radius: 18px;
    background: #e9f2fc;
}

.visual-patch::before,
.visual-patch::after {
    content: "";
    position: absolute;
    background: #3e89eb;
}

.visual-patch::before {
    left: 17px;
    right: 17px;
    top: 32px;
    height: 4px;
    border-radius: 999px;
}

.visual-patch::after {
    top: 17px;
    bottom: 17px;
    left: 32px;
    width: 4px;
    border-radius: 999px;
}

.visual-protect {
    background: linear-gradient(145deg,#3385f0,#4059e8);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.visual-protect span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 20px;
    height: 20px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}

.visual-server {
    display: grid;
    gap: 6px;
}

.visual-server span {
    position: relative;
    height: 18px;
    border-radius: 5px;
    background: #263b52;
}

.visual-server span::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 6px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #73d39a;
}

.visual-assets span {
    position: absolute;
    width: 24px;
    height: 24px;
    border: 2px solid #448bed;
    border-radius: 7px;
}

.visual-assets span:nth-child(1) {
    left: 0;
    top: 4px;
}

.visual-assets span:nth-child(2) {
    right: 0;
    top: 4px;
}

.visual-assets span:nth-child(3) {
    left: 22px;
    bottom: 2px;
}

.visual-assets::before,
.visual-assets::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 26px;
    width: 35px;
    height: 1px;
    transform-origin: left center;
    background: rgba(68,139,237,.34);
}

.visual-assets::before {
    transform: rotate(31deg);
}

.visual-assets::after {
    transform: rotate(149deg);
}


/* =========================================================
   PROACTIVE ISLAND
   ========================================================= */

.managed-proactive {
    padding: 105px 0;
}

.managed-proactive-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.managed-proactive h2 {
    max-width: 590px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.managed-proactive-copy > p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.managed-timeline {
    border-top: 1px solid rgba(255,255,255,.1);
}

.managed-step {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 14px;
    padding: 18px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.managed-step > span {
    padding-top: 3px;
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.managed-step strong {
    color: rgba(244,248,252,.9);
    font-size: 1.08rem;
}

.managed-step p {
    margin: 5px 0 0;
    color: rgba(233,241,248,.52);
    font-size: .9rem;
    line-height: 1.52;
}


/* =========================================================
   BUSINESS SUPPORT
   ========================================================= */

.managed-business {
    padding: 110px 0;
}

.managed-business-grid {
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    gap: 90px;
}

.managed-business h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.managed-business-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.managed-business-points {
    border-top: 1px solid rgba(20,38,60,.12);
}

.managed-business-points > div {
    display: grid;
    grid-template-columns: 45px 165px 1fr;
    gap: 16px;
    padding: 23px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.managed-business-points span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.managed-business-points strong {
    font-size: 1rem;
}

.managed-business-points p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* =========================================================
   LIFECYCLE
   ========================================================= */

.managed-lifecycle {
    padding: 10px 0 105px;
}

.managed-lifecycle-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 40%,rgba(79,105,239,.18),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.managed-lifecycle h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.managed-lifecycle-card > div:last-child {
    align-self: center;
}

.managed-lifecycle-card p {
    margin: 0 0 23px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}

.managed-light-link {
    color: #7cb7ff !important;
}


/* =========================================================
   RELATED SERVICES
   ========================================================= */

.managed-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.managed-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.managed-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.managed-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.managed-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.managed-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* =========================================================
   CTA
   ========================================================= */

.managed-cta {
    padding: 100px 0 110px;
}

.managed-cta-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#242151);
}

.managed-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.managed-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.managed-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.managed-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .managed-coverage-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .managed-hero-grid,
    .managed-intro-grid,
    .managed-proactive-card,
    .managed-business-grid,
    .managed-lifecycle-card {
        grid-template-columns: 1fr;
    }

    .managed-hero-grid {
        gap: 42px;
    }

    .managed-intro-grid,
    .managed-business-grid {
        gap: 45px;
    }

    .managed-intro-copy {
        padding-top: 0;
    }

    .managed-proactive-card,
    .managed-lifecycle-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .managed-business-points > div {
        grid-template-columns: 45px 150px 1fr;
    }

    .managed-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .managed-hero {
        padding: 74px 0 78px;
    }

    .managed-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .managed-ops {
        min-height: 450px;
        padding: 24px;
    }

    .managed-ops-header {
        flex-direction: column;
        gap: 5px;
    }

    .managed-device-row {
        left: 24px;
        right: 24px;
    }

    .managed-intro,
    .managed-coverage,
    .managed-business,
    .managed-related {
        padding: 82px 0;
    }

    .managed-coverage-grid,
    .managed-related-grid {
        grid-template-columns: 1fr;
    }

    .managed-coverage-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .managed-proactive {
        padding: 80px 0;
    }

    .managed-proactive-card,
    .managed-lifecycle-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .managed-business-points > div {
        grid-template-columns: 38px 1fr;
    }

    .managed-business-points p {
        grid-column: 2;
    }

    .managed-lifecycle {
        padding-bottom: 80px;
    }

    .managed-cta {
        padding: 80px 0;
    }

    .managed-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .managed-health-ring,
    .managed-scan-line::after {
        animation: none !important;
    }

}

/* === COMPRO V1.9 MANAGED IT PAGE END === */

/* === COMPRO V2.0 CYBERSECURITY PAGE START === */

.cyber-page {
    overflow: hidden;
}


/* HERO */

.cyber-hero {
    position: relative;
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 79% 34%,rgba(52,92,255,.19),transparent 29%),
        radial-gradient(circle at 91% 71%,rgba(116,66,223,.14),transparent 30%),
        linear-gradient(135deg,#07101a,#0a1320 55%,#111628);
}

.cyber-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(440px,.96fr);
    gap: 75px;
    align-items: center;
}

.cyber-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.cyber-hero h1 span {
    display: block;
    color: #91a9d6;
}

.cyber-hero-copy > p {
    max-width: 700px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.cyber-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* SECURITY CONSOLE */

.cyber-console {
    position: relative;
    min-height: 490px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 70% 30%,rgba(70,76,255,.12),transparent 35%),
        linear-gradient(145deg,rgba(23,35,55,.95),rgba(9,17,29,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(71,84,255,.08);
}

.cyber-console-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.cyber-console-head span {
    color: #6f9cff;
    font-weight: 800;
}

.cyber-console-head strong {
    color: #76d69d;
    font-size: .65rem;
}

.cyber-core {
    display: flex;
    gap: 22px;
    align-items: center;
    padding: 29px 0 23px;
}

.cyber-shield {
    position: relative;
    width: 90px;
    height: 100px;
    flex: 0 0 auto;
    background:
        linear-gradient(145deg,#347ff0,#4a55e8);
    clip-path:
        polygon(
            50% 0,
            88% 14%,
            82% 70%,
            50% 100%,
            18% 70%,
            12% 14%
        );
}

.cyber-shield span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 23px;
    height: 23px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}

.cyber-core-copy {
    display: flex;
    flex-direction: column;
}

.cyber-core-copy small {
    color: rgba(235,242,249,.4);
    font-size: .61rem;
    letter-spacing: .15em;
}

.cyber-core-copy strong {
    margin-top: 4px;
    color: #f1f6fb;
    font-size: 1.4rem;
}

.cyber-core-copy span {
    margin-top: 5px;
    color: rgba(233,240,247,.48);
    font-size: .77rem;
}

.cyber-status {
    display: grid;
    gap: 8px;
}

.cyber-status > div {
    display: grid;
    grid-template-columns: 10px 95px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.cyber-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #71d39a;
    box-shadow: 0 0 8px rgba(113,211,154,.52);
}

.cyber-status strong {
    color: rgba(240,245,250,.72);
    font-size: .72rem;
}

.cyber-status em {
    color: #69b0ff;
    font-size: .68rem;
    font-style: normal;
    text-align: right;
}

.cyber-event {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    padding: 15px 17px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 11px;
    background: rgba(19,31,48,.74);
}

.cyber-event > span {
    display: block;
    color: #f3b85f;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.cyber-event strong {
    display: block;
    margin-top: 5px;
    color: rgba(242,247,252,.85);
    font-size: .82rem;
}

.cyber-event small {
    display: block;
    margin-top: 3px;
    color: rgba(235,242,249,.4);
}

.cyber-scan {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background:
        linear-gradient(90deg,transparent,#568cff,transparent);
    opacity: 0;
    animation:
        cyber-scan-down
        7s
        ease-in-out
        infinite;
}

@keyframes cyber-scan-down {
    0%,
    12% {
        top: 0;
        opacity: 0;
    }

    20% {
        opacity: .8;
    }

    72% {
        opacity: .8;
    }

    82%,
    100% {
        top: 100%;
        opacity: 0;
    }
}


/* INTRO */

.cyber-intro {
    padding: 115px 0 110px;
}

.cyber-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.cyber-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.cyber-intro-grid > div:last-child {
    padding-top: 34px;
}

.cyber-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* LAYERS */

.cyber-layers {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.cyber-layer-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.cyber-layer-card {
    position: relative;
    min-height: 360px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background:
        linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.cyber-layer-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(68,87,230,.07),transparent 68%);
}

.cyber-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.cyber-layer-card h3 {
    position: relative;
    z-index: 2;
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.cyber-layer-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}


/* ICONS */

.cyber-icon {
    position: relative;
    width: 68px;
    height: 68px;
}

.identity-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.identity-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 13px;
    width: 16px;
    height: 16px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.identity-icon span {
    position: absolute;
    left: 50%;
    bottom: 11px;
    width: 34px;
    height: 17px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 18px 18px 7px 7px;
}

.endpoint-icon {
    width: 72px;
    height: 50px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.endpoint-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 33px;
    height: 14px;
    transform: translateX(-50%);
    border-bottom: 3px solid #4389eb;
}

.endpoint-icon span {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 9px;
    height: 4px;
    border-radius: 999px;
    background: #5ea9ed;
}

.email-icon {
    width: 72px;
    height: 51px;
    border: 2px solid #4389eb;
    border-radius: 8px;
}

.email-icon::before,
.email-icon::after {
    content: "";
    position: absolute;
    top: 12px;
    width: 38px;
    height: 2px;
    background: #4389eb;
}

.email-icon::before {
    left: 4px;
    transform: rotate(32deg);
}

.email-icon::after {
    right: 4px;
    transform: rotate(-32deg);
}

.network-security-icon span {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #4389eb;
}

.network-security-icon span:nth-child(1) {
    left: 27px;
    top: 2px;
}

.network-security-icon span:nth-child(2) {
    left: 2px;
    bottom: 4px;
}

.network-security-icon span:nth-child(3) {
    right: 2px;
    bottom: 4px;
}

.network-security-icon::before,
.network-security-icon::after {
    content: "";
    position: absolute;
    left: 34px;
    top: 15px;
    width: 1px;
    height: 45px;
    transform-origin: top;
    background: rgba(67,137,235,.36);
}

.network-security-icon::before {
    transform: rotate(31deg);
}

.network-security-icon::after {
    transform: rotate(-31deg);
}

.awareness-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.awareness-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 10px;
    width: 16px;
    height: 16px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.awareness-icon span {
    position: absolute;
    left: 50%;
    bottom: 9px;
    width: 32px;
    height: 18px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 16px 16px 5px 5px;
}

.recovery-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.recovery-icon::before {
    content: "";
    position: absolute;
    inset: 13px;
    border: 2px solid rgba(67,137,235,.45);
    border-radius: 50%;
}

.recovery-icon span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11px;
    height: 11px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #4389eb;
}


/* RESPONSE ISLAND */

.cyber-response {
    padding: 105px 0;
}

.cyber-response-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 16% 0,rgba(51,91,255,.16),transparent 31%),
        linear-gradient(145deg,#09121d,#11172a);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.cyber-response h2 {
    max-width: 610px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.cyber-response-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.cyber-response-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.cyber-response-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.cyber-response-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.cyber-response-list strong {
    color: rgba(242,247,252,.89);
    font-size: 1.08rem;
}


/* AWARENESS */

.cyber-awareness {
    padding: 110px 0;
}

.cyber-awareness-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
    align-items: center;
}

.cyber-awareness h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.cyber-awareness-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.cyber-awareness-panel {
    padding: 42px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 28px;
    background: #f5f7fa;
}

.awareness-sim {
    position: relative;
    height: 150px;
    margin-bottom: 25px;
}

.awareness-mail {
    position: absolute;
    left: 5%;
    top: 43px;
    width: 88px;
    height: 61px;
    border: 2px solid #4389eb;
    border-radius: 9px;
}

.awareness-mail::before,
.awareness-mail::after {
    content: "";
    position: absolute;
    top: 16px;
    width: 48px;
    height: 2px;
    background: #4389eb;
}

.awareness-mail::before {
    left: 4px;
    transform: rotate(32deg);
}

.awareness-mail::after {
    right: 4px;
    transform: rotate(-32deg);
}

.awareness-user {
    position: absolute;
    right: 5%;
    top: 30px;
    width: 88px;
    height: 88px;
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.awareness-user::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 16px;
    width: 19px;
    height: 19px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.awareness-user span {
    position: absolute;
    left: 50%;
    bottom: 15px;
    width: 40px;
    height: 20px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 20px 20px 7px 7px;
}

.awareness-path {
    position: absolute;
    left: 25%;
    right: 25%;
    top: 75px;
    height: 1px;
    background:
        linear-gradient(90deg,#4389eb,rgba(67,137,235,.18));
}

.awareness-path::after {
    content: "";
    position: absolute;
    left: 0;
    top: -3px;
    width: 10px;
    height: 7px;
    border-radius: 999px;
    background: #61b6ef;
    animation:
        awareness-packet
        5.8s
        ease-in-out
        infinite;
}

@keyframes awareness-packet {
    0%,
    15% {
        left: 0;
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    85%,
    100% {
        left: calc(100% - 10px);
        opacity: 0;
    }
}

.cyber-awareness-panel h3 {
    margin: 0 0 12px;
    font-size: 1.55rem;
}

.cyber-awareness-panel p {
    margin: 0;
    color: #65717e;
    line-height: 1.67;
}


/* M365 ISLAND */

.cyber-m365 {
    padding: 10px 0 105px;
}

.cyber-m365-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 76% 44%,rgba(93,73,230,.19),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.cyber-m365 h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.cyber-m365-card > div:last-child {
    align-self: center;
}

.cyber-m365-card p {
    margin: 0 0 23px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}

.cyber-light-link {
    color: #7cb7ff !important;
}


/* RELATED */

.cyber-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.cyber-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.cyber-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.cyber-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.cyber-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cyber-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* CTA */

.cyber-cta {
    padding: 100px 0 110px;
}

.cyber-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#242151);
}

.cyber-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.cyber-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.cyber-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.cyber-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .cyber-layer-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .cyber-hero-grid,
    .cyber-intro-grid,
    .cyber-response-card,
    .cyber-awareness-grid,
    .cyber-m365-card {
        grid-template-columns: 1fr;
    }

    .cyber-hero-grid,
    .cyber-intro-grid,
    .cyber-awareness-grid {
        gap: 45px;
    }

    .cyber-intro-grid > div:last-child {
        padding-top: 0;
    }

    .cyber-response-card,
    .cyber-m365-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .cyber-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .cyber-hero {
        padding: 74px 0 78px;
    }

    .cyber-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .cyber-console {
        min-height: 460px;
        padding: 24px;
    }

    .cyber-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .cyber-event {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .cyber-intro,
    .cyber-layers,
    .cyber-awareness,
    .cyber-related {
        padding: 82px 0;
    }

    .cyber-layer-grid,
    .cyber-related-grid {
        grid-template-columns: 1fr;
    }

    .cyber-layer-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .cyber-response {
        padding: 80px 0;
    }

    .cyber-response-card,
    .cyber-m365-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .cyber-awareness-panel {
        padding: 30px 24px;
    }

    .cyber-m365 {
        padding-bottom: 80px;
    }

    .cyber-cta {
        padding: 80px 0;
    }

    .cyber-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .cyber-scan,
    .awareness-path::after {
        animation: none !important;
    }

}

/* === COMPRO V2.0 CYBERSECURITY PAGE END === */

/* === COMPRO V2.1 MICROSOFT 365 PAGE START === */

.m365-page {
    overflow: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.m365-hero {
    position: relative;
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 80% 34%,rgba(67,100,255,.2),transparent 29%),
        radial-gradient(circle at 91% 72%,rgba(114,70,234,.16),transparent 30%),
        linear-gradient(135deg,#07101a,#0b1421 53%,#15152c);
}

.m365-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(440px,.96fr);
    gap: 75px;
    align-items: center;
}

.m365-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.m365-hero h1 span {
    display: block;
    color: #9aa9e3;
}

.m365-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.m365-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* =========================================================
   TENANT CONSOLE
   ========================================================= */

.m365-console {
    position: relative;
    min-height: 500px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 67% 30%,rgba(90,70,255,.14),transparent 36%),
        linear-gradient(145deg,rgba(23,36,57,.95),rgba(10,17,31,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(78,88,255,.09);
}

.m365-console-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.m365-console-header span {
    color: #7ca2ff;
    font-weight: 800;
}

.m365-console-header strong {
    color: #70d39a;
    font-size: .65rem;
}

.m365-tenant-core {
    display: flex;
    gap: 23px;
    align-items: center;
    padding: 30px 0 24px;
}

.m365-cloud-core {
    position: relative;
    width: 102px;
    height: 86px;
    flex: 0 0 auto;
}

.m365-cloud-core::before {
    content: "";
    position: absolute;
    left: 8px;
    bottom: 5px;
    width: 86px;
    height: 48px;
    border-radius: 27px;
    background:
        linear-gradient(135deg,#3a8cf2,#6758ef);
    box-shadow:
        0 0 28px rgba(78,105,255,.27);
}

.m365-cloud-core::after {
    content: "";
    position: absolute;
    left: 31px;
    top: 5px;
    width: 51px;
    height: 51px;
    border-radius: 50%;
    background:
        linear-gradient(145deg,#4b94f4,#625ce9);
}

.m365-cloud-core span {
    position: absolute;
    left: 50%;
    top: 47%;
    z-index: 2;
    width: 23px;
    height: 23px;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 7px;
}

.m365-core-copy {
    display: flex;
    flex-direction: column;
}

.m365-core-copy small {
    color: rgba(235,242,249,.4);
    font-size: .61rem;
    letter-spacing: .15em;
}

.m365-core-copy strong {
    margin-top: 4px;
    color: #f1f6fb;
    font-size: 1.4rem;
}

.m365-core-copy span {
    margin-top: 5px;
    color: rgba(233,240,247,.48);
    font-size: .77rem;
}

.m365-service-map {
    display: grid;
    gap: 8px;
}

.m365-service-row {
    display: grid;
    grid-template-columns: 10px 95px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.m365-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #72d39a;
    box-shadow: 0 0 8px rgba(114,211,154,.5);
}

.m365-service-row strong {
    color: rgba(240,245,250,.72);
    font-size: .72rem;
}

.m365-service-row em {
    color: #75a9ff;
    font-size: .68rem;
    font-style: normal;
    text-align: right;
}

.m365-user-strip {
    position: absolute;
    left: 30px;
    bottom: 96px;
    display: flex;
    gap: 9px;
}

.m365-user-strip span {
    width: 28px;
    height: 28px;
    border: 1px solid rgba(116,165,235,.18);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 35%,#6f9cff 0 14%,#1c2a40 16% 100%);
}

.m365-user-strip span:nth-child(2),
.m365-user-strip span:nth-child(5) {
    opacity: .6;
}

.m365-activity {
    position: absolute;
    right: 30px;
    bottom: 27px;
    width: 250px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    background: rgba(19,31,48,.76);
}

.m365-activity > span {
    display: block;
    color: #72a6ff;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.m365-activity strong {
    display: block;
    margin-top: 4px;
    color: rgba(241,246,251,.84);
    font-size: .78rem;
}

.m365-activity small {
    display: block;
    margin-top: 3px;
    color: rgba(235,242,249,.38);
}

.m365-flow-line {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 77px;
    height: 1px;
    overflow: hidden;
    background: rgba(83,145,229,.12);
}

.m365-flow-line::after {
    content: "";
    position: absolute;
    left: -22%;
    top: 0;
    width: 22%;
    height: 1px;
    background:
        linear-gradient(90deg,transparent,#72bfff,transparent);
    animation:
        m365-flow
        6s
        ease-in-out
        infinite;
}

@keyframes m365-flow {
    0%,
    14% {
        left: -22%;
        opacity: 0;
    }

    24% {
        opacity: 1;
    }

    76% {
        opacity: 1;
    }

    86%,
    100% {
        left: 100%;
        opacity: 0;
    }
}


/* =========================================================
   INTRO
   ========================================================= */

.m365-intro {
    padding: 115px 0 110px;
}

.m365-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.m365-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.m365-intro-grid > div:last-child {
    padding-top: 34px;
}

.m365-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* =========================================================
   PLATFORM CARDS
   ========================================================= */

.m365-platform {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.m365-platform-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.m365-card {
    position: relative;
    min-height: 360px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background:
        linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.m365-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(73,89,230,.07),transparent 68%);
}

.m365-card-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.m365-card h3 {
    position: relative;
    z-index: 2;
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.m365-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.m365-card-icon {
    position: relative;
    width: 68px;
    height: 68px;
}


/* identity */

.m365-card-icon.identity {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.m365-card-icon.identity::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 12px;
    width: 16px;
    height: 16px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.m365-card-icon.identity span {
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 34px;
    height: 18px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 18px 18px 6px 6px;
}


/* exchange */

.m365-card-icon.exchange {
    width: 72px;
    height: 51px;
    border: 2px solid #4389eb;
    border-radius: 8px;
}

.m365-card-icon.exchange::before,
.m365-card-icon.exchange::after {
    content: "";
    position: absolute;
    top: 12px;
    width: 38px;
    height: 2px;
    background: #4389eb;
}

.m365-card-icon.exchange::before {
    left: 4px;
    transform: rotate(32deg);
}

.m365-card-icon.exchange::after {
    right: 4px;
    transform: rotate(-32deg);
}


/* teams */

.m365-card-icon.teams span {
    position: absolute;
    border: 2px solid #4389eb;
}

.m365-card-icon.teams span:first-child {
    left: 4px;
    top: 12px;
    width: 35px;
    height: 35px;
    border-radius: 9px;
}

.m365-card-icon.teams span:last-child {
    right: 2px;
    bottom: 5px;
    width: 29px;
    height: 29px;
    border-radius: 50%;
}


/* sharepoint */

.m365-card-icon.sharepoint span {
    position: absolute;
    width: 22px;
    height: 22px;
    border: 2px solid #4389eb;
    border-radius: 6px;
}

.m365-card-icon.sharepoint span:nth-child(1) {
    left: 22px;
    top: 1px;
}

.m365-card-icon.sharepoint span:nth-child(2) {
    left: 2px;
    bottom: 7px;
}

.m365-card-icon.sharepoint span:nth-child(3) {
    right: 2px;
    bottom: 7px;
}

.m365-card-icon.sharepoint::before,
.m365-card-icon.sharepoint::after {
    content: "";
    position: absolute;
    left: 34px;
    top: 23px;
    width: 1px;
    height: 31px;
    transform-origin: top;
    background: rgba(67,137,235,.34);
}

.m365-card-icon.sharepoint::before {
    transform: rotate(40deg);
}

.m365-card-icon.sharepoint::after {
    transform: rotate(-40deg);
}


/* mfa */

.m365-card-icon.mfa {
    border-radius: 19px 19px 26px 26px;
    background:
        linear-gradient(145deg,#3385f0,#4a58e9);
    clip-path:
        polygon(
            50% 0,
            88% 14%,
            82% 70%,
            50% 100%,
            18% 70%,
            12% 14%
        );
}

.m365-card-icon.mfa span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 20px;
    height: 20px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}


/* licenses */

.m365-card-icon.licenses {
    display: grid;
    gap: 7px;
}

.m365-card-icon.licenses span {
    display: block;
    height: 17px;
    border-radius: 5px;
    background:
        linear-gradient(90deg,#367fe7,#6b75ee);
}


/* =========================================================
   SECURITY ISLAND
   ========================================================= */

.m365-security {
    padding: 105px 0;
}

.m365-security-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(58,99,255,.16),transparent 31%),
        linear-gradient(145deg,#09121d,#12172b);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.m365-security h2 {
    max-width: 610px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.m365-security-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.m365-security-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.m365-security-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.m365-security-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.m365-security-list strong {
    color: rgba(242,247,252,.89);
    font-size: 1.08rem;
}


/* =========================================================
   MIGRATIONS
   ========================================================= */

.m365-migrations {
    padding: 110px 0;
}

.m365-migrations-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.m365-migrations h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.m365-migrations-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.m365-migration-path {
    border-top: 1px solid rgba(20,38,60,.12);
}

.m365-migration-path > div {
    display: grid;
    grid-template-columns: 44px 120px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.m365-migration-path span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.m365-migration-path strong {
    font-size: 1rem;
}

.m365-migration-path p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* =========================================================
   HYBRID ISLAND
   ========================================================= */

.m365-hybrid {
    padding: 10px 0 105px;
}

.m365-hybrid-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(94,72,230,.19),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.m365-hybrid h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.m365-hybrid-card > div:last-child {
    align-self: center;
}

.m365-hybrid-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}


/* =========================================================
   RELATED
   ========================================================= */

.m365-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.m365-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.m365-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.m365-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.m365-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.m365-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* =========================================================
   CTA
   ========================================================= */

.m365-cta {
    padding: 100px 0 110px;
}

.m365-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#242151);
}

.m365-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.m365-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.m365-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.m365-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .m365-platform-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .m365-hero-grid,
    .m365-intro-grid,
    .m365-security-card,
    .m365-migrations-grid,
    .m365-hybrid-card {
        grid-template-columns: 1fr;
    }

    .m365-hero-grid,
    .m365-intro-grid,
    .m365-migrations-grid {
        gap: 45px;
    }

    .m365-intro-grid > div:last-child {
        padding-top: 0;
    }

    .m365-security-card,
    .m365-hybrid-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .m365-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    .m365-hero {
        padding: 74px 0 78px;
    }

    .m365-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .m365-console {
        min-height: 470px;
        padding: 24px;
    }

    .m365-console-header {
        flex-direction: column;
        gap: 5px;
    }

    .m365-user-strip {
        left: 24px;
    }

    .m365-activity {
        right: 24px;
        width: 220px;
    }

    .m365-intro,
    .m365-platform,
    .m365-migrations,
    .m365-related {
        padding: 82px 0;
    }

    .m365-platform-grid,
    .m365-related-grid {
        grid-template-columns: 1fr;
    }

    .m365-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .m365-security {
        padding: 80px 0;
    }

    .m365-security-card,
    .m365-hybrid-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .m365-migration-path > div {
        grid-template-columns: 38px 1fr;
    }

    .m365-migration-path p {
        grid-column: 2;
    }

    .m365-hybrid {
        padding-bottom: 80px;
    }

    .m365-cta {
        padding: 80px 0;
    }

    .m365-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .m365-flow-line::after {
        animation: none !important;
    }

}

/* === COMPRO V2.1 MICROSOFT 365 PAGE END === */

/* === COMPRO V2.2 BACKUP PAGE START === */

.backup-page {
    overflow: hidden;
}


/* HERO */

.backup-hero {
    position: relative;
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 79% 35%,rgba(40,124,255,.19),transparent 29%),
        radial-gradient(circle at 91% 72%,rgba(50,177,196,.10),transparent 30%),
        linear-gradient(135deg,#07101a,#0b1420 55%,#0e1b29);
}

.backup-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(440px,.96fr);
    gap: 75px;
    align-items: center;
}

.backup-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.backup-hero h1 span {
    display: block;
    color: #8caed1;
}

.backup-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.backup-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* RECOVERY CONSOLE */

.backup-console {
    position: relative;
    min-height: 495px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 65% 32%,rgba(35,133,255,.13),transparent 36%),
        linear-gradient(145deg,rgba(23,37,56,.95),rgba(9,18,29,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(46,119,255,.08);
}

.backup-console-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.backup-console-header span {
    color: #6fa5ff;
    font-weight: 800;
}

.backup-console-header strong {
    color: #72d39a;
    font-size: .65rem;
}

.backup-recovery-core {
    display: flex;
    gap: 23px;
    align-items: center;
    padding: 29px 0 24px;
}

.backup-ring {
    position: relative;
    width: 98px;
    height: 98px;
    flex: 0 0 auto;
    border: 7px solid rgba(89,149,229,.13);
    border-top-color: #438bf2;
    border-right-color: #6ec8df;
    border-radius: 50%;
    animation: backup-ring-spin 11s linear infinite;
}

.backup-ring span {
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    background:
        radial-gradient(circle,#67a7ff 0 18%,rgba(60,128,231,.17) 20% 100%);
}

.backup-core-copy {
    display: flex;
    flex-direction: column;
}

.backup-core-copy small {
    color: rgba(235,242,249,.4);
    font-size: .61rem;
    letter-spacing: .15em;
}

.backup-core-copy strong {
    margin-top: 4px;
    color: #f1f6fb;
    font-size: 1.4rem;
}

.backup-core-copy span {
    margin-top: 5px;
    color: rgba(233,240,247,.48);
    font-size: .77rem;
}

.backup-status-list {
    display: grid;
    gap: 8px;
}

.backup-status-list > div {
    display: grid;
    grid-template-columns: 10px 112px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.backup-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #71d39a;
    box-shadow: 0 0 8px rgba(113,211,154,.52);
}

.backup-status-list strong {
    color: rgba(240,245,250,.72);
    font-size: .72rem;
}

.backup-status-list em {
    color: #69b0ff;
    font-size: .68rem;
    font-style: normal;
    text-align: right;
}

.backup-event {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    padding: 15px 17px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 11px;
    background: rgba(19,31,48,.74);
}

.backup-event > span {
    display: block;
    color: #6fb1ff;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.backup-event strong {
    display: block;
    margin-top: 5px;
    color: rgba(242,247,252,.85);
    font-size: .82rem;
}

.backup-event small {
    display: block;
    margin-top: 3px;
    color: rgba(235,242,249,.4);
}

.backup-progress {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 102px;
    height: 2px;
    overflow: hidden;
    background: rgba(84,148,230,.10);
}

.backup-progress::after {
    content: "";
    position: absolute;
    left: -30%;
    top: 0;
    width: 30%;
    height: 2px;
    background:
        linear-gradient(90deg,transparent,#67b8ff,#77ddc0,transparent);
    animation: backup-progress-flow 6.5s ease-in-out infinite;
}

@keyframes backup-ring-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes backup-progress-flow {
    0%,
    14% {
        left: -30%;
        opacity: 0;
    }

    24% {
        opacity: 1;
    }

    76% {
        opacity: 1;
    }

    86%,
    100% {
        left: 100%;
        opacity: 0;
    }
}


/* INTRO */

.backup-intro {
    padding: 115px 0 110px;
}

.backup-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.backup-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.backup-intro-grid > div:last-child {
    padding-top: 34px;
}

.backup-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* STRATEGY */

.backup-strategy {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.backup-strategy-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.backup-card {
    position: relative;
    min-height: 360px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.backup-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background:
        radial-gradient(circle,rgba(45,127,225,.07),transparent 68%);
}

.backup-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.backup-card h3 {
    position: relative;
    z-index: 2;
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.backup-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}


/* CARD ICONS */

.backup-icon {
    position: relative;
    width: 68px;
    height: 68px;
}

.backup-icon.local-copy {
    display: grid;
    gap: 6px;
}

.backup-icon.local-copy span {
    position: relative;
    display: block;
    height: 18px;
    border-radius: 5px;
    background: #263b52;
}

.backup-icon.local-copy span::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 6px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #73d39a;
}

.backup-icon.offsite-copy::before {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 7px;
    width: 59px;
    height: 32px;
    border-radius: 18px;
    background: linear-gradient(135deg,#3e8cf0,#55a6df);
}

.backup-icon.offsite-copy::after {
    content: "";
    position: absolute;
    left: 21px;
    top: 8px;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #4895ec;
}

.backup-icon.offsite-copy span {
    position: absolute;
    left: 50%;
    top: 48%;
    z-index: 2;
    width: 20px;
    height: 20px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}

.backup-icon.system-backup span {
    position: absolute;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.backup-icon.system-backup span:first-child {
    left: 2px;
    top: 6px;
    width: 44px;
    height: 36px;
}

.backup-icon.system-backup span:last-child {
    right: 1px;
    bottom: 4px;
    width: 38px;
    height: 31px;
}

.backup-icon.file-restore {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.backup-icon.file-restore::before {
    content: "";
    position: absolute;
    inset: 13px;
    border: 2px solid rgba(67,137,235,.4);
    border-radius: 50%;
}

.backup-icon.file-restore span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11px;
    height: 11px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #4389eb;
}

.backup-icon.virtualization span {
    position: absolute;
    width: 30px;
    height: 30px;
    border: 2px solid #4389eb;
    border-radius: 8px;
}

.backup-icon.virtualization span:first-child {
    left: 7px;
    top: 8px;
}

.backup-icon.virtualization span:last-child {
    right: 7px;
    bottom: 8px;
}

.backup-icon.virtualization::after {
    content: "";
    position: absolute;
    left: 28px;
    top: 34px;
    width: 24px;
    height: 1px;
    transform: rotate(-35deg);
    background: #4389eb;
}

.backup-icon.verification {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.backup-icon.verification span {
    position: absolute;
    left: 21px;
    top: 19px;
    width: 26px;
    height: 15px;
    border-left: 3px solid #71c99c;
    border-bottom: 3px solid #71c99c;
    transform: rotate(-45deg);
}


/* CONTINUITY */

.backup-continuity {
    padding: 105px 0;
}

.backup-continuity-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.backup-continuity h2 {
    max-width: 610px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.backup-continuity-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.backup-continuity-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.backup-continuity-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.backup-continuity-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.backup-continuity-list strong {
    color: rgba(242,247,252,.89);
    font-size: 1.08rem;
}


/* SCENARIOS */

.backup-scenarios {
    padding: 110px 0;
}

.backup-scenarios-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.backup-scenarios h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.backup-scenarios-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.backup-scenario-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.backup-scenario-list > div {
    display: grid;
    grid-template-columns: 44px 175px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.backup-scenario-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.backup-scenario-list strong {
    font-size: 1rem;
}

.backup-scenario-list p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* RESILIENCE */

.backup-resilience {
    padding: 10px 0 105px;
}

.backup-resilience-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(69,114,230,.18),transparent 34%),
        linear-gradient(135deg,#112746,#152035);
}

.backup-resilience h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.backup-resilience-card > div:last-child {
    align-self: center;
}

.backup-resilience-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}

.backup-light-link {
    color: #7cb7ff !important;
}


/* RELATED */

.backup-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.backup-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.backup-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.backup-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.backup-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.backup-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* CTA */

.backup-cta {
    padding: 100px 0 110px;
}

.backup-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#183a4c);
}

.backup-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.backup-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.backup-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.backup-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .backup-strategy-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .backup-hero-grid,
    .backup-intro-grid,
    .backup-continuity-card,
    .backup-scenarios-grid,
    .backup-resilience-card {
        grid-template-columns: 1fr;
    }

    .backup-hero-grid,
    .backup-intro-grid,
    .backup-scenarios-grid {
        gap: 45px;
    }

    .backup-intro-grid > div:last-child {
        padding-top: 0;
    }

    .backup-continuity-card,
    .backup-resilience-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .backup-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .backup-hero {
        padding: 74px 0 78px;
    }

    .backup-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .backup-console {
        min-height: 465px;
        padding: 24px;
    }

    .backup-console-header {
        flex-direction: column;
        gap: 5px;
    }

    .backup-event {
        left: 24px;
        right: 24px;
        bottom: 24px;
    }

    .backup-intro,
    .backup-strategy,
    .backup-scenarios,
    .backup-related {
        padding: 82px 0;
    }

    .backup-strategy-grid,
    .backup-related-grid {
        grid-template-columns: 1fr;
    }

    .backup-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .backup-continuity {
        padding: 80px 0;
    }

    .backup-continuity-card,
    .backup-resilience-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .backup-scenario-list > div {
        grid-template-columns: 38px 1fr;
    }

    .backup-scenario-list p {
        grid-column: 2;
    }

    .backup-resilience {
        padding-bottom: 80px;
    }

    .backup-cta {
        padding: 80px 0;
    }

    .backup-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .backup-ring,
    .backup-progress::after {
        animation: none !important;
    }

}

/* === COMPRO V2.2 BACKUP PAGE END === */

/* === COMPRO V2.2.2 BACKUP ICON STANDARDIZATION START === */

.backup-card .backup-icon {
    position: relative;
    width: 82px;
    height: 82px;
    margin: 0 0 26px 0;
}

.backup-card h3 {
    margin-top: 0;
}


/* shared icon visual language */

.backup-card .backup-icon::before,
.backup-card .backup-icon::after,
.backup-card .backup-icon span {
    box-sizing: border-box;
}


/* 01 LOCAL RECOVERY */

.backup-icon.local-copy {
    display: block;
}

.backup-icon.local-copy::before,
.backup-icon.local-copy::after {
    content: "";
    position: absolute;
    left: 7px;
    width: 68px;
    height: 24px;
    border-radius: 7px;
    background:
        linear-gradient(
            180deg,
            #2c435c,
            #1e3043
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05);
}

.backup-icon.local-copy::before {
    top: 13px;
}

.backup-icon.local-copy::after {
    top: 45px;
}

.backup-icon.local-copy span {
    display: none;
}

.backup-icon.local-copy span:first-child,
.backup-icon.local-copy span:nth-child(2) {
    display: block;
    position: absolute;
    z-index: 2;
    left: 18px;
    width: 7px;
    height: 7px;
    border: 0;
    border-radius: 50%;
    background: #70d39a;
    box-shadow: 0 0 7px rgba(112,211,154,.45);
}

.backup-icon.local-copy span:first-child {
    top: 22px;
}

.backup-icon.local-copy span:nth-child(2) {
    top: 54px;
}

.backup-icon.local-copy span:nth-child(3) {
    display: block;
    position: absolute;
    z-index: 2;
    right: 17px;
    top: 22px;
    width: 28px;
    height: 4px;
    border: 0;
    border-radius: 999px;
    background: #579ee8;
    box-shadow:
        0 32px 0 #579ee8;
}


/* 02 OFFSITE PROTECTION */

.backup-icon.offsite-copy::before {
    content: "";
    position: absolute;
    left: 8px;
    bottom: 12px;
    width: 67px;
    height: 36px;
    border-radius: 22px;
    background:
        linear-gradient(
            135deg,
            #3b8cf0,
            #569fec
        );
    box-shadow:
        0 10px 18px rgba(58,132,225,.14);
}

.backup-icon.offsite-copy::after {
    content: "";
    position: absolute;
    left: 27px;
    top: 11px;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background:
        linear-gradient(
            145deg,
            #4e98f1,
            #438de8
        );
}

.backup-icon.offsite-copy span {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 49%;
    width: 25px;
    height: 25px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
    background: transparent;
}


/* 03 SYSTEM-LEVEL BACKUP */

.backup-icon.system-backup {
    display: block;
}

.backup-icon.system-backup::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 8px;
    width: 58px;
    height: 59px;
    border-radius: 8px;
    background:
        repeating-linear-gradient(
            to bottom,
            #263c54 0,
            #263c54 14px,
            #182a3d 14px,
            #182a3d 19px
        );
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04);
}

.backup-icon.system-backup::after {
    content: "";
    position: absolute;
    right: 1px;
    bottom: 3px;
    width: 31px;
    height: 31px;
    border: 3px solid #4b91ed;
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 7px 16px rgba(67,137,235,.12);
}

.backup-icon.system-backup span {
    display: none;
}

.backup-icon.system-backup span:first-child {
    display: block;
    position: absolute;
    z-index: 3;
    right: 10px;
    bottom: 12px;
    width: 12px;
    height: 7px;
    border: 0;
    border-left: 3px solid #58bd87;
    border-bottom: 3px solid #58bd87;
    transform: rotate(-45deg);
    background: transparent;
}


/* 04 FILE & DATA RECOVERY */

.backup-icon.file-restore {
    border: 0;
    border-radius: 0;
}

.backup-icon.file-restore::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 6px;
    width: 46px;
    height: 59px;
    border: 2px solid #458ced;
    border-radius: 7px;
    background: #fff;
}

.backup-icon.file-restore::after {
    content: "↶";
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 1px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background:
        linear-gradient(
            145deg,
            #438cf0,
            #367ee8
        );
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    box-shadow:
        0 7px 16px rgba(67,137,235,.16);
}

.backup-icon.file-restore span {
    display: none;
}


/* 05 VIRTUALIZATION & RECOVERY */

.backup-icon.virtualization {
    display: block;
}

.backup-icon.virtualization span {
    position: absolute;
    width: 38px;
    height: 31px;
    border: 2px solid #458ced;
    border-radius: 8px;
    background: #fff;
    box-shadow:
        0 6px 12px rgba(67,137,235,.08);
}

.backup-icon.virtualization span:first-child {
    left: 5px;
    top: 8px;
}

.backup-icon.virtualization span:last-child {
    right: 5px;
    bottom: 8px;
}

.backup-icon.virtualization::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 39px;
    width: 23px;
    height: 2px;
    transform: rotate(-34deg);
    background: #458ced;
}

.backup-icon.virtualization::after {
    content: "";
    position: absolute;
    left: 39px;
    top: 34px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow:
        0 0 7px rgba(112,211,154,.4);
}


/* 06 VERIFICATION & MONITORING */

.backup-icon.verification {
    border: 0;
    border-radius: 0;
}

.backup-icon.verification::before {
    content: "";
    position: absolute;
    inset: 4px;
    border: 2px solid #4b91ed;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(67,137,235,.06),
            transparent 70%
        );
}

.backup-icon.verification::after {
    content: "";
    position: absolute;
    inset: 15px;
    border: 1px solid rgba(67,137,235,.2);
    border-radius: 50%;
}

.backup-icon.verification span {
    position: absolute;
    z-index: 2;
    left: 27px;
    top: 29px;
    width: 29px;
    height: 16px;
    border: 0;
    border-left: 4px solid #58bd87;
    border-bottom: 4px solid #58bd87;
    transform: rotate(-45deg);
    background: transparent;
}


/* keep everything aligned consistently */

.backup-card {
    display: flex;
    flex-direction: column;
}

.backup-card .backup-number {
    margin-bottom: 28px;
}

.backup-card .backup-icon {
    flex: 0 0 82px;
}

.backup-card h3 {
    min-height: 0;
}

/* === COMPRO V2.2.2 BACKUP ICON STANDARDIZATION END === */

/* === COMPRO V2.3 NETWORKING PAGE START === */

.network-page {
    overflow: hidden;
}


/* HERO */

.network-hero {
    position: relative;
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 78% 35%,rgba(46,125,255,.19),transparent 29%),
        radial-gradient(circle at 91% 70%,rgba(47,162,211,.11),transparent 30%),
        linear-gradient(135deg,#07101a,#0a1420 55%,#0e1a29);
}

.network-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(460px,.96fr);
    gap: 75px;
    align-items: center;
}

.network-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.network-hero h1 span {
    display: block;
    color: #8eaed1;
}

.network-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.network-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* TOPOLOGY */

.network-topology {
    position: relative;
    min-height: 500px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 56% 44%,rgba(45,123,255,.13),transparent 38%),
        linear-gradient(145deg,rgba(22,37,56,.96),rgba(9,18,29,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(46,119,255,.08);
}

.network-topology-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.network-topology-head span {
    color: #6fa5ff;
    font-weight: 800;
}

.network-topology-head strong {
    color: #72d39a;
    font-size: .65rem;
}

.topology-canvas {
    position: relative;
    height: 310px;
}

.topology-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 62px;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(146,181,218,.22);
    border-radius: 12px;
    background:
        linear-gradient(180deg,#273c52,#172638);
    box-shadow:
        0 18px 35px rgba(0,0,0,.28),
        0 0 38px rgba(46,125,255,.11);
}

.core-light {
    position: absolute;
    right: 15px;
    top: 14px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow: 0 0 8px rgba(112,211,154,.5);
}

.topology-ports {
    position: absolute;
    left: 16px;
    bottom: 14px;
    display: flex;
    gap: 7px;
}

.topology-ports i {
    display: block;
    width: 10px;
    height: 7px;
    border-radius: 2px;
    background: #63b7ed;
}

.topology-ports i:nth-child(3),
.topology-ports i:nth-child(6) {
    background: #70d39a;
}

.topology-node {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 7px;
    color: rgba(239,245,250,.64);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .08em;
}

.topology-node span {
    width: 13px;
    height: 13px;
    border: 2px solid #579bee;
    border-radius: 50%;
    background: #142438;
}

.node-wan {
    left: 7%;
    top: 17%;
}

.node-server {
    right: 4%;
    top: 21%;
}

.node-users {
    left: 9%;
    bottom: 16%;
}

.node-wifi {
    right: 7%;
    bottom: 15%;
}

.topology-line {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 1px;
    transform-origin: left center;
    background:
        linear-gradient(90deg,rgba(75,142,231,.55),rgba(75,142,231,.08));
}

.line-wan {
    width: 180px;
    transform: rotate(212deg);
}

.line-server {
    width: 180px;
    transform: rotate(-31deg);
}

.line-users {
    width: 175px;
    transform: rotate(147deg);
}

.line-wifi {
    width: 175px;
    transform: rotate(32deg);
}

.topology-packet {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #65aff5;
    box-shadow: 0 0 10px rgba(101,175,245,.6);
}

.packet-one {
    left: 24%;
    top: 34%;
    animation: network-packet-one 6.5s ease-in-out infinite;
}

.packet-two {
    right: 25%;
    top: 38%;
    animation: network-packet-two 8s ease-in-out infinite;
}

.packet-three {
    right: 27%;
    bottom: 27%;
    animation: network-packet-three 7.2s ease-in-out infinite;
}

@keyframes network-packet-one {
    0%, 18%, 100% {
        transform: translate(0,0);
        opacity: 0;
    }

    28% {
        opacity: 1;
    }

    72% {
        opacity: 1;
    }

    82% {
        transform: translate(86px,54px);
        opacity: 0;
    }
}

@keyframes network-packet-two {
    0%, 20%, 100% {
        transform: translate(0,0);
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    86% {
        transform: translate(-87px,49px);
        opacity: 0;
    }
}

@keyframes network-packet-three {
    0%, 14%, 100% {
        transform: translate(0,0);
        opacity: 0;
    }

    24% {
        opacity: 1;
    }

    73% {
        opacity: 1;
    }

    84% {
        transform: translate(-85px,-48px);
        opacity: 0;
    }
}

.network-topology-status {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.network-topology-status > div {
    padding: 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.network-topology-status span {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.network-topology-status strong,
.network-topology-status em {
    display: block;
}

.network-topology-status strong {
    color: rgba(240,245,250,.7);
    font-size: .7rem;
}

.network-topology-status em {
    margin-top: 3px;
    color: #6aa9f5;
    font-size: .63rem;
    font-style: normal;
}


/* INTRO */

.network-intro {
    padding: 115px 0 110px;
}

.network-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.network-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.network-intro-grid > div:last-child {
    padding-top: 34px;
}

.network-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* PLATFORM */

.network-platform {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.network-platform-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.network-card {
    position: relative;
    min-height: 360px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.network-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.network-card h3 {
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.network-card p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}


/* ICONS */

.network-icon {
    position: relative;
    width: 78px;
    height: 72px;
}

.switching-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 78px;
    height: 46px;
    margin-top: 13px;
    border-radius: 9px;
    background: #243a50;
}

.switching-icon span {
    width: 8px;
    height: 7px;
    border-radius: 2px;
    background: #62b5eb;
}

.switching-icon span:nth-child(3) {
    background: #70d39a;
}

.wireless-icon::before,
.wireless-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-color: #4389eb transparent transparent transparent;
    border-radius: 50%;
}

.wireless-icon::before {
    width: 64px;
    height: 64px;
}

.wireless-icon::after {
    width: 40px;
    height: 40px;
    bottom: 5px;
}

.wireless-icon span {
    position: absolute;
    left: 50%;
    bottom: 7px;
    width: 11px;
    height: 11px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #4389eb;
}

.firewall-icon {
    width: 68px;
    height: 72px;
    border-radius: 18px 18px 25px 25px;
    background: linear-gradient(145deg,#3385f0,#4059e8);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.firewall-icon span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 21px;
    height: 21px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}

.segmentation-icon span {
    position: absolute;
    width: 24px;
    height: 24px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.segmentation-icon span:nth-child(1) {
    left: 26px;
    top: 2px;
}

.segmentation-icon span:nth-child(2) {
    left: 2px;
    bottom: 5px;
}

.segmentation-icon span:nth-child(3) {
    right: 2px;
    bottom: 5px;
}

.segmentation-icon::before,
.segmentation-icon::after {
    content: "";
    position: absolute;
    left: 38px;
    top: 26px;
    width: 1px;
    height: 35px;
    transform-origin: top;
    background: rgba(67,137,235,.35);
}

.segmentation-icon::before {
    transform: rotate(40deg);
}

.segmentation-icon::after {
    transform: rotate(-40deg);
}

.vpn-icon {
    width: 70px;
    height: 52px;
    margin-top: 9px;
    border: 2px solid #4389eb;
    border-radius: 8px;
}

.vpn-icon::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 12px;
    width: 20px;
    height: 15px;
    border: 2px solid #4389eb;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.vpn-icon span {
    position: absolute;
    left: 26px;
    bottom: 8px;
    width: 16px;
    height: 17px;
    border-radius: 4px;
    background: #4389eb;
}

.wan-icon span {
    position: absolute;
    top: 23px;
    width: 25px;
    height: 25px;
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.wan-icon span:first-child {
    left: 2px;
}

.wan-icon span:last-child {
    right: 2px;
}

.wan-icon::before {
    content: "";
    position: absolute;
    left: 25px;
    top: 35px;
    width: 29px;
    height: 2px;
    background: #4389eb;
}

.wan-icon::after {
    content: "";
    position: absolute;
    left: 35px;
    top: 32px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #70d39a;
}


/* SECURITY */

.network-security {
    padding: 105px 0;
}

.network-security-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.network-security h2 {
    max-width: 610px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.network-security-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.network-security-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.network-security-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    align-items: center;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.network-security-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.network-security-list strong {
    color: rgba(242,247,252,.89);
    font-size: 1.08rem;
}


/* WIRELESS */

.network-wireless {
    padding: 110px 0;
}

.network-wireless-grid {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 85px;
    align-items: center;
}

.network-wireless h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.network-wireless-grid > div:first-child > p {
    max-width: 560px;
    color: #65717e;
    line-height: 1.68;
}

.network-wireless-visual {
    position: relative;
    min-height: 330px;
}

.wireless-ap {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: 82px;
    height: 82px;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(49,112,195,.15);
    border-radius: 50%;
    background: #fff;
    box-shadow:
        0 20px 40px rgba(32,54,79,.1),
        0 0 0 10px rgba(63,137,235,.04);
}

.wireless-ap span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 14px;
    transform: translate(-50%,-50%);
    border-radius: 50%;
    background: #4389eb;
}

.wireless-ring {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(67,137,235,.16);
    border-radius: 50%;
}

.wireless-ring.ring-one {
    width: 150px;
    height: 150px;
}

.wireless-ring.ring-two {
    width: 230px;
    height: 230px;
}

.wireless-ring.ring-three {
    width: 310px;
    height: 310px;
}

.wireless-client {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #4c94ef;
    box-shadow: 0 0 10px rgba(76,148,239,.3);
}

.client-one {
    left: 16%;
    top: 30%;
}

.client-two {
    right: 15%;
    top: 38%;
}

.client-three {
    left: 33%;
    bottom: 8%;
}

.network-wireless-points {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-top: 55px;
}

.network-wireless-points > div {
    padding-top: 20px;
    border-top: 1px solid rgba(20,38,60,.12);
}

.network-wireless-points span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.network-wireless-points strong {
    display: block;
    margin-top: 15px;
    font-size: 1.2rem;
}

.network-wireless-points p {
    margin: 9px 0 0;
    color: #65717e;
    line-height: 1.58;
}


/* MULTI-SITE */

.network-sites {
    padding: 10px 0 105px;
}

.network-sites-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(60,124,229,.18),transparent 34%),
        linear-gradient(135deg,#112746,#152035);
}

.network-sites h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.network-sites-card > div:last-child {
    align-self: center;
}

.network-sites-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}


/* LIFECYCLE */

.network-lifecycle {
    padding: 110px 0;
}

.network-lifecycle-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.network-lifecycle h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.network-lifecycle-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.network-lifecycle-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.network-lifecycle-list > div {
    display: grid;
    grid-template-columns: 44px 110px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.network-lifecycle-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.network-lifecycle-list strong {
    font-size: 1rem;
}

.network-lifecycle-list p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* RELATED */

.network-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.network-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.network-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.network-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.network-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.network-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* CTA */

.network-cta {
    padding: 100px 0 110px;
}

.network-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#18394d);
}

.network-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.network-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.network-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.network-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .network-platform-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .network-hero-grid,
    .network-intro-grid,
    .network-security-card,
    .network-wireless-grid,
    .network-sites-card,
    .network-lifecycle-grid {
        grid-template-columns: 1fr;
    }

    .network-hero-grid,
    .network-intro-grid,
    .network-wireless-grid,
    .network-lifecycle-grid {
        gap: 45px;
    }

    .network-intro-grid > div:last-child {
        padding-top: 0;
    }

    .network-security-card,
    .network-sites-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .network-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .network-hero {
        padding: 74px 0 78px;
    }

    .network-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .network-topology {
        min-height: 480px;
        padding: 24px;
    }

    .network-topology-head {
        flex-direction: column;
        gap: 5px;
    }

    .network-topology-status {
        grid-template-columns: 1fr;
    }

    .network-intro,
    .network-platform,
    .network-wireless,
    .network-lifecycle,
    .network-related {
        padding: 82px 0;
    }

    .network-platform-grid,
    .network-related-grid {
        grid-template-columns: 1fr;
    }

    .network-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .network-security {
        padding: 80px 0;
    }

    .network-security-card,
    .network-sites-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .network-wireless-points {
        grid-template-columns: 1fr;
    }

    .network-sites {
        padding-bottom: 80px;
    }

    .network-lifecycle-list > div {
        grid-template-columns: 38px 1fr;
    }

    .network-lifecycle-list p {
        grid-column: 2;
    }

    .network-cta {
        padding: 80px 0;
    }

    .network-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .topology-packet {
        animation: none !important;
    }

}

/* === COMPRO V2.3 NETWORKING PAGE END === */

/* === COMPRO V2.4 SERVERS PAGE START === */

.server-page {
    overflow: hidden;
}


/* HERO */

.server-hero {
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 79% 34%,rgba(49,121,255,.18),transparent 29%),
        radial-gradient(circle at 91% 72%,rgba(88,76,224,.12),transparent 30%),
        linear-gradient(135deg,#07101a,#0a1420 55%,#111625);
}

.server-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(450px,.96fr);
    gap: 75px;
    align-items: center;
}

.server-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.server-hero h1 span {
    display: block;
    color: #8ca9ce;
}

.server-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.server-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* SERVER CONSOLE */

.server-console {
    position: relative;
    min-height: 500px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 64% 31%,rgba(50,119,255,.13),transparent 37%),
        linear-gradient(145deg,rgba(23,37,56,.96),rgba(9,18,29,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(46,119,255,.08);
}

.server-console-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.server-console-head span {
    color: #6fa5ff;
    font-weight: 800;
}

.server-console-head strong {
    color: #72d39a;
    font-size: .65rem;
}

.server-rack {
    display: grid;
    gap: 8px;
    width: 245px;
    margin: 34px auto 26px;
}

.server-unit {
    position: relative;
    height: 47px;
    border: 1px solid rgba(144,179,215,.18);
    border-radius: 8px;
    background:
        linear-gradient(180deg,#293e55,#192a3c);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04);
}

.server-unit > span {
    position: absolute;
    left: 14px;
    top: 19px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow: 0 0 8px rgba(112,211,154,.45);
}

.server-unit i {
    position: absolute;
    top: 20px;
    width: 28px;
    height: 4px;
    border-radius: 999px;
    background: #548fd0;
}

.server-unit i:nth-of-type(1) {
    right: 84px;
}

.server-unit i:nth-of-type(2) {
    right: 49px;
}

.server-unit i:nth-of-type(3) {
    right: 14px;
}

.server-health {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 8px;
}

.server-health > div {
    padding: 11px 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.server-health span {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.server-health strong,
.server-health em {
    display: block;
}

.server-health strong {
    color: rgba(240,245,250,.72);
    font-size: .69rem;
}

.server-health em {
    margin-top: 3px;
    color: #6daaf5;
    font-size: .62rem;
    font-style: normal;
}

.server-vm-strip {
    position: absolute;
    left: 30px;
    bottom: 27px;
    display: flex;
    gap: 8px;
}

.server-vm-strip div {
    min-width: 74px;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 8px;
    color: rgba(235,241,247,.56);
    background: rgba(18,30,46,.78);
    font-size: .61rem;
}

.server-vm-strip span {
    display: block;
    margin-bottom: 3px;
    color: #6fa5ff;
    font-size: .56rem;
    font-weight: 800;
}

.server-pulse {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 91px;
    height: 1px;
    overflow: hidden;
    background: rgba(83,145,229,.1);
}

.server-pulse::after {
    content: "";
    position: absolute;
    left: -25%;
    width: 25%;
    height: 1px;
    background:
        linear-gradient(90deg,transparent,#69b7ff,transparent);
    animation: server-pulse 6.5s ease-in-out infinite;
}

@keyframes server-pulse {
    0%,
    15% {
        left: -25%;
        opacity: 0;
    }

    25% {
        opacity: 1;
    }

    75% {
        opacity: 1;
    }

    86%,
    100% {
        left: 100%;
        opacity: 0;
    }
}


/* INTRO */

.server-intro {
    padding: 115px 0 110px;
}

.server-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.server-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.server-intro-grid > div:last-child {
    padding-top: 34px;
}

.server-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* PLATFORM */

.server-platform {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.server-platform-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.server-card {
    min-height: 360px;
    padding: 36px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.server-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.server-card h3 {
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.server-card p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.server-icon {
    position: relative;
    width: 78px;
    height: 72px;
}


/* HARDWARE */

.hardware-icon {
    display: grid;
    gap: 6px;
}

.hardware-icon span {
    position: relative;
    height: 18px;
    border-radius: 5px;
    background: #263b52;
}

.hardware-icon span::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 6px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #70d39a;
}


/* HYPER-V */

.hyperv-icon span {
    position: absolute;
    width: 39px;
    height: 32px;
    border: 2px solid #4389eb;
    border-radius: 8px;
    background: #fff;
}

.hyperv-icon span:first-child {
    left: 4px;
    top: 7px;
}

.hyperv-icon span:last-child {
    right: 4px;
    bottom: 7px;
}

.hyperv-icon::after {
    content: "";
    position: absolute;
    left: 34px;
    top: 35px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #70d39a;
}


/* WINDOWS */

.windows-icon {
    display: grid;
    grid-template-columns: repeat(2,27px);
    grid-template-rows: repeat(2,27px);
    gap: 5px;
    padding: 5px;
}

.windows-icon span {
    display: block;
    background: #4389eb;
}

.windows-icon span:nth-child(1) {
    border-radius: 7px 2px 2px 2px;
}

.windows-icon span:nth-child(2) {
    border-radius: 2px 7px 2px 2px;
}

.windows-icon span:nth-child(3) {
    border-radius: 2px 2px 2px 7px;
}

.windows-icon span:nth-child(4) {
    border-radius: 2px 2px 7px 2px;
}


/* STORAGE */

.storage-icon span {
    position: absolute;
    left: 6px;
    width: 66px;
    height: 26px;
    border-radius: 7px;
    background:
        linear-gradient(180deg,#2b4158,#1d3043);
}

.storage-icon span:first-child {
    top: 8px;
}

.storage-icon span:last-child {
    bottom: 8px;
}

.storage-icon::before,
.storage-icon::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 16px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.storage-icon::before {
    top: 18px;
}

.storage-icon::after {
    bottom: 18px;
}


/* MONITORING */

.monitoring-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.monitoring-icon::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 35px;
    width: 51px;
    height: 2px;
    background: rgba(67,137,235,.25);
}

.monitoring-icon::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 33px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #70d39a;
    box-shadow:
        18px -13px 0 #4389eb,
        36px 8px 0 #4389eb;
}

.monitoring-icon span {
    display: none;
}


/* LIFECYCLE */

.lifecycle-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.lifecycle-icon::before {
    content: "";
    position: absolute;
    inset: 13px;
    border: 2px solid rgba(67,137,235,.25);
    border-radius: 50%;
}

.lifecycle-icon::after {
    content: "↻";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4389eb;
    font-size: 31px;
    font-weight: 700;
}

.lifecycle-icon span {
    display: none;
}


/* MONITORING ISLAND */

.server-monitoring {
    padding: 105px 0;
}

.server-monitoring-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.server-monitoring h2 {
    max-width: 610px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.server-monitoring-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.server-monitoring-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.server-monitoring-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.server-monitoring-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.server-monitoring-list strong {
    color: rgba(242,247,252,.89);
}


/* VIRTUALIZATION */

.server-virtualization {
    padding: 110px 0;
}

.server-virtualization-grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 90px;
    align-items: center;
}

.server-virtualization h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.server-virtualization p {
    max-width: 580px;
    color: #65717e;
    line-height: 1.68;
}

.server-vm-visual {
    display: flex;
    justify-content: center;
}

.vm-host {
    width: min(100%,540px);
    padding: 30px;
    border: 1px solid rgba(25,55,91,.09);
    border-radius: 26px;
    background:
        linear-gradient(145deg,#f8fafc,#eef3f8);
}

.vm-host-label {
    margin-bottom: 20px;
    color: #3477e6;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.vm-box {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: center;
    margin-top: 10px;
    padding: 17px;
    border: 1px solid rgba(27,54,85,.08);
    border-radius: 11px;
    background: #fff;
    color: #293949;
    font-weight: 700;
}

.vm-box span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 28px;
    border-radius: 6px;
    color: #fff;
    background: #4389eb;
    font-size: .6rem;
    letter-spacing: .08em;
}


/* RECOVERY */

.server-recovery {
    padding: 10px 0 105px;
}

.server-recovery-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(73,108,230,.18),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.server-recovery h2 {
    max-width: 650px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.server-recovery-card > div:last-child {
    align-self: center;
}

.server-recovery-card p {
    margin: 0 0 23px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}

.server-light-link {
    color: #7cb7ff !important;
}


/* LIFECYCLE */

.server-lifecycle {
    padding: 110px 0;
}

.server-lifecycle-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.server-lifecycle h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.server-lifecycle-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.server-lifecycle-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.server-lifecycle-list > div {
    display: grid;
    grid-template-columns: 44px 110px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.server-lifecycle-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.server-lifecycle-list strong {
    font-size: 1rem;
}

.server-lifecycle-list p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* RELATED */

.server-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.server-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.server-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition:
        transform .22s ease,
        box-shadow .22s ease;
}

.server-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.server-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.server-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* CTA */

.server-cta {
    padding: 100px 0 110px;
}

.server-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#26214f);
}

.server-cta h2 {
    max-width: 730px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.server-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.server-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.server-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .server-platform-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .server-hero-grid,
    .server-intro-grid,
    .server-monitoring-card,
    .server-virtualization-grid,
    .server-recovery-card,
    .server-lifecycle-grid {
        grid-template-columns: 1fr;
    }

    .server-hero-grid,
    .server-intro-grid,
    .server-virtualization-grid,
    .server-lifecycle-grid {
        gap: 45px;
    }

    .server-intro-grid > div:last-child {
        padding-top: 0;
    }

    .server-monitoring-card,
    .server-recovery-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .server-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .server-hero {
        padding: 74px 0 78px;
    }

    .server-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .server-console {
        min-height: 500px;
        padding: 24px;
    }

    .server-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .server-intro,
    .server-platform,
    .server-virtualization,
    .server-lifecycle,
    .server-related {
        padding: 82px 0;
    }

    .server-platform-grid,
    .server-related-grid {
        grid-template-columns: 1fr;
    }

    .server-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .server-monitoring {
        padding: 80px 0;
    }

    .server-monitoring-card,
    .server-recovery-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .server-recovery {
        padding-bottom: 80px;
    }

    .server-lifecycle-list > div {
        grid-template-columns: 38px 1fr;
    }

    .server-lifecycle-list p {
        grid-column: 2;
    }

    .server-cta {
        padding: 80px 0;
    }

    .server-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {

    .server-pulse::after {
        animation: none !important;
    }

}

/* === COMPRO V2.4 SERVERS PAGE END === */

/* === COMPRO V2.5 PROJECTS PAGE START === */

.projects-page {
    overflow: hidden;
}


/* HERO */

.projects-hero {
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 78% 34%,rgba(52,119,255,.18),transparent 29%),
        radial-gradient(circle at 91% 72%,rgba(108,70,229,.13),transparent 30%),
        linear-gradient(135deg,#07101a,#0b1420 55%,#151628);
}

.projects-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(450px,.96fr);
    gap: 75px;
    align-items: center;
}

.projects-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.projects-hero h1 span {
    display: block;
    color: #95a8d3;
}

.projects-hero-copy > p {
    max-width: 700px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.projects-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* PROJECT CONSOLE */

.projects-console {
    position: relative;
    min-height: 500px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 66% 31%,rgba(59,105,255,.14),transparent 37%),
        linear-gradient(145deg,rgba(23,36,57,.96),rgba(10,17,30,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(67,83,255,.08);
}

.projects-console-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.projects-console-head span {
    color: #789fff;
    font-weight: 800;
}

.projects-console-head strong {
    color: #73d39a;
    font-size: .65rem;
}

.projects-path {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 52px 0 44px;
}

.project-node {
    position: relative;
    z-index: 2;
    width: 78px;
    text-align: center;
}

.project-node > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 8px;
    border: 2px solid rgba(111,157,238,.3);
    border-radius: 50%;
    color: rgba(235,242,249,.45);
    background: #142338;
    font-size: .66rem;
    font-weight: 800;
}

.project-node strong {
    color: rgba(239,245,250,.45);
    font-size: .66rem;
}

.project-node.complete > span {
    border-color: #68b68b;
    color: #fff;
    background: #3b8f67;
}

.project-node.complete strong {
    color: rgba(239,245,250,.75);
}

.project-node.current > span {
    border-color: #5599f5;
    color: #fff;
    background: #4389eb;
    box-shadow: 0 0 22px rgba(67,137,235,.28);
}

.project-node.current strong {
    color: #fff;
}

.project-line {
    width: 50px;
    height: 2px;
    margin: -22px -3px 0;
    background: rgba(111,157,238,.14);
}

.project-line.active {
    background: #518fe7;
}

.projects-status {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 8px;
}

.projects-status > div {
    padding: 11px 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.projects-status span {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.projects-status strong,
.projects-status em {
    display: block;
}

.projects-status strong {
    color: rgba(240,245,250,.71);
    font-size: .69rem;
}

.projects-status em {
    margin-top: 3px;
    color: #76a9f5;
    font-size: .62rem;
    font-style: normal;
}

.projects-progress {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 34px;
    height: 3px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
}

.projects-progress span {
    position: absolute;
    inset: 0;
    width: 67%;
    border-radius: inherit;
    background: linear-gradient(90deg,#4389eb,#6e76ef);
}

.projects-progress span::after {
    content: "";
    position: absolute;
    right: 0;
    top: -2px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 10px rgba(105,161,245,.8);
}


/* INTRO */

.projects-intro {
    padding: 115px 0 110px;
}

.projects-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.projects-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.projects-intro-grid > div:last-child {
    padding-top: 34px;
}

.projects-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* PROJECT TYPES */

.projects-types {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.projects-types-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.projects-card {
    min-height: 360px;
    padding: 36px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.projects-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.projects-card h3 {
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.projects-card p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.projects-icon {
    position: relative;
    width: 78px;
    height: 72px;
}


/* CLOUD MIGRATION */

.cloud-migration-icon::before {
    content: "";
    position: absolute;
    left: 5px;
    bottom: 10px;
    width: 62px;
    height: 34px;
    border-radius: 20px;
    background: linear-gradient(135deg,#3d8df0,#5a73ed);
}

.cloud-migration-icon::after {
    content: "";
    position: absolute;
    left: 24px;
    top: 9px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #4a89ef;
}

.cloud-migration-icon span {
    position: absolute;
    z-index: 2;
    left: 28px;
    top: 31px;
    width: 28px;
    height: 2px;
    background: #fff;
}

.cloud-migration-icon span::after {
    content: "";
    position: absolute;
    right: -1px;
    top: -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}


/* SERVER MIGRATION */

.server-migration-icon span {
    position: absolute;
    width: 47px;
    height: 24px;
    border-radius: 6px;
    background: #263b52;
}

.server-migration-icon span:first-child {
    left: 3px;
    top: 10px;
}

.server-migration-icon span:last-child {
    right: 3px;
    bottom: 9px;
}

.server-migration-icon::after {
    content: "";
    position: absolute;
    left: 31px;
    top: 34px;
    width: 20px;
    height: 2px;
    transform: rotate(-33deg);
    background: #4389eb;
}


/* NETWORK */

.network-project-icon span {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: #4389eb;
}

.network-project-icon span:nth-child(1) {
    left: 29px;
    top: 2px;
}

.network-project-icon span:nth-child(2) {
    left: 6px;
    bottom: 6px;
}

.network-project-icon span:nth-child(3) {
    right: 6px;
    bottom: 6px;
}

.network-project-icon::before,
.network-project-icon::after {
    content: "";
    position: absolute;
    left: 39px;
    top: 23px;
    width: 1px;
    height: 35px;
    transform-origin: top;
    background: rgba(67,137,235,.4);
}

.network-project-icon::before {
    transform: rotate(39deg);
}

.network-project-icon::after {
    transform: rotate(-39deg);
}


/* IDENTITY */

.identity-project-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.identity-project-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 12px;
    width: 17px;
    height: 17px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.identity-project-icon span {
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 37px;
    height: 19px;
    transform: translateX(-50%);
    border: 2px solid #4389eb;
    border-radius: 20px 20px 7px 7px;
}


/* SECURITY */

.security-project-icon {
    width: 68px;
    height: 72px;
    background: linear-gradient(145deg,#3385f0,#4b58e8);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.security-project-icon span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 21px;
    height: 21px;
    transform: translate(-50%,-50%);
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
}


/* TRANSITION */

.transition-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.transition-icon::before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 2px solid rgba(67,137,235,.25);
    border-radius: 50%;
}

.transition-icon::after {
    content: "→";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4389eb;
    font-size: 31px;
    font-weight: 700;
}

.transition-icon span {
    display: none;
}


/* PROCESS */

.projects-process {
    padding: 105px 0;
}

.projects-process-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(49,100,255,.16),transparent 31%),
        linear-gradient(145deg,#09121d,#11172a);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.projects-process h2 {
    max-width: 620px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.projects-process-card p {
    max-width: 540px;
    margin: 0;
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.projects-process-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.projects-process-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.projects-process-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.projects-process-list strong {
    color: rgba(242,247,252,.89);
}


/* CUTOVER */

.projects-cutover {
    padding: 110px 0;
}

.projects-cutover-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.projects-cutover h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.projects-cutover-grid > div:first-child > p {
    max-width: 570px;
    color: #65717e;
    line-height: 1.68;
}

.projects-cutover-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.projects-cutover-list > div {
    display: grid;
    grid-template-columns: 44px 110px 1fr;
    gap: 16px;
    padding: 23px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.projects-cutover-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.projects-cutover-list p {
    margin: 0;
    color: #65717e;
    line-height: 1.55;
}


/* RISK */

.projects-risk {
    padding: 10px 0 105px;
}

.projects-risk-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(94,72,230,.18),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.projects-risk h2 {
    max-width: 675px;
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.projects-risk-card > div:last-child {
    align-self: center;
}

.projects-risk-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}


/* RELATED */

.projects-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.projects-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.projects-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.projects-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.projects-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.projects-related-grid strong {
    font-size: 1.35rem;
    letter-spacing: -.025em;
}


/* CTA */

.projects-cta {
    padding: 100px 0 110px;
}

.projects-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#26214f);
}

.projects-cta h2 {
    max-width: 760px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.projects-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.projects-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.projects-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .projects-types-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .projects-hero-grid,
    .projects-intro-grid,
    .projects-process-card,
    .projects-cutover-grid,
    .projects-risk-card {
        grid-template-columns: 1fr;
    }

    .projects-hero-grid,
    .projects-intro-grid,
    .projects-cutover-grid {
        gap: 45px;
    }

    .projects-intro-grid > div:last-child {
        padding-top: 0;
    }

    .projects-process-card,
    .projects-risk-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .projects-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .projects-hero {
        padding: 74px 0 78px;
    }

    .projects-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .projects-console {
        min-height: 500px;
        padding: 24px;
    }

    .projects-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .projects-path {
        transform: scale(.84);
        transform-origin: center;
    }

    .projects-intro,
    .projects-types,
    .projects-cutover,
    .projects-related {
        padding: 82px 0;
    }

    .projects-types-grid,
    .projects-related-grid {
        grid-template-columns: 1fr;
    }

    .projects-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .projects-process {
        padding: 80px 0;
    }

    .projects-process-card,
    .projects-risk-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .projects-cutover-list > div {
        grid-template-columns: 38px 1fr;
    }

    .projects-cutover-list p {
        grid-column: 2;
    }

    .projects-risk {
        padding-bottom: 80px;
    }

    .projects-cta {
        padding: 80px 0;
    }

    .projects-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}

/* === COMPRO V2.5 PROJECTS PAGE END === */

/* === COMPRO V2.6 COMPLIANCE PAGE START === */

.compliance-page {
    overflow: hidden;
}

.compliance-hero {
    padding: 105px 0 110px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 33%,rgba(69,86,255,.19),transparent 29%),
        radial-gradient(circle at 91% 72%,rgba(112,66,222,.13),transparent 31%),
        linear-gradient(135deg,#07101a,#0b1420 54%,#171528);
}

.compliance-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(450px,.96fr);
    gap: 75px;
    align-items: center;
}

.compliance-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.compliance-hero h1 span {
    display: block;
    color: #a0a7dc;
}

.compliance-hero-copy > p {
    max-width: 700px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.compliance-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* CONSOLE */

.compliance-console {
    position: relative;
    min-height: 505px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 66% 31%,rgba(82,79,255,.14),transparent 37%),
        linear-gradient(145deg,rgba(23,35,57,.96),rgba(10,17,30,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(79,74,255,.08);
}

.compliance-console-head {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.compliance-console-head span {
    color: #8c96ff;
    font-weight: 800;
}

.compliance-console-head strong {
    color: #73d39a;
    font-size: .65rem;
}

.compliance-score {
    display: flex;
    gap: 23px;
    align-items: center;
    padding: 29px 0 24px;
}

.compliance-ring {
    position: relative;
    width: 98px;
    height: 98px;
    flex: 0 0 auto;
    border: 7px solid rgba(101,109,240,.13);
    border-top-color: #5f78ef;
    border-right-color: #8881f4;
    border-radius: 50%;
}

.compliance-ring span {
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    background:
        radial-gradient(circle,#7186f2 0 18%,rgba(91,103,230,.17) 20% 100%);
}

.compliance-score-copy {
    display: flex;
    flex-direction: column;
}

.compliance-score-copy small {
    color: rgba(235,242,249,.4);
    font-size: .61rem;
    letter-spacing: .15em;
}

.compliance-score-copy strong {
    margin-top: 4px;
    color: #f1f6fb;
    font-size: 1.4rem;
}

.compliance-score-copy span {
    margin-top: 5px;
    color: rgba(233,240,247,.48);
    font-size: .77rem;
}

.compliance-status {
    display: grid;
    gap: 7px;
}

.compliance-status > div {
    display: grid;
    grid-template-columns: 10px 100px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.compliance-status > div > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #73d39a;
}

.compliance-status strong {
    color: rgba(240,245,250,.72);
    font-size: .7rem;
}

.compliance-status em {
    color: #8598f6;
    font-size: .66rem;
    font-style: normal;
    text-align: right;
}

.compliance-event {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 27px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    background: rgba(19,31,48,.76);
}

.compliance-event > span {
    display: block;
    color: #9aa2ff;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.compliance-event strong,
.compliance-event small {
    display: block;
}

.compliance-event strong {
    margin-top: 4px;
    color: rgba(241,246,251,.84);
    font-size: .78rem;
}

.compliance-event small {
    margin-top: 3px;
    color: rgba(235,242,249,.38);
}

.compliance-scan {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 95px;
    height: 1px;
    overflow: hidden;
    background: rgba(94,105,232,.1);
}

.compliance-scan::after {
    content: "";
    position: absolute;
    left: -25%;
    width: 25%;
    height: 1px;
    background: linear-gradient(90deg,transparent,#8c96ff,transparent);
    animation: compliance-scan 7s ease-in-out infinite;
}

@keyframes compliance-scan {
    0%,15% {
        left: -25%;
        opacity: 0;
    }

    25%,75% {
        opacity: 1;
    }

    86%,100% {
        left: 100%;
        opacity: 0;
    }
}


/* INTRO */

.compliance-intro {
    padding: 115px 0 110px;
}

.compliance-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.compliance-intro h2 {
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.compliance-intro-grid > div:last-child {
    padding-top: 34px;
}

.compliance-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* CONTROL CARDS */

.compliance-controls {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.compliance-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.compliance-card {
    min-height: 360px;
    padding: 36px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.compliance-number {
    display: block;
    margin-bottom: 27px;
    color: #586ee8;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.compliance-card h3 {
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.compliance-card p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.compliance-icon {
    position: relative;
    width: 76px;
    height: 72px;
}


/* icons */

.compliance-identity {
    border: 2px solid #586ee8;
    border-radius: 50%;
}

.compliance-identity::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 12px;
    width: 17px;
    height: 17px;
    transform: translateX(-50%);
    border: 2px solid #586ee8;
    border-radius: 50%;
}

.compliance-identity span {
    position: absolute;
    left: 50%;
    bottom: 10px;
    width: 36px;
    height: 19px;
    transform: translateX(-50%);
    border: 2px solid #586ee8;
    border-radius: 20px 20px 7px 7px;
}

.compliance-endpoint {
    width: 72px;
    height: 51px;
    margin-top: 10px;
    border: 2px solid #586ee8;
    border-radius: 7px;
}

.compliance-endpoint::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 33px;
    height: 14px;
    transform: translateX(-50%);
    border-bottom: 3px solid #586ee8;
}

.compliance-endpoint span {
    position: absolute;
    left: 11px;
    right: 11px;
    bottom: 9px;
    height: 4px;
    border-radius: 999px;
    background: #7284ed;
}

.compliance-network span {
    position: absolute;
    width: 23px;
    height: 23px;
    border: 2px solid #586ee8;
    border-radius: 7px;
}

.compliance-network span:nth-child(1) {
    left: 26px;
    top: 2px;
}

.compliance-network span:nth-child(2) {
    left: 2px;
    bottom: 5px;
}

.compliance-network span:nth-child(3) {
    right: 2px;
    bottom: 5px;
}

.compliance-network::before,
.compliance-network::after {
    content: "";
    position: absolute;
    left: 38px;
    top: 25px;
    width: 1px;
    height: 35px;
    transform-origin: top;
    background: rgba(88,110,232,.38);
}

.compliance-network::before {
    transform: rotate(40deg);
}

.compliance-network::after {
    transform: rotate(-40deg);
}

.compliance-data {
    width: 68px;
    height: 72px;
    background: linear-gradient(145deg,#4f72ed,#6556e6);
    clip-path: polygon(50% 0,88% 14%,82% 70%,50% 100%,18% 70%,12% 14%);
}

.compliance-data span {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 20px;
    height: 20px;
    transform: translate(-50%,-50%);
    border: 2px solid #fff;
    border-radius: 50%;
}

.compliance-logging {
    border: 2px solid #586ee8;
    border-radius: 50%;
}

.compliance-logging::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 35px;
    width: 50px;
    height: 2px;
    background: rgba(88,110,232,.25);
}

.compliance-logging::after {
    content: "";
    position: absolute;
    left: 16px;
    top: 33px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #73d39a;
    box-shadow:
        18px -13px 0 #586ee8,
        35px 8px 0 #586ee8;
}

.compliance-logging span {
    display: none;
}

.compliance-evidence {
    width: 58px;
    height: 68px;
    margin-left: 6px;
    border: 2px solid #586ee8;
    border-radius: 7px;
}

.compliance-evidence::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 16px;
    width: 32px;
    height: 2px;
    background: #586ee8;
    box-shadow:
        0 10px 0 rgba(88,110,232,.65),
        0 20px 0 rgba(88,110,232,.42);
}

.compliance-evidence span {
    position: absolute;
    right: -13px;
    bottom: -8px;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background: #73bd8f;
}

.compliance-evidence span::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 7px;
    width: 12px;
    height: 7px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-45deg);
}


/* PROCESS */

.compliance-process {
    padding: 105px 0;
}

.compliance-process-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(72,84,235,.17),transparent 31%),
        linear-gradient(145deg,#09121d,#15152a);
}

.compliance-process h2 {
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.compliance-process-card p {
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.compliance-process-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.compliance-process-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.compliance-process-list span {
    color: #8996ff;
    font-size: .72rem;
    font-weight: 800;
}

.compliance-process-list strong {
    color: rgba(242,247,252,.89);
}


/* SCOPE */

.compliance-scope {
    padding: 110px 0;
}

.compliance-scope-grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 90px;
    align-items: center;
}

.compliance-scope h2,
.compliance-context h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.compliance-scope p,
.compliance-context p {
    color: #65717e;
    line-height: 1.68;
}

.compliance-scope-visual {
    position: relative;
    min-height: 330px;
}

.scope-zone {
    position: absolute;
    border-radius: 24px;
}

.protected-zone {
    left: 50%;
    top: 50%;
    z-index: 2;
    width: 260px;
    height: 220px;
    transform: translate(-50%,-50%);
    border: 2px solid #6173ea;
    background: rgba(91,107,231,.06);
    box-shadow: 0 20px 45px rgba(57,74,162,.08);
}

.protected-zone > span,
.business-zone > span {
    position: absolute;
    left: 20px;
    top: 18px;
    color: #586ee8;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.scope-server {
    position: absolute;
    left: 35px;
    bottom: 40px;
    width: 75px;
    height: 70px;
    border-radius: 7px;
    background:
        repeating-linear-gradient(
            to bottom,
            #263b52 0,
            #263b52 17px,
            transparent 17px,
            transparent 23px
        );
}

.scope-workstation {
    position: absolute;
    right: 35px;
    bottom: 51px;
    width: 85px;
    height: 58px;
    border: 2px solid #586ee8;
    border-radius: 8px;
}

.scope-workstation::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -17px;
    width: 34px;
    height: 15px;
    transform: translateX(-50%);
    border-bottom: 3px solid #586ee8;
}

.scope-boundary {
    position: absolute;
    inset: 15px;
    border: 1px dashed rgba(88,110,232,.22);
    border-radius: 35px;
}

.business-zone {
    right: 1%;
    bottom: 7%;
    width: 170px;
    height: 80px;
    background: #f0f3f7;
}


/* REMEDIATION */

.compliance-remediation {
    padding: 10px 0 105px;
}

.compliance-remediation-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(93,71,230,.18),transparent 34%),
        linear-gradient(135deg,#112746,#171c38);
}

.compliance-remediation h2 {
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.compliance-remediation-card > div:last-child {
    align-self: center;
}

.compliance-remediation-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}


/* CONTEXT */

.compliance-context {
    padding: 110px 0;
}

.compliance-context-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.compliance-context-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.compliance-context-list > div {
    display: grid;
    grid-template-columns: 44px 190px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.compliance-context-list span {
    color: #586ee8;
    font-size: .72rem;
    font-weight: 800;
}

.compliance-context-list p {
    margin: 0;
}


/* DISCLAIMER */

.compliance-note {
    padding: 0 0 105px;
}

.compliance-note-card {
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: 55px;
    padding: 32px 38px;
    border: 1px solid rgba(28,52,81,.08);
    border-radius: 20px;
    background: #f5f7fa;
}

.compliance-note-card strong {
    font-size: 1.05rem;
}

.compliance-note-card p {
    margin: 0;
    color: #65717e;
    font-size: .93rem;
    line-height: 1.65;
}


/* RELATED */

.compliance-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.compliance-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.compliance-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease,box-shadow .22s ease;
}

.compliance-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.compliance-related-grid span {
    color: #586ee8;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.compliance-related-grid strong {
    font-size: 1.35rem;
}


/* CTA */

.compliance-cta {
    padding: 100px 0 110px;
}

.compliance-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#232b65 55%,#39235a);
}

.compliance-cta h2 {
    max-width: 760px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.compliance-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.compliance-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 18px;
    flex: 0 0 auto;
}

.compliance-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .compliance-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .compliance-hero-grid,
    .compliance-intro-grid,
    .compliance-process-card,
    .compliance-scope-grid,
    .compliance-remediation-card,
    .compliance-context-grid {
        grid-template-columns: 1fr;
    }

    .compliance-hero-grid,
    .compliance-intro-grid,
    .compliance-scope-grid,
    .compliance-context-grid {
        gap: 45px;
    }

    .compliance-intro-grid > div:last-child {
        padding-top: 0;
    }

    .compliance-process-card,
    .compliance-remediation-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .compliance-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .compliance-hero {
        padding: 74px 0 78px;
    }

    .compliance-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .compliance-console {
        min-height: 505px;
        padding: 24px;
    }

    .compliance-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .compliance-intro,
    .compliance-controls,
    .compliance-scope,
    .compliance-context,
    .compliance-related {
        padding: 82px 0;
    }

    .compliance-grid,
    .compliance-related-grid {
        grid-template-columns: 1fr;
    }

    .compliance-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .compliance-process {
        padding: 80px 0;
    }

    .compliance-process-card,
    .compliance-remediation-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .compliance-remediation {
        padding-bottom: 80px;
    }

    .compliance-context-list > div {
        grid-template-columns: 38px 1fr;
    }

    .compliance-context-list p {
        grid-column: 2;
    }

    .compliance-note-card {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .compliance-cta {
        padding: 80px 0;
    }

    .compliance-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}


@media (prefers-reduced-motion: reduce) {

    .compliance-scan::after {
        animation: none !important;
    }

}

/* === COMPRO V2.6 COMPLIANCE PAGE END === */

/* === COMPRO V2.7 SUPPORT SERVICE PAGE START === */

.support-service-page {
    overflow: hidden;
}


/* HERO */

.support-service-hero {
    padding: 105px 0 110px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 79% 33%,rgba(45,126,248,.19),transparent 29%),
        radial-gradient(circle at 92% 72%,rgba(47,162,211,.1),transparent 30%),
        linear-gradient(135deg,#07101a,#0a1420 55%,#0d1a29);
}

.support-service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(450px,.96fr);
    gap: 75px;
    align-items: center;
}

.support-service-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.support-service-hero h1 span {
    display: block;
    color: #8faed2;
}

.support-service-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.73);
    font-size: clamp(1.08rem,1.45vw,1.28rem);
    line-height: 1.65;
}

.support-service-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}


/* SUPPORT CONSOLE */

.support-service-console {
    position: relative;
    min-height: 500px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 64% 32%,rgba(45,123,255,.13),transparent 38%),
        linear-gradient(145deg,rgba(22,37,56,.96),rgba(9,18,29,.98));
    box-shadow:
        0 40px 85px rgba(0,0,0,.34),
        0 0 70px rgba(46,119,255,.08);
}

.support-service-console-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .65rem;
    letter-spacing: .15em;
}

.support-service-console-head span {
    color: #6fa5ff;
    font-weight: 800;
}

.support-service-console-head strong {
    color: #72d39a;
    font-size: .65rem;
}

.support-session {
    position: relative;
    height: 260px;
}

.support-monitor {
    position: absolute;
    left: 42px;
    top: 57px;
    width: 150px;
}

.support-monitor-screen {
    position: relative;
    height: 94px;
    border: 2px solid #568fe1;
    border-radius: 9px;
    background:
        linear-gradient(145deg,#16283d,#203954);
    box-shadow: 0 14px 30px rgba(0,0,0,.25);
}

.support-monitor-screen::before,
.support-monitor-screen::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    height: 4px;
    border-radius: 999px;
    background: rgba(96,161,237,.35);
}

.support-monitor-screen::before {
    top: 27px;
}

.support-monitor-screen::after {
    top: 43px;
    right: 52px;
}

.support-cursor {
    position: absolute;
    right: 27px;
    bottom: 18px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #70d39a;
    border-bottom: 2px solid #70d39a;
    transform: rotate(45deg);
}

.support-monitor-stand {
    width: 55px;
    height: 21px;
    margin: 0 auto;
    border-bottom: 4px solid #568fe1;
}

.support-connection {
    position: absolute;
    left: 194px;
    right: 135px;
    top: 106px;
    height: 1px;
    background:
        linear-gradient(90deg,rgba(86,143,225,.25),#65aff5,rgba(86,143,225,.25));
}

.support-connection span {
    position: absolute;
    left: 0;
    top: -4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #65aff5;
    box-shadow: 0 0 10px rgba(101,175,245,.65);
    animation: support-packet 6s ease-in-out infinite;
}

@keyframes support-packet {
    0%,15% {
        left: 0;
        opacity: 0;
    }

    25%,75% {
        opacity: 1;
    }

    85%,100% {
        left: calc(100% - 9px);
        opacity: 0;
    }
}

.support-tech {
    position: absolute;
    right: 43px;
    top: 65px;
    width: 80px;
    height: 110px;
}

.support-tech-head {
    width: 38px;
    height: 38px;
    margin: 0 auto;
    border: 2px solid #568fe1;
    border-radius: 50%;
}

.support-tech-body {
    width: 72px;
    height: 52px;
    margin: 9px auto 0;
    border: 2px solid #568fe1;
    border-radius: 29px 29px 10px 10px;
}

.support-service-status {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.support-service-status > div {
    padding: 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.025);
}

.support-service-status span {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.support-service-status strong,
.support-service-status em {
    display: block;
}

.support-service-status strong {
    color: rgba(240,245,250,.7);
    font-size: .68rem;
}

.support-service-status em {
    margin-top: 3px;
    color: #6aa9f5;
    font-size: .62rem;
    font-style: normal;
}

.support-service-pulse {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 24px;
    height: 1px;
    background: rgba(83,145,229,.1);
}


/* INTRO */

.support-service-intro {
    padding: 115px 0 110px;
}

.support-service-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.support-service-intro h2 {
    max-width: 700px;
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.2vw,4.6rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-service-intro-grid > div:last-child {
    padding-top: 34px;
}

.support-service-intro p {
    margin: 0 0 23px;
    color: #596674;
    font-size: 1.1rem;
    line-height: 1.7;
}


/* CARDS */

.support-service-options {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.support-service-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.support-service-card {
    min-height: 360px;
    padding: 36px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.support-service-number {
    display: block;
    margin-bottom: 27px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.support-service-card h3 {
    margin: 25px 0 13px;
    font-size: 1.48rem;
    letter-spacing: -.035em;
}

.support-service-card p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.support-service-icon {
    position: relative;
    width: 78px;
    height: 72px;
}


/* REMOTE */

.remote-support-icon {
    width: 72px;
    height: 50px;
    margin-top: 10px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.remote-support-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 34px;
    height: 14px;
    transform: translateX(-50%);
    border-bottom: 3px solid #4389eb;
}

.remote-support-icon span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #70d39a;
}


/* ONSITE */

.onsite-support-icon::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 5px;
    width: 34px;
    height: 34px;
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.onsite-support-icon span {
    position: absolute;
    left: 12px;
    bottom: 2px;
    width: 54px;
    height: 31px;
    border: 2px solid #4389eb;
    border-radius: 30px 30px 8px 8px;
}


/* WORKSTATION */

.workstation-support-icon {
    width: 72px;
    height: 49px;
    margin-top: 8px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.workstation-support-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -16px;
    width: 35px;
    height: 15px;
    transform: translateX(-50%);
    border-bottom: 3px solid #4389eb;
}

.workstation-support-icon span {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 9px;
    height: 4px;
    border-radius: 999px;
    background: rgba(67,137,235,.35);
}


/* SERVER */

.server-support-icon span {
    position: absolute;
    left: 5px;
    width: 67px;
    height: 26px;
    border-radius: 7px;
    background: #263b52;
}

.server-support-icon span:first-child {
    top: 7px;
}

.server-support-icon span:last-child {
    bottom: 7px;
}

.server-support-icon::before,
.server-support-icon::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 15px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.server-support-icon::before {
    top: 17px;
}

.server-support-icon::after {
    bottom: 17px;
}


/* CLOUD */

.cloud-support-icon::before {
    content: "";
    position: absolute;
    left: 7px;
    bottom: 10px;
    width: 64px;
    height: 34px;
    border-radius: 20px;
    background: linear-gradient(135deg,#3d8df0,#579cea);
}

.cloud-support-icon::after {
    content: "";
    position: absolute;
    left: 27px;
    top: 9px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #4b91ed;
}

.cloud-support-icon span {
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 48%;
    width: 13px;
    height: 8px;
    transform: translate(-50%,-50%) rotate(-45deg);
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
}


/* ESCALATION */

.escalation-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.escalation-icon::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 35px;
    width: 36px;
    height: 2px;
    background: #4389eb;
}

.escalation-icon::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 29px;
    width: 11px;
    height: 11px;
    border-top: 3px solid #4389eb;
    border-right: 3px solid #4389eb;
    transform: rotate(45deg);
}

.escalation-icon span {
    display: none;
}


/* REMOTE DARK ISLAND */

.support-remote-section {
    padding: 105px 0;
}

.support-remote-card {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 75px;
    padding: 70px 76px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 0,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.13);
}

.support-remote-section h2 {
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.6rem,4vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-remote-card p {
    color: rgba(233,241,248,.63);
    line-height: 1.67;
}

.support-remote-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.support-remote-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.support-remote-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.support-remote-list strong {
    color: rgba(242,247,252,.89);
}


/* ONSITE */

.support-onsite-section {
    padding: 110px 0;
}

.support-onsite-grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 90px;
    align-items: center;
}

.support-onsite-section h2,
.support-workflow h2 {
    margin: 17px 0 18px;
    font-size: clamp(2.6rem,4vw,4.3rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-onsite-section p,
.support-workflow p {
    color: #65717e;
    line-height: 1.68;
}

.support-onsite-visual {
    position: relative;
    min-height: 340px;
}

.onsite-rack {
    position: absolute;
    left: 50%;
    top: 40px;
    width: 230px;
    transform: translateX(-50%);
    padding: 16px;
    border-radius: 16px;
    background: #eef3f7;
}

.onsite-rack-unit {
    position: relative;
    height: 47px;
    margin: 7px 0;
    border-radius: 7px;
    background: #263b52;
}

.onsite-rack-unit span {
    position: absolute;
    left: 14px;
    top: 20px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.onsite-switch {
    position: absolute;
    left: 18%;
    bottom: 34px;
    display: flex;
    gap: 7px;
    width: 150px;
    height: 47px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #263b52;
}

.onsite-switch span {
    width: 9px;
    height: 7px;
    border-radius: 2px;
    background: #62b5eb;
}

.onsite-laptop {
    position: absolute;
    right: 13%;
    bottom: 30px;
    width: 120px;
    height: 76px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.onsite-laptop::after {
    content: "";
    position: absolute;
    left: -13px;
    right: -13px;
    bottom: -10px;
    height: 8px;
    border-radius: 0 0 8px 8px;
    background: #4389eb;
}


/* BUSINESS SUPPORT */

.support-boundaries {
    padding: 10px 0 105px;
}

.support-boundaries-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    gap: 80px;
    padding: 66px 72px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 77% 43%,rgba(60,124,229,.18),transparent 34%),
        linear-gradient(135deg,#112746,#152035);
}

.support-boundaries h2 {
    margin: 17px 0 0;
    color: #fff;
    font-size: clamp(2.45rem,3.8vw,4rem);
    line-height: .99;
    letter-spacing: -.052em;
}

.support-boundaries-card > div:last-child {
    align-self: center;
}

.support-boundaries-card p {
    margin: 0 0 20px;
    color: rgba(236,243,250,.64);
    line-height: 1.68;
}


/* WORKFLOW */

.support-workflow {
    padding: 110px 0;
}

.support-workflow-grid {
    display: grid;
    grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr);
    gap: 90px;
}

.support-workflow-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.support-workflow-list > div {
    display: grid;
    grid-template-columns: 44px 110px 1fr;
    gap: 16px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.support-workflow-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.support-workflow-list p {
    margin: 0;
}


/* RELATED */

.support-related {
    padding: 105px 0 115px;
    background: #f2f4f7;
}

.support-related-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-top: 50px;
}

.support-related-grid a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 175px;
    padding: 30px 32px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 24px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease;
}

.support-related-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(25,40,58,.07);
}

.support-related-grid span {
    color: #3477e6;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.support-related-grid strong {
    font-size: 1.35rem;
}


/* CTA */

.support-service-cta {
    padding: 100px 0 110px;
}

.support-service-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#18394d);
}

.support-service-cta h2 {
    max-width: 750px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.45rem,3.9vw,4.2rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-service-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.support-service-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.support-service-phone-link {
    color: rgba(255,255,255,.75);
    font-weight: 650;
    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .support-service-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 980px) {

    .support-service-hero-grid,
    .support-service-intro-grid,
    .support-remote-card,
    .support-onsite-grid,
    .support-boundaries-card,
    .support-workflow-grid {
        grid-template-columns: 1fr;
    }

    .support-service-hero-grid,
    .support-service-intro-grid,
    .support-onsite-grid,
    .support-workflow-grid {
        gap: 45px;
    }

    .support-service-intro-grid > div:last-child {
        padding-top: 0;
    }

    .support-remote-card,
    .support-boundaries-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .support-service-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}


/* MOBILE */

@media (max-width: 680px) {

    .support-service-hero {
        padding: 74px 0 78px;
    }

    .support-service-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .support-service-console {
        min-height: 500px;
        padding: 24px;
    }

    .support-service-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .support-service-status {
        grid-template-columns: 1fr;
    }

    .support-service-intro,
    .support-service-options,
    .support-onsite-section,
    .support-workflow,
    .support-related {
        padding: 82px 0;
    }

    .support-service-grid,
    .support-related-grid {
        grid-template-columns: 1fr;
    }

    .support-service-card {
        min-height: 320px;
        padding: 32px 30px;
    }

    .support-remote-section {
        padding: 80px 0;
    }

    .support-remote-card,
    .support-boundaries-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .support-boundaries {
        padding-bottom: 80px;
    }

    .support-workflow-list > div {
        grid-template-columns: 38px 1fr;
    }

    .support-workflow-list p {
        grid-column: 2;
    }

    .support-service-cta {
        padding: 80px 0;
    }

    .support-service-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .support-connection span {
        animation: none !important;
    }

}

/* === COMPRO V2.7 SUPPORT SERVICE PAGE END === */

/* === COMPRO V2.9 SUPPORT LANDING START === */

.support-page {
    overflow: hidden;
}

.support-page-hero {
    padding: 105px 0 110px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 30%,rgba(53,126,239,.18),transparent 31%),
        radial-gradient(circle at 91% 76%,rgba(64,168,211,.10),transparent 28%),
        linear-gradient(135deg,#07111b,#0b1623 56%,#102031);
}

.support-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(440px,.92fr);
    gap: 72px;
    align-items: center;
}

.support-page-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.5rem,6vw,6.4rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.support-page-hero h1 span {
    display: block;
    color: #91afd3;
}

.support-page-hero-copy > p {
    max-width: 670px;
    margin: 0;
    color: rgba(236,243,250,.72);
    font-size: clamp(1.08rem,1.45vw,1.26rem);
    line-height: 1.65;
}

.support-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.support-page-console {
    position: relative;
    min-height: 470px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 60% 28%,rgba(54,130,243,.13),transparent 37%),
        linear-gradient(145deg,rgba(22,37,56,.96),rgba(9,18,29,.98));
    box-shadow: 0 40px 85px rgba(0,0,0,.33);
}

.support-page-console-head {
    display: flex;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .66rem;
    letter-spacing: .14em;
}

.support-page-console-head span {
    color: #6fa5ff;
    font-weight: 800;
}

.support-page-console-head strong {
    color: #72d39a;
    font-size: .65rem;
}

.support-page-workstation {
    position: relative;
    height: 245px;
}

.support-page-monitor {
    position: absolute;
    left: 42px;
    top: 52px;
    width: 145px;
}

.support-page-screen {
    height: 91px;
    padding: 20px 16px;
    border: 2px solid #568fe1;
    border-radius: 8px;
    background: #172a3e;
}

.support-page-screen span {
    display: block;
    height: 4px;
    margin: 0 0 11px;
    border-radius: 999px;
    background: rgba(95,160,237,.35);
}

.support-page-screen span:nth-child(2) {
    width: 72%;
}

.support-page-screen span:nth-child(3) {
    width: 48%;
}

.support-page-monitor-base {
    width: 55px;
    height: 20px;
    margin: auto;
    border-bottom: 4px solid #568fe1;
}

.support-page-link {
    position: absolute;
    left: 188px;
    right: 130px;
    top: 100px;
    height: 1px;
    background: linear-gradient(90deg,rgba(86,143,225,.25),#65aff5,rgba(86,143,225,.25));
}

.support-page-link span {
    position: absolute;
    left: 48%;
    top: -4px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #65aff5;
    box-shadow: 0 0 12px rgba(101,175,245,.6);
}

.support-page-tech {
    position: absolute;
    right: 43px;
    top: 58px;
    width: 78px;
    height: 110px;
}

.support-page-tech div:first-child {
    width: 38px;
    height: 38px;
    margin: auto;
    border: 2px solid #568fe1;
    border-radius: 50%;
}

.support-page-tech div:last-child {
    width: 72px;
    height: 52px;
    margin: 9px auto 0;
    border: 2px solid #568fe1;
    border-radius: 29px 29px 10px 10px;
}

.support-page-status-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.support-page-status-grid > div {
    padding: 13px;
    border-radius: 9px;
    background: rgba(255,255,255,.025);
}

.support-page-status-grid span {
    display: block;
    width: 6px;
    height: 6px;
    margin-bottom: 7px;
    border-radius: 50%;
    background: #70d39a;
}

.support-page-status-grid strong,
.support-page-status-grid em {
    display: block;
}

.support-page-status-grid strong {
    color: rgba(240,245,250,.74);
    font-size: .69rem;
}

.support-page-status-grid em {
    margin-top: 3px;
    color: #6aa9f5;
    font-size: .61rem;
    font-style: normal;
}

.support-page-intro {
    padding: 115px 0 110px;
}

.support-page-intro-grid {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 90px;
}

.support-page-intro h2,
.support-page-scope h2 {
    margin: 18px 0 0;
    font-size: clamp(2.6rem,4.1vw,4.5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-page-intro-grid > div:last-child {
    padding-top: 30px;
}

.support-page-intro p,
.support-page-scope p {
    margin: 0 0 22px;
    color: #5f6c79;
    font-size: 1.08rem;
    line-height: 1.7;
}

.support-page-options {
    padding: 105px 0 120px;
    background: #f2f4f7;
}

.support-page-option-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.support-page-option {
    min-height: 350px;
    padding: 36px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 27px;
    background: linear-gradient(145deg,#fff,#f9fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.support-page-option-number {
    display: block;
    margin-bottom: 28px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.support-page-option h3 {
    margin: 25px 0 13px;
    font-size: 1.5rem;
    letter-spacing: -.035em;
}

.support-page-option p {
    margin: 0;
    color: #65717e;
    line-height: 1.65;
}

.support-page-option-icon {
    position: relative;
    width: 76px;
    height: 70px;
}

.support-page-remote-icon {
    width: 72px;
    height: 49px;
    margin-top: 9px;
    border: 2px solid #4389eb;
    border-radius: 7px;
}

.support-page-remote-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -16px;
    width: 34px;
    height: 15px;
    transform: translateX(-50%);
    border-bottom: 3px solid #4389eb;
}

.support-page-remote-icon span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #70d39a;
}

.support-page-onsite-icon::before {
    content: "";
    position: absolute;
    left: 21px;
    top: 5px;
    width: 34px;
    height: 34px;
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.support-page-onsite-icon span {
    position: absolute;
    left: 11px;
    bottom: 1px;
    width: 54px;
    height: 31px;
    border: 2px solid #4389eb;
    border-radius: 30px 30px 8px 8px;
}

.support-page-escalation-icon {
    border: 2px solid #4389eb;
    border-radius: 50%;
}

.support-page-escalation-icon::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 34px;
    width: 35px;
    height: 2px;
    background: #4389eb;
}

.support-page-escalation-icon::after {
    content: "";
    position: absolute;
    right: 17px;
    top: 28px;
    width: 11px;
    height: 11px;
    border-top: 3px solid #4389eb;
    border-right: 3px solid #4389eb;
    transform: rotate(45deg);
}

.support-page-escalation-icon span {
    display: none;
}

.support-page-request {
    padding: 105px 0;
}

.support-page-request-card {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
    gap: 74px;
    padding: 68px 74px;
    border-radius: 34px;
    color: #fff;
    background:
        radial-gradient(circle at 17% 2%,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.12);
}

.support-page-request h2 {
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.5rem,3.9vw,4.1rem);
    line-height: .99;
    letter-spacing: -.055em;
}

.support-page-request p {
    color: rgba(233,241,248,.64);
    line-height: 1.67;
}

.support-page-request-list {
    border-top: 1px solid rgba(255,255,255,.1);
}

.support-page-request-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 14px;
    padding: 19px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

.support-page-request-list span {
    color: #649dff;
    font-size: .72rem;
    font-weight: 800;
}

.support-page-request-list strong {
    color: rgba(242,247,252,.89);
}

.support-page-scope {
    padding: 110px 0;
}

.support-page-scope-grid {
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    gap: 90px;
}

.support-page-scope-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.support-page-scope-list div {
    padding: 21px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.support-page-scope-list span,
.support-page-scope-list strong {
    display: block;
}

.support-page-scope-list span {
    margin-bottom: 5px;
    color: #3477e6;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.support-page-scope-list strong {
    color: #293746;
    font-size: 1.03rem;
}

.support-page-service-link {
    padding: 10px 0 105px;
}

.support-page-service-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    padding: 62px 70px;
    border-radius: 31px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 40%,rgba(61,131,240,.18),transparent 34%),
        linear-gradient(135deg,#112746,#152035);
}

.support-page-service-card h2 {
    margin: 15px 0 12px;
    color: #fff;
    font-size: clamp(2.3rem,3.7vw,3.8rem);
    line-height: 1;
    letter-spacing: -.05em;
}

.support-page-service-card p {
    max-width: 680px;
    margin: 0;
    color: rgba(236,243,250,.64);
    line-height: 1.67;
}

.support-page-cta {
    padding: 100px 0 110px;
}

.support-page-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background: linear-gradient(135deg,#143a72,#172b54 54%,#18394d);
}

.support-page-cta h2 {
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.5rem,3.9vw,4.1rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.support-page-cta p {
    max-width: 650px;
    margin: 0;
    color: rgba(240,246,252,.67);
}

.support-page-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.support-page-phone {
    color: rgba(255,255,255,.76);
    font-weight: 650;
    text-decoration: none;
}

@media (max-width: 980px) {

    .support-page-hero-grid,
    .support-page-intro-grid,
    .support-page-request-card,
    .support-page-scope-grid {
        grid-template-columns: 1fr;
    }

    .support-page-hero-grid,
    .support-page-intro-grid,
    .support-page-scope-grid {
        gap: 45px;
    }

    .support-page-intro-grid > div:last-child {
        padding-top: 0;
    }

    .support-page-request-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .support-page-service-card,
    .support-page-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}

@media (max-width: 760px) {

    .support-page-option-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 680px) {

    .support-page-hero {
        padding: 74px 0 78px;
    }

    .support-page-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .support-page-console {
        min-height: 500px;
        padding: 24px;
    }

    .support-page-console-head {
        flex-direction: column;
        gap: 5px;
    }

    .support-page-status-grid {
        grid-template-columns: 1fr;
    }

    .support-page-intro,
    .support-page-options,
    .support-page-scope {
        padding: 82px 0;
    }

    .support-page-request {
        padding: 80px 0;
    }

    .support-page-request-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .support-page-service-link {
        padding-bottom: 80px;
    }

    .support-page-service-card,
    .support-page-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .support-page-cta {
        padding: 80px 0;
    }

}

/* === COMPRO V2.9 SUPPORT LANDING END === */

/* === COMPRO V3.0 CONTACT PAGE START === */

.contact-page {
    overflow: hidden;
}

.contact-page-hero {
    padding: 110px 0 115px;
    color: #fff;
    background:
        radial-gradient(circle at 78% 31%,rgba(50,128,244,.18),transparent 31%),
        radial-gradient(circle at 92% 74%,rgba(70,159,215,.09),transparent 29%),
        linear-gradient(135deg,#07111b,#0b1623 56%,#102031);
}

.contact-page-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(390px,.78fr);
    gap: 80px;
    align-items: center;
}

.contact-page-hero h1 {
    margin: 20px 0 28px;
    font-size: clamp(3.6rem,6vw,6.4rem);
    line-height: .91;
    letter-spacing: -.065em;
}

.contact-page-hero h1 span {
    display: block;
    color: #91afd3;
}

.contact-page-hero-copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(236,243,250,.72);
    font-size: clamp(1.08rem,1.45vw,1.26rem);
    line-height: 1.65;
}

.contact-page-panel {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 28px;
    background:
        radial-gradient(circle at 60% 20%,rgba(54,130,243,.12),transparent 38%),
        linear-gradient(145deg,rgba(22,37,56,.96),rgba(9,18,29,.98));
    box-shadow: 0 40px 85px rgba(0,0,0,.33);
}

.contact-page-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 19px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-size: .66rem;
    letter-spacing: .14em;
}

.contact-page-panel-head span {
    color: #6fa5ff;
    font-weight: 800;
}

.contact-page-panel-head strong {
    color: #72d39a;
    font-size: .65rem;
}

.contact-page-method {
    display: block;
    padding: 28px 8px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: inherit;
    text-decoration: none;
}

.contact-page-method:last-child {
    border-bottom: 0;
}

.contact-page-method-label {
    display: block;
    margin-bottom: 10px;
    color: #6fa5ff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.contact-page-method strong {
    display: block;
    color: #fff;
    font-size: clamp(1.45rem,2.4vw,2.15rem);
    letter-spacing: -.035em;
}

.contact-page-method em {
    display: block;
    margin-top: 7px;
    color: rgba(235,243,250,.55);
    font-size: .78rem;
    font-style: normal;
}

.contact-page-paths {
    padding: 110px 0 120px;
}

.contact-page-path-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
    margin-top: 55px;
}

.contact-page-path {
    min-height: 340px;
    padding: 40px;
    border: 1px solid rgba(18,39,61,.07);
    border-radius: 28px;
    background: linear-gradient(145deg,#fff,#f8fafb);
    box-shadow: 0 18px 45px rgba(26,39,56,.05);
}

.contact-page-path-number {
    display: block;
    margin-bottom: 70px;
    color: #3477e6;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.contact-page-path h3 {
    margin: 0 0 14px;
    font-size: 1.8rem;
    letter-spacing: -.04em;
}

.contact-page-path p {
    margin: 0 0 24px;
    color: #65717e;
    line-height: 1.68;
}

.contact-page-path a {
    color: #276fd5;
    font-weight: 700;
    text-decoration: none;
}

.contact-page-direct {
    padding: 20px 0 110px;
}

.contact-page-direct-card {
    display: grid;
    grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
    gap: 80px;
    padding: 70px 74px;
    border-radius: 35px;
    color: #fff;
    background:
        radial-gradient(circle at 17% 2%,rgba(44,119,255,.15),transparent 31%),
        linear-gradient(145deg,#09121d,#111b29);
    box-shadow: 0 35px 70px rgba(21,34,50,.12);
}

.contact-page-direct h2 {
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(2.5rem,3.9vw,4.1rem);
    line-height: .99;
    letter-spacing: -.055em;
}

.contact-page-direct p {
    margin: 0;
    color: rgba(233,241,248,.64);
    line-height: 1.68;
}

.contact-page-direct-actions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-top: 1px solid rgba(255,255,255,.1);
}

.contact-page-direct-action {
    display: block;
    padding: 24px 4px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    color: inherit;
    text-decoration: none;
}

.contact-page-direct-action span {
    display: block;
    margin-bottom: 7px;
    color: #649dff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.contact-page-direct-action strong {
    color: rgba(242,247,252,.91);
    font-size: clamp(1.3rem,2vw,1.8rem);
}

.contact-page-context {
    padding: 110px 0;
    background: #f2f4f7;
}

.contact-page-context-grid {
    display: grid;
    grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
    gap: 90px;
}

.contact-page-context h2 {
    margin: 18px 0;
    font-size: clamp(2.6rem,4.1vw,4.5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.contact-page-context p {
    color: #5f6c79;
    line-height: 1.7;
}

.contact-page-context-list {
    border-top: 1px solid rgba(20,38,60,.12);
}

.contact-page-context-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 15px;
    padding: 22px 4px;
    border-bottom: 1px solid rgba(20,38,60,.12);
}

.contact-page-context-list span {
    color: #3477e6;
    font-size: .72rem;
    font-weight: 800;
}

.contact-page-context-list strong {
    color: #293746;
}

.contact-page-cta {
    padding: 105px 0 115px;
}

.contact-page-cta-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
    padding: 70px 75px;
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(135deg,#143a72,#172b54 54%,#18394d);
}

.contact-page-cta h2 {
    margin: 15px 0;
    color: #fff;
    font-size: clamp(2.5rem,3.9vw,4.1rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.contact-page-cta p {
    margin: 0;
    color: rgba(240,246,252,.67);
}

.contact-page-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 0 0 auto;
    gap: 18px;
}

.contact-page-email {
    color: rgba(255,255,255,.76);
    font-weight: 650;
    text-decoration: none;
}

@media (max-width: 980px) {

    .contact-page-hero-grid,
    .contact-page-direct-card,
    .contact-page-context-grid {
        grid-template-columns: 1fr;
    }

    .contact-page-hero-grid,
    .contact-page-context-grid {
        gap: 45px;
    }

    .contact-page-direct-card {
        gap: 48px;
        padding: 58px 52px;
    }

    .contact-page-cta-card {
        flex-direction: column;
        align-items: flex-start;
        padding: 58px 52px;
    }

}

@media (max-width: 700px) {

    .contact-page-path-grid {
        grid-template-columns: 1fr;
    }

    .contact-page-hero {
        padding: 75px 0 80px;
    }

    .contact-page-hero h1 {
        font-size: clamp(3rem,15vw,4.6rem);
    }

    .contact-page-paths,
    .contact-page-context {
        padding: 82px 0;
    }

    .contact-page-path {
        min-height: auto;
        padding: 32px 30px;
    }

    .contact-page-path-number {
        margin-bottom: 45px;
    }

    .contact-page-direct {
        padding: 10px 0 80px;
    }

    .contact-page-direct-card,
    .contact-page-cta-card {
        padding: 44px 28px;
        border-radius: 26px;
    }

    .contact-page-cta {
        padding: 80px 0;
    }

}

/* === COMPRO V3.0 CONTACT PAGE END === */

/* === COMPRO V3.1 LEGAL PAGES START === */

.legal-page {
    overflow: hidden;
}

.legal-page-hero {
    padding: 100px 0 105px;
    color: #fff;
    background:
        radial-gradient(circle at 82% 28%,rgba(50,128,244,.15),transparent 31%),
        linear-gradient(135deg,#07111b,#0b1623 58%,#102031);
}

.legal-page-hero-inner {
    max-width: 900px;
}

.legal-page-hero h1 {
    margin: 18px 0 22px;
    color: #fff;
    font-size: clamp(3.5rem,6vw,6rem);
    line-height: .93;
    letter-spacing: -.06em;
}

.legal-page-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(236,243,250,.7);
    font-size: 1.15rem;
    line-height: 1.68;
}

.legal-page-content {
    padding: 110px 0 125px;
}

.legal-page-grid {
    display: grid;
    grid-template-columns: 250px minmax(0,760px);
    gap: 90px;
    justify-content: center;
    align-items: start;
}

.legal-page-summary {
    position: sticky;
    top: 115px;
    display: flex;
    flex-direction: column;
    padding: 26px;
    border: 1px solid rgba(18,39,61,.08);
    border-radius: 20px;
    background: #f4f6f8;
}

.legal-page-summary strong {
    margin-bottom: 8px;
    color: #172536;
}

.legal-page-summary span {
    margin-bottom: 24px;
    color: #6c7782;
    font-size: .82rem;
}

.legal-page-summary a {
    margin-top: 8px;
    color: #2c70cf;
    font-size: .88rem;
    font-weight: 650;
    text-decoration: none;
}

.legal-page-article h2 {
    margin: 52px 0 15px;
    color: #182737;
    font-size: clamp(1.65rem,2.4vw,2.15rem);
    letter-spacing: -.035em;
}

.legal-page-article h2:first-child {
    margin-top: 0;
}

.legal-page-article p {
    margin: 0 0 20px;
    color: #596674;
    font-size: 1.04rem;
    line-height: 1.76;
}

.legal-page-article a {
    color: #276fd5;
}

@media (max-width: 850px) {

    .legal-page-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .legal-page-summary {
        position: static;
    }

}

@media (max-width: 680px) {

    .legal-page-hero {
        padding: 75px 0 80px;
    }

    .legal-page-hero h1 {
        font-size: clamp(3rem,14vw,4.6rem);
    }

    .legal-page-content {
        padding: 80px 0 90px;
    }

}

/* === COMPRO V3.1 LEGAL PAGES END === */

/* === COMPRO V3.2 FOOTER START === */

.site-footer {
    padding: 78px 0 30px;
    color: rgba(237,243,249,.72);
    background:
        radial-gradient(circle at 15% 0,rgba(46,116,226,.10),transparent 31%),
        linear-gradient(145deg,#07111b,#0b1622);
}

.footer-inner {
    width: min(1180px,calc(100% - 40px));
    margin: 0 auto;
}

.footer-main {
    display: grid;
    grid-template-columns: minmax(280px,.9fr) minmax(0,1.6fr);
    gap: 90px;
    padding-bottom: 60px;
}

.footer-brand > strong {
    display: block;
    margin-bottom: 16px;
    color: #fff;
    font-size: 1.35rem;
    letter-spacing: -.03em;
}

.footer-brand > p {
    max-width: 410px;
    margin: 0 0 27px;
    color: rgba(237,243,249,.58);
    line-height: 1.7;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.footer-contact a {
    color: #91b6e8;
    font-weight: 650;
    text-decoration: none;
}

.footer-contact a:hover,
.footer-contact a:focus-visible {
    color: #fff;
}

.footer-nav {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 45px;
}

.footer-nav-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-nav-group > strong {
    margin-bottom: 19px;
    color: #fff;
    font-size: .76rem;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.footer-nav-group a {
    margin: 0 0 11px;
    color: rgba(237,243,249,.62);
    font-size: .93rem;
    text-decoration: none;
    transition: color .18s ease;
}

.footer-nav-group a:hover,
.footer-nav-group a:focus-visible {
    color: #fff;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(237,243,249,.43);
    font-size: .78rem;
}

@media (max-width: 900px) {

    .footer-main {
        grid-template-columns: 1fr;
        gap: 50px;
    }

}

@media (max-width: 680px) {

    .site-footer {
        padding-top: 60px;
    }

    .footer-nav {
        grid-template-columns: 1fr 1fr;
        gap: 40px 30px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
    }

}

@media (max-width: 460px) {

    .footer-nav {
        grid-template-columns: 1fr;
    }

}

/* === COMPRO V3.2 FOOTER END === */
