:root{
    --kas-blue:#0d4f9e;
    --kas-blue-2:#1769c9;
    --kas-blue-3:#063a78;
    --kas-red:#ff4f5f;
    --kas-red-2:#e94454;
    --ink:#17345e;
    --muted:#627595;
    --line:#dbe6f5;
    --white:#ffffff;
    --glass:rgba(255,255,255,.82);
    --shadow:0 28px 80px rgba(10,55,110,.18);
    --soft-shadow:0 14px 34px rgba(14,76,150,.13);
}

*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{
    margin:0;
    min-height:100svh;
    overflow-x:hidden;
    font-family:"Figtree", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--ink);
    background:
        radial-gradient(circle at 18% 14%, rgba(255,79,95,.25), transparent 28%),
        radial-gradient(circle at 83% 9%, rgba(23,105,201,.20), transparent 34%),
        linear-gradient(135deg,#f7fbff 0%,#eef6ff 42%,#fff7f8 100%);
}

body::before,
body::after{
    content:"";
    position:fixed;
    width:34rem;
    height:34rem;
    border-radius:999px;
    pointer-events:none;
    filter:blur(12px);
    opacity:.45;
    animation:slowDrift 9s ease-in-out infinite alternate;
}
body::before{left:-16rem;top:-13rem;background:radial-gradient(circle,rgba(255,79,95,.26),transparent 68%)}
body::after{right:-18rem;bottom:-17rem;background:radial-gradient(circle,rgba(23,105,201,.25),transparent 68%);animation-delay:-3s}

#fxCanvas{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
    z-index:4;
}

.launch-page{
    position:relative;
    z-index:2;
    min-height:100svh;
    display:grid;
    place-items:center;
    padding:28px;
}

.launch-card{
    position:relative;
    width:min(100%, 445px);
    min-height:min(920px, calc(100svh - 56px));
    padding:36px 28px 28px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.92);
    border-radius:42px;
    background:
        linear-gradient(150deg,rgba(255,255,255,.95),rgba(255,255,255,.76)),
        radial-gradient(circle at 18% 3%,rgba(255,79,95,.15),transparent 31%),
        radial-gradient(circle at 87% 18%,rgba(23,105,201,.15),transparent 33%);
    box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(24px);
}

.launch-card::before{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius:42px;
    padding:1px;
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(23,105,201,.20),rgba(255,79,95,.18),rgba(255,255,255,.85));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

.orb{
    position:absolute;
    width:250px;
    height:250px;
    border-radius:999px;
    pointer-events:none;
    opacity:.75;
    filter:blur(.2px);
}
.orb-red{left:-130px;top:-95px;background:radial-gradient(circle,rgba(255,79,95,.18),transparent 70%)}
.orb-blue{right:-145px;top:40px;background:radial-gradient(circle,rgba(23,105,201,.18),transparent 70%)}

.air-wave{
    position:absolute;
    width:300px;
    height:300px;
    pointer-events:none;
    opacity:.44;
    background:
        repeating-radial-gradient(ellipse at center, transparent 0 12px, rgba(23,105,201,.16) 13px 15px, transparent 16px 28px);
    border-radius:999px;
    animation:waveFloat 7s ease-in-out infinite alternate;
}
.wave-one{right:-156px;top:95px;transform:rotate(-14deg)}
.wave-two{left:-170px;bottom:210px;opacity:.24;background:repeating-radial-gradient(ellipse at center, transparent 0 12px, rgba(255,79,95,.17) 13px 15px, transparent 16px 29px);animation-delay:-2s}

.floating-chip{
    position:absolute;
    width:16px;
    height:8px;
    border-radius:3px;
    background:var(--kas-blue-2);
    box-shadow:0 8px 18px rgba(13,79,158,.16);
    animation:chipFloat 5s ease-in-out infinite;
    z-index:1;
}
.chip-1{top:27px;left:27%;transform:rotate(-13deg)}
.chip-2{top:58px;right:18%;background:var(--kas-red);transform:rotate(20deg);animation-delay:-1.2s}
.chip-3{top:284px;right:34px;height:22px;width:9px;transform:rotate(-10deg);animation-delay:-2s}
.chip-4{bottom:302px;left:31px;background:rgba(23,105,201,.72);transform:rotate(15deg);animation-delay:-2.6s}
.chip-5{bottom:224px;right:45px;background:rgba(255,79,95,.55);animation-delay:-3.4s}

.brand-header{
    position:relative;
    z-index:2;
    text-align:center;
    margin:2px auto 20px;
}
.brand-logo{
    width:min(320px, 82%);
    height:auto;
    display:block;
    margin:0 auto;
    mix-blend-mode:multiply;
    filter:drop-shadow(0 12px 20px rgba(20,80,150,.08));
    animation:logoBreathe 5.6s ease-in-out infinite;
}

.status-pill{
    position:relative;
    z-index:2;
    width:max-content;
    max-width:100%;
    margin:0 auto 34px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px 20px 12px 14px;
    border-radius:999px;
    color:var(--kas-blue);
    font-weight:800;
    letter-spacing:-.02em;
    background:rgba(255,255,255,.84);
    border:1px solid rgba(255,255,255,.92);
    box-shadow:0 18px 36px rgba(29,78,142,.13), inset 0 1px 0 rgba(255,255,255,.95);
}
.pulse-dot{
    position:relative;
    width:14px;
    height:14px;
    border-radius:999px;
    background:var(--kas-red);
    box-shadow:0 0 0 9px rgba(255,79,95,.11);
}
.pulse-dot::before{
    content:"";
    position:absolute;
    inset:-11px;
    border-radius:inherit;
    border:2px solid rgba(255,79,95,.25);
    animation:pulseRing 1.8s ease-out infinite;
}

.service-line{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    margin-bottom:18px;
    text-transform:uppercase;
    letter-spacing:.36em;
    font-size:13px;
    line-height:1.2;
    white-space:nowrap;
}
.service-line span{
    width:31px;
    height:4px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--kas-red),var(--kas-blue-2));
}
.service-line strong{color:var(--kas-red);font-weight:900}
.service-line b{color:var(--kas-blue);font-weight:900}

.hero-copy{position:relative;z-index:2;text-align:center}
.coming-title{
    margin:0;
    font-size:clamp(4.4rem, 17vw, 6.85rem);
    line-height:.82;
    letter-spacing:-.075em;
    font-weight:900;
    text-transform:uppercase;
    transform:translateZ(0);
}
.title-line{
    display:flex;
    justify-content:center;
    gap:.015em;
    text-shadow:0 12px 24px rgba(13,79,158,.18);
}
.title-line span{
    display:inline-block;
    animation:titlePop .9s cubic-bezier(.2,.9,.2,1) both, letterFloat 4.5s ease-in-out infinite;
}
.title-line span:nth-child(1){animation-delay:.30s, 1.1s}
.title-line span:nth-child(2){animation-delay:.36s, 1.25s}
.title-line span:nth-child(3){animation-delay:.42s, 1.4s}
.title-line span:nth-child(4){animation-delay:.48s, 1.55s}
.title-line span:nth-child(5){animation-delay:.54s, 1.7s}
.title-line span:nth-child(6){animation-delay:.60s, 1.85s}
.title-coming span{
    color:transparent;
    background:linear-gradient(180deg,#2277d6 0%,#07458f 78%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-stroke:1px rgba(255,255,255,.34);
}
.title-soon span{
    color:transparent;
    background:linear-gradient(115deg,#2866c1 0%,#8b73c9 40%,#ff4f5f 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-stroke:1px rgba(255,255,255,.34);
}
.title-soon{margin-top:6px}

.coming-title::after{
    content:"";
    display:block;
    width:78%;
    height:28px;
    margin:-13px auto 0;
    background:radial-gradient(ellipse,rgba(15,79,158,.20),transparent 66%);
    filter:blur(6px);
    animation:shadowPulse 3s ease-in-out infinite;
}

.cool-divider{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    width:min(230px, 76%);
    margin:15px auto 12px;
    color:var(--kas-blue);
    font-size:24px;
}
.cool-divider i{height:1px;background:linear-gradient(90deg,transparent,rgba(13,79,158,.38),transparent)}
.cool-divider em{font-style:normal;animation:snowSpin 5.5s linear infinite}

.intro-text{
    width:min(100%, 355px);
    margin:0 auto;
    font-size:18px;
    line-height:1.55;
    color:var(--muted);
    letter-spacing:-.02em;
}
.intro-text strong{color:var(--kas-blue);font-weight:900}
.intro-text b{color:var(--kas-blue-2);font-weight:900}

.typing-line{
    min-height:24px;
    margin:12px auto 0;
    font-size:14px;
    color:#7183a0;
    font-weight:700;
}
.typing-label{color:var(--kas-red);font-weight:900}
#typedText{color:var(--kas-blue);font-weight:900}
.typing-cursor{display:inline-block;margin-left:2px;color:var(--kas-red);animation:blink .85s steps(2) infinite}

.feature-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin:24px auto 24px;
    width:100%;
    max-width:384px;
}
.feature-grid article{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-width:0;
    padding:4px 8px;
}
.feature-grid article + article{border-left:1px solid rgba(122,147,183,.24)}
.feature-grid span{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:var(--kas-blue);
    font-weight:900;
    background:linear-gradient(180deg,#eef6ff,#dfeeff);
    box-shadow:inset 0 1px 0 #fff, 0 10px 20px rgba(13,79,158,.10);
}
.feature-grid p{
    margin:0;
    color:#687b99;
    font-weight:700;
    font-size:13px;
    line-height:1.17;
    text-align:left;
}

.notify-card{
    position:relative;
    z-index:2;
    overflow:hidden;
    margin:0 auto;
    padding:26px 22px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.76);
    border:1px solid rgba(255,255,255,.94);
    box-shadow:var(--soft-shadow), inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(18px);
    text-align:center;
}
.notify-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.5) 45%,transparent 70%);
    transform:translateX(-110%);
    animation:glassShine 6s ease-in-out infinite;
    pointer-events:none;
}
.mail-badge{
    width:48px;
    height:48px;
    margin:-3px auto 10px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:linear-gradient(180deg,#e7f1ff,#d7eaff);
    box-shadow:inset 0 1px 0 #fff, 0 14px 26px rgba(13,79,158,.14);
}
.mail-badge svg{width:25px;height:25px;fill:var(--kas-blue)}
.notify-card h2{
    margin:0 0 4px;
    font-size:25px;
    letter-spacing:-.04em;
    color:var(--kas-blue-3);
}
.notify-card p{
    margin:0 0 15px;
    color:#687b99;
    font-size:15px;
    font-weight:600;
}
.form-message{
    margin:0 0 14px;
    padding:11px 12px;
    border-radius:16px;
    font-size:13px;
    line-height:1.3;
    font-weight:800;
}
.form-message.success{color:#0b6b43;background:#e9fff5;border:1px solid #b9f4d8}
.form-message.error{color:#a42634;background:#fff0f2;border:1px solid #ffd0d6}
.notify-form{display:grid;gap:12px}
.email-wrap{
    position:relative;
    display:flex;
    align-items:center;
    min-height:58px;
    border-radius:19px;
    border:1px solid rgba(108,138,178,.30);
    background:rgba(255,255,255,.66);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96);
    transition:.25s ease;
}
.email-wrap:focus-within{
    border-color:rgba(23,105,201,.62);
    box-shadow:0 0 0 5px rgba(23,105,201,.10), inset 0 1px 0 rgba(255,255,255,.96);
    transform:translateY(-1px);
}
.email-wrap svg{
    position:absolute;
    left:18px;
    width:25px;
    height:25px;
    fill:#7183a0;
}
.email-wrap input{
    width:100%;
    height:56px;
    border:0;
    outline:0;
    background:transparent;
    padding:0 18px 0 58px;
    color:var(--ink);
    font:700 16px/1 "Figtree", sans-serif;
}
.email-wrap input::placeholder{color:#8da0bb}
.notify-btn{
    position:relative;
    isolation:isolate;
    min-height:60px;
    border:0;
    border-radius:19px;
    overflow:hidden;
    cursor:pointer;
    color:white;
    background:linear-gradient(105deg,var(--kas-red) 0%,#a164bc 46%,var(--kas-blue-2) 100%);
    box-shadow:0 18px 35px rgba(13,79,158,.22),0 12px 24px rgba(255,79,95,.14);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    font:900 17px/1 "Figtree", sans-serif;
    letter-spacing:-.02em;
    transition:transform .22s ease, box-shadow .22s ease;
}
.notify-btn::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(110deg,transparent,rgba(255,255,255,.34),transparent);
    transform:translateX(-100%);
    animation:buttonShine 3.3s ease-in-out infinite;
}
.notify-btn:hover,.notify-btn:focus-visible{transform:translateY(-2px);box-shadow:0 24px 42px rgba(13,79,158,.26),0 14px 30px rgba(255,79,95,.16)}
.notify-btn:active{transform:translateY(0) scale(.99)}
.notify-btn i{font-style:normal;font-size:24px;transition:transform .2s ease}.notify-btn:hover i{transform:translateX(4px)}
.notify-card small{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:15px;
    color:#667894;
    font-weight:700;
    font-size:12px;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.reveal-up{opacity:0;transform:translateY(22px);animation:revealUp .85s cubic-bezier(.2,.9,.2,1) forwards}
.delay-1{animation-delay:.12s}.delay-2{animation-delay:.24s}.delay-3{animation-delay:.34s}.delay-4{animation-delay:.52s}.delay-5{animation-delay:.66s}

@keyframes revealUp{to{opacity:1;transform:translateY(0)}}
@keyframes slowDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(18px,22px,0) scale(1.06)}}
@keyframes waveFloat{from{transform:translateY(-8px) rotate(-14deg)}to{transform:translateY(13px) rotate(-10deg)}}
@keyframes chipFloat{0%,100%{translate:0 0}50%{translate:0 14px}}
@keyframes logoBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.018)}}
@keyframes pulseRing{0%{transform:scale(.45);opacity:.8}100%{transform:scale(1.55);opacity:0}}
@keyframes titlePop{0%{opacity:0;transform:translateY(32px) scale(.86) rotateX(50deg);filter:blur(8px)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0);filter:blur(0)}}
@keyframes letterFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes shadowPulse{0%,100%{opacity:.65;transform:scaleX(.92)}50%{opacity:.95;transform:scaleX(1.05)}}
@keyframes snowSpin{to{transform:rotate(360deg)}}
@keyframes blink{50%{opacity:0}}
@keyframes glassShine{0%,55%{transform:translateX(-115%)}75%,100%{transform:translateX(115%)}}
@keyframes buttonShine{0%,42%{transform:translateX(-120%)}66%,100%{transform:translateX(120%)}}

@media (max-width:520px){
    body{
        background:
            radial-gradient(circle at 16% 8%, rgba(255,79,95,.23), transparent 29%),
            radial-gradient(circle at 88% 15%, rgba(23,105,201,.20), transparent 34%),
            linear-gradient(145deg,#f8fcff 0%,#eef6ff 46%,#fff7f8 100%);
    }
    .launch-page{
        display:block;
        min-height:100svh;
        padding:10px;
    }
    .launch-card{
        width:100%;
        min-height:calc(100svh - 20px);
        border-radius:34px;
        padding:26px 20px 20px;
    }
    .launch-card::before{border-radius:34px}
    .brand-header{margin-bottom:17px}
    .brand-logo{width:min(315px, 88%)}
    .status-pill{margin-bottom:27px;padding:11px 17px 11px 13px;font-size:14px}
    .service-line{gap:11px;letter-spacing:.25em;font-size:12px;margin-bottom:16px}
    .service-line span{width:23px;height:4px}
    .coming-title{font-size:clamp(3.85rem, 17.2vw, 5.2rem);line-height:.84}
    .title-soon{margin-top:5px}
    .intro-text{font-size:16.5px;line-height:1.5;max-width:335px}
    .typing-line{font-size:13px;margin-top:10px}
    .feature-grid{margin:21px auto 20px}
    .feature-grid article{display:grid;place-items:center;gap:6px;padding:2px 5px}
    .feature-grid p{text-align:center;font-size:11.5px;line-height:1.16}
    .feature-grid span{width:32px;height:32px;flex-basis:32px}
    .notify-card{border-radius:27px;padding:23px 18px 17px}
    .notify-card h2{font-size:23px}
    .notify-card p{font-size:14px}
    .email-wrap{min-height:56px;border-radius:18px}
    .notify-btn{min-height:58px;border-radius:18px}
    .chip-3{right:25px}.chip-4{left:22px}
}

@media (max-width:380px){
    .launch-page{padding:8px}
    .launch-card{min-height:calc(100svh - 16px);padding:22px 18px 18px;border-radius:30px}
    .brand-logo{width:min(280px, 86%)}
    .status-pill{font-size:13px;margin-bottom:21px}
    .service-line{letter-spacing:.19em;font-size:10.5px;gap:8px;margin-bottom:13px}
    .service-line span{width:20px;height:3px}
    .coming-title{font-size:clamp(3.45rem, 16.4vw, 4.25rem)}
    .cool-divider{margin:11px auto 9px;font-size:20px}
    .intro-text{font-size:15px;line-height:1.43}
    .typing-line{font-size:12px}
    .feature-grid{margin:17px auto 18px}
    .feature-grid span{width:29px;height:29px;font-size:13px}
    .feature-grid p{font-size:10.8px}
    .notify-card{padding:20px 15px 15px;border-radius:24px}
    .mail-badge{width:42px;height:42px;margin-bottom:8px}.mail-badge svg{width:22px;height:22px}
    .notify-card h2{font-size:21px}.notify-card p{font-size:13px;margin-bottom:12px}
    .email-wrap{min-height:52px}.email-wrap input{height:52px;font-size:15px;padding-left:54px}.email-wrap svg{left:16px;width:23px;height:23px}
    .notify-btn{min-height:54px;font-size:16px}
    .notify-card small{font-size:11px}
}

@media (min-width:900px){
    .launch-card{max-width:470px}
}

@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}
    #fxCanvas{display:none}
}
