@font-face {
    font-family: "Manrope Local";
    src: url("../font/manrope.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 200 800;
}

body:not(.home-page) {
    --color-primary: #f5a623;
    --color-primary-invert: #071426;
    --color-primary-hover: #ffc35c;
    --color-primary-light: #54d2ff;
    --color-primary-dark: #0b2847;
    --color-text: #f3f8ff;
    --color-text-muted: #9fb3c9;
    --color-surface: #0b1c31;
    --color-background: #06111f;
    --color-border: rgba(151, 191, 224, 0.18);
    --shell-navy-950: #06111f;
    --shell-navy-900: #071426;
    --shell-navy-850: #09192c;
    --shell-navy-800: #0b1c31;
    --shell-cyan: #54d2ff;
    --shell-amber: #f5a623;
    --shell-white: #f3f8ff;
    --shell-muted: #9fb3c9;
    --shell-line: rgba(151, 191, 224, 0.18);
    --shell-line-strong: rgba(84, 210, 255, 0.42);
    --shell-page: 1180px;
    --shell-gutter: clamp(18px, 4vw, 48px);
    background:
        radial-gradient(circle at 85% 0, rgba(20, 113, 165, 0.15), transparent 28rem),
        var(--shell-navy-950);
    color: var(--shell-white);
    font-family: "Manrope Local", system-ui, sans-serif;
    min-width: 320px;
    min-height: 100vh;
    overflow-x: hidden;
}

body:not(.home-page),
body:not(.home-page) main {
    background-color: var(--shell-navy-950);
    color: var(--shell-white);
}

body:not(.home-page) *,
body:not(.home-page) *::before,
body:not(.home-page) *::after {
    box-sizing: border-box;
}

body:not(.home-page) h1,
body:not(.home-page) h2,
body:not(.home-page) h3,
body:not(.home-page) h4,
body:not(.home-page) h5,
body:not(.home-page) h6 {
    color: var(--shell-white);
    font-family: "Manrope Local", system-ui, sans-serif;
    letter-spacing: -0.035em;
}

body:not(.home-page) p,
body:not(.home-page) figcaption,
body:not(.home-page) blockquote {
    color: var(--shell-muted);
}

body:not(.home-page) a,
body:not(.home-page) a:visited {
    color: inherit;
}

body:not(.home-page) a:hover,
body:not(.home-page) button:hover {
    opacity: 1;
}

body:not(.home-page) :focus-visible {
    border-radius: 7px;
    box-shadow: 0 0 0 3px var(--shell-navy-950), 0 0 0 5px var(--shell-cyan);
    outline: 0;
}

body:not(.home-page) > section,
body:not(.home-page) > main,
body:not(.home-page) > .breadcrumb {
    position: relative;
    z-index: 1;
}

body:not(.home-page) section a:not(.cta):not(.btn-primary):not(.btn-accent),
body:not(.home-page) .breadcrumb a {
    color: var(--shell-cyan);
}

body:not(.home-page) .gallery > div,
body:not(.home-page) .gallery > figure,
body:not(.home-page) .slider > div,
body:not(.home-page) .carousel > div,
body:not(.home-page) .template > div,
body:not(.home-page) article > details,
body:not(.home-page) .table-scroll table,
body:not(.home-page) .tile > div,
body:not(.home-page) figure,
body:not(.home-page) .grid > div,
body:not(.home-page) form {
    background-color: var(--shell-navy-850);
    border-color: var(--shell-line);
}

body:not(.home-page) .production-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    min-height: 440px;
    overflow: hidden;
}

body:not(.home-page) .production-gallery img {
    border: 0;
    border-bottom: 1px solid var(--shell-line);
    height: 100%;
    min-height: 0;
    object-fit: cover;
    width: 100%;
}

body:not(.home-page) .production-gallery img:nth-child(odd) {
    border-right: 1px solid var(--shell-line);
}

body:not(.home-page) img {
    border-color: var(--shell-line);
}

body:not(.home-page) .breadcrumb {
    margin: 18px auto 34px;
    max-width: var(--shell-page);
    min-height: 34px;
    padding: 0;
    width: calc(100% - (var(--shell-gutter) * 2));
}

body:not(.home-page) .breadcrumb a {
    font-size: 12px;
    font-weight: 650;
}

body:not(.home-page) .breadcrumb a::after {
    color: #607991;
}

body:not(.home-page) input,
body:not(.home-page) textarea,
body:not(.home-page) select {
    background: #071626;
    border-color: var(--shell-line);
    color: var(--shell-white);
}

body:not(.home-page) input::placeholder,
body:not(.home-page) textarea::placeholder {
    color: #607991;
}

body:not(.home-page) .actions a:first-child,
body:not(.home-page) a.cta,
body:not(.home-page) form button,
body:not(.home-page) .btn-primary,
body:not(.home-page) .btn-accent {
    background: var(--shell-amber);
    border-color: var(--shell-amber);
    color: var(--shell-navy-950);
}

body:not(.home-page) section .actions a:first-child {
    color: var(--shell-navy-950) !important;
}

body:not(.home-page) .actions a:not(:first-child),
body:not(.home-page) nav.links a,
body:not(.home-page) nav.list a {
    background: rgba(84, 210, 255, 0.05);
    border-color: var(--shell-line);
    color: #c9d8e8;
}

body:not(.home-page) nav.links img,
body:not(.home-page) nav.list img,
body:not(.home-page) #hero-formular li img,
body:not(.home-page) #advantage-wide .grid img {
    filter: brightness(0) saturate(100%) invert(75%) sepia(54%) saturate(1105%) hue-rotate(164deg) brightness(102%);
}

body:not(.home-page) footer {
    background: #040c16;
    border-top: 1px solid var(--shell-line);
    color: var(--shell-muted);
    margin-top: 60px;
}

body:not(.home-page) footer p {
    color: var(--shell-muted);
}

body:not(.home-page) footer .domain {
    color: var(--shell-white);
    font-weight: 750;
}

/* Shared site navigation */
body:not(.home-page) > header {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(6, 17, 31, 0.9);
    border-bottom: 1px solid var(--shell-line);
    display: flex;
    gap: 22px;
    height: 74px;
    padding: 0 max(var(--shell-gutter), calc((100vw - var(--shell-page)) / 2));
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 50;
}

body:not(.home-page) header .brand {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 11px;
    min-width: max-content;
}

body:not(.home-page) header .brand img {
    background: var(--shell-cyan);
    border-radius: 10px;
    height: 36px;
    padding: 7px;
    width: 36px;
}

body:not(.home-page) header .brand span {
    color: var(--shell-white);
    font-size: 15px;
    font-weight: 760;
    letter-spacing: -0.025em;
}

body:not(.home-page) header > .menu {
    align-items: center;
    display: flex;
    gap: 20px;
    margin-left: auto;
    min-width: 0;
}

body:not(.home-page) header nav {
    align-items: center;
    display: flex;
    gap: 4px;
    overflow: visible;
}

body:not(.home-page) header nav > nav:not(.active) {
    display: none;
}

body:not(.home-page) header nav > a {
    border-radius: 8px;
    color: #c7d7e8;
    font-size: 13px;
    font-weight: 650;
    min-height: 38px;
    padding: 8px 10px;
    text-transform: none;
}

body:not(.home-page) header nav > a:hover {
    background: rgba(84, 210, 255, 0.08);
    color: var(--shell-cyan);
}

body:not(.home-page) header nav > a[data-nav]::after {
    filter: invert(1);
    height: 13px;
    margin-left: 3px;
    opacity: 0.5;
    width: 13px;
}

body:not(.home-page) header nav > nav.active {
    background: rgba(9, 25, 44, 0.99);
    border: 1px solid var(--shell-line-strong);
    border-radius: 0 0 16px 16px;
    box-shadow: 0 24px 70px rgba(0, 5, 15, 0.36);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    left: 50%;
    padding: 12px;
    position: fixed;
    top: 73px;
    transform: translateX(-50%);
    width: min(var(--shell-page), calc(100vw - (var(--shell-gutter) * 2)));
}

body:not(.home-page) header nav > nav.active > a {
    align-items: center;
    border-radius: 9px;
    color: var(--shell-muted);
    display: flex;
    justify-content: flex-start;
    min-height: 46px;
    padding: 9px 12px;
    text-align: left;
}

body:not(.home-page) header nav > nav.active > a:hover {
    background: rgba(84, 210, 255, 0.08);
    color: var(--shell-white);
}

body:not(.home-page) header nav > nav.menu-product-dropdown--wide.active {
    max-height: min(70vh, 560px);
    overflow-y: auto;
}

body:not(.home-page) header address {
    align-items: center;
    display: flex;
    gap: 9px;
}

body:not(.home-page) header address a {
    align-items: center;
    color: var(--shell-muted);
    display: flex;
    font-size: 13px;
    gap: 7px;
    white-space: nowrap;
}

body:not(.home-page) header address a:first-child {
    display: none;
}

body:not(.home-page) header address img.icon {
    filter: brightness(0) invert(1);
    height: 19px;
    opacity: 0.8;
    width: 19px;
}

body:not(.home-page) header > .menu > button {
    background: var(--shell-amber);
    border: 1px solid var(--shell-amber);
    border-radius: 9px;
    color: var(--shell-navy-950);
    flex: 0 0 auto;
    font-weight: 760;
    min-height: 40px;
    padding: 0 16px;
}

body:not(.home-page) header > .menu > button span {
    color: inherit;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
}

body:not(.home-page) header > button.mobile {
    display: none;
}

@media (max-width: 1120px) {
    body:not(.home-page) header address a:has(span) {
        display: none;
    }
}

@media (max-width: 920px) {
    body:not(.home-page).menu-open {
        overflow: hidden;
    }

    body:not(.home-page) > header {
        height: 68px;
        padding-left: var(--shell-gutter);
        padding-right: var(--shell-gutter);
        position: sticky;
    }

    body:not(.home-page) header > button.mobile {
        align-items: center;
        background: rgba(84, 210, 255, 0.06);
        border: 1px solid var(--shell-line);
        border-radius: 9px;
        display: flex;
        height: 42px;
        justify-content: center;
        margin: 0 0 0 auto;
        position: relative;
        width: 42px;
        z-index: 53;
    }

    body:not(.home-page) header > button.mobile svg {
        height: 28px;
        width: 28px;
    }

    body:not(.home-page) header > button.mobile svg path {
        stroke: var(--shell-cyan);
        transform-box: fill-box;
        transform-origin: center;
        transition: opacity 160ms ease, transform 180ms ease;
    }

    body:not(.home-page) header > button.mobile.active svg path:nth-child(1) {
        transform: translateY(8px) rotate(45deg) !important;
    }

    body:not(.home-page) header > button.mobile.active svg path:nth-child(2) {
        opacity: 0;
        transform: none !important;
    }

    body:not(.home-page) header > button.mobile.active svg path:nth-child(3) {
        display: block !important;
        transform: translateY(-8px) rotate(-45deg) !important;
    }

    body:not(.home-page) header > .burger.menu {
        display: none;
    }

    body:not(.home-page) header > .burger.menu.active {
        background: rgba(6, 17, 31, 0.99);
        border: 0;
        border-left: 1px solid var(--shell-line);
        box-shadow: -100vw 0 0 100vw rgba(1, 7, 14, 0.68);
        display: flex;
        flex-direction: column;
        height: 100dvh;
        inset: 0 0 0 auto;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 88px 22px 28px;
        position: fixed;
        width: min(390px, 88vw);
        z-index: 52;
    }

    body:not(.home-page) header > .burger.menu.active > nav {
        align-items: stretch;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    body:not(.home-page) header > .burger.menu.active nav > a {
        border-bottom: 1px solid var(--shell-line);
        border-radius: 0;
        color: #c7d7e8;
        font-size: 16px;
        justify-content: space-between;
        min-height: 52px;
        padding: 10px 4px;
        width: 100%;
    }

    body:not(.home-page) header > .burger.menu.active nav > nav.active {
        background: rgba(84, 210, 255, 0.04);
        border: 0;
        border-radius: 0;
        box-shadow: none;
        display: block;
        padding: 4px 12px;
        position: static;
        transform: none;
        width: 100%;
    }

    body:not(.home-page) header > .burger.menu.active nav > nav.menu-product-dropdown--wide.active {
        max-height: none;
        overflow: visible;
    }

    body:not(.home-page) header > .burger.menu.active nav > nav.active a {
        font-size: 13px;
        min-height: 42px;
    }

    body:not(.home-page) header > .burger.menu.active address {
        display: flex;
        flex-wrap: wrap;
        margin: 24px 0;
    }

    body:not(.home-page) header > .burger.menu.active address a,
    body:not(.home-page) header > .burger.menu.active address a:first-child,
    body:not(.home-page) header > .burger.menu.active address a:has(span) {
        display: flex;
    }

    body:not(.home-page) header > .burger.menu.active > button {
        min-height: 48px;
        width: 100%;
    }
}

@media (max-width: 650px) {
    body:not(.home-page) > section,
    body:not(.home-page) > main,
    body:not(.home-page) > .breadcrumb {
        max-width: calc(100%);
    }

    body:not(.home-page) header .brand span {
        font-size: 14px;
    }

    body:not(.home-page) .production-gallery {
        min-height: 400px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.home-page) *,
    body:not(.home-page) *::before,
    body:not(.home-page) *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
