/* Nullus Metus editorial system. Shared palette with LexTokens / LexPalette. */
:root {
  --obsidian:#14181b; --midnight:#191e22; --navy:#20262b;
  --ivory:#f5f3ee; --paper:#f0eee8; --ink:#242c31;
  --muted:#596269; --muted-light:#b6c0c6;
  --gold:#d3bc8d; --gold-bright:#e1cda6; --gold-dark:#795c2b;
  --green:#8ed1b4; --line:#d8d5cd; --line-light:#3a454d;
  --radius-lg:12px; --radius-md:10px; --radius-sm:8px;
  --shadow:0 4px 16px #00000012;
  --sans:'Segoe UI',Roboto,Arial,sans-serif;
  --serif:Georgia,'Times New Roman',serif;
}
* { box-sizing:border-box; }
.site-page .showcase-tab strong { color:inherit; }
.site-page .text-link { font:500 15px/1.5 var(--sans); letter-spacing:0; text-transform:none; }
.site-page .hero-content::before,.site-page .hero-content::after { display:none; }
.site-page .showcase-section::before { display:none; }
[hidden] { display:none !important; }
html { scroll-behavior:auto; }
body.site-page { margin:0; background:var(--obsidian); color:var(--ivory); font:16px/1.6 var(--sans); }
.site-page .container { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.site-page :focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.site-page .noise,.site-page .scroll-progress,.site-page .hero-backdrop,.site-page .hero::after,
.site-page .security-aura { display:none; }
.site-page .reveal { opacity:1; transform:none; transition:none; }
.site-page .site-header { position:relative; padding:0; background:var(--obsidian); }
.site-page .header-inner,.site-page .site-header.scrolled .header-inner {
  height:88px; padding:0; border:0; border-bottom:1px solid var(--line-light);
  border-radius:0; background:var(--obsidian); box-shadow:none; backdrop-filter:none;
}
.site-page .brand { gap:14px; }
.site-page .brand-mark,.site-page .brand-mark-original { width:48px; height:48px; background:none; border:0; box-shadow:none; padding:0; }
.site-page .brand-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.site-page .brand-copy strong { font-size:15px; letter-spacing:.1em; }
.site-page .brand-copy small { display:none; }
.site-page .desktop-nav { gap:12px; }
.site-page .desktop-nav>a { color:var(--muted-light); font-size:15px; letter-spacing:0; font-weight:400; }
.site-page .desktop-nav>a:hover { transform:none; color:var(--ivory); background:var(--navy); }
.site-page .button,.site-page .download-button,.site-page .feedback-submit {
  min-height:48px; padding:12px 22px; border-radius:8px; font:600 15px/1.4 var(--sans);
  letter-spacing:0; text-transform:none; box-shadow:none; transform:none;
}
.site-page .button { background:transparent; color:var(--ivory); border:1px solid #78838b; }
.site-page .button-primary,.site-page .download-button,.site-page .feedback-submit {
  background:var(--gold); color:#1c211f; border:1px solid var(--gold);
}
.site-page .button::before,.site-page .button::after,.site-page .program-card::before { display:none; }
.site-page .button:hover,.site-page .download-button:hover { transform:none; box-shadow:none; border-color:var(--gold-bright); }
.site-page .button-primary:hover,.site-page .download-button:hover { background:var(--gold-bright); }
.site-page .text-link { font-size:15px; color:var(--ivory); letter-spacing:0; min-height:48px; }
.site-page .hero { min-height:0; padding:64px 0 72px; background:var(--obsidian); }
.site-page .hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:center; }
.site-page .hero-content { padding:0; }
.site-page .eyebrow { color:var(--muted-light); font-size:11px; line-height:1.5; letter-spacing:.12em; margin:0 0 20px; }
.site-page .hero h1 { font-family:var(--serif); font-size:clamp(40px,4.6vw,66px); line-height:1.08; letter-spacing:-.035em; margin:0; white-space:pre-line; }
.site-page .hero-lead { font-size:18px; line-height:1.65; color:var(--muted-light); margin:24px 0 0; max-width:520px; }
.site-page .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:28px; }
.site-page .brand-visual { position:relative; margin:0; border:0; border-radius:12px; overflow:hidden; box-shadow:none; }
.site-page .brand-visual img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.site-page .brand-visual figcaption { position:static; background:var(--navy); padding:14px 18px; display:flex; gap:12px; justify-content:space-between; align-items:center; }
.site-page .brand-visual figcaption span { font-size:11px; letter-spacing:.1em; color:var(--muted-light); }
.site-page .brand-visual figcaption strong { font:400 17px/1.4 var(--serif); color:var(--ivory); }
.site-page .section { padding:64px 0; }
.site-page .showcase-section { background:var(--ivory); color:var(--ink); border-top:1px solid var(--line); }
.site-page .section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:28px; }
.site-page .section h2,.site-page .contact-section h2 { font:400 clamp(30px,3vw,44px)/1.15 var(--serif); letter-spacing:-.025em; margin:0; }
.site-page .section-heading>p { max-width:400px; font-size:16px; line-height:1.6; color:var(--muted-light); }
.site-page .showcase-section .section-heading>p,.site-page .showcase-section .eyebrow { color:var(--muted); }
.site-page .showcase-section h2 { color:var(--ink); }
.site-page .showcase-premium-grid { display:flex; flex-direction:column-reverse; gap:20px; background:none; border:0; }
.site-page .product-preview-rail { display:flex; flex-direction:column; gap:12px; }
.site-page .product-preview-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.site-page .showcase-tab { min-height:52px; padding:12px; border:1px solid #99968e; border-radius:8px; background:transparent; color:var(--ink); text-align:left; }
.site-page .showcase-tab strong { font:600 14px/1.4 var(--sans); }
.site-page .showcase-tab small,.site-page .showcase-tab>span { display:none; }
.site-page .showcase-tab.is-active { background:#242c31; color:#fff; border-color:#242c31; }
.site-page .product-preview-rail>p { color:var(--muted); font-size:13px; margin:0; }
.site-page .showcase-viewer { border:1px solid var(--line); border-radius:10px; overflow:hidden; background:white; box-shadow:var(--shadow); }
.site-page .viewer-chrome { height:34px; padding:0 16px; background:#e7e4dd; color:var(--muted); }
.site-page .viewer-chrome>span { display:none; }
.site-page .showcase-screen { margin:0; }
.site-page .showcase-screen img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.site-page .showcase-screen figcaption { min-height:0; padding:18px 22px; display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; background:white; color:var(--ink); }
.site-page .showcase-screen figcaption strong { font:600 16px/1.4 var(--sans); }
.site-page .showcase-screen figcaption span { font-size:14px; color:var(--muted); }
.site-page .preview-fullsize { margin-left:auto; color:var(--gold-dark); font-size:14px; }
.site-page .mobile-preview-grid { display:flex; justify-content:center; gap:20px; padding:24px; background:var(--paper); overflow-x:auto; }
.site-page .mobile-preview-grid a { flex:0 0 26%; max-width:300px; }
.site-page .mobile-preview-grid img { width:100%; height:auto; }
.site-page .programs-section { background:var(--obsidian); }
.site-page .programs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.site-page .program-card,.site-page .program-card.featured { padding:28px; background:var(--navy); border:1px solid var(--line-light); border-radius:10px; box-shadow:none; transform:none; }
.site-page .program-card h3 { font:400 32px/1.2 var(--serif); color:var(--ivory); }
.site-page .program-card p { color:var(--muted-light); }
.site-page .program-code { background:var(--midnight); border:1px solid var(--line-light); border-radius:8px; box-shadow:none; color:var(--gold); }
.site-page .program-meta,.site-page .program-platform { color:var(--muted-light); }
.site-page .program-card .download-button { width:100%; display:flex; justify-content:space-between; }
.site-page .release-details { margin-top:18px; color:var(--muted-light); font-size:13px; }
.site-page .release-details summary { cursor:pointer; padding-block:10px; }
.site-page .release-details code { display:block; padding:12px; overflow-wrap:anywhere; font-size:12px; background:var(--midnight); border-radius:6px; }
.site-page .platform-note,.site-page .download-trust { margin-top:20px; color:var(--muted-light); font-size:14px; }
.site-page .download-trust { display:flex; gap:12px; align-items:center; }
.site-page .download-trust small { display:block; }
.site-page .compact-row { padding:0 0 12px; background:var(--obsidian); }
.site-page .compact-disclosure { border:1px solid var(--line-light); border-radius:8px; background:var(--navy); color:var(--ivory); }
.site-page .compact-disclosure>summary { display:flex; align-items:center; gap:24px; min-height:64px; padding:16px 24px; cursor:pointer; }
.site-page .disclosure-caption { margin-left:auto; color:var(--muted-light); font-size:14px; }
.site-page .disclosure-plus { color:var(--gold); }
.site-page .disclosure-body { padding:24px; background:var(--ivory); color:var(--ink); }
.site-page .disclosure-body .container { width:100%; }
.site-page .disclosure-body p,.site-page .disclosure-body .section-heading>p { color:var(--muted); }
.site-page .disclosure-body h2,.site-page .disclosure-body h3 { color:var(--ink); }
.site-page .contact-section { padding:64px 0; background:var(--obsidian); }
.site-page .feedback-card,.site-page .owner-dialog { background:var(--navy); border:1px solid var(--line-light); border-radius:10px; box-shadow:none; }
.site-page input:not([type=checkbox]),.site-page select,.site-page textarea { font:16px/1.5 var(--sans); border-radius:8px; border:1px solid #78838b; color:var(--ivory); background:var(--midnight); }
.site-page .feedback-card input:not([type=checkbox]),.site-page .feedback-card select,.site-page .feedback-card textarea { border-radius:8px; }
.site-page .site-footer { background:var(--midnight); border-top:1px solid var(--line-light); color:var(--muted-light); }
.site-page .mobile-nav { background:var(--navy); border-radius:8px; box-shadow:var(--shadow); }
.site-page .mobile-nav a { min-height:48px; }
@media(max-width:1000px) {
 .site-page .container { width:calc(100% - 40px); }
 .site-page .hero-grid { gap:28px; grid-template-columns:1fr 1fr; }
 .site-page .hero h1 { font-size:44px; }
 .site-page .desktop-nav { display:none; }
 .site-page .menu-button { display:flex; }
 .site-page .mobile-nav { top:80px; }
}
@media(max-width:680px) {
 .site-page .container { width:calc(100% - 32px); }
 .site-page .header-inner { height:76px; }
 .site-page .brand-copy strong { font-size:12px; letter-spacing:.06em; }
 .site-page .brand-mark { width:38px; height:38px; }
 .site-page .header-actions>.button { display:none; }
 .site-page .hero { padding:32px 0 40px; }
 .site-page .hero-grid { grid-template-columns:1fr; gap:28px; }
 .site-page .hero h1 { font-size:42px; }
 .site-page .hero-lead { font-size:16px; margin-top:20px; }
 .site-page .hero-actions { margin-top:22px; gap:12px; }
 .site-page .hero-actions .button { padding-inline:18px; }
 .site-page .brand-visual figcaption { padding:12px; }
 .site-page .brand-visual figcaption strong { font-size:16px; }
 .site-page .section,.site-page .contact-section { padding:40px 0; }
 .site-page .section-heading { display:block; margin-bottom:22px; }
 .site-page .section-heading>p { margin-top:14px; }
 .site-page .product-preview-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-page .showcase-tab { font-size:13px; }
 .site-page .showcase-screen figcaption { padding:14px; }
 .site-page .preview-fullsize { margin-left:0; }
 .site-page .mobile-preview-grid { justify-content:flex-start; padding:16px; scroll-snap-type:x proximity; }
 .site-page .mobile-preview-grid a { flex:0 0 74%; scroll-snap-align:center; }
 .site-page .programs-grid { grid-template-columns:1fr; gap:16px; }
 .site-page .program-card,.site-page .program-card.featured { padding:22px; }
 .site-page .compact-disclosure>summary { padding:16px; gap:12px; }
 .site-page .disclosure-caption { display:none; }
 .site-page .disclosure-plus { margin-left:auto; }
 .site-page .disclosure-body { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Static Themis; only the panel background is translucent. */
body.site-page::before {
  content:""; position:fixed; inset:90px 0 0; pointer-events:none; z-index:0;
  background:url('/media/themis-silhouette-v1.webp') calc(50% - 230px) bottom / auto 92% no-repeat;
  opacity:.16;
}
.site-page main,.site-page footer,.site-page .site-header { position:relative; z-index:1; }
.site-page .hero,.site-page .programs-section,.site-page .contact-section,.site-page .compact-row { background:transparent; }
.site-page .hero-content { background:transparent; }
.site-page .program-card { background:rgba(32,38,43,.88); border-top-color:#ffffff28; }
.site-page .header-inner { background:rgba(20,24,27,.55); }
@supports(backdrop-filter:blur(12px)) {
 .site-page .program-card,.site-page .header-inner { backdrop-filter:blur(12px); }
}
@media(max-width:680px) { body.site-page::before { opacity:.14; background-size:auto 76%; background-position:right bottom; } }

.site-page .developer-credit { width:min(1280px,calc(100% - 32px)); margin:16px auto 0; color:var(--muted-light); font:14px/1.7 var(--sans); text-align:center; }
.site-page #logo-open { cursor:zoom-in; flex:none; }
.site-page .brand-copy { text-decoration:none; color:inherit; }
.logo-view { width:min(86vw,720px); max-height:90vh; margin:auto; padding:48px 20px 20px; border:1px solid #78838b; border-radius:12px; background:#14181b; color:#f5f3ee; overflow:auto; }
.logo-view::backdrop { background:rgba(5,8,10,.88); }
.logo-view img { display:block; width:100%; height:auto; max-height:72vh; object-fit:contain; }
.logo-close { position:absolute; right:8px; top:8px; width:44px; height:44px; border:1px solid #78838b; border-radius:8px; background:#20262b; color:#f5f3ee; cursor:pointer; font:28px/1 sans-serif; }
.site-page:has(.logo-view[open]) { overflow:hidden; }

.site-page .trial-note { margin:16px 0 0; font-size:14px; line-height:1.65; color:var(--muted-light); }
.site-page .trial-note strong { display:block; color:var(--ivory); margin-bottom:4px; }

.site-page .site-counter { margin:20px 20px 6px; text-align:center; color:#a3adb5; font-size:12px; line-height:1.8; }


/* Owner counter: deliberately subdued, outside the reading flow. */
.site-page .site-counter { margin: 8px 20px 6px; text-align: right; color: #30373c; font-size: 10px; line-height: 1.4; }
