:root{
  --brand:#00e0ff;
  --brand-ink:#00c2de;
  --ink:#e6f7fb;
  --muted:#9cc6d1;
  --bg:#0b1214;
  --panel:#0f1a1d;
  --border:#102a31;
  --shadow:0 10px 30px rgba(0,224,255,.08);
}

/* Base */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(0,224,255,.08), transparent 60%),
    radial-gradient(1200px 700px at 110% 10%, rgba(0,224,255,.06), transparent 60%),
    var(--bg);
}
a{color:var(--brand);text-decoration:none}
a:hover{filter:brightness(1.1)}
.container{max-width:1180px;margin:0 auto;padding:0 16px}

/* Topbar */
.topbar{background:#061014;color:#a9f0ff;font-size:14px;border-bottom:1px solid var(--border)}
.topbar .container{display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:8px 16px}
.topbar a{color:#d0f7ff}

/* Header / Brand / Nav */
.header{position:sticky;top:0;z-index:40;background:rgba(6,16,20,.7);backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid var(--border);overflow:visible}
.header .row{height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}
.brand img{height:36px;width:36px;border-radius:10px;box-shadow:0 0 26px rgba(0,224,255,.45)}
.nav{display:flex;gap:22px;align-items:center}
.nav a,.nav button{appearance:none;background:none;border:0;color:#cfeaf1;font-size:15px;cursor:pointer}
.nav a:hover,.nav button:hover{color:#eaffff}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:10px 14px;font-weight:650;border:1px solid transparent;box-shadow:var(--shadow)}
.btn-primary{background:var(--brand);color:#00171c}
.btn-primary:hover{filter:brightness(1.05)}
.btn-outline{border-color:var(--brand);color:var(--ink);background:transparent}
.btn-outline:hover{background:rgba(0,224,255,.08)}

/* Sections / Cards */
.hero{padding:64px 0}
.hero h1{font-size:42px;line-height:1.1;margin:10px 0}
.hero p.lead{font-size:18px;color:var(--muted);max-width:62ch}
.grid{display:grid;gap:20px}
.cards-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#0c171b,#0a1215);padding:18px;box-shadow:var(--shadow)}
.section{padding:64px 0}
.footer{border-top:1px solid var(--border);padding:28px 0;color:#a8d0d9}
.small{font-size:12px;color:#7fb0bc}
.notice{padding:10px 12px;border:1px solid rgba(0,224,255,.35);border-radius:999px;color:#a6f6ff;background:rgba(0,224,255,.08);display:inline-flex;align-items:center;gap:8px}
.input,textarea{width:100%;border:1px solid var(--border);background:#07161a;color:var(--ink);border-radius:12px;padding:12px 14px;font-size:15px;outline:none}
.input:focus,textarea:focus{box-shadow:0 0 0 2px rgba(0,224,255,.25)}
label{font-size:14px;color:#8bd3e0}
.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
#formMessage{min-height:18px}
hr.sep{border:0;border-top:1px solid var(--border);margin:14px 0}
ul{padding-left:18px}
ul li{margin:6px 0}

/* =========================
   DESKTOP DROPDOWN (no flicker)
   ========================= */
.header .nav .menu{position:relative}
.header .nav .menu>button{position:relative;z-index:1;background:none;border:0;color:#cfeaf1;cursor:pointer;font-size:15px}

/* Keep panel in DOM; never toggle display */
.header .nav .menu .dropdown{
  display:block!important;
  position:absolute;top:100%;left:0;
  min-width:260px;
  background:#07161a;
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:8px;
  z-index:10000;

  visibility:hidden;opacity:0;pointer-events:none;
  transition:none;
}
.header .nav .menu .dropdown::before{
  content:"";position:absolute;left:0;right:0;top:-14px;height:14px;
}
.header .nav .menu:hover .dropdown,
.header .nav .menu:focus-within .dropdown,
.header .nav .menu .dropdown:hover{
  visibility:visible;opacity:1;pointer-events:auto;
}
.header .nav .menu .dropdown a{display:block;padding:10px 12px;border-radius:8px;color:#d3eef5}
.header .nav .menu .dropdown a:hover{background:#0c1f24}

/* =========================
   MOBILE / TABLET MENU
   ========================= */
.mobile-toggle{
  display:none;
  font-size:26px;color:var(--brand);
  background:none;border:0;cursor:pointer;line-height:1;padding:6px 10px;
}
.mobile-menu{
  display:none;position:fixed;inset:0;z-index:100000;
  background:rgba(6,16,20,.97);backdrop-filter:blur(8px);
  overflow-y:auto;padding:0 18px 40px;border:0;
}
.mobile-menu.show{display:block}
.no-scroll{overflow:hidden}

/* Mobile internals */
.mobile-menu .mnav{display:flex;flex-direction:column;gap:12px}
.mobile-menu .mlink{display:block;color:#cfeaf1;font-size:18px;text-decoration:none;padding:10px 6px;border-radius:10px}
.mobile-menu .mlink:hover{background:#0c1f24;color:var(--ink)}
.mitem.has-sub{border:1px solid var(--border);border-radius:12px;padding:6px;background:#07161a}
.msub-toggle{width:100%;text-align:left;background:transparent;border:0;color:#d3eef5;font-size:18px;padding:10px 8px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:10px}
.msub-toggle:hover{background:#0c1f24}
.caret{display:inline-block;width:10px;height:10px;border-right:2px solid #8bd3e0;border-bottom:2px solid #8bd3e0;transform:rotate(-45deg);transition:transform .2s ease}
.msub-toggle[aria-expanded="true"] .caret{transform:rotate(45deg)}
.msub{overflow:hidden;transition:max-height .2s ease;max-height:0;padding:0 6px}
.msub a{display:block;padding:10px 10px;border-radius:10px;color:#bfe6ef}
.msub a:hover{background:#0c1f24;color:#eaffff}

/* Visibility rules */
@media (max-width:991.98px){
  .header .nav{display:none!important}
  .mobile-toggle{display:inline-flex;margin-left:auto}
}
@media (min-width:992px){
  .mobile-menu{display:none!important}
  .mobile-toggle{display:none!important}
}
