/* CyberLynk Portal — Partha.
   Designed by CyberLynk LLP. A distinctive, cinematic dark identity: the
   crystalline bull as hero, oversized Space Grotesk display type, monospace
   technical labels, electric blue + cyan on near-black. Not a template. */

@font-face { font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/static/inter.woff2") format("woff2"); }
@font-face { font-family:"Space Grotesk"; font-style:normal; font-weight:300 700; font-display:swap; src:url("/static/grotesk.woff2") format("woff2"); }

:root {
  --bg:#05070d; --bg-2:#080b12; --panel:#0c111b; --panel2:#121926; --panel3:#19212f;
  --text:#eef2f8; --muted:#8894a8; --dim:#5a6578; --line:#1a2231; --line-2:#242e40;
  --brand:#4f8dff; --brand-strong:#6ea2ff; --brand-soft:#0f1d37; --brand-ink:#bcd4ff;
  --cyan:#22d3ee; --cyan-dim:#0e7490;
  --accent:#4f8dff; --ink:#07101f;
  --ok:#35d49a; --okbg:#0c2a21; --warn:#e8b24d; --warnbg:#2c2410; --bad:#ff6b6b; --badbg:#2e1618;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow:0 12px 34px rgba(0,0,0,.55);
  --shadow-lg:0 30px 70px rgba(0,0,0,.7);
  --radius:12px; --radius-sm:9px; --maxw:1200px;
  --mono:"Space Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --display:"Space Grotesk", var(--sans);
  color-scheme: dark;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:15.5px/1.65 var(--sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
a { color:var(--brand); text-decoration:none; }
a:hover { color:var(--brand-strong); }
img { max-width:100%; }
h1,h2,h3 { font-family:var(--display); font-weight:600; letter-spacing:-.02em; }
h1 { font-size:28px; margin:0 0 12px; }
h2 { font-size:22px; margin:0 0 10px; }
.mono { font-family:var(--mono); }

/* technical label */
.tag { display:inline-flex; align-items:center; padding:6px 14px; border-radius:999px; background:rgba(79,141,255,.1); border:1px solid rgba(79,141,255,.34); font:600 11px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--cyan); margin:0 0 22px; }
.tag::before { content:none; }

/* ---------- header ---------- */
.top { position:sticky; top:0; z-index:40; display:flex; align-items:center; gap:24px; padding:14px 28px;
  background:color-mix(in srgb, var(--bg) 80%, transparent); backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line); flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:11px; color:var(--text); text-decoration:none; }
.brand .logo { width:38px; height:38px; display:block; }
.brand-name { display:flex; flex-direction:column; justify-content:center; gap:3px; line-height:1; }
.brand-name .wm { height:16px; }
.brand small { display:block; color:var(--dim); font:500 11px/1 var(--mono); letter-spacing:.04em; }
.top nav { display:flex; gap:2px; flex:1; flex-wrap:wrap; }
.top nav>a { color:var(--muted); text-decoration:none; font-weight:500; font-size:14.5px; padding:7px 12px; border-radius:8px; transition:.15s; }
.top nav>a:hover { color:var(--text); background:var(--panel2); }
.right { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.who { color:var(--muted); font-size:13px; }
.role { background:var(--brand-soft); color:var(--brand-ink); border-radius:999px; padding:1px 9px; margin-left:4px; font-size:12px; font-weight:600; }
.wm { display:block; width:auto; height:auto; }
.wm-light { display:none; } .wm-dark { display:block; } /* dark site: always light-letter wordmark */
main.wrap { max-width:var(--maxw); margin:0 auto; padding:26px 20px 60px; }

/* ---------- buttons ---------- */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 20px; border-radius:var(--radius-sm);
  border:1px solid var(--brand); background:var(--brand); color:#fff; font:inherit; font-weight:650; cursor:pointer; text-decoration:none;
  transition:background .15s, border-color .15s, box-shadow .18s, transform .08s; }
.btn:hover { background:var(--brand-strong); border-color:var(--brand-strong); color:#fff; box-shadow:0 8px 26px rgba(79,141,255,.4); transform:translateY(-1px); }
.btn:active { transform:translateY(0); }
.btn.ghost { background:transparent; color:var(--text); border-color:var(--line-2); font-weight:600; }
.btn.ghost:hover { background:var(--panel2); border-color:var(--brand); box-shadow:none; color:var(--text); }
.btn.sm { padding:6px 13px; font-size:13px; }
.btn.lg { padding:13px 26px; font-size:16px; }
.btn.block { width:100%; }
.btn.danger { background:transparent; color:var(--bad); border-color:var(--bad); }
.btn.danger:hover { background:var(--badbg); box-shadow:none; }
form.inline { display:inline; }
.inline-form { display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap; margin:2px 0; }
.inline-form input { min-width:160px; }

/* ---------- forms ---------- */
.form label { display:block; font-weight:600; font-size:13px; margin:14px 0 0; }
input,select,textarea { width:100%; margin-top:6px; padding:10px 13px; border:1px solid var(--line-2); border-radius:var(--radius-sm); background:var(--panel2); color:var(--text); font:inherit; transition:.15s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(79,141,255,.22); }
.inline-form input,.inline-form select { width:auto; margin:0; }
textarea { min-height:70px; }
.form .btn { margin-top:18px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
@media (max-width:700px){ .grid2 { grid-template-columns:1fr; } }

/* ---------- cards, alerts, badges ---------- */
.card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:22px; margin-bottom:18px; box-shadow:var(--shadow-sm); }
.card.narrow { max-width:460px; margin:30px auto; }
.card.mid { max-width:760px; margin:30px auto; }
.card.status.ok { border-color:color-mix(in srgb, var(--ok) 45%, var(--line)); }
.alert { padding:11px 15px; border-radius:var(--radius-sm); margin-bottom:18px; font-weight:500; }
.alert.ok { background:var(--okbg); color:var(--ok); } .alert.bad { background:var(--badbg); color:var(--bad); } .alert.warn { background:var(--warnbg); color:var(--warn); }
.bad { color:var(--bad); }
.badge { display:inline-block; padding:1px 10px; border-radius:999px; font-size:12px; font-weight:600; background:var(--panel2); color:var(--muted); }
.badge.ok { background:var(--okbg); color:var(--ok); } .badge.warn { background:var(--warnbg); color:var(--warn); } .badge.bad { background:var(--badbg); color:var(--bad); }

/* ---------- tables ---------- */
.table { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--panel); }
table { width:100%; border-collapse:collapse; }
th,td { text-align:left; padding:10px 13px; border-bottom:1px solid var(--line); vertical-align:top; white-space:nowrap; }
th { font-size:12px; color:var(--muted); background:var(--panel2); text-transform:uppercase; letter-spacing:.03em; }
td.wrap { white-space:normal; }
tr:last-child td { border-bottom:0; }
.row { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.grow { flex:1; }
.muted { color:var(--muted); }
.small { font-size:12px; }
.secret { font-size:16px; letter-spacing:1px; word-break:break-all; font-family:var(--mono); }
dl.kv { display:grid; grid-template-columns:max-content 1fr; gap:7px 18px; margin:0 0 14px; }
dl.kv dt { color:var(--muted); } dl.kv dd { margin:0; overflow-wrap:anywhere; }
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:18px; overflow-x:auto; }
.tabs a { padding:9px 13px; color:var(--muted); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; }
.tabs a.on { color:var(--text); border-bottom-color:var(--brand); font-weight:600; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-bottom:16px; }
.stat { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; }
.stat b { display:block; font:600 28px var(--display); } .stat span { color:var(--muted); font-size:13px; }
pre.code { background:var(--panel2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:12px; overflow-x:auto; font:12px var(--mono); }
pre.code.wrap { white-space:pre-wrap; word-break:break-all; }
ol { padding-left:20px; }

/* ================= HERO ================= */
.hero { position:relative; padding:70px 0 40px; }
.hero::before { content:""; position:absolute; z-index:-1; top:-60px; left:50%; transform:translateX(-50%); width:100vw; height:720px; pointer-events:none;
  background:radial-gradient(45% 60% at 78% 8%, rgba(34,211,238,.16), transparent 60%), radial-gradient(55% 60% at 20% 30%, rgba(79,141,255,.18), transparent 62%); }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:46px 46px;
  mask-image:radial-gradient(70% 60% at 50% 20%, #000, transparent 72%); }
.hero-inner { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; position:relative; }
.display { font-family:var(--display); font-weight:700; font-size:clamp(40px,6vw,74px); line-height:1.01; letter-spacing:-.035em; margin:0 0 22px; }
.display .c { color:var(--brand); }
.display .o { color:transparent; -webkit-text-stroke:1.5px var(--line-2); }
.hero-lead { font-size:18px; line-height:1.6; color:var(--muted); margin:0 0 26px; max-width:50ch; }
.hero .cta { display:flex; gap:12px; flex-wrap:wrap; margin:0 0 22px; }
.mono-meta { font:500 12.5px/1.8 var(--mono); letter-spacing:.06em; color:var(--dim); text-transform:uppercase; overflow-wrap:break-word; }
.mono-meta b { color:var(--muted); font-weight:500; }
.hero-bull { position:relative; display:flex; align-items:center; justify-content:center; }
.hero-bull::before { content:""; position:absolute; inset:-6% -6%; z-index:0;
  background:radial-gradient(50% 50% at 55% 45%, rgba(56,189,248,.45), transparent 68%); filter:blur(26px); }
.hero-bull img { position:relative; z-index:1; width:112%; max-width:none; height:auto; filter:drop-shadow(0 30px 56px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(79,141,255,.25)); }

/* vuln-class ticker */
.ticker { position:relative; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-2); padding:12px 0; margin:14px 0 0; }
.ticker-row { display:flex; gap:38px; width:max-content; animation:tick 36s linear infinite; }
.ticker span { font:600 13px var(--mono); letter-spacing:.14em; color:var(--dim); text-transform:uppercase; white-space:nowrap; }
.ticker span b { color:var(--cyan); font-weight:600; }
@keyframes tick { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ================= SECTIONS ================= */
.section { margin:72px 0; }
.kicker { display:inline-flex; align-items:center; padding:5px 13px; border-radius:999px; background:var(--brand-soft); border:1px solid color-mix(in srgb,var(--brand) 32%, transparent); color:var(--brand-ink); font:600 11px/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; margin:0 0 16px; }
.kicker::before { content:none; }
.section>h2 { font-size:clamp(26px,3.4vw,38px); margin:0 0 10px; letter-spacing:-.025em; }
.section-sub { color:var(--muted); margin:0 0 30px; font-size:16.5px; max-width:60ch; }
.lead { font-size:17px; color:var(--muted); margin:0 0 14px; max-width:52ch; }

/* tool cards + screenshot (public guide, when present) */
.tools { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.tool { display:flex; flex-direction:column; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; color:var(--text); text-decoration:none; transition:.18s; }
.tool:hover { border-color:var(--brand); transform:translateY(-2px); text-decoration:none; }
.tool img { width:100%; aspect-ratio:16/9; object-fit:cover; object-position:top left; border-bottom:1px solid var(--line); background:var(--panel2); }
.tool div { padding:14px 16px 16px; } .tool h3 { margin:0 0 6px; font-size:15.5px; } .tool p { margin:0; color:var(--muted); font-size:13.5px; }
.shot { width:100%; height:auto; display:block; border-radius:12px; border:1px solid var(--line-2); box-shadow:var(--shadow-lg); }

/* big-number stats band */
.statband { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin:30px 0; background:var(--panel); }
.statband .st { padding:28px 22px; border-right:1px solid var(--line); min-width:0; }
.statband .st:last-child { border-right:0; }
.statband .st b { display:block; font:600 clamp(24px,2.4vw,32px)/1.05 var(--display); letter-spacing:-.02em; margin-bottom:8px; overflow-wrap:break-word; }
.statband .st b .c { color:var(--cyan); }
.statband .st > span { color:var(--muted); font:500 12px var(--mono); letter-spacing:.06em; text-transform:uppercase; }
@media (max-width:760px){ .statband { grid-template-columns:repeat(2,minmax(0,1fr)); } .statband .st:nth-child(2){border-right:0;} .statband .st:nth-child(-n+2){border-bottom:1px solid var(--line);} }
@media (max-width:480px){ .statband { grid-template-columns:1fr; } .statband .st{border-right:0; border-bottom:1px solid var(--line); padding:20px;} .statband .st:last-child{border-bottom:0;} }

/* editorial numbered capabilities */
.caps { display:grid; grid-template-columns:1fr 1fr; gap:0 54px; }
.cap { display:grid; grid-template-columns:auto 1fr; gap:22px; padding:26px 0; border-top:1px solid var(--line); align-items:start; transition:.2s; }
.cap:hover { border-top-color:var(--brand); }
.cap .no { font:600 30px/1 var(--display); color:transparent; -webkit-text-stroke:1.2px var(--line-2); transition:.2s; }
.cap:hover .no { -webkit-text-stroke-color:var(--brand); color:var(--brand); }
.cap h3 { font-size:19px; margin:2px 0 7px; color:var(--text); }
.cap p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.6; }
@media (max-width:760px){ .caps { grid-template-columns:1fr; } }
.cap-more { text-decoration:none; }
.cap-more:hover { text-decoration:none; border-top-color:var(--brand); }
.cap-more .no { color:var(--brand); -webkit-text-stroke:0; }
.cap-more h3 { color:var(--brand); display:inline-flex; align-items:center; gap:7px; }
.cap-more h3::after { content:"\2192"; }
.cap-more:hover h3 { color:var(--brand-strong); }

/* product showcase (the dark app mock, large) */
.showcase { text-align:center; }
.showcase .frame { position:relative; max-width:960px; margin:0 auto; }
.showcase .frame::before { content:""; position:absolute; inset:-4% -2% -8%; z-index:0; background:radial-gradient(50% 50% at 50% 30%, rgba(79,141,255,.22), transparent 70%); filter:blur(20px); }
.showcase .app-mock { position:relative; z-index:1; text-align:left; }
.shot-row { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px; }
.shot.sm { border-radius:10px; box-shadow:var(--shadow); }
@media (max-width:700px){ .shot-row { grid-template-columns:1fr; } }

/* ================= PRODUCT-UI MOCK ================= */
.app-mock { border:1px solid var(--line-2); border-radius:14px; overflow:hidden; background:#0a0f1a; color:#d7e1f2; box-shadow:var(--shadow-lg); }
.hero-visual { position:relative; }
.am-bar { display:flex; align-items:center; gap:10px; padding:11px 15px; background:#0d1320; border-bottom:1px solid var(--line-2); }
.am-logo { width:22px; height:22px; display:block; }
.am-title { font:600 13.5px var(--display); color:#fff; }
.am-tabs { display:flex; gap:3px; margin-left:6px; }
.am-tabs i { font-style:normal; color:#8ba1c6; padding:4px 10px; border-radius:7px; font-size:11.5px; }
.am-tabs i.on { background:rgba(79,141,255,.18); color:#8fb4ff; font-weight:600; }
.am-status { margin-left:auto; display:inline-flex; align-items:center; gap:6px; color:#3ad49c; font:600 11px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.am-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#3ad49c; box-shadow:0 0 0 3px rgba(58,212,156,.22); }
.am-body { display:grid; grid-template-columns:48px 1fr; }
.am-rail { background:#080d16; border-right:1px solid var(--line-2); display:flex; flex-direction:column; align-items:center; gap:9px; padding:13px 0; }
.am-rail svg { width:26px; height:26px; padding:5px; border-radius:7px; stroke:#7f96bd; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.am-rail svg.on { background:rgba(79,141,255,.18); stroke:#8fb4ff; }
.am-main { display:grid; grid-template-rows:auto 1fr auto; min-width:0; }
.am-head { display:flex; align-items:center; gap:8px; padding:9px 13px; border-bottom:1px solid var(--line-2); color:#8ba1c6; font:11.5px var(--mono); }
.am-head .pin { color:#c7d4ea; background:#0e1726; border:1px solid var(--line-2); border-radius:6px; padding:3px 9px; }
.am-rows { padding:11px 13px; display:flex; flex-direction:column; gap:6px; }
.am-row { display:grid; grid-template-columns:46px 1fr 40px; gap:10px; align-items:center; padding:8px 11px; background:#0e1726; border:1px solid #16202f; border-radius:8px; font:11.5px/1 var(--mono); }
.am-row.sel { border-color:#2f62d6; background:#132241; }
.am-row .m { color:#7aa2ff; font-weight:700; }
.am-row .u { color:#c3d2ea; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.am-row .s { text-align:right; font-weight:700; }
.am-row .s.ok { color:#3ad49c; } .am-row .s.warn { color:#e8b24d; } .am-row .s.bad { color:#ff6b6b; }
.am-panel { border-top:1px solid var(--line-2); padding:12px 13px; display:flex; gap:8px; flex-wrap:wrap; background:#080d16; }
.am-find { display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border-radius:8px; font:600 11.5px var(--mono); letter-spacing:.03em; }
.am-find::before { content:""; width:8px; height:8px; border-radius:2px; }
.am-find.high { background:rgba(255,107,107,.13); color:#ff8f8f; } .am-find.high::before { background:#ff6b6b; }
.am-find.med { background:rgba(232,178,77,.13); color:#f0c674; } .am-find.med::before { background:#e8b24d; }
.am-find.low { background:rgba(58,212,156,.13); color:#6fe0b8; } .am-find.low::before { background:#3ad49c; }

/* ================= OFFER ================= */
.offer-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:34px; align-items:stretch; }
.offer-copy { display:flex; flex-direction:column; justify-content:center; gap:4px; }
.offer-copy .lead { margin:0; }
.cd-panel { margin-top:22px; padding:18px; border:1px solid var(--line-2); border-radius:14px; background:color-mix(in srgb, var(--brand) 6%, var(--panel)); }
.cd-label { display:block; margin-bottom:12px; font:600 12px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--cyan); }
.offer-card { position:relative; overflow:hidden; background:linear-gradient(180deg, var(--brand-soft), var(--panel) 60%); border:1px solid var(--line-2); border-top:3px solid var(--brand); border-radius:16px; padding:30px; box-shadow:var(--shadow); }
.offer-tag { display:inline-flex; font:600 11.5px var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--cyan); margin-bottom:14px; }
.price-row { display:flex; align-items:baseline; gap:12px; margin:2px 0 4px; }
.price-row .now { font:700 clamp(44px,6vw,60px)/1 var(--display); letter-spacing:-.03em; }
.price-row .was { color:var(--dim); font-size:18px; font-family:var(--mono); }

/* ================= PRICING PLANS ================= */
.plans-section { position:relative; }
.plans { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:12px; align-items:stretch; }
.plan { --pa:var(--brand); position:relative; overflow:hidden; background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform .16s, box-shadow .2s, border-color .15s; }
.plan::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg, var(--pa), color-mix(in srgb, var(--pa) 45%, var(--cyan))); }
.plan:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:color-mix(in srgb, var(--pa) 45%, var(--line)); }
.plan-student { --pa:#06b6d4; } .plan-individual { --pa:#4f8dff; } .plan-enterprise { --pa:#a855f7; }
.plan.featured { border:1px solid color-mix(in srgb, var(--pa) 55%, var(--line)); box-shadow:var(--shadow-lg); transform:translateY(-10px); padding-top:42px; }
.plan-art { position:absolute; top:-18px; right:-8px; font-size:104px; opacity:.07; line-height:1; pointer-events:none; }
.plan-flag { position:absolute; top:0; left:50%; transform:translateX(-50%); background:linear-gradient(90deg,var(--pa),var(--cyan)); color:#fff; font:700 11px var(--mono); letter-spacing:.06em; text-transform:uppercase; padding:6px 16px; border-radius:0 0 12px 12px; box-shadow:var(--shadow); white-space:nowrap; z-index:2; }
.plan-head { display:flex; align-items:center; gap:14px; margin:6px 0 16px; }
.plan-ic { width:54px; height:54px; flex:none; border-radius:15px; display:grid; place-items:center; font-size:28px; background:color-mix(in srgb, var(--pa) 15%, transparent); border:1px solid color-mix(in srgb, var(--pa) 32%, transparent); }
.plan-head h3 { margin:0; font-size:22px; }
.plan-aud { margin:3px 0 0; color:var(--muted); font-size:13px; }
.plan-highlight { display:inline-flex; align-items:center; gap:8px; font:600 12px var(--mono); letter-spacing:.01em; color:var(--pa); background:color-mix(in srgb, var(--pa) 12%, transparent); border:1px solid color-mix(in srgb, var(--pa) 28%, transparent); border-radius:999px; padding:6px 13px; margin-bottom:16px; align-self:flex-start; max-width:100%; }
.plan-highlight .dot { flex:none; width:7px; height:7px; border-radius:50%; background:var(--pa); box-shadow:0 0 0 3px color-mix(in srgb,var(--pa) 30%, transparent); }
.plan-reveal { display:flex; align-items:center; gap:12px; padding:13px 14px; margin:0 0 18px; border-radius:12px; background:var(--panel2); border:1px dashed color-mix(in srgb, var(--pa) 42%, var(--line)); }
.plan-reveal .pr-lock { font-size:22px; line-height:1; }
.plan-reveal .pr-top { display:block; font-size:11.5px; color:var(--muted); }
.plan-reveal .pr-date { display:block; font:700 17px var(--display); color:var(--text); letter-spacing:-.01em; }
/* Enterprise volume-discount showcase */
.disc-wrap { margin:0 0 16px; }
.disc-title { display:flex; align-items:center; gap:7px; font:700 13px var(--mono); letter-spacing:.04em; text-transform:uppercase; color:var(--pa); margin-bottom:10px; }
.disc-title .disc-ic { font-size:15px; }
.disc-tiers { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.disc { position:relative; display:flex; align-items:center; gap:10px; padding:14px 12px; border-radius:13px; background:color-mix(in srgb, var(--pa) 9%, var(--panel2)); border:1px solid color-mix(in srgb, var(--pa) 24%, var(--line)); }
.disc-best { background:linear-gradient(145deg, color-mix(in srgb, var(--pa) 22%, var(--panel2)), color-mix(in srgb, var(--pa) 8%, var(--panel2))); border-color:color-mix(in srgb, var(--pa) 55%, var(--line)); box-shadow:0 6px 18px color-mix(in srgb, var(--pa) 22%, transparent); }
.disc-pct { font:800 30px/.9 var(--display); letter-spacing:-.03em; color:var(--text); background:linear-gradient(180deg, color-mix(in srgb,var(--pa) 70%, #fff), var(--pa)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.disc-pct small { font-size:15px; font-weight:700; -webkit-text-fill-color:var(--pa); }
.disc-lbl { font:600 11px var(--mono); line-height:1.35; letter-spacing:.02em; color:var(--muted); text-transform:uppercase; }
.disc-lbl b { display:block; font-size:12px; color:var(--text); letter-spacing:.06em; }
.disc-ribbon { position:absolute; top:-9px; right:8px; font:700 9px var(--mono); letter-spacing:.07em; text-transform:uppercase; color:#fff; background:var(--pa); padding:3px 8px; border-radius:999px; box-shadow:var(--shadow-sm); }
.disc-note { margin:10px 0 0; font-size:12.5px; color:var(--muted); }
.plan .checklist { flex:1; margin:0 0 18px; }
.plan .checklist li svg { stroke:var(--pa); }
.reveal-btn { margin-top:auto; position:relative; overflow:hidden; background:linear-gradient(120deg, var(--pa), color-mix(in srgb, var(--pa) 55%, var(--cyan))); border:0; color:#fff; font-weight:650; }
.reveal-btn:hover { color:#fff; filter:brightness(1.06); }
.reveal-btn .rb-arrow { transition:transform .2s; }
.reveal-btn:hover .rb-arrow { transform:translateX(4px); }
.reveal-btn::after { content:""; position:absolute; top:0; left:-60%; width:38%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.4), transparent); transform:skewX(-18deg); animation:shimmer 3.4s ease-in-out infinite; }
@keyframes shimmer { 0%{left:-60%;} 55%,100%{left:130%;} }
.presales { margin-top:30px; text-align:center; padding:18px 22px; border:1px dashed color-mix(in srgb,var(--brand) 40%,var(--line)); border-radius:14px; background:var(--brand-soft); color:var(--text); font-size:15px; }
.presales .ps-ic { margin-right:4px; }
.presales b { color:var(--brand-ink); }
.presales a { font-weight:650; white-space:nowrap; }
@media (max-width:860px){ .plans{grid-template-columns:1fr;} .plan.featured{transform:none;} }
@media (prefers-reduced-motion:reduce){ .reveal-btn::after{animation:none;} }
.offer-ribbon { display:none; }
.checklist { list-style:none; padding:0; margin:20px 0; display:grid; gap:12px; }
.checklist li { display:flex; gap:12px; align-items:flex-start; font-size:14.5px; }
.checklist li svg { flex:none; width:20px; height:20px; margin-top:1px; stroke:var(--cyan); fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.countdown { display:flex; gap:12px; margin-top:0; flex-wrap:wrap; }
.cd-panel .countdown { margin-top:0; }
.cd-cell { min-width:74px; text-align:center; border:1px solid var(--line-2); border-radius:var(--radius-sm); padding:12px 8px; background:var(--panel2); }
.cd-cell b { display:block; font:600 30px/1 var(--display); letter-spacing:-.02em; }
.cd-cell span { font:500 10px var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:28px; counter-reset:step; }
.step { position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.step::before { counter-increment:step; content:"0" counter(step); display:block; font:600 20px var(--display); color:var(--brand); margin-bottom:10px; }
.step h3 { margin:0 0 5px; font-size:16px; } .step p { margin:0; color:var(--muted); font-size:14px; }

/* closing CTA */
.cta-band { margin:72px 0 0; border:1px solid var(--line-2); border-radius:20px; padding:56px 40px; text-align:center; position:relative; overflow:hidden;
  background:radial-gradient(60% 120% at 50% 0%, rgba(79,141,255,.18), transparent 60%), var(--panel); }
.cta-band h2 { font-size:clamp(30px,4vw,46px); margin:0 0 10px; letter-spacing:-.03em; }
.cta-band p { color:var(--muted); margin:0 0 26px; font-size:17px; }
.cta-band .cta { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

/* ================= DOWNLOADS ================= */
.dl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:16px; }
.dl-card { background:var(--panel); border:1px solid var(--line-2); border-radius:14px; padding:24px; transition:border-color .18s, transform .14s, box-shadow .2s; }
.dl-card:hover { border-color:color-mix(in srgb, var(--brand) 42%, var(--line-2)); box-shadow:var(--shadow); }
.dl-card.off { opacity:.5; }
.dl-os { display:flex; align-items:center; gap:14px; }
.dl-os .osic { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--brand-soft); flex:none; }
.dl-os .osic svg { width:24px; height:24px; fill:var(--brand); }
.dl-os h3 { margin:0; font-size:19px; }
.dl-req { margin:2px 0 0; color:var(--muted); font:12px var(--mono); letter-spacing:.02em; }
.dl-none { color:var(--dim); font-size:14px; margin:18px 0 0; }
.dl-file { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.dl-file-top { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.dl-finfo { min-width:0; display:flex; flex-direction:column; gap:3px; }
.dl-format { font-weight:600; font-size:13.5px; overflow-wrap:anywhere; }
.dl-size { color:var(--muted); font:11.5px var(--mono); }
.dl-btn { flex:none; display:inline-flex; align-items:center; gap:7px; padding:9px 17px; border-radius:9px; border:1px solid var(--brand); background:var(--brand); color:#fff; font:inherit; font-weight:600; font-size:13.5px; text-decoration:none; transition:background .15s, box-shadow .18s, transform .08s; }
.dl-btn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dl-btn:hover { background:var(--brand-strong); box-shadow:0 6px 18px rgba(79,141,255,.35); transform:translateY(-1px); text-decoration:none; color:#fff; }
.dl-sha { margin-top:12px; }
.dl-sha summary { color:var(--dim); font:11px var(--mono); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; list-style:none; }
.dl-sha summary::-webkit-details-marker { display:none; }
.dl-sha summary::before { content:"+ "; }
.dl-sha[open] summary::before { content:"- "; }
.dl-sha summary:hover { color:var(--muted); }
.hash { display:block; margin-top:8px; font-family:var(--mono); font-size:10.5px; overflow-wrap:anywhere; background:var(--bg-2); border:1px solid var(--line); padding:8px 10px; border-radius:7px; color:var(--muted); }

/* license key */
.keyshow { font:20px var(--mono); letter-spacing:1px; word-break:break-all; padding:16px; background:var(--panel2); border:1px dashed var(--brand); border-radius:var(--radius-sm); user-select:all; }
.keybox { display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.keyval { font:13px var(--mono); letter-spacing:.5px; background:var(--panel2); border:1px solid var(--line); border-radius:5px; padding:3px 8px; overflow-wrap:anywhere; }
.keybox.on .keyval { border-color:var(--brand); color:var(--text); user-select:all; }
.iconbtn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:1px solid var(--line-2); border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; }
.iconbtn:hover,.iconbtn:focus-visible { color:var(--brand); border-color:var(--brand); }
.iconbtn:disabled { opacity:.5; cursor:wait; } .iconbtn[hidden]{ display:none; }
.iconbtn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.iconbtn .i-eye-off,.keybox.on .iconbtn .i-eye { display:none; } .keybox.on .iconbtn .i-eye-off { display:inline; }
.iconbtn.done { color:var(--ok); border-color:var(--ok); }

/* ================= LAUNCH POPUP ================= */
.ad-modal { position:fixed; inset:0; z-index:90; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(3,5,11,.72); backdrop-filter:blur(5px); }
.ad-modal.show { display:flex; animation:adfade .2s ease; }
@keyframes adfade { from{opacity:0;} to{opacity:1;} }
.ad-card { position:relative; width:min(500px,100%); background:var(--panel); border:1px solid var(--line-2); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-lg); animation:adpop .24s ease; }
@keyframes adpop { from{transform:translateY(12px); opacity:0;} to{transform:none; opacity:1;} }
.ad-top { position:relative; padding:28px 26px 22px; color:#fff; text-align:center; overflow:hidden;
  background:radial-gradient(70% 100% at 75% 0%, rgba(34,211,238,.4), transparent 60%), linear-gradient(135deg,#0b1a40,#123c86 55%,#0a5f7e); }
.ad-top img.ad-bull { position:relative; z-index:1; width:118px; height:auto; margin:0 auto 12px; display:block; filter:drop-shadow(0 12px 22px rgba(0,0,0,.5)); }
.ad-top .tag { position:relative; z-index:1; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.34); color:#eaf4ff; margin:0; justify-content:center; }
.ad-top .tag::before { content:none; }
.ad-top h2 { position:relative; z-index:1; color:#fff; font-size:26px; margin:10px 0 4px; }
.ad-top p { position:relative; z-index:1; margin:0; color:#cfe0ff; font-size:14.5px; }
.ad-body { padding:24px 26px 26px; text-align:center; }
.ad-offer { font-size:15px; color:var(--text); margin:0 0 16px; } .ad-offer b { color:var(--cyan); }
.ad-note { color:var(--dim); font:12px var(--mono); letter-spacing:.04em; margin:10px 0 0; }
.ad-body .countdown { justify-content:center; margin:0 0 18px; }
.ad-actions { display:flex; gap:10px; } .ad-actions .btn { flex:1; }
.ad-close { position:absolute; top:12px; right:12px; z-index:2; width:32px; height:32px; border-radius:8px; border:0; background:rgba(255,255,255,.2); color:#fff; font-size:19px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.ad-close:hover { background:rgba(255,255,255,.35); }
@media (prefers-reduced-motion:reduce){ .ad-modal.show,.ad-card{animation:none!important;} .ticker-row{animation:none!important;} html{scroll-behavior:auto;} }

/* ================= DOCS ================= */
.docs { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; align-items:start; }
.toc { position:sticky; top:78px; max-height:calc(100vh - 94px); overflow-y:auto; border-right:1px solid var(--line); padding-right:12px; }
.toc a { display:block; padding:4px 6px; color:var(--muted); text-decoration:none; font-size:13px; border-radius:5px; }
.toc a:hover { background:var(--panel2); color:var(--text); } .toc a.l2 { color:var(--text); font-weight:600; margin-top:6px; } .toc a.l3 { padding-left:16px; }
.doc { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:30px 36px; line-height:1.7; }
.doc h1 { font-size:32px; } .doc h2 { font-size:23px; margin-top:34px; padding-top:10px; border-top:1px solid var(--line); } .doc h3 { font-size:18px; margin-top:26px; }
.doc h1,.doc h2,.doc h3,.doc h4 { scroll-margin-top:82px; font-family:var(--display); }
.doc .anchor { margin-left:8px; color:var(--line); text-decoration:none; font-weight:400; }
.doc h2:hover .anchor,.doc h3:hover .anchor { color:var(--muted); }
.doc img { max-width:100%; height:auto; display:block; margin:14px 0; border-radius:8px; border:1px solid var(--line); }
.doc code { font-family:var(--mono); font-size:13px; background:var(--panel2); padding:1px 5px; border-radius:4px; }
.doc pre { background:var(--panel2); border:1px solid var(--line); border-radius:8px; padding:12px 14px; overflow-x:auto; } .doc pre code { background:none; padding:0; }
.doc blockquote { margin:14px 0; padding:8px 14px; border-left:3px solid var(--brand); background:var(--panel2); border-radius:0 6px 6px 0; }
.doc table { margin:12px 0; border:1px solid var(--line); } .doc td,.doc th { white-space:normal; }
.doc hr { border:0; border-top:1px solid var(--line); margin:24px 0; }

/* 2FA */
.mfa-setup { display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start; }
.qr-box { text-align:center; max-width:240px; }
.qr { display:block; width:220px; height:220px; background:#fff; padding:8px; border:1px solid var(--line); border-radius:10px; }

/* ================= FOOTER ================= */
.foot { border-top:1px solid var(--line); background:var(--bg-2); color:var(--muted); font-size:13.5px; padding:46px 20px 32px; }
.foot-in { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:28px; }
.foot-brand { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.foot-brand img.logo { width:32px; height:32px; } .foot-brand .wm { height:14px; }
.foot p { margin:0 0 8px; max-width:44ch; }
.foot-contact { font-size:13px; line-height:1.7; }
.foot-contact a { color:var(--brand); font-weight:600; }
.foot h4 { color:var(--text); font:600 12px var(--mono); letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; }
.foot .links { display:flex; flex-direction:column; gap:8px; } .foot .links a { color:var(--muted); } .foot .links a:hover { color:var(--brand); }
.foot-bottom { max-width:var(--maxw); margin:28px auto 0; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-family:var(--mono); font-size:12px; letter-spacing:.03em; }
.foot-bottom .made { display:inline-flex; align-items:center; gap:6px; }
.flag-in { border-radius:3px; vertical-align:middle; box-shadow:0 1px 2px rgba(0,0,0,.25); }

/* ================= RESPONSIVE ================= */
@media (max-width:920px){
  .hero-inner { grid-template-columns:1fr; gap:24px; }
  .hero-bull { order:-1; max-width:360px; margin:0 auto; } .hero-bull img { width:100%; }
  .offer-grid { grid-template-columns:1fr; }
  .docs { grid-template-columns:1fr; } .toc { position:static; max-height:260px; border-right:0; border-bottom:1px solid var(--line); } .doc { padding:20px; }
  .foot-in { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .mfa-setup { grid-template-columns:1fr; } .qr-box { margin:0 auto; }
  .foot-in { grid-template-columns:1fr; }
  .top { gap:12px; padding:10px 16px; } main.wrap { padding:20px 16px 48px; }
  .hero { padding:44px 0 30px; }
}

/* --- consent checkboxes, legal pages, cookie notice (DPDP) --- */
label.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; margin:10px 0; cursor:pointer; }
label.check input[type=checkbox] { width:18px; height:18px; margin-top:2px; flex:0 0 auto; accent-color:var(--brand,#1150c8); }
label.check span { font-size:14px; line-height:1.5; }
article.legal { max-width:820px; margin:0 auto; }
article.legal .legal-head { margin-bottom:8px; }
article.legal h2 { font-size:18px; margin:0 0 10px; }
article.legal .card { margin:14px 0; }
article.legal ul { padding-left:20px; } article.legal li { margin:6px 0; line-height:1.55; }
article.legal p { line-height:1.6; }
.legal-table { width:100%; border-collapse:collapse; font-size:14px; }
.legal-table th, .legal-table td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line,#e2e8f0); vertical-align:top; }
.legal-table th { font-weight:600; }
.card.danger { border:1px solid #ef4444; }
.card.danger h2 { color:#b91c1c; }
.btn.danger { background:#dc2626; border-color:#dc2626; color:#fff; }
.btn.danger:hover { background:#b91c1c; }
.cookie-notice { position:fixed; left:16px; right:16px; bottom:16px; z-index:50; margin:0 auto; max-width:760px;
  display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  background:var(--card,#fff); color:var(--fg,#0f172a); border:1px solid var(--line,#e2e8f0);
  border-radius:12px; padding:12px 16px; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.cookie-notice p { margin:0; font-size:13px; line-height:1.5; flex:1 1 320px; }
.cookie-notice[hidden] { display:none; }
