:root{
    --bg-1:#090c14;
    --bg-2:#0f1626;
    --text:#e8edf7;
    --muted:#a3adbf;
    --card:rgba(255,255,255,.06);
    --card-strong:rgba(255,255,255,.08);
    --border:rgba(255,255,255,.14);
    --ring:rgba(124,92,255,.45);
    --accent-1:#7c5cff;
    --accent-2:#3aa1ff;
    --success:#28d47b;
    --shadow:0 10px 30px rgba(0,0,0,.35);
    --radius-xl:18px;
    --radius-lg:14px;
    --radius-md:12px;
    --radius-sm:10px;
    --container:1100px;
}

* {
    box-sizing:border-box
}
    
html, body {
    height:100%
}

body {
    margin:0;
    font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    color:var(--text);
    background: radial-gradient(1200px 800px at 20% -10%, #1a1f34 0%, transparent 60%),
                radial-gradient(1000px 700px at 110% 10%, #1a243f 0%, transparent 65%),
                linear-gradient(to bottom, var(--bg-1), var(--bg-2));
    overflow-x:hidden;
}

.aurora:before{
    content:"";
    position:fixed; 
    inset:-30% -20% -20% -30%;
    background:conic-gradient(from 180deg at 70% 20%, rgba(124,92,255,.25), rgba(58,161,255,.16), rgba(40,212,123,.12), rgba(124,92,255,.25));
    filter: blur(90px) saturate(120%);
    opacity:.45;
    animation: drift 22s linear infinite;
    pointer-events:none;
    z-index:-1;
}

@keyframes drift {
    0%{
        transform:translateY(0) rotate(0deg)
    }
    50%{
        transform:translateY(-2%) rotate(180deg)
    }
    100%{
        transform:translateY(0) rotate(360deg)
    }
}

.container {
    max-width:var(--container); margin-inline:auto; padding-inline:24px
}

.nav{
    display:flex; 
    align-items:center; 
    justify-content:space-between;
    padding:22px 0; position:relative;
}

.brand{
    display:flex; 
    align-items:center; 
    gap:12px; 
    text-decoration:none; 
    color:var(--text);
    font-weight:700; 
    letter-spacing:.2px; 
}

.brand-badge{
    width:28px; 
    height:28px; 
    border-radius:10px;
    overflow: hidden;
    background:linear-gradient(135deg,var(--accent-1),var(--accent-2));
    box-shadow:0 6px 20px rgba(124,92,255,.45), inset 0 0 12px rgba(255,255,255,.25);
}

.brand-badge .brand-fit{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.nav .ghost{
    color:var(--text); 
    text-decoration:none; 
    font-weight:500; 
    font-size:14px;
    padding:10px 14px; 
    border:1px solid var(--border); 
    border-radius:999px;
    background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
    backdrop-filter:blur(10px);
    transition:.25s ease;
}

.nav .ghost:hover{
    border-color:rgba(255,255,255,.3); 
    transform:translateY(-1px)
}

.hero{
    padding:60px 0 30px; 
    text-align:center
}
    
.eyebrow{
    display:inline-block;
    color:var(--muted); 
    font-weight:600; 
    font-size:12px; 
    letter-spacing:.18em; 
    text-transform:uppercase;
    padding:8px 12px; 
    border:1px solid var(--border); 
    border-radius:999px;
    background:rgba(255,255,255,.03);
    margin-bottom:18px;
}

h1{
      margin:0 0 14px; 
      font-size: clamp(32px, 4.5vw, 56px); 
      line-height:1.05;
      background:linear-gradient(90deg, #fff, #dee5ff 50%, #bcd3ff); 
      -webkit-background-clip:text; 
      -webkit-text-fill-color: transparent;
      background-clip:text; 
      color:transparent;
      letter-spacing:-.5px;
      text-shadow:0 2px 22px rgba(99,91,255,.12);
}

.sub{
    color:var(--muted); 
    font-size:clamp(14px,1.2vw,16px);
    max-width:760px; 
    margin:0 auto 26px
}

.cta-row{
    display:flex; 
    gap:14px; 
    justify-content:center; 
    align-items:center
}

.btn{
    --g1:var(--accent-1); --g2:var(--accent-2);
    display:inline-flex; 
    align-items:center; 
    gap:10px;
    color:white; 
    text-decoration:none; 
    font-weight:700; 
    letter-spacing:.2px;
    padding:14px 20px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--g1),var(--g2));
    box-shadow:0 12px 30px rgba(124,92,255,.35);
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.btn:hover{
    transform:translateY(-2px); 
    box-shadow:0 16px 38px rgba(124,92,255,.45)
}
.btn:focus-visible{
    outline:3px solid var(--ring); outline-offset:3px
}
.btn-ghost{
    color:var(--text); 
    background:transparent; 
    border:1px solid var(--border);
    padding:13px 18px; 
    box-shadow:none; 
    font-weight:600
}
    
.btn-ghost:hover{
    border-color:rgba(255,255,255,.3); 
    background:rgba(255,255,255,.03)
}

.section{
    padding:40px 0 70px
}

.grid{
    display:grid; 
    gap:18px; 
    grid-template-columns:repeat(5,1fr);
}
    
@media (max-width:1100px){ .grid{grid-template-columns:repeat(3,1fr)} }  
@media (max-width:780px){ .grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .grid{grid-template-columns:1fr} }

.card{
    position:relative;
    background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:22px 18px 20px;
    box-shadow:var(--shadow);
    backdrop-filter: blur(14px);
    transform:translateZ(0);
    transition: transform .25s ease, border-color .25s ease, background .25s ease;
    overflow:hidden;
}
    
.card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,255,255,.25);
    background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}
    
.card .popular{
    position:absolute; top:12px; right:12px;
    font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:#0a0f18; background:linear-gradient(135deg,var(--accent-1),var(--accent-2));
    padding:6px 10px; border-radius:999px;
}

.plan-name{
    font-weight:800;
    font-size:18px; 
    margin:8px 0 6px
}

.price{
    display:flex;
    align-items:flex-end; 
    gap:6px; 
    margin:6px 0 14px
}
    
.price strong{
    font-size:28px; 
    letter-spacing:-.5px
}
.price span{
    color:var(--muted); 
    font-size:13px
}
.stripe{
    display:inline-flex; 
    align-items:center; 
    justify-content:center;
    width:100%;
    padding:12px 14px; 
    border-radius:12px;
    font-weight:700; 
    color:white; 
    text-decoration:none; 
    letter-spacing:.2px;
    background:linear-gradient(135deg, #635bff, #7a6cff);
    box-shadow:0 10px 26px rgba(99,91,255,.35);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.stripe:hover{
    transform:translateY(-2px); 
    box-shadow:0 14px 32px rgba(99,91,255,.45)
}
.stripe:focus-visible{
    outline:3px solid var(--ring); 
    outline-offset:3px
}
.meta{
    color:var(--muted); 
    font-size:12px; 
    margin-top:10px
}

.info{
    margin-top:30px;
    border:1px solid var(--border);
    background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border-radius:var(--radius-xl);
    padding:26px;
    box-shadow:var(--shadow);
    text-align:center;
}

.info h3{
    margin:0 0 10px; 
    font-size:20px
}
.info p{
    margin:8px auto; 
    color:var(--muted); 
    max-width:900px; 
    line-height:1.65
}

.email-accent{
    color: #fff;
    font-weight:500;
    letter-spacing:.2px;
    text-decoration:none;
}

.footer{
    text-align:center; 
    color:var(--muted); 
    font-size:13px;
}

.footer a{
    color:#cfe0ff; 
    text-decoration:none
}
.footer a:hover{
    text-decoration:underline
}

.fade-up{
    opacity:0; 
    transform:translateY(12px); 
    animation:fadeUp .8s ease forwards
}
.fade-up.d1{
    animation-delay:.1s
} 
.fade-up.d2{
    animation-delay:.2s
}
.fade-up.d3{
    animation-delay:.3s
} 
.fade-up.d4{
    animation-delay:.4s
}

@keyframes fadeUp{to{opacity:1; transform:none}}

@media (prefers-reduced-motion:reduce){
    .aurora:before{animation:none}
    .btn,.stripe,.card{transition:none}
    .fade-up{opacity:1; transform:none; animation:none}
}