

:root {
  
  --blue-50:#EAF3FB; --blue-100:#D2E5F5; --blue-200:#A6CCEC; --blue-300:#6FACDE;
  --blue-400:#338ACE; --blue-500:#0070C0; --blue-600:#015FA3; --blue-700:#00457A;
  --blue-800:#073355; --blue-900:#0E2336;

  
  --green-50:#E6F6EC; --green-100:#C5EAD2; --green-200:#94D6AC; --green-300:#54BD7E;
  --green-400:#1FAA5E; --green-500:#00A04A; --green-600:#0B8A45; --green-700:#0A6E38;
  --green-800:#0A552C; --green-900:#093F22;

  
  --amber-50:#FCF3DF; --amber-100:#F7E2B0; --amber-200:#F0CB72; --amber-300:#E8B53A;
  --amber-400:#E8A300; --amber-500:#D29400; --amber-600:#B97F00; --amber-700:#8A5E00;
  --amber-800:#664500; --amber-900:#4A3300;

  
  --red-50:#FBEAE9; --red-100:#F3C9C6; --red-200:#E6938C; --red-300:#D56A61;
  --red-400:#C0473F; --red-500:#A3322B; --red-600:#8A2823; --red-700:#6E201C;
  --red-800:#551815; --red-900:#3F110F;

  
  --indigo-50:#EEEDFE; --indigo-100:#DAD7FA; --indigo-200:#B7B1F0; --indigo-300:#8E84E0;
  --indigo-400:#6A5FCB; --indigo-500:#534AB7; --indigo-600:#3C3489; --indigo-700:#2E2769;
  --indigo-800:#221C4E; --indigo-900:#181436;

  
  --orange-50:#FCEEE4; --orange-100:#F9D9C2; --orange-200:#F3B78C; --orange-300:#F0A56E;
  --orange-400:#E87830; --orange-500:#D46420; --orange-600:#B5511A; --orange-700:#8A3E14;
  --orange-800:#66300F; --orange-900:#4A230B;

  
  --logo-blue:#0070C0; --logo-green:#00B050; --logo-gold:#F8C000; --logo-orange:#E87830;

  
  --neutral-0:#FFFFFF; --neutral-50:#F4F7FA; --neutral-100:#E9EEF4; --neutral-200:#DCE3EB;
  --neutral-300:#C3CDD8; --neutral-400:#9AA7B5; --neutral-500:#6B7886; --neutral-600:#51606F;
  --neutral-700:#3A4754; --neutral-800:#1C2A38; --neutral-900:#0E2336; --neutral-950:#0B1620;
}

:root,
[data-theme="light"] {
  color-scheme: light;

  
  --bg:               var(--neutral-0);
  --bg-subtle:        var(--neutral-50);
  --bg-muted:         var(--neutral-100);
  --surface:          var(--neutral-0);
  --surface-raised:   var(--neutral-0);
  --scrim:            rgba(14,35,54,.55);   

  
  --text:             var(--neutral-900);   
  --text-secondary:   var(--neutral-600);   
  --text-muted:       var(--neutral-500);   
  --text-on-accent:   #FFFFFF;              

  
  --border:           var(--neutral-200);
  --border-strong:    var(--neutral-300);

  
  --accent:           var(--blue-500);
  --accent-hover:     var(--blue-600);
  --accent-active:    var(--blue-700);
  --accent-subtle:    var(--blue-50);       
  --accent-panel:     var(--accent-subtle); 
  --accent-text:      var(--blue-700);      

  
  --success:var(--green-500); --success-text:var(--green-700); --success-subtle:var(--green-50);
  --warning:var(--amber-400); --warning-text:var(--amber-700); --warning-subtle:var(--amber-50);
  --danger: var(--red-400);   --danger-text: var(--red-600);   --danger-subtle: var(--red-50);
  --info:   var(--blue-500);  --info-text:   var(--blue-700);  --info-subtle:   var(--blue-50);

  
  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);

  
  --shadow-1: 0 1px 2px rgba(14,35,54,.06), 0 1px 1px rgba(14,35,54,.04);
  --shadow-2: 0 2px 8px rgba(14,35,54,.08), 0 1px 2px rgba(14,35,54,.05);
  --shadow-3: 0 12px 28px rgba(14,35,54,.12), 0 4px 8px rgba(14,35,54,.06);
}

[data-theme="dark"] {
  color-scheme: dark;

  --bg:               var(--neutral-950);   
  --bg-subtle:        #0F1E2B;
  --bg-muted:         #14273A;
  --surface:          #122131;
  --surface-raised:   #18293B;              
  --scrim:            rgba(0,0,0,.62);       

  --text:             #E7EDF3;              
  --text-secondary:   #AEBCC9;              
  --text-muted:       #8597A6;
  --text-on-accent:   #FFFFFF;

  --border:           #2A3B4D;
  --border-strong:    #3A4D60;

  --accent:           var(--blue-500);      
  --accent-hover:     #1E84CF;
  --accent-active:    var(--blue-400);
  --accent-subtle:    rgba(59,154,224,.16);
  --accent-panel:     var(--surface-raised); 
  --accent-text:      #7CC0EE;              

  --success:#2BB266; --success-text:#5FCB86; --success-subtle:rgba(43,178,102,.16);
  --warning:#E8A300; --warning-text:#F0B43A; --warning-subtle:rgba(232,163,0,.16);
  --danger: #D56A61; --danger-text: #F0A39C; --danger-subtle: rgba(213,106,97,.16);
  --info:   var(--blue-400); --info-text:#7CC0EE; --info-subtle:rgba(59,154,224,.16);

  --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent-active) 55%, transparent);

  
  --shadow-1: 0 1px 2px rgba(0,0,0,.40);
  --shadow-2: 0 2px 10px rgba(0,0,0,.45);
  --shadow-3: 0 14px 34px rgba(0,0,0,.55);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --bg:var(--neutral-950); --bg-subtle:#0F1E2B; --bg-muted:#14273A;
    --surface:#122131; --surface-raised:#18293B;
    --text:#E7EDF3; --text-secondary:#AEBCC9; --text-muted:#8597A6; --text-on-accent:#FFFFFF;
    --border:#2A3B4D; --border-strong:#3A4D60;
    --accent:var(--blue-500); --accent-hover:#1E84CF; --accent-active:var(--blue-400);
    --accent-subtle:rgba(59,154,224,.16); --accent-panel:var(--surface-raised); --accent-text:#7CC0EE;
    --success:#2BB266; --success-text:#5FCB86; --success-subtle:rgba(43,178,102,.16);
    --warning:#E8A300; --warning-text:#F0B43A; --warning-subtle:rgba(232,163,0,.16);
    --danger:#D56A61; --danger-text:#F0A39C; --danger-subtle:rgba(213,106,97,.16);
    --info:var(--blue-400); --info-text:#7CC0EE; --info-subtle:rgba(59,154,224,.16);
    --shadow-1:0 1px 2px rgba(0,0,0,.40); --shadow-2:0 2px 10px rgba(0,0,0,.45); --shadow-3:0 14px 34px rgba(0,0,0,.55);
  }
}

.theme-novus    { --accent:var(--blue-500);   --accent-hover:var(--blue-600);   --accent-active:var(--blue-700);   --accent-subtle:var(--blue-50);   --accent-text:var(--blue-700); }
.theme-novapay  { --accent:var(--blue-500);   --accent-hover:var(--blue-600);   --accent-active:var(--blue-700);   --accent-subtle:var(--blue-50);   --accent-text:var(--blue-700); }
.theme-novabank { --accent:var(--green-500);  --accent-hover:var(--green-600);  --accent-active:var(--green-700);  --accent-subtle:var(--green-50);  --accent-text:var(--green-700); }
.theme-novastore{ --accent:var(--amber-400);  --accent-hover:var(--amber-600);  --accent-active:var(--amber-700);  --accent-subtle:var(--amber-50);  --accent-text:var(--amber-700); }
.theme-novatrust{ --accent:var(--blue-800);   --accent-hover:var(--blue-700);   --accent-active:var(--blue-900);   --accent-subtle:var(--blue-50);   --accent-text:var(--blue-800); }
.theme-novaai   { --accent:var(--indigo-500); --accent-hover:var(--indigo-600); --accent-active:var(--indigo-700); --accent-subtle:var(--indigo-50); --accent-text:var(--indigo-600); }
.theme-novaboost{ --accent:var(--orange-400); --accent-hover:var(--orange-500); --accent-active:var(--orange-600); --accent-subtle:var(--orange-50); --accent-text:var(--orange-700); }

[data-theme="dark"] .theme-novus,[data-theme="dark"] .theme-novapay{--accent-text:var(--blue-300);--accent-subtle:rgba(59,154,224,.16);}
[data-theme="dark"] .theme-novabank{--accent-text:var(--green-300);--accent-subtle:rgba(43,178,102,.16);}
[data-theme="dark"] .theme-novastore{--accent-text:var(--amber-300);--accent-subtle:rgba(232,163,0,.16);}
[data-theme="dark"] .theme-novatrust{--accent-text:var(--blue-300);--accent-subtle:rgba(59,154,224,.16);}
[data-theme="dark"] .theme-novaai{--accent-text:var(--indigo-300);--accent-subtle:rgba(83,74,183,.22);}
[data-theme="dark"] .theme-novaboost{--accent-text:var(--orange-300);--accent-subtle:rgba(232,120,48,.16);}

.vlogo{display:flex;align-items:center;gap:.5rem;}
.vlogo .vmark{height:1.7rem;width:1.7rem;flex:0 0 auto;fill:none;stroke:var(--accent-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}
.wm{font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:1;}
.wm .nm{color:var(--blue-400);} .wm .sf{color:var(--accent-text);}

:root{ --lockup-icon-dy: 0.2388em; }   

.vlogo.tool .vmark{stroke:var(--accent-text);}

.theme-novaboost .vlogo .vmark{stroke:var(--accent);}
.theme-novaboost .wm .sf{color:var(--accent);}

[data-theme="dark"] .wm .nm{color:var(--blue-200);}
[data-theme="dark"] .wm .sf{color:var(--blue-300);}
[data-theme="dark"] .vlogo .vmark{stroke:var(--blue-300);}

:root{
  
  --logo-master-colour: url("logos/Novus_Logo_Colour_transparent.6df6ace6.png");
  --logo-master-blue:   url("logos/Novus_Logo_Blue_transparent.png");
  --logo-master-green:  url("logos/Novus_Logo_Green_transparent.png");
  --logo-master-grey:   url("logos/Novus_Logo_Grey_transparent.png");
  --logo-master-black:  url("logos/Novus_Logo_Black_transparent.png");
  --logo-master-white:  url("logos/Novus_Logo_White_transparent.872d7d29.png");
  
  --logo-wordmark-colour: url("logos/Novus_Logo_Colour_wordmark_transparent.png");
  --logo-wordmark-blue:   url("logos/Novus_Logo_Blue_wordmark_transparent.png");
  --logo-wordmark-green:  url("logos/Novus_Logo_Green_wordmark_transparent.png");
  --logo-wordmark-grey:   url("logos/Novus_Logo_Grey_wordmark_transparent.png");
  --logo-wordmark-black:  url("logos/Novus_Logo_Black_wordmark_transparent.png");
  --logo-wordmark-white:  url("logos/Novus_Logo_White_wordmark_transparent.png");
  
  --logo-product-novapay:   url("logos/icons/novapay.svg");
  --logo-product-novabank:  url("logos/icons/novabank.svg");
  --logo-product-novastore: url("logos/icons/novastore.svg");
  --logo-product-novatrust: url("logos/icons/novatrust.svg");
  --logo-product-novaboost: url("logos/icons/novaboost.svg");
  --logo-platform-novahub:  url("logos/icons/novahub.svg");
  --logo-platform-novaware: url("logos/icons/novaware.svg");
  --logo-platform-novaserve:url("logos/icons/novaserve.svg");
  --logo-platform-novaai:   url("logos/icons/novaai.svg");
  --logo-tool-novaplan:     url("logos/icons/novaplan.svg");

  
  --logo-product-novapay-png:   url("logos/icons/png/novapay.png");
  --logo-product-novastore-png: url("logos/icons/png/novastore.png");
  --logo-product-novabank-png:  url("logos/icons/png/novabank.png");
  --logo-product-novatrust-png: url("logos/icons/png/novatrust.png");
  
  --logo-product-novaboost-png: url("logos/icons/png/novaboost.png");
  --logo-platform-novaai-png:   url("logos/icons/png/novaai.png");
  --logo-platform-novahub-png:  url("logos/icons/png/novahub.png");
  --logo-platform-novaware-png: url("logos/icons/png/novaware.png");
  --logo-platform-novaserve-png:url("logos/icons/png/novaserve.png");
  --logo-tool-novaplan-png:     url("logos/icons/png/novaplan.png");

  
  --logo-lockup-novapay:   url("logos/lockups/novapay.png");
  --logo-lockup-novabank:  url("logos/lockups/novabank.png");
  --logo-lockup-novastore: url("logos/lockups/novastore.png");
  --logo-lockup-novatrust: url("logos/lockups/novatrust.png");
  
  --logo-lockup-novaboost: url("logos/lockups/novaboost.png");
  --logo-lockup-novaai:    url("logos/lockups/novaai.png");
  --logo-lockup-novahub:   url("logos/lockups/novahub.png");
  --logo-lockup-novaware:  url("logos/lockups/novaware.png");
  --logo-lockup-novaserve: url("logos/lockups/novaserve.png");
  --logo-lockup-novaplan:  url("logos/lockups/novaplan.png");

  
  --asset-title-bg: url("logos/title_bg_white.png");

  
  --asset-pptx-template: url("slide-template/pptx/Novus_Template.potx");
  --asset-pptx-lockups:  url("slide-template/pptx/Novus_Brand_Lockups.pptx");
}

:root{ --logo-height:26px; }

.brandlogo--light,.brandlogo--dark{height:var(--logo-height);width:auto;}
.brandlogo--light{display:block;} .brandlogo--dark{display:none;}
[data-theme="dark"] .brandlogo--light{display:none;} [data-theme="dark"] .brandlogo--dark{display:block;}
[data-theme="light"] .brandlogo--light{display:block;} [data-theme="light"] .brandlogo--dark{display:none;}
@media (prefers-color-scheme: dark){ :root:not([data-theme]) .brandlogo--light{display:none;} :root:not([data-theme]) .brandlogo--dark{display:block;} }

.appbar,.appnav{background:var(--surface);border-bottom:1px solid var(--border);}
.appbar__inner{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;}
.appnav__inner{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);display:flex;gap:var(--space-1);overflow-x:auto;}
.appmain{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.appbar--pad,.appnav--pad{padding-inline:max(var(--gutter),calc((100% - var(--container))/2 + var(--gutter)));}

.appheader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);}
.appheader__left,.appheader__right{display:flex;align-items:center;gap:var(--space-3);}
.appheader__endorse{display:flex;align-items:center;padding-left:2px;}
.appheader__sep{width:1px;height:24px;background:var(--border);flex:0 0 auto;}
@media(max-width:520px){
  .appheader__sep{display:none;}
  .appheader__right{gap:var(--space-2);}
  .appheader__endorse img{height:20px;}
}

.brandlock{display:flex;align-items:center;gap:var(--space-3);}
.brandlock .appname{font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:1;}

@font-face{font-family:"Carlito";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/carlito-latin-400-normal.a29c4a4e.woff2") format("woff2");}
@font-face{font-family:"Carlito";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/carlito-latin-700-normal.af249cfe.woff2") format("woff2");}
:root {
  --font-sans: Carlito, Calibri, -apple-system, "Segoe UI", system-ui, Arial, sans-serif;
  --font-serif: Cambria, "Source Serif 4", Georgia, serif;   
  --font-mono: Consolas, "Cascadia Mono", ui-monospace, Menlo, monospace; 

  
  --text-xs:   .75rem;   --lh-xs:1rem;
  --text-sm:   .875rem;  --lh-sm:1.25rem;
  --text-base: 1rem;     --lh-base:1.5rem;
  --text-md:   1.125rem; --lh-md:1.75rem;
  --text-lg:   1.25rem;  --lh-lg:1.75rem;
  --text-xl:   1.5rem;   --lh-xl:2rem;
  --text-2xl:  1.875rem; --lh-2xl:2.25rem;
  --text-3xl:  2.25rem;  --lh-3xl:2.5rem;
  --text-4xl:  3rem;     --lh-4xl:3.25rem;
  --text-display: 3.75rem; --lh-display:3.9rem;

  
  --weight-regular:400; --weight-medium:600; --weight-bold:700;
  --tracking-tight:-0.01em; --tracking-normal:0; --tracking-wide:0.02em;
}

:root {
  --space-0:0; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4rem; --space-9:6rem;

  --radius-sm:6px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px;

  --opacity-disabled:.45; --opacity-muted:.7;

  --ease-out:cubic-bezier(.2,.6,.2,1); --ease-in-out:cubic-bezier(.4,0,.2,1);
  --dur-fast:120ms; --dur:180ms; --dur-slow:260ms;

  --container:1200px; --container-narrow:760px; --gutter:1.5rem; --grid-cols:12;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast:0ms; --dur:0ms; --dur-slow:0ms; }
  * { animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-sans); font-size:var(--text-base); line-height:var(--lh-base);
  font-weight:var(--weight-regular);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,h4 { font-weight:var(--weight-bold); color:var(--text); letter-spacing:var(--tracking-tight); margin:0 0 var(--space-3); }
h1 { font-size:var(--text-4xl); line-height:var(--lh-4xl); }
h2 { font-size:var(--text-2xl); line-height:var(--lh-2xl); }
h3 { font-size:var(--text-xl);  line-height:var(--lh-xl); }
h4 { font-size:var(--text-lg);  line-height:var(--lh-lg); }
p  { margin:0 0 var(--space-4); max-width:68ch; }
a  { color:var(--accent-text); text-underline-offset:2px; }
a:hover { text-decoration:underline; }
small { font-size:var(--text-sm); color:var(--text-secondary); }
code,kbd,samp { font-family:var(--font-mono); font-size:.9em; }
hr { border:0; border-top:1px solid var(--border); margin:var(--space-6) 0; }

:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:2px solid transparent; box-shadow:var(--focus-ring); border-radius:var(--radius-sm);
}

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  font:inherit; font-weight:var(--weight-medium); line-height:1; white-space:nowrap;
  padding:.625rem 1.1rem; border-radius:var(--radius-md); border:1px solid transparent;
  cursor:pointer; transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
  text-decoration:none;
}
.btn:active { transform:translateY(1px); }
.btn--lg { padding:.8rem 1.4rem; font-size:var(--text-lg); }   
.btn--sm { padding:.4rem .75rem; font-size:var(--text-sm); }
.btn--primary   { background:var(--accent); color:var(--text-on-accent); }
.btn--primary:hover  { background:var(--accent-hover); box-shadow:var(--shadow-2); }
.btn--primary:active { background:var(--accent-active); box-shadow:none; }
.btn--secondary { background:transparent; color:var(--accent-text); border-color:var(--border-strong); }
.btn--secondary:hover { background:var(--accent-subtle); border-color:var(--accent); }
.btn--secondary:active { background:var(--accent-subtle); border-color:var(--accent-active); }
.btn--ghost     { background:transparent; color:var(--accent-text); }
.btn--ghost:hover { background:var(--accent-subtle); }
.btn--ghost:active { background:var(--accent-subtle); }
.btn--danger    { background:var(--danger); color:#fff; }
.btn--danger:hover { filter:brightness(.95); box-shadow:var(--shadow-2); }
.btn--danger:active { filter:brightness(.9); box-shadow:none; }
.btn[disabled],.btn[aria-disabled="true"] { opacity:var(--opacity-disabled); pointer-events:none; }
.btn[data-loading="true"]{ position:relative; color:transparent; }
.btn[data-loading="true"]::after{
  content:""; position:absolute; inset:0; margin:auto; width:1em; height:1em;
  border:2px solid currentColor; border-top-color:transparent; border-radius:50%;
  color:var(--text-on-accent); animation:novus-spin .7s linear infinite;
}
@keyframes novus-spin { to { transform:rotate(360deg); } }

.field { display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-4); }
.field > label { font-size:var(--text-sm); font-weight:var(--weight-medium); color:var(--text-secondary); }
.input, .select, .textarea {
  font:inherit; color:var(--text); background:var(--surface);
  border:1px solid var(--border-strong); border-radius:var(--radius-md);
  padding:.5rem .75rem; width:100%;
}
.input:hover,.select:hover,.textarea:hover { border-color:var(--neutral-400); }
.input:focus-visible { border-color:var(--accent); box-shadow:var(--focus-ring); outline:none; }
.field--error .input { border-color:var(--danger); }
.field__error { color:var(--danger-text); font-size:var(--text-sm); }
.field__help  { color:var(--text-muted);  font-size:var(--text-sm); }

.card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:var(--space-5); box-shadow:var(--shadow-1);
}
.card--raised { box-shadow:var(--shadow-2); }

.card--interactive { transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out); }
.card--interactive:hover { transform:translateY(-4px); box-shadow:var(--shadow-3); border-color:var(--accent); }
.card--interactive:focus-within { border-color:var(--accent); box-shadow:var(--shadow-2); }

.clientwall { display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:var(--space-3); }
.clogo { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); height:54px;
  display:flex; align-items:center; justify-content:center; padding:8px 14px; }
.clogo img { max-width:100%; max-height:30px; object-fit:contain; }

.schemewall { display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:var(--space-3); }
.slogo { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); height:46px;
  display:flex; align-items:center; justify-content:center; padding:6px 12px; }
.slogo img { max-width:100%; max-height:26px; object-fit:contain; }

.leaders { display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:var(--space-4); }
.leader { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-4);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-md);
  width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer;
  transition:transform var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out); }
.leader:hover { transform:translateY(-4px); box-shadow:var(--shadow-3); border-color:var(--accent); }
.leader:focus-visible { border-color:var(--accent); box-shadow:var(--shadow-2); }
.leader .avatar { width:48px; height:48px; flex:0 0 auto; border-radius:50%;
  background:var(--accent-subtle); color:var(--accent-text); display:flex; align-items:center;
  justify-content:center; font-weight:var(--weight-bold); font-size:var(--text-sm); }
.leader b { display:block; color:var(--text); line-height:1.2; }
.leader span { display:block; color:var(--text-secondary); font-size:var(--text-sm); margin-top:.15rem; }

.row { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; }

.vchain-strip { display:flex; flex-wrap:wrap; align-items:stretch; gap:var(--space-2); }
.vchain { flex:1 1 180px; border:1px solid var(--border); border-radius:var(--radius-md);
  background:var(--surface); padding:var(--space-3) var(--space-4); }
.vchain b { display:block; color:var(--text); }
.vchain span { display:block; color:var(--text-secondary); font-size:var(--text-sm); margin-top:.15rem; }
.vchain-arrow { display:flex; align-items:center; color:var(--accent-text); font-weight:var(--weight-bold); font-size:var(--text-lg); }
@media (max-width:620px) { .vchain { flex:1 1 100%; } .vchain-arrow { display:none; } }

.cta-row { display:flex; align-items:center; justify-content:space-between; gap:var(--space-6);
  max-width:var(--container); margin-inline:auto; text-align:left; }
.cta-row .btn { flex:0 0 auto; white-space:nowrap; }
@media (max-width:760px) { .cta-row { flex-direction:column; align-items:flex-start; } }

.disclosure .disclosure-ic { display:inline-block; transition:transform var(--dur) var(--ease-out); }
.disclosure[aria-expanded="true"] .disclosure-ic { transform:rotate(90deg); }
.collapse { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--dur) var(--ease-out); }
.collapse.is-open { grid-template-rows:1fr; }
.collapse > * { overflow:hidden; min-height:0; visibility:hidden; transition:visibility var(--dur) var(--ease-out); }
.collapse.is-open > * { visibility:visible; }

.bullets{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;color:var(--text-secondary);font-size:var(--text-sm);}
.bullets li{display:flex;gap:.45rem;align-items:baseline;}
.bullets li::before{content:"\203A";color:var(--accent-text);font-weight:var(--weight-bold);flex:0 0 auto;}

.card-trigger{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;border-radius:inherit;cursor:pointer;}
.card-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring);}

dialog.vdialog{border:0;padding:var(--space-6);max-width:560px;width:calc(100% - 2*var(--gutter));border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-3);}
dialog.vdialog::backdrop{background:rgba(11,22,32,.55);backdrop-filter:blur(3px);}
.vdialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);}
.vdialog__body h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted);}
.modal-close{border:0;background:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer;width:36px;height:36px;border-radius:var(--radius-md);flex:0 0 auto;}
.modal-close:hover{background:var(--bg-subtle);color:var(--text);}

.lead-form{display:grid;gap:var(--space-3);margin-top:var(--space-2);}
.lead-form .field{display:flex;flex-direction:column;gap:.3rem;}
.lead-form label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.5rem .7rem;width:100%;}
.lead-form input:focus-visible,.lead-form select:focus-visible,.lead-form textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring);}
.lead-form input:user-invalid,.lead-form select:user-invalid{border-color:var(--danger);}

.bio-id{display:flex;align-items:center;gap:var(--space-3);}
.bio-photo{width:64px;height:64px;flex:0 0 auto;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--border);}
.vdialog .avatar{width:64px;height:64px;flex:0 0 auto;border-radius:50%;background:var(--accent-subtle);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-base);}
.avatar--photo{object-fit:cover;background:#fff;border:1px solid var(--border);}

.stat { display:flex; flex-direction:column; gap:var(--space-1); min-width:0; }
.stat__value { font-size:var(--text-3xl); line-height:1.05; font-weight:var(--weight-bold); color:var(--text); white-space:nowrap; }
.stat__label { font-size:var(--text-sm); color:var(--text-secondary); }

.statrow { display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); column-gap:var(--space-5); row-gap:var(--space-3); }
.statrow--wide { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }

.alert { display:flex; gap:var(--space-3); padding:var(--space-4); border-radius:var(--radius-md);
  border:1px solid transparent; }
.alert--info    { background:var(--info-subtle);    border-color:var(--info);    color:var(--info-text); }
.alert--success { background:var(--success-subtle); border-color:var(--success); color:var(--success-text); }
.alert--warning { background:var(--warning-subtle); border-color:var(--warning); color:var(--warning-text); }
.alert--danger  { background:var(--danger-subtle);  border-color:var(--danger);  color:var(--danger-text); }

.badge { display:inline-flex; align-items:center; gap:.375rem; padding:.125rem .5rem;
  font-size:var(--text-xs); font-weight:var(--weight-medium); border-radius:var(--radius-pill);
  background:var(--bg-muted); color:var(--text-secondary); border:1px solid var(--border); }
.badge--accent  { background:var(--accent-subtle);  color:var(--accent-text);  border-color:transparent; }
.badge--success { background:var(--success-subtle); color:var(--success-text); border-color:transparent; }
.badge--warning { background:var(--warning-subtle); color:var(--warning-text); border-color:transparent; }
.badge--danger  { background:var(--danger-subtle);  color:var(--danger-text);  border-color:transparent; }
.badge__dot { width:.5rem; height:.5rem; border-radius:50%; background:currentColor; }

.table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
.table th, .table td { text-align:left; padding:.625rem .75rem; border-bottom:1px solid var(--border); }
.table th { color:var(--text-secondary); font-weight:var(--weight-medium); background:var(--bg-subtle); }
.table td.num, .table th.num { text-align:right; font-variant-numeric:tabular-nums; }
.table tbody tr:hover { background:var(--bg-subtle); }

.modal__backdrop { position:fixed; inset:0; background:rgba(11,22,32,.5); display:grid; place-items:center; padding:var(--space-4); }
.modal { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-3); max-width:min(92vw,520px); width:100%; padding:var(--space-6); }
.modal__actions { display:flex; justify-content:flex-end; gap:var(--space-3); margin-top:var(--space-5); }

.nav { display:flex; align-items:center; gap:var(--space-5); padding:var(--space-3) var(--space-5);
  background:var(--surface); border-bottom:1px solid var(--border); }
.nav a { color:var(--text-secondary); text-decoration:none; font-weight:var(--weight-medium); }
.nav a:hover, .nav a[aria-current="page"] { color:var(--text); }

.container { max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.container--narrow { max-width:var(--container-narrow); }
.grid { display:grid; gap:var(--space-5); }
.surface { background:var(--surface); }
.muted { color:var(--text-secondary); }

.novus-slides,
[data-surface="slide"] {
  
  --text-xs:   1.0625rem; --lh-xs:1.4rem;     
  --text-sm:   1.1875rem; --lh-sm:1.65rem;    
  --text-base: 1.5rem;    --lh-base:2.175rem; 
  --text-md:   1.625rem;  --lh-md:2.35rem;    
  --text-lg:   1.875rem;  --lh-lg:2.55rem;    
  --text-xl:   2.25rem;   --lh-xl:2.7rem;     
  --text-2xl:  2.75rem;   --lh-2xl:3.1rem;    
  --text-3xl:  3.375rem;  --lh-3xl:3.6rem;    
  --text-4xl:  4rem;      --lh-4xl:4.2rem;    
  --text-display: 5.25rem; --lh-display:5.4rem; 

  
  --slide-hero:    4.5rem;    --lh-slide-hero:4.7rem;    
  --slide-h1:      2.875rem;  --lh-slide-h1:3.15rem;     
  --slide-h2:      2.25rem;   --lh-slide-h2:2.55rem;     
  --slide-body:    1.5rem;    --lh-slide-body:2.175rem;  
  --slide-bullet:  1.375rem;  --lh-slide-bullet:1.95rem; 
  --slide-kpi:     3.375rem;  --lh-slide-kpi:3.6rem;     
  --slide-eyebrow: 1.0625rem; --lh-slide-eyebrow:1.4rem; 
  --slide-caption: 1.0625rem; --lh-slide-caption:1.4rem; 

  
  
  --deck-floor-head:  20px;   
  --deck-floor-body:  16px;   
  --deck-floor-list:  15px;   
  --deck-floor-anno:  11px;   
  
  --deck-lockup-hero:   54px; 
  --deck-lockup-tile:   40px; 
  --deck-lockup-band:   42px; 
  
  --deck-ltile-scheme:  42px; --deck-lmark-scheme: 26px;
  --deck-ltile-client:  60px; --deck-lmark-client: 40px;
  
  --deck-media-split:  366px; 
  --deck-media-sheet:  156px; 
  
  --deck-safe-bottom:  634px; 
}

.nslide{
  width:1280px; height:720px; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  padding:44px 64px 84px;                 
  background:var(--bg); color:var(--text);
}
.nslide__body{ flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; justify-content:center; }   
.nslide__foot{
  position:absolute; left:64px; right:64px; bottom:26px;
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  border-top:1px solid var(--border); padding-top:12px;
  font-size:var(--slide-caption); color:var(--text-muted);
}

.novus-doc{
  --doc-cover-title:26pt;   --doc-cover-subtitle:14pt; --doc-eyebrow:9pt;
  --doc-h1:16pt; --doc-h2:12pt; --doc-h3:11pt;
  --doc-body:10.5pt; --doc-table-cell:9.5pt; --doc-caption:8pt;

  
  --doc-logo-height:38px;         
  --doc-lockup-height:19px;       
  --doc-lockup-height-sm:14px;    

  
  --doc-ltile-client-w:104px; --doc-ltile-client-h:46px;
  --doc-ltile-scheme-w:76px;  --doc-ltile-scheme-h:34px;

  
  --doc-media-cover:52mm;         
  --doc-media-band:44mm;          
  --doc-media-product:40mm;       
}

.novus-poster{
  --poster-trim: 594mm 841mm;         
  --poster-dpi: 200;                  
  --poster-margin: 43mm;              
  --poster-bar-h: 8.3mm;              
  --poster-bar-fill: var(--blue-500);
  --poster-mount-pct: 8.5%;           
  --poster-mount-a1: 50mm; --poster-mount-a2: 36mm; --poster-mount-a3: 25mm;
  --poster-frame-face: 8mm 15mm;      
  
  --poster-lockup: 125pt;  --poster-headline: 98pt;   --poster-stat: 57pt;
  --poster-closing: 44pt;  --poster-lede: 40pt;       --poster-cap-title: 35pt;
  --poster-eyebrow: 32pt;  --poster-slogan: 32pt;     --poster-section-eyebrow: 24pt;
  --poster-cap-detail: 25pt; --poster-footer: 20pt;
}

