/* ==========================================================================
   SOV - Executive Command Center design system (landing pages)
   Shared by: Index, Contact, About, Solutions, Products, Resources, etc.
   ========================================================================== */

.sov {
    --bg:#06070B; --bg-1:#0B0C12; --bg-2:#11131B; --bg-3:#181A24;
    --line:rgba(255,255,255,0.07); --line-2:rgba(255,255,255,0.14);
    --ink:#F2F2F5; --ink-2:#9DA1AE; --ink-3:#5A5E6C;
    --cyan:#00E5FF; --cyan-glow:rgba(0,229,255,.38);
    --lime:#D4FF00; --red:#FF3B3B; --amber:#FFB000; --emerald:#00D68F;
    background:var(--bg); color:var(--ink);
    font-family:'Geist',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.sov * { box-sizing:border-box; }

.sov .font-display { font-family:'Fraunces',serif; font-optical-sizing:auto; }
.sov .font-serif   { font-family:'Instrument Serif',serif; }
.sov .font-mono    { font-family:'JetBrains Mono',monospace; }

/* Grain + gridlines */
.sov .grain { position:relative; }
.sov .grain::before{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    opacity:.04;mix-blend-mode:overlay;
}
.sov .gridlines{
    background-image:
        linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
    background-size:80px 80px;
    -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, black 30%, transparent 85%);
    mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, black 30%, transparent 85%);
}

.sov .tag{
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);
}

/* Animations */
@keyframes sov-rise { from{opacity:0;transform:translateY(26px);} to{opacity:1;transform:none;} }
.sov .rise { opacity:0; animation:sov-rise 1s cubic-bezier(.2,.7,.2,1) forwards; }
.sov .reveal{opacity:0;transform:translateY(32px);transition:opacity 1.2s cubic-bezier(.2,.7,.2,1), transform 1.2s cubic-bezier(.2,.7,.2,1);}
.sov .reveal.in{opacity:1;transform:none;}

@keyframes sov-crawl { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.sov .crawl-fast { animation:sov-crawl 50s linear infinite; }

@keyframes sov-pulse {
    0%  { box-shadow:0 0 0 0 var(--cyan-glow); }
    70% { box-shadow:0 0 0 14px transparent; }
    100%{ box-shadow:0 0 0 0 transparent; }
}
.sov .pulse-dot { animation:sov-pulse 2s infinite; }

/* Typography */
.sov .h1-ai{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:-.02em;}
.sov .h1-hero{font-family:'Fraunces',serif;font-weight:900;font-variation-settings:"opsz" 144;letter-spacing:-.055em;}
.sov .outlined{-webkit-text-stroke:1px rgba(255,255,255,0.22);color:transparent;}
.sov .heading-xl{font-family:'Fraunces',serif;font-weight:900;font-variation-settings:"opsz" 144;letter-spacing:-.055em;line-height:.82;}
.sov .heading-xl em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;font-variation-settings:"opsz" 144;letter-spacing:-.015em;}
.sov .kpi-num{font-family:'Fraunces',serif;font-weight:900;letter-spacing:-.055em;line-height:1;}
.sov .numeral{font-family:'Fraunces',serif;font-weight:900;-webkit-text-stroke:1px rgba(255,255,255,0.2);color:transparent;letter-spacing:-.05em;}

/* Buttons */
.sov a.btn-primary,.sov a.btn-primary:visited,.sov button.btn-primary{
    position:relative;overflow:hidden;display:inline-block;text-decoration:none;
    background-color:#F2F2F5;color:#06070B !important;font-weight:600;border:0;cursor:pointer;
    transition:background-color .35s ease, color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.sov .btn-primary span{position:relative;z-index:2;color:inherit;display:inline-block;transition:transform .35s ease;}
.sov a.btn-primary::before, .sov button.btn-primary::before{
    content:'';position:absolute;left:0;right:0;bottom:0;top:100%;
    background:#00E5FF;transition:top .4s cubic-bezier(.6,.1,.3,1);z-index:1;
}
.sov a.btn-primary:hover,.sov button.btn-primary:hover{color:#041014 !important;box-shadow:0 0 60px -8px rgba(0,229,255,.38);transform:translateY(-2px);}
.sov a.btn-primary:hover::before,.sov button.btn-primary:hover::before{top:0;}
.sov a.btn-primary:hover span,.sov button.btn-primary:hover span{transform:translateX(3px);}

.sov a.btn-ghost,.sov a.btn-ghost:visited,.sov button.btn-ghost{
    display:inline-block;text-decoration:none;cursor:pointer;
    border:1px solid rgba(255,255,255,0.14);color:#F2F2F5 !important;
    background-color:transparent;
    transition:border-color .35s ease, color .35s ease, background-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.sov a.btn-ghost:hover,.sov button.btn-ghost:hover{
    border-color:#00E5FF;color:#00E5FF !important;
    background-color:rgba(0,229,255,0.08);
    transform:translateY(-2px);
    box-shadow:0 0 40px -12px rgba(0,229,255,.35);
}

/* Link arrow */
.sov .link-arrow{display:inline-flex;align-items:center;gap:.5rem;transition:color .3s;text-decoration:none;color:var(--ink);}
.sov .link-arrow svg{transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.sov .link-arrow:hover{color:var(--cyan);}
.sov .link-arrow:hover svg{transform:translateX(8px);}

.sov .tick{font-variant-numeric:tabular-nums;}

/* Cards */
.sov .card{position:relative;transition:transform .5s cubic-bezier(.2,.7,.2,1), background .3s;overflow:hidden;}
.sov .card::after{content:'';position:absolute;inset:0;border:1px solid transparent;transition:border-color .4s;pointer-events:none;}
.sov .card:hover::after{border-color:var(--line-2);}
.sov .card:hover{background:var(--bg-2);}
.sov .bento-tall{grid-row:span 2;}

.sov .badge-dashed{
    border:1px dashed var(--line-2);padding:.75rem 1.25rem;
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;
    text-transform:uppercase;color:var(--ink-2);transition:all .3s;display:inline-block;
}
.sov .badge-dashed:hover{border-color:var(--cyan);color:var(--cyan);border-style:solid;}

.sov .rule{height:1px;background:linear-gradient(90deg,var(--line-2),transparent);}

.sov .status-strip{
    display:inline-flex;align-items:center;gap:2rem;padding:.6rem 1.2rem;
    border:1px solid var(--line);
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--ink-2);background:rgba(11,12,18,0.65);backdrop-filter:blur(8px);
}

/* Sections / grid */
.sov-section{padding-left:2.5rem;padding-right:2.5rem;}
.sov-container{max-width:1600px;margin:0 auto;}
.sov .g-col-12{grid-column:span 12;}
.sov .grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;}

/* Form primitives */
.sov .sov-input,
.sov .sov-textarea,
.sov .sov-select{
    width:100%;background:var(--bg-1);color:var(--ink);
    border:1px solid var(--line);border-radius:0;
    padding:1rem 1.1rem;font-family:'Geist',system-ui,sans-serif;font-size:.95rem;
    transition:border-color .25s, box-shadow .25s, background .25s;
    outline:none;
}
.sov .sov-input:focus,
.sov .sov-textarea:focus,
.sov .sov-select:focus{
    border-color:var(--cyan);
    box-shadow:0 0 0 1px var(--cyan), 0 0 30px -12px var(--cyan-glow);
    background:var(--bg-2);
}
.sov .sov-input::placeholder,
.sov .sov-textarea::placeholder{color:var(--ink-3);}
.sov .sov-label{
    display:block;font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);
    margin-bottom:.6rem;
}

/* Headings override (RTL-safe) */
.sov h1,.sov h2,.sov h3,.sov h4,.sov h5,.sov h6,.sov p,.sov span{text-align:unset !important;}
[dir="rtl"] .sov .h1-hero,[dir="rtl"] .sov .heading-xl{text-align:right !important;}

/* Hero helpers */
.sov .hero-shell{position:relative;overflow:hidden;padding:7rem 0 5rem;}
.sov .hero-gridlines{position:absolute;inset:0;}
.sov .hero-glow-cyan{position:absolute;inset:0;background:radial-gradient(ellipse 50% 45% at 25% 35%, rgba(0,229,255,0.14), transparent 65%);}

/* Feature / product / solution bento */
.sov .bento{
    display:grid;grid-template-columns:repeat(12,1fr);gap:1px;
    background:var(--line);
}
.sov .bento > .cell{background:var(--bg);padding:2rem;position:relative;}
.sov .cell .num{
    position:absolute;top:1.25rem;right:1.25rem;
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.28em;color:var(--ink-3);
}
.sov .cell .icon{color:var(--cyan);font-size:42px;display:block;margin-bottom:1.75rem;}
.sov .cell h3{font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;margin:0 0 .65rem;letter-spacing:-.02em;}
.sov .cell p{font-size:.9rem;line-height:1.65;color:var(--ink-2);margin:0;}

/* Responsive */
@media (max-width: 1024px){
    .sov-section{padding-left:1.25rem;padding-right:1.25rem;}
    .sov .heading-xl{font-size:3rem !important;}
    .sov .bento{grid-template-columns:repeat(6,1fr);}
}
@media (max-width: 640px){
    .sov .bento{grid-template-columns:1fr;}
    .sov .grid-12{grid-template-columns:1fr;}
    .sov .g-col-12,.sov [style*="grid-column:span"]{grid-column:1 / -1 !important;}
}

/* ==========================================================================
   Mega Menu (Products + Solutions)
   ========================================================================== */
.mega-menu-popover,
.mega-menu-popover .mud-popover,
.mud-popover.mega-menu-popover{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    margin-top:10px;
    overflow:visible !important;
}
.sov-mega{
    background:var(--bg) !important;
    border:1px solid var(--line-2);
    box-shadow:0 30px 80px -20px rgba(0,0,0,.75), 0 0 0 1px rgba(0,229,255,.05), 0 0 60px -20px var(--cyan-glow);
    min-width:880px;max-width:1200px;padding:0 !important;
    font-family:'Geist',system-ui,sans-serif;color:var(--ink);
    position:relative;overflow:hidden;
}
.sov-mega::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size:60px 60px;
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%, black 20%, transparent 85%);
            mask-image:radial-gradient(ellipse 70% 60% at 50% 40%, black 20%, transparent 85%);
    opacity:.6;
}
.sov-mega-inner{position:relative;z-index:1;padding:1.75rem 2rem 1.5rem;}

.sov-mega-head{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:1rem;margin-bottom:1.25rem;
    border-bottom:1px solid var(--line);
}

.sov-mega-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);
}
.sov-mega-cols{
    display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;
}
.sov-mega-col{display:flex;flex-direction:column;gap:.25rem;}
.sov-mega-coltag{
    display:inline-flex;align-items:center;gap:.5rem;
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.25em;text-transform:uppercase;color:var(--ink-2);
    padding-bottom:.75rem;margin-bottom:.25rem;
    border-bottom:1px dashed var(--line-2);
}

.sov-mega-item{
    position:relative;display:grid;
    grid-template-columns:auto auto 1fr auto;align-items:flex-start;
    gap:1rem;padding:1rem 1.1rem;
    background:var(--bg);color:var(--ink) !important;
    text-decoration:none !important;
    border:1px solid transparent;
    transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.sov-mega-grid > .sov-mega-item{background:var(--bg);}
.sov-mega-item:hover{
    background:var(--bg-2);
    border-color:var(--line-2);
}
.sov-mega-item:hover .sov-mega-icon{color:var(--cyan);}
.sov-mega-item:hover .sov-mega-arrow{color:var(--cyan);transform:translate(3px,-3px);}
.sov-mega-item:hover h4{color:var(--cyan);}

.sov-mega-num{
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.25em;
    color:var(--ink-3);padding-top:.3rem;min-width:1.5rem;
}
.sov-mega-icon{
    font-size:24px;color:var(--ink-2);
    transition:color .25s ease;padding-top:.1rem;
}
.sov-mega-body{min-width:0;}
.sov-mega-body h4{
    font-family:'Fraunces',serif;font-weight:600;font-size:.98rem;
    margin:0 0 .2rem;letter-spacing:-.01em;color:var(--ink);
    transition:color .25s ease;
}
.sov-mega-body p{
    margin:0;font-size:.78rem;line-height:1.5;color:var(--ink-2);
}
.sov-mega-arrow{
    font-size:16px;color:var(--ink-3);
    transition:color .25s ease, transform .3s cubic-bezier(.2,.7,.2,1);
    padding-top:.35rem;
}

.sov-mega-industries{
    margin-top:1.5rem;padding-top:1.25rem;
    border-top:1px solid var(--line);
    display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
}
.sov-mega-chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.sov-mega-chip{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.45rem .8rem;border:1px solid var(--line-2);
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2);
    transition:border-color .25s, color .25s, background .25s;
}
.sov-mega-chip:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,229,255,.04);}

.sov-mega-foot{
    margin-top:1.25rem;padding-top:1rem;
    border-top:1px solid var(--line);
    display:flex;justify-content:flex-end;
}

@media (max-width: 1024px){
    .sov-mega{min-width:0;width:100%;}
    .sov-mega-grid{grid-template-columns:1fr;}
    .sov-mega-cols{grid-template-columns:1fr;gap:1.5rem;}
}

/* ==========================================================================
   CTA Band
   ========================================================================== */
.sov-cta-band{
    position:relative;overflow:hidden;
    background:var(--bg);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:6rem 2.5rem;
}
.sov-cta-inner{position:relative;max-width:1600px;margin:0 auto;}
.sov-cta-gridlines{
    position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size:80px 80px;
    -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, black 20%, transparent 85%);
            mask-image:radial-gradient(ellipse 70% 80% at 50% 50%, black 20%, transparent 85%);
}
.sov-cta-glow{
    position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 50% 60% at 50% 50%, rgba(0,229,255,0.12), transparent 70%);
}
.sov-cta-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.sov-cta-head{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;}
.sov-cta-title{
    font-size:clamp(2.25rem, 5.5vw, 5rem);
    margin:0 0 1rem;max-width:20ch;
    text-align:center !important;
}
.sov-cta-title em{color:var(--cyan);}
.sov-cta-subtitle{
    margin:0 0 2.5rem;
    font-size:clamp(1rem, 1.3vw, 1.2rem);
    line-height:1.6;color:var(--ink-2);
    max-width:44rem;font-weight:300;
}
.sov-cta-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;}
.sov-cta-btn{padding:1.15rem 2rem;font-size:.92rem;letter-spacing:.02em;font-weight:600;text-align:center;min-width:11rem;}

/* ==========================================================================
   Footer
   ========================================================================== */
.sov-footer{
    background:#050608 !important;
    color:var(--ink);
    border-top:1px solid var(--line-2);
    position:relative;overflow:hidden;
    margin-top:auto;
}
.sov-footer::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size:60px 60px;
    -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, black 30%, transparent 90%);
            mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, black 30%, transparent 90%);
}
.sov-footer-inner{
    position:relative;z-index:1;
    max-width:1600px;margin:0 auto;
    padding:5rem 2.5rem 2rem;
}
.sov-footer-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;
    gap:3rem;
    padding-bottom:3.5rem;
    border-bottom:1px solid var(--line);
}
.sov-footer-mark{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;}
.sov-footer-desc{
    color:var(--ink-2);font-size:.9rem;line-height:1.65;
    margin:0 0 1.75rem;max-width:28rem;
}
.sov-footer-badges{display:flex;flex-wrap:wrap;gap:.5rem;}
.sov-badge{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.4rem .7rem;
    border:1px solid var(--line-2);
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);
    transition:border-color .25s, color .25s, background .25s;
}
.sov-badge:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,229,255,.04);}

.sov-footer-title{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px dashed var(--line-2);}
.sov-footer-nav{display:flex;flex-direction:column;gap:.65rem;}
.sov-footer-nav a,
.sov-footer-nav a:visited{
    color:var(--ink-2) !important;text-decoration:none;font-size:.88rem;
    transition:color .25s ease, transform .25s ease, padding-left .25s ease;
    display:inline-block;
}
.sov-footer-nav a:hover{color:var(--cyan) !important;padding-left:.35rem;}

.sov-footer-contact{
    margin-top:1.5rem;padding-top:1.25rem;
    border-top:1px dashed var(--line-2);
    display:flex;flex-direction:column;gap:.6rem;
}
.sov-footer-contact a,
.sov-footer-contact a:visited{
    display:inline-flex;align-items:center;gap:.5rem;
    color:var(--ink-2) !important;text-decoration:none;
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;
    transition:color .25s ease;
}
.sov-footer-contact a:hover{color:var(--cyan) !important;}

.sov-footer-bottom{
    display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:1rem;
    padding-top:2rem;
}
.sov-footer-copy{
    color:var(--ink-3);font-size:.8rem;
    font-family:'JetBrains Mono',monospace;letter-spacing:.05em;
}
.sov-footer-copy a,.sov-footer-copy a:visited{
    color:var(--ink-2) !important;text-decoration:none;transition:color .25s;
}
.sov-footer-copy a:hover{color:var(--cyan) !important;}
.sov-footer-status{
    display:inline-flex;align-items:center;gap:.5rem;
    font-family:'JetBrains Mono',monospace;font-size:10px;
    letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);
}

@media (max-width: 1024px){
    .sov-footer-top{grid-template-columns:1fr 1fr;gap:2.5rem;}
    .sov-footer-brand{grid-column:span 2;}
}
@media (max-width: 640px){
    .sov-footer-top{grid-template-columns:1fr;}
    .sov-footer-brand{grid-column:span 1;}
    .sov-footer-inner{padding:3.5rem 1.25rem 1.5rem;}
    .sov-cta-band{padding:4rem 1.25rem;}
}

/* ==========================================================================
   Website AppBar (dark) — overrides the default white nav across ALL landing pages
   ========================================================================== */
.website-appbar,
.mud-appbar.website-appbar{
    background-color:#06070B !important;
    color:var(--ink,#F2F2F5) !important;
    border-bottom:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:0 1px 0 0 rgba(255,255,255,0.04), 0 8px 24px -12px rgba(0,0,0,0.6) !important;
    backdrop-filter:blur(10px);
}
.website-appbar .brand-text{
    color:#F2F2F5 !important;
    font-family:'Fraunces',serif;font-weight:800;letter-spacing:-.02em;
}
.website-appbar .brand-text strong{color:#00E5FF !important;}
.website-appbar .nav-button,
.website-appbar .mud-button-root{
    color:#C9CBD4 !important;
    text-transform:none !important;font-weight:500 !important;
    font-family:'Geist',system-ui,sans-serif !important;
    letter-spacing:.01em;
    transition:color .25s ease, background-color .25s ease !important;
}
.website-appbar .nav-button:hover,
.website-appbar .mud-button-root:hover{
    color:#00E5FF !important;
    background-color:rgba(0,229,255,0.06) !important;
}
.website-appbar .mud-icon-root{color:inherit !important;}

.website-appbar .cta-button,
.website-appbar .mud-button-filled.mud-button-filled-primary{
    background-color:#F2F2F5 !important;
    color:#06070B !important;
    text-transform:none !important;font-weight:600 !important;
    box-shadow:none !important;
    transition:background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease !important;
}
.website-appbar .cta-button:hover,
.website-appbar .mud-button-filled.mud-button-filled-primary:hover{
    background-color:#00E5FF !important;
    color:#06070B !important;
    box-shadow:0 0 40px -8px rgba(0,229,255,0.45) !important;
    transform:translateY(-1px);
}

/* Push main content below the fixed dark appbar */
.website-wrapper,
.website-main{background-color:#06070B !important;color:var(--ink,#F2F2F5);}
body,html{background-color:#06070B !important;}

/* ==========================================================================
   Shared product/solution sub-components (dark overrides)
   Breadcrumbs, StickyLocalNav, ModuleMatrix, FlowTimeline, IntegrationTable
   ========================================================================== */

/* -- Breadcrumbs -- */
.breadcrumbs-nav,
nav.breadcrumbs-nav{
    background:transparent !important;
    color:var(--ink-3,#5A5E6C) !important;
    padding:1.25rem 2.5rem !important;
    border-bottom:1px solid rgba(255,255,255,0.07) !important;
    font-family:'JetBrains Mono',monospace !important;
    font-size:11px !important;letter-spacing:.15em;text-transform:uppercase;
}
.breadcrumbs-nav ol,.breadcrumbs-nav ul{
    display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;
    list-style:none;margin:0;padding:0;
}
.breadcrumbs-nav a,.breadcrumbs-nav a:visited,
.breadcrumbs-nav .mud-link,.breadcrumbs-nav .mud-breadcrumb-item a{
    color:#9DA1AE !important;text-decoration:none !important;
    transition:color .25s ease;
}
.breadcrumbs-nav a:hover,.breadcrumbs-nav .mud-link:hover{color:#00E5FF !important;}
.breadcrumbs-nav .mud-breadcrumb-separator,.breadcrumbs-nav .mud-breadcrumb-item:not(:last-child)::after,
.breadcrumbs-nav li + li::before{color:#5A5E6C !important;}
.breadcrumbs-nav .mud-breadcrumb-item.mud-disabled,
.breadcrumbs-nav [aria-current="page"]{color:#F2F2F5 !important;}

/* -- Sticky Local Nav -- */
.sticky-local-nav{
    background:rgba(6,7,11,0.9) !important;
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(255,255,255,0.07) !important;
    border-top:1px solid rgba(255,255,255,0.07) !important;
    color:var(--ink,#F2F2F5) !important;
    box-shadow:none !important;
}
.sticky-local-nav .nav-scroll-container,
.sticky-local-nav nav,
.sticky-local-nav ul{
    display:flex;gap:.25rem;padding:.75rem 2.5rem;
    background:transparent !important;list-style:none;margin:0;
    overflow-x:auto;
}
.sticky-local-nav a,
.sticky-local-nav a:visited,
.sticky-local-nav .mud-link,
.sticky-local-nav .mud-button-root{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.55rem 1rem !important;
    background:transparent !important;
    color:#9DA1AE !important;
    font-family:'JetBrains Mono',monospace !important;
    font-size:11px !important;letter-spacing:.18em;text-transform:uppercase;
    border:1px solid transparent !important;
    text-decoration:none !important;
    transition:color .25s, border-color .25s, background .25s !important;
    white-space:nowrap;
}
.sticky-local-nav a:hover,
.sticky-local-nav .mud-link:hover,
.sticky-local-nav .mud-button-root:hover{
    color:#00E5FF !important;
    border-color:rgba(0,229,255,0.3) !important;
    background:rgba(0,229,255,0.04) !important;
}
.sticky-local-nav a.active,
.sticky-local-nav .active,
.sticky-local-nav [aria-current="true"],
.sticky-local-nav [aria-current="page"]{
    color:#00E5FF !important;
    border-color:#00E5FF !important;
    background:rgba(0,229,255,0.06) !important;
}

/* -- Module Matrix / matrix-table -- */
.module-matrix{background:transparent !important;color:var(--ink,#F2F2F5) !important;}
.module-matrix .mud-paper,
.module-matrix .mud-card{
    background:#0B0C12 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
    color:var(--ink,#F2F2F5) !important;
}
.matrix-table,
.module-matrix .matrix-table,
.mud-table.matrix-table,
.mud-simple-table.matrix-table{
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
}
.matrix-table table{background:transparent !important;border-collapse:collapse !important;}
.matrix-table thead,
.matrix-table thead tr,
.matrix-table .mud-table-head{
    background:#11131B !important;color:#F2F2F5 !important;
}
.matrix-table th,
.matrix-table .mud-table-head .mud-table-cell{
    background:#11131B !important;
    color:#F2F2F5 !important;
    font-family:'JetBrains Mono',monospace !important;
    font-size:10px !important;letter-spacing:.22em;text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,0.14) !important;
    padding:.9rem 1rem !important;
}
.matrix-table tbody tr,
.matrix-table .mud-table-body tr{
    background:transparent !important;
    border-bottom:1px solid rgba(255,255,255,0.05) !important;
    transition:background .2s ease;
}
.matrix-table tbody tr:hover,
.matrix-table .mud-table-body tr:hover{
    background:rgba(0,229,255,0.04) !important;
}
.matrix-table td,
.matrix-table .mud-table-cell{
    background:transparent !important;
    color:#C9CBD4 !important;
    border-bottom:1px solid rgba(255,255,255,0.05) !important;
    padding:.85rem 1rem !important;font-size:.88rem;
}
.matrix-table .mud-table-striped .mud-table-row:nth-of-type(even){
    background:rgba(255,255,255,0.015) !important;
}
.matrix-table .mud-icon-root{color:#00E5FF !important;}

/* -- Flow Timeline / timeline-card -- */
.flow-timeline{color:var(--ink,#F2F2F5) !important;}
.timeline-card,
.flow-timeline .timeline-card,
.mud-paper.timeline-card,
.mud-card.timeline-card{
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
    border-radius:0 !important;
    transition:border-color .3s ease, background .3s ease, transform .3s ease !important;
    position:relative;
}
.timeline-card:hover{
    border-color:rgba(0,229,255,0.35) !important;
    background:#11131B !important;
    transform:translateY(-2px);
}
.timeline-card .mud-card-content,
.timeline-card .mud-card-header{background:transparent !important;color:inherit !important;}
.timeline-card .mud-typography-h6,
.timeline-card .mud-typography-subtitle1,
.timeline-card h1,.timeline-card h2,.timeline-card h3,.timeline-card h4,.timeline-card h5,.timeline-card h6{
    color:#F2F2F5 !important;
    font-family:'Fraunces',serif !important;font-weight:700 !important;letter-spacing:-.01em;
}
.timeline-card .mud-typography-body1,
.timeline-card .mud-typography-body2,
.timeline-card p{color:#9DA1AE !important;}
.timeline-card .mud-icon-root{color:#00E5FF !important;}
.flow-timeline .timeline-header{
    font-family:'JetBrains Mono',monospace !important;
    font-size:10px !important;letter-spacing:.25em;text-transform:uppercase;
    color:#5A5E6C !important;
}
.flow-timeline .timeline-step-number,
.flow-timeline .step-number{
    font-family:'Fraunces',serif !important;font-weight:900 !important;
    color:transparent !important;
    -webkit-text-stroke:1px rgba(0,229,255,0.4);
}

/* -- Integration Table / integration-card -- */
.integration-card,
.mud-paper.integration-card,
.mud-card.integration-card{
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
    border-radius:0 !important;
    transition:border-color .3s ease, background .3s ease !important;
}
.integration-card:hover{
    border-color:rgba(0,229,255,0.35) !important;
    background:#11131B !important;
}
.integration-card .mud-card-content,
.integration-card .mud-card-header,
.integration-card .mud-card-actions{background:transparent !important;color:inherit !important;}
.integration-card h1,.integration-card h2,.integration-card h3,.integration-card h4,.integration-card h5,.integration-card h6,
.integration-card .mud-typography-h6,.integration-card .mud-typography-subtitle1{
    color:#F2F2F5 !important;
    font-family:'Fraunces',serif !important;font-weight:700 !important;letter-spacing:-.01em;
}
.integration-card p,
.integration-card .mud-typography-body1,
.integration-card .mud-typography-body2,
.integration-card .mud-typography-caption{color:#9DA1AE !important;}
.integration-card .mud-icon-root{color:#00E5FF !important;}
.integration-card .mud-chip{
    background:rgba(0,229,255,0.06) !important;
    color:#00E5FF !important;
    border:1px solid rgba(0,229,255,0.25) !important;
    font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
}

/* ==========================================================================
   Global text color rescue for MudBlazor chrome on the dark landing shell
   (MudText/MudTypography default to #212121 which is invisible on #06070B)
   ========================================================================== */
.website-wrapper .mud-typography,
.website-wrapper .mud-typography-body1,
.website-wrapper .mud-typography-body2,
.website-wrapper .mud-typography-subtitle1,
.website-wrapper .mud-typography-subtitle2,
.website-wrapper .mud-typography-caption,
.website-wrapper .mud-typography-h1,
.website-wrapper .mud-typography-h2,
.website-wrapper .mud-typography-h3,
.website-wrapper .mud-typography-h4,
.website-wrapper .mud-typography-h5,
.website-wrapper .mud-typography-h6,
.website-wrapper p,
.website-wrapper span,
.website-wrapper li,
.website-wrapper td,
.website-wrapper th,
.website-wrapper label{color:inherit;}

.website-wrapper{color:#F2F2F5;}

/* MudText explicit-color overrides when they fall back to #212121 */
.website-wrapper [style*="color: #212121"],
.website-wrapper [style*="color:#212121"],
.website-wrapper [style*="color: rgb(33, 33, 33)"]{color:#F2F2F5 !important;}

/* MudCard/MudPaper on dark shell — neutralize white backgrounds unless scoped */
.website-wrapper .mud-paper:not(.mega-menu-popover):not(.sov-mega):not(.mud-appbar):not(.mud-drawer):not(.mud-popover):not(.mud-menu-popover){
    background:#0B0C12;color:#F2F2F5;
}
.website-wrapper .mud-card:not(.integration-card):not(.timeline-card){
    background:#0B0C12;color:#F2F2F5;border:1px solid rgba(255,255,255,0.07);box-shadow:none;
}
.website-wrapper .mud-card-content,
.website-wrapper .mud-card-header,
.website-wrapper .mud-card-actions{background:transparent;color:inherit;}

/* MudChip on dark */
.website-wrapper .mud-chip:not(.sov-chip-light){
    background:rgba(255,255,255,0.06) !important;
    color:#C9CBD4 !important;
    border:1px solid rgba(255,255,255,0.14) !important;
}
.website-wrapper .mud-chip .mud-icon-root{color:#00E5FF !important;}

/* MudDivider */
.website-wrapper .mud-divider{border-color:rgba(255,255,255,0.07) !important;}

/* MudList / MudNavMenu text */
.website-wrapper .mud-nav-link,
.website-wrapper .mud-nav-link:visited{color:#9DA1AE !important;}
.website-wrapper .mud-nav-link:hover{color:#00E5FF !important;background:rgba(0,229,255,0.04) !important;}

/* ==========================================================================
   Nuclear de-whitening: kill every legacy light surface/text on landing
   pages so MudBlazor + shared-component inline styles stop showing white.
   Everything below is scoped to `.website-wrapper` so admin/app pages stay untouched.
   ========================================================================== */

/* Section backgrounds declared white in website.css / inline in shared components */
.website-wrapper .kpi-section,
.website-wrapper .products-grid-section,
.website-wrapper .compliance-badges-section,
.website-wrapper .features-showcase-section,
.website-wrapper .testimonials-section,
.website-wrapper .value-pillars-section,
.website-wrapper .how-it-works-section,
.website-wrapper .product-features-section,
.website-wrapper section[style*="background: white"],
.website-wrapper section[style*="background-color: white"],
.website-wrapper section[style*="background:#fff"],
.website-wrapper section[style*="background-color:#fff"]{
    background:#06070B !important;color:#F2F2F5 !important;
}

/* Dark card swap for shared component cards */
.website-wrapper .product-card,
.website-wrapper .step-card,
.website-wrapper .value-pillar-card,
.website-wrapper .testimonial-card,
.website-wrapper .feature-card,
.website-wrapper .compliance-badge,
.website-wrapper .kpi-card,
.website-wrapper [class*="-card"][style*="background: white"],
.website-wrapper [class*="-card"][style*="background-color: white"],
.website-wrapper [class*="-card"][style*="background:#fff"]{
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
    border-radius:0 !important;
    transition:border-color .3s ease, background .3s ease, transform .3s ease !important;
}
.website-wrapper .product-card:hover,
.website-wrapper .step-card:hover,
.website-wrapper .value-pillar-card:hover,
.website-wrapper .testimonial-card:hover,
.website-wrapper .feature-card:hover,
.website-wrapper .kpi-card:hover{
    border-color:rgba(0,229,255,0.35) !important;
    background:#11131B !important;
    transform:translateY(-2px);
}

/* Dark-dead headings from website.css */
.website-wrapper .section-title,
.website-wrapper .section-subtitle,
.website-wrapper .section-heading,
.website-wrapper .kpi-value,
.website-wrapper .kpi-label,
.website-wrapper .product-title,
.website-wrapper .feature-title,
.website-wrapper .step-title,
.website-wrapper .testimonial-author,
.website-wrapper .pillar-title{
    color:#F2F2F5 !important;
}
.website-wrapper .section-subtitle,
.website-wrapper .testimonial-role,
.website-wrapper .product-description,
.website-wrapper .feature-description,
.website-wrapper .step-description,
.website-wrapper .pillar-description,
.website-wrapper .kpi-label{
    color:#9DA1AE !important;
}

/* MudCard / MudCardContent / MudCardHeader / MudCardActions */
.website-wrapper .mud-card,
.website-wrapper .mud-card-content,
.website-wrapper .mud-card-header,
.website-wrapper .mud-card-actions,
.website-wrapper .mud-card-media{
    background:transparent !important;color:inherit !important;
}
/* Provide the card shell once, on the outer .mud-card, so content/header don't stack duplicate borders */
.website-wrapper .mud-card:not(.integration-card):not(.timeline-card):not(.mud-appbar){
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
    border-radius:0 !important;
}

/* MudPaper fallback (excluding popovers/drawers/appbar/menus we style elsewhere) */
.website-wrapper .mud-paper:not(.mega-menu-popover):not(.sov-mega):not(.mud-appbar):not(.mud-drawer):not(.mud-popover):not(.mud-menu-popover):not(.mud-dialog):not(.mud-snackbar){
    background:#0B0C12 !important;
    color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
}

/* MudText / Typography — force light text regardless of Typo prop */
.website-wrapper .mud-typography,
.website-wrapper .mud-typography-h1,
.website-wrapper .mud-typography-h2,
.website-wrapper .mud-typography-h3,
.website-wrapper .mud-typography-h4,
.website-wrapper .mud-typography-h5,
.website-wrapper .mud-typography-h6,
.website-wrapper .mud-typography-subtitle1,
.website-wrapper .mud-typography-subtitle2,
.website-wrapper .mud-typography-body1,
.website-wrapper .mud-typography-body2,
.website-wrapper .mud-typography-caption,
.website-wrapper .mud-typography-overline{color:inherit !important;}
.website-wrapper .mud-typography-body1,
.website-wrapper .mud-typography-body2,
.website-wrapper .mud-typography-caption{color:#C9CBD4 !important;}
.website-wrapper .mud-typography-h1,
.website-wrapper .mud-typography-h2,
.website-wrapper .mud-typography-h3,
.website-wrapper .mud-typography-h4,
.website-wrapper .mud-typography-h5,
.website-wrapper .mud-typography-h6,
.website-wrapper .mud-typography-subtitle1,
.website-wrapper .mud-typography-subtitle2{color:#F2F2F5 !important;}

/* MudExpansionPanels / MudTabs / MudAlert / MudTooltip — common shared-comp chrome */
.website-wrapper .mud-expansion-panel,
.website-wrapper .mud-expansion-panels,
.website-wrapper .mud-expand-panel,
.website-wrapper .mud-expand-panel-header,
.website-wrapper .mud-expand-panel-content{
    background:#0B0C12 !important;color:#F2F2F5 !important;
    border-color:rgba(255,255,255,0.07) !important;box-shadow:none !important;
}
.website-wrapper .mud-tabs,
.website-wrapper .mud-tabs-toolbar,
.website-wrapper .mud-tabs-panels{background:transparent !important;color:#F2F2F5 !important;}
.website-wrapper .mud-tab{color:#9DA1AE !important;}
.website-wrapper .mud-tab.mud-tab-active{color:#00E5FF !important;}
.website-wrapper .mud-tabs-tabbar-indicator{background-color:#00E5FF !important;}

.website-wrapper .mud-alert{
    background:rgba(0,229,255,0.06) !important;color:#C9CBD4 !important;
    border:1px solid rgba(0,229,255,0.2) !important;
}

/* MudTable (generic) — when not our matrix-table */
.website-wrapper .mud-table:not(.matrix-table){
    background:#0B0C12 !important;color:#F2F2F5 !important;
    border:1px solid rgba(255,255,255,0.07) !important;box-shadow:none !important;
}
.website-wrapper .mud-table:not(.matrix-table) .mud-table-head,
.website-wrapper .mud-table:not(.matrix-table) thead{background:#11131B !important;color:#F2F2F5 !important;}
.website-wrapper .mud-table:not(.matrix-table) th{color:#F2F2F5 !important;border-color:rgba(255,255,255,0.14) !important;}
.website-wrapper .mud-table:not(.matrix-table) td{color:#C9CBD4 !important;border-color:rgba(255,255,255,0.05) !important;}
.website-wrapper .mud-table:not(.matrix-table) tbody tr:hover{background:rgba(0,229,255,0.04) !important;}

/* MudInput / MudTextField / MudSelect (in case any landing form uses them) */
.website-wrapper .mud-input,
.website-wrapper .mud-input-outlined-border,
.website-wrapper .mud-input-control{color:#F2F2F5 !important;}
.website-wrapper .mud-input-outlined .mud-input-outlined-border{border-color:rgba(255,255,255,0.14) !important;}
.website-wrapper .mud-input-label,
.website-wrapper .mud-input-label-inputcontrol{color:#9DA1AE !important;}
.website-wrapper .mud-input.mud-input-underline::before{border-bottom-color:rgba(255,255,255,0.14) !important;}
.website-wrapper .mud-input.mud-input-underline::after{border-bottom-color:#00E5FF !important;}

/* Landing header (LandingLayout) — the old white header used on pages that still inherit LandingLayout */
.landing-header{
    background:#06070B !important;
    border-bottom:1px solid rgba(255,255,255,0.07) !important;
    box-shadow:none !important;
}
.landing-header .landing-logo,
.landing-header .landing-nav a,
.landing-header .landing-nav span{color:#C9CBD4 !important;}
.landing-header .landing-nav a:hover,
.landing-header .landing-nav span:hover{color:#00E5FF !important;}

/* Kill any inline white backgrounds inside landing shell (attribute selector catches most) */
.website-wrapper [style*="background: white"],
.website-wrapper [style*="background-color: white"],
.website-wrapper [style*="background:#fff"],
.website-wrapper [style*="background-color:#fff"],
.website-wrapper [style*="background: #fff"],
.website-wrapper [style*="background-color: #fff"],
.website-wrapper [style*="background:#FFFFFF"],
.website-wrapper [style*="background-color:#FFFFFF"],
.website-wrapper [style*="background: #FFFFFF"],
.website-wrapper [style*="background-color: #FFFFFF"]{
    background:#0B0C12 !important;
}
.website-wrapper [style*="color: #212121"],
.website-wrapper [style*="color:#212121"],
.website-wrapper [style*="color: rgb(33, 33, 33)"]{color:#F2F2F5 !important;}
.website-wrapper [style*="color: #616161"],
.website-wrapper [style*="color:#616161"],
.website-wrapper [style*="color: #757575"],
.website-wrapper [style*="color:#757575"]{color:#9DA1AE !important;}

/* Privacy / Terms page bodies (MudContainer with default white) */
.website-wrapper .mud-container{background:transparent !important;color:inherit !important;}

/* Background lock for landing pages */
html body.sov-landing,
body.sov-landing .website-wrapper,
body.sov-landing .website-main,
body.sov-landing main#main-content{background-color:#06070B !important;}
