 :root {
        --primary: #155eef;
        --primary-dark: #0f48bd;
        --accent: #14b86a;
        --ink: #101828;

        --muted: #667085;
        --soft: #f6f8fc;
        --line: #e7ebf3;
        --dark: #071426;
        --radius: 22px;
        --shadow: 0 20px 60px rgba(31, 64, 135, .10)
    }

    * {
        box-sizing: border-box
    }

    html {
        scroll-behavior: smooth
    }

    body {
        font-family: Manrope, sans-serif;
        color: var(--ink);
        background: #fff
    }

    a {
        text-decoration: none
    }

    .container-main {
        max-width: 1230px !important
    }

    .section-space {
        padding: 96px 0
    }

    .section-space-sm {
        padding: 58px 0
    }

    .bg-soft {
        background: var(--soft)
    }

    .site-header {
        background: rgba(255, 255, 255, .9);
        backdrop-filter: blur(18px);
        border-bottom: 1px solid rgba(231, 235, 243, .8)
    }

    .navbar {
        min-height: 82px
    }
        .logo {
            display: block;
            width: 170px;
            height: 50px;
            background: url(https://diws.ru/wp-content/themes/diws/page/img/logo_diws.svg) no-repeat center center;
        }

        .logo_w {
            display: block;
            width: 170px;
            height: 50px;
            background: url(https://diws.ru/wp-content/themes/diws/page/img/logo_diws_w.svg) no-repeat center center;
        }
    .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--ink)
    }

    .brand-mark {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        background: linear-gradient(135deg, var(--primary), #6c5ce7);
        color: #fff;
        display: grid;
        place-items: center;
        transform: rotate(-8deg)
    }

    .brand strong,
    .brand small {
        display: block
    }

    .brand strong {
        font-size: 14px;
        letter-spacing: .02em
    }

    .brand small {
        font-size: 9px;
        color: var(--muted)
    }

    .nav-link {
        font-size: 13px;
        font-weight: 700;
        color: #344054 !important;
        padding: .8rem .65rem !important
    }

    .header-contact a {
        font-size: 13px;
        font-weight: 800;
        color: var(--ink)
    }

    .header-contact small {
        display: block;
        font-size: 9px;
        color: var(--muted)
    }

    .btn {
        border-radius: 10px;
        font-weight: 700
    }

    .btn-primary {
        background: var(--primary);
        border-color: var(--primary);
        box-shadow: 0 10px 25px rgba(21, 94, 239, .2)
    }

    .btn-primary:hover {
        background: var(--primary-dark);
        border-color: var(--primary-dark)
    }

    .btn-lg {
        font-size: 14px;
        padding: .95rem 1.5rem
    }

    .section-gradient {
        background: radial-gradient(circle at 90% 20%, rgba(72, 148, 255, .18), transparent 35%), linear-gradient(180deg, #f7fbff 0%, #edf5ff 65%, #fff 100%)
    }

    .min-vh-hero {
        min-height: 720px;
        padding: 70px 0
    }

    .eyebrow,
    .section-heading>span,
    .pain-intro>span,
    .audit-box>div>div:first-child>span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--primary);
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .08em
    }

    .hero-section h1 {
        font-size: clamp(38px, 5vw, 48px);
        line-height: 1.06;
        letter-spacing: -.045em;
        font-weight: 800;
        max-width: 690px;
        margin: 18px 0
    }

    .hero-lead,
    .lead-muted {
        font-size: 17px;
        line-height: 1.75;
        color: var(--muted);
        max-width: 650px
    }

    .hero-stats .stat {
        display: grid;
        grid-template-columns: 28px 1fr;
        gap: 0 8px;
        align-items: center
    }

    .stat i {
        grid-row: 1/3;
        color: var(--primary);
        font-size: 22px
    }

    .stat strong {
        font-size: 19px;
        color: var(--primary)
    }

    .stat span {
        font-size: 10px;
        color: var(--muted)
    }

    .ecosystem-visual {
        position: relative;
        min-height: 500px;
        border-radius: 40px;
        background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(220, 237, 255, .7));
        box-shadow: var(--shadow);
        overflow: hidden;
        border: 1px solid #fff
    }

    .ecosystem-visual:before {
        content: "";
        position: absolute;
        inset: 12%;
        background: radial-gradient(circle, rgba(21, 94, 239, .2), transparent 62%)
    }

    .orbit {
        position: absolute;
        left: 50%;
        top: 50%;
        border: 1px dashed rgba(21, 94, 239, .25);
        border-radius: 50%;
        transform: translate(-50%, -50%) rotate(-12deg)
    }

    .orbit-one {
        width: 78%;
        height: 43%
    }

    .orbit-two {
        width: 58%;
        height: 70%;
        transform: translate(-50%, -50%) rotate(35deg)
    }

    .core-card {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 180px;
        height: 180px;
        border-radius: 40px;
        background: linear-gradient(145deg, #2e7cff, #0e51d2);
        color: #fff;
        box-shadow: 0 30px 60px rgba(21, 94, 239, .35);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 3;
        border: 10px solid rgba(255, 255, 255, .8)
    }

    .core-card span {
        font-size: 38px;
        font-weight: 800
    }

    .core-card strong {
        font-size: 18px
    }

    .core-card small {
        opacity: .75;
        font-size: 0.6em;
    }

    .eco-node {
        position: absolute;
        width: 104px;
        height: 104px;
        border-radius: 28px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 18px 42px rgba(35, 77, 145, .17);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: var(--primary);
        font-weight: 800;
        font-size: 12px;
        z-index: 2
    }

    .eco-node i {
        font-size: 30px;
        margin-bottom: 5px
    }

    .node-1 {
        top: 7%;
        left: 42%
    }

    .node-2 {
        top: 19%;
        left: 8%
    }

    .node-3 {
        top: 17%;
        right: 7%
    }

    .node-4 {
        bottom: 7%;
        left: 14%
    }

    .node-5 {
        bottom: 8%;
        right: 8%
    }

    .node-6 {
        top: 43%;
        right: 2%
    }

    .section-heading {
        margin-bottom: 46px
    }

    .section-heading h2,
    .integration-section h2,
    .pain-intro h2,
    .audit-box h2,
    #faq h2 {
        font-size: clamp(30px, 4vw, 46px);
        font-weight: 800;
        letter-spacing: -.035em;
        margin: 10px 0 12px
    }

    .section-heading p {
        color: var(--muted);
        max-width: 680px
    }

    .section-heading.text-center p {
        margin-inline: auto
    }

    .feature-card,
    .service-card,
    .review-card {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 26px;
        transition: .25s ease
    }

    .feature-card:hover,
    .service-card:hover,
    .review-card:hover {
        transform: translateY(-6px);
        border-color: rgba(21, 94, 239, .35);
        box-shadow: var(--shadow)
    }

    .feature-card {
        padding: 24px 18px
    }

    .feature-card h3,
    .service-card h3,
    .pain-card h3,
    .process-step h3 {
        font-size: 15px;
        font-weight: 800;
        margin: 16px 0 10px
    }

    .feature-card p,
    .service-card p,
    .pain-card p,
    .process-step p {
        font-size: 12px;
        color: var(--muted);
        line-height: 1.65;
        margin: 0
    }

    .icon-box,
    .service-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        background: #eaf2ff;
        color: var(--primary);
        font-size: 22px
    }

    .service-card {
        min-height: 265px;
        display: flex;
        flex-direction: column
    }

    .service-card p {
        font-size: 13px
    }

    .service-card a {
        margin-top: auto;
        padding-top: 20px;
        color: var(--primary);
        font-size: 12px;
        font-weight: 800
    }

    .service-icon {
        font-size: 20px
    }

    .icon-yellow {
        background: #fff3bf;
        color: #e1491d;
        font-weight: 800
    }

    .icon-purple {
        background: #f0e8ff;
        color: #7a42dd
    }

    .icon-gray {
        background: #eef0f4;
        color: #475467
    }

    .integration-section {
        background: linear-gradient(180deg, #fff, #f4f8ff)
    }

    .solution-map {
        position: relative;
        min-height: 500px;
        background: radial-gradient(circle, rgba(21, 94, 239, .12), transparent 60%)
    }

    .solution-map:before,
    .solution-map:after {
        content: "";
        position: absolute;
        inset: 15%;
        border: 1px dashed #bed1f9;
        border-radius: 50%;
        transform: rotate(-8deg)
    }

    .solution-map:after {
        inset: 27% 10%;
        transform: rotate(15deg)
    }

    .solution-center {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 140px;
        height: 140px;
        background: linear-gradient(145deg, #347ffc, #1255dc);
        border-radius: 50%;
        color: #fff;
        display: grid;
        place-items: center;
        align-content: center;
        box-shadow: 0 25px 55px rgba(21, 94, 239, .35);
        z-index: 3
    }

    .solution-center i {
        font-size: 35px
    }

    .solution-center span {
        font-weight: 800
    }

    .solution-item {
        position: absolute;
        background: #fff;
        border: 1px solid #dbe6fb;
        border-radius: 16px;
        padding: 12px 16px;
        min-width: 120px;
        text-align: center;
        font-weight: 800;
        color: var(--ink);
        box-shadow: 0 12px 30px rgba(36, 73, 130, .1);
        z-index: 2
    }

    .solution-item small {
        font-weight: 500;
        color: var(--muted)
    }

    .s1 {
        top: 5%;
        left: 42%
    }

    .s2 {
        top: 15%;
        right: 6%
    }

    .s3 {
        top: 44%;
        right: 0
    }

    .s4 {
        bottom: 10%;
        right: 11%
    }

    .s5 {
        bottom: 2%;
        left: 39%
    }

    .s6 {
        bottom: 12%;
        left: 4%
    }

    .s7 {
        top: 43%;
        left: 0
    }

    .s8 {
        top: 14%;
        left: 8%
    }

    .pain-section {
        background: linear-gradient(135deg, #061326, #0c1d35);
        color: #fff
    }

    .pain-intro p {
        color: #9fb0c8;
        font-size: 13px
    }

    .pain-card {
        height: 100%;
        background: linear-gradient(180deg, rgba(22, 46, 78, .9), rgba(10, 27, 50, .95));
        border: 1px solid rgba(88, 135, 196, .25);
        border-radius: 16px;
        padding: 22px;
        text-align: center;
        box-shadow: inset 0 0 24px rgba(32, 93, 174, .09)
    }

    .pain-card i {
        font-size: 34px;
        color: #40a5ff
    }

    .pain-card h3 {
        color: #fff
    }

    .pain-card p {
        color: #9fb0c8
    }

    .process-grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 20px;
        position: relative
    }

    .process-grid:before {
        content: "";
        position: absolute;
        top: 42px;
        left: 8%;
        right: 8%;
        height: 2px;
        background: #d9e5ff
    }

    .process-step {
        position: relative;
        text-align: center
    }

    .process-step b {
        position: absolute;
        top: -8px;
        right: 15%;
        color: #c8d7f5;
        font-size: 12px
    }

    .process-step i {
        position: relative;
        width: 62px;
        height: 62px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        margin: 10px auto 18px;
        background: var(--primary);
        color: #fff;
        font-size: 24px;
        box-shadow: 0 10px 25px rgba(21, 94, 239, .25)
    }

    .industry-card {
        height: 145px;
        border-radius: 18px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #fff;
        gap: 10px;
        background-size: cover;
        background-position: center;
        position: relative;
        overflow: hidden
    }

    .industry-card:before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(6, 18, 35, .25), rgba(6, 18, 35, .85))
    }

    .industry-card i,
    .industry-card span {
        position: relative;
        z-index: 1
    }

    .industry-card i {
        font-size: 32px
    }

    .industry-card span {
        font-weight: 800
    }

    .ind-1 {
        background-image: url('https://images.unsplash.com/photo-1565043589221-1a6fd9ae45c7?auto=format&fit=crop&w=600&q=80')
    }

    .ind-2 {
        background-image: url('https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?auto=format&fit=crop&w=600&q=80')
    }

    .ind-3 {
        background-image: url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=600&q=80')
    }

    .ind-4 {
        background-image: url('https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?auto=format&fit=crop&w=600&q=80')
    }

    .ind-5 {
        background-image: url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=600&q=80')
    }

    .ind-6 {
        background-image: url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=600&q=80')
    }

    .ind-7 {
        background-image: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=600&q=80')
    }

    .ind-8 {
        background-image: url('https://images.unsplash.com/photo-1529107386315-e1a2ed48a620?auto=format&fit=crop&w=600&q=80')
    }

    .case-card {
        border: 1px solid var(--line);
        border-radius: 24px;
        overflow: hidden;
        background: #fff;
        box-shadow: var(--shadow)
    }

    .case-image {
        min-height: 400px;
        height: 100%;
        background-size: cover;
        background-position: center
    }

    .case-image-1 {
        background-image: url('https://images.unsplash.com/photo-1565514020179-026b92b84bb6?auto=format&fit=crop&w=900&q=85')
    }

    .case-image-2 {
        background-image: url('https://images.unsplash.com/photo-1494412574643-ff11b0a5c1c3?auto=format&fit=crop&w=900&q=85')
    }

    .case-content {
        padding: 50px
    }

    .case-label {
        font-size: 11px;
        text-transform: uppercase;
        font-weight: 800;
        color: var(--primary);
        background: #eef4ff;
        border-radius: 20px;
        padding: 7px 12px
    }

    .case-content h3 {
        font-size: 32px;
        font-weight: 800;
        margin: 20px 0 14px
    }

    .case-content p {
        color: var(--muted);
        line-height: 1.7
    }

    .metrics {
        margin: 28px 0
    }

    .metrics strong,
    .metrics span {
        display: block
    }

    .metrics strong {
        font-size: 28px;
        color: var(--accent)
    }

    .metrics span {
        font-size: 10px;
        color: var(--muted)
    }

    .case-content>a {
        font-weight: 800;
        color: var(--primary)
    }

    .case-carousel .carousel-control-prev,
    .case-carousel .carousel-control-next {
        width: 45px;
        height: 45px;
        top: 50%;
        transform: translateY(-50%);
        background: #fff;
        border-radius: 50%;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
        opacity: 1
    }

    .case-carousel .carousel-control-prev {
        left: -22px
    }

    .case-carousel .carousel-control-next {
        right: -22px
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        filter: invert(1)
    }

    .tech-section {
        background: #071b36;
        color: #fff
    }

    .tech-row {
        display: flex;
        align-items: center;
        gap: 28px;
        overflow-x: auto;
        white-space: nowrap
    }

    .tech-row span {
        font-size: 13px;
        color: #d8e5f8
    }

    .review-head {
        display: flex;
        align-items: center;
        gap: 14px
    }

    .avatar {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: linear-gradient(135deg, #dce9ff, #b9d2ff);
        display: grid;
        place-items: center;
        color: var(--primary);
        font-weight: 800
    }

    .review-head strong,
    .review-head span {
        display: block
    }

    .review-head span {
        font-size: 11px;
        color: var(--muted)
    }

    .review-card p {
        margin: 22px 0;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.75
    }

    .stars {
        color: #ffb800;
        letter-spacing: 2px
    }

    .faq-accordion .accordion-item {
        border: 0;
        border-bottom: 1px solid var(--line);
        background: transparent
    }

    .faq-accordion .accordion-button {
        font-weight: 800;
        background: transparent;
        padding: 22px 0;
        box-shadow: none
    }

    .faq-accordion .accordion-body {
        padding: 0 0 24px;
        color: var(--muted);
        line-height: 1.7
    }

    .audit-section {
        padding: 40px 0 0;
        background: var(--soft)
    }

    .audit-box {
        padding: 44px;
        border-radius: 24px 24px 0 0;
        color: #fff;
        background: linear-gradient(120deg, #1459da, #215ee8 55%, #263dc4);
        box-shadow: 0 -15px 50px rgba(21, 94, 239, .18)
    }

    .audit-box h2 {
        font-size: 32px;
        margin-top: 10px
    }

    .audit-box p,
    .audit-box small {
        color: rgba(255, 255, 255, .75)
    }

    .audit-box .form-label {
        font-size: 10px;
        color: #dbe7ff;
        margin-bottom: 5px
    }

    .audit-box .form-control {
        border: 0;
        border-radius: 8px;
        min-height: 48px
    }

    .btn-success {
        background: #16b86b;
        border-color: #16b86b
    }

    .site-footer {
        background: #061326;
        color: #9eb0c7
    }

    .brand-light {
        color: #fff
    }

    .site-footer h3 {
        font-size: 13px;
        color: #fff;
        font-weight: 800;
        margin-bottom: 16px
    }

    .site-footer a,
    .site-footer p {
        display: block;
        color: #9eb0c7;
        font-size: 12px;
        margin-bottom: 10px
    }

    .site-footer a:hover {
        color: #fff
    }

    .footer-bottom {
        display: flex;
        gap: 28px;
        flex-wrap: wrap;
        border-top: 1px solid rgba(255, 255, 255, .1);
        padding: 20px 0;
        font-size: 11px
    }

    .footer-bottom a {
        margin: 0
    }

    @media(max-width:1199.98px) {
        .header-contact {
            margin-top: 15px
        }

        .min-vh-hero {
            padding: 60px 0
        }

        .ecosystem-visual {
            min-height: 470px
        }

        .process-grid {
            grid-template-columns: repeat(3, 1fr);
            row-gap: 35px
        }

        .process-grid:before {
            display: none
        }
    }

    @media(max-width:991.98px) {
        .section-space {
            padding: 72px 0
        }

        .hero-section h1 {
            font-size: 48px
        }

        .ecosystem-visual {
            min-height: 430px
        }

        .solution-map {
            min-height: 430px
        }

        .case-image {
            min-height: 300px
        }

        .case-content {
            padding: 34px
        }

        .case-carousel .carousel-control-prev {
            left: 10px
        }

        .case-carousel .carousel-control-next {
            right: 10px
        }
    }

    @media(max-width:767.98px) {
        .section-space {
            padding: 58px 0
        }

        .min-vh-hero {
            min-height: auto;
            padding: 48px 0
        }

        .hero-section h1 {
            font-size: 38px
        }

        .hero-lead {
            font-size: 15px
        }

        .ecosystem-visual {
            min-height: 380px
        }

        .core-card {
            width: 135px;
            height: 135px;
            border-radius: 32px
        }

        .eco-node {
            width: 82px;
            height: 82px;
            border-radius: 22px;
            font-size: 10px
        }

        .eco-node i {
            font-size: 23px
        }

        .solution-map {
            min-height: 510px
        }

        .solution-item {
            min-width: 100px;
            padding: 9px;
            font-size: 11px
        }

        .s1 {
            left: 38%
        }

        .process-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .case-content h3 {
            font-size: 25px
        }

        .metrics strong {
            font-size: 21px
        }

        .audit-box {
            padding: 30px 22px
        }

        .footer-bottom {
            flex-direction: column;
            gap: 6px
        }
    }

    @media(max-width:575.98px) {
        .container-main {
            padding-left: 20px;
            padding-right: 20px
        }

        .hero-stats .stat {
            grid-template-columns: 24px 1fr
        }

        .ecosystem-visual {
            min-height: 340px
        }

        .node-2 {
            left: 2%
        }

        .node-3 {
            right: 2%
        }

        .node-6 {
            display: none
        }

        .process-grid {
            grid-template-columns: 1fr 1fr
        }

        .industry-card {
            height: 120px
        }

        .case-content {
            padding: 28px 22px
        }

        .case-image {
            min-height: 240px
        }

        .metrics span {
            font-size: 9px
        }

        .tech-row {
            gap: 18px
        }

        .audit-box h2 {
            font-size: 27px
        }
    }