:root {
    color-scheme: dark;
    --iv-bg: #020713;
    --iv-panel-soft: rgba(15, 23, 42, 0.34);
    --iv-panel: rgba(15, 23, 42, 0.46);
    --iv-panel-strong: rgba(15, 23, 42, 0.6);
    --iv-panel-hover: rgba(15, 23, 42, 0.56);
    --iv-line: rgba(255, 255, 255, 0.1);
    --iv-line-strong: rgba(96, 165, 250, 0.24);
    --iv-text: #f1f5f9;
    --iv-muted: #cbd5e1;
    --iv-blue: #7dd3fc;
    --iv-blur: 24px;
    --iv-feature-blur: 64px;
    --iv-shadow: 0 24px 70px rgba(2, 6, 23, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    --iv-shadow-hover: 0 30px 84px rgba(2, 6, 23, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html {
    background: var(--iv-bg);
}

body[data-infraveil-theme="landing"] {
    min-height: 100vh;
    position: relative;
    isolation: isolate;
    color: var(--iv-text);
    background:
        radial-gradient(circle at 18% 8%, rgba(29, 78, 216, 0.16), transparent 32rem),
        radial-gradient(circle at 82% 16%, rgba(30, 64, 175, 0.1), transparent 28rem),
        linear-gradient(180deg, #030712 0%, #050816 42%, #070b16 100%) !important;
}

.iv-unified-background {
    position: fixed;
    inset: 0;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
    background: #020713;
}

.iv-unified-background canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}

body[data-infraveil-theme="landing"] main .acrylic-frame,
body[data-infraveil-theme="landing"] main .glass-card,
body[data-infraveil-theme="landing"] main .tool-card,
body[data-infraveil-theme="landing"] main .feature-card,
body[data-infraveil-theme="landing"] main .guide-card,
body[data-infraveil-theme="landing"] main .article-card,
body[data-infraveil-theme="landing"] main .content-card,
body[data-infraveil-theme="landing"] main .iv-card,
body[data-infraveil-theme="landing"] main .iv-cta,
body[data-infraveil-theme="landing"] main .core-card,
body[data-infraveil-theme="landing"] main .core-cta,
body[data-infraveil-theme="landing"] main .control-plane-card,
body[data-infraveil-theme="landing"] main .comparison-panel,
body[data-infraveil-theme="landing"] main .comparison-box,
body[data-infraveil-theme="landing"] main .benefit-card,
body[data-infraveil-theme="landing"] main .architecture-card,
body[data-infraveil-theme="landing"] main .info-box,
body[data-infraveil-theme="landing"] main .velocity-step,
body[data-infraveil-theme="landing"] main .security-card,
body[data-infraveil-theme="landing"] main .security-info-box,
body[data-infraveil-theme="landing"] main .capabilities-card,
body[data-infraveil-theme="landing"] main .pricing-card,
body[data-infraveil-theme="landing"] main .sectors-card,
body[data-infraveil-theme="landing"] main .metric-card,
body[data-infraveil-theme="landing"] main .stat-card,
body[data-infraveil-theme="landing"] main .question-card,
body[data-infraveil-theme="landing"] main .position-shell,
body[data-infraveil-theme="landing"] main .position-side,
body[data-infraveil-theme="landing"] main .market-stat-card,
body[data-infraveil-theme="landing"] main .portal-glass-card,
body[data-infraveil-theme="landing"] main .privacy-box,
body[data-infraveil-theme="landing"] main .transparency-box,
body[data-infraveil-theme="landing"] main .lifecycle-card,
body[data-infraveil-theme="landing"] main .hero-copy-card,
body[data-page="login"] .acrylic-panel {
    background: var(--iv-panel) !important;
    background-image: none !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

/* Guide table-of-contents panels have page-local legacy styling. */
body[data-infraveil-theme="landing"] main .iv-toc {
    background: var(--iv-panel) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 1.5rem !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] main .acrylic-frame:hover,
body[data-infraveil-theme="landing"] main .glass-card:hover,
body[data-infraveil-theme="landing"] main .tool-card:hover,
body[data-infraveil-theme="landing"] main .feature-card:hover,
body[data-infraveil-theme="landing"] main .guide-card:hover,
body[data-infraveil-theme="landing"] main .article-card:hover,
body[data-infraveil-theme="landing"] main .content-card:hover,
body[data-infraveil-theme="landing"] main .iv-card:hover,
body[data-infraveil-theme="landing"] main .iv-cta:hover,
body[data-infraveil-theme="landing"] main .core-card:hover,
body[data-infraveil-theme="landing"] main .core-cta:hover,
body[data-infraveil-theme="landing"] main .control-plane-card:hover,
body[data-infraveil-theme="landing"] main .comparison-panel:hover,
body[data-infraveil-theme="landing"] main .comparison-box:hover,
body[data-infraveil-theme="landing"] main .benefit-card:hover,
body[data-infraveil-theme="landing"] main .architecture-card:hover,
body[data-infraveil-theme="landing"] main .info-box:hover,
body[data-infraveil-theme="landing"] main .velocity-step:hover,
body[data-infraveil-theme="landing"] main .security-card:hover,
body[data-infraveil-theme="landing"] main .security-info-box:hover,
body[data-infraveil-theme="landing"] main .capabilities-card:hover,
body[data-infraveil-theme="landing"] main .pricing-card:hover,
body[data-infraveil-theme="landing"] main .sectors-card:hover,
body[data-infraveil-theme="landing"] main .metric-card:hover,
body[data-infraveil-theme="landing"] main .stat-card:hover,
body[data-infraveil-theme="landing"] main .question-card:hover,
body[data-infraveil-theme="landing"] main .position-shell:hover,
body[data-infraveil-theme="landing"] main .position-side:hover,
body[data-infraveil-theme="landing"] main .market-stat-card:hover,
body[data-infraveil-theme="landing"] main .portal-glass-card:hover,
body[data-infraveil-theme="landing"] main .privacy-box:hover,
body[data-infraveil-theme="landing"] main .transparency-box:hover,
body[data-infraveil-theme="landing"] main .lifecycle-card:hover,
body[data-infraveil-theme="landing"] main .hero-copy-card:hover,
body[data-page="login"] .acrylic-panel:hover {
    background: var(--iv-panel-hover) !important;
    background-image: none !important;
    border-color: var(--iv-line-strong) !important;
    box-shadow: var(--iv-shadow-hover) !important;
}

/* Family adapters: these are neutral content surfaces that do not share the
   common card class names. Keep geometry and interactive state in page CSS. */
body[data-infraveil-theme="landing"] main :is(
    .boundary__item,
    .pc-card,
    .rp-card,
    .cm-box
) {
    background: var(--iv-panel) !important;
    background-image: none !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] main :is(
    .boundary__item,
    .pc-card,
    .rp-card,
    .cm-box
):hover {
    background: var(--iv-panel-hover) !important;
    border-color: var(--iv-line-strong) !important;
    box-shadow: var(--iv-shadow-hover) !important;
}

/* Utility-built panels are common on tools and guides. Only normalize
   rounded/bordered/backdrop surfaces so full-width sections keep their layout. */
body[data-infraveil-theme="landing"] main :is(
    [class*="bg-black/"],
    [class*="bg-slate-900/"],
    [class*="bg-slate-950/"]
):is(
    [class*="rounded"],
    [class*="border"],
    [class*="backdrop-blur"]
) {
    background-color: var(--iv-panel-soft) !important;
}

body[data-infraveil-theme="landing"] main [class*="border-white/"] {
    border-color: var(--iv-line) !important;
}

body[data-infraveil-theme="landing"] main [class*="backdrop-blur"] {
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
}

/* Navless utility and error pages retain their bespoke structure and controls,
   but use the same acrylic material as the rest of the site. */
body[data-infraveil-theme="landing"] > main.card {
    background: var(--iv-panel) !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] > main.card .receipt {
    background: var(--iv-panel-soft) !important;
    border-color: var(--iv-line) !important;
}

body[data-infraveil-theme="landing"] > :is(.seed, .sound) {
    background: var(--iv-panel) !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] main .hero-actions .button {
    background: var(--iv-panel) !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
}

body[data-infraveil-theme="landing"] main .hero-actions .button:hover {
    background: var(--iv-panel-hover) !important;
    border-color: var(--iv-line-strong) !important;
}

body[data-infraveil-theme="landing"] main .hero-actions .button--primary,
body[data-infraveil-theme="landing"] main .hero-actions .button--primary:hover {
    background: #2563eb !important;
    border-color: #2563eb !important;
}

body[data-infraveil-theme="landing"] > .bar {
    background: var(--iv-panel) !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-feature-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-feature-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] > .bar + .wrap :is(.preview, .snip, .callout) {
    background: var(--iv-panel) !important;
    border-color: var(--iv-line) !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

body[data-infraveil-theme="landing"] > .bar + .wrap .snip .cp {
    background: var(--iv-panel-strong) !important;
    border-color: var(--iv-line) !important;
}
/* Keep the homepage marketing cards on the same soft, filled geometry as the core pages. */
body[data-page="home"] main :is(
    .glass-card,
    .feature-card,
    .control-plane-card,
    .comparison-panel,
    .comparison-box,
    .benefit-card,
    .architecture-card,
    .info-box,
    .velocity-step,
    .security-card,
    .security-info-box,
    .capabilities-card,
    .pricing-card,
    .sectors-card,
    .metric-card,
    .stat-card,
    .question-card,
    .position-shell,
    .position-side,
    .market-stat-card,
    .portal-glass-card,
    .privacy-box,
    .transparency-box,
    .lifecycle-card,
    .hero-copy-card,
    .iv-card
) {
    border-width: 0 !important;
    border-radius: 1.5rem !important;
}

body[data-page="home"] main .market-stat-card::after {
    display: none;
}

body[data-page="home"] main :is(.market-stat-card, .hero-copy-card) {
    contain: none !important;
    isolation: auto !important;
    transform: none !important;
    backface-visibility: visible !important;
    -webkit-backdrop-filter: blur(var(--iv-feature-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-feature-blur)) saturate(1.08) !important;
}

body[data-page="home"] main .market-stat-card {
    overflow: visible !important;
}
body[data-infraveil-theme="landing"] footer:not(.iv-global-footer) {
    background: rgba(15, 23, 42, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.05) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    backdrop-filter: blur(24px) !important;
}

body[data-infraveil-theme="landing"] :is(.text-gray-300, .text-slate-300) {
    color: #cbd5e1 !important;
}

body[data-infraveil-theme="landing"] :is(.text-gray-400, .text-slate-400) {
    color: #aebdd1 !important;
}

body[data-infraveil-theme="landing"] :is(input, textarea, select, .iv-field) {
    background-color: rgba(15, 23, 42, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #f1f5f9 !important;
}

body[data-infraveil-theme="landing"] :is(input, textarea, select, .iv-field):focus {
    outline: none !important;
    background-color: rgba(15, 23, 42, 0.8) !important;
    border-color: #60a5fa !important;
}

body[data-infraveil-theme="landing"] .iv-btn {
    background: #2563eb !important;
    color: #fff !important;
    border-color: transparent !important;
}

body[data-infraveil-theme="landing"] .iv-btn:hover {
    background: #3b82f6 !important;
}

.iv-product-bridge {
    position: relative;
    z-index: 2;
    width: min(72rem, calc(100% - 2rem));
    margin: 2.5rem auto;
    padding: 1.5rem 1.75rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    border: 1px solid var(--iv-line);
    border-radius: 1.5rem;
    background: var(--iv-panel);
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08);
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08);
    box-shadow: var(--iv-shadow);
}

.iv-product-bridge__label {
    margin: 0 0 0.35rem;
    color: var(--iv-blue);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.iv-product-bridge__title {
    margin: 0;
    color: white;
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
    font-weight: 650;
    line-height: 1.2;
}

.iv-product-bridge__copy {
    margin: 0.55rem 0 0;
    max-width: 48rem;
    color: var(--iv-muted);
    font-size: 0.98rem;
    line-height: 1.6;
}

.iv-product-bridge__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.75rem 1.15rem;
    border: 1px solid rgba(125, 211, 252, 0.35);
    border-radius: 999px;
    color: #e0f2fe;
    background: rgba(30, 64, 175, 0.24);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.iv-product-bridge__link:hover {
    background: rgba(30, 64, 175, 0.38);
    border-color: rgba(125, 211, 252, 0.56);
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    body[data-infraveil-theme="landing"] .guide-prose .flex-grow {
        min-width: 0;
        max-width: 100%;
    }

    body[data-infraveil-theme="landing"] .guide-prose pre {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }

    .iv-product-bridge {
        grid-template-columns: 1fr;
        padding: 1.25rem;
        border-radius: 1.2rem;
    }

    .iv-product-bridge__link {
        width: 100%;
    }
}

/* Shared main-content card contract. Keep navigation and utility surfaces out of scope. */
body[data-infraveil-theme="landing"] main :is(
    .acrylic-frame,
    .glass-card,
    .tool-card,
    .feature-card,
    .guide-card,
    .article-card,
    .content-card,
    .iv-card,
    .iv-cta,
    .core-card,
    .core-cta,
    .control-plane-card,
    .comparison-panel,
    .comparison-box,
    .benefit-card,
    .architecture-card,
    .info-box,
    .velocity-step,
    .security-card,
    .security-info-box,
    .capabilities-card,
    .pricing-card,
    .sectors-card,
    .metric-card,
    .stat-card,
    .question-card,
    .position-shell,
    .position-side,
    .market-stat-card,
    .portal-glass-card,
    .privacy-box,
    .transparency-box,
    .lifecycle-card,
    .hero-copy-card
) {
    border: 0 !important;
    border-radius: 1.5rem !important;
}

/* Documentation has unclassed hero and TOC wrappers; normalize only that page family. */
body[data-infraveil-theme="landing"]:has(main .doc-section) main > header > .animate-on-load.delay-300,
body[data-infraveil-theme="landing"]:has(main .doc-section) main > div > aside > .sticky,
body[data-infraveil-theme="landing"]:has(main .doc-section) main .doc-section {
    background: var(--iv-panel) !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 1.5rem !important;
    -webkit-backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    backdrop-filter: blur(var(--iv-blur)) saturate(1.08) !important;
    box-shadow: var(--iv-shadow) !important;
}

@media (prefers-reduced-motion: reduce) {
    .iv-unified-background canvas {
        opacity: 0.82;
    }

    .iv-product-bridge__link {
        transition: none;
    }
}


/* iv-2026-unified-pass: pricing material with the live index navigation contract */
body[data-infraveil-theme="landing"] > .fixed.inset-0.pointer-events-none,
body[data-infraveil-theme="landing"] > .orbs { display:none !important; }
body[data-infraveil-theme="landing"] .iv-background { display:none !important; }

.iv-rising-motes { position:absolute; inset:0; z-index:1; overflow:hidden; }
.iv-rising-mote {
    position:absolute; left:var(--iv-mote-x); bottom:-2rem;
    width:var(--iv-mote-size); height:var(--iv-mote-size);
    border:1px solid rgba(186,230,253,.3); border-radius:999px;
    background:rgba(125,211,252,.15); box-shadow:0 0 9px rgba(56,189,248,.12);
    opacity:0; animation:iv-mote-rise var(--iv-mote-duration) linear infinite;
    animation-delay:var(--iv-mote-delay);
}
@keyframes iv-mote-rise {
    0%{opacity:0;transform:translate3d(0,4vh,0) scale(.72)}
    12%{opacity:var(--iv-mote-opacity)}
    78%{opacity:calc(var(--iv-mote-opacity) * .78)}
    100%{opacity:0;transform:translate3d(var(--iv-mote-drift),-112vh,0) scale(1.08)}
}

.iv-brand-wordmark-link {
    display:inline-flex !important;
    align-items:center;
    justify-content:flex-start;
    flex:0 0 auto;
    text-decoration:none;
}
.iv-wordmark {
    display:inline-block;
    color:#f8fbff;
    background:linear-gradient(100deg,#ffffff 0%,#edf6ff 35%,#91c5f7 64%,#2c73bd 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    font-family:"Source Sans Pro",ui-sans-serif,system-ui,sans-serif;
    font-size:1.72rem;
    font-weight:300;
    letter-spacing:-.065em;
    line-height:1;
    white-space:nowrap;
    text-shadow:0 0 22px rgba(96,165,250,.1);
}
/* Navbar contract: exactly match index.html / the whitepaper proportions on
   every main-site page while retaining the main blue-to-white gradient. */
body[data-infraveil-theme="landing"] #main-nav .iv-wordmark {
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:.94rem !important;
    font-weight:700 !important;
    letter-spacing:.21em !important;
    line-height:1.5 !important;
}
body[data-page="login"] .iv-wordmark { font-size:2rem; }

body[data-infraveil-theme="landing"] #main-nav {
    position:fixed;
    top:1.5rem;
    left:50%;
    right:auto;
    z-index:50;
    width:95%;
    max-width:80rem;
    margin:0;
    transform:translateX(-50%) translateY(0) scaleX(1);
    transform-origin:top center;
    opacity:1;
    transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease,top .6s ease;
}
body[data-infraveil-theme="landing"] #main-nav.nav-hidden {
    transform:translateX(-50%) translateY(-200%) scaleX(.8) scaleY(.8);
    opacity:0;
    pointer-events:none;
}
body[data-infraveil-theme="landing"] #main-nav .iv-nav-bar {
    position:relative;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:4.5rem;
    padding:1rem 2rem;
    border:0 !important;
    border-radius:9999px;
    background:var(--iv-panel) !important;
    -webkit-backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    box-shadow:0 24px 70px rgba(2,6,23,.34) !important;
}
#main-nav .iv-nav-links {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.75rem;
    color:#e5e7eb;
    font-size:11px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
}
#main-nav .iv-nav-actions { display:flex; align-items:center; gap:.75rem; flex:0 0 auto; }
#main-nav .iv-nav-login,
#main-nav .iv-nav-signup {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.5rem;
    padding:.625rem 1.5rem;
    border-radius:9999px;
    color:#fff;
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
    line-height:1;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
    transition:background-color .2s ease,border-color .2s ease;
}
#main-nav .iv-nav-login { border:1px solid transparent; background:#2563eb; box-shadow:0 10px 22px rgba(30,58,138,.4); }
#main-nav .iv-nav-login:hover { background:#3b82f6; }
#main-nav .iv-nav-signup { border:1px solid rgba(255,255,255,.15); background:transparent; }
#main-nav .iv-nav-signup:hover { background:rgba(255,255,255,.05); }
#main-nav .iv-mobile-toggle {
    display:none;
    align-items:center;
    justify-content:center;
    width:2.5rem;
    height:2.5rem;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
}
#main-nav .iv-mobile-toggle svg { width:1.5rem; height:1.5rem; }
#main-nav .iv-icon-hidden { display:none !important; }

#main-nav .nav-item {
    position:relative;
    padding:0;
    border:0;
    background:none;
    color:inherit;
    font:inherit;
    font-weight:300;
    letter-spacing:.05em;
    text-decoration:none;
    text-transform:inherit;
    white-space:nowrap;
    cursor:pointer;
    transition:color .3s ease;
}
#main-nav .nav-item::after {
    content:"";
    position:absolute;
    bottom:-2px;
    left:0;
    width:0;
    height:1px;
    background:#fff;
    transition:width .3s ease;
}
#main-nav .nav-item:hover,
#main-nav .nav-item.active { color:#fff; }
#main-nav .nav-item:hover::after,
#main-nav .nav-item.active::after { width:100%; }
#main-nav .iv-trigger { display:inline-flex; align-items:center; gap:5px; }
#main-nav .iv-trigger svg { width:.75rem; height:.75rem; transition:transform .26s cubic-bezier(.22,1,.36,1); }
#main-nav .iv-trigger.active svg { transform:rotate(180deg); }

#main-nav .iv-mega {
    position:absolute;
    top:calc(100% + 14px);
    left:0;
    z-index:60;
    display:block;
    overflow-x:hidden;
    overflow-y:auto;
    max-width:calc(100vw - 2rem);
    max-height:min(32rem,calc(100vh - 7rem));
    border:0 !important;
    border-radius:1rem;
    background:var(--iv-panel) !important;
    -webkit-backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    box-shadow:0 24px 70px rgba(2,6,23,.34) !important;
    scrollbar-width:thin;
    scrollbar-color:rgba(125,211,252,.28) transparent;
    opacity:0;
    pointer-events:none;
    transform:translateY(10px) scale(.985);
    transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1);
}
#main-nav .iv-mega .iv-panel > div[style*="width:900px"] { width:min(900px,calc(100vw - 3rem)) !important; }
#main-nav .iv-mega .iv-panel { background:transparent !important; }
#main-nav .iv-mega.open { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
#main-nav .iv-panel { display:none; }
#main-nav .iv-panel.active { display:block; }
#main-nav .iv-panel.active .iv-mlink {
    opacity:0;
    animation:ivMenuItem .34s cubic-bezier(.22,1,.36,1) forwards;
    animation-delay:calc(var(--iv-i,0) * .02s);
}
@keyframes ivMenuItem { from{opacity:0;transform:translateY(8px);filter:blur(7px)} to{opacity:1;transform:translateY(0);filter:blur(0)} }
#main-nav .iv-mlink { display:block; padding:8px 12px; border-radius:10px; text-decoration:none; transition:background .16s ease; }
#main-nav .iv-mlink:hover { background:rgba(59,130,246,.12); }
#main-nav .iv-mlink:hover .iv-mt { color:#fff; }
#main-nav .iv-mt { display:block; color:#e8eef9; font-size:13px; font-weight:400; letter-spacing:0; line-height:1.25; text-transform:none; }
#main-nav .iv-md { display:block; margin-top:1px; color:#94a3b8; font-size:11px; letter-spacing:0; line-height:1.3; text-transform:none; }
#main-nav .iv-lbl { padding:12px 12px 6px; color:#64748b; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
#main-nav .iv-all { display:inline-block; margin:8px 12px 4px; color:#7dd3fc; font-size:10px; font-weight:600; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
#main-nav .iv-all:hover { color:#bae6fd; }

#main-nav #mobile-dropdown {
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    z-index:40;
    display:none;
    width:100%;
    max-height:0;
    overflow:hidden;
    border:0 !important;
    border-radius:1rem;
    background:var(--iv-panel) !important;
    -webkit-backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    backdrop-filter:blur(var(--iv-feature-blur)) saturate(1.08) !important;
    box-shadow:0 24px 70px rgba(2,6,23,.34) !important;
    opacity:0;
    pointer-events:none;
    transform:translateY(-10px);
    transition:max-height .3s ease,opacity .3s ease,transform .3s ease;
}
#main-nav #mobile-dropdown.open {
    max-height:75vh;
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}
#main-nav #iv-mobile-list { display:flex; flex-direction:column; padding:1.25rem; }
#main-nav .iv-mobile-home,
#main-nav .iv-mobile-link { color:#cbd5e1; font-size:.875rem; line-height:1.35; text-decoration:none; }
#main-nav .iv-mobile-home { padding:.625rem 0; border-bottom:1px solid rgba(255,255,255,.1); color:#fff; }
#main-nav .iv-mobile-label { padding:1rem 0 .25rem; color:#64748b; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
#main-nav .iv-mobile-link { padding:.375rem 0; }
#main-nav .iv-mobile-link:hover { color:#fff; }

body[data-infraveil-theme="landing"] nav[aria-label="Breadcrumb"] {
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    opacity:1 !important;
}

#main-nav[data-iv-shared-owner="true"] + main { padding-top:1.5rem; }
body[data-page="login"] {
    height:auto;
    min-height:100vh;
    min-height:100dvh;
    margin:0;
    padding:1.5rem 0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow-x:hidden;
    overflow-y:auto;
}

@media (max-width:1023px) {
    body[data-infraveil-theme="landing"] #main-nav { top:.75rem; }
    body[data-infraveil-theme="landing"] #main-nav .iv-nav-bar { min-height:4rem; padding:.75rem 1rem; }
    #main-nav .iv-nav-links,
    #main-nav .iv-mega { display:none; }
    #main-nav .iv-mobile-toggle,
    #main-nav #mobile-dropdown { display:flex; }
}
@media (max-width:560px) {
    #main-nav .iv-wordmark { font-size:.94rem; }
    #main-nav .iv-nav-actions { gap:.45rem; }
    #main-nav .iv-nav-login { min-height:2.25rem; padding:.55rem .85rem; }
    #main-nav .iv-nav-signup { display:none; }
}
@media (max-width:430px) {
    body[data-infraveil-theme="landing"] #main-nav .iv-wordmark {
        font-size:.84rem !important;
        letter-spacing:.16em !important;
    }
}
@media (prefers-reduced-motion:reduce) {
    .iv-rising-mote { display:none; }
    body[data-infraveil-theme="landing"] #main-nav,
    #main-nav .iv-mega,
    #main-nav #mobile-dropdown,
    #main-nav .iv-trigger svg { transition:none; }
    #main-nav .iv-panel.active .iv-mlink { animation:none; opacity:1; }
}
.iv-global-footer {
    position:relative;
    z-index:10;
    width:100%;
    margin:0;
    padding:4rem 1.5rem 2.5rem !important;
    color:#9aafc3;
    background:rgba(6,20,38,.78) !important;
    border-top:1px solid rgba(148,184,226,.09) !important;
    -webkit-backdrop-filter:blur(24px) saturate(1.04);
    backdrop-filter:blur(24px) saturate(1.04);
}
.iv-footer-grid {
    width:min(80rem,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) repeat(5,minmax(0,1fr));
    gap:2.5rem 2rem;
}
.iv-footer-intro p {
    max-width:15rem;
    margin:1.4rem 0 0;
    color:#7890a8;
    font-size:.82rem;
    line-height:1.75;
}
.iv-footer-brand { display:inline-flex; text-decoration:none; }
.iv-footer-brand .iv-wordmark { font-size:1.8rem; }
.iv-footer-label {
    margin:0 0 1.25rem;
    color:#7793ad;
    font-size:.62rem;
    font-weight:700;
    line-height:1;
    letter-spacing:.22em;
    text-transform:uppercase;
}
.iv-footer-link {
    display:block;
    width:max-content;
    max-width:100%;
    margin:.72rem 0 0;
    color:#8ea2b7;
    font-size:.8rem;
    line-height:1.35;
    text-decoration:none;
    transition:color 160ms ease,transform 160ms ease;
}
.iv-footer-link:hover { color:#d6e5f3; transform:translateX(2px); }
.iv-footer-bottom {
    width:min(80rem,100%);
    margin:3.5rem auto 0;
    padding-top:1.9rem;
    border-top:1px solid rgba(148,184,226,.11);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    color:#5c738a;
    font-size:.58rem;
    line-height:1.6;
    letter-spacing:.24em;
    text-transform:uppercase;
}
.iv-footer-bottom-links { display:flex; flex-wrap:wrap; gap:1.5rem; }
.iv-footer-bottom a { color:inherit; text-decoration:none; transition:color 160ms ease; }
.iv-footer-bottom a:hover { color:#a9bfd3; }
@media (max-width:1023px) {
    .iv-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .iv-footer-intro { grid-column:1 / -1; }
    .iv-footer-intro p { max-width:25rem; }
}
@media (max-width:639px) {
    .iv-global-footer { padding:3.25rem 1.5rem 2rem !important; }
    .iv-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem 1.25rem; }
    .iv-footer-intro { grid-column:1 / -1; }
    .iv-footer-bottom { margin-top:3rem; align-items:flex-start; flex-direction:column; }
}
body[data-page="login"] .iv-product-bridge { display:none !important; }

/* Explicit scroll region for dense result tables on narrow screens. */
.iv-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.iv-table-scroll > table { min-width: 40rem; }

.iv-privacy-settings-link {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

