:root{
  --navy:#06192b;
  --navy-2:#0a2540;
  --blue:#0d63b7;
  --orange:#1e88ff;
  --orange-2:#0b4f91;
  --white:#ffffff;
  --soft:#f5f7fb;
  --muted:#8ea0b5;
  --line:rgba(255,255,255,.13);
  --shadow:0 30px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--navy);color:#122033;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 46px;background:rgba(4,17,31,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:.35s}
.site-header.scrolled{height:72px;background:rgba(4,17,31,.94)}
.brand img{height:58px;width:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.3))}
.nav{display:flex;gap:34px;color:#fff;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.nav a{opacity:.86;position:relative;transition:.3s}
.nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:2px;background:var(--orange);transition:.3s}
.nav a:hover{opacity:1;color:#fff}.nav a:hover:after{width:100%}
.header-action{display:flex;gap:18px;align-items:center}.phone{color:#fff;font-weight:900}.phone:before{content:"☎";color:var(--orange);margin-right:9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:6px;padding:16px 24px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.03em;transition:.3s;border:1px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,#2d9cff,#0d63b7);color:#fff;box-shadow:0 15px 35px rgba(30,136,255,.28)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 24px 45px rgba(30,136,255,.36)}
.btn-outline{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.03)}.btn-outline:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-3px)}
.burger{display:none;background:none;border:0;width:42px;height:42px}.burger span{display:block;height:2px;background:#fff;margin:7px 0}
.section{padding:110px 0;background:var(--soft)}.section-dark{background:radial-gradient(circle at top right,rgba(13,99,183,.25),transparent 34%),linear-gradient(135deg,#03101e,#071d33 55%,#020914);color:#fff;position:relative;overflow:hidden}.eyebrow{color:var(--orange);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:14px}.section-head{max-width:720px;margin-bottom:42px}.section-head h2{font-size:clamp(34px,4vw,58px);line-height:1.05;letter-spacing:-.04em;margin-bottom:18px;color:inherit}.section-head p{color:var(--muted);font-size:18px}
.hero{min-height:75vh;padding-top:150px;padding-bottom:70px}.hero-bg-mark{position:absolute;right:-80px;bottom:70px;font-size:170px;font-weight:800;color:rgba(255,255,255,.025);letter-spacing:-.08em;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}.hero-copy h1{font-size:clamp(56px,7vw,104px);line-height:.92;letter-spacing:-.06em;text-transform:uppercase;margin-bottom:28px}.hero-copy h1 span{color:#fff}.hero-copy h1 em{font-style:normal;color:var(--orange)}.lead{font-size:22px;color:#dbe7f6;max-width:570px;margin-bottom:34px}.hero-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:46px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trust-row div{border-left:2px solid var(--orange);padding-left:18px}.trust-row strong{display:block;color:#fff;text-transform:uppercase;font-size:13px}.trust-row span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.hero-visual{position:relative;min-height:640px}.hero-card{position:absolute;overflow:hidden;border-radius:2px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12);background:#000}.hero-card img{width:100%;height:100%;object-fit:cover;opacity:.95;transition:transform 1s ease}.hero-card:hover img{transform:scale(1.06)}.hero-card span{position:absolute;right:18px;bottom:18px;background:rgba(3,16,30,.75);backdrop-filter:blur(12px);color:#fff;font-weight:900;text-transform:uppercase;padding:12px 16px;border-left:3px solid var(--orange)}.hero-card-large{inset:0 0 230px 80px;clip-path:polygon(13% 0,100% 0,100% 100%,0 100%)}.hero-card-a{left:0;bottom:0;width:53%;height:290px}.hero-card-b{right:0;bottom:0;width:50%;height:320px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:36px;background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:14px;overflow:hidden}.stats div{padding:28px;background:rgba(255,255,255,.03)}.stats strong{display:block;font-size:42px;color:#fff;line-height:1}.stats span{color:var(--muted);font-weight:800;text-transform:uppercase;font-size:12px}
.services{background:#f5f7fb}.services .section-head h2,.process .section-head h2,.contact h2{color:#071d33}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;overflow:hidden;border-radius:14px;min-height:360px;box-shadow:0 20px 50px rgba(6,25,43,.12);background:#06192b;color:#fff}.service-card img{height:100%;width:100%;object-fit:cover;filter:brightness(.68);transition:.45s}.service-card:hover img{transform:scale(1.07);filter:brightness(.5)}.service-card div{position:absolute;left:0;right:0;bottom:0;padding:28px;background:linear-gradient(transparent,rgba(3,16,30,.95))}.service-card span{color:var(--orange);font-weight:900}.service-card h3{font-size:24px;margin:4px 0}.service-card p{color:#d6e2ee}
.references{padding-top:120px}.before-after{position:relative;height:620px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#000}.before-after>img,.before-layer img{width:100%;height:100%;object-fit:cover}.before-layer{position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:4px solid var(--orange)}.before-layer img{width:1180px;max-width:none}.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.ba-label{position:absolute;top:22px;padding:10px 16px;background:rgba(6,25,43,.85);color:#fff;font-weight:900;text-transform:uppercase}.ba-label.before{left:22px}.ba-label.after{right:22px;background:rgba(30,136,255,.9)}
.process{background:#fff}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.process-card{border:1px solid #e6ecf3;border-radius:16px;padding:34px;background:#fff;box-shadow:0 18px 45px rgba(6,25,43,.06)}.process-card span{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--orange);border-radius:50%;color:var(--orange);font-weight:900;margin-bottom:24px}.process-card h3{font-size:22px;margin-bottom:10px;color:#071d33}.process-card p{color:#617085}
.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 430px;gap:50px;align-items:start}.about h2,.contact h2{font-size:clamp(34px,4vw,56px);line-height:1.05;margin-bottom:20px}.about p{color:#cfe0f1;font-size:18px}.check-list{list-style:none;margin-top:28px}.check-list li{margin:12px 0;color:#fff}.check-list li:before{content:"✓";color:var(--orange);font-weight:900;margin-right:12px}.company-box{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:18px;padding:34px}.company-box h3{font-size:28px;color:var(--orange);margin-bottom:22px}.company-box p{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.09);color:#dbe7f6}
.contact{background:#fff}.contact p{font-size:18px;color:#617085}.contact-info{display:grid;gap:14px;margin-top:28px}.contact-info a,.contact-info span{font-weight:800;color:#0a2540}.contact-form{display:grid;gap:14px;background:#071d33;border-radius:20px;padding:28px;box-shadow:var(--shadow)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:16px;font:inherit}.contact-form textarea{min-height:130px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b7c3d2}.contact-form select{color:#b7c3d2}
.footer{background:#020914;color:#b9c6d6;padding:34px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer img{height:50px;width:auto}.footer a{color:#fff;font-weight:800}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:1000px){.site-header{padding:0 22px}.nav,.header-action{display:none}.burger{display:block}.nav.is-open{display:flex;position:absolute;left:20px;right:20px;top:78px;background:#06192b;border:1px solid var(--line);border-radius:16px;padding:22px;flex-direction:column}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{min-height:520px}.hero-card-large{inset:0 0 180px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.hero{padding-top:120px}.hero-copy h1{font-size:48px}.lead{font-size:18px}.hero-buttons{flex-direction:column}.trust-row,.service-grid,.process-grid,.stats{grid-template-columns:1fr}.hero-visual{min-height:480px}.hero-card-a,.hero-card-b{display:none}.before-after{height:420px}.before-layer img{width:calc(100vw - 28px)}.footer-grid{flex-direction:column;text-align:center}}

/* =========================================================
   GBMX / Nord Bau — HERO FINAL FIX + PREMIUM BLUEPRINT BG
   1) Hero ниже и компактнее
   2) Фото НЕ двигаются при скролле
   3) Фото двигаются только при наведении
   4) Фон живой: чертежные линии + мягкий неон
   5) Фон НЕ залезает поверх фотографий
========================================================= */

.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: auto;
    padding-top: 118px;
    padding-bottom: 42px;
}

/* Живой чертежный фон только в левой части hero */
.hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    opacity: .55;
    background-image:
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(115deg, transparent 0 46%, rgba(0, 170, 255, .14) 47% 48%, transparent 49%),
        linear-gradient(25deg, transparent 0 58%, rgba(30, 136, 255, .16) 59% 60%, transparent 61%);
    background-size:
        74px 74px,
        74px 74px,
        420px 220px,
        520px 260px;
    background-position:
        0 0,
        0 0,
        0 0,
        120px 80px;
    animation: blueprintBackgroundMove 18s linear infinite;
}

/* Мягкое неоновое свечение на фоне, тоже под контентом */
.hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    opacity: .7;
    background:
        radial-gradient(circle at 14% 24%, rgba(30, 136, 255, .22), transparent 18%),
        radial-gradient(circle at 62% 35%, rgba(0, 170, 255, .16), transparent 20%),
        radial-gradient(circle at 36% 76%, rgba(255, 255, 255, .08), transparent 18%),
        linear-gradient(90deg, transparent, rgba(30, 136, 255, .10), transparent);
    filter: blur(2px);
    animation: blueprintGlowMove 9s ease-in-out infinite alternate;
}

/* SVG-чертежи, если блок .blueprint-lines есть в HTML */
.blueprint-lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .28;
    overflow: hidden;
}

.blueprint-lines svg {
    width: 100%;
    height: 100%;
}

.blueprint-lines path,
.blueprint-lines rect,
.blueprint-lines circle,
.blueprint-lines line,
.blueprint-lines polyline {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    stroke-dasharray: 900;
    stroke-dashoffset: 900;
    animation: drawBlueprintLine 8s linear infinite;
}

.blueprint-lines path:nth-child(3n + 1),
.blueprint-lines rect:nth-child(3n + 1),
.blueprint-lines circle:nth-child(3n + 1),
.blueprint-lines line:nth-child(3n + 1),
.blueprint-lines polyline:nth-child(3n + 1) {
    stroke: rgba(255, 255, 255, .52);
}

.blueprint-lines path:nth-child(3n + 2),
.blueprint-lines rect:nth-child(3n + 2),
.blueprint-lines circle:nth-child(3n + 2),
.blueprint-lines line:nth-child(3n + 2),
.blueprint-lines polyline:nth-child(3n + 2) {
    stroke: rgba(0, 170, 255, .58);
    animation-delay: 1.2s;
}

.blueprint-lines path:nth-child(3n + 3),
.blueprint-lines rect:nth-child(3n + 3),
.blueprint-lines circle:nth-child(3n + 3),
.blueprint-lines line:nth-child(3n + 3),
.blueprint-lines polyline:nth-child(3n + 3) {
    stroke: rgba(30, 136, 255, .58);
    animation-delay: 2.1s;
}

/* Неоновые фигуры, если блок .hero-neon-bg есть в HTML */
.hero-neon-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.shape {
    position: absolute;
    display: block;
    opacity: .20;
    animation: floatShapePremium 12s ease-in-out infinite alternate;
}

.shape-1 {
    width: 150px;
    height: 150px;
    border: 2px solid rgba(30, 136, 255, .75);
    border-radius: 50%;
    left: 8%;
    top: 18%;
    box-shadow:
        0 0 8px rgba(30, 136, 255, .7),
        0 0 26px rgba(30, 136, 255, .35);
}

.shape-2 {
    width: 120px;
    height: 120px;
    border: 2px solid rgba(0, 170, 255, .75);
    right: 18%;
    top: 25%;
    transform: rotate(45deg);
    animation-delay: 1.4s;
    box-shadow:
        0 0 8px rgba(0, 170, 255, .65),
        0 0 26px rgba(0, 170, 255, .35);
}

.shape-3 {
    width: 130px;
    height: 130px;
    left: 36%;
    bottom: 18%;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: linear-gradient(135deg, rgba(30, 136, 255, .18), rgba(0, 170, 255, .10));
    border: 1px solid rgba(30, 136, 255, .40);
    animation-delay: 2.2s;
    filter: drop-shadow(0 0 18px rgba(30, 136, 255, .45));
}

.shape-4 {
    width: 260px;
    height: 2px;
    left: 16%;
    bottom: 32%;
    background: linear-gradient(90deg, transparent, rgba(30, 136, 255, .9), rgba(0, 170, 255, .65), transparent);
    box-shadow: 0 0 18px rgba(30, 136, 255, .45);
    animation-delay: 3s;
}

.shape-5 {
    width: 86px;
    height: 86px;
    border: 2px solid rgba(255, 255, 255, .42);
    border-radius: 18px;
    right: 28%;
    bottom: 22%;
    transform: rotate(18deg);
    animation-delay: 4s;
    box-shadow:
        0 0 8px rgba(255, 255, 255, .35),
        0 0 22px rgba(0, 170, 255, .20);
}

/* Контент выше фона */
.hero-grid,
.hero-copy {
    position: relative;
    z-index: 3;
}

/* Фото всегда выше анимированного фона */
.hero-visual {
    position: relative;
    z-index: 5;
    min-height: 500px;
    transform: none !important;
    will-change: auto;
}

.hero-card {
    position: absolute;
    z-index: 6;
    transform: none !important;
    will-change: auto;
    background: #000;
}

.hero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transform: none;
    transition: transform .55s ease, filter .55s ease;
    will-change: transform;
}

.hero-card:hover img {
    transform: scale(1.055);
    filter: saturate(1.06) contrast(1.04);
}

/* Гасим parallax/inline transform только на фото-блоках */
.hero-visual[style],
.hero-card[style] {
    transform: none !important;
}

/* Компактный hero */
.hero-grid {
    grid-template-columns: .92fr 1.08fr;
    gap: 36px;
    align-items: center;
}

.hero-copy h1 {
    font-size: clamp(44px, 5.4vw, 82px);
    line-height: .94;
    margin-bottom: 24px;
    text-shadow: 0 10px 35px rgba(0, 0, 0, .32);
}

.lead {
    font-size: 20px;
    max-width: 620px;
    margin-bottom: 28px;
}

.hero-buttons {
    margin-bottom: 34px;
}

.trust-row {
    gap: 14px;
}

.hero-card-large {
    inset: 0 0 175px 62px;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}

.hero-card-a {
    left: 0;
    bottom: 0;
    width: 52%;
    height: 235px;
}

.hero-card-b {
    right: 0;
    bottom: 0;
    width: 50%;
    height: 260px;
}

.hero-card span {
    padding: 10px 14px;
    font-size: 12px;
}

@keyframes blueprintBackgroundMove {
    0% {
        background-position:
            0 0,
            0 0,
            0 0,
            120px 80px;
    }

    100% {
        background-position:
            148px 74px,
            148px 74px,
            420px 220px,
            640px 340px;
    }
}

@keyframes blueprintGlowMove {
    0% {
        transform: translate(0, 0);
        opacity: .45;
    }

    100% {
        transform: translate(70px, -35px);
        opacity: .82;
    }
}

@keyframes drawBlueprintLine {
    0% {
        stroke-dashoffset: 900;
        opacity: 0;
    }

    14% {
        opacity: 1;
    }

    70% {
        stroke-dashoffset: 0;
        opacity: 1;
    }

    100% {
        stroke-dashoffset: -900;
        opacity: 0;
    }
}

@keyframes floatShapePremium {
    0% {
        translate: 0 0;
        rotate: 0deg;
    }

    100% {
        translate: 46px -34px;
        rotate: 16deg;
    }
}

/* Ноутбуки */
@media (max-width: 1200px) {
    .hero {
        padding-top: 108px;
        padding-bottom: 38px;
    }

    .hero-copy h1 {
        font-size: clamp(42px, 5vw, 72px);
    }

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

    .hero-card-large {
        inset: 0 0 160px 50px;
    }

    .hero-card-a {
        height: 215px;
    }

    .hero-card-b {
        height: 235px;
    }
}

/* Планшет */
@media (max-width: 1000px) {
    .hero {
        padding-top: 115px;
        padding-bottom: 55px;
    }

    .hero::before,
    .hero::after,
    .blueprint-lines,
    .hero-neon-bg {
        inset: 0;
    }

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

    .hero-copy h1 {
        font-size: clamp(44px, 9vw, 72px);
    }

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

    .hero-card-large {
        inset: 0 0 180px 0;
    }
}

/* Телефон */
@media (max-width: 640px) {
    .hero {
        padding-top: 110px;
        padding-bottom: 44px;
    }

    .hero::before,
    .hero::after,
    .blueprint-lines,
    .hero-neon-bg {
        opacity: .22;
    }

    .hero-copy h1 {
        font-size: 46px;
    }

    .lead {
        font-size: 18px;
    }

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

    .hero-card-large {
        inset: 0;
        clip-path: none;
    }

    .hero-card-a,
    .hero-card-b {
        display: none;
    }
}

/* Меньше анимаций, если пользователь отключил motion */
@media (prefers-reduced-motion: reduce) {
    .hero::before,
    .hero::after,
    .blueprint-lines path,
    .blueprint-lines rect,
    .blueprint-lines circle,
    .blueprint-lines line,
    .blueprint-lines polyline,
    .shape {
        animation: none !important;
    }
}


/* =========================================================
   GBMX / Nord Bau — PREMIUM WHITE SERVICES BLOCK
   Светлый второй блок как на утвержденном референсе
========================================================= */

.premium-services {
    position: relative;
    overflow: hidden;
    padding: 92px 0 84px;
    background:
        linear-gradient(180deg, rgba(245, 247, 251, .96), rgba(255, 255, 255, .98)),
        #f5f7fb;
    color: #06192b;
}

.premium-services::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(6, 25, 43, .045) 1px, transparent 1px),
        linear-gradient(rgba(6, 25, 43, .035) 1px, transparent 1px);
    background-size: 84px 84px;
    opacity: .34;
}

.premium-blueprint {
    position: absolute;
    top: -60px;
    right: -80px;
    width: 62%;
    height: 340px;
    opacity: .18;
    pointer-events: none;
    background:
        linear-gradient(120deg, transparent 0 48%, rgba(6, 25, 43, .35) 49% 50%, transparent 51%),
        linear-gradient(24deg, transparent 0 54%, rgba(6, 25, 43, .32) 55% 56%, transparent 57%),
        linear-gradient(90deg, transparent 0 20%, rgba(6, 25, 43, .25) 21% 21.4%, transparent 22%),
        linear-gradient(rgba(6, 25, 43, .20) 1px, transparent 1px),
        linear-gradient(90deg, rgba(6, 25, 43, .20) 1px, transparent 1px);
    background-size: 460px 220px, 520px 260px, 190px 120px, 38px 38px, 38px 38px;
    transform: rotate(-2deg);
    animation: premiumBlueprintDrift 18s linear infinite;
}

.premium-services > .container {
    position: relative;
    z-index: 2;
}

.premium-services-head {
    display: grid;
    grid-template-columns: minmax(0, 720px) 1fr;
    gap: 36px;
    align-items: end;
    margin-bottom: 26px;
}

.premium-services-head .eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 12px;
    color: var(--orange);
}

.premium-services-head .eyebrow::after {
    content: "";
    width: 74px;
    height: 2px;
    background: var(--orange);
}

.premium-services-head h2 {
    max-width: 720px;
    font-size: clamp(44px, 5.7vw, 82px);
    line-height: .92;
    letter-spacing: -.065em;
    text-transform: uppercase;
    color: #06192b;
    margin-bottom: 18px;
}

.premium-services-head h2 em {
    font-style: normal;
    color: var(--orange);
}

.premium-services-head p {
    max-width: 660px;
    font-size: 18px;
    line-height: 1.55;
    color: #33465b;
}

.premium-note {
    justify-self: end;
    margin-bottom: 12px;
    color: #06192b;
    font-family: "Segoe Script", "Brush Script MT", cursive;
    font-size: 28px;
    line-height: 1.15;
    transform: rotate(-4deg);
}

.premium-note span,
.premium-note strong {
    display: block;
    font-weight: 500;
}

.premium-note strong {
    position: relative;
}

.premium-note strong::after {
    content: "";
    position: absolute;
    left: 18px;
    right: -18px;
    bottom: -9px;
    height: 3px;
    background: var(--orange);
    border-radius: 999px;
}

.service-badges {
    display: flex;
    gap: 42px;
    align-items: center;
    flex-wrap: wrap;
    margin: 24px 0 38px;
}

.service-badges div {
    display: grid;
    grid-template-columns: 34px auto;
    column-gap: 12px;
    align-items: center;
}

.service-badges span {
    grid-row: span 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 2px solid var(--orange);
    border-radius: 50%;
    color: var(--orange);
    font-weight: 900;
}

.service-badges strong {
    font-size: 13px;
    line-height: 1;
    color: #06192b;
    text-transform: uppercase;
}

.service-badges small {
    color: #52677c;
    font-weight: 700;
}

.premium-service-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
}

.premium-service-card {
    position: relative;
    grid-column: span 2;
    min-height: 260px;
    overflow: hidden;
    border-radius: 12px;
    background: #06192b;
    box-shadow: 0 22px 55px rgba(6, 25, 43, .16);
    isolation: isolate;
}

.premium-service-card.card-wide {
    grid-column: span 3;
    min-height: 290px;
}

.premium-service-card.card-full {
    grid-column: 1 / -1;
    min-height: 330px;
}

.premium-service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(90deg, rgba(3, 16, 30, .92) 0%, rgba(3, 16, 30, .76) 34%, rgba(3, 16, 30, .16) 100%),
        linear-gradient(180deg, transparent 58%, rgba(30, 136, 255, .09));
    transition: .45s ease;
}

.premium-service-card::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    z-index: 4;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--orange), transparent);
    opacity: .72;
    transform: scaleX(.55);
    transition: .45s ease;
}

.premium-service-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 1;
    filter: saturate(.92) contrast(1.02);
    transform: scale(1.01);
    transition: transform .65s ease, filter .65s ease;
}

.premium-card-content {
    position: relative;
    z-index: 5;
    height: 100%;
    max-width: 360px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.premium-card-content .service-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    color: var(--orange);
    border: 1px solid rgba(30, 136, 255, .48);
    border-radius: 10px;
    background: rgba(30, 136, 255, .07);
    font-size: 24px;
    box-shadow: 0 0 25px rgba(30, 136, 255, .13);
}

.premium-card-content small {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: var(--orange);
    font-weight: 900;
    letter-spacing: .04em;
    margin-bottom: 12px;
}

.premium-card-content small::after {
    content: "";
    width: 44px;
    height: 2px;
    background: var(--orange);
}

.premium-card-content h3 {
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.05;
    text-transform: uppercase;
    margin-bottom: 12px;
    letter-spacing: -.025em;
}

.premium-card-content p {
    color: #dbe7f6;
    line-height: 1.45;
    margin-bottom: 26px;
}

.premium-card-content a {
    color: var(--orange);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .05em;
}

.premium-service-card:hover img {
    transform: scale(1.075);
    filter: saturate(1.08) contrast(1.06);
}

.premium-service-card:hover::before {
    background:
        linear-gradient(90deg, rgba(3, 16, 30, .96) 0%, rgba(3, 16, 30, .66) 40%, rgba(3, 16, 30, .06) 100%),
        linear-gradient(180deg, transparent 54%, rgba(30, 136, 255, .14));
}

.premium-service-card:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

@keyframes premiumBlueprintDrift {
    0% {
        background-position: 0 0, 0 0, 0 0, 0 0, 0 0;
    }
    100% {
        background-position: 460px 220px, 520px 260px, 190px 120px, 76px 76px, 76px 76px;
    }
}

@media (max-width: 1000px) {
    .premium-services-head {
        grid-template-columns: 1fr;
    }

    .premium-note {
        justify-self: start;
    }

    .premium-service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .premium-service-card,
    .premium-service-card.card-wide,
    .premium-service-card.card-full {
        grid-column: span 1;
        min-height: 300px;
    }
}

@media (max-width: 640px) {
    .premium-services {
        padding: 72px 0 62px;
    }

    .premium-services-head h2 {
        font-size: 42px;
    }

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

    .premium-service-card,
    .premium-service-card.card-wide,
    .premium-service-card.card-full {
        min-height: 310px;
    }

    .premium-card-content {
        padding: 26px;
    }

    .service-badges {
        gap: 18px;
    }
}

/* =========================================================
   GBMX / Nord Bau — SERVICES HEAD REWORK
   Делает верх второго блока не как визитку, а как премиальный сайт:
   слева сильный заголовок, справа смысловая карточка доверия.
========================================================= */

.premium-services {
    padding-top: 88px;
}

.premium-services-head {
    grid-template-columns: minmax(0, 680px) minmax(360px, 460px);
    align-items: center;
    gap: 56px;
    margin-bottom: 30px;
}

.premium-services-head h2 {
    margin-bottom: 20px;
}

.premium-services-head p {
    font-size: 19px;
}

.premium-note {
    display: none;
}

.premium-proof-card {
    position: relative;
    overflow: hidden;
    justify-self: stretch;
    padding: 34px 34px 30px;
    border-radius: 20px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(6, 25, 43, .98), rgba(10, 37, 64, .94)),
        #06192b;
    box-shadow:
        0 28px 70px rgba(6, 25, 43, .22),
        inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.premium-proof-card::before {
    content: "";
    position: absolute;
    right: -90px;
    top: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(30, 136, 255, .28), transparent 67%);
    filter: blur(4px);
}

.premium-proof-card::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .20;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(30,136,255,.22) 49% 50%, transparent 51%);
    background-size: 38px 38px, 38px 38px, 260px 160px;
}

.proof-kicker,
.premium-proof-card h3,
.premium-proof-card p,
.proof-steps,
.premium-proof-card ul {
    position: relative;
    z-index: 2;
}

.proof-kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--orange);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .11em;
    margin-bottom: 14px;
}

.proof-kicker::after {
    content: "";
    width: 54px;
    height: 2px;
    background: var(--orange);
}

.premium-proof-card h3 {
    max-width: 340px;
    font-size: 34px;
    line-height: 1.05;
    letter-spacing: -.04em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.premium-proof-card p {
    color: #cfe0f1;
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 22px;
}

.proof-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 22px;
}

.proof-steps span {
    display: grid;
    place-items: center;
    min-height: 42px;
    border: 1px solid rgba(30, 136, 255, .34);
    border-radius: 10px;
    background: rgba(30, 136, 255, .08);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.premium-proof-card ul {
    list-style: none;
    display: grid;
    gap: 10px;
}

.premium-proof-card li {
    color: #fff;
    font-weight: 800;
    font-size: 14px;
}

.premium-proof-card li::before {
    content: "✓";
    color: var(--orange);
    margin-right: 10px;
    font-weight: 900;
}

.service-badges {
    padding: 18px 22px;
    border: 1px solid rgba(6, 25, 43, .08);
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 50px rgba(6,25,43,.06);
    width: fit-content;
    max-width: 100%;
}

.premium-service-grid {
    margin-top: 8px;
}

/* HERO FIX — линии под фото, фото не ломаются */
.hero-visual {
    position: relative;
    z-index: 10;
}

.hero-card {
    position: absolute;
    z-index: 11;
}

.hero-card img {
    position: static;
}

/* HERO LINES — линии по всему hero, но плавно исчезают перед фотографиями */
.hero::before,
.hero::after,
.blueprint-lines,
.hero-neon-bg {
    -webkit-mask-image: linear-gradient(
        to right,
        #000 0%,
        #000 45%,
        rgba(0,0,0,.38) 55%,
        rgba(0,0,0,.08) 64%,
        transparent 72%
    );
    mask-image: linear-gradient(
        to right,
        #000 0%,
        #000 45%,
        rgba(0,0,0,.38) 55%,
        rgba(0,0,0,.08) 64%,
        transparent 72%
    );
}

/* =========================================================
   GBMX / Nord Bau — PREMIUM SHOWCASE REFERENCES
   Новый третий блок: before/after + project details + tabs
========================================================= */

.showcase-references {
    position: relative;
    padding: 110px 0 100px;
    background:
        radial-gradient(circle at 80% 20%, rgba(13,99,183,.22), transparent 32%),
        linear-gradient(135deg,#03101e,#071d33 55%,#020914);
}

.references-blueprint {
    position: absolute;
    inset: 0;
    opacity: .16;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(30,136,255,.16) 49% 50%, transparent 51%);
    background-size: 72px 72px, 72px 72px, 420px 240px;
}

.showcase-references > .container {
    position: relative;
    z-index: 2;
}

.showcase-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 620px;
    gap: 60px;
    align-items: end;
    margin-bottom: 44px;
}

.showcase-top h2 {
    font-size: clamp(44px, 5.2vw, 78px);
    line-height: .92;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.showcase-top h2 em {
    color: var(--orange);
    font-style: normal;
}

.showcase-top p {
    max-width: 560px;
    color: #cfe0f1;
    font-size: 18px;
    margin-top: 18px;
}

.showcase-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
    backdrop-filter: blur(12px);
    border-radius: 18px;
    overflow: hidden;
}

.showcase-stats div {
    padding: 28px;
    border-right: 1px solid rgba(255,255,255,.10);
}

.showcase-stats div:last-child {
    border-right: 0;
}

.showcase-stats strong {
    display: block;
    color: #fff;
    font-size: 34px;
    line-height: 1;
}

.showcase-stats span {
    display: block;
    margin-top: 10px;
    color: #9fb1c5;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.showcase-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 34px;
    align-items: stretch;
}

.premium-before-after {
    height: 520px;
    border-radius: 20px;
}

.premium-before-after .before-layer {
    border-right: 3px solid var(--orange);
}

.ba-handle {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 8;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--orange);
    font-weight: 900;
    box-shadow: 0 18px 45px rgba(0,0,0,.25);
    pointer-events: none;
}

.project-details {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    padding: 28px;
    background: rgba(3,16,30,.62);
    backdrop-filter: blur(16px);
    box-shadow: var(--shadow);
}

.project-details > p {
    color: var(--orange);
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 22px;
}

.project-row {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 14px;
    padding: 17px 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.project-row span {
    color: var(--orange);
    font-size: 22px;
}

.project-row small {
    display: block;
    color: #9fb1c5;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 11px;
}

.project-row strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
}

.project-btn {
    width: 100%;
    margin-top: 26px;
}

.reference-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    margin-top: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.03);
}

.reference-tabs button {
    min-height: 74px;
    border: 0;
    border-right: 1px solid rgba(255,255,255,.10);
    background: transparent;
    color: #9fb1c5;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
    transition: .3s ease;
}

.reference-tabs button:last-child {
    border-right: 0;
}

.reference-tabs button.active,
.reference-tabs button:hover {
    color: #fff;
    box-shadow: inset 0 3px 0 var(--orange);
    background: rgba(255,255,255,.035);
}

@media (min-width: 1201px) {
    .premium-services-head {
        min-height: 300px;
    }

    .premium-services-head h2 {
        font-size: clamp(58px, 5.4vw, 86px);
    }
}

@media (max-width: 1000px) {
    .premium-services-head {
        grid-template-columns: 1fr;
        gap: 28px;
        margin-bottom: 26px;
    }

    .premium-proof-card {
        max-width: 100%;
    }

    .service-badges {
        width: 100%;
    }

    .showcase-top,
    .showcase-grid {
        grid-template-columns: 1fr;
    }

    .showcase-stats {
        grid-template-columns: repeat(3, 1fr);
    }

    .reference-tabs {
        grid-template-columns: 1fr;
    }

    .premium-before-after {
        height: 430px;
    }
}

@media (max-width: 640px) {
    .premium-services-head h2 {
        font-size: 40px;
    }

    .premium-proof-card {
        padding: 26px;
    }

    .premium-proof-card h3 {
        font-size: 27px;
    }

    .proof-steps,
    .showcase-stats {
        grid-template-columns: 1fr;
    }

    .showcase-references {
        padding: 72px 0 70px;
    }

    .showcase-top {
        gap: 24px;
        margin-bottom: 28px;
    }

    .showcase-top h2 {
        font-size: 40px;
    }

    .showcase-stats div {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .showcase-stats div:last-child {
        border-bottom: 0;
    }

    .premium-before-after {
        height: 360px;
    }

    .ba-handle {
        width: 52px;
        height: 52px;
    }

    .project-details {
        padding: 22px;
    }
}


/* =========================================================
   NORD BAU — PREMIUM REFERENCES FINAL POLISH
   Сужаем верх блока, делаем карточку компактнее и дороже
========================================================= */

.showcase-references {
    padding: 96px 0 94px;
}

.showcase-references > .container {
    width: min(1120px, calc(100% - 48px));
    padding: 42px 34px 34px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
        rgba(3,16,30,.16);
    box-shadow:
        0 35px 100px rgba(0,0,0,.28),
        inset 0 0 0 1px rgba(255,255,255,.025);
    backdrop-filter: blur(10px);
}

.showcase-top {
    grid-template-columns: minmax(320px, 410px) minmax(420px, 540px);
    gap: 42px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.showcase-top h2 {
    font-size: clamp(42px, 4.25vw, 64px);
    line-height: .94;
    letter-spacing: -.055em;
}

.showcase-top p {
    max-width: 430px;
    font-size: 16px;
    line-height: 1.55;
    margin-top: 16px;
}

.showcase-stats {
    justify-self: end;
    width: min(100%, 540px);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
    box-shadow: 0 22px 65px rgba(0,0,0,.16);
}

.showcase-stats div {
    padding: 20px 22px;
}

.showcase-stats strong {
    font-size: 30px;
}

.showcase-stats span {
    font-size: 10.5px;
    line-height: 1.35;
    margin-top: 8px;
}

.showcase-grid {
    grid-template-columns: minmax(0, 1fr) 306px;
    gap: 28px;
}

.premium-before-after {
    height: 440px;
    border-radius: 18px;
}

.premium-before-after > img,
.premium-before-after .before-layer img {
    object-position: center center;
}

.premium-before-after .before-layer img {
    max-width: none;
}

.ba-label {
    top: 18px;
    padding: 9px 14px;
    font-size: 11px;
    border-radius: 4px;
}

.ba-handle {
    width: 58px;
    height: 58px;
    font-size: 18px;
}

.project-details {
    padding: 24px;
    border-radius: 18px;
}

.project-row {
    grid-template-columns: 30px 1fr;
    gap: 12px;
    padding: 14px 0;
}

.project-row strong {
    font-size: 14px;
}

.project-btn {
    margin-top: 22px;
    padding: 15px 18px;
    font-size: 12px;
}

.reference-tabs {
    margin-top: 26px;
    border-radius: 14px;
}

.reference-tabs button {
    min-height: 66px;
    font-size: 12px;
}

@media (max-width: 1000px) {
    .showcase-references > .container {
        width: min(100% - 32px, 760px);
        padding: 30px 20px 24px;
    }

    .showcase-top {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 28px;
    }

    .showcase-stats {
        justify-self: stretch;
        width: 100%;
    }

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

    .premium-before-after {
        height: 420px;
    }
}

@media (max-width: 640px) {
    .showcase-references {
        padding: 64px 0;
    }

    .showcase-references > .container {
        width: min(100% - 24px, 520px);
        padding: 24px 14px 18px;
        border-radius: 18px;
    }

    .showcase-top h2 {
        font-size: 38px;
    }

    .showcase-top p {
        font-size: 15px;
    }

    .showcase-stats {
        grid-template-columns: 1fr;
    }

    .showcase-stats div {
        padding: 18px;
    }

    .premium-before-after {
        height: 340px;
        border-radius: 14px;
    }

    .project-details {
        padding: 20px;
    }

    .reference-tabs button {
        min-height: 58px;
    }
}

/* =========================================================
   NORD BAU — PREMIUM ABLAUF BLOCK
   Заголовок справа + живой движущийся blueprint-фон
========================================================= */

.premium-process {
    position: relative;
    overflow: hidden;
    padding: 105px 0 96px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,252,.98)),
        #fff;
    color: #06192b;
}

.process-moving-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .58;
    background-image:
        linear-gradient(90deg, rgba(6,25,43,.055) 1px, transparent 1px),
        linear-gradient(rgba(6,25,43,.045) 1px, transparent 1px),
        linear-gradient(120deg, transparent 0 47%, rgba(30,136,255,.18) 48% 48.5%, transparent 49.5%),
        linear-gradient(25deg, transparent 0 58%, rgba(13,99,183,.13) 59% 59.5%, transparent 60.5%);
    background-size:
        86px 86px,
        86px 86px,
        520px 280px,
        620px 300px;
    animation: processBlueprintMove 34s linear infinite;
}

.process-moving-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 26%, rgba(30,136,255,.10), transparent 20%),
        radial-gradient(circle at 78% 18%, rgba(13,99,183,.10), transparent 24%),
        linear-gradient(90deg, rgba(255,255,255,.82), transparent 34%, transparent 70%, rgba(255,255,255,.75));
}

.process-bg-word {
    position: absolute;
    left: 34%;
    top: 42px;
    font-size: clamp(120px, 18vw, 260px);
    line-height: .8;
    font-weight: 900;
    letter-spacing: -.09em;
    color: rgba(6,25,43,.045);
    pointer-events: none;
    user-select: none;
    text-transform: uppercase;
}

.premium-process > .container {
    position: relative;
    z-index: 2;
}

.process-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
    gap: 60px;
    align-items: end;
    margin-bottom: 48px;
}

.process-head-left {
    min-height: 210px;
    border-left: 3px solid var(--orange);
    padding-left: 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #06192b;
    opacity: .82;
}

.process-head-left span {
    color: var(--orange);
    font-weight: 900;
    letter-spacing: .12em;
    font-size: 13px;
    text-transform: uppercase;
}

.process-head-left strong {
    display: block;
    margin-top: 8px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .95;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.process-head-content {
    justify-self: end;
    max-width: 500px;
    padding: 34px;
    border: 1px solid rgba(6,25,43,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.74);
    backdrop-filter: blur(14px);
    box-shadow: 0 24px 70px rgba(6,25,43,.08);
}

.process-head-content .eyebrow {
    margin-bottom: 12px;
}

.process-head-content h2 {
    color: #06192b;
    font-size: clamp(42px, 4.8vw, 70px);
    line-height: .92;
    letter-spacing: -.06em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.process-head-content h2 em {
    color: var(--orange);
    font-style: normal;
}

.process-head-content p:last-child {
    color: #52677c;
    font-size: 17px;
    line-height: 1.55;
}

.premium-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
    margin-bottom: 30px;
}

.premium-process-grid::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 78px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(30,136,255,.74), transparent);
    z-index: 0;
}

.premium-process-card {
    position: relative;
    z-index: 1;
    min-height: 330px;
    padding: 34px 28px 30px;
    border-radius: 22px;
    border: 1px solid rgba(6,25,43,.10);
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.82));
    box-shadow: 0 24px 65px rgba(6,25,43,.09);
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.premium-process-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .35;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(6,25,43,.05) 1px, transparent 1px),
        linear-gradient(rgba(6,25,43,.04) 1px, transparent 1px);
    background-size: 34px 34px;
}

.premium-process-card::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--orange), transparent);
    transform: scaleX(.35);
    opacity: .65;
    transition: .35s ease;
}

.premium-process-card:hover {
    transform: translateY(-8px);
    border-color: rgba(30,136,255,.26);
    box-shadow: 0 34px 80px rgba(6,25,43,.14);
}

.premium-process-card:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

.process-number{
    position:absolute;
    top:28px;
    left:28px;

    width:88px;
    height:88px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:54px;
    font-weight:900;
    line-height:1;

    color:var(--orange);

    border:1.5px solid rgba(30,136,255,.35);
    border-radius:50%;

    background:rgba(255,255,255,.82);

    box-shadow:
            0 8px 25px rgba(30,136,255,.08),
            inset 0 0 0 1px rgba(255,255,255,.4);

    z-index:5;
}

.process-icon {
    position: relative;
    z-index: 2;
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    margin-bottom: 28px;
    border-radius: 24px;
    background: rgba(6,25,43,.045);
    color: var(--orange);
    font-size: 34px;
}

.premium-process-card h3,
.premium-process-card p {
    position: relative;
    z-index: 2;
}

.premium-process-card h3 {
    color: #06192b;
    font-size: 24px;
    line-height: 1.08;
    margin-bottom: 14px;
}

.premium-process-card p {
    color: #52677c;
    font-size: 15px;
    line-height: 1.55;
}

.process-bottom-note {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(6,25,43,.09);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 22px 60px rgba(6,25,43,.07);
}

.process-bottom-note div {
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 14px;
    align-items: center;
    padding: 22px 28px;
    background: rgba(255,255,255,.64);
}

.process-bottom-note span {
    grid-row: span 2;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(30,136,255,.42);
    color: var(--orange);
    font-weight: 900;
}

.process-bottom-note strong {
    color: #06192b;
    font-size: 16px;
    line-height: 1.1;
}

.process-bottom-note small {
    color: #6a7c90;
    font-size: 13px;
    font-weight: 700;
}

@keyframes processBlueprintMove {
    0% {
        background-position: 0 0, 0 0, 0 0, 120px 40px;
    }
    100% {
        background-position: 172px 86px, 172px 86px, 520px 280px, 740px 340px;
    }
}

@media (max-width: 1000px) {
    .process-head,
    .premium-process-grid,
    .process-bottom-note {
        grid-template-columns: 1fr;
    }

    .process-head-content {
        justify-self: stretch;
        max-width: none;
    }

    .process-head-left {
        min-height: auto;
        padding: 0 0 0 22px;
    }

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

    .premium-process-card {
        min-height: auto;
    }
}

@media (max-width: 640px) {
    .premium-process {
        padding: 74px 0 70px;
    }

    .process-bg-word {
        left: 8%;
        top: 30px;
        font-size: 92px;
    }

    .process-head {
        gap: 24px;
        margin-bottom: 30px;
    }

    .process-head-content {
        padding: 26px;
    }

    .process-head-content h2 {
        font-size: 38px;
    }

    .process-bottom-note div {
        padding: 20px;
    }
}



/* =========================================================
   NORD BAU — ABLAUF BLOCK EXACT REFERENCE STYLE
========================================================= */
.blueprint-process{
  position:relative; overflow:hidden; isolation:isolate;
  padding:86px 0 78px; color:#06192b;
  background:
    radial-gradient(circle at 72% 12%,rgba(255,255,255,.98),rgba(255,255,255,.70) 36%,transparent 58%),
    linear-gradient(180deg,#f8fafc 0%,#fff 54%,#f4f7fb 100%);
}
.blueprint-process::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.43;
  background-image:
    linear-gradient(90deg,rgba(13,99,183,.13) 1px,transparent 1px),
    linear-gradient(rgba(13,99,183,.09) 1px,transparent 1px),
    linear-gradient(135deg,transparent 0 48%,rgba(13,99,183,.16) 49% 50%,transparent 51%),
    linear-gradient(25deg,transparent 0 56%,rgba(30,136,255,.18) 57% 58%,transparent 59%);
  background-size:86px 86px,86px 86px,520px 300px,460px 260px;
  background-position:0 0,0 0,-80px -40px,120px 60px;
  animation:processBlueprintMove 42s linear infinite;
}
.blueprint-process::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 18% 26%,rgba(13,99,183,.10),transparent 24%),
    radial-gradient(circle at 82% 76%,rgba(30,136,255,.10),transparent 22%),
    linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.48) 45%,rgba(255,255,255,.96) 100%);
}
.process-moving-bg{
  position:absolute; inset:-10% -6%; z-index:0; pointer-events:none; opacity:.46;
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(13,99,183,.24) 8.15% 8.35%,transparent 8.55%),
    linear-gradient(0deg,transparent 0 22%,rgba(13,99,183,.16) 22.1% 22.25%,transparent 22.45%),
    linear-gradient(135deg,transparent 0 48%,rgba(30,136,255,.18) 48.3% 48.7%,transparent 49%),
    radial-gradient(circle at 8% 18%,rgba(13,99,183,.20) 0 1px,transparent 2px);
  background-size:480px 280px,520px 330px,640px 360px,42px 42px;
  animation:processPlanFloat 30s ease-in-out infinite alternate;
}
.blueprint-process .container{position:relative;z-index:2;width:min(1320px,calc(100% - 72px));}
.process-bg-word,.process-head,.process-head-left{display:none!important;}
.process-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,560px);min-height:250px;align-items:start;margin-bottom:16px;}
.process-hero-space{min-height:190px;}
.process-title-block{justify-self:start;max-width:620px;padding-top:8px;}
.process-title-block .eyebrow{position:relative;color:var(--orange);font-size:15px;letter-spacing:.12em;margin-bottom:18px;}
.process-title-block .eyebrow::after{content:"";display:block;width:64px;height:2px;margin-top:13px;background:var(--orange);border-radius:999px;}
.process-title-block h2{margin:0 0 18px;font-size:clamp(54px,5.2vw,82px);line-height:.92;letter-spacing:-.065em;text-transform:uppercase;color:#071d33;}
.process-title-block h2 em{display:inline-block;font-style:normal;color:var(--orange);text-shadow:0 8px 24px rgba(30,136,255,.16);}
.process-title-block p:not(.eyebrow){max-width:560px;color:#33465b;font-size:18px;line-height:1.55;}
.premium-process-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:-2px;}
.premium-process-card{
  position:relative;min-height:298px;padding:42px 34px 30px;overflow:visible;
  border:1px solid rgba(6,25,43,.10);border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.74)),rgba(255,255,255,.92);
  box-shadow:0 24px 55px rgba(6,25,43,.10),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(14px);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.premium-process-card:nth-child(1),.premium-process-card:nth-child(4){transform:translateY(-2px);}
.premium-process-card:nth-child(2),.premium-process-card:nth-child(3){transform:translateY(4px);}
.premium-process-card:hover{transform:translateY(-10px);border-color:rgba(30,136,255,.24);box-shadow:0 34px 75px rgba(6,25,43,.15),0 0 0 1px rgba(30,136,255,.08);}
.premium-process-card::before{
  content:"";position:absolute;inset:1px;border-radius:21px;pointer-events:none;
  background:linear-gradient(135deg,rgba(13,99,183,.08),transparent 40%),radial-gradient(circle at 78% 14%,rgba(30,136,255,.10),transparent 26%);
  opacity:.75;
}
.premium-process-card::after{
  content:"";position:absolute;top:105px;right:-31px;width:34px;height:2px;
  background:linear-gradient(90deg,var(--orange),rgba(30,136,255,.16));box-shadow:0 0 16px rgba(30,136,255,.28);z-index:4;
}
.premium-process-card:last-child::after{display:none;}
.process-number{position:relative;z-index:2;display:inline-flex;align-items:flex-start;flex-direction:column;color:var(--orange);font-size:42px;line-height:.9;font-weight:900;letter-spacing:-.05em;margin-bottom:64px;}
.process-number::after{content:"";width:36px;height:2px;margin-top:16px;background:var(--orange);border-radius:999px;}
.process-icon{
  position:absolute;z-index:3;top:36px;right:38px;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(145deg,#fff,#f4f7fb);border:5px solid rgba(255,255,255,.86);
  box-shadow:0 18px 38px rgba(6,25,43,.10),inset 0 0 0 1px rgba(6,25,43,.08);
  color:#071d33;font-size:38px;font-weight:900;
}
.process-icon::after{content:"";position:absolute;right:-6px;top:38px;width:16px;height:16px;border-radius:50%;background:var(--orange);border:4px solid #fff;box-shadow:0 0 0 1px rgba(30,136,255,.18),0 0 18px rgba(30,136,255,.35);}
.premium-process-card h3{position:relative;z-index:2;margin:0 0 12px;color:#071d33;font-size:24px;line-height:1.1;letter-spacing:-.035em;}
.premium-process-card i{position:relative;z-index:2;display:block;width:28px;height:2px;background:var(--orange);margin-bottom:18px;border-radius:999px;}
.premium-process-card p{position:relative;z-index:2;max-width:260px;color:#34475f;font-size:15px;line-height:1.55;}
.premium-process-card a{position:absolute;z-index:3;right:30px;bottom:28px;color:var(--orange);font-size:30px;line-height:1;font-weight:300;transition:transform .3s ease;}
.premium-process-card:hover a{transform:translateX(5px);}
.process-bottom-note{
  width:min(980px,88%);margin:34px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid rgba(6,25,43,.10);border-radius:18px;background:rgba(255,255,255,.80);
  box-shadow:0 24px 55px rgba(6,25,43,.09),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(14px);overflow:hidden;
}
.process-bottom-note div{min-height:82px;display:grid;grid-template-columns:58px auto;column-gap:16px;align-items:center;padding:18px 34px;border-right:1px solid rgba(6,25,43,.10);}
.process-bottom-note div:last-child{border-right:0;}
.process-bottom-note span{grid-row:span 2;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:var(--orange);border:1px solid rgba(30,136,255,.22);background:rgba(255,255,255,.72);box-shadow:0 12px 24px rgba(6,25,43,.06);font-weight:900;}
.process-bottom-note strong{color:#071d33;font-size:17px;line-height:1.1;}
.process-bottom-note small{color:#52677c;font-size:14px;line-height:1.2;}
@keyframes processBlueprintMove{0%{background-position:0 0,0 0,-80px -40px,120px 60px;}100%{background-position:172px 86px,172px 86px,440px 260px,580px 320px;}}
@keyframes processPlanFloat{0%{transform:translate3d(-18px,-8px,0) scale(1.02);}100%{transform:translate3d(42px,22px,0) scale(1.04);}}
@media(max-width:1180px){
  .blueprint-process .container{width:min(1120px,calc(100% - 44px));}
  .process-hero{grid-template-columns:.75fr 1fr;}
  .premium-process-grid{gap:18px;}
  .premium-process-card{padding:36px 24px 28px;}
  .process-icon{width:78px;height:78px;right:24px;font-size:32px;}
}
@media(max-width:1000px){
  .process-hero{grid-template-columns:1fr;min-height:auto;margin-bottom:36px;}
  .process-hero-space{display:none;}
  .process-title-block{max-width:760px;}
  .premium-process-grid{grid-template-columns:repeat(2,1fr);}
  .premium-process-card::after{display:none;}
  .process-bottom-note{width:100%;grid-template-columns:1fr;}
  .process-bottom-note div{border-right:0;border-bottom:1px solid rgba(6,25,43,.10);}
  .process-bottom-note div:last-child{border-bottom:0;}
}
@media(max-width:640px){
  .blueprint-process{padding:74px 0 62px;}
  .blueprint-process .container{width:min(100% - 28px,1180px);}
  .process-title-block h2{font-size:40px;}
  .process-title-block p:not(.eyebrow){font-size:16px;}
  .premium-process-grid{grid-template-columns:1fr;gap:16px;}
  .premium-process-card,.premium-process-card:nth-child(1),.premium-process-card:nth-child(2),.premium-process-card:nth-child(3),.premium-process-card:nth-child(4){transform:none;}
  .process-number{margin-bottom:44px;}
  .process-bottom-note div{grid-template-columns:48px auto;padding:16px 20px;}
  .process-bottom-note span{width:44px;height:44px;}
}


/* =========================================================
   NORD BAU — ABLAUF CENTERED TITLE FINAL FIX
   Центрируем заголовок блока Ablauf и убираем пустую левую зону
========================================================= */

.blueprint-process .container{
    width: min(1320px, calc(100% - 72px));
}

.process-hero{
    display: flex !important;
    justify-content: center;
    align-items: center;
    min-height: auto !important;
    margin: 0 auto 58px !important;
    text-align: center;
}

.process-hero-space{
    display: none !important;
}

.process-title-block{
    max-width: 980px !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    justify-self: center !important;
}

.process-title-block .eyebrow{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--orange);
    font-size: 15px;
    letter-spacing: .12em;
    margin-bottom: 18px;
}

.process-title-block .eyebrow::after{
    content: "";
    display: block;
    width: 72px;
    height: 2px;
    margin: 14px auto 0;
    background: var(--orange);
    border-radius: 999px;
}

.process-title-block h2{
    max-width: 1040px;
    margin: 0 auto 24px !important;
    font-size: clamp(58px, 6.8vw, 112px) !important;
    line-height: .86 !important;
    letter-spacing: -.075em !important;
    text-transform: uppercase;
    color: #071d33;
}

.process-title-block h2 em{
    display: inline-block;
    font-style: normal;
    color: var(--orange);
    text-shadow: 0 10px 26px rgba(30,136,255,.14);
}

.process-title-block p:not(.eyebrow){
    max-width: 820px !important;
    margin: 0 auto !important;
    color: #33465b;
    font-size: 21px !important;
    line-height: 1.55 !important;
}

.premium-process-grid{
    margin-top: -18px !important;
}

.process-bottom-note{
    width: min(84%, 1040px);
    margin-inline: auto;
}

@media (max-width: 1200px){
    .blueprint-process .container{
        width: min(1180px, calc(100% - 44px));
    }

    .process-title-block h2{
        font-size: clamp(52px, 7vw, 88px) !important;
    }

    .process-title-block p:not(.eyebrow){
        font-size: 18px !important;
    }
}

@media (max-width: 1000px){
    .process-hero{
        margin-bottom: 42px !important;
    }

    .premium-process-grid{
        margin-top: 0 !important;
    }

    .process-bottom-note{
        width: 100%;
    }
}

@media (max-width: 640px){
    .process-hero{
        text-align: left;
        justify-content: flex-start;
        margin-bottom: 30px !important;
    }

    .process-title-block{
        max-width: 100% !important;
        margin: 0 !important;
    }

    .process-title-block .eyebrow{
        align-items: flex-start;
        text-align: left;
        font-size: 12px;
    }

    .process-title-block .eyebrow::after{
        margin-left: 0;
    }

    .process-title-block h2{
        margin-left: 0 !important;
        font-size: 42px !important;
        line-height: .9 !important;
        letter-spacing: -.055em !important;
    }

    .process-title-block p:not(.eyebrow){
        margin-left: 0 !important;
        font-size: 16px !important;
    }
}


/* =========================================================
   NORD BAU — ABOUT BLOCK FINAL FIX
   Решает проблему: watermark не перекрывает текст, логотип справа крупнее,
   блок ближе к премиум-шаблону.
========================================================= */

.premium-about {
    padding: 118px 0 112px;
}

.premium-about .about-logo-watermark {
    left: 42%;
    top: 48%;
    width: min(420px, 30vw);
    opacity: .035;
    filter: grayscale(1) brightness(1.7) contrast(1.15);
    mix-blend-mode: screen;
}

.premium-about-grid {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 520px);
    gap: 72px;
}

.premium-about-copy {
    position: relative;
    z-index: 3;
}

.premium-about-copy h2 {
    font-size: clamp(54px, 5.6vw, 92px);
    max-width: 820px;
}

.premium-check-list {
    max-width: 720px;
    grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.about-metric-grid {
    max-width: 760px;
    gap: 14px;
}

.about-metric-card {
    min-height: 138px;
    padding: 26px 22px;
    border-radius: 12px;
    background: rgba(255,255,255,.032);
}

.about-metric-card strong {
    font-size: 52px;
}

.about-metric-card span {
    font-size: 44px;
}

.premium-company-card {
    min-height: 580px;
    padding: 44px 40px 36px;
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.026)),
        rgba(3,16,30,.76);
}

.company-card-brand {
    grid-template-columns: 118px 1fr;
    gap: 24px;
    margin-bottom: 26px;
}

.company-card-brand img {
    width: 112px;
    height: 112px;
    padding: 12px;
}

.company-card-brand strong {
    font-size: 38px;
}

.company-card-brand span {
    font-size: 16px;
}

.company-verified {
    font-size: 17px;
    margin-bottom: 30px;
}

.company-data-list p {
    min-height: 62px;
    grid-template-columns: 38px 1fr 1.15fr;
}

.company-card-note {
    margin-top: 30px;
}

@media (max-width: 1000px) {
    .premium-about-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .premium-about .about-logo-watermark {
        left: 50%;
        top: 22%;
        width: 360px;
        opacity: .025;
    }
}

@media (max-width: 640px) {
    .premium-about-copy h2 {
        font-size: 44px;
    }

    .premium-check-list,
    .about-metric-grid {
        grid-template-columns: 1fr;
    }

    .company-card-brand {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .company-card-brand img {
        margin-inline: auto;
    }
}


/* =========================================================
   NORD BAU — ABOUT BLOCK REBUILD CLEAN
   Полностью новый чистый блок Warum Nord Bau без старого watermark-хаоса
========================================================= */

.about-rebuild{
    position: relative;
    overflow: hidden;
    padding: 118px 0 112px;
    background:
        radial-gradient(circle at 75% 18%, rgba(13,99,183,.22), transparent 32%),
        radial-gradient(circle at 18% 82%, rgba(30,136,255,.10), transparent 28%),
        linear-gradient(135deg,#020914 0%, #06192b 48%, #0a2540 100%);
    color: #fff;
    isolation: isolate;
}

.about-rebuild-blueprint{
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .18;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(132deg, transparent 0 48%, rgba(30,136,255,.20) 49% 50%, transparent 51%),
        linear-gradient(26deg, transparent 0 56%, rgba(0,170,255,.17) 57% 58%, transparent 59%);
    background-size: 86px 86px, 86px 86px, 520px 280px, 620px 340px;
    animation: aboutBlueprintMove 26s linear infinite;
}

.about-rebuild-mark{
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 49%;
    transform: translate(-50%,-50%);
    font-size: clamp(110px, 16vw, 250px);
    line-height: .8;
    font-weight: 900;
    letter-spacing: -.09em;
    color: rgba(255,255,255,.028);
    white-space: nowrap;
    pointer-events: none;
}

.about-rebuild-grid{
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
    gap: 76px;
    align-items: center;
}

.about-rebuild-copy{
    max-width: 800px;
}

.about-rebuild-copy .eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}

.about-rebuild-copy .eyebrow::after{
    content:"";
    width: 62px;
    height: 2px;
    background: var(--orange);
    box-shadow: 0 0 18px rgba(30,136,255,.45);
}

.about-rebuild-copy h2{
    max-width: 780px;
    margin: 0 0 28px;
    font-size: clamp(52px, 5.2vw, 86px);
    line-height: .95;
    letter-spacing: -.065em;
    color: #fff;
    text-shadow: 0 18px 45px rgba(0,0,0,.30);
}

.about-rebuild-copy h2 em{
    display: block;
    color: var(--orange);
    font-style: normal;
}

.about-rebuild-lead{
    max-width: 730px;
    color: #dbe7f6;
    font-size: 20px;
    line-height: 1.7;
    margin-bottom: 34px;
}

.about-rebuild-checks{
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(230px,1fr));
    gap: 14px 34px;
    margin: 0 0 42px;
    max-width: 760px;
}

.about-rebuild-checks li{
    position: relative;
    color: #fff;
    font-weight: 800;
    padding-left: 28px;
}

.about-rebuild-checks li::before{
    content:"✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--orange);
    font-weight: 900;
    text-shadow: 0 0 14px rgba(30,136,255,.45);
}

.about-rebuild-stats{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    max-width: 780px;
}

.about-rebuild-stats div{
    min-height: 140px;
    padding: 26px 24px 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
    box-shadow: 0 24px 65px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.025);
    backdrop-filter: blur(10px);
}

.about-rebuild-stats span{
    display: inline-block;
    color: var(--orange);
    font-size: 42px;
    line-height: 1;
    margin-right: 14px;
    vertical-align: middle;
    text-shadow: 0 0 18px rgba(30,136,255,.35);
}

.about-rebuild-stats strong{
    display: inline-block;
    color: #fff;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -.04em;
    vertical-align: middle;
}

.about-rebuild-stats small{
    display: block;
    margin-top: 10px;
    color: var(--orange);
    font-weight: 900;
    font-size: 12px;
    line-height: 1.25;
}

.about-rebuild-card{
    position: relative;
    overflow: hidden;
    min-height: 560px;
    padding: 40px 38px 34px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.026)),
        rgba(3,16,30,.72);
    box-shadow:
        0 36px 100px rgba(0,0,0,.36),
        inset 0 0 0 1px rgba(255,255,255,.035),
        0 0 0 1px rgba(30,136,255,.06);
    backdrop-filter: blur(18px);
}

.about-rebuild-card::before{
    content:"";
    position: absolute;
    left: 44px;
    right: 44px;
    top: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(30,136,255,.95), transparent);
    box-shadow: 0 0 24px rgba(30,136,255,.55);
}

.about-rebuild-card::after{
    content:"";
    position:absolute;
    inset:0;
    opacity:.12;
    pointer-events:none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 44px 44px;
}

.about-rebuild-brand,
.about-rebuild-verified,
.about-rebuild-data,
.about-rebuild-note{
    position: relative;
    z-index: 2;
}

.about-rebuild-brand{
    display: grid;
    grid-template-columns: 116px 1fr;
    gap: 24px;
    align-items: center;
    margin-bottom: 28px;
}

.about-rebuild-brand img{
    width: 108px;
    height: 108px;
    object-fit: contain;
    padding: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 40px rgba(0,0,0,.30);
}

.about-rebuild-brand strong{
    display: block;
    color: #fff;
    font-size: 36px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 800;
}

.about-rebuild-brand strong em{
    color: var(--orange);
    font-style: normal;
}

.about-rebuild-brand span{
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: 15px;
    letter-spacing: .34em;
    text-transform: uppercase;
}

.about-rebuild-verified{
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--orange);
    font-size: 17px;
    font-weight: 800;
    margin-bottom: 28px;
}

.about-rebuild-verified::before{
    content:"▿";
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(30,136,255,.45);
    border-radius: 50%;
    color: var(--orange);
}

.about-rebuild-data{
    border-top: 1px solid rgba(255,255,255,.13);
}

.about-rebuild-data p{
    display: grid;
    grid-template-columns: 38px 1fr 1.15fr;
    gap: 16px;
    align-items: center;
    min-height: 62px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: #fff;
}

.about-rebuild-data span{
    color: #fff;
    opacity: .92;
    font-size: 21px;
}

.about-rebuild-data strong{
    color: #fff;
    font-size: 16px;
}

.about-rebuild-data b{
    color: #dbe7f6;
    font-size: 16px;
    font-weight: 500;
}

.about-rebuild-note{
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 16px;
    align-items: center;
    margin-top: 30px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.035);
}

.about-rebuild-note span{
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 2px solid var(--orange);
    border-radius: 12px;
    color: var(--orange);
    font-weight: 900;
    font-size: 22px;
}

.about-rebuild-note p{
    margin: 0;
    color: #dbe7f6;
    font-size: 15px;
    line-height: 1.5;
}

.about-rebuild-note strong{
    color: var(--orange);
}

@keyframes aboutBlueprintMove{
    0%{ background-position: 0 0, 0 0, 0 0, 120px 80px; }
    100%{ background-position: 172px 86px, 172px 86px, 520px 280px, 740px 420px; }
}

@media (max-width: 1200px){
    .about-rebuild-grid{
        gap: 46px;
        grid-template-columns: minmax(0,1fr) minmax(390px,470px);
    }

    .about-rebuild-copy h2{
        font-size: clamp(48px, 5vw, 72px);
    }
}

@media (max-width: 1000px){
    .about-rebuild{
        padding: 88px 0;
    }

    .about-rebuild-grid{
        grid-template-columns: 1fr;
    }

    .about-rebuild-copy,
    .about-rebuild-lead,
    .about-rebuild-checks,
    .about-rebuild-stats{
        max-width: 100%;
    }

    .about-rebuild-card{
        min-height: auto;
    }
}

@media (max-width: 640px){
    .about-rebuild{
        padding: 76px 0;
    }

    .about-rebuild-mark{
        display: none;
    }

    .about-rebuild-copy h2{
        font-size: 42px;
    }

    .about-rebuild-lead{
        font-size: 17px;
    }

    .about-rebuild-checks,
    .about-rebuild-stats{
        grid-template-columns: 1fr;
    }

    .about-rebuild-brand{
        grid-template-columns: 1fr;
        text-align: center;
    }

    .about-rebuild-brand img{
        margin-inline: auto;
    }

    .about-rebuild-data p{
        grid-template-columns: 30px 1fr;
        gap: 10px;
        padding: 14px 0;
    }

    .about-rebuild-data b{
        grid-column: 2;
    }
}


/* =========================================================
   NORD BAU — PREMIUM CONTACT / FINAL CTA BLOCK
   Новый финальный контактный блок: светлый premium CTA + тёмная форма
========================================================= */

.premium-contact{
    position: relative;
    overflow: hidden;
    padding: 105px 0 38px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,253,.98)),
        #fff;
    color: #06192b;
}

.contact-blueprint-bg{
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .34;
    background-image:
        linear-gradient(90deg, rgba(6,25,43,.045) 1px, transparent 1px),
        linear-gradient(rgba(6,25,43,.035) 1px, transparent 1px),
        linear-gradient(128deg, transparent 0 49%, rgba(6,25,43,.10) 49.5% 50%, transparent 50.5%),
        linear-gradient(28deg, transparent 0 56%, rgba(30,136,255,.12) 56.5% 57%, transparent 57.5%);
    background-size: 82px 82px, 82px 82px, 520px 280px, 620px 320px;
    background-position: 0 0, 0 0, -160px -60px, 80px 120px;
}

.premium-contact::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:8px;
    background: linear-gradient(90deg, transparent, var(--orange), transparent);
    box-shadow: 0 -12px 38px rgba(30,136,255,.22);
}

.premium-contact > .container{
    position: relative;
    z-index: 2;
}

.premium-contact-grid{
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 470px);
    gap: 70px;
    align-items: center;
}

.premium-contact-copy .eyebrow{
    display:flex;
    align-items:center;
    gap:18px;
    color: var(--orange);
}

.premium-contact-copy .eyebrow::after{
    content:"";
    width:58px;
    height:2px;
    background:var(--orange);
}

.premium-contact-copy h2{
    max-width: 760px;
    font-size: clamp(44px, 5vw, 76px);
    line-height: .98;
    letter-spacing: -.055em;
    color:#06192b;
    margin-bottom: 24px;
}

.premium-contact-copy h2 em{
    color: var(--orange);
    font-style: normal;
}

.premium-contact-lead{
    max-width: 680px;
    color:#42556b;
    font-size: 20px;
    line-height:1.55;
    margin-bottom: 30px;
}

.contact-benefits{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    max-width: 780px;
    margin: 30px 0 34px;
    border: 1px solid rgba(6,25,43,.08);
    border-radius: 14px;
    overflow:hidden;
    background: rgba(255,255,255,.75);
    box-shadow: 0 18px 50px rgba(6,25,43,.07);
    backdrop-filter: blur(10px);
}

.contact-benefits div{
    min-height: 86px;
    display:grid;
    grid-template-columns: 32px 1fr;
    gap: 12px;
    align-items:center;
    padding: 18px 20px;
    border-right: 1px solid rgba(6,25,43,.08);
}

.contact-benefits div:last-child{ border-right:0; }

.contact-benefits span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border: 2px solid var(--orange);
    border-radius:50%;
    color:var(--orange);
    font-weight:900;
}

.contact-benefits strong{
    font-size:15px;
    line-height:1.35;
    color:#06192b;
}

.premium-contact-info{
    max-width: 760px;
    display:grid;
    gap:0;
}

.premium-contact-info > a,
.premium-contact-info > div{
    display:grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items:center;
    padding: 18px 0;
    border-bottom: 1px solid rgba(6,25,43,.10);
}

.premium-contact-info > a > span,
.premium-contact-info > div > span{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#06192b;
    color:#fff;
    box-shadow: 0 12px 28px rgba(6,25,43,.16);
}

.premium-contact-info strong{
    display:block;
    color:#06192b;
    font-size:18px;
    line-height:1.25;
}

.premium-contact-info small{
    display:block;
    color:#7b8da2;
    font-weight:800;
    margin-top:4px;
}

.premium-contact-form{
    position: relative;
    padding: 34px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% -12%, rgba(30,136,255,.24), transparent 28%),
        linear-gradient(145deg, #051526, #0a2540 72%, #06192b);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        0 36px 90px rgba(6,25,43,.26),
        0 0 0 1px rgba(255,255,255,.025) inset;
    overflow: hidden;
}

.premium-contact-form::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:170px;
    height:3px;
    background: linear-gradient(90deg, transparent, var(--orange));
    box-shadow: 0 0 25px rgba(30,136,255,.9);
}

.contact-form-head{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:18px;
    align-items:center;
    margin-bottom:26px;
}

.form-icon{
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    font-size:28px;
    border:1px solid rgba(255,255,255,.25);
    background: rgba(255,255,255,.08);
    box-shadow: inset 0 0 0 8px rgba(255,255,255,.025);
}

.contact-form-head h3{
    color:#fff;
    font-size:26px;
    line-height:1.05;
    text-transform:uppercase;
    letter-spacing:-.035em;
}

.contact-form-head p{
    color:#cfe0f1;
    margin-top:6px;
    font-size:16px;
}

.premium-contact-form label{
    position:relative;
    display:block;
    margin-bottom:14px;
}

.premium-contact-form label > span{
    position:absolute;
    z-index:2;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    color:#fff;
    opacity:.9;
    font-size:18px;
}

.premium-contact-form .textarea-label > span{
    top:22px;
    transform:none;
}

.premium-contact-form input,
.premium-contact-form select,
.premium-contact-form textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.20);
    background: rgba(255,255,255,.055);
    color:#fff;
    border-radius:8px;
    padding:18px 18px 18px 58px;
    font:inherit;
    outline:none;
    transition:.25s ease;
}

.premium-contact-form textarea{
    min-height:126px;
    resize:vertical;
}

.premium-contact-form input:focus,
.premium-contact-form select:focus,
.premium-contact-form textarea:focus{
    border-color: rgba(30,136,255,.72);
    box-shadow: 0 0 0 4px rgba(30,136,255,.10);
    background: rgba(255,255,255,.075);
}

.premium-contact-form input::placeholder,
.premium-contact-form textarea::placeholder{ color:#c5d2df; }
.premium-contact-form select{ color:#c5d2df; }

.premium-contact-form .btn{
    width:100%;
    min-height:58px;
    margin-top:4px;
    border-radius:8px;
    font-size:13px;
}

.form-safe{
    display:block;
    margin-top:16px;
    color:#aebdce;
    font-size:12px;
    line-height:1.4;
}

.contact-trust-panel{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 52px;
    border: 1px solid rgba(6,25,43,.08);
    border-radius: 18px;
    overflow:hidden;
    background: rgba(255,255,255,.82);
    box-shadow: 0 22px 65px rgba(6,25,43,.10);
    backdrop-filter: blur(12px);
}

.contact-trust-panel div{
    min-height: 116px;
    display:grid;
    grid-template-columns: 58px 1fr;
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-content:center;
    padding: 26px 34px;
    border-right: 1px solid rgba(6,25,43,.09);
}

.contact-trust-panel div:last-child{ border-right:0; }

.contact-trust-panel span{
    grid-row: span 2;
    color: var(--orange);
    font-size: 42px;
    line-height:1;
    align-self:center;
}

.contact-trust-panel strong{
    color:#06192b;
    font-size: 32px;
    line-height:1;
}

.contact-trust-panel small{
    color:#6b7d91;
    font-weight:800;
    margin-top:8px;
}

@media (max-width:1000px){
    .premium-contact{
        padding: 84px 0 34px;
    }

    .premium-contact-grid{
        grid-template-columns:1fr;
        gap: 42px;
    }

    .contact-benefits{
        grid-template-columns:1fr;
    }

    .contact-benefits div{
        border-right:0;
        border-bottom:1px solid rgba(6,25,43,.08);
    }

    .contact-benefits div:last-child{ border-bottom:0; }

    .contact-trust-panel{
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-trust-panel div:nth-child(2){ border-right:0; }
    .contact-trust-panel div:nth-child(1),
    .contact-trust-panel div:nth-child(2){ border-bottom:1px solid rgba(6,25,43,.09); }
}

@media (max-width:640px){
    .premium-contact{
        padding: 72px 0 30px;
    }

    .premium-contact-copy h2{
        font-size: 42px;
    }

    .premium-contact-lead{
        font-size:17px;
    }

    .premium-contact-form{
        padding: 24px;
    }

    .contact-form-head{
        grid-template-columns:1fr;
    }

    .contact-trust-panel{
        grid-template-columns:1fr;
    }

    .contact-trust-panel div,
    .contact-trust-panel div:nth-child(2){
        border-right:0;
        border-bottom:1px solid rgba(6,25,43,.09);
    }

    .contact-trust-panel div:last-child{ border-bottom:0; }

    .premium-contact-info strong{
        font-size:15px;
        overflow-wrap:anywhere;
    }
}


/* =========================================================
   NORD BAU — CLEAN PREMIUM FOOTER
   Финальный темный футер без цифр: бренд, услуги, контакт, право.
========================================================= */

.premium-footer{
    position:relative;
    overflow:hidden;
    padding:86px 0 24px;
    color:#fff;
    background:
        radial-gradient(circle at 78% 28%, rgba(13,99,183,.20), transparent 34%),
        radial-gradient(circle at 12% 92%, rgba(30,136,255,.10), transparent 28%),
        linear-gradient(135deg,#020914 0%, #06192b 48%, #03101e 100%);
    border-top:0;
}

.footer-glow-line{
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:4px;
    background:linear-gradient(90deg, transparent, var(--orange), #ff8a22, var(--orange), transparent);
    box-shadow:0 0 26px rgba(30,136,255,.65);
    pointer-events:none;
}

.footer-blueprint{
    position:absolute;
    inset:0;
    opacity:.13;
    pointer-events:none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(30,136,255,.16) 49% 50%, transparent 51%),
        linear-gradient(25deg, transparent 0 58%, rgba(13,99,183,.20) 59% 60%, transparent 61%);
    background-size:82px 82px, 82px 82px, 460px 260px, 520px 300px;
    background-position:0 0, 0 0, 80px 40px, 0 120px;
}

.footer-watermark{
    position:absolute;
    right:-70px;
    top:66px;
    font-size:clamp(92px, 14vw, 210px);
    line-height:.82;
    font-weight:900;
    letter-spacing:-.08em;
    color:rgba(255,255,255,.035);
    text-transform:uppercase;
    pointer-events:none;
    user-select:none;
}

.premium-footer-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(250px, 1.35fr) .8fr 1.1fr .8fr;
    gap:58px;
    align-items:start;
}

.footer-brand-block p{
    max-width:340px;
    margin-top:24px;
    color:#c7d5e6;
    font-size:16px;
    line-height:1.75;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
}

.footer-logo img{
    width:230px;
    height:auto;
    filter:drop-shadow(0 18px 30px rgba(0,0,0,.34));
}

.footer-socials{
    display:flex;
    gap:14px;
    margin-top:28px;
}

.footer-socials a{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.08);
    font-size:20px;
    font-weight:900;
    transition:.3s ease;
}

.footer-socials a:hover{
    transform:translateY(-3px);
    color:var(--orange);
    border-color:rgba(30,136,255,.42);
    box-shadow:0 16px 34px rgba(0,0,0,.24);
}

.footer-col h3{
    position:relative;
    margin-bottom:24px;
    color:#fff;
    font-size:17px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.footer-col h3::after{
    content:"";
    display:block;
    width:42px;
    height:2px;
    margin-top:14px;
    background:var(--orange);
    box-shadow:0 0 16px rgba(30,136,255,.45);
}

.footer-col > a{
    display:flex;
    align-items:center;
    gap:10px;
    width:fit-content;
    color:#d9e4f2;
    font-weight:700;
    margin:13px 0;
    transition:.25s ease;
}

.footer-col > a:not(.footer-contact-item)::before{
    content:"›";
    color:var(--orange);
    font-size:24px;
    line-height:1;
    font-weight:900;
}

.footer-col > a:hover{
    color:#fff;
    transform:translateX(4px);
}

.footer-contact{
    display:grid;
    gap:20px;
}

.footer-contact h3{
    margin-bottom:4px;
}

.footer-contact-item{
    display:grid !important;
    grid-template-columns:36px 1fr;
    gap:12px !important;
    align-items:start !important;
    margin:0 !important;
    width:100% !important;
    color:#fff !important;
}

.footer-contact-item > span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:var(--orange);
    background:rgba(30,136,255,.08);
    font-size:21px;
    font-weight:900;
}

.footer-contact-item strong{
    display:block;
    color:#fff;
    font-size:16px;
    line-height:1.45;
}

.footer-contact-item small{
    display:block;
    margin-top:4px;
    color:#9fb1c5;
    font-size:13px;
    font-weight:600;
}

.footer-legal a{
    justify-content:space-between;
    min-width:170px;
}

.footer-legal a::before{
    display:none;
}

.footer-legal a span{
    color:#fff;
    opacity:.8;
    font-size:26px;
    line-height:1;
}

.footer-bottom{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:58px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.10);
    color:#9fb1c5;
    font-size:14px;
}

.footer-bottom a{
    color:#fff;
    font-weight:900;
    transition:.25s ease;
}

.footer-bottom a:hover{
    color:var(--orange);
}

@media (max-width:1000px){
    .premium-footer{
        padding-top:70px;
    }

    .premium-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:38px;
    }

    .footer-watermark{
        right:-120px;
        opacity:.55;
    }
}

@media (max-width:640px){
    .premium-footer{
        padding:58px 0 22px;
    }

    .premium-footer-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .footer-logo img{
        width:205px;
    }

    .footer-brand-block p{
        max-width:100%;
        font-size:15px;
    }

    .footer-bottom{
        flex-direction:column;
        text-align:center;
        margin-top:42px;
    }

    .footer-watermark{
        top:auto;
        bottom:50px;
        right:-90px;
        font-size:120px;
    }
}


/* =========================================================
   NORD BAU — FINAL VIEWPORT / 80% FEEL FIX
   Аккуратно делает сайт визуально легче на 100% масштабе,
   без zoom/transform, чтобы не ломать клики, картинки и адаптив.
========================================================= */

:root{
    --site-max: 1320px;
    --site-pad: clamp(28px, 4vw, 72px);
    --compact-section: clamp(68px, 6vw, 92px);
}

html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

body{
    background:var(--navy);
}

main,
header,
section,
footer{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.container,
.showcase-references > .container,
.blueprint-process > .container,
.about-rebuild > .container,
.premium-contact > .container,
.premium-footer > .container{
    width:min(var(--site-max), calc(100% - (var(--site-pad) * 2))) !important;
    max-width:var(--site-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* фоновые декоративные элементы не должны создавать горизонтальный скролл */
.hero-bg-mark,
.about-rebuild-mark,
.footer-watermark,
.blueprint-lines,
.hero-neon-bg,
.premium-blueprint,
.references-blueprint,
.process-moving-bg,
.about-rebuild-blueprint,
.contact-blueprint-bg,
.footer-blueprint{
    max-width:100vw !important;
    overflow:hidden !important;
    pointer-events:none;
}

img,
svg,
video,
canvas{
    max-width:100%;
}

.hero-card img,
.premium-service-card img,
.before-after > img,
.before-layer img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
}

/* общая высота блоков — меньше, как будто сайт открыт на 80–85% */
.section,
.premium-services,
.showcase-references,
.blueprint-process,
.about-rebuild,
.premium-contact{
    padding-top:var(--compact-section) !important;
    padding-bottom:var(--compact-section) !important;
}

/* HEADER */
.site-header{
    height:74px !important;
    padding-left:clamp(24px, 3vw, 44px) !important;
    padding-right:clamp(24px, 3vw, 44px) !important;
}
.site-header.scrolled{
    height:66px !important;
}
.brand img{
    height:52px !important;
}
.nav{
    gap:clamp(18px, 2.2vw, 30px) !important;
    font-size:12px !important;
}
.header-action{
    gap:14px !important;
}
.btn{
    padding:14px 20px !important;
    font-size:12px !important;
}
.phone{
    font-size:15px !important;
}

/* HERO */
.hero{
    min-height:auto !important;
    padding-top:104px !important;
    padding-bottom:42px !important;
}
.hero-grid{
    grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr) !important;
    gap:34px !important;
    align-items:center !important;
}
.hero-copy h1{
    font-size:clamp(44px, 4.75vw, 76px) !important;
    line-height:.94 !important;
    margin-bottom:22px !important;
}
.lead{
    font-size:18px !important;
    max-width:560px !important;
    margin-bottom:26px !important;
}
.hero-buttons{
    margin-bottom:30px !important;
}
.trust-row{
    gap:12px !important;
}
.hero-visual{
    min-height:430px !important;
    max-width:100% !important;
}
.hero-card-large{
    inset:0 0 150px 46px !important;
}
.hero-card-a{
    left:0 !important;
    bottom:0 !important;
    width:52% !important;
    height:205px !important;
}
.hero-card-b{
    right:0 !important;
    bottom:0 !important;
    width:50% !important;
    height:230px !important;
}
.hero-card span{
    font-size:11px !important;
    padding:9px 12px !important;
}
.stats{
    margin-top:26px !important;
}
.stats div{
    padding:20px 22px !important;
}
.stats strong{
    font-size:32px !important;
}

/* LEISTUNGEN */
.premium-services-head{
    grid-template-columns:minmax(0, 1.2fr) minmax(330px, .8fr) !important;
    gap:34px !important;
    margin-bottom:24px !important;
}
.premium-services-head h2{
    font-size:clamp(42px, 4.6vw, 70px) !important;
    line-height:.94 !important;
}
.premium-services-head p{
    font-size:16px !important;
}
.premium-proof-card{
    padding:26px !important;
    border-radius:18px !important;
}
.premium-proof-card h3{
    font-size:28px !important;
}
.service-badges{
    margin:20px 0 30px !important;
    padding:14px 18px !important;
    gap:28px !important;
}
.premium-service-grid{
    gap:12px !important;
}
.premium-service-card{
    min-height:220px !important;
}
.premium-service-card.card-wide{
    min-height:245px !important;
}
.premium-service-card.card-full{
    min-height:270px !important;
}
.premium-card-content{
    padding:26px !important;
}
.premium-card-content .service-icon{
    width:36px !important;
    height:36px !important;
    font-size:20px !important;
    margin-bottom:16px !important;
}
.premium-card-content h3{
    font-size:clamp(20px, 1.8vw, 26px) !important;
}

/* REFERENZEN */
.showcase-references > .container{
    padding:32px 28px !important;
}
.showcase-top{
    grid-template-columns:minmax(0, .9fr) minmax(360px, .9fr) !important;
    gap:30px !important;
    margin-bottom:30px !important;
}
.showcase-top h2{
    font-size:clamp(38px, 3.8vw, 58px) !important;
}
.showcase-top p{
    font-size:15px !important;
}
.showcase-stats div{
    padding:22px !important;
}
.showcase-stats strong{
    font-size:30px !important;
}
.showcase-grid{
    grid-template-columns:minmax(0, 1fr) 300px !important;
    gap:24px !important;
}
.premium-before-after,
.before-after{
    height:390px !important;
}
.before-layer img{
    max-width:none !important;
}
.project-details{
    padding:22px !important;
}
.project-row{
    padding:13px 0 !important;
}
.reference-tabs{
    margin-top:22px !important;
}
.reference-tabs button{
    min-height:56px !important;
    font-size:11px !important;
}

/* ABLAUF */
.process-hero{
    margin-bottom:42px !important;
}
.process-title-block h2{
    font-size:clamp(44px, 5.2vw, 82px) !important;
    line-height:.9 !important;
}
.process-title-block p{
    font-size:17px !important;
}
.premium-process-grid{
    gap:20px !important;
}
.premium-process-card{
    min-height:270px !important;
    padding:28px !important;
}
.process-bottom-note{
    margin-top:28px !important;
}

/* ABOUT */
.about-rebuild-grid{
    grid-template-columns:minmax(0, 1fr) minmax(360px, .78fr) !important;
    gap:42px !important;
}
.about-rebuild-copy h2{
    font-size:clamp(42px, 4.5vw, 70px) !important;
}
.about-rebuild-lead{
    font-size:17px !important;
}
.about-rebuild-stats{
    gap:14px !important;
}
.about-stat-box{
    padding:20px !important;
}
.about-rebuild-card{
    padding:30px !important;
}
.about-card-logo img{
    max-width:210px !important;
}

/* CONTACT */
.premium-contact-grid{
    grid-template-columns:minmax(0, 1fr) minmax(340px, 430px) !important;
    gap:46px !important;
}
.premium-contact-copy h2{
    font-size:clamp(38px, 4.2vw, 64px) !important;
}
.premium-contact-form{
    padding:28px !important;
}
.contact-trust-panel{
    padding:18px 22px !important;
}

/* FOOTER */
.premium-footer{
    padding-top:58px !important;
    padding-bottom:20px !important;
}
.premium-footer-grid{
    grid-template-columns:minmax(260px, 1.15fr) .75fr 1fr .85fr !important;
    gap:38px !important;
}
.footer-logo img{
    width:210px !important;
}
.footer-brand-block p{
    max-width:330px !important;
    font-size:15px !important;
}
.footer-watermark{
    opacity:.11 !important;
    right:-120px !important;
    max-width:42vw !important;
}
.footer-bottom{
    margin-top:34px !important;
}

@media (max-width: 1400px){
    :root{
        --site-max: 1180px;
        --site-pad: 34px;
    }
    .hero-copy h1{
        font-size:clamp(42px, 4.4vw, 68px) !important;
    }
    .hero-visual{
        min-height:395px !important;
    }
    .hero-card-large{
        inset:0 0 138px 42px !important;
    }
    .hero-card-a{
        height:190px !important;
    }
    .hero-card-b{
        height:215px !important;
    }
}

@media (max-width: 1200px){
    :root{
        --site-max: 1060px;
        --site-pad: 26px;
    }
    .nav{
        gap:18px !important;
    }
    .phone{
        display:none !important;
    }
    .hero-grid,
    .premium-services-head,
    .showcase-top,
    .showcase-grid,
    .about-rebuild-grid,
    .premium-contact-grid{
        gap:24px !important;
    }
    .hero-visual{
        min-height:360px !important;
    }
    .premium-before-after,
    .before-after{
        height:350px !important;
    }
}

@media (max-width: 1000px){
    :root{
        --site-pad: 20px;
    }
    .section,
    .premium-services,
    .showcase-references,
    .blueprint-process,
    .about-rebuild,
    .premium-contact,
    .premium-footer{
        padding-top:60px !important;
        padding-bottom:60px !important;
    }
    .hero{
        padding-top:100px !important;
        padding-bottom:54px !important;
    }
    .hero-grid,
    .premium-services-head,
    .showcase-top,
    .showcase-grid,
    .about-rebuild-grid,
    .premium-contact-grid{
        grid-template-columns:1fr !important;
    }
    .hero-visual,
    .premium-proof-card,
    .project-details,
    .about-rebuild-card,
    .premium-contact-form{
        max-width:100% !important;
        justify-self:stretch !important;
    }
    .hero-visual{
        min-height:430px !important;
    }
    .showcase-stats,
    .premium-process-grid,
    .about-rebuild-stats,
    .contact-trust-panel{
        grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    }
    .premium-footer-grid{
        grid-template-columns:1fr 1fr !important;
        gap:32px !important;
    }
}

@media (max-width: 640px){
    :root{
        --site-pad: 16px;
    }
    .site-header{
        height:70px !important;
        padding-left:16px !important;
        padding-right:16px !important;
    }
    .brand img{
        height:46px !important;
    }
    .section,
    .premium-services,
    .showcase-references,
    .blueprint-process,
    .about-rebuild,
    .premium-contact,
    .premium-footer{
        padding-top:50px !important;
        padding-bottom:50px !important;
    }
    .hero{
        padding-top:92px !important;
        padding-bottom:42px !important;
    }
    .hero-copy h1,
    .premium-services-head h2,
    .showcase-top h2,
    .process-title-block h2,
    .about-rebuild-copy h2,
    .premium-contact-copy h2{
        font-size:38px !important;
        line-height:1 !important;
    }
    .hero-visual{
        min-height:320px !important;
    }
    .hero-card-large{
        inset:0 !important;
        clip-path:none !important;
    }
    .hero-card-a,
    .hero-card-b{
        display:none !important;
    }
    .stats,
    .showcase-stats,
    .premium-process-grid,
    .process-bottom-note,
    .contact-trust-panel,
    .about-rebuild-stats,
    .premium-service-grid{
        grid-template-columns:1fr !important;
    }
    .premium-before-after,
    .before-after{
        height:310px !important;
    }
    .showcase-references > .container{
        width:calc(100% - 28px) !important;
        padding:22px 16px !important;
    }
    .premium-footer-grid{
        grid-template-columns:1fr !important;
    }
    .footer-bottom{
        flex-direction:column !important;
        text-align:center !important;
    }
}


/* =========================================================
   NORD BAU — TRUE 63–70% VISUAL SCALE FIX
   Без zoom/transform: сайт выглядит легче на 100% масштабе,
   картинки не ломаются, горизонтальный вылет закрыт точечно.
========================================================= */

html,
body{
    max-width:100%;
    overflow-x:clip;
}

body{
    font-size:14px;
}

main,
section,
.site-header,
.premium-footer{
    max-width:100%;
    overflow-x:hidden;
}

img,
svg,
video,
canvas{
    max-width:100%;
}

/* Базовая ширина: больше воздуха по горизонтали, элементы визуально меньше */
.container,
.showcase-references > .container,
.premium-contact > .container,
.premium-footer > .container{
    width:min(1500px, calc(100% - 72px)) !important;
    max-width:1500px !important;
}

/* Header compact */
.site-header{
    height:68px !important;
    padding-left:36px !important;
    padding-right:36px !important;
}
.site-header.scrolled{
    height:62px !important;
}
.brand img{
    height:150px !important;
}
.nav{
    gap:26px !important;
    font-size:12px !important;
}
.header-action{
    gap:12px !important;
}
.phone{
    font-size:15px !important;
}
.btn{
    padding:12px 18px !important;
    font-size:11px !important;
    border-radius:6px !important;
}

/* Общая высота секций */
.section,
.premium-services,
.showcase-references,
.blueprint-process,
.about-rebuild,
.premium-contact{
    padding-top:62px !important;
    padding-bottom:62px !important;
}

.eyebrow{
    font-size:11px !important;
    margin-bottom:10px !important;
}

/* HERO — компактный, как при 67–70% масштабе */
.hero{
    padding-top:92px !important;
    padding-bottom:36px !important;
    min-height:auto !important;
}
.hero-grid{
    grid-template-columns:minmax(420px,.88fr) minmax(520px,1.12fr) !important;
    gap:34px !important;
    align-items:center !important;
}
.hero-copy h1{
    font-size:clamp(38px, 3.95vw, 64px) !important;
    line-height:.92 !important;
    margin-bottom:18px !important;
    letter-spacing:-.055em !important;
}
.lead{
    font-size:16px !important;
    line-height:1.55 !important;
    max-width:520px !important;
    margin-bottom:22px !important;
}
.hero-buttons{
    gap:12px !important;
    margin-bottom:24px !important;
}
.trust-row{
    gap:10px !important;
}
.trust-row div{
    padding-left:12px !important;
}
.trust-row strong{
    font-size:11px !important;
}
.trust-row span{
    font-size:11px !important;
}
.hero-visual{
    min-height:355px !important;
    max-height:390px !important;
}
.hero-card-large{
    inset:0 0 125px 38px !important;
}
.hero-card-a{
    width:51% !important;
    height:170px !important;
}
.hero-card-b{
    width:49% !important;
    height:190px !important;
}
.hero-card span{
    padding:8px 11px !important;
    font-size:10px !important;
}
.hero-bg-mark{
    font-size:105px !important;
    right:-45px !important;
    bottom:40px !important;
}
.stats{
    margin-top:24px !important;
    border-radius:12px !important;
}
.stats div{
    padding:18px !important;
}
.stats strong{
    font-size:28px !important;
}
.stats span{
    font-size:10px !important;
}

/* Images: всегда заполняют карточку и не ломают сетку */
.hero-card,
.premium-service-card,
.before-after,
.premium-before-after{
    background:linear-gradient(135deg,#071d33,#020914) !important;
}
.hero-card img,
.premium-service-card img,
.before-after > img,
.before-layer img,
.premium-before-after > img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
}
.before-layer img{
    max-width:none !important;
}

/* SERVICES */
.premium-services-head{
    grid-template-columns:minmax(0, 620px) minmax(300px, 380px) !important;
    gap:34px !important;
    min-height:auto !important;
    margin-bottom:22px !important;
}
.premium-services-head h2{
    font-size:clamp(36px, 3.7vw, 58px) !important;
    margin-bottom:14px !important;
}
.premium-services-head p{
    font-size:15px !important;
    max-width:560px !important;
}
.premium-proof-card{
    padding:24px !important;
    border-radius:16px !important;
}
.premium-proof-card h3{
    font-size:25px !important;
}
.premium-proof-card p,
.premium-proof-card li{
    font-size:13px !important;
}
.proof-steps span{
    min-height:34px !important;
    font-size:10px !important;
}
.service-badges{
    padding:12px 16px !important;
    margin:16px 0 24px !important;
    gap:24px !important;
}
.service-badges span{
    width:28px !important;
    height:28px !important;
}
.premium-service-grid{
    gap:12px !important;
}
.premium-service-card{
    min-height:190px !important;
}
.premium-service-card.card-wide{
    min-height:215px !important;
}
.premium-service-card.card-full{
    min-height:235px !important;
}
.premium-card-content{
    padding:22px !important;
    max-width:300px !important;
}
.premium-card-content .service-icon{
    width:34px !important;
    height:34px !important;
    margin-bottom:14px !important;
    font-size:18px !important;
}
.premium-card-content h3{
    font-size:21px !important;
    margin-bottom:8px !important;
}
.premium-card-content p{
    font-size:13px !important;
    margin-bottom:16px !important;
}

/* REFERENCES */
.showcase-references > .container{
    padding:28px 26px !important;
    border-radius:18px !important;
}
.showcase-top{
    grid-template-columns:minmax(300px, 400px) minmax(420px, 520px) !important;
    gap:32px !important;
    margin-bottom:26px !important;
}
.showcase-top h2{
    font-size:clamp(34px, 3.6vw, 54px) !important;
}
.showcase-top p{
    font-size:14px !important;
    max-width:400px !important;
}
.showcase-stats div{
    padding:18px !important;
}
.showcase-stats strong{
    font-size:26px !important;
}
.showcase-stats span{
    font-size:10px !important;
}
.showcase-grid{
    grid-template-columns:minmax(0, 1fr) 280px !important;
    gap:22px !important;
}
.premium-before-after,
.before-after{
    height:340px !important;
}
.project-details{
    padding:20px !important;
    border-radius:16px !important;
}
.project-details > p{
    margin-bottom:12px !important;
    font-size:12px !important;
}
.project-row{
    grid-template-columns:24px 1fr !important;
    gap:9px !important;
    padding:10px 0 !important;
}
.project-row span{
    font-size:16px !important;
}
.project-row small{
    font-size:9px !important;
}
.project-row strong{
    font-size:12px !important;
}
.project-btn{
    margin-top:16px !important;
}
.reference-tabs{
    margin-top:18px !important;
}
.reference-tabs button{
    min-height:48px !important;
    font-size:10px !important;
}
.ba-handle{
    width:46px !important;
    height:46px !important;
}
.ba-label{
    top:14px !important;
    padding:7px 10px !important;
    font-size:10px !important;
}

/* PROCESS */
.process-title-block{
    max-width:760px !important;
    margin-inline:auto !important;
    text-align:center !important;
}
.process-title-block h2{
    font-size:clamp(36px, 4vw, 60px) !important;
}
.process-title-block p{
    font-size:15px !important;
}
.premium-process-grid{
    gap:18px !important;
}
.premium-process-card{
    min-height:220px !important;
    padding:22px !important;
    border-radius:16px !important;
}
.process-number{
    font-size:32px !important;
}
.process-icon{
    width:58px !important;
    height:58px !important;
}
.premium-process-card h3{
    font-size:18px !important;
}
.premium-process-card p{
    font-size:12px !important;
}
.process-bottom-note{
    margin-top:20px !important;
    min-height:54px !important;
}
.process-bottom-note div{
    padding:12px 18px !important;
}

/* ABOUT */
.about-rebuild-grid{
    grid-template-columns:minmax(0, 1fr) minmax(360px, 480px) !important;
    gap:44px !important;
}
.about-rebuild-copy h2{
    font-size:clamp(38px, 4.2vw, 64px) !important;
}
.about-rebuild-lead{
    font-size:16px !important;
    max-width:620px !important;
}
.about-rebuild-checks{
    gap:12px 24px !important;
    margin:24px 0 !important;
}
.about-rebuild-checks li{
    font-size:14px !important;
}
.about-rebuild-stats{
    gap:12px !important;
}
.about-stat-box{
    padding:16px !important;
}
.about-stat-box strong{
    font-size:30px !important;
}
.about-rebuild-card{
    padding:24px !important;
    border-radius:18px !important;
}
.about-card-logo img{
    max-width:180px !important;
}
.company-data-row{
    padding:11px 0 !important;
}

/* CONTACT */
.premium-contact-grid{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 390px) !important;
    gap:40px !important;
}
.premium-contact-copy h2{
    font-size:clamp(34px, 4vw, 58px) !important;
}
.premium-contact-copy p{
    font-size:15px !important;
}
.contact-benefits,
.premium-contact-info{
    gap:10px !important;
}
.premium-contact-form{
    padding:22px !important;
    border-radius:18px !important;
}
.premium-contact-form h3{
    font-size:22px !important;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
    padding:12px 14px !important;
    font-size:13px !important;
}
.contact-form textarea{
    min-height:95px !important;
}
.contact-trust-panel{
    padding:14px 18px !important;
}

/* FOOTER */
.premium-footer{
    padding-top:48px !important;
    padding-bottom:18px !important;
}
.premium-footer-grid{
    grid-template-columns:minmax(250px,1.05fr) .72fr .95fr .78fr !important;
    gap:34px !important;
}
.footer-logo img{
    width:180px !important;
}
.footer-brand-block p,
.footer-link-list a,
.footer-contact-item,
.footer-bottom{
    font-size:13px !important;
}
.footer-watermark{
    max-width:34vw !important;
    opacity:.07 !important;
}

/* Desktop smaller screens */
@media (max-width: 1400px){
    .container,
    .showcase-references > .container,
    .premium-contact > .container,
    .premium-footer > .container{
        width:min(1280px, calc(100% - 56px)) !important;
    }
    .hero-copy h1{font-size:clamp(36px, 3.75vw, 58px) !important;}
    .hero-visual{min-height:325px !important;}
    .hero-card-large{inset:0 0 115px 34px !important;}
    .hero-card-a{height:158px !important;}
    .hero-card-b{height:178px !important;}
    .premium-before-after,.before-after{height:315px !important;}
}

@media (max-width: 1200px){
    .container,
    .showcase-references > .container,
    .premium-contact > .container,
    .premium-footer > .container{
        width:min(1060px, calc(100% - 44px)) !important;
    }
    .phone{display:none !important;}
    .nav{gap:16px !important;}
    .hero-grid{
        grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr) !important;
        gap:24px !important;
    }
    .hero-visual{min-height:300px !important;}
    .showcase-grid{grid-template-columns:minmax(0,1fr) 250px !important;}
}

/* Планшет/телефон — не душим до 70%, иначе будет нечитаемо */
@media (max-width: 1000px){
    .container,
    .showcase-references > .container,
    .premium-contact > .container,
    .premium-footer > .container{
        width:calc(100% - 34px) !important;
    }
    .section,
    .premium-services,
    .showcase-references,
    .blueprint-process,
    .about-rebuild,
    .premium-contact{
        padding-top:56px !important;
        padding-bottom:56px !important;
    }
    .hero-grid,
    .premium-services-head,
    .showcase-top,
    .showcase-grid,
    .about-rebuild-grid,
    .premium-contact-grid,
    .premium-footer-grid{
        grid-template-columns:1fr !important;
    }
    .hero-visual{
        min-height:410px !important;
        max-height:none !important;
    }
    .hero-card-large{inset:0 0 150px 0 !important;}
    .hero-card-a{height:190px !important;}
    .hero-card-b{height:210px !important;}
}

@media (max-width: 640px){
    .container,
    .showcase-references > .container,
    .premium-contact > .container,
    .premium-footer > .container{
        width:calc(100% - 28px) !important;
    }
    .site-header{
        height:70px !important;
        padding-left:16px !important;
        padding-right:16px !important;
    }
    .brand img{height:46px !important;}
    .hero{padding-top:94px !important;}
    .hero-copy h1,
    .premium-services-head h2,
    .showcase-top h2,
    .process-title-block h2,
    .about-rebuild-copy h2,
    .premium-contact-copy h2{
        font-size:36px !important;
        line-height:1 !important;
    }
    .lead{font-size:16px !important;}
    .hero-visual{min-height:310px !important;}
    .hero-card-large{inset:0 !important;clip-path:none !important;}
    .hero-card-a,.hero-card-b{display:none !important;}
    .stats,
    .showcase-stats,
    .premium-process-grid,
    .process-bottom-note,
    .contact-trust-panel,
    .about-rebuild-stats,
    .premium-service-grid{
        grid-template-columns:1fr !important;
    }
    .premium-before-after,.before-after{height:300px !important;}
}


/* =========================================================
   NORD BAU — FULL SITE 65–70% PREMIUM SCALE PASS
   Весь сайт визуально компактнее без CSS zoom/transform.
   Работает через реальные размеры: контейнеры, шрифты,
   отступы, высоты карточек и секций.
========================================================= */

html,
body{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
}

body{
    font-size:14px;
    line-height:1.45;
}

main,
section,
header,
footer,
.container{
    max-width:100%;
}

section,
.section,
.section-dark,
.premium-services,
.showcase-references,
.premium-process,
.about-rebuild,
.premium-contact,
.premium-footer{
    overflow:hidden;
}

.container{
    width:min(1360px, calc(100% - 110px));
}

.section{
    padding:64px 0;
}

.eyebrow{
    font-size:11px;
    margin-bottom:10px;
    letter-spacing:.09em;
}

.btn{
    padding:12px 18px;
    font-size:11px;
    border-radius:5px;
}

/* HEADER */
.site-header{
    height:68px;
    padding:0 34px;
}
.site-header.scrolled{
    height:58px;
}
.brand img{
    height:46px;
}
.nav{
    gap:24px;
    font-size:11px;
}
.header-action{
    gap:12px;
}
.phone{
    font-size:13px;
}

/* HERO */
.hero{
    min-height:auto !important;
    padding-top:96px !important;
    padding-bottom:34px !important;
}
.hero-grid{
    grid-template-columns:.95fr 1.05fr;
    gap:30px;
}
.hero-copy h1{
    font-size:clamp(36px,4.4vw,66px) !important;
    line-height:.94;
    margin-bottom:18px;
}
.lead{
    font-size:16px !important;
    max-width:500px;
    margin-bottom:22px;
}
.hero-buttons{
    gap:12px;
    margin-bottom:26px !important;
}
.trust-row{
    gap:12px;
}
.trust-row div{
    padding-left:12px;
}
.trust-row strong{
    font-size:11px;
}
.trust-row span{
    font-size:11px;
}
.hero-visual{
    min-height:390px !important;
}
.hero-card-large{
    inset:0 0 135px 46px !important;
}
.hero-card-a{
    width:51%;
    height:175px !important;
}
.hero-card-b{
    width:48%;
    height:198px !important;
}
.hero-card span{
    right:12px;
    bottom:12px;
    padding:8px 11px !important;
    font-size:10px !important;
}
.hero-bg-mark{
    font-size:118px;
    right:-46px;
    bottom:46px;
}
.stats{
    margin-top:24px !important;
    border-radius:11px;
}
.stats div{
    padding:18px !important;
}
.stats strong{
    font-size:30px !important;
}
.stats span{
    font-size:10px;
}

/* SERVICES */
.premium-services{
    padding:62px 0 58px !important;
}
.premium-services-head{
    grid-template-columns:minmax(0, 640px) minmax(300px, 390px) !important;
    gap:34px !important;
    margin-bottom:22px !important;
    min-height:auto !important;
}
.premium-services-head h2{
    font-size:clamp(36px,4.35vw,62px) !important;
    line-height:.93;
    margin-bottom:14px !important;
}
.premium-services-head p{
    font-size:15px !important;
    max-width:560px;
}
.premium-proof-card{
    padding:24px 24px 22px !important;
    border-radius:16px;
}
.premium-proof-card h3{
    font-size:24px !important;
    margin-bottom:10px;
}
.premium-proof-card p{
    font-size:13px !important;
    margin-bottom:16px;
}
.proof-steps{
    margin-bottom:16px;
}
.proof-steps span{
    min-height:34px;
    font-size:10px;
}
.premium-proof-card li{
    font-size:12px !important;
}
.service-badges{
    gap:26px !important;
    margin:18px 0 26px !important;
    padding:13px 16px !important;
    border-radius:14px;
}
.service-badges span{
    width:28px;
    height:28px;
}
.service-badges strong{
    font-size:11px;
}
.service-badges small{
    font-size:11px;
}
.premium-service-grid{
    gap:11px !important;
}
.premium-service-card{
    min-height:205px !important;
    border-radius:10px;
}
.premium-service-card.card-wide{
    min-height:225px !important;
}
.premium-service-card.card-full{
    min-height:255px !important;
}
.premium-card-content{
    max-width:310px;
    padding:24px !important;
}
.premium-card-content .service-icon{
    width:34px;
    height:34px;
    margin-bottom:14px;
    font-size:18px;
}
.premium-card-content small{
    font-size:10px;
    margin-bottom:8px;
}
.premium-card-content h3{
    font-size:clamp(18px,1.45vw,24px) !important;
    margin-bottom:8px;
}
.premium-card-content p{
    font-size:13px;
    margin-bottom:16px;
}
.premium-card-content a{
    font-size:10px;
}

/* REFERENCES */
.showcase-references{
    padding:62px 0 !important;
}
.showcase-references > .container{
    width:min(1280px, calc(100% - 100px)) !important;
    padding:28px 26px 26px !important;
    border-radius:18px !important;
}
.showcase-top{
    grid-template-columns:minmax(300px, 380px) minmax(380px, 500px) !important;
    gap:30px !important;
    margin-bottom:28px !important;
}
.showcase-top h2{
    font-size:clamp(34px,3.5vw,52px) !important;
}
.showcase-top p{
    font-size:13px !important;
    max-width:390px;
    margin-top:12px !important;
}
.showcase-stats div{
    padding:15px 16px !important;
}
.showcase-stats strong{
    font-size:24px !important;
}
.showcase-stats span{
    font-size:9px !important;
    margin-top:7px;
}
.showcase-grid{
    grid-template-columns:minmax(0,1fr) 292px !important;
    gap:22px !important;
}
.before-after,
.premium-before-after{
    height:370px !important;
    border-radius:16px !important;
}
.ba-label{
    top:14px;
    padding:7px 11px;
    font-size:10px;
}
.ba-label.before{left:14px}
.ba-label.after{right:14px}
.ba-handle{
    width:48px !important;
    height:48px !important;
    font-size:13px;
}
.project-details{
    padding:20px !important;
    border-radius:16px !important;
}
.project-details > p{
    font-size:11px;
    margin-bottom:14px;
}
.project-row{
    grid-template-columns:26px 1fr;
    gap:10px;
    padding:11px 0 !important;
}
.project-row span{
    font-size:16px !important;
}
.project-row small{
    font-size:9px !important;
}
.project-row strong{
    font-size:12px !important;
}
.project-btn{
    margin-top:18px !important;
}
.reference-tabs{
    margin-top:20px !important;
    border-radius:12px !important;
}
.reference-tabs button{
    min-height:52px !important;
    font-size:10px !important;
}

/* PROCESS */
.premium-process,
.blueprint-process{
    padding:62px 0 !important;
}
.process-hero{
    margin-bottom:28px !important;
}
.process-title-block{
    max-width:760px !important;
}
.process-title-block h2,
.premium-process h2{
    font-size:clamp(34px,4vw,58px) !important;
    line-height:.94;
}
.process-title-block p{
    font-size:14px !important;
    max-width:620px;
}
.premium-process-grid{
    gap:14px !important;
}
.premium-process-card{
    padding:22px 20px !important;
    min-height:260px !important;
    border-radius:15px !important;
}
.process-number{
    font-size:38px !important;
}
.process-icon{
    width:42px !important;
    height:42px !important;
    margin-bottom:15px !important;
}
.premium-process-card h3{
    font-size:18px !important;
    margin-bottom:8px !important;
}
.premium-process-card p{
    font-size:12px !important;
}
.process-bottom-note{
    margin-top:20px !important;
    padding:14px 18px !important;
    gap:14px !important;
}
.process-bottom-note strong{
    font-size:12px !important;
}
.process-bottom-note small{
    font-size:11px !important;
}

/* ABOUT / WARUM */
.about-rebuild{
    padding:62px 0 !important;
}
.about-rebuild-grid{
    grid-template-columns:minmax(0, 1fr) minmax(300px, 400px) !important;
    gap:34px !important;
}
.about-rebuild-copy h2,
.about h2{
    font-size:clamp(34px,3.8vw,58px) !important;
    line-height:.95;
    margin-bottom:14px !important;
}
.about-rebuild-lead,
.about-rebuild-copy p,
.about p{
    font-size:14px !important;
}
.about-rebuild-checks{
    margin-top:18px !important;
    gap:9px !important;
}
.about-rebuild-checks li{
    font-size:13px !important;
}
.about-rebuild-stats{
    gap:12px !important;
    margin-top:22px !important;
}
.about-rebuild-stats div{
    padding:16px !important;
    border-radius:14px !important;
}
.about-rebuild-stats strong{
    font-size:28px !important;
}
.about-rebuild-card,
.company-box{
    padding:24px !important;
    border-radius:18px !important;
}
.about-rebuild-logo,
.about-company-logo{
    width:135px !important;
    max-width:60%;
}
.about-rebuild-card h3{
    font-size:23px !important;
}
.about-rebuild-card p,
.company-box p{
    font-size:13px !important;
}
.about-rebuild-mark{
    font-size:125px !important;
}

/* CONTACT */
.premium-contact,
.contact{
    padding:62px 0 !important;
}
.premium-contact-grid,
.contact-grid{
    grid-template-columns:minmax(0,1fr) 390px !important;
    gap:34px !important;
}
.premium-contact-copy h2,
.contact h2{
    font-size:clamp(34px,3.7vw,56px) !important;
    line-height:.95;
    margin-bottom:14px !important;
}
.premium-contact-copy p,
.contact p{
    font-size:14px !important;
}
.contact-benefits{
    gap:9px !important;
    margin-top:20px !important;
}
.contact-benefits div{
    padding:11px 13px !important;
    font-size:12px !important;
}
.contact-info{
    gap:10px !important;
    margin-top:20px !important;
}
.contact-info a,
.contact-info span{
    font-size:13px !important;
}
.contact-form,
.premium-contact-form{
    padding:22px !important;
    border-radius:16px !important;
    gap:11px !important;
}
.contact-form h3,
.premium-contact-form h3{
    font-size:22px !important;
}
.contact-form p,
.premium-contact-form p{
    font-size:12px !important;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
    padding:12px !important;
    font-size:13px !important;
    border-radius:7px !important;
}
.contact-form textarea{
    min-height:96px !important;
}
.contact-trust-row{
    padding:14px !important;
    gap:14px !important;
}
.contact-trust-row strong{
    font-size:18px !important;
}
.contact-trust-row span{
    font-size:10px !important;
}

/* FOOTER */
.premium-footer,
.footer{
    padding:44px 0 24px !important;
}
.footer-main,
.premium-footer-grid{
    gap:28px !important;
}
.footer-logo,
.premium-footer-logo,
.footer img{
    max-width:165px !important;
    height:auto !important;
}
.footer-brand p,
.premium-footer p{
    font-size:13px !important;
    max-width:360px;
}
.footer-col h4,
.premium-footer h4{
    font-size:12px !important;
    margin-bottom:12px !important;
}
.footer-col a,
.footer-col li,
.premium-footer a,
.premium-footer li{
    font-size:12px !important;
    margin-bottom:8px !important;
}
.footer-bottom{
    margin-top:28px !important;
    padding-top:18px !important;
    font-size:11px !important;
}
.footer-watermark,
.premium-footer-watermark{
    font-size:120px !important;
    opacity:.035 !important;
}

/* IMAGE SAFETY */
img{
    max-width:100%;
    height:auto;
}
.hero-card img,
.premium-service-card img,
.before-after > img,
.before-layer img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.before-layer img{
    max-width:none;
}

/* LAPTOPS */
@media (max-width:1200px){
    .container{
        width:min(1180px, calc(100% - 70px));
    }
    .site-header{padding:0 24px}
    .nav{gap:18px}
    .header-action .btn{display:none}
    .hero-visual{min-height:350px !important}
    .showcase-references > .container{width:min(1120px, calc(100% - 60px)) !important}
}

/* TABLET */
@media (max-width:1000px){
    .container{
        width:min(100% - 42px, 900px) !important;
    }
    .section,
    .premium-services,
    .showcase-references,
    .premium-process,
    .about-rebuild,
    .premium-contact,
    .contact{
        padding:54px 0 !important;
    }
    .hero-grid,
    .premium-services-head,
    .showcase-top,
    .showcase-grid,
    .about-rebuild-grid,
    .premium-contact-grid,
    .contact-grid{
        grid-template-columns:1fr !important;
    }
    .hero-visual{min-height:420px !important}
    .hero-card-large{inset:0 0 145px 0 !important}
    .premium-process-grid{grid-template-columns:repeat(2,1fr) !important}
    .premium-service-grid{grid-template-columns:repeat(2,1fr) !important}
    .premium-service-card,
    .premium-service-card.card-wide,
    .premium-service-card.card-full{grid-column:span 1 !important}
    .showcase-references > .container{width:min(100% - 42px, 900px) !important}
}

/* MOBILE */
@media (max-width:640px){
    .container{
        width:min(100% - 24px, 560px) !important;
    }
    .site-header{
        height:62px;
        padding:0 16px;
    }
    .brand img{height:42px}
    .hero{
        padding-top:88px !important;
        padding-bottom:36px !important;
    }
    .hero-copy h1{
        font-size:40px !important;
    }
    .lead{font-size:16px !important}
    .hero-buttons .btn{width:100%}
    .trust-row,
    .stats,
    .premium-service-grid,
    .premium-process-grid,
    .showcase-stats,
    .process-bottom-note,
    .contact-trust-row{
        grid-template-columns:1fr !important;
    }
    .hero-visual{min-height:340px !important}
    .hero-card-large{inset:0 !important;clip-path:none !important}
    .hero-card-a,.hero-card-b{display:none !important}
    .premium-services-head h2,
    .showcase-top h2,
    .process-title-block h2,
    .about-rebuild-copy h2,
    .premium-contact-copy h2,
    .contact h2{
        font-size:34px !important;
    }
    .premium-service-card,
    .premium-service-card.card-wide,
    .premium-service-card.card-full{
        min-height:240px !important;
    }
    .before-after,
    .premium-before-after{
        height:300px !important;
    }
    .project-details,
    .contact-form,
    .premium-contact-form{
        padding:18px !important;
    }
}


/* =========================================================
   NORD BAU — FINAL CLEAN TRUST PASS
   Убираем повторяющиеся цифры, оставляем статистику только в Hero.
   Делаем сайт спокойнее, дороже и легче визуально.
========================================================= */

/* Шапка — более дорогой glass-style */
.site-header{
  background: rgba(3, 14, 26, .62) !important;
  backdrop-filter: blur(22px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(130%) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.18);
}
.site-header.scrolled{
  background: rgba(3, 14, 26, .88) !important;
}

/* Узкая премиальная полоса доверия после Hero */
.trust-strip{
  position: relative;
  z-index: 3;
  background: #f7f9fc;
  padding: 24px 0;
  border-bottom: 1px solid rgba(6,25,43,.08);
  overflow: hidden;
}
.trust-strip::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.22;
  pointer-events:none;
  background-image:
    linear-gradient(90deg, rgba(6,25,43,.05) 1px, transparent 1px),
    linear-gradient(rgba(6,25,43,.04) 1px, transparent 1px),
    linear-gradient(135deg, transparent 0 48%, rgba(30,136,255,.18) 49% 50%, transparent 51%);
  background-size: 72px 72px, 72px 72px, 360px 180px;
}
.trust-strip-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  border:1px solid rgba(6,25,43,.08);
  border-radius: 18px;
  overflow:hidden;
  background:rgba(255,255,255,.82);
  box-shadow: 0 18px 48px rgba(6,25,43,.08);
}
.trust-strip-grid div{
  display:grid;
  grid-template-columns: 38px 1fr;
  column-gap: 14px;
  align-items:center;
  padding: 20px 22px;
  background:rgba(255,255,255,.72);
}
.trust-strip-grid span{
  grid-row: span 2;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(30,136,255,.35);
  border-radius:50%;
  color:var(--orange);
  font-weight:900;
}
.trust-strip-grid strong{
  color:#06192b;
  font-size:14px;
  line-height:1.15;
}
.trust-strip-grid small{
  color:#617085;
  font-weight:700;
  font-size:12px;
}

/* Referenzen — убрали повтор статистики, верх стал чище */
.showcase-top{
  grid-template-columns: minmax(0, 760px) !important;
  justify-content: start !important;
  max-width: 820px;
}
.showcase-top p{
  max-width: 640px !important;
}
.showcase-stats{
  display:none !important;
}

/* Warum Nord Bau — вместо цифр аккуратные обещания качества */
.about-rebuild-promise{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top: 34px;
}
.about-rebuild-promise div{
  min-height: 118px;
  padding: 20px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.about-rebuild-promise span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(30,136,255,.42);
  border-radius:50%;
  color:var(--orange);
  margin-bottom:12px;
  font-weight:900;
}
.about-rebuild-promise strong{
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.25;
}
.about-rebuild-promise small{
  display:block;
  margin-top:5px;
  color:#9fb1c5;
  font-weight:800;
  font-size:12px;
}
.about-rebuild-stats{
  display:none !important;
}

/* Kontakt — убираем агрессивные цифры, оставляем доверие текстом */
.contact-trust-clean{
  grid-template-columns: repeat(4, 1fr) !important;
}
.contact-trust-clean div{
  padding: 24px 26px !important;
}
.contact-trust-clean span{
  font-size:24px !important;
}
.contact-trust-clean strong{
  font-size:18px !important;
  line-height:1.25 !important;
}
.contact-trust-clean small{
  font-size:13px !important;
}

/* Чуть легче типографика в информационных блоках */
.premium-contact h2,
.about-rebuild-copy h2,
.showcase-top h2{
  letter-spacing: -.055em;
}

@media (max-width: 1000px){
  .trust-strip-grid,
  .about-rebuild-promise,
  .contact-trust-clean{
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .showcase-top{
    max-width:100%;
  }
}

@media (max-width: 640px){
  .trust-strip{
    padding:18px 0;
  }
  .trust-strip-grid,
  .about-rebuild-promise,
  .contact-trust-clean{
    grid-template-columns: 1fr !important;
  }
  .trust-strip-grid div{
    padding:18px;
  }
}

/* =========================================================
   NORD BAU — ABLAUF NUMBERS ALIGN FIX
   Выравнивает 01 / 02 / 03 / 04 одинаково во всех карточках
   Добавлено финальным override-блоком, чтобы перекрыть старые стили
========================================================= */

.blueprint-process .premium-process-grid{
    align-items: stretch !important;
}

.blueprint-process .premium-process-card{
    position: relative !important;
    overflow: hidden !important;
    padding: 148px 34px 34px !important;
    min-height: 330px !important;
}

/* Ровная позиция цифры в каждой карточке */
.blueprint-process .premium-process-card .process-number{
    position: absolute !important;
    top: 38px !important;
    left: 38px !important;

    width: 92px !important;
    height: 78px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 58px !important;
    font-weight: 900 !important;
    line-height: .88 !important;
    letter-spacing: -.065em !important;

    color: var(--orange) !important;

    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    z-index: 6 !important;
}

/* Одинаковая маленькая линия под цифрой */
.blueprint-process .premium-process-card .process-number::after{
    content: "" !important;
    display: block !important;

    width: 48px !important;
    height: 3px !important;
    margin-top: 18px !important;

    background: var(--orange) !important;
    border-radius: 999px !important;
}

/* Иконки тоже фиксируем одинаково, чтобы блок выглядел ровно */
.blueprint-process .premium-process-card .process-icon{
    position: absolute !important;
    top: 40px !important;
    right: 38px !important;

    width: 76px !important;
    height: 76px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;

    border-radius: 50% !important;
    background: linear-gradient(145deg, #fff, #f4f7fb) !important;
    border: 5px solid rgba(255,255,255,.86) !important;
    box-shadow:
        0 18px 38px rgba(6,25,43,.10),
        inset 0 0 0 1px rgba(6,25,43,.08) !important;

    color: #071d33 !important;
    font-size: 34px !important;
    z-index: 7 !important;
}

.blueprint-process .premium-process-card .process-icon::after{
    content: "" !important;
    position: absolute !important;
    right: -6px !important;
    bottom: 10px !important;

    width: 20px !important;
    height: 20px !important;

    border-radius: 50% !important;
    background: var(--orange) !important;
    border: 5px solid #fff !important;
    box-shadow: 0 10px 22px rgba(30,136,255,.24) !important;
}

.blueprint-process .premium-process-card h3,
.blueprint-process .premium-process-card p,
.blueprint-process .premium-process-card i,
.blueprint-process .premium-process-card a{
    position: relative !important;
    z-index: 5 !important;
}

/* Ноутбуки */
@media (max-width: 1200px){
    .blueprint-process .premium-process-card{
        padding: 132px 26px 28px !important;
        min-height: 300px !important;
    }

    .blueprint-process .premium-process-card .process-number{
        top: 32px !important;
        left: 30px !important;
        font-size: 50px !important;
        width: 80px !important;
        height: 68px !important;
    }

    .blueprint-process .premium-process-card .process-number::after{
        width: 42px !important;
        height: 2px !important;
        margin-top: 15px !important;
    }

    .blueprint-process .premium-process-card .process-icon{
        top: 32px !important;
        right: 30px !important;
        width: 66px !important;
        height: 66px !important;
        font-size: 29px !important;
    }
}

/* Телефон / планшет */
@media (max-width: 1000px){
    .blueprint-process .premium-process-card{
        padding: 122px 24px 28px !important;
        min-height: auto !important;
    }

    .blueprint-process .premium-process-card .process-number{
        top: 28px !important;
        left: 26px !important;
        font-size: 46px !important;
    }

    .blueprint-process .premium-process-card .process-icon{
        top: 28px !important;
        right: 26px !important;
        width: 62px !important;
        height: 62px !important;
        font-size: 27px !important;
    }
}


/* =========================================================
   NORD BAU — PREMIUM CONTACT BLOCK UPGRADE
   Новый контактный блок: сильнее левая часть + премиальная форма
========================================================= */
.contact-upgraded{
    padding: 82px 0 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,253,.98)),
        #fff;
}

.contact-upgraded::after{
    height: 6px;
    background: linear-gradient(90deg, transparent 4%, rgba(30,136,255,.35), var(--orange), rgba(30,136,255,.35), transparent 96%);
}

.contact-upgraded .premium-contact-grid{
    grid-template-columns: minmax(0, 1.16fr) minmax(390px, 500px);
    gap: 52px;
    align-items: stretch;
}

.contact-upgraded .premium-contact-copy h2{
    max-width: 820px;
    font-size: clamp(42px, 4.6vw, 72px);
    margin-bottom: 18px;
}

.contact-upgraded .premium-contact-lead{
    max-width: 760px;
    margin-bottom: 24px;
}

.contact-upgraded .contact-benefits{
    max-width: 820px;
    margin: 24px 0 34px;
    border-radius: 16px;
}

.contact-upgraded .contact-benefits div{
    min-height: 78px;
    padding: 16px 22px;
}

.contact-left-middle{
    display:grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 22px;
    max-width: 820px;
    margin: 0 0 26px;
    align-items: stretch;
}

.contact-why-card{
    padding: 6px 0 0;
}

.contact-why-card h3{
    position: relative;
    color:#06192b;
    font-size: 22px;
    line-height:1.15;
    margin-bottom: 22px;
}

.contact-why-card h3::after{
    content:"";
    display:block;
    width:42px;
    height:2px;
    margin-top:12px;
    background:var(--orange);
    border-radius:999px;
}

.contact-why-card ul{
    list-style:none;
    display:grid;
    gap:10px;
}

.contact-why-card li{
    color:#06192b;
    font-size:15px;
    line-height:1.35;
}

.contact-why-card li::before{
    content:"✓";
    color:var(--orange);
    font-weight:900;
    margin-right:10px;
}

.contact-mini-stats{
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:14px;
}

.contact-mini-stats div{
    min-height: 164px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:8px;
    border:1px solid rgba(6,25,43,.08);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    box-shadow:0 16px 45px rgba(6,25,43,.06);
    backdrop-filter:blur(10px);
}

.contact-mini-stats span{
    color:var(--orange);
    font-size:32px;
    line-height:1;
}

.contact-mini-stats strong{
    color:var(--orange);
    font-size:42px;
    line-height:.95;
    letter-spacing:-.05em;
}

.contact-mini-stats small{
    color:#06192b;
    font-weight:800;
    font-size:14px;
    line-height:1.25;
}

.contact-upgraded .contact-info-cards{
    max-width:820px;
    border:1px solid rgba(6,25,43,.08);
    border-radius:16px;
    overflow:hidden;
    background:rgba(255,255,255,.78);
    box-shadow:0 18px 55px rgba(6,25,43,.08);
    backdrop-filter:blur(12px);
}

.contact-upgraded .contact-info-cards > a,
.contact-upgraded .contact-info-cards > div{
    grid-template-columns:54px 1fr 22px;
    gap:16px;
    padding:17px 22px;
    border-bottom:1px solid rgba(6,25,43,.08);
    transition:.25s ease;
}

.contact-upgraded .contact-info-cards > a:hover{
    background:rgba(30,136,255,.035);
}

.contact-upgraded .contact-info-cards > a:last-child,
.contact-upgraded .contact-info-cards > div:last-child{
    border-bottom:0;
}

.contact-upgraded .contact-info-cards > a > span,
.contact-upgraded .contact-info-cards > div > span{
    width:46px;
    height:46px;
}

.contact-upgraded .contact-info-cards b{
    color:#06192b;
    font-size:28px;
    line-height:1;
    font-weight:400;
    opacity:.95;
}

.contact-upgraded .premium-contact-form{
    min-height:100%;
    padding:34px;
    border-radius:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:0;
}

.contact-upgraded .contact-form-head{
    grid-template-columns:84px 1fr;
    margin-bottom:28px;
}

.contact-upgraded .form-icon{
    width:72px;
    height:72px;
    font-size:28px;
}

.contact-upgraded .contact-form-head h3{
    font-size:28px;
    text-transform:none;
    letter-spacing:-.035em;
}

.contact-upgraded .premium-contact-form label > span{
    display:none;
}

.contact-upgraded .premium-contact-form input,
.contact-upgraded .premium-contact-form select,
.contact-upgraded .premium-contact-form textarea{
    padding:18px;
    border-radius:9px;
    background:rgba(255,255,255,.07);
}

.contact-upgraded .premium-contact-form textarea{
    min-height:132px;
}

.contact-upgraded .premium-contact-form .btn{
    min-height:64px;
    margin-top:8px;
    font-size:14px;
}

.form-trust-row{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    margin:30px 0 22px;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
}

.form-trust-row div{
    min-height:82px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:14px 10px;
    border-right:1px solid rgba(255,255,255,.12);
}

.form-trust-row div:last-child{border-right:0;}

.form-trust-row span{
    color:var(--orange);
    font-size:26px;
    line-height:1;
    margin-bottom:6px;
}

.form-trust-row small{
    color:#cfe0f1;
    font-size:13px;
    line-height:1.35;
}

.contact-upgraded .form-safe{
    margin-top:0;
    font-size:13px;
    color:#c5d2df;
}

.contact-upgraded .contact-trust-panel{
    display:none !important;
}

@media (max-width:1000px){
    .contact-upgraded{
        padding:72px 0 0;
    }

    .contact-upgraded .premium-contact-grid,
    .contact-left-middle{
        grid-template-columns:1fr;
    }

    .contact-mini-stats{
        max-width:420px;
    }
}

@media (max-width:640px){
    .contact-upgraded .premium-contact-copy h2{
        font-size:38px;
    }

    .contact-upgraded .contact-benefits,
    .contact-mini-stats,
    .form-trust-row{
        grid-template-columns:1fr;
    }

    .contact-upgraded .contact-benefits div{
        border-right:0;
        border-bottom:1px solid rgba(6,25,43,.08);
    }

    .contact-upgraded .contact-benefits div:last-child{border-bottom:0;}

    .contact-upgraded .premium-contact-form{
        padding:26px;
    }

    .contact-upgraded .contact-form-head{
        grid-template-columns:1fr;
    }

    .form-trust-row div{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .form-trust-row div:last-child{border-bottom:0;}
}


/* =========================================================
   NORD BAU — FINAL TEMPLATE MATCH PASS
   цель: приблизить сайт к утвержденному премиум-шаблону
========================================================= */
:root{
  --nb-dark:#03101e;
  --nb-navy:#06192b;
  --nb-card:#071d33;
  --nb-orange:#1e88ff;
  --nb-soft:#f7f9fc;
}

body{
  background:#03101e;
  color:#071d33;
}

.container{
  width:min(1160px, calc(100% - 72px));
}

.section{
  padding:74px 0;
}

.site-header{
  height:74px;
  padding:0 48px;
  background:rgba(3,16,30,.88);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header.scrolled{height:66px;}
.brand img{height:46px;}
.nav{gap:32px;font-size:12px;}
.header-action .btn{padding:13px 20px;font-size:12px;border-radius:7px;}
.phone{font-size:14px;}

/* HERO */
.hero{
  min-height:auto;
  padding-top:104px;
  padding-bottom:30px;
  background:
    radial-gradient(circle at 70% 20%, rgba(13,99,183,.18), transparent 30%),
    linear-gradient(135deg,#03101e 0%,#06192b 52%,#020914 100%);
}
.hero::before{opacity:.34;}
.hero::after{opacity:.32;}
.blueprint-lines{opacity:.18;}
.hero-grid{
  grid-template-columns:.86fr 1.14fr;
  gap:42px;
  min-height:420px;
}
.hero-copy h1{
  font-size:clamp(48px,5.6vw,78px);
  line-height:.93;
  letter-spacing:-.065em;
  margin-bottom:22px;
}
.lead{
  font-size:17px;
  line-height:1.55;
  max-width:500px;
  margin-bottom:26px;
}
.btn{border-radius:7px;padding:14px 22px;font-size:12px;}
.hero-buttons{margin-bottom:30px;gap:14px;}
.trust-row{
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:560px;
}
.trust-row div{
  display:grid;
  grid-template-columns:28px 1fr;
  column-gap:10px;
  border-left:0;
  padding-left:0;
}
.trust-row div::before{
  content:'✓';
  width:24px;height:24px;border:2px solid var(--orange);border-radius:50%;
  display:grid;place-items:center;color:var(--orange);font-weight:900;font-size:13px;
  grid-row:span 2;
}
.trust-row strong{font-size:11px;}
.trust-row span{font-size:11px;margin-top:0;}
.hero-visual{min-height:410px;}
.hero-card{border-radius:10px;box-shadow:0 26px 70px rgba(0,0,0,.34);}
.hero-card-large{inset:0 70px 220px 120px;clip-path:none;}
.hero-card-a{left:42px;bottom:48px;width:42%;height:188px;}
.hero-card-b{right:40px;bottom:28px;width:43%;height:210px;}
.hero-card span{font-size:11px;padding:9px 13px;right:12px;bottom:12px;border-radius:4px;}
.stats{
  margin-top:22px;
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}
.stats div{padding:22px 24px;text-align:center;background:rgba(255,255,255,.025);}
.stats strong{font-size:36px;}
.stats span{font-size:10px;}

/* TRUST STRIP */
.trust-strip{
  background:#fff;
  padding:22px 0;
  box-shadow:0 14px 45px rgba(6,25,43,.08);
  position:relative;
  z-index:5;
}
.trust-strip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border:1px solid rgba(6,25,43,.08);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.trust-strip-grid div{
  display:grid;
  grid-template-columns:34px 1fr;
  column-gap:12px;
  padding:18px 22px;
  border-right:1px solid rgba(6,25,43,.09);
}
.trust-strip-grid div:last-child{border-right:0;}
.trust-strip-grid span{
  grid-row:span 2;width:28px;height:28px;border:2px solid var(--orange);border-radius:50%;
  display:grid;place-items:center;color:var(--orange);font-weight:900;
}
.trust-strip-grid strong{font-size:12px;color:#071d33;line-height:1.2;}
.trust-strip-grid small{font-size:11px;color:#66788c;line-height:1.2;}

/* SERVICES */
.premium-services{
  padding:70px 0 72px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,249,252,.98)),
    #f7f9fc;
}
.premium-services-head{
  grid-template-columns:minmax(0,650px) 360px;
  gap:46px;
  align-items:start;
  margin-bottom:28px;
}
.premium-services-head h2{
  font-size:clamp(34px,4.3vw,58px);
  line-height:.98;
  letter-spacing:-.055em;
  margin-bottom:14px;
}
.premium-services-head p{font-size:15px;max-width:580px;}
.premium-proof-card{
  padding:28px;
  border-radius:12px;
  box-shadow:0 28px 75px rgba(6,25,43,.20);
}
.premium-proof-card h3{font-size:27px;}
.premium-proof-card p{font-size:14px;}
.proof-steps span{min-height:36px;font-size:10px;}
.premium-proof-card li{font-size:13px;}
.service-badges{display:none;}
.premium-service-grid-final{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:0;
}
.final-service-card,
.premium-service-card.final-service-card{
  grid-column:auto!important;
  min-height:250px!important;
  border-radius:10px;
}
.final-service-card::before{
  background:linear-gradient(180deg, rgba(3,16,30,.08), rgba(3,16,30,.88));
}
.final-service-card .premium-card-content{
  justify-content:flex-end;
  padding:22px;
  max-width:100%;
}
.final-service-card .service-icon{
  width:28px;height:28px;margin-bottom:12px;font-size:14px;border-radius:7px;
}
.final-service-card small{display:none;}
.final-service-card h3{font-size:18px;margin-bottom:8px;}
.final-service-card p{font-size:13px;line-height:1.35;margin-bottom:14px;}
.final-service-card a{font-size:10px;}
.services-cta{text-align:center;margin-top:22px;}
.dark-outline{color:#071d33;border-color:rgba(6,25,43,.22);}
.dark-outline:hover{background:#071d33;color:#fff;}

/* REFERENCES */
.references-final{
  padding:70px 0 72px;
  background:linear-gradient(135deg,#03101e,#071d33 58%,#020914);
}
.references-final > .container{
  width:min(1080px, calc(100% - 72px));
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.references-final-head{
  display:block;
  text-align:center;
  margin-bottom:26px;
}
.references-final-head .eyebrow{margin-bottom:8px;}
.references-final-head h2{
  font-size:clamp(28px,3.2vw,44px);
  line-height:1;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.references-slider-wrap{position:relative;}
.references-final .premium-before-after{
  height:300px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 85px rgba(0,0,0,.32);
}
.references-final .before-after > img,
.references-final .before-layer img{object-position:center center;}
.references-final .ba-handle{width:44px;height:44px;font-size:12px;}
.references-final .ba-label{top:14px;font-size:10px;padding:7px 11px;border-radius:4px;}
.ref-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:12;
  width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;
  background:rgba(3,16,30,.55);color:#fff;font-size:28px;cursor:pointer;
}
.ref-arrow-left{left:-58px;}
.ref-arrow-right{right:-58px;}
.references-cta{text-align:center;margin-top:22px;}
.references-cta .btn{padding:12px 20px;}

/* PROCESS */
.premium-process{
  padding:62px 0 64px;
  background:#fff;
}
.process-title-block{text-align:center;margin:0 auto 28px;max-width:760px;}
.process-title-block h2{
  font-size:clamp(28px,3.7vw,46px);
  line-height:1.04;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.process-title-block h2 em{color:var(--orange);font-style:normal;}
.process-title-block p{font-size:16px;color:#40536b;}
.premium-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.premium-process-card{
  min-height:210px;
  padding:24px 22px 22px;
  border-radius:10px;
  background:#fff;
  border:1px solid rgba(6,25,43,.09);
  box-shadow:0 18px 55px rgba(6,25,43,.07);
  position:relative;
  overflow:hidden;
}
.process-number{
  position:static!important;
  width:auto!important;height:auto!important;border:0!important;background:transparent!important;box-shadow:none!important;
  display:block!important;
  color:var(--orange)!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  margin-bottom:20px!important;
}
.process-icon{position:absolute;right:24px;top:24px;}
.process-icon span{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:#f4f7fb;color:#071d33;font-size:18px;
}
.premium-process-card h3{font-size:15px;margin-bottom:10px;color:#071d33;}
.premium-process-card i{display:block;width:32px;height:2px;background:var(--orange);margin-bottom:14px;}
.premium-process-card p{font-size:12px;line-height:1.45;color:#40536b;}
.premium-process-card a{color:var(--orange);font-weight:900;position:absolute;right:22px;bottom:18px;}
.process-bottom-note{
  margin-top:28px;
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(6,25,43,.08);border-radius:10px;background:#fff;
  box-shadow:0 18px 50px rgba(6,25,43,.05);overflow:hidden;
}
.process-bottom-note div{padding:18px 28px;display:grid;grid-template-columns:34px 1fr;column-gap:12px;border-right:1px solid rgba(6,25,43,.08);}
.process-bottom-note div:last-child{border-right:0;}
.process-bottom-note span{grid-row:span 2;width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(30,136,255,.35);border-radius:8px;color:var(--orange);}
.process-bottom-note strong{font-size:12px;color:#071d33;}
.process-bottom-note small{font-size:11px;color:#66788c;}

/* CONTACT */
.premium-contact{
  padding:70px 0 70px;
  background:#fff;
}
.premium-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 460px;
  gap:46px;
  align-items:start;
}
.premium-contact-copy h2{
  font-size:clamp(32px,4vw,54px);
  line-height:1;
  letter-spacing:-.05em;
}
.premium-contact-copy h2 em{font-style:normal;color:var(--orange);}
.premium-contact-lead{font-size:16px;max-width:670px;}
.contact-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(6,25,43,.08);border-radius:10px;overflow:hidden;background:#fff;margin:26px 0 24px;}
.contact-benefits div{padding:18px;display:grid;grid-template-columns:28px 1fr;column-gap:10px;border-right:1px solid rgba(6,25,43,.08);}
.contact-benefits div:last-child{border-right:0;}
.contact-benefits span{width:26px;height:26px;border:2px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange);}
.contact-benefits strong{font-size:13px;line-height:1.3;}
.contact-left-middle{display:grid;grid-template-columns:1fr 210px;gap:22px;margin-bottom:24px;}
.contact-why-card h3{font-size:18px;margin-bottom:10px;}
.contact-why-card li{font-size:13px;margin:7px 0;}
.contact-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-mini-stats div{border:1px solid rgba(6,25,43,.09);border-radius:10px;padding:18px;text-align:center;background:#fff;box-shadow:0 12px 35px rgba(6,25,43,.06);}
.contact-mini-stats strong{display:block;color:var(--orange);font-size:27px;line-height:1;}
.contact-info-cards{display:grid;gap:0;border-radius:10px;overflow:hidden;background:#071d33;box-shadow:0 22px 70px rgba(6,25,43,.18);}
.contact-info-cards a,.contact-info-cards>div{display:grid;grid-template-columns:42px 1fr 20px;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.10);color:#fff;}
.contact-info-cards span{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--orange);}
.contact-info-cards small{color:#93a6ba;}
.premium-contact-form{border-radius:10px;padding:28px;background:#071d33;box-shadow:0 28px 80px rgba(6,25,43,.26);}
.contact-form-head{display:flex;gap:16px;align-items:center;margin-bottom:16px;color:#fff;}
.form-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);}
.contact-form-head h3{font-size:22px;}
.contact-form-head p{font-size:13px;color:#aabcce;}
.premium-contact-form input,.premium-contact-form select,.premium-contact-form textarea{border-radius:7px;padding:14px 16px;background:rgba(255,255,255,.07);}
.form-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.12);margin-top:16px;padding-top:16px;}
.form-trust-row div{text-align:center;color:#cfe0f1;font-size:11px;}
.form-trust-row span{display:block;color:var(--orange);font-size:16px;margin-bottom:5px;}
.form-safe{display:block;margin-top:16px;color:#99aabd;font-size:11px;}

/* FOOTER */
.premium-footer{
  padding:54px 0 18px;
  background:linear-gradient(135deg,#03101e,#071d33 58%,#020914);
  position:relative;overflow:hidden;color:#cfe0f1;
}
.premium-footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1.05fr .8fr;gap:48px;align-items:start;}
.footer-logo img{height:58px;}
.footer-brand-block p{font-size:13px;line-height:1.65;margin:18px 0;color:#b9c8d8;}
.footer-col h3{color:#fff;text-transform:uppercase;font-size:14px;margin-bottom:18px;position:relative;}
.footer-col h3::after{content:'';display:block;width:44px;height:2px;background:var(--orange);margin-top:8px;}
.footer-col a{display:block;color:#d9e4ef;font-size:13px;margin:10px 0;}
.footer-contact-item{display:grid!important;grid-template-columns:32px 1fr;gap:12px;align-items:start;}
.footer-contact-item span{color:var(--orange);}
.footer-contact-item small{display:block;color:#91a5b8;font-size:11px;}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.09);margin-top:34px;padding-top:18px;color:#91a5b8;font-size:12px;}
.footer-socials{display:flex;gap:10px;}
.footer-socials a{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;}
.footer-glow-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent);}

/* RESPONSIVE */
@media (max-width:1000px){
  .container{width:min(100% - 36px,1160px);}
  .hero-grid,.premium-services-head,.premium-contact-grid{grid-template-columns:1fr;}
  .hero-visual{min-height:430px;}
  .trust-strip-grid,.premium-service-grid-final,.premium-process-grid,.process-bottom-note,.premium-footer-grid{grid-template-columns:1fr 1fr;}
  .contact-left-middle{grid-template-columns:1fr;}
  .ref-arrow{display:none;}
}
@media (max-width:640px){
  .site-header{height:68px;padding:0 18px;}
  .brand img{height:44px;}
  .hero-copy h1{font-size:43px;}
  .stats,.trust-row,.trust-strip-grid,.premium-service-grid-final,.premium-process-grid,.process-bottom-note,.contact-benefits,.premium-footer-grid{grid-template-columns:1fr;}
  .hero-card-large{inset:0;}
  .hero-card-a,.hero-card-b{display:none;}
  .references-final .premium-before-after{height:240px;}
  .contact-benefits div,.trust-strip-grid div,.process-bottom-note div{border-right:0;border-bottom:1px solid rgba(6,25,43,.08);}
  .footer-bottom{flex-direction:column;}
}


/* =========================================================
   NORD BAU — CONTACT OVERLAP FIX
   Fix: mini-stat cards no longer slide under the right form.
   This block is intentionally placed at the end to override older rules.
========================================================= */
.premium-contact,
.contact-upgraded{
    overflow:hidden !important;
}

.premium-contact > .container,
.contact-upgraded > .container{
    width:min(1180px, calc(100% - 56px)) !important;
}

.premium-contact-grid,
.contact-upgraded .premium-contact-grid{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 430px) !important;
    gap:36px !important;
    align-items:start !important;
}

.premium-contact-copy,
.contact-upgraded .premium-contact-copy{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.contact-left-middle{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(170px, 240px) !important;
    gap:18px !important;
    max-width:100% !important;
    width:100% !important;
    align-items:stretch !important;
}

.contact-why-card{
    min-width:0 !important;
}

.contact-mini-stats{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    min-width:0 !important;
    max-width:100% !important;
}

.contact-mini-stats div{
    min-width:0 !important;
    width:100% !important;
    min-height:150px !important;
    padding:18px 12px !important;
    overflow:hidden !important;
}

.contact-mini-stats span{
    font-size:26px !important;
}

.contact-mini-stats strong{
    font-size:34px !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

.contact-mini-stats small{
    font-size:12px !important;
    line-height:1.22 !important;
    max-width:130px !important;
    margin:0 auto !important;
}

.contact-upgraded .contact-info-cards,
.contact-info-cards{
    max-width:100% !important;
    width:100% !important;
}

.premium-contact-form,
.contact-upgraded .premium-contact-form{
    width:100% !important;
    max-width:430px !important;
    min-width:0 !important;
    justify-self:end !important;
    position:relative !important;
    z-index:3 !important;
}

@media (max-width:1200px){
    .premium-contact-grid,
    .contact-upgraded .premium-contact-grid{
        grid-template-columns:minmax(0, 1fr) minmax(340px, 400px) !important;
        gap:28px !important;
    }

    .contact-left-middle{
        grid-template-columns:minmax(0, 1fr) minmax(160px, 210px) !important;
        gap:14px !important;
    }

    .contact-mini-stats{
        gap:10px !important;
    }

    .contact-mini-stats div{
        min-height:142px !important;
        padding:16px 10px !important;
    }

    .contact-mini-stats strong{
        font-size:30px !important;
    }

    .contact-mini-stats small{
        font-size:11px !important;
    }
}

@media (max-width:1000px){
    .premium-contact-grid,
    .contact-upgraded .premium-contact-grid{
        grid-template-columns:1fr !important;
    }

    .premium-contact-form,
    .contact-upgraded .premium-contact-form{
        max-width:100% !important;
        justify-self:stretch !important;
    }

    .contact-left-middle{
        grid-template-columns:minmax(0, 1fr) minmax(220px, 320px) !important;
    }
}

@media (max-width:720px){
    .contact-left-middle,
    .contact-mini-stats{
        grid-template-columns:1fr !important;
    }

    .contact-mini-stats div{
        min-height:auto !important;
        padding:20px 16px !important;
    }
}.before-after {
     position: relative;
     width: 100%;
     height: 520px;
     overflow: hidden;
     border-radius: 22px;
     background: #000;
 }

.before-after > img,
.before-layer img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.before-layer {
    position: absolute;
    inset: 0 auto 0 0;
    width: 50%;
    overflow: hidden;
    z-index: 2;
    border-right: 4px solid var(--orange);
}

.before-layer img {
    width: 100% !important;
}

.ba-range {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    cursor: ew-resize;
}

.ba-handle {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 9;
    width: 64px;
    height: 64px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #fff;
    color: var(--orange);
    display: grid;
    place-items: center;
    font-weight: 900;
    pointer-events: none;
}



/* =========================================================
   NORD BAU — UNSERE LEISTUNGEN INFO UPGRADE
   Аккуратно добавляет информацию под фото в карточках услуг.
   Hero и остальные блоки не трогаем.
========================================================= */

.premium-service-grid.services-info-upgrade{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
}

.services-info-upgrade .service-info-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    border-radius:16px !important;
    background:#fff !important;
    border:1px solid rgba(6,25,43,.08) !important;
    box-shadow:0 22px 55px rgba(6,25,43,.10) !important;
    isolation:isolate !important;
}

.services-info-upgrade .service-info-card::before,
.services-info-upgrade .service-info-card::after{
    display:none !important;
}

.services-info-upgrade .service-info-image{
    position:relative !important;
    width:100% !important;
    height:210px !important;
    overflow:hidden !important;
    background:#06192b !important;
}

.services-info-upgrade .service-info-image::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:
        linear-gradient(180deg, rgba(3,16,30,.06) 0%, rgba(3,16,30,.44) 100%),
        linear-gradient(90deg, rgba(3,16,30,.12), transparent 52%) !important;
    z-index:2 !important;
    pointer-events:none !important;
}

.services-info-upgrade .service-info-image img{
    position:relative !important;
    inset:auto !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    filter:saturate(.96) contrast(1.03) !important;
    transform:scale(1.01) !important;
    transition:transform .55s ease, filter .55s ease !important;
}

.services-info-upgrade .service-info-card:hover .service-info-image img{
    transform:scale(1.07) !important;
    filter:saturate(1.06) contrast(1.06) !important;
}

.services-info-upgrade .service-info-image .service-icon{
    position:absolute !important;
    z-index:3 !important;
    top:16px !important;
    right:16px !important;
    left:auto !important;
    width:44px !important;
    height:44px !important;
    display:grid !important;
    place-items:center !important;
    color:var(--orange) !important;
    border:1px solid rgba(30,136,255,.45) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.90) !important;
    box-shadow:0 14px 32px rgba(6,25,43,.18) !important;
    font-size:22px !important;
    margin:0 !important;
    backdrop-filter:blur(12px) !important;
}

.services-info-upgrade .service-info-content{
    position:relative !important;
    z-index:3 !important;
    max-width:none !important;
    width:100% !important;
    height:auto !important;
    min-height:310px !important;
    padding:24px 22px 22px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    color:#06192b !important;
    background:#fff !important;
}

.services-info-upgrade .service-info-content h3{
    color:#06192b !important;
    font-size:clamp(19px, 1.45vw, 25px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    text-transform:uppercase !important;
    margin:0 0 12px !important;
}

.services-info-upgrade .service-info-content p{
    color:#52677c !important;
    font-size:14px !important;
    line-height:1.55 !important;
    margin:0 0 18px !important;
    min-height:66px !important;
}

.services-info-upgrade .service-check-list{
    list-style:none !important;
    display:grid !important;
    gap:8px !important;
    margin:0 0 20px !important;
    padding:0 !important;
}

.services-info-upgrade .service-check-list li{
    position:relative !important;
    padding-left:23px !important;
    color:#26394f !important;
    font-size:13px !important;
    line-height:1.35 !important;
    font-weight:750 !important;
}

.services-info-upgrade .service-check-list li::before{
    content:"✓" !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    color:var(--orange) !important;
    font-weight:900 !important;
}

.services-info-upgrade .service-info-content a{
    margin-top:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    color:var(--orange) !important;
    font-size:12px !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
    transition:transform .25s ease !important;
}

.services-info-upgrade .service-info-content a:hover{
    transform:translateX(4px) !important;
}

@media (max-width:1200px){
    .premium-service-grid.services-info-upgrade{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .services-info-upgrade .service-info-image{
        height:230px !important;
    }
}

@media (max-width:640px){
    .premium-service-grid.services-info-upgrade{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .services-info-upgrade .service-info-image{
        height:220px !important;
    }

    .services-info-upgrade .service-info-content{
        min-height:auto !important;
        padding:22px 20px 20px !important;
    }

    .services-info-upgrade .service-info-content p{
        min-height:auto !important;
    }
}


/* =========================================================
   NORD BAU — SIMPLE CONTACT + MAP BLOCK
   Без сложной загрузки дома: только премиальный интерактивный фон,
   контакты слева и Google Map справа.
========================================================= */

.nb-location-simple{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:86px 0 !important;
    color:#fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(30,136,255,.20), transparent 32%),
        radial-gradient(circle at 14% 82%, rgba(30,136,255,.10), transparent 30%),
        linear-gradient(135deg,#020914 0%, #06192b 54%, #03101e 100%) !important;
}

.nb-location-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.22;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(135deg, transparent 0 48%, rgba(30,136,255,.20) 49% 50%, transparent 51%),
        linear-gradient(26deg, transparent 0 57%, rgba(105,183,255,.15) 58% 59%, transparent 60%);
    background-size:82px 82px,82px 82px,480px 260px,620px 340px;
    animation: nbLocationBlueprintMove 32s linear infinite;
}

.nb-location-simple::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    background:linear-gradient(90deg, transparent, var(--orange), transparent);
    box-shadow:0 0 28px rgba(30,136,255,.55);
    pointer-events:none;
}

.nb-location-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0, .88fr) minmax(470px, 1.12fr);
    gap:48px;
    align-items:center;
}

.nb-location-content .eyebrow{
    display:inline-flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    color:var(--orange);
}

.nb-location-content .eyebrow::after{
    content:"";
    width:72px;
    height:2px;
    background:var(--orange);
    box-shadow:0 0 18px rgba(30,136,255,.55);
}

.nb-location-content h2{
    margin:0 0 22px;
    max-width:720px;
    color:#fff;
    font-size:clamp(42px, 5vw, 74px);
    line-height:.94;
    letter-spacing:-.065em;
    text-transform:uppercase;
}

.nb-location-content h2 em{
    color:var(--orange);
    font-style:normal;
}

.nb-location-content > p{
    max-width:620px;
    color:#cfe0f1;
    font-size:18px;
    line-height:1.65;
    margin-bottom:28px;
}

.nb-location-cards{
    display:grid;
    gap:12px;
    max-width:620px;
    margin-bottom:26px;
}

.nb-location-cards a,
.nb-location-cards > div{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:16px;
    align-items:center;
    padding:17px 18px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(255,255,255,.045);
    box-shadow:0 18px 48px rgba(0,0,0,.16);
    backdrop-filter:blur(12px);
    transition:.3s ease;
}

.nb-location-cards a:hover{
    transform:translateY(-3px);
    border-color:rgba(30,136,255,.36);
    background:rgba(255,255,255,.065);
}

.nb-location-cards span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(30,136,255,.10);
    color:var(--orange);
    font-size:22px;
    font-weight:900;
}

.nb-location-cards strong{
    display:block;
    color:#fff;
    font-size:17px;
    line-height:1.25;
    overflow-wrap:anywhere;
}

.nb-location-cards small{
    display:block;
    margin-top:4px;
    color:#9fb1c5;
    font-weight:700;
}

.nb-location-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.nb-location-map{
    position:relative;
    min-height:430px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(30,136,255,.16), transparent 30%),
        rgba(255,255,255,.045);
    box-shadow:
        0 34px 95px rgba(0,0,0,.34),
        inset 0 0 0 1px rgba(255,255,255,.025);
    backdrop-filter:blur(14px);
}

.nb-map-top{
    position:absolute;
    left:22px;
    right:22px;
    top:22px;
    z-index:3;
    display:grid;
    grid-template-columns:50px 1fr;
    gap:14px;
    align-items:center;
    padding:15px 16px;
    border-radius:16px;
    background:rgba(255,255,255,.94);
    box-shadow:0 18px 44px rgba(0,0,0,.18);
}

.nb-map-top span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#06192b;
    color:var(--orange);
    font-size:20px;
}

.nb-map-top strong{
    display:block;
    color:#06192b;
    font-size:16px;
    line-height:1.2;
}

.nb-map-top small{
    display:block;
    margin-top:4px;
    color:#6a7c90;
    font-weight:800;
    line-height:1.35;
}

.nb-location-map iframe{
    width:100%;
    height:100%;
    min-height:430px;
    border:0;
    filter:grayscale(.10) contrast(1.04) saturate(.82);
}

@keyframes nbLocationBlueprintMove{
    0%{background-position:0 0,0 0,0 0,120px 60px;}
    100%{background-position:164px 82px,164px 82px,480px 260px,740px 400px;}
}

@media (max-width:1000px){
    .nb-location-simple{
        padding:70px 0 !important;
    }

    .nb-location-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nb-location-map,
    .nb-location-map iframe{
        min-height:360px;
    }
}

@media (max-width:640px){
    .nb-location-simple{
        padding:58px 0 !important;
    }

    .nb-location-content h2{
        font-size:38px;
    }

    .nb-location-content > p{
        font-size:16px;
    }

    .nb-location-actions{
        flex-direction:column;
    }

    .nb-location-actions .btn{
        width:100%;
    }

    .nb-map-top{
        left:14px;
        right:14px;
        top:14px;
        grid-template-columns:42px 1fr;
        padding:12px;
    }

    .nb-map-top span{
        width:40px;
        height:40px;
    }

    .nb-location-map,
    .nb-location-map iframe{
        min-height:300px;
    }
}

@media (prefers-reduced-motion: reduce){
    .nb-location-bg{
        animation:none !important;
    }
}


/* =========================================================
   NORD BAU — COOKIE BANNER FINAL FIX
========================================================= */
.cookie-banner{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:999999!important;display:none!important;padding:18px!important;background:linear-gradient(180deg,transparent,rgba(2,9,20,.78))!important;pointer-events:auto!important}
.cookie-banner.is-visible{display:block!important}
.cookie-card{width:min(980px,calc(100% - 20px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr auto!important;gap:22px!important;align-items:center!important;padding:20px 22px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;background:radial-gradient(circle at 90% 0%,rgba(30,136,255,.18),transparent 26%),rgba(3,16,30,.97)!important;color:#fff!important;box-shadow:0 24px 75px rgba(0,0,0,.42)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.cookie-text strong{display:block!important;margin-bottom:6px!important;color:#fff!important;font-size:16px!important}
.cookie-text p{margin:0!important;color:#cfe0f1!important;font-size:14px!important;line-height:1.45!important}
.cookie-text a{color:var(--orange)!important;font-weight:900!important;text-decoration:underline!important;text-underline-offset:3px!important}
.cookie-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.cookie-btn{min-width:118px!important;border:0!important;border-radius:8px!important;padding:12px 16px!important;font-weight:900!important;text-transform:uppercase!important;font-size:12px!important;cursor:pointer!important;transition:.25s ease!important;font-family:inherit!important}
.cookie-accept{color:#fff!important;background:linear-gradient(135deg,#2d9cff,#0d63b7)!important;box-shadow:0 14px 34px rgba(30,136,255,.28)!important}
.cookie-decline{color:#fff!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important}
.cookie-btn:hover{transform:translateY(-2px)!important}
@media(max-width:700px){.cookie-card{grid-template-columns:1fr!important;padding:18px!important}.cookie-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.cookie-btn{width:100%!important;min-width:0!important}}


/* =========================================================
   NORD BAU — MOBILE HEADER + HERO SLIDER FINAL FIX
   1) bigger mobile logo
   2) fixed mobile menu that stays while scrolling
   3) mobile hero images become an auto slider
========================================================= */

@media (max-width: 1000px){
  .site-header{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important;
    overflow: visible !important;
  }

  .site-header .burger{
    display: block !important;
    position: relative !important;
    z-index: 10001 !important;
  }

  .site-header .nav{
    display: flex !important;
    position: fixed !important;
    top: 70px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 9999 !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 18px !important;
    background: rgba(3,16,30,.96) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.36) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-10px) !important;
    transition: .28s ease !important;
  }

  .site-header .nav.is-open{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .site-header .nav a{
    display: block !important;
    width: 100% !important;
    padding: 15px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    color: #fff !important;
    opacity: 1 !important;
  }

  .site-header .nav a:last-child{
    border-bottom: 0 !important;
  }

  .site-header .nav a::after{
    display: none !important;
  }

  body.mobile-menu-open{
    overflow: hidden !important;
  }
}

@media (max-width: 640px){
  .site-header{
    height: 76px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .site-header.scrolled{
    height: 72px !important;
  }

  .brand img{
    height: 74px !important;
    width: auto !important;
    max-width: 190px !important;
    object-fit: contain !important;
  }

  .site-header .nav{
    top: 82px !important;
  }

  .burger{
    width: 46px !important;
    height: 46px !important;
  }

  .hero{
    padding-top: 104px !important;
  }

  .hero-visual{
    position: relative !important;
    min-height: 360px !important;
    max-height: none !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .hero-card-large,
  .hero-card-a,
  .hero-card-b{
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(26px) scale(.985) !important;
    transition:
      opacity .65s ease,
      visibility .65s ease,
      transform .65s ease !important;
    clip-path: none !important;
    border-radius: 18px !important;
    z-index: 1 !important;
  }

  .hero-card-large.is-active,
  .hero-card-a.is-active,
  .hero-card-b.is-active{
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) scale(1) !important;
    z-index: 2 !important;
  }

  .hero-card img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-card span{
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    width: fit-content !important;
    max-width: calc(100% - 28px) !important;
    font-size: 11px !important;
  }

  .hero-slider-dots{
    position: absolute !important;
    left: 50% !important;
    bottom: 14px !important;
    z-index: 5 !important;
    display: flex !important;
    gap: 8px !important;
    transform: translateX(-50%) !important;
  }

  .hero-slider-dot{
    width: 8px !important;
    height: 8px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.42) !important;
    cursor: pointer !important;
  }

  .hero-slider-dot.is-active{
    width: 24px !important;
    border-radius: 999px !important;
    background: var(--orange) !important;
  }
}
