@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --color-bg-primary: #1F2A44;
    --color-bg-panel: #0F172A;
    --color-bg-elevated: #14213A;
    --color-bg-soft: #24324F;

    --color-accent-teal: #14B2B0;
    --color-accent-teal-soft: #2FA4A9;
    --color-accent-yellow: #FFAE03;
    --color-accent-orange: #E55934;

    --color-text-primary: #F5F7FA;
    --color-text-secondary: #D9E1E8;
    --color-text-muted: #9FB0C3;
    --color-text-dark: #101B31;

    --color-border-subtle: rgba(217, 225, 232, 0.12);
    --color-border-strong: rgba(217, 225, 232, 0.2);

    --font-primary: 'Montserrat', system-ui, sans-serif;

    --container-max: 1400px;

    --space-section-lg: clamp(88px, 10vw, 140px);
    --space-section-md: clamp(64px, 7vw, 96px);
    --space-section-sm: clamp(42px, 5vw, 64px);

    --radius-card: 18px;
    --radius-button: 999px;

    --shadow-soft: 0 12px 32px rgba(0, 0, 0, 0.18);
    --shadow-panel: 0 20px 60px rgba(0, 0, 0, 0.28);

    --transition-standard: 220ms ease;
}

html, body { background: var(--color-bg-primary); color: var(--color-text-primary); font-family: var(--font-primary); }
body { line-height: 1.7; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.container { width: min(92%, var(--container-max)); margin-inline:auto; }
.section, .section-tight, .cta, .identity, .resources, .cyber-ops, .why-dbt { position: relative; }
.section { padding: var(--space-section-lg) 0; }
.section-tight { padding: var(--space-section-md) 0; }
.kicker, .section-heading, .eyebrow, .trust-title { color: var(--color-accent-teal) !important; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 800; }
.section-title, .identity h2, .cta h2 { font-family: var(--font-primary); font-weight: 700; letter-spacing: -0.04em;} .hero h1 { font-family: var(--font-primary); font-weight: 500; letter-spacing: -0.04em;}
.hero h1 { font-size: clamp(46px, 5vw, 64px); line-height: 1.08;}
.section-subtitle, .hero p, .identity p, .ops-card p, .resource-card p { color: var(--color-text-muted) !important; }
.site-header { background: transparent !important; border-bottom: 0 !important; backdrop-filter: none !important;}
.main-nav > a, .nav-dropdown > a { color: var(--color-text-secondary)!important; font-family: var(--font-primary); font-weight: 600; }
.main-nav a:hover { color: var(--color-accent-teal)!important; }
.dropdown-menu { background: rgba(15,23,42,.98)!important; border:1px solid var(--color-border-subtle)!important; border-radius:var(--radius-card)!important; backdrop-filter:blur(18px); }
.dropdown-menu a { color: var(--color-text-secondary)!important; }
.dropdown-menu a:hover { background: rgba(255,255,255,.04)!important; color: var(--color-accent-teal)!important; }
.hero { background: radial-gradient(circle at 78% 24%, rgba(20,178,176,.18), transparent 26%), linear-gradient(180deg,#1F2A44 0%, #18243C 100%) !important; }
.solution-card,.ops-card,.resource-card,.why-card,.metric,.identity-img,.industry-card { border-radius: var(--radius-card)!important; }
.solution-card,.ops-card,.resource-card { background: var(--color-bg-panel)!important; border:1px solid var(--color-border-subtle)!important; box-shadow:none!important; }
.solution-card h3,.ops-card h3,.resource-card h3,.identity h2,.section-title { color: var(--color-text-primary)!important; }
.solution-card p,.ops-card p,.resource-card p,.check-list li { color: var(--color-text-secondary)!important; }
.solution-card:hover,.ops-card:hover,.resource-card:hover { transform:translateY(-4px); border-color:rgba(20,178,176,.32)!important; background:var(--color-bg-elevated)!important; }
.learn,.icon,.industry-content .learn { color: var(--color-accent-teal)!important; }
.trust-row { background: var(--color-bg-panel)!important; border-top:1px solid var(--color-border-subtle); border-bottom:1px solid var(--color-border-subtle)!important; }
.trust-mark { color: var(--color-text-primary)!important; border-right:1px solid var(--color-border-subtle)!important; }
.trust-mark small { color: var(--color-text-muted)!important; }
.cyber-ops,.resources,.identity { background: transparent!important; }
.ops-panel,.why-card { background: linear-gradient(180deg,#0F172A 0%,#111C30 100%)!important; border:1px solid var(--color-border-subtle); }
.cta { background: transparent !important; }
.cta .container { background: transparent !important; padding: 0 !important; border-radius: 0 !important; color: inherit !important; }
.cta h2, .cta p { color: inherit !important; }
.site-footer { background:#0B1220!important; border-top:1px solid var(--color-border-subtle); }
.footer-column h4 { color: var(--color-text-primary)!important; }
.footer-column a,.footer-brand p,.footer-bottom { color: var(--color-text-muted)!important; }
.footer-column a:hover { color: var(--color-accent-teal)!important; }
.mobile-nav { background: var(--color-bg-panel)!important; }
.mobile-nav a { color: var(--color-text-secondary)!important; border-bottom:1px solid var(--color-border-subtle)!important; }
/* =====================================================
   Buttons
===================================================== */

.btn,
.nav-cta {
    border-radius: var(--radius-button) !important;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: all var(--transition-standard);
    text-decoration: none !important;
}

.btn-primary,
.nav-cta {
    background: var(--color-accent-yellow) !important;
    color: #111827 !important;
    box-shadow: none !important;
}

.btn-primary:hover,
.nav-cta:hover {
    transform: translateY(-2px);
    background: #ffc53d !important;
}

.btn-outline {
    border: 1px solid rgba(245, 247, 250, 0.28) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    backdrop-filter: blur(8px);

    color: var(--color-text-primary) !important;
    text-decoration: none !important;
}

.btn-outline:hover,
.btn-outline:focus,
.btn-outline:visited {
    color: var(--color-text-primary) !important;
    text-decoration: none !important;
}
@media (max-width:760px){ .section{padding:var(--space-section-md) 0;} .hero h1{line-height:1.05;} }