/* AIPlus Tech — Premium Company UI (Bootstrap + Custom, no build tools) */

:root{
  --brand:#0B2A6F;
  --brand-ink:#07183f;
  --accent:#1f6feb;

  --bg:#070A12;
  --surface:#0b1020;
  --surface-2:#0e1630;

  --page:#ffffff;
  --text:#0b1220;
  --muted:#5b6b84;

  --border:rgba(15,23,42,.10);
  --border-strong:rgba(15,23,42,.16);

  --shadow-sm: 0 8px 22px rgba(2,6,23,.06);
  --shadow-md: 0 18px 45px rgba(2,6,23,.10);
  --shadow-lg: 0 30px 70px rgba(2,6,23,.14);

  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;

  --ring: rgba(11,42,111,.22);
}

html,body{ height:100%; }

body{
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background: var(--page);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{ text-decoration:none; }
a:hover{ text-decoration:none; }

.container-narrow{ max-width: 1120px; }

/* Typography improvements */
.display-tight{
  letter-spacing:-0.03em;
  line-height:1.05;
}

.section-title{
  letter-spacing:-0.02em;
}

.lead-muted{
  color: var(--muted);
}

/* Navbar: more premium */
.navbar-blur{
  backdrop-filter: saturate(160%) blur(16px);
  background: rgba(255,255,255,.88) !important;
}

.navbar{
  transition: box-shadow .15s ease, background-color .15s ease;
}

.navbar .nav-link{
  color: rgba(11,18,32,.78);
  font-weight: 600;
  padding: .55rem .75rem;
  border-radius: 999px;
  transition: background-color .12s ease, color .12s ease;
}

.navbar .nav-link:hover{
  background: rgba(11,42,111,.06);
  color: var(--brand);
}

.nav-link.active{
  background: rgba(11,42,111,.10);
  color: var(--brand) !important;
  border: 1px solid rgba(11,42,111,.16);
}

.brand-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(11,42,111,.12), rgba(11,42,111,.06));
  border: 1px solid rgba(11,42,111,.20);
  color: var(--brand);
  font-weight: 900;
  letter-spacing:-0.02em;
}

.navbar-brand span.fw-bold{
  letter-spacing:-0.02em;
}

/* Hero: darker, more modern, more company-grade */
.hero-modern{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(15,23,42,.06);
  background:
    radial-gradient(900px 520px at 12% 16%, rgba(11,42,111,.30), transparent 60%),
    radial-gradient(920px 520px at 90% 22%, rgba(31,111,235,.20), transparent 60%),
    radial-gradient(820px 520px at 58% 96%, rgba(25,135,84,.12), transparent 60%),
    linear-gradient(180deg, rgba(248,250,252,1), rgba(255,255,255,1));
}

.hero-orb{
  position:absolute;
  width: 520px;
  height: 520px;
  border-radius: 999px;
  filter: blur(6px);
  opacity:.55;
  transform: translateZ(0);
  animation: floaty 12s ease-in-out infinite;
  pointer-events:none;
}
.hero-orb.orb-1{
  left:-160px; top:-220px;
  background: radial-gradient(circle at 30% 30%, rgba(11,42,111,.55), rgba(11,42,111,0));
}
.hero-orb.orb-2{
  right:-220px; top:-180px;
  background: radial-gradient(circle at 30% 30%, rgba(31,111,235,.45), rgba(31,111,235,0));
  animation-delay: 1.5s;
}
.hero-orb.orb-3{
  right:120px; bottom:-260px;
  background: radial-gradient(circle at 30% 30%, rgba(25,135,84,.22), rgba(25,135,84,0));
  animation-delay: 3s;
}

@keyframes floaty{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(18px); }
}

/* Kicker: cleaner and premium */
.kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.4rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(11,42,111,.16);
  background: rgba(11,42,111,.06);
  color: var(--brand);
  font-weight: 700;
  font-size: .9rem;
}

/* Buttons: more premium */
.btn{
  border-radius: 14px;
  font-weight: 700;
}

.btn-brand{
  background: linear-gradient(180deg, var(--brand), var(--brand-ink));
  border: 1px solid rgba(7,24,63,.20);
  box-shadow: 0 14px 32px rgba(11,42,111,.22);
    color: white;
}
.btn-brand:hover{
  filter: brightness(.98);
  box-shadow: 0 18px 44px rgba(11,42,111,.26);
}

.btn-soft{
  background: rgba(11,42,111,.06);
  border: 1px solid rgba(11,42,111,.18);
  color: var(--brand);
}
.btn-soft:hover{
  background: rgba(11,42,111,.10);
  color: var(--brand-ink);
}

/* Cards: stronger depth, better hover */
.card-pro{
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,1);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.card-pro:hover{
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
  border-color: var(--border-strong);
}

/* Icon box: premium */
.icon-box{
  width:46px;
  height:46px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(31,111,235,.10), rgba(11,42,111,.05));
  border: 1px solid rgba(11,42,111,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  color: var(--brand);
}

/* Badges */
.badge-primary-soft{
  background: rgba(11,42,111,.10);
  color: var(--brand);
  border: 1px solid rgba(11,42,111,.18);
  border-radius: 999px;
  font-weight: 700;
  padding: .4rem .6rem;
}

/* Section spacing improvement */
section.py-5{
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

/* Tables */
.table-modern thead th{
  background: rgba(248,250,252,1);
  border-bottom: 1px solid rgba(15,23,42,.10);
}
.table-modern td, .table-modern th{
  padding: 1rem .95rem;
}

/* Forms */
.form-control, .form-select{
  border-radius: 14px;
  border-color: rgba(15,23,42,.14);
  padding: .7rem .85rem;
}

.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 .25rem var(--ring);
  border-color: rgba(11,42,111,.35);
}

/* Footer: more premium */
.footer-modern{
  background: radial-gradient(900px 420px at 20% 20%, rgba(31,111,235,.16), transparent 55%),
              radial-gradient(900px 420px at 80% 40%, rgba(11,42,111,.24), transparent 60%),
              linear-gradient(180deg, #050714, #070A12);
  color: rgba(255,255,255,.82);
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-modern .brand-badge{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
}

.footer-modern a{
  color: rgba(255,255,255,.78);
}
.footer-modern a:hover{
  color: #fff;
}

/* Small devices */
@media (max-width: 991.98px){
  .container-narrow{ max-width: 100%; }
  .hero-orb{ width:420px; height:420px; filter: blur(8px); }
  .navbar .nav-link{ padding: .5rem .7rem; }
}


/* Blog pagination (Bootstrap) — modern arrows + spacing */
.pagination {
  gap: .5rem;
}

.pagination .page-item .page-link {
  border-radius: 14px !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  padding: .55rem .85rem;
  font-weight: 700;
  color: rgba(11,18,32,.78);
  background: #fff;
  box-shadow: 0 8px 22px rgba(2,6,23,.04);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
}

.pagination .page-item .page-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(2,6,23,.08);
  background: rgba(11,42,111,.06);
  color: var(--brand);
}

.pagination .page-item.active .page-link {
  background: linear-gradient(180deg, var(--brand), var(--brand-ink));
  border-color: rgba(7,24,63,.20) !important;
  color: #fff !important;
}

.pagination .page-item.disabled .page-link {
  opacity: .55;
  box-shadow: none;
  background: rgba(248,250,252,1);
}

/* Ensure arrows render well */
.pagination .page-link[rel="prev"],
.pagination .page-link[rel="next"] {
  font-weight: 900;
}
/* Home: Current Active Project block */
.project-hero-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.project-hero-media {
  min-height: 260px;
  background: rgba(11,42,111,.06);
}

.project-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  display: block;
}

.project-hero-card:hover .project-hero-title {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Make the whole card feel clickable */
.project-hero-link {
  color: inherit;
}

.project-hero-link:hover {
  color: inherit;
}
