/* ============================================================
   AVELIS — Brand & Identity System
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;700;900&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400;1,6..72,500&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root{
  /* ink / surface — cool near-black navy with a teal undertone */
  --ink-900:#070B0F;
  --ink-850:#0A1117;
  --ink-800:#0E151C;
  --ink-750:#111B24;
  --ink-700:#16212C;
  --ink-650:#1C2A37;

  /* lines & elevation */
  --line:rgba(180,205,230,0.10);
  --line-soft:rgba(180,205,230,0.06);
  --line-strong:rgba(180,205,230,0.18);

  /* core accents */
  --blue:#0061E0;          /* primary — the logo dot */
  --blue-bright:#3B8CFF;   /* links / glows */
  --blue-deep:#003E91;
  --amber:#F5B301;         /* signal / CTA / editorial highlight */
  --amber-soft:#FFCF52;
  --emerald:#2FD4A0;       /* live status / Casus */
  --emerald-deep:#13A87C;
  --violet:#8B80FF;        /* Handoff */
  --violet-deep:#5B4ED6;

  /* text */
  --cloud:#EDF1F5;         /* headings on dark */
  --slate-300:#B5C0CD;     /* body on dark */
  --slate-400:#8A98A8;     /* muted */
  --slate-500:#5E6E7E;     /* faint / captions */

  /* radii */
  --r-sm:8px;
  --r-md:14px;
  --r-lg:20px;
  --r-xl:28px;

  /* type families */
  --f-brand:'Orbitron',sans-serif;
  --f-serif:'Newsreader',Georgia,serif;
  --f-sans:'Plus Jakarta Sans',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',monospace;

  /* logo color hooks (overridable per-context) */
  --lk-accent:var(--blue);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  font-family:var(--f-sans);
  background:var(--ink-900);
  color:var(--slate-300);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}

/* page atmosphere — subtle teal glow like the product */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(900px 600px at 78% -5%, rgba(0,97,224,0.16), transparent 60%),
    radial-gradient(1000px 700px at 8% 4%, rgba(47,212,160,0.07), transparent 55%);
}

/* ---------- layout shell ---------- */
.shell{position:relative;z-index:1;display:grid;grid-template-columns:248px 1fr}
.sidebar{
  position:sticky;top:0;align-self:start;height:100vh;
  border-right:1px solid var(--line);
  padding:34px 26px;display:flex;flex-direction:column;gap:30px;
  background:linear-gradient(180deg,var(--ink-850),var(--ink-900));
}
.side-logo{height:22px;width:auto;display:block}
.side-logo .lk-ink{fill:var(--cloud)}
.nav{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.nav a{
  display:flex;align-items:center;gap:12px;
  font-size:13px;letter-spacing:0.01em;color:var(--slate-400);
  text-decoration:none;padding:8px 10px;border-radius:8px;
  transition:color .18s,background .18s;
}
.nav a:hover{color:var(--cloud);background:var(--ink-750)}
.nav a .n{font-family:var(--f-mono);font-size:11px;color:var(--slate-500);width:18px}
.side-foot{margin-top:auto;font-family:var(--f-mono);font-size:11px;color:var(--slate-500);line-height:1.7}

.main{min-width:0}
.wrap{max-width:1080px;margin:0 auto;padding:0 56px}

/* ---------- section primitives ---------- */
section{padding:104px 0;border-top:1px solid var(--line-soft)}
section:first-of-type{border-top:none}
.eyebrow{
  font-family:var(--f-mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--amber);display:flex;align-items:center;gap:12px;margin-bottom:22px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--amber);opacity:.6}
h2.sec{font-family:var(--f-serif);font-weight:400;font-size:clamp(34px,4.4vw,56px);line-height:1.04;color:var(--cloud);letter-spacing:-0.01em}
h2.sec em{font-style:italic;color:var(--amber)}
.lede{font-size:18px;color:var(--slate-400);max-width:60ch;margin-top:22px;line-height:1.65}
h3.sub{font-family:var(--f-mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--slate-400);margin-bottom:20px}

.grid{display:grid;gap:22px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}

/* ---------- generic card ---------- */
.card{
  background:linear-gradient(180deg,var(--ink-800),var(--ink-850));
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px;position:relative;overflow:hidden;
}
.card.tight{padding:20px}
.label{font-family:var(--f-mono);font-size:11px;letter-spacing:0.1em;color:var(--slate-500);text-transform:uppercase}

/* =========================================================
   COVER
   ========================================================= */
.cover{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:80px 0;position:relative}
.cover-mark{height:54px;width:auto;display:block;margin-bottom:46px}
.cover-mark .lk-ink{fill:var(--cloud)}
.cover h1{font-family:var(--f-serif);font-weight:400;font-size:clamp(48px,8vw,104px);line-height:0.98;color:var(--cloud);letter-spacing:-0.02em;max-width:16ch}
.cover h1 em{font-style:italic;color:var(--amber)}
.cover .meta{display:flex;gap:48px;margin-top:54px;flex-wrap:wrap}
.cover .meta div{font-family:var(--f-mono);font-size:12px;color:var(--slate-400);line-height:1.8}
.cover .meta b{display:block;color:var(--cloud);font-weight:500;letter-spacing:0.04em;text-transform:uppercase;font-size:11px;margin-bottom:4px}
.cover-grid{
  position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent 80%);
          mask-image:radial-gradient(80% 70% at 70% 30%,#000,transparent 80%);
}

/* =========================================================
   ESSENCE / principles
   ========================================================= */
.principle{padding:26px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-850)}
.principle .pn{font-family:var(--f-mono);font-size:12px;color:var(--blue-bright)}
.principle h4{font-family:var(--f-serif);font-size:24px;font-weight:500;color:var(--cloud);margin:14px 0 8px;letter-spacing:-0.01em}
.principle p{font-size:14.5px;color:var(--slate-400)}
.voice-table{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.voice-table>div{padding:18px 22px;border-bottom:1px solid var(--line-soft)}
.voice-table .is{color:var(--emerald);border-right:1px solid var(--line-soft)}
.voice-table .isnt{color:var(--slate-500)}
.voice-table .hd{font-family:var(--f-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;background:var(--ink-800)}
.voice-table .hd.is{color:var(--emerald)}
.voice-table .hd.isnt{color:var(--slate-500)}
.voice-table>div:nth-last-child(-n+2){border-bottom:none}

/* =========================================================
   LOGO
   ========================================================= */
.logo-hero{
  display:flex;align-items:center;justify-content:center;
  min-height:300px;border:1px solid var(--line);border-radius:var(--r-xl);
  background:radial-gradient(120% 140% at 78% 0%, rgba(0,97,224,0.14), transparent 55%),var(--ink-850);
  position:relative;overflow:hidden;
}
.logo-hero .lk-ink{fill:var(--cloud)}
.logo-hero svg{height:64px;width:auto}
.logo-hero .micro-grid{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:34px 34px}

.swatch-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.logo-tile{height:170px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-lg);border:1px solid var(--line);position:relative;overflow:hidden}
.logo-tile svg{height:34px;width:auto;z-index:1}
.logo-tile.on-dark{background:var(--ink-850)}
.logo-tile.on-dark .lk-ink{fill:var(--cloud)}
.logo-tile.on-blue{background:var(--blue)}
.logo-tile.on-blue .lk-ink{fill:#fff}
.logo-tile.on-blue{--lk-accent:#0A1117}
.logo-tile.on-light{background:#EDF1F5}
.logo-tile.on-light .lk-ink{fill:#0A1117}
.logo-tile .cap{position:absolute;bottom:12px;left:14px;font-family:var(--f-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase}
.logo-tile.on-dark .cap,.logo-tile.on-blue .cap{color:rgba(255,255,255,0.45)}
.logo-tile.on-light .cap{color:rgba(10,17,23,0.45)}

.mono-tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--ink-850)}
.mono-tile svg{height:40px}
.mono-tile .lk-ink{fill:var(--cloud)}

/* clear-space diagram */
.clearspace{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-850);padding:54px;display:flex;align-items:center;justify-content:center}
.clearspace .frame{position:relative;padding:38px}
.clearspace .frame::before{content:"";position:absolute;inset:0;border:1px dashed var(--line-strong)}
.clearspace svg{height:40px;width:auto;display:block}
.clearspace .lk-ink{fill:var(--cloud)}
.clearspace .x{position:absolute;font-family:var(--f-mono);font-size:11px;color:var(--blue-bright)}
.cs-top{top:-22px;left:50%;transform:translateX(-50%)}
.cs-left{left:-12px;top:50%;transform:translateY(-50%)}

/* misuse */
.misuse{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dont{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--ink-850)}
.dont .frame{height:120px;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--line-soft)}
.dont .frame svg{height:24px;width:auto}
.dont .frame .lk-ink{fill:var(--cloud)}
.dont .x-mark{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:rgba(255,90,90,0.16);color:#FF7A7A;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.dont p{font-size:13px;color:var(--slate-400);padding:13px 16px}
/* misuse demos */
.m-stretch svg{transform:scaleX(1.7)}
.m-rotate svg{transform:rotate(-11deg)}
.m-recolor .lk-ink{fill:#FF5AA0 !important}
.m-recolor{--lk-accent:#2FD4A0}
.m-shadow svg{filter:drop-shadow(0 4px 10px rgba(0,97,224,0.9))}
.m-crowd .frame{gap:6px}
.m-crowd .frame .blk{width:30px;height:30px;border:1px solid var(--line-strong);border-radius:4px}
.m-outline .lk-ink{fill:none !important;stroke:var(--cloud);stroke-width:1.2px}

/* =========================================================
   COLOR
   ========================================================= */
.palette{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.chip{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--ink-850)}
.chip .well{height:118px;position:relative}
.chip .info{padding:14px 16px}
.chip .nm{font-size:14px;color:var(--cloud);font-weight:600;letter-spacing:0.01em}
.chip .hex{font-family:var(--f-mono);font-size:12px;color:var(--slate-400);margin-top:5px}
.chip .ok{font-family:var(--f-mono);font-size:10.5px;color:var(--slate-500);margin-top:2px}
.chip .role{font-size:12px;color:var(--slate-400);margin-top:8px}
.chip .tag{position:absolute;top:10px;left:12px;font-family:var(--f-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.55)}
.chip.lighttext .tag{color:rgba(10,17,23,0.5)}

.neutral-row{display:flex;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
.neutral-row div{flex:1;height:74px;display:flex;align-items:flex-end;padding:8px;font-family:var(--f-mono);font-size:10px}

.usage-bar{display:flex;height:46px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.usage-bar span{display:flex;align-items:center;padding:0 14px;font-family:var(--f-mono);font-size:11px;color:rgba(255,255,255,0.8)}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */
.type-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-850);overflow:hidden}
.type-card .specimen{padding:34px 30px;border-bottom:1px solid var(--line-soft);color:var(--cloud)}
.type-card .meta{padding:18px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.type-card .meta .fam{font-size:15px;color:var(--cloud);font-weight:600}
.type-card .meta .use{font-family:var(--f-mono);font-size:11px;color:var(--slate-400)}
.type-card .meta .wts{font-family:var(--f-mono);font-size:11px;color:var(--slate-500)}
.sp-brand{font-family:var(--f-brand);font-weight:900;font-size:42px;letter-spacing:0.02em;line-height:1}
.sp-serif{font-family:var(--f-serif);font-weight:400;font-size:44px;line-height:1.05;letter-spacing:-0.01em}
.sp-serif em{font-style:italic;color:var(--amber)}
.sp-sans{font-family:var(--f-sans);font-weight:400;font-size:25px;line-height:1.4}
.sp-mono{font-family:var(--f-mono);font-weight:400;font-size:24px;color:var(--emerald)}
.glyphs{font-family:inherit;font-size:13px;color:var(--slate-500);letter-spacing:0.06em;margin-top:14px}

.scale-row{display:flex;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.scale-row:last-child{border-bottom:none}
.scale-row .tk{font-family:var(--f-mono);font-size:11px;color:var(--slate-500);width:130px;flex-shrink:0}
.scale-row .ex{color:var(--cloud);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* =========================================================
   COMPONENTS  (mirrors product UI)
   ========================================================= */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-sans);font-weight:600;font-size:14px;border-radius:11px;padding:13px 22px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .2s,background .2s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--amber);color:#1A1300;box-shadow:0 8px 24px -10px rgba(245,179,1,0.7)}
.btn-primary:hover{background:var(--amber-soft)}
.btn-ghost{background:transparent;color:var(--cloud);border-color:var(--line-strong)}
.btn-ghost:hover{background:var(--ink-750)}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 8px 24px -10px rgba(0,97,224,0.8)}

.pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:12px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-strong);color:var(--slate-300);background:var(--ink-800)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);box-shadow:0 0 10px var(--emerald)}
.pill.new{color:var(--amber);border-color:rgba(245,179,1,0.4)}
.pill.new b{background:var(--amber);color:#1A1300;border-radius:5px;padding:2px 6px;font-size:10px;letter-spacing:0.06em}

.cmd{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:13px;padding:8px 13px;border-radius:9px;border:1px solid var(--line-strong);color:var(--slate-300);background:var(--ink-800)}
.cmd.amber{color:var(--amber);border-color:rgba(245,179,1,0.45);background:rgba(245,179,1,0.06)}
.kbd{font-family:var(--f-mono);font-size:11px;border:1px solid var(--line-strong);border-radius:6px;padding:3px 7px;color:var(--slate-400);background:var(--ink-800)}

.stat{padding:6px 0}
.stat .v{font-family:var(--f-serif);font-size:46px;color:var(--cloud);line-height:1;letter-spacing:-0.01em}
.stat .v.amber{color:var(--amber)}
.stat .k{font-size:13px;color:var(--slate-400);margin-top:10px}

/* product-style panel */
.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--ink-800);padding:22px;position:relative}
.panel .ph{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.panel .ph .ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(245,179,1,0.12);color:var(--amber)}
.panel .ph .t{font-size:15px;color:var(--cloud);font-weight:600;flex:1}
.panel .ph .n{font-family:var(--f-mono);font-size:11px;color:var(--slate-500)}
.dx{margin-bottom:14px}
.dx .top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:7px}
.dx .top .nm{color:var(--cloud)}
.dx .top .pc{font-family:var(--f-mono);color:var(--amber)}
.dx .top .pc.low{color:var(--emerald)}
.dx .track{height:5px;border-radius:3px;background:var(--ink-700);overflow:hidden}
.dx .track i{display:block;height:100%;border-radius:3px;background:var(--amber)}
.dx .track i.em{background:var(--emerald)}

.icontile{aspect-ratio:1;border-radius:var(--r-lg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--ink-850);position:relative;overflow:hidden}
.icontile .ic{width:34px;height:34px}
.icontile .nm{font-size:13px;color:var(--cloud);font-weight:600}
.icontile.t-emerald{background:radial-gradient(120% 120% at 50% 0%,rgba(47,212,160,0.12),transparent 60%),var(--ink-850)}
.icontile.t-emerald .ic{color:var(--emerald)}
.icontile.t-blue{background:radial-gradient(120% 120% at 50% 0%,rgba(59,140,255,0.14),transparent 60%),var(--ink-850)}
.icontile.t-blue .ic{color:var(--blue-bright)}
.icontile.t-amber{background:radial-gradient(120% 120% at 50% 0%,rgba(245,179,1,0.13),transparent 60%),var(--ink-850)}
.icontile.t-amber .ic{color:var(--amber)}
.icontile.t-violet{background:radial-gradient(120% 120% at 50% 0%,rgba(139,128,255,0.16),transparent 60%),var(--ink-850)}
.icontile.t-violet .ic{color:var(--violet)}
.icontile.t-rose{background:radial-gradient(120% 120% at 50% 0%,rgba(255,108,138,0.14),transparent 60%),var(--ink-850)}
.icontile.t-rose .ic{color:#FF6C8A}

/* =========================================================
   SUB-BRANDS
   ========================================================= */
.fam-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fam{border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:var(--ink-850);--fa:var(--blue)}
.fam.casus{--fa:var(--emerald)}
.fam.handoff{--fa:var(--violet)}
.fam .top{height:188px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:relative;background:radial-gradient(130% 130% at 50% 0%, color-mix(in oklab, var(--fa) 16%, transparent), transparent 60%),var(--ink-800)}
.fam .glyph{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,var(--fa) 40%,var(--line));background:color-mix(in oklab,var(--fa) 12%,var(--ink-850))}
.fam .glyph svg{width:30px;height:30px;color:var(--fa)}
.fam .lockup{display:flex;align-items:center;gap:11px}
.fam .lockup .av{height:17px;width:auto}
.fam .lockup .av .lk-ink{fill:var(--cloud)}
.fam .lockup .bar{width:1px;height:18px;background:var(--line-strong)}
.fam .lockup .nm{font-family:var(--f-brand);font-weight:700;font-size:17px;letter-spacing:0.04em;color:var(--fa)}
.fam .body{padding:24px}
.fam .body .role{font-family:var(--f-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--fa)}
.fam .body h4{font-family:var(--f-serif);font-size:23px;font-weight:500;color:var(--cloud);margin:10px 0;letter-spacing:-0.01em}
.fam .body p{font-size:14px;color:var(--slate-400)}
.fam .body .tl{margin-top:16px;font-size:13.5px;color:var(--slate-300);font-style:italic;font-family:var(--f-serif)}

.lockup-spec{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lockup-spec .box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-850);padding:22px;display:flex;flex-direction:column;gap:16px}
.lockup-spec .box .hd{font-family:var(--f-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate-500)}
.lockup-spec .demo{flex:1;display:flex;align-items:center;justify-content:center;min-height:78px}

/* full endorsed lockup */
.endorse{display:inline-flex;align-items:center;gap:14px}
.endorse .av{height:24px;width:auto}
.endorse .av .lk-ink{fill:var(--cloud)}
.endorse .bar{width:1px;height:26px;background:var(--line-strong)}
.endorse .nm{font-family:var(--f-brand);font-weight:700;font-size:24px;letter-spacing:0.04em}
.endorse.casus .nm{color:var(--emerald)}
.endorse.handoff .nm{color:var(--violet)}
.endorse.stacked{flex-direction:column;gap:8px;align-items:flex-start}
.endorse.stacked .by{font-family:var(--f-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--slate-500)}

/* footer */
.foot{padding:70px 0 90px;border-top:1px solid var(--line);text-align:center}
.foot svg{height:26px;width:auto;margin-bottom:18px}
.foot .lk-ink{fill:var(--cloud)}
.foot p{font-family:var(--f-mono);font-size:12px;color:var(--slate-500);line-height:1.9}

/* responsive */
@media(max-width:980px){
  .shell{grid-template-columns:1fr}
  .sidebar{display:none}
  .wrap{padding:0 28px}
  .cols-4,.palette,.misuse,.fam-row,.lockup-spec,.cols-3{grid-template-columns:1fr 1fr}
  .cols-2,.swatch-pair,.voice-table{grid-template-columns:1fr}
  .voice-table .is{border-right:none}
}
@media(max-width:560px){
  .cols-4,.palette,.misuse,.fam-row,.lockup-spec,.cols-3,.cols-2{grid-template-columns:1fr}
  .scale-row{flex-wrap:wrap;gap:6px}
}
