:root { --surface: #0f0f10; --elev-1:#111215; --stroke:#2a2b2f; --muted:#a9adb8; }
body { font-family: "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:#0b0c0e; color:#e9eaee; }
.navbar, .bg-black { background:#000 !important; }
.bg-black, .navbar { color: #fff !important; }
.bg-black :not(.btn):not(.badge) { color: #fff !important; }
.navbar .nav-link, .navbar .navbar-brand { color: #fff !important; }
.bg-black .text-secondary-emphasis { color: #fff !important; }
.navbar-dark .navbar-nav .nav-link { color: #e9eaee; opacity: 1; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active { color: #ffffff; }
.border-secondary { border-color: var(--stroke) !important; }
.text-secondary-emphasis { color: var(--muted) !important; }

.hero-img, .cta-img { height: 72vh; min-height: 420px; }
.hero-copy { max-width: 860px; }
.carousel-caption { background: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.65)); padding: 2rem; border-radius: .5rem; }

.card { transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.35); }

.cta-overlay { position:absolute; inset:0; background:radial-gradient(80% 80% at 50% 50%, rgba(0,0,0,.2), rgba(0,0,0,.7)); }

.scroll-top { right: 1rem; bottom: 1rem; width: 44px; height: 44px; border-radius: 999px; box-shadow: 0 8px 20px rgba(0,0,0,.35); opacity:.9; }
.scroll-top:hover { opacity:1; }

.form-control:focus { box-shadow: 0 0 0 .2rem rgba(255,255,255,.08); border-color:#fff; color:#fff; }

a { text-decoration: none; }