* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}

body {

    font-family: 'Cairo', sans-serif;

    color: #1e1e1e;

    line-height: 1.4;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: flex-start;

    min-height: 100vh;

    position: relative;

    cursor: default;

    user-select: none;

    -webkit-user-select: none;

    caret-color: transparent;

    background-color: #f8fafc;

    background-image:

        radial-gradient(ellipse 90% 60% at 0% 0%, rgba(58, 168, 255, 0.11), transparent 55%),

        radial-gradient(ellipse 70% 50% at 100% 5%, rgba(245, 124, 0, 0.09), transparent 50%),

        radial-gradient(ellipse 55% 45% at 85% 75%, rgba(33, 150, 243, 0.08), transparent 55%),

        radial-gradient(ellipse 50% 40% at 10% 90%, rgba(255, 112, 67, 0.07), transparent 50%),

        radial-gradient(ellipse 40% 30% at 50% 45%, rgba(58, 168, 255, 0.035), transparent 60%);

    background-attachment: fixed;

}

body::before,

body::after {

    content: "";

    position: fixed;

    pointer-events: none;

    z-index: 0;

    border-radius: 50%;

    filter: blur(64px);

    opacity: 0.55;

}

body::before {

    width: min(58vw, 520px);

    height: min(58vw, 520px);

    top: -8%;

    left: -6%;

    background: radial-gradient(circle at 35% 40%, rgba(58, 168, 255, 0.22), rgba(33, 150, 243, 0.08) 45%, transparent 70%);

    animation: drift-a 28s ease-in-out infinite alternate;

}

body::after {

    width: min(52vw, 460px);

    height: min(52vw, 460px);

    right: -4%;

    bottom: 8%;

    background: radial-gradient(circle at 60% 45%, rgba(245, 124, 0, 0.18), rgba(255, 140, 60, 0.07) 48%, transparent 72%);

    animation: drift-b 34s ease-in-out infinite alternate;

}

@keyframes drift-a {

    0% { transform: translate(0, 0) rotate(0deg) scale(1); }

    100% { transform: translate(6%, 10%) rotate(12deg) scale(1.08); }

}

@keyframes drift-b {

    0% { transform: translate(0, 0) rotate(0deg) scale(1); }

    100% { transform: translate(-8%, -6%) rotate(-10deg) scale(1.06); }

}

a, button {

    cursor: pointer;

}

a, input, textarea {

    user-select: text;

    -webkit-user-select: text;

    caret-color: auto;

}

a.store-badge,

a.store-badge *,

a.support-qr,

a.support-qr *,

a.support-title,

a.support-title * {

    cursor: pointer;

    user-select: none;

    -webkit-user-select: none;

    caret-color: transparent;

}

@media (prefers-reduced-motion: reduce) {

    body::before,

    body::after {

        animation: none;

    }

}

:root {

    --surface-bg: #ffffff;

    --surface-bg-muted: #f7f7f7;

    --surface-border: 1px solid #e0e0e0;

    --surface-border-muted: 1px solid #e6e6e6;

    --surface-shadow: none;

    --surface-shadow-sm: none;

    --surface-shine: none;

    --surface-text: #222222;

    --surface-text-muted: #666666;

    --surface-radius-pill: 2.5rem;

    --surface-radius-card: 1.25rem;

    --surface-block-width: 100%;

}

.platform-tagline,

.step-card,

.update-tagline,

.business-block,

.support-block,

.store-section,

.store-badge {

    position: relative;

    overflow: hidden;

}

.platform-tagline,

.step-card,

.update-tagline,

.business-block,

.support-block,

.store-section {

    background: var(--surface-bg);

    border: var(--surface-border);

}

.platform-tagline,

.store-section {

    box-shadow: var(--surface-shadow);

}

.step-card,

.update-tagline,

.business-block,

.support-block {

    box-shadow: var(--surface-shadow-sm);

}

.store-badge--soon {

    background: transparent;

    border: none;

    box-shadow: none;

}

.platform-tagline::before,

.step-card::before,

.update-tagline::before,

.business-block::before,

.support-block::before,

.store-section::before,

.store-badge::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 52%;

    background: var(--surface-shine);

    pointer-events: none;

    border-radius: inherit;

}

.platform-tagline > *,

.step-card > *,

.step-card .step-inner,

.update-tagline > *,

.business-block > *,

.support-block > *,

.store-section > *,

.store-badge > * {

    position: relative;

    z-index: 1;

}

.page {

    width: 100%;

    max-width: 1100px;

    margin: 0 auto;

    padding: 1.2rem 1.5rem 0.5rem;

    display: flex;

    flex-direction: column;

    flex: 1;

    position: relative;

    z-index: 1;

}

/* Шапка */

.header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 1.6rem;

    height: auto;

}

.header-left {

    display: flex;

    align-items: center;

}

.header-right {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    flex: 0 1 auto;

    gap: 1.2rem;

    min-width: 0;

}

.store-badge {

    display: inline-flex;

    flex-direction: row;

    align-items: center;

    gap: 0.7rem;

    text-decoration: none;

    padding: 0;

    border-radius: 0;

    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;

    box-sizing: border-box;

    border: none;

    background: transparent;

    box-shadow: none;

    cursor: pointer;

    user-select: none;

    -webkit-user-select: none;

    caret-color: transparent;

    -webkit-tap-highlight-color: transparent;

}

.store-badge:hover {

    background: transparent;

    transform: none;

}

.store-badge:active,

.store-badge:focus {

    outline: none;

    caret-color: transparent;

}

.store-badge--text {

    padding: 0.5rem 0.9rem;

    border-radius: var(--surface-radius-card);

    background: var(--surface-bg);

    border: var(--surface-border);

    align-items: flex-end;

    gap: 0.5rem;

    min-height: 54px;

}

.store-badge--text:hover {

    background: #fafafa;

    border-color: #d0d0d0;

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);

    transform: translateY(-1px);

}

.store-badge--text:active {

    transform: none;

    box-shadow: none;

}

.store-badge--available {

    background:
        radial-gradient(ellipse 90% 80% at 15% 25%, rgba(58, 168, 255, 0.06), transparent 55%),
        #ffffff;

    border: 1px solid rgba(58, 168, 255, 0.16);

    box-shadow: 0 1px 6px rgba(58, 168, 255, 0.05);

}

.store-badge--available .store-badge-caption {

    color: #5aa8d8;

}

.store-badge--available .store-badge-label {

    color: #1e1e1e;

}

.store-badge--available:hover {

    background:
        radial-gradient(ellipse 90% 80% at 15% 25%, rgba(58, 168, 255, 0.09), transparent 55%),
        #ffffff;

    border-color: rgba(58, 168, 255, 0.24);

    box-shadow: 0 2px 10px rgba(58, 168, 255, 0.08);

    transform: translateY(-1px);

}

.store-badge--text.store-badge--soon {

    background: var(--surface-bg-muted);

    border: var(--surface-border-muted);

    cursor: default;

}

.store-badge--text.store-badge--soon:hover {

    background: var(--surface-bg-muted);

    border-color: #e6e6e6;

    box-shadow: none;

    transform: none;

}

.store-badge-text {

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    gap: 0.15rem;

}

.store-badge-caption {

    font-size: 0.65rem;

    font-weight: 500;

    color: var(--surface-text-muted);

    line-height: 1;

    white-space: nowrap;

}

.store-badge-label {

    font-size: 1rem;

    font-weight: 700;

    color: var(--surface-text);

    line-height: 1;

    white-space: nowrap;

    letter-spacing: 0.2px;

}

.store-badge--soon .store-badge-caption,

.store-badge--soon .store-badge-label {

    color: var(--surface-text-muted);

}

.store-badge--text .store-badge-logo {

    border-radius: 10px;

    filter: none;

    opacity: 1;

}

.store-badge--text.store-badge--soon .store-badge-logo {

    width: 36px;

    height: 36px;

    filter: grayscale(100%);

    opacity: 0.55;

    border-radius: 0;

}

.store-badge-logos {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    gap: 0.45rem;

    flex-shrink: 0;

}

.store-badge-logo {

    width: 40px;

    height: 40px;

    display: block;

    border-radius: 10px;

    flex-shrink: 0;

}

.store-badge-qr {

    width: 132px;

    height: 132px;

    flex-shrink: 0;

    border-radius: 16px;

    background:

        radial-gradient(ellipse 80% 70% at 20% 25%, rgba(58, 168, 255, 0.18), transparent 55%),

        radial-gradient(ellipse 70% 60% at 85% 80%, rgba(245, 124, 0, 0.14), transparent 50%),

        linear-gradient(145deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.75));

    border: 1px solid rgba(58, 168, 255, 0.12);

    padding: 10px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    box-shadow: 0 4px 18px rgba(58, 168, 255, 0.08);

}

.store-badge-qr img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;

    border-radius: 8px;

    background: #fff;

}

.store-badge-qr svg {

    width: 100%;

    height: 100%;

    display: block;

    border-radius: 8px;

}

.store-badge--large {

    gap: 0.8rem;

    padding: 0;

    border-radius: 0;

}

.store-badge--large:hover {

    transform: translateY(-2px);

}

.store-badge--large:active {

    transform: none;

}

.store-badge--large .store-badge-logo {

    width: 48px;

    height: 48px;

}

.store-badge--soon {

    pointer-events: none;

    cursor: default;

}

.store-badge--soon:hover {

    transform: none;

    background: transparent;

}

.store-badge--soon .store-badge-logo {

    width: 36px;

    height: 36px;

    filter: grayscale(100%);

    opacity: 0.55;

    border-radius: 0;

}

.store-badge--large.store-badge--soon .store-badge-logo {

    width: 44px;

    height: 44px;

}

.store-badge--soon .store-badge-qr,

.store-badge-qr--soon {

    opacity: 1;

    color: #777;

    font-size: 1.15rem;

    font-weight: 700;

    letter-spacing: 0.06em;

    text-transform: uppercase;

    background: #e8e8e8;

    border: 1px solid #d8d8d8;

    box-shadow: none;

}

.store-link {

    display: flex;

    align-items: center;

    gap: 0.5rem;

    text-decoration: none;

    background: #ffffff;

    padding: 0.5rem 0.9rem;

    border-radius: 12px;

    transition: 0.2s;

    box-shadow: 0 1px 4px rgba(0,0,0,0.06);

    border: 1px solid #e8e8e8;

    position: relative;

    min-height: 54px;

    box-sizing: border-box;

}

.store-link:hover {

    background: #f5f5f5;

    transform: scale(1.02);

    box-shadow: 0 2px 8px rgba(0,0,0,0.1);

}

.store-link-icon {

    width: 20px;

    height: 20px;

    border-radius: 4px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 0.7rem;

    color: #888;

}

.store-link-qr {

    width: 34px;

    height: 34px;

    border-radius: 8px;

    background: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border: 1px solid #e8e8e8;

}

.store-link-qr img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    padding: 2px;

}



.store-link-text {

    font-size: 0.8rem;

    font-weight: 600;

    color: #444;

    white-space: nowrap;

    letter-spacing: 0.2px;

}



.store-link.coming-soon {

    background: #f0f0f0;

    pointer-events: none;

    opacity: 1;

}



.store-link.coming-soon .store-link-text {

    color: #222;

    font-weight: 700;

}



.coming-soon-badge-top {

    background: #4caf50;

    color: #fff;

    font-weight: 700;

    font-size: 0.8rem;

    padding: 0.3rem 0.7rem;

    border-radius: 8px;

    white-space: nowrap;

    letter-spacing: 0.5px;

}



.logo-wrapper {

    display: flex;

    align-items: center;

    line-height: 1;

}



.logo {

    font-size: 2.2rem;

    font-weight: 700;

    letter-spacing: -0.5px;

    line-height: 1;

    color: #000;

}



.logo .red {

    color: #f57c00;

}



.divider {

    height: 1.8rem;

    width: 2px;

    background-color: #d0d0d0;

    margin: 0 0.9rem;

    flex-shrink: 0;

    transform: translateY(2px);

}



.sub-logo {

    font-size: 1.1rem;

    font-weight: 400;

    color: #333;

    white-space: nowrap;

    line-height: 1;

    display: flex;

    align-items: center;

    transform: translateY(3px);

}



/* Блок с плашкой */

.platform-tagline-wrapper {

    display: flex;

    flex-direction: column;

    align-items: center;

    margin-top: 30px;

    margin-bottom: calc(1.6rem + 30px);

    padding: 0 1rem;

}



.platform-tagline {

    font-size: 1.9rem;

    font-weight: 600;

    color: var(--surface-text);

    letter-spacing: 0.2px;

    padding: 0.9rem 2.4rem;

    border-radius: 3rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    line-height: 1.3;

}

.platform-tagline-text {

    position: relative;

    z-index: 1;

}



.platform-subtitle {

    font-size: 1.05rem;

    font-weight: 700;

    color: var(--surface-text-muted);

    margin-top: 0.5rem;

    text-align: center;

    letter-spacing: 0.3px;

}



/* Основной блок */

.hero {

    display: flex;

    flex-wrap: wrap;

    gap: 2rem;

    align-items: center;

    margin-bottom: 2rem;

}



.hero--text-end {

    align-items: flex-end;

}



.text-block {

    flex: 1 1 260px;

    min-width: 0;

}



.text-block h1 {

    font-size: 2.5rem;

    font-weight: 700;

    line-height: 1.2;

    margin-bottom: 0.8rem;

    color: #111;

}



.text-block .highlight {

    color: #f57c00;

}



.description {

    font-size: 1rem;

    color: #333;

    margin-bottom: 1.8rem;

    max-width: 450px;

}



.description-lead {

    font-size: calc(2.5rem - 8px);

    font-weight: 700;

    line-height: 1.2;

    color: #111;

    margin-bottom: 0.8rem;

    max-width: 480px;

}




.description-lead .bold-highlight,

.description .bold-highlight {

    font-weight: 700;

    color: #f57c00;

}



.feature-list {

    list-style: none;

    display: flex;

    flex-wrap: wrap;

    gap: 0.5rem 1.2rem;

    margin-bottom: 2rem;

}



.feature-list li {

    font-size: 0.95rem;

    display: flex;

    align-items: center;

    gap: 0.4rem;

    color: var(--surface-text);

    background: var(--surface-bg);

    padding: 0.35rem 0.95rem;

    border-radius: 2rem;

    border: var(--surface-border-muted);

    box-shadow: none;

    white-space: nowrap;

}



.feature-list li::before {

    content: "∙";

    color: #f57c00;

    font-weight: bold;

    font-size: 1.2rem;

    transform: translateY(-1px);

    display: inline-block;

}



.feature-list li:first-child::before {

    transform: translateY(-2px);

}



.phone-mockups {

    flex: 1 1 743px;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 1.4rem;

    flex-wrap: nowrap;

    position: relative;

    padding-left: 0;

    min-width: 0;

}



.phone {

    width: 249px;

    height: auto;

    flex-shrink: 0;

    padding: 6px;

    border-radius: 32px;

    background: linear-gradient(160deg, #3a3a3c 0%, #1c1c1e 40%, #0a0a0a 100%);

    border: 1px solid #4a4a4c;

    box-shadow:

        0 0 0 1px rgba(255,255,255,0.06) inset,

        0 12px 28px rgba(0,0,0,0.22),

        0 4px 10px rgba(0,0,0,0.12);

    display: block;

    position: relative;

    box-sizing: border-box;

}



.phone::before {

    content: "";

    position: absolute;

    top: 11px;

    left: 50%;

    transform: translateX(-50%);

    width: 9px;

    height: 9px;

    background: #1a1a1a;

    border-radius: 50%;

    z-index: 2;

    box-shadow:

        0 0 0 1px rgba(255,255,255,0.08),

        inset 0 0 2px rgba(80,140,255,0.35);

}



.phone-screen {

    width: 100%;

    border-radius: 26px;

    overflow: hidden;

    background: #111;

    padding: 0;

    position: relative;

    line-height: 0;

}



.phone-screen img {

    width: 100%;

    height: auto;

    display: block;

    vertical-align: top;

}



/* Блок с шагами */

.steps-block {

    display: flex;

    align-items: stretch;

    justify-content: center;

    gap: 1rem;

    margin-top: 15px;

    margin-bottom: calc(2rem + 30px + 15px);

    flex-wrap: wrap;

}



.step-card {

    flex: 1 1 0;

    display: flex;

    align-items: center;

    gap: 0.8rem;

    padding: 1rem 1.5rem;

    border-radius: var(--surface-radius-card);

    height: 100px;

    min-width: 0;

}



.step-card-1 .step-inner {

    padding-left: 20px;

    display: flex;

    align-items: center;

    gap: 0.8rem;

}



.step-icon {

    font-size: 1.32rem;

    color: #3aa8ff;

    width: 48px;

    height: 48px;

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid #e0e0e0;

    box-shadow: none;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    flex-shrink: 0;

}



.step-text {

    font-size: 0.95rem;

    font-weight: 600;

    color: var(--surface-text);

    line-height: 1.3;

    word-break: normal;

    overflow-wrap: anywhere;

    flex: 1;

    min-width: 0;

}



.step-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    align-self: center;

}

.step-arrow-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    color: #3aa8ff;

    font-size: 1.15rem;

    background: none;

    border: none;

    box-shadow: none;

}



/* Плашка с обновлениями */

.update-tagline-wrapper {

    display: flex;

    justify-content: center;

    width: var(--surface-block-width);

    margin-top: 52px;

    margin-bottom: calc(1.6rem + 30px);

}



.update-tagline {

    display: flex;

    align-items: center;

    gap: 1rem;

    width: var(--surface-block-width);

    box-sizing: border-box;

    font-size: 1.4rem;

    font-weight: 600;

    color: var(--surface-text);

    letter-spacing: 0.2px;

    padding: 0.95rem 1.8rem;

    border-radius: var(--surface-radius-pill);

    line-height: 1.3;

    text-align: left;

}



.update-tagline-icon {

    font-size: 1.55rem;

    color: #3aa8ff;

    flex-shrink: 0;

    width: 56px;

    height: 56px;

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid #e0e0e0;

    box-shadow: none;

    display: flex;

    align-items: center;

    justify-content: center;

}



.update-tagline-text {

    text-align: left;

    padding-left: 10px;

}



.update-tagline-text .blue-highlight {

    color: #3aa8ff;

}



/* Блок для бизнеса */

.business-block {

    display: flex;

    align-items: center;

    gap: 1.5rem;

    width: var(--surface-block-width);

    box-sizing: border-box;

    border-radius: var(--surface-radius-pill);

    padding: 0.95rem 1.8rem;

    margin-bottom: 2rem;

    margin-left: auto;

    margin-right: auto;

}



.business-icon {

    font-size: 1.55rem;

    color: #3aa8ff;

    flex-shrink: 0;

    width: 60px;

    height: 60px;

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid #e0e0e0;

    box-shadow: none;

    display: flex;

    align-items: center;

    justify-content: center;

}



.business-text {

    font-size: 1.1rem;

    color: var(--surface-text-muted);

    line-height: 1.5;

}



.business-title {

    font-size: 1.4rem;

    font-weight: 700;

    color: #f57c00;

    display: block;

    margin-bottom: 0.3rem;

}



/* Поддержать разработчиков */

.support-block {

    display: flex;

    align-items: center;

    gap: 1.4rem;

    width: var(--surface-block-width);

    box-sizing: border-box;

    border-radius: var(--surface-radius-pill);

    padding: 1rem 1.6rem;

    margin-bottom: 2rem;

    margin-left: auto;

    margin-right: auto;

    cursor: default;

    user-select: none;

    -webkit-user-select: none;

    caret-color: transparent;

}

.support-block,
.support-block * {

    user-select: none;

    -webkit-user-select: none;

    caret-color: transparent;

}

.support-qr {

    width: 132px;

    height: 132px;

    flex-shrink: 0;

    border-radius: 16px;

    background:

        radial-gradient(ellipse 80% 70% at 20% 25%, rgba(58, 168, 255, 0.18), transparent 55%),

        radial-gradient(ellipse 70% 60% at 85% 80%, rgba(245, 124, 0, 0.14), transparent 50%),

        linear-gradient(145deg, rgba(248, 250, 252, 0.95), rgba(255, 255, 255, 0.75));

    border: 1px solid rgba(58, 168, 255, 0.12);

    padding: 10px;

    box-sizing: border-box;

    box-shadow: 0 4px 18px rgba(58, 168, 255, 0.08);

    transition: transform 0.2s ease, box-shadow 0.2s ease;

    display: block;

    -webkit-tap-highlight-color: transparent;

}

.support-qr:hover {

    transform: translateY(-2px);

    box-shadow: 0 6px 20px rgba(58, 168, 255, 0.12);

}

.support-qr:active,

.support-qr:focus {

    outline: none;

    transform: none;

}

.support-qr img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;

    border-radius: 8px;

    background: #fff;

}

.support-text {

    font-size: 1.05rem;

    color: var(--surface-text);

    line-height: 1.45;

    cursor: default;

}

.support-title {

    display: inline-flex;

    align-items: center;

    gap: 0.45rem;

    font-size: 1.25rem;

    font-weight: 700;

    color: #3aa8ff;

    text-decoration: none;

    margin-bottom: 0.25rem;

    transition: color 0.2s;

    cursor: pointer;

    -webkit-tap-highlight-color: transparent;

}

.support-title:hover {

    color: #1e90e8;

    text-decoration: underline;

}

.support-title:active,
.support-title:focus {

    outline: none;

    caret-color: transparent;

}

.support-title i {

    font-size: 1rem;

    color: #e64a19;

}

.support-hint {

    color: var(--surface-text-muted);

    font-size: 0.95rem;

    cursor: default;

}



/* QR и магазины */

.store-section {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 1.2rem;

    width: var(--surface-block-width);

    box-sizing: border-box;

    margin: 1.8rem 0 2rem;

    border-radius: var(--surface-radius-pill);

    padding: 1.5rem 1.8rem;

}



.store-section-title {

    font-size: 1.6rem;

    font-weight: 700;

    color: #3aa8ff;

    text-align: center;

    letter-spacing: 0.2px;

}



.store-section-links {

    display: flex;

    gap: 1.2rem;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-around;

    width: 100%;

}



.store-link-bottom {

    display: flex;

    align-items: center;

    gap: 0.6rem;

    text-decoration: none;

    background: #ffffff;

    padding: 0.6rem 1.1rem;

    border-radius: 14px;

    transition: 0.2s;

    box-shadow: 0 1px 4px rgba(0,0,0,0.06);

    border: 1px solid #e8e8e8;

    position: relative;

    min-height: 64px;

    box-sizing: border-box;

}



.store-link-bottom:hover {

    background: #f5f5f5;

    transform: scale(1.02);

    box-shadow: 0 2px 8px rgba(0,0,0,0.1);

}



.store-link-bottom.coming-soon {

    background: #f0f0f0;

    pointer-events: none;

    opacity: 1;

}



.store-link-bottom.coming-soon .store-link-text-bottom {

    color: #222;

    font-weight: 700;

}



.coming-soon-badge-bottom {

    background: #4caf50;

    color: #fff;

    font-weight: 700;

    font-size: 0.9rem;

    padding: 0.4rem 0.9rem;

    border-radius: 10px;

    white-space: nowrap;

    letter-spacing: 0.5px;

}



.store-link-icon-bottom {

    width: 24px;

    height: 24px;

    border-radius: 5px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 0.8rem;

    color: #888;

}



.store-link-qr-bottom {

    width: 40px;

    height: 40px;

    border-radius: 10px;

    background: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    border: 1px solid #e8e8e8;

}



.store-link-qr-bottom img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    padding: 3px;

}



.store-link-text-bottom {

    font-size: 0.9rem;

    font-weight: 600;

    color: #444;

    white-space: nowrap;

    letter-spacing: 0.2px;

}



.qr-group {

    display: flex;

    gap: 1.2rem;

    flex-wrap: wrap;

    align-items: center;

}



.qr-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 0.3rem;

}



.qr-placeholder {

    width: 70px;

    height: 70px;

    background: #fff;

    border: 1px solid #ccc;

    border-radius: 12px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    box-shadow: 0 2px 8px rgba(0,0,0,0.05);

}



.qr-placeholder img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    padding: 6px;

    border-radius: 12px;

}



.qr-caption {

    font-size: 0.7rem;

    font-weight: 600;

    color: #333;

    text-transform: uppercase;

    letter-spacing: 0.4px;

}



.store-badges {

    display: flex;

    gap: 0.8rem;

    flex-wrap: wrap;

    align-items: center;

}



.badge-link {

    display: inline-block;

    background: #000;

    color: white;

    padding: 0.5rem 1.2rem;

    border-radius: 30px;

    font-size: 0.8rem;

    font-weight: 600;

    text-decoration: none;

    letter-spacing: 0.3px;

    transition: 0.2s;

    border: 1px solid transparent;

    white-space: nowrap;

}



.badge-link:hover {

    background: #222;

    border-color: #f57c00;

}



.badge-link.appstore {

    background: #fff;

    color: #000;

    border: 1px solid #aaa;

}



.badge-link.appstore:hover {

    background: #f5f5f5;

}



.footer {

    margin-top: auto;

    padding: 1.5rem 0 0.8rem;

    display: flex;

    align-items: center;

    gap: 1.2rem;

    font-size: 0.8rem;

    color: #666;

    border-top: 1px solid #eee;

    width: 100%;

}



.footer a {

    color: #555;

    text-decoration: none;

    font-weight: 500;

}



.footer a:hover {

    color: #f57c00;

    text-decoration: underline;

}



.footer span {

    color: #888;

}



.footer-left {

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 0.2rem;

    flex: 0 1 auto;

    min-width: 0;

}



.footer-right {

    display: flex;

    gap: 1.5rem;

    align-items: center;

    flex-wrap: wrap;

    flex: 0 1 auto;

    min-width: 0;

}



.footer-socials {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 0.6rem;

    flex: 1 1 auto;

    min-width: 0;

}

.footer-social {

    width: 37px;

    height: 37px;

    border-radius: 50%;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: #ffffff;

    border: 1px solid #e0e0e0;

    font-size: 1.05rem;

    text-decoration: none !important;

    transition: transform 0.2s, border-color 0.2s, background 0.2s;

}

.footer-social:hover {

    transform: scale(1.08);

    background: #fafafa;

    text-decoration: none !important;

}

.footer-social:nth-child(1) {

    color: #3aa8ff;

    border-color: #3aa8ff;

}

.footer-social:nth-child(1):hover {

    color: #3aa8ff;

}

.footer-social:nth-child(2) {

    color: #26A5E4;

    border-color: #26A5E4;

}

.footer-social:nth-child(2):hover {

    color: #26A5E4;

}

.footer-social img {

    width: 20px;

    height: 20px;

    display: block;

}



.footer-company {

    color: #888;

    font-size: 0.75rem;

}



.footer-address {

    color: #999;

    font-size: 0.62rem;

    line-height: 1.3;

    white-space: nowrap;

}



@media (max-width: 650px) {

    .page {

        padding: 1rem 1rem 0.5rem;

    }



    .header {

        flex-wrap: wrap;

        gap: 0.6rem;

        margin-bottom: 1.2rem;

        justify-content: center;

    }



    .header-left {

        width: 100%;

        justify-content: center;

        flex-wrap: wrap;

    }



    .header-right {

        gap: 0.4rem;

        flex-wrap: wrap;

        width: 100%;

        max-width: 100%;

        justify-content: center;

    }



    .store-badge--text {

        padding: 0.4rem 0.65rem;

        gap: 0.35rem;

        min-height: 46px;

        max-width: 100%;

    }



    .store-badge-caption {

        font-size: 0.58rem;

    }



    .store-badge-label {

        font-size: 0.8rem;

    }



    .store-badge--text .store-badge-logo {

        width: 30px;

        height: 30px;

    }



    .store-badge--text.store-badge--soon .store-badge-logo {

        width: 26px;

        height: 26px;

    }



    .store-link {

        padding: 0.3rem 0.6rem;

        gap: 0.3rem;

        min-height: 44px;

    }



    .store-link-text {

        font-size: 0.65rem;

    }



    .store-link-qr {

        width: 26px;

        height: 26px;

    }



    .store-link-icon {

        width: 16px;

        height: 16px;

        font-size: 0.6rem;

    }



    .coming-soon-badge-top {

        font-size: 0.65rem;

        padding: 0.2rem 0.5rem;

    }



    .divider {

        height: 1.3rem;

        margin: 0 0.6rem;

    }



    .sub-logo {

        font-size: 0.8rem;

        white-space: normal;

    }



    .platform-tagline {

        font-size: 1.2rem;

        padding: 0.6rem 1.1rem;

        width: 100%;

        max-width: 100%;

        text-align: center;

        justify-content: center;

        box-sizing: border-box;

    }



    .platform-tagline-text {

        display: block;

        width: 100%;

        text-align: center;

    }



    .platform-subtitle {

        font-size: 0.85rem;

        text-align: center;

    }



    .platform-tagline-wrapper {

        margin-top: 10px;

        margin-bottom: calc(1.2rem + 10px);

        align-items: center;

        width: 100%;

    }



    .update-tagline {

        font-size: 1.1rem;

        padding: 0.4rem 1.2rem;

        gap: 0.6rem;

    }



    .update-tagline-icon {

        font-size: 1.32rem;

        width: 46px;

        height: 46px;

    }



    .update-tagline-text {

        padding-left: 8px;

    }



    .update-tagline-wrapper {

        margin-top: 32px;

        margin-bottom: calc(1.2rem + 10px);

    }



    .business-block {

        flex-direction: column;

        text-align: center;

        padding: 0.8rem 1.2rem;

        gap: 1rem;

        border-radius: var(--surface-radius-pill);

    }



    .business-icon {

        font-size: 1.38rem;

        width: 50px;

        height: 50px;

    }



    .business-title {

        font-size: 1.2rem;

    }



    .business-text {

        font-size: 0.95rem;

    }



    .support-block {

        flex-direction: column;

        text-align: center;

        padding: 1rem 1.2rem;

        gap: 0.9rem;

    }

    .support-qr {

        width: 144px;

        height: 144px;

    }

    .store-badge-qr {

        width: 144px;

        height: 144px;

    }

    .support-title {

        font-size: 1.1rem;

        justify-content: center;

    }

    .support-hint {

        font-size: 0.85rem;

    }



    .store-section {

        padding: 1rem;

        gap: 0.8rem;

    }



    .store-section-title {

        font-size: 1.3rem;

    }



    .store-section-links {

        gap: 0.5rem;

    }



    .store-link-bottom {

        padding: 0.4rem 0.7rem;

        gap: 0.4rem;

        min-height: 52px;

    }



    .store-link-text-bottom {

        font-size: 0.7rem;

    }



    .store-link-qr-bottom {

        width: 32px;

        height: 32px;

    }



    .store-link-icon-bottom {

        width: 18px;

        height: 18px;

        font-size: 0.6rem;

    }



    .coming-soon-badge-bottom {

        font-size: 0.7rem;

        padding: 0.3rem 0.6rem;

    }



    .hero {

        gap: 1.5rem;

    }



    .text-block h1 {

        font-size: 2rem;

    }



    .description-lead {

        font-size: calc(2rem - 8px);

    }



    .phone-mockups {

        gap: 0.7rem;

        justify-content: center;

        padding-left: 0;

        flex-wrap: wrap;

    }



    .phone {

        width: 189px;

        height: auto;

        border-radius: 26px;

        padding: 5px;

    }



    .phone::before {

        top: 7px;

        width: 8px;

        height: 8px;

    }



    .phone-screen {

        border-radius: 21px;

    }



    .steps-block {

        flex-direction: column;

        align-items: stretch;

        gap: 0.7rem;

        margin-top: 10px;

        margin-bottom: calc(1.5rem + 30px + 10px);

    }



    .step-card {

        flex: none;

        width: 100%;

        min-width: 0;

        padding: 0.8rem 1rem;

        gap: 0.75rem;

        height: auto;

        min-height: 0;

    }



    .step-card-1 .step-inner {

        padding-left: 0;

        width: 100%;

    }



    .step-icon {

        font-size: 1.15rem;

        width: 42px;

        height: 42px;

    }



    .step-text {

        font-size: 0.9rem;

        word-break: normal;

        overflow-wrap: break-word;

    }



    .step-arrow {

        align-self: center;

    }

    .step-arrow-icon {

        font-size: 1rem;

        transform: rotate(90deg);

    }



    .footer {

        display: flex;

        flex-direction: column;

        gap: 0.9rem;

        align-items: center;

        text-align: center;

    }



    .footer-left,

    .footer-right,

    .footer-socials {

        flex: none;

        width: 100%;

    }



    .footer-left {

        align-items: center;

        order: 1;

    }

    .footer-socials {

        order: 2;

    }

    .footer-right {

        order: 3;

        justify-content: center;

        gap: 1rem;

    }



    .footer a {

        margin-left: 0;

        margin-right: 0;

    }

}



@media (max-width: 400px) {

    .header-right {

        gap: 0.3rem;

        justify-content: center;

    }



    .store-badge--text {

        padding: 0.35rem 0.5rem;

        gap: 0.28rem;

        min-height: 42px;

    }



    .store-badge-caption {

        font-size: 0.52rem;

    }



    .store-badge-label {

        font-size: 0.72rem;

    }



    .store-badge--text .store-badge-logo {

        width: 26px;

        height: 26px;

    }



    .store-badge--text.store-badge--soon .store-badge-logo {

        width: 24px;

        height: 24px;

    }



    .platform-tagline {

        font-size: 1.05rem;

        padding: 0.55rem 0.9rem;

    }



    .phone {

        width: 165px;

        height: auto;

        border-radius: 22px;

        padding: 4px;

    }



    .phone::before {

        top: 6px;

        width: 7px;

        height: 7px;

    }



    .phone-screen {

        border-radius: 18px;

    }

}

