.software-soon-page {
    --software-soon-navy: #17345e;
    --software-soon-pink: #f708ad;
    --software-soon-pink-dark: #d60593;
    --software-soon-muted: #63708a;
    --software-soon-line: #e9eaf1;
    color: var(--software-soon-navy);
    overflow-x: clip;
}

.software-soon-page *,
.software-soon-page *::before,
.software-soon-page *::after { box-sizing: border-box; }

.software-soon-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 50% 28%, #fff 0, #fff 28%, rgba(250, 247, 255, .92) 69%, #f8f6ff 100%); }
.software-soon-hero__container { min-height: 550px; display: grid; place-items: center; padding-top: 66px; padding-bottom: 72px; }
.software-soon-hero__content { position: relative; z-index: 1; max-width: 790px; display: grid; justify-items: center; text-align: center; animation: softwareSoonFadeUp .55s ease-out both; }
.software-soon-hero__background { position: absolute; z-index: -1; width: min(34vw, 500px); height: auto; pointer-events: none; }
.software-soon-hero__background--left { bottom: -12px; left: -45px; }
.software-soon-hero__background--right { top: -5px; right: -32px; }
.software-soon-hero__icon { width: clamp(130px, 14vw, 188px); height: auto; margin-bottom: 10px; animation: softwareSoonFloat 3.8s ease-in-out infinite; }
.software-soon-hero__badge { display: inline-flex; min-height: 31px; align-items: center; justify-content: center; border: 1px solid rgba(247, 8, 173, .7); border-radius: 999px; padding: 4px 18px; color: var(--software-soon-pink); background: rgba(255, 255, 255, .84); font-size: .88rem; font-weight: 600; letter-spacing: .02em; }
.software-soon-hero h1 { margin: 12px 0 0; color: var(--software-soon-navy); font-size: clamp(2.5rem, 5vw, 4.35rem); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; }
.software-soon-hero__subheading { margin: 5px 0 0; color: var(--software-soon-pink); font-size: clamp(1.23rem, 2.2vw, 1.8rem); font-weight: 600; line-height: 1.45; }
.software-soon-hero__description { max-width: 720px; margin: 12px 0 0; color: #465573; font-size: clamp(.96rem, 1.45vw, 1.1rem); line-height: 1.85; }
.software-soon-hero__follow { margin: 4px 0 0; color: var(--software-soon-navy); font-size: 1rem; font-weight: 600; }
.software-soon-hero__english { margin: 5px 0 0; color: var(--software-soon-muted); font-size: .91rem; line-height: 1.6; }
.software-soon-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 20px; }
.software-soon-button { min-width: 190px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 12px; padding: 10px 22px; font-weight: 600; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.software-soon-button:hover { transform: translateY(-2px); }
.software-soon-button:focus-visible { outline: 3px solid rgba(23, 52, 94, .42); outline-offset: 3px; }
.software-soon-button--primary { color: #fff; background: linear-gradient(135deg, var(--software-soon-pink), var(--software-soon-pink-dark)); box-shadow: 0 11px 22px rgba(247, 8, 173, .24); }
.software-soon-button--primary:hover { color: #fff; box-shadow: 0 15px 27px rgba(247, 8, 173, .32); }
.software-soon-button--secondary { border-color: var(--software-soon-pink); color: var(--software-soon-pink); background: rgba(255, 255, 255, .9); }
.software-soon-button--secondary:hover { color: var(--software-soon-pink-dark); background: #fff3fb; }

.software-soon-features { padding: 26px 0 64px; background: #fff; }
.software-soon-features h2 { max-width: 790px; margin: 0 auto 27px; color: var(--software-soon-navy); font-size: clamp(1.42rem, 2.7vw, 2rem); font-weight: 600; line-height: 1.4; text-align: center; }
.software-soon-features h2::before,
.software-soon-features h2::after { width: 37px; display: inline-block; margin: 0 17px .35em; border-top: 2px solid var(--software-soon-pink); content: ""; vertical-align: middle; }
.software-soon-feature-card { height: 100%; display: flex; flex-direction: column; align-items: center; border: 1px solid var(--software-soon-line); border-radius: 18px; padding: 29px 24px 25px; background: #fff; box-shadow: 0 10px 26px rgba(27, 48, 86, .08); text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.software-soon-feature-card:hover { transform: translateY(-5px); box-shadow: 0 16px 31px rgba(27, 48, 86, .13); }
.software-soon-feature-card img { width: 75px; height: 75px; margin-bottom: 16px; }
.software-soon-feature-card h3 { margin: 0 0 7px; color: var(--software-soon-navy); font-size: 1.1rem; font-weight: 600; line-height: 1.45; }
.software-soon-feature-card p { margin: 0; color: var(--software-soon-muted); font-size: .91rem; line-height: 1.75; }

@keyframes softwareSoonFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes softwareSoonFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

@media (max-width: 991.98px) {
    .software-soon-hero__container { min-height: 510px; }
    .software-soon-hero__background { width: 42vw; }
}

@media (max-width: 767.98px) {
    .software-soon-hero__container { min-height: auto; padding-top: 48px; padding-bottom: 52px; }
    .software-soon-hero__background { width: 58vw; opacity: .65; }
    .software-soon-hero__background--left { bottom: -15px; left: -65px; }
    .software-soon-hero__background--right { top: -22px; right: -62px; }
    .software-soon-hero__description { line-height: 1.75; }
    .software-soon-hero__actions { width: 100%; }
    .software-soon-button { width: min(100%, 310px); }
    .software-soon-features { padding-top: 35px; padding-bottom: 48px; }
    .software-soon-features h2::before,
    .software-soon-features h2::after { width: 25px; margin-right: 9px; margin-left: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .software-soon-page *, .software-soon-page *::before, .software-soon-page *::after { scroll-behavior: auto; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
