/* Dark, minimalist, premium system */
*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%}
img,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

:root{
  --bg:#0b0f14; --surface:#0f141b; --surface-2:#121923;
  --text:#e7eef8; --muted:#9fb0c7; --border:#1b2430;
  --brand-500:#0ea5e9; --accent-500:#60a5fa; --focus:#22d3ee;
  --radius:14px; --radius-sm:10px; --max-w:1120px;
  color-scheme:dark light;
}
html[data-theme="light"]{
  --bg:#f7f9fc; --surface:#fff; --surface-2:#f2f5f9;
  --text:#0d1321; --muted:#4b5563; --border:#e7ecf3;
  --accent-500:#2563eb;
}
body{
  background:
    radial-gradient(900px 500px at 10% -10%, rgba(14,165,233,.12), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, rgba(96,165,250,.10), transparent 60%),
    var(--bg);
  color:var(--text); font:500 16px/1.65 Inter, system-ui, Segoe UI, Roboto, Arial, sans-serif;
}
.container{width:min(100% - 2rem,var(--max-w)); margin-inline:auto}
.section{padding:clamp(2.6rem,5vw,4.8rem) 0}
.section--alt{background:var(--surface-2)}
.section-head{text-align:center;margin-bottom:1.6rem}
.section-head h1,.section-head h2{letter-spacing:-.01em}
.muted{color:var(--muted)}
a{color:inherit;text-decoration:none}

.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(8px);
  background:color-mix(in oklab,var(--surface) 75%,transparent 25%);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.brand{display:inline-flex;align-items:center;gap:.75rem}
.logo{height:46px;width:auto}
.nav-list{display:flex;align-items:center;gap:.5rem;list-style:none}
.nav-list a{padding:.5rem .75rem;border-radius:10px}
.nav-list a.active,.nav-list a:hover{background:color-mix(in oklab,var(--brand-500) 16%,transparent)}
.nav-toggle{display:none;background:none;border:0}
.nav-toggle .bar{width:22px;height:2px;background:currentColor;display:block}
@media (max-width:900px){
  .nav-toggle{display:inline-grid;gap:6px}
  .nav-list{position:fixed;inset:56px 0 auto 0;background:var(--surface);flex-direction:column;align-items:flex-start;
    padding:.75rem 1rem;transform:translateY(-120%);transition:transform .35s ease;border-bottom:1px solid var(--border)}
  .nav-list.open{transform:translateY(0)}
}

.btn{--btn-bg:linear-gradient(90deg,var(--brand-500),var(--accent-500));--btn-text:#fff;
  display:inline-block;padding:.7rem 1rem;border-radius:12px;background:var(--btn-bg);color:var(--btn-text);
  font-weight:700;box-shadow:0 10px 24px rgba(14,165,233,.22);border:0;cursor:pointer}
.btn--ghost{background:transparent;color:inherit;border:1px solid var(--border)}
.btn--sm{padding:.5rem .8rem}.btn--lg{padding:.9rem 1.2rem;font-size:1.05rem}

.hero{display:grid;gap:1rem}.hero .lead{color:var(--muted)}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.12),0 8px 18px rgba(0,0,0,.25)}
footer.site-footer{padding:2rem 0;border-top:1px solid var(--border);background:var(--surface-2)}
.footer-inner{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.footer-links{display:flex;gap:.9rem;list-style:none;flex-wrap:wrap}

.progress{height:2px}.progress-bar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand-500),var(--accent-500))}
.toast{position:fixed;right:1rem;bottom:1rem;background:var(--surface);border:1px solid var(--border);padding:.7rem 1rem;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.18);opacity:0;transform:translateY(10px);transition:.25s}
.toast.show{opacity:1;transform:translateY(0)}
.form label{display:grid;gap:.4rem}
.form input,.form textarea,.form select{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;color:var(--text)}
.err{min-height:1.1em;font-size:.85rem;color:#f87171}

.shape--edge{position:relative;overflow:hidden}
.shape--edge::after{content:"";position:absolute;left:0;right:0;bottom:-100px;height:180px;background:radial-gradient(60% 120% at 50% 0%, rgba(14,165,233,.18), transparent 70%)}

/* don't let the logo get squeezed by the nav */
.site-header .brand,
.site-header .logo {
  flex-shrink: 0;      /* key: stop flexbox from shrinking it */
}

.site-header .logo {
  height: 66px;        /* or whatever you want */
  width: auto;         /* keep aspect ratio */
  max-width: none;     /* override the global img { max-width:100% } */
  display: block;
}



.header-inner { display: flex; align-items: center; justify-content: space-between; }
.nav { flex: 1 1 auto; }          /* nav can take remaining space */
.nav-list { flex-wrap: wrap; }    /* optional: let links wrap on narrow screens */