:root{
  --brand-900:#0e1354;
  --brand-800:#1b2374;
  --brand-700:#23349a;   /* dark purple */
  --brand-600:#3c44c0;
  --brand-500:#5e5ce6;
  --brand-300:#cbc9f5;   /* light purplish grey */
  --brand-150:#ebe9ff;
  --brand-100:#f6f5ff;
  --ink:#101626;
  --muted:#667085;
  --border:#e7e9f3;
  --radius:16px;
  --shadow:0 10px 30px rgba(2,8,23,.08);
}

html{scroll-behavior:smooth}
body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink)}
.section-title{font-weight:800;color:#0b0f3b}
.section-sub{color:var(--muted)}
.card-soft{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}

.hero-bg{
  background:
    radial-gradient(900px 260px at 10% -10%, var(--brand-100), transparent),
    linear-gradient(180deg,#fff 0, var(--brand-100) 100%);
}

/* ---- UNIFIED BUTTONS ---- */
.btn, .btn:focus{box-shadow:none!important}
.btn-primary{
  background:linear-gradient(90deg,var(--brand-700),var(--brand-900));
  border-color:transparent;color:#fff;
}
.btn-primary:hover{filter:brightness(1.06)}
.btn-outline-primary{
  color:var(--brand-700);border-color:var(--brand-300);background:#fff;
}
.btn-outline-primary:hover{
  color:#fff;background:linear-gradient(90deg,var(--brand-700),var(--brand-900));border-color:transparent;
}


/* Inline arrow link under strategy modules */
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-weight:600;
  color:var(--brand-700);
  text-decoration:none;
}
.link-arrow .arrow{
  transition:transform .18s ease;
}
.link-arrow:hover{
  text-decoration:underline;
}
.link-arrow:hover .arrow{
  transform:translateX(4px);
}



/* nav / footer basics */
.navbar{backdrop-filter:saturate(180%) blur(8px)}
.navbar-brand img{height:34px}
.dropdown-menu{border-radius:12px;border-color:var(--border)}

/* Footer (polished) */
.footer {
  background:#0b1036;
  color:#c9d1ff;
  font-size:.95rem;
}
.footer h6 {
  font-weight:700;
  color:#fff;
  margin-bottom:1rem;
}
.footer a {
  color:#c9d1ff;
  text-decoration:none;
}
.footer a:hover { color:#fff; }
.footer .social a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
  margin-right:.5rem;
  transition:all .2s;
}
.footer .social a:hover { background:var(--brand-700); }
.footer .legal {
  color:#aab3ff;
  font-size:.8rem;
}

/* KPI */
.kpi .num{font-weight:800;font-size:2rem;color:var(--brand-700)}
.kpi .item{border:1px solid var(--border);border-radius:16px;padding:1rem}

/* Pills/tabs uniform height */
.nav-pills .nav-link{
  border:1px solid var(--border);border-radius:999px;color:var(--ink);
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;
}
.nav-pills .nav-link.active{
  background:linear-gradient(90deg,var(--brand-700),var(--brand-900));color:#fff;border-color:transparent;
}

/* Track Record */
.project-title{font-weight:800}
.project-card{border:1px solid var(--border);border-radius:16px;overflow:hidden}
.carousel .carousel-indicators [data-bs-target]{background-color:var(--brand-700)}
.carousel-caption{background:rgba(14,19,84,.72);border-radius:12px}
.img-16x9{aspect-ratio:16/9;object-fit:cover;width:100%}

/* BEFORE / AFTER badge overlay */
.img-flag{
  position:absolute;top:.75rem;left:.75rem;z-index:5;
  background:rgba(11,16,54,.88);color:#fff;font-weight:700;
  padding:.35rem .6rem;border-radius:999px;font-size:.8rem;
  border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(3px)
}

/* Compare slider (modal) */
.compare-wrap{position:relative;max-width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--border)}
.compare-wrap img{display:block;width:100%;height:auto}
.compare-after{position:absolute;inset:0;width:50%;overflow:hidden}
.compare-after img{position:absolute;inset:0;width:200%;height:100%;object-fit:cover}
.compare-slider{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.compare-input{position:absolute;inset:0;opacity:0}
.compare-handle{
  position:absolute;left:calc(50% - 18px);top:calc(50% - 18px);
  width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.15);
  display:grid;place-items:center;font-weight:900;color:var(--brand-700);
}

/* AOS */
[data-aos]{transition:transform .6s ease, opacity .6s ease}

/* Sticky footer on short pages (optional site-wide pattern) */
html, body { height: 100%; }
body.site {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main.flex-grow-1 { flex: 1 0 auto; }
.footer { flex-shrink: 0; }

/* By the Numbers / Stats */
.stats-wrap{background:var(--brand-100)}
.stat-card{
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:1.25rem;
  background:#fff;
  height:100%;
}
.stat-label{color:var(--muted);font-weight:600}
.stat-value{
  font-weight:800;
  font-size:1.75rem;
  line-height:1.1;
  color:var(--brand-700);
}

/* CTA ribbon (used on Track page bottom) */
.cta-ribbon {
  background: linear-gradient(90deg, var(--brand-700), var(--brand-900));
  border-radius: 20px;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  color: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.15);
}
.cta-ribbon h5 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.cta-ribbon h5::before {
  content: "🔑";
  font-size: 1.6rem;
}
.cta-ribbon .btn {
  font-size: 1.05rem;
  font-weight: 600;
  padding: .75rem 1.5rem;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

@media (max-width: 991.98px){
  .navbar .btn-login{margin-top:.5rem}
}


/* Hero video */
.video-embed iframe {
  /* keeps corners matching the wrapper radius on some browsers */
  border:0;
}

/* Logo strip */
.logo-strip img{
  filter: grayscale(100%) contrast(1.1) opacity(.85);
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.logo-strip img:hover{
  filter: grayscale(0%) opacity(1);
  transform: translateY(-1px);
}


.badge.text-bg-light.border {
  background: #fff;
  border-color: var(--border) !important;
  color: var(--ink);
}




/* Deal-type badges */
.badge-sfr{
  background:#fff3cd;            /* soft yellow */
  border:1px solid #ffe69c;
  color:#8a6d3b;
  padding:.4rem .6rem;
  border-radius:999px;
  font-weight:600;
  font-size:.78rem;
}
.badge-flip{
  background:#e7f1ff;            /* soft blue */
  border:1px solid #b6d4fe;
  color:#0b5ed7;
  padding:.4rem .6rem;
  border-radius:999px;
  font-weight:600;
  font-size:.78rem;
}
.badge-hold{
  background:#e9f7ef;            /* soft green */
  border:1px solid #b7e4c7;
  color:#0f5132;
  padding:.4rem .6rem;
  border-radius:999px;
  font-weight:600;
  font-size:.78rem;
}

/* Align status chip look */
.badge.text-bg-light.border{
  background:#fff;
  color:var(--ink);
  border-color:var(--border) !important;
  border-radius:999px;
  font-weight:600;
}

/* Card hover polish (optional) */
.project-card:hover{
  box-shadow:0 12px 30px rgba(2,8,23,.10);
  transition:box-shadow .2s ease;
}


/* ===== Education page polish ===== */
.edu-hero{
  background:
    radial-gradient(900px 260px at 10% -10%, var(--brand-100), transparent),
    linear-gradient(180deg,#fff 0, var(--brand-100) 100%);
}

.check-grid .check{
  display:flex; align-items:flex-start; gap:.5rem;
  padding:.4rem .25rem; border-radius:10px;
  font-weight:600; color:var(--ink);
}
.check-grid .bi-check-circle{ font-size:1.05rem; color:var(--brand-700); margin-top:.1rem; }

.edu-panel{
  background:#fff; border:1px solid var(--border);
  box-shadow: var(--shadow);
}

.mini-card{
  background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:1rem; box-shadow: var(--shadow);
}
.mini-icon{
  width:36px; height:36px; border-radius:10px;
  display:inline-grid; place-items:center;
  background:linear-gradient(90deg,var(--brand-700),var(--brand-900));
  color:#fff; margin-bottom:.5rem;
}

.edu-quote {
  border-left: 4px solid var(--brand-700);
  padding: 1rem 1.5rem;
  margin: 0;
  background: var(--brand-100);
  border-radius: 12px;
  font-style: italic;
}

.edu-quote p {
  font-size: 1.1rem;
  font-weight: 500;
  margin: 0;
  color: var(--ink);
}

.edu-quote .blockquote-footer {
  margin-top: 0.75rem;
  font-size: 0.95rem;
  color: var(--muted);
  font-style: normal;
}



/* Newsletter footer */
.newsletter { border-radius: 16px; }
.newsletter-form .form-control { min-width: 220px; }
.newsletter-btn { white-space: nowrap; }

/* Success / error colors reuse theme */
.newsletter-msg-ok { color: #0f5132; }     /* bootstrap-ish success */
.newsletter-msg-err { color: #842029; }    /* bootstrap-ish danger */


/* ===== Blog / Insights ===== */
.blog-article{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: var(--shadow);
  max-width: 950px;
  margin-inline:auto;
  line-height:1.7;
}

.blog-article p { margin-bottom: 1rem; }
.blog-article .lead { font-weight:500; }

.blog-article h2 {
  margin-top: 1.25rem;
  margin-bottom: .5rem;
  font-weight: 800;
  color: var(--brand-700);
}

/* Optional: nicer list spacing */
.blog-article ul, .blog-article ol { padding-left: 1.25rem; }
.blog-article li { margin-bottom: .35rem; }
