:root {
    --bg: #0b1411;        /* deep green/black */
    --card: #0f1f19;
    --ink: #e6f4ee;       /* soft mint */
    --accent: #12a150;    /* emerald */
    --accent-2: #79d2a6;  /* light emerald */
    --ink-muted: #a8d8c0;
    --border: #18392f;
}

/* Sticky footer layout */
html, body { height: 100%; }
.page {
    min-height: 100svh;           /* full viewport height including mobile UI */
    display: flex;
    flex-direction: column;
}

/* Your header stays fixed at the top */
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
:root { --header-h: 64px; }     /* adjust to your header height */
body { padding-top: var(--header-h); }

/* Make the main content take remaining space */
main { flex: 1; }

/* Footer sits at the bottom when content is short,
   and after all content when long */
.footer {
    margin-top: auto;              /* key line */
    position: static;              /* ensure not fixed */
}

/* Base */
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 64px;
}

/* Burger button hidden on desktop */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    color: #e6f4ee;
    font-size: 1.8rem;
    cursor: pointer;
}

/* Mobile navigation hidden by default */
nav.primary {
    display: flex;
    gap: 14px;
    color: #a6e0c2;
    font-size: 0.95rem;
}

/* Responsive breakpoint */
@media (max-width: 768px) {
    .nav-toggle {
        display: block;
    }

    nav.primary {
        display: none;
        flex-direction: column;
        gap: 12px;
        background: #0f1f19;
        border-top: 1px solid #1a3e31;
        position: absolute;
        top: 64px;
        right: 0;
        padding: 12px 20px;
        border-radius: 0 0 0 12px;
        width: 100%;
        box-shadow: 0 4px 10px rgba(0,0,0,0.3);
        animation: slideDown 0.25s ease forwards;
    }

    nav.primary.open {
        display: flex;
    }
}

/* Simple slide animation */
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}



* { box-sizing: border-box; }
html:focus-within { scroll-behavior: smooth; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--ink); font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Helvetica, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
.container { max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.badge { display:inline-flex; align-items:center; gap:.5rem; font-size:.9rem; padding:.35rem .6rem; border-radius:999px; border:1px solid #21483b; background:#0f1f19; color:#c9f1de; }
.header { border-bottom:1px solid #132a22; backdrop-filter: blur(6px); position: sticky; top:0; z-index: 40; background: rgba(11,20,17,.6); }
.header-inner { height: 64px; display:flex; align-items:center; justify-content: space-between; }
.logo { display:flex; align-items:center; gap:.6rem; font-weight:800; letter-spacing:.2px; }
.logo-badge { width:60px; height:60px; display:grid; place-items:center; }
@media (max-width: 720px) {
    .badge{font-size: .6rem}
}
.hero { padding: 56px 0 24px; }
@media (max-width: 720px) {
    .hero-intro {
        padding: 0 20px;
    }
}

.title { font-size: clamp(1.9rem, 4.5vw, 3rem); line-height: 1.05; margin: 10px 0 14px; font-weight: 800; letter-spacing: -0.02em; }
.subtitle { color: var(--ink-muted); font-size: clamp(1rem, 2.6vw, 1.15rem); max-width: 820px; }
.grid { display:grid; gap:16px; }
.grid-2 { grid-template-columns: 1fr; }
@media (min-width: 900px) { .grid-2 { grid-template-columns: 1.15fr .85fr; gap:28px; } }

.card { background: var(--card); border:1px solid var(--border); border-radius: 16px; padding: 18px; }
.pill { padding: 10px 14px; border-radius: 12px; border: 1px solid #1a3e31; background: #0e1c17; }

.form { display:flex; flex-direction: column; gap: 12px; }
.row { display:flex; gap:10px; }
@media (max-width: 720px){ .row { flex-direction: column; } }
input, button { font: inherit; }
input { flex:1; background: #0a1813; color: var(--ink); border:1px solid #1a3e31; border-radius: 12px; padding: 12px 14px; outline: none; width: 100%; }
input::placeholder { color:#8fb8a5; }
button { background: var(--accent); color:white; border:none; border-radius: 12px; padding: 12px 16px; font-weight: 700; cursor: pointer; min-height: 44px; }
button:hover { filter: brightness(1.05); }
.muted { color:var(--ink-muted); font-size: .95rem; }

.features { display:grid; gap:12px; grid-template-columns: repeat(1,1fr); }
.feature { border:1px dashed #22523f; border-radius: 14px; padding: 14px; background: #0f201a; }
.feature h2, .feature h3, .feature h4 { margin: 4px 0 6px; font-size:1.05rem; }

.trust { display:grid; gap:12px; grid-template-columns:1fr; }
@media (min-width: 820px){ .trust { grid-template-columns: repeat(3,1fr); } }
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
.footer {border-top:1px solid #132a22; margin-top: 42px; padding: 20px 0; color:#9ed9bb; font-size:.95rem; bottom: 0; left: 0; right: 0; z-index: 1000; }

/* push the page content so it isn't behind the fixed bars */
:root { --header-h: 64px; --footer-h: 56px; }
body { padding-top: var(--header-h); padding-bottom: var(--footer-h); }
.tiny { font-size: .9rem; color:#a6e0c2; }
.success, .error { margin-top:8px; font-weight:600; }
.success { color:#8ef0b7; }
.error { color:#ffb4b4; }

/* Accessible focus */
:where(a, button, input):focus { outline: 3px solid #2bd07e; outline-offset:2px; }