:root{
    --bg0:#070B1A;
    --bg1:#0B1230;
    --card:#0E173A;
    --card2:#0C1433;
    --text:#EAF0FF;
    --muted:#A9B6D8;
    --line:rgba(255,255,255,.08);
    --accent:#7AA7FF;
    --accent2:#9FE0FF;
    --shadow: 0 12px 40px rgba(0,0,0,.35);
    --radius: 18px;
}

*{ box-sizing:border-box; }

html,body{
    height:100%;
}

body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Inter, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
    color:var(--text);
    background: radial-gradient(1200px 800px at 20% 10%, rgba(122,167,255,.20), transparent 55%),
    radial-gradient(900px 700px at 80% 20%, rgba(159,224,255,.12), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
    line-height:1.55;
}

.bg-grid{
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
            linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(600px 450px at 20% 10%, #000 40%, transparent 70%);
    opacity:.35;
}

.container{
    width:min(1100px, 100%);
    margin:0 auto;
    padding:0 18px;
}

/* Topbar */
.topbar{
    position:sticky;
    top:0;
    z-index:10;
    backdrop-filter: blur(10px);
    background: rgba(7,11,26,.55);
    border-bottom: 1px solid var(--line);
}

.topbar__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 0;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width: 220px;
}

.brand__mark{
    width:38px;
    height:38px;
    border-radius:14px;
    background:
            radial-gradient(10px 10px at 30% 30%, rgba(255,255,255,.55), transparent 60%),
            linear-gradient(135deg, rgba(122,167,255,.9), rgba(159,224,255,.6));
    box-shadow: 0 10px 30px rgba(122,167,255,.25);
}

.brand__name{
    font-weight:650;
    letter-spacing:.2px;
}

.brand__sub{
    font-size:.85rem;
    color:var(--muted);
    margin-top:2px;
}

.nav{
    display:flex;
    gap:14px;
    align-items:center;
}

.nav a{
    color:var(--muted);
    text-decoration:none;
    font-size:.95rem;
    padding:8px 10px;
    border-radius:12px;
}

.nav a:hover{
    color:var(--text);
    background: rgba(255,255,255,.05);
}

/* Hero */
.hero{
    display:grid;
    grid-template-columns: 1.5fr .9fr;
    gap:18px;
    padding: 34px 0 18px;
}

.eyebrow{
    margin:0 0 10px;
    display:inline-block;
    color: var(--accent2);
    font-weight:600;
    letter-spacing:.3px;
    font-size:.92rem;
}

.hero h1{
    margin:0 0 12px;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height:1.12;
    letter-spacing:-.5px;
}

.lead{
    margin:0 0 18px;
    color:var(--muted);
    font-size:1.05rem;
}

.hero__cards{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:14px;
    margin-top: 12px;
}

.card{
    background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 45%),
    linear-gradient(180deg, var(--card), var(--card2));
    border:1px solid var(--line);
    border-radius: var(--radius);
    padding:16px 16px;
    box-shadow: var(--shadow);
}

.card__kicker{
    color: var(--accent2);
    font-size:.82rem;
    font-weight:650;
    letter-spacing:.25px;
    margin-bottom:6px;
}

.card__title{
    font-size:1.05rem;
    font-weight:650;
    margin-bottom:6px;
}

.card__text{
    color:var(--muted);
    font-size:.95rem;
}

.hero__aside .panel{
    border-radius: var(--radius);
    padding:18px;
    border:1px solid var(--line);
    background: linear-gradient(180deg, rgba(122,167,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(180deg, var(--card), var(--card2));
    box-shadow: var(--shadow);
}

.panel__header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    margin-bottom:10px;
}

.panel__badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.78rem;
    font-weight:650;
    color: rgba(7,11,26,.9);
    background: linear-gradient(135deg, rgba(159,224,255,.95), rgba(122,167,255,.85));
    padding:6px 10px;
    border-radius: 999px;
}

.panel__title{
    font-weight:650;
    color: var(--text);
}

.facts{
    margin: 12px 0 16px;
}

.facts__row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
}

.facts__row dt{
    color: var(--muted);
    font-size:.92rem;
}

.facts__row dd{
    margin:0;
    color: var(--text);
    font-size:.92rem;
}

.panel__footer{
    display:flex;
    gap:10px;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border-radius: 14px;
    text-decoration:none;
    font-weight:650;
    font-size:.95rem;
    border:1px solid rgba(122,167,255,.35);
    background: rgba(122,167,255,.15);
    color: var(--text);
}

.btn:hover{
    background: rgba(122,167,255,.22);
}

.btn--ghost{
    border:1px solid var(--line);
    background: rgba(255,255,255,.04);
    color: var(--muted);
}

.btn--ghost:hover{
    color: var(--text);
    background: rgba(255,255,255,.06);
}

/* Mid sections */
.grid-2{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:16px;
    padding: 12px 0 16px;
}

.card--large{
    padding: 18px 18px;
}

.card--large h2{
    margin:0 0 10px;
    font-size:1.25rem;
    letter-spacing:-.2px;
}

.muted{ color: var(--muted); }

.bullets{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.bullet{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:12px;
    border-radius: 14px;
    border:1px solid var(--line);
    background: rgba(255,255,255,.03);
}

.bullet__dot{
    width:10px;
    height:10px;
    border-radius:999px;
    margin-top:6px;
    background: linear-gradient(135deg, var(--accent2), var(--accent));
    box-shadow: 0 10px 30px rgba(159,224,255,.18);
}

.bullet__title{
    font-weight:650;
    margin-bottom:3px;
}

.bullet__text{
    color: var(--muted);
    font-size:.95rem;
}

.chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:14px;
}

.chip{
    border:1px solid var(--line);
    background: rgba(255,255,255,.03);
    padding:8px 10px;
    border-radius: 999px;
    color: var(--muted);
    font-size:.9rem;
}

.note{
    margin-top:14px;
    border:1px solid rgba(159,224,255,.20);
    background: rgba(159,224,255,.06);
    padding:12px 12px;
    border-radius: 14px;
}

.note__title{
    font-weight:650;
    margin-bottom:4px;
}

.note__text{
    color: var(--muted);
}

/* Footer contact card */
.footer-card{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin: 18px 0 26px;
    padding: 18px;
    border-radius: var(--radius);
    border:1px solid var(--line);
    background: linear-gradient(135deg, rgba(122,167,255,.10), rgba(159,224,255,.06));
    box-shadow: var(--shadow);
}

.footer-card h2{
    margin:0 0 8px;
}

.contact-link{
    display:inline-block;
    font-weight:700;
    text-decoration:none;
    color: var(--text);
    border-bottom:1px solid rgba(159,224,255,.45);
    padding-bottom:2px;
}

.contact-link:hover{
    color: var(--accent2);
    border-bottom-color: var(--accent2);
}

.small{
    margin-top:10px;
    font-size:.85rem;
}

.fineprint{
    padding: 0 0 26px;
    text-align:center;
    color: rgba(169,182,216,.75);
    font-size:.85rem;
}

/* Responsive */
@media (max-width: 980px){
    .hero{ grid-template-columns: 1fr; }
    .hero__cards{ grid-template-columns: 1fr; }
    .grid-2{ grid-template-columns: 1fr; }
    .nav{ display:none; }
    .footer-card{ flex-direction:column; }
}
.tg-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:14px;
    border:1px solid rgba(122,167,255,.35);
    background: rgba(122,167,255,.12);
    transition: background .2s ease, transform .15s ease, box-shadow .15s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.tg-link:hover{
    background: rgba(122,167,255,.22);
    transform: translateY(-1px);
    box-shadow: 0 14px 36px rgba(0,0,0,.35);
}

.tg-icon{
    width:22px;
    height:22px;
    fill: var(--text);
}

