/* Public site corporate theme: Dark Gray + Red */
:root{
	--brand-dark:#1f2937; /* slate-800 */
	--brand:#111827;      /* slate-900 */
	--gray:#374151;       /* slate-700 */
	--muted:#6b7280;      /* slate-500 */
	--accent:#c62828;     /* red-800 */
	--accent-600:#b91c1c; /* red-700 */
	--accent-500:#dc2626; /* red-600 */
}

body{
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
	color:var(--brand);
}

/* Navbar */
.topbar-accent{height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-600));}
.navbar-corp{background-color:var(--brand-dark)!important; border-bottom:1px solid rgba(255,255,255,.08)}
.navbar-corp .navbar-brand{color:#fff;font-weight:700}
.navbar-corp .navbar-brand:hover{color:#fff}
.brand-logo{height:28px;width:auto;object-fit:contain}
.navbar-corp .nav-link{color:rgba(255,255,255,.85)}
.navbar-corp .nav-link:hover,.navbar-corp .nav-link:focus{color:#fff}
.navbar-corp .btn-primary{--bs-btn-bg:var(--accent);--bs-btn-border-color:var(--accent);--bs-btn-hover-bg:var(--accent-600);--bs-btn-hover-border-color:var(--accent-600)}
.navbar .dropdown-menu{border-radius:.5rem}

/* Hero */
.hero{
	background: radial-gradient(1200px 500px at 80% -20%, rgba(220,38,38,.10), transparent 60%),
							linear-gradient(135deg,#f8fafc,#f3f4f6);
	padding:5rem 0;
}
.hero .cta-btn { position: relative; overflow: hidden; }
.hero .cta-btn::after { content:""; position:absolute; inset:0; background:radial-gradient(120px 120px at var(--x,50%) var(--y,50%), rgba(255,255,255,.35), transparent 60%); opacity:0; transition:opacity .25s ease; }
.hero .cta-btn:active::after, .hero .cta-btn:hover::after { opacity:1; }
.hero-orbs .orb{ position:absolute; border-radius:50%; filter:blur(18px); opacity:.22; }
.hero-orbs .orb-red{ width:140px; height:140px; background:linear-gradient(45deg,#ef4444,#b91c1c); top:12%; right:6%; }
.hero-orbs .orb-blue{ width:180px; height:180px; background:linear-gradient(45deg,#60a5fa,#1d4ed8); bottom:-40px; right:18%; }
.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}

/* Buttons override to red */
.btn-primary{
	--bs-btn-bg:var(--accent);
	--bs-btn-border-color:var(--accent);
	--bs-btn-hover-bg:var(--accent-600);
	--bs-btn-hover-border-color:var(--accent-600);
	--bs-btn-focus-shadow-rgb:185,28,28;
}
.btn-outline-primary{
	--bs-btn-color:var(--accent);
	--bs-btn-border-color:var(--accent);
	--bs-btn-hover-bg:var(--accent);
	--bs-btn-hover-border-color:var(--accent);
}

/* Section titles */
.section-title{position:relative;padding-bottom:.5rem;margin-bottom:1.25rem}
.section-title:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-500));border-radius:2px}

/* Cards */
.card{border:1px solid #e5e7eb;border-radius:.9rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.08);border-color:#e2e8f0}
.card .card-title{font-weight:600}
.card-img-top{border-top-left-radius:.9rem;border-top-right-radius:.9rem}

/* Footer */
.footer-corp{background-color:#0b1220;color:#c7cbd4}
.footer-corp a{color:#e5e7eb;text-decoration:none}
.footer-corp a:hover{text-decoration:underline}
.footer{padding:2rem 0}

.small,.text-muted{color:var(--muted)!important}

/* Prose typography for rich content */
.prose p{margin-bottom:1rem;line-height:1.75}
.prose h2{font-size:1.5rem;margin-top:1.5rem;margin-bottom:.75rem;font-weight:700}
.prose h3{font-size:1.25rem;margin-top:1.25rem;margin-bottom:.5rem;font-weight:600}
.prose h4{font-size:1.1rem;margin-top:1rem;margin-bottom:.5rem;font-weight:600}
.prose ul,.prose ol{padding-left:1.25rem;margin-bottom:1rem}
.prose li{margin:.25rem 0}
.prose blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:#374151;margin:1rem 0}
.prose a{color:var(--accent)}
.prose a:hover{text-decoration:underline}

/* Stats band */
.stats-band{ background: linear-gradient(180deg,#f8fafc,#ffffff); border-top:1px solid #eef2f7; border-bottom:1px solid #eef2f7; }
.stats-band .stat{ display:flex; flex-direction:column; align-items:center; }
.stats-band .stat-value{ font-weight:800; font-size:2rem; letter-spacing:.5px; color:#111827; }
.stats-band .stat-label{ color:#6b7280; font-size:.9rem; }
