:root {
    --red: #d72828;
    --red-dark: #750f0f;
    --red-soft: #fff0f0;
    --text: #191919;
    --muted: #6d6264;
    --line: #eadede;
    --bg: #f7f9fc;
    --soft: #f8f2f2;
    --green: #11a07b;
    --max: 1180px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
    background: #fff;
    line-height: 1.5
}

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

a {
    color: #5f4b4b;
    text-decoration: none;
    font-weight: 650
}

a:hover {
    color: var(--red)
}

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

.container.narrow {
    max-width: 880px
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    backdrop-filter: blur(14px);
    background: rgba(247, 249, 252, .91);
    border-bottom: 1px solid rgba(117, 15, 15, .08)
}

.nav {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 18px
}

.lang-menu {
    position: relative;
    z-index: 20;
}

.lang-menu summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font: inherit;
    font-weight: 600;
    white-space: nowrap;
}

.lang-menu summary::-webkit-details-marker {
    display: none;
}

.lang-menu summary::after {
    content: "▾";
    font-size: 0.75em;
    opacity: 0.7;
}

.lang-menu[open] summary::after {
    content: "▴";
}

.lang-options {
    position: absolute;
    right: 0;
    top: calc(100% + 0.65rem);
    min-width: 150px;
    padding: 0.4rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.14);
}

.lang-options a {
    display: block;
    padding: 0.55rem 0.75rem;
    border-radius: 7px;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
}

.lang-options a:hover,
.lang-options a:focus-visible {
    background: rgba(215, 40, 40, 0.08);
}

.lang-options a[aria-current="page"] {
    font-weight: 700;
    color: var(--red, #d72828);
}

@media (max-width: 760px) {
    .lang-options {
        right: auto;
        left: 0;
    }
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0
}

.brand img {
    width: 45px;
    height: 45px;
    filter: invert(18%) sepia(91%) saturate(2858%) hue-rotate(348deg) brightness(95%) contrast(89%)
}

.brand-name {
    font-size: 28px;
    letter-spacing: -.04em;
    line-height: 1;
    margin: 5px 0 0 0;
    font-weight: 400;
}

.brand-sub {
    font-size: 12px;
    color: var(--muted);
    margin-top: 3px
}

.nav-links {
    display: flex;
    gap: 24px;
    margin-left: auto;
    align-items: center
}

.lang {
    display: flex;
    gap: 5px;
    border-left: 1px solid var(--line);
    padding-left: 18px
}

.lang a {
    font-size: 13px;
    padding: 6px 8px;
    border-radius: 8px
}

.lang .active {
    background: #fff0f0;
    color: var(--red)
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px;
    padding: 12px 18px;
    font-weight: 800;
    border: 1px solid transparent;
    transition: .18s ease
}

.btn.primary {
    background: var(--red);
    color: white
}

.btn.primary:hover {
    background: #bb2020;
    color: white;
    transform: translateY(-1px)
}

.btn.outline {
    border-color: #dfa0a0;
    color: var(--red);
    background: white
}

.btn.large {
    padding: 14px 21px
}

.hero {
    background: radial-gradient(circle at 80% 15%, rgba(215, 40, 40, .15), transparent 32%), radial-gradient(circle at 20% 20%, rgba(17, 160, 123, .06), transparent 28%), #f7f9fc;
    padding: 88px 0 82px
}

.grid {
    display: grid;
    gap: 32px
}

.hero-grid {
    grid-template-columns: .86fr 1.14fr;
    align-items: center;
    gap: 52px
}

.chip {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eee;
    border: 1px solid #e5dede;
    font-size: 13px;
    font-weight: 800
}

.hero h1 {
    font-size: clamp(44px, 5.7vw, 69px);
    line-height: .99;
    letter-spacing: -.045em;
    margin: 22px 0
}

.lead {
    font-size: 20px;
    line-height: 1.7;
    color: var(--muted);
    margin: 0
}

.actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 28px 0 24px
}

.checks {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 14px
}

.check:before {
    content: '✓';
    color: var(--green);
    font-weight: 900;
    margin-right: 7px
}

.section {
    padding: 96px 0
}

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

.section.showcase-bg {
    background: linear-gradient(180deg, #fff 0%, #fbf6f6 50%, #fff 100%);
    border-block: 1px solid rgba(117, 15, 15, .05)
}

.eyebrow {
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
    font-weight: 900
}

.section-title {
    max-width: 760px
}

.section-title.center {
    text-align: center;
    margin: auto
}

.section-title h2 {
    font-size: clamp(34px, 4.3vw, 48px);
    line-height: 1.07;
    letter-spacing: -.035em;
    margin: 12px 0
}

.section-title p {
    font-size: 18px;
    line-height: 1.7;
    color: var(--muted);
    margin: 0
}

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

.three {
    grid-template-columns: repeat(3, 1fr)
}

.problem-grid {
    margin-top: 42px
}

.card {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: white;
    padding: 30px
}

.card.before {
    background: #fffafa
}

.card.after {
    background: linear-gradient(135deg, #fff, #fff3f3);
    border-color: #efbcbc
}

.item+.item {
    margin-top: 20px
}

.item strong {
    display: block;
    margin-bottom: 4px
}

.item p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65
}

.after .item {
    padding-left: 28px;
    position: relative
}

.after .item:before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--red);
    font-weight: 900
}

.banner {
    margin-top: 26px;
    background: var(--red-dark);
    color: white;
    padding: 23px;
    border-radius: 16px;
    text-align: center;
    font-size: 23px;
    font-weight: 850
}

.steps {
    margin-top: 40px
}

.step {
    display: flex;
    gap: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 24px;
    background: white
}

.step-no {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff0f0;
    border: 1px solid #efbcbc;
    color: #c92222;
    font-size: 14px;
    font-weight: 900;
    flex: 0 0 auto
}

.step h3,
.feature h3 {
    margin: 0 0 7px
}

.step p,
.feature p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7
}

.split {
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 58px
}

.flow {
    margin-top: 28px
}

.flow-row {
    display: flex;
    align-items: center;
    gap: 13px;
    font-weight: 800
}

.flow-num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--red);
    color: white
}

.flow-line {
    width: 2px;
    height: 16px;
    background: rgba(215, 40, 40, .18);
    margin-left: 16px
}

.accent {
    margin-top: 28px;
    font-size: 18px;
    font-weight: 850;
    color: var(--red)
}

.screenshot-frame {
    background: #fff;
    border: 1px solid rgba(117, 15, 15, .12);
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(72, 24, 24, .14);
    overflow: hidden
}

.hero-shot {
    transform: perspective(1200px) rotateY(-2.4deg) rotateX(1deg);
    box-shadow: 0 32px 90px rgba(117, 15, 15, .18)
}

.shotbar {
    height: 34px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    background: #fffafa;
    border-bottom: 1px solid #f0e3e3;
    color: var(--muted);
    font-size: 12px
}

.dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #e4d7d7;
    margin-right: 6px
}

.shotbar span:last-child {
    margin-left: 8px
}

.infra {
    background: #fff7f7;
    border-block: 1px solid rgba(215, 40, 40, .08)
}

.infra-card {
    text-align: center
}

.infra-card h3 {
    margin: 0;
}

.icon-big {
    width: 86px;
    height: 86px;
    border-radius: 18px;
    background: #fff0f0;
    display: grid;
    place-items: center;
    color: var(--red);
    font-size: 42px;
    margin: auto
}

.icon-big svg {
    width: 52px;
    fill: var(--red);
}

.wifi {
    font-size: 45px;
    color: var(--red);
    margin: 14px auto;
}

.wifi svg {
    width: 42px;
    height: 42px;
    fill: var(--red);
}

.phones {
    display: flex;
    font-size: 42px;
    margin: 15px;
    justify-content: center;
    gap: 20px;
}

.phones svg {
    width: 42px;
    height: 42px;
}

.phone {
    display: flex;
    flex-direction: column;
}

.phone span {
    font-size: 14px;
    color: var(--muted);
    margin-top: 4px;
}

.feature-grid {
    margin-top: 42px
}

.feature {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px;
    transition: .2s
}

.feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(117, 15, 15, .09)
}

.feature-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #fff0f0;
    color: var(--red);
    font-size: 23px;
    margin-bottom: 18px
}

.showcase {
    grid-template-columns: .78fr 1.22fr;
    align-items: center;
    gap: 58px
}

.showcase+.showcase {
    margin-top: 90px;
    padding-top: 90px;
    border-top: 1px solid rgba(117, 15, 15, .08)
}

.showcase.reverse .copy {
    order: 2
}

.showcase.reverse .visual {
    order: 1
}

.bullet-list {
    list-style: none;
    padding: 0;
    margin: 25px 0 0
}

.bullet-list li {
    color: var(--muted);
    margin: 12px 0;
    padding-left: 27px;
    position: relative
}

.bullet-list li:before {
    content: '✓';
    color: var(--red);
    font-weight: 900;
    position: absolute;
    left: 0
}

.contrast {
    background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, .08), transparent 25%), linear-gradient(135deg, #5b0c0c, #8e1717 58%, #b52a2a);
    color: white
}

.contrast .eyebrow {
    color: #ffd0d0
}

.contrast p {
    color: rgba(255, 255, 255, .8);
    font-size: 19px;
    line-height: 1.8
}

.contrast h2 {
    font-size: clamp(38px, 4.8vw, 52px);
    line-height: 1.05;
    margin: 10px 0
}

.lesson-card {
    margin-top: 26px
}

.overline {
    color: var(--red);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em
}

.edition-grid {
    grid-template-columns: 1.4fr 1fr
}

.edition.primary {
    background: linear-gradient(135deg, #fff, #fff3f3);
    border-color: #e5aaaa
}

.edition h3 {
    font-size: 40px;
    margin: 8px 0 12px
}

.edition h4 {
    font-size: 29px;
    margin: 8px 0 12px
}

.edition p {
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75
}

.tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 24px 0
}

.tag {
    padding: 7px 11px;
    background: #f3eeee;
    border-radius: 999px;
    font-size: 13px
}

.privacy {
    grid-template-columns: .7fr 1.3fr;
    align-items: center
}

.privacy-icon {
    width: 160px;
    height: 160px;
    border-radius: 38px;
    display: grid;
    place-items: center;
    color: var(--red);
    background: #fff0f0;
    box-shadow: inset 0 0 0 1px #efcaca;
    margin: auto;
    font-size: 54px
}

.cta {
    background: radial-gradient(circle at 50% 0%, rgba(215, 40, 40, .14), transparent 44%), #f7f9fc;
    text-align: center
}

.cta h2 {
    font-size: clamp(40px, 5vw, 56px);
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0
}

.cta p {
    font-size: 19px;
    line-height: 1.7;
    color: var(--muted);
    margin: 18px auto 32px;
    max-width: 820px
}

.footer {
    border-top: 1px solid var(--line);
    padding: 30px 0
}

.footer-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: var(--muted);
    font-size: 14px
}

.footer strong {
    color: var(--text)
}

@media(max-width:900px) {
    .nav-links {
        display: none
    }

    .hero-grid,
    .split,
    .showcase,
    .edition-grid,
    .privacy,
    .two,
    .three {
        grid-template-columns: 1fr
    }

    .hero-shot {
        transform: none
    }

    .showcase.reverse .copy,
    .showcase.reverse .visual {
        order: initial
    }

    .hero {
        padding-top: 62px
    }

    .section {
        padding: 72px 0
    }

    .lang {
        margin-left: auto
    }

    .nav>.btn {
        display: none
    }
}

@media(max-width:600px) {
    .container {
        width: min(100% - 28px, var(--max))
    }

    .hero h1 {
        font-size: 45px
    }

    .lead {
        font-size: 18px
    }

    .actions {
        flex-direction: column
    }

    .actions .btn {
        width: 100%
    }

    .footer-row {
        flex-direction: column
    }

    .brand-name {
        font-size: 24px
    }

    .brand img {
        width: 40px;
        height: 40px
    }

    .section {
        padding: 62px 0
    }

    .card {
        padding: 24px
    }
}