:root{
  --bg:#061019;--bg2:#0a1722;--panel:#0d1d2a;--panel2:#11293b;
  --text:#f6f8fb;--muted:#b7c2cc;--dim:#8192a2;--ice:#cce8ff;
  --blue:#8cc8ff;--line:rgba(204,232,255,.16);--line2:rgba(204,232,255,.28);
  --shadow:0 30px 80px rgba(0,0,0,.45);--max:1180px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);
  background:
    radial-gradient(circle at 55% -10%,rgba(80,146,196,.28),transparent 28%),
    linear-gradient(180deg,#07111a 0%,#061019 52%,#040a10 100%);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6
}
a{color:inherit}
.wrap{max-width:var(--max);margin:auto;padding:0 24px}
.top{
  position:sticky;top:0;z-index:60;
  background:rgba(5,13,20,.86);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)
}
.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-weight:900;letter-spacing:.08em;text-decoration:none;color:var(--ice)}
.links{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.links a{text-decoration:none}.links a:hover{color:#fff}
.hero{padding:86px 0 74px}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:58px;align-items:center}
.kicker{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;margin-bottom:15px}
h1{font-size:clamp(48px,7vw,88px);line-height:.94;letter-spacing:-.05em;margin:0}
h2{font-size:clamp(34px,5vw,58px);line-height:1.03;letter-spacing:-.04em;margin:0 0 18px}
h3{line-height:1.2}
.lead{font-size:clamp(19px,2.2vw,24px);color:var(--muted);max-width:760px}
.flyer{width:100%;display:block;border-radius:16px;border:1px solid var(--line2);box-shadow:var(--shadow)}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid var(--line2);text-decoration:none;font-weight:800;background:rgba(255,255,255,.02)}
.btn.primary{background:linear-gradient(#d9efff,#a9d7fb);color:#071019;border:0}
section{padding:82px 0;border-top:1px solid var(--line)}
.intro{max-width:800px;color:var(--muted);font-size:19px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.card{padding:26px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,45,66,.72),rgba(8,20,30,.82))}
.card p{color:var(--muted)}
.card a{color:var(--ice)}
.badge{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:900;margin-bottom:10px}
.list{display:grid;gap:14px;margin-top:28px}
.item{padding:20px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.item p{margin-bottom:0;color:var(--muted)}
.callout{padding:26px;border-left:2px solid var(--blue);background:linear-gradient(90deg,rgba(75,135,180,.12),transparent);color:var(--ice);font-size:21px}
.table{width:100%;border-collapse:collapse;margin-top:28px}
.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{color:var(--ice)}.table td{color:var(--muted)}
.formbox{max-width:850px;padding:30px;border:1px solid var(--line2);border-radius:20px;background:rgba(14,36,53,.66)}
label{display:block;font-weight:700;margin:16px 0 7px}
input,textarea{width:100%;padding:13px;border-radius:10px;border:1px solid var(--line2);background:#07121c;color:#fff;font:inherit}
textarea{min-height:120px}
.check{display:flex;gap:10px;align-items:flex-start;margin:18px 0}
.check input{width:auto;margin-top:4px}
.small{font-size:13px;color:var(--dim)}
.status{margin-top:15px;padding:12px;border-radius:10px;display:none}
.ok{display:block;background:rgba(70,150,100,.15);border:1px solid rgba(100,220,140,.3)}
.err{display:block;background:rgba(180,70,70,.15);border:1px solid rgba(255,120,120,.3)}
footer{padding:30px 0 45px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}
.footerlinks{display:flex;gap:18px;flex-wrap:wrap}
.banner{position:fixed;left:14px;right:14px;bottom:14px;z-index:100;max-width:900px;margin:auto;padding:16px 18px;border:1px solid var(--line2);border-radius:14px;background:#0a1824;box-shadow:0 20px 70px rgba(0,0,0,.5);display:none}
.banner.show{display:flex;align-items:center;justify-content:space-between;gap:16px}
.banner p{margin:0;color:var(--muted);font-size:14px}
.modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:20px}
.modal.show{display:flex}
.dialog{max-width:760px;max-height:88vh;overflow:auto;background:#091722;border:1px solid var(--line2);border-radius:18px;padding:28px}
.dialog p,.dialog li{color:var(--muted)}
.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.pagehead{padding:76px 0 52px}
.pagehead h1{font-size:clamp(42px,6vw,72px)}
.prose{max-width:850px}
.prose p,.prose li{color:var(--muted)}
.prose h2{font-size:32px;margin-top:38px}
@media(max-width:900px){
  .hero-grid,.grid3,.grid2{grid-template-columns:1fr}
}
@media(max-width:680px){
  .links{display:none}.wrap{padding:0 18px}.hero{padding-top:54px}
  .banner.show{display:block}.banner .btn{margin-top:10px}
}

/* NOVA sitewide account + navigation shell */
.nova-shell {
  position: sticky;
  top: 0;
  z-index: 500;
  border-bottom: 1px solid var(--line);
  background: rgba(5,16,24,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.nova-shell-inner { max-width:1180px; margin:0 auto; padding:10px 22px; }
.nova-shell-top { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.nova-shell-logo { color:inherit; text-decoration:none; font-weight:800; letter-spacing:.08em; white-space:nowrap; }
.nova-account { display:flex; align-items:center; gap:9px; flex-wrap:wrap; justify-content:flex-end; }
.nova-account-state { font-size:13px; opacity:.82; max-width:320px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nova-shell-nav { display:flex; gap:8px; flex-wrap:wrap; margin-top:9px; align-items:center; }
.nova-shell-nav a { display:inline-flex; align-items:center; min-height:36px; padding:7px 10px; border-radius:9px; color:inherit; opacity:.88; text-decoration:none; }
.nova-shell-nav a:hover,.nova-shell-nav a[aria-current="page"] { background:rgba(255,255,255,.07); opacity:1; }
.nova-mini-btn { display:inline-flex; align-items:center; justify-content:center; min-height:34px; border-radius:9px; border:1px solid var(--line); padding:6px 11px; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration:none; }
.nova-mini-btn.primary { background:rgba(255,255,255,.10); }
.nova-login-modal { position:fixed; inset:0; z-index:900; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(0,0,0,.72); }
.nova-login-modal.show { display:flex; }
.nova-login-dialog { width:min(520px,100%); border:1px solid var(--line); border-radius:18px; padding:24px; background:#091722; box-shadow:0 22px 70px rgba(0,0,0,.4); }
.nova-login-dialog h2 { margin-top:0; }
.nova-login-dialog input { width:100%; box-sizing:border-box; }
.nova-login-actions { display:flex; gap:9px; flex-wrap:wrap; margin-top:16px; }
.nova-login-status { margin-top:13px; min-height:20px; font-size:14px; }
.nova-home-account-callout { max-width:1180px; margin:18px auto 0; padding:0 22px; }
.nova-home-account-callout > div { border:1px solid var(--line); border-radius:14px; padding:14px 16px; background:rgba(255,255,255,.025); }

@media(max-width:720px){
  .nova-shell-inner{padding:9px 14px}
  .nova-shell-top{align-items:flex-start}
  .nova-account-state{max-width:185px;white-space:normal;text-align:right}
  .nova-shell-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .nova-shell-nav a{justify-content:center;text-align:center;padding:7px 5px;font-size:13px}
}

/* NOVA compact hamburger navigation + account avatar */
.nova-shell{position:sticky;top:0;z-index:700;background:rgba(5,16,24,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nova-shell-inner{max-width:none!important;margin:0!important;padding:9px 14px!important}
.nova-shell-top{display:grid!important;grid-template-columns:48px 1fr 48px!important;align-items:center!important;gap:8px!important}
.nova-shell-logo{justify-self:center;color:inherit;text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:14px;white-space:nowrap}
.nova-shell-nav,.nova-account{display:none!important}
.nova-hamburger{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.nova-hamburger-lines{width:19px;display:grid;gap:4px}.nova-hamburger-lines span{display:block;height:2px;border-radius:2px;background:currentColor}
.nova-avatar-wrap{justify-self:end;position:relative}.nova-avatar{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.09);color:inherit;display:none;align-items:center;justify-content:center;font-weight:800;font-size:16px;cursor:pointer;padding:0;text-transform:uppercase}
.nova-login-top{width:42px;height:40px;border-radius:10px;border:1px solid var(--line);background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.nova-drawer-backdrop{position:fixed;inset:0;z-index:780;display:none;background:rgba(0,0,0,.55)}.nova-drawer-backdrop.show{display:block}
.nova-drawer{position:fixed;top:0;left:0;z-index:790;width:min(290px,84vw);height:100vh;transform:translateX(-105%);transition:transform .2s ease;background:#091722;border-right:1px solid var(--line);box-shadow:18px 0 55px rgba(0,0,0,.36);overflow-y:auto}.nova-drawer.show{transform:translateX(0)}
.nova-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 16px;border-bottom:1px solid var(--line)}.nova-drawer-title{font-weight:800;letter-spacing:.06em;font-size:13px}.nova-drawer-close{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font-size:22px;cursor:pointer}
.nova-drawer-links{padding:10px}.nova-drawer-links a{display:flex;align-items:center;min-height:45px;padding:10px 12px;margin:3px 0;border-radius:10px;color:inherit;text-decoration:none;font-weight:600}.nova-drawer-links a:hover,.nova-drawer-links a[aria-current="page"]{background:rgba(255,255,255,.07)}
.nova-drawer-sep{height:1px;background:var(--line);margin:10px 8px}.nova-drawer-account{padding:12px 16px 18px;font-size:13px;opacity:.82;line-height:1.5}
.nova-account-menu{position:fixed;top:58px;right:12px;z-index:810;width:min(310px,calc(100vw - 24px));display:none;background:#091722;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 55px rgba(0,0,0,.38);overflow:hidden}.nova-account-menu.show{display:block}
.nova-account-menu-head{padding:15px;border-bottom:1px solid var(--line)}.nova-account-menu-name{font-weight:750;margin-bottom:3px}.nova-account-menu-email{font-size:13px;opacity:.76;word-break:break-word}.nova-account-menu a,.nova-account-menu button{width:100%;box-sizing:border-box;display:block;padding:12px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.nova-account-menu a:hover,.nova-account-menu button:hover{background:rgba(255,255,255,.055)}.nova-account-menu>:last-child{border-bottom:0}
@media(max-width:500px){.nova-shell-logo{font-size:12px;letter-spacing:.06em}}
