:root{--primary:#0d6efd;--bg:#f8fbff;--muted:#6c757d}
html,body{max-width:100%; overflow-x:hidden}
body{background:var(--bg)}
.hero{position:relative}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,110,253,.25),rgba(255,255,255,.2))}
.section-title{font-weight:800}
.feature-card{transition:transform .2s, box-shadow .2s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.module-card{border:0;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.team-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover}
.dark-toggle{cursor:pointer}
img,svg,video{max-width:100%; height:auto}

/* Navbar logo size */
.navbar-brand img{ height:36px !important; width:auto; max-height:36px; }

/* Footer social icons: remove underline */
.footer-social a{ text-decoration:none !important }
.footer-social a:link,
.footer-social a:visited,
.footer-social a:hover,
.footer-social a:focus,
.footer-social a:active{ text-decoration:none !important; border-bottom:0 !important }
.footer-social a{ display:inline-flex; align-items:center; justify-content:center }
.footer-social a{ line-height:1 !important }
.footer-social a i{ text-decoration:none !important; line-height:1 !important }
.footer-social a:link i,
.footer-social a:visited i,
.footer-social a:hover i,
.footer-social a:focus i,
.footer-social a:active i{ text-decoration:none !important }

/* Mobile navbar toggler: ensure visible icon and border on light header */
.navbar .navbar-toggler { border-color: rgba(0,0,0,.2); }
.navbar .navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar.sticky-top { z-index: 1030; }
