:root {
    color-scheme: dark;
    --bg: #0e0f12;
    --surface: #1a1c21;
    --text: #f1f2f4;
    --muted: #a6abb5;
    --line: #2c2f36;
    --red: #d10d0d;
    --blue: #0a5cff;
    --ink: #14161a;
    --ink-text: #fff;
    box-sizing: border-box;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px)
}

html {
    scroll-padding-top: calc(72px + env(safe-area-inset-top, 0px));
    scroll-behavior: smooth
}

*,
*::before,
*::after {
    box-sizing: border-box
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font: 400 17px/1.6 Barlow, system-ui, -apple-system, "Segoe UI", Arial, sans-serif
}

h1,
h2,
h3 {
    font-family: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
    line-height: 1.05;
    margin: 0;
    letter-spacing: .01em
}

a {
    color: inherit
}

:focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 3px
}

.wrap {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 6px;
    font: 700 20px "Barlow Condensed", sans-serif;
    letter-spacing: .04em;
    text-decoration: none;
    border: 2px solid transparent
}

.btn-red {
    background: var(--red);
    color: #fff
}

.btn-red:hover {
    background: #b00a0a
}

.btn-line {
    border-color: #fff;
    color: #fff
}

.btn-line:hover {
    background: #fff;
    color: #000
}

header {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #000;
    border-bottom: 3px solid var(--red);
    padding-top: env(safe-area-inset-top, 0px)
}

.bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font: 800 22px "Barlow Condensed", sans-serif;
    line-height: 1
}

.brand img {
    width: 44px;
    height: auto
}

nav {
    display: flex;
    align-items: center;
    gap: 22px
}

nav a.l {
    color: #e8e9ec;
    text-decoration: none;
    font-weight: 500
}

nav a.l:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 5px
}

header .btn {
    min-height: 42px;
    padding: 0 18px;
    font-size: 19px
}

@media(max-width:720px) {
    nav a.l {
        display: none
    }

    .brand span {
        font-size: 19px
    }
}

.hero {
    background: #000;
    color: #fff;
    border-bottom: 8px solid var(--blue)
}

.hero .wrap {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 32px;
    align-items: center;
    padding-top: 40px;
    padding-bottom: 48px
}

.hero h1 {
    font-size: clamp(2.6rem, 6.5vw, 4.6rem);
    font-weight: 800;
    text-transform: uppercase
}

.hero p {
    font-size: 1.15rem;
    color: #d4d6db;
    max-width: 34ch;
    margin: 18px 0 26px
}

.hero .cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.hero img {
    width: 100%;
    max-width: 460px;
    height: auto;
    justify-self: center;
    display: block
}

@media(max-width:760px) {
    .hero .wrap {
        grid-template-columns: 1fr;
        text-align: center;
        padding-top: 28px
    }

    .hero img {
        order: -1;
        max-width: 300px
    }

    .hero p {
        margin-left: auto;
        margin-right: auto
    }

    .hero .cta {
        justify-content: center
    }
}

.strip {
    background: var(--red);
    color: #fff
}

.strip .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 32px;
    justify-content: center;
    padding-top: 14px;
    padding-bottom: 14px;
    font: 700 20px "Barlow Condensed", sans-serif;
    letter-spacing: .03em
}

section {
    padding: 64px 0
}

h2 {
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 800;
    text-transform: uppercase
}

.sub {
    color: var(--muted);
    max-width: 56ch;
    margin: 10px 0 0
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 20px;
    margin-top: 32px
}

.card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 6px solid var(--red);
    border-radius: 4px;
    padding: 24px
}

.card:nth-child(even) {
    border-left-color: var(--blue)
}

.card h3 {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 8px
}

.card p {
    margin: 0;
    color: var(--muted)
}

.why {
    background: var(--surface);
    border-block: 1px solid var(--line)
}

.why ul {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px 40px
}

.why li {
    padding-left: 30px;
    position: relative
}

.why li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .5em;
    width: 14px;
    height: 14px;
    background: var(--red);
    clip-path: polygon(50% 0, 100% 100%, 0 100%)
}

.why strong {
    display: block;
    font: 700 1.35rem "Barlow Condensed", sans-serif
}

.why span {
    color: var(--muted)
}

.contact .cols {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 36px;
    margin-top: 32px;
    align-items: start
}

@media(max-width:860px) {
    .contact .cols {
        grid-template-columns: 1fr
    }
}

.info {
    background: #000;
    color: #fff;
    border-radius: 4px;
    padding: 28px;
    border-top: 6px solid var(--red)
}

.info h3 {
    font-size: 1.7rem;
    margin-bottom: 6px
}

.info .tel {
    display: block;
    font: 800 clamp(2rem, 6vw, 2.6rem) "Barlow Condensed", sans-serif;
    color: #fff;
    text-decoration: none;
    margin: 4px 0 14px
}

.info .email {
    display: block;
    font: 800 1.1rem "Barlow Condensed", sans-serif;
    font-size: min(1.6rem, 5.2cqw);
    line-height: 1.1;
    white-space: nowrap;
    color: #fff;
    text-decoration: underline;
    text-decoration-color: var(--red);
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
    overflow-wrap: anywhere;
    margin: 0 0 14px
}

.info {
    min-width: 0;
    container-type: inline-size
}

.info .areas {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.info .areas li {
    font: 700 1.35rem "Barlow Condensed", sans-serif;
    letter-spacing: .03em;
    padding: 8px 16px 8px 14px;
    border: 1px solid #3a3d44;
    border-left: 4px solid var(--red);
    border-radius: 4px;
    background: #14161a
}

@media(max-width:520px) {
    .info {
        padding: 22px 18px
    }
}

.info p {
    margin: 0 0 10px;
    color: #d4d6db
}

.formbox {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 12px
}

.formbox iframe {
    display: block;
    width: 100%;
    height: 820px;
    border: 0
}

.formbox small {
    display: block;
    padding: 10px 6px 4px;
    color: var(--muted)
}

footer {
    background: #000;
    color: #c9ccd2;
    padding: 30px 0 calc(30px + env(safe-area-inset-bottom, 0px));
    border-top: 3px solid var(--blue);
    font-size: 15px
}

footer .wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    justify-content: space-between;
    align-items: center
}

footer a {
    color: #fff
}

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