/* ===============================
   BT Blue - Bootstrap Theme Layer
   =============================== */

:root{
  --bt-gold:#A87B29;
  --bt-gold-dark:#7C5A1E;
  --bt-navy:#0B1F3B;
  --bt-blue:#1B3A6B;
  --bt-bg:#F7F6F3;
  --bt-surface:#FFFFFF;
  --bt-border:#E7E3DA;
  --bt-text:#101828;
  --bt-muted:#667085;
}

html { scroll-behavior: smooth; }

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--bt-text);
  background: var(--bt-bg);
}

.section-title{ letter-spacing: -0.02em; }

.top-notice{
  background: var(--bt-navy);
  color: rgba(255,255,255,.9);
}

.nav-glass{
  background: rgba(11,31,59,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.navbar-brand .brand-mark{
  width: 14px; height: 14px;
  border-radius: 4px;
  background: var(--bt-gold);
  box-shadow: 0 0 0 4px rgba(168,123,41,.15);
  display: inline-block;
}

.btn-primary{
  background: var(--bt-gold);
  border-color: var(--bt-gold);
}
.btn-primary:hover, .btn-primary:focus{
  background: var(--bt-gold-dark);
  border-color: var(--bt-gold-dark);
}
.btn-outline-primary{
  border-color: rgba(168,123,41,.55);
  color: var(--bt-gold-dark);
}
.btn-outline-primary:hover{
  background: var(--bt-gold);
  border-color: var(--bt-gold);
  color: #fff;
}

.badge-soft{
  background: rgba(168,123,41,.12);
  border: 1px solid rgba(168,123,41,.25);
  color: var(--bt-gold-dark);
  font-weight: 600;
}

.shadow-soft{
  box-shadow: 0 12px 35px rgba(16,24,40,.08);
}

.hero-section{
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(11,31,59,.04), rgba(11,31,59,0));
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 400px at 10% 10%, rgba(168,123,41,.18), transparent 60%),
    radial-gradient(900px 400px at 90% 0%, rgba(27,58,107,.20), transparent 60%);
  pointer-events:none;
}

.py-lg-6{ padding-top: 5rem !important; padding-bottom: 5rem !important; }

.hero-card{
  background: var(--bt-surface);
  border: 1px solid var(--bt-border);
  border-radius: 18px;
  padding: 1.25rem;
}
@media (min-width: 992px){
  .hero-card{ padding: 1.75rem; }
}

.pill{
  font-size: .8rem;
  padding: .35rem .6rem;
  border-radius: 999px;
  background: rgba(11,31,59,.06);
  border: 1px solid rgba(11,31,59,.10);
  color: rgba(11,31,59,.85);
  white-space: nowrap;
}

.mini-card{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  border: 1px solid var(--bt-border);
  background: rgba(255,255,255,.65);
  border-radius: 14px;
  padding: .85rem 1rem;
}
.mini-card i{
  font-size: 1.2rem;
  color: var(--bt-gold-dark);
}

.trust-strip{
  display:flex;
  gap:.75rem;
  flex-wrap: wrap;
}
.trust-item{
  flex:1;
  min-width: 120px;
  border: 1px solid var(--bt-border);
  background: rgba(255,255,255,.65);
  border-radius: 14px;
  padding: .75rem 1rem;
  text-align: center;
}
.trust-number{
  font-weight: 800;
  font-size: 1.2rem;
  color: var(--bt-navy);
}
.trust-label{
  font-size: .85rem;
  color: var(--bt-muted);
}

.section-alt{ background: rgba(255,255,255,.5); border-top: 1px solid rgba(231,227,218,.7); border-bottom: 1px solid rgba(231,227,218,.7); }

.icon-badge{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(168,123,41,.12);
  border: 1px solid rgba(168,123,41,.22);
  color: var(--bt-gold-dark);
  font-size: 1.2rem;
}

.step-card{
  position: relative;
  border: 1px solid var(--bt-border);
  border-radius: 18px;
  background: var(--bt-surface);
  padding: 1.25rem;
}
.step-num{
  width: 38px; height: 38px;
  border-radius: 12px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(11,31,59,.08);
  border: 1px solid rgba(11,31,59,.12);
  color: var(--bt-navy);
  font-weight: 800;
  margin-bottom: .75rem;
}

.callout{
  border-radius: 18px;
  border: 1px solid var(--bt-border);
  background: rgba(255,255,255,.75);
  padding: 1rem 1.25rem;
}
.callout-icon{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(27,58,107,.10);
  border: 1px solid rgba(27,58,107,.18);
  color: var(--bt-blue);
  font-size: 1.2rem;
}

.check-item{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  border: 1px dashed rgba(231,227,218,.9);
  background: rgba(247,246,243,.6);
  border-radius: 14px;
  padding: .85rem 1rem;
}
.check-item i{ color: var(--bt-gold-dark); font-size: 1.1rem; margin-top: .1rem; }

.card-navy{
  background: linear-gradient(180deg, rgba(11,31,59,1), rgba(27,58,107,1));
  border: 1px solid rgba(255,255,255,.10);
}
.text-gold{ color: #D7B46B; }

.tag{
  font-size: .8rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(11,31,59,.12);
  background: rgba(11,31,59,.04);
  color: rgba(11,31,59,.80);
}

.cred-strip{
  border: 1px solid var(--bt-border);
  border-radius: 18px;
  background: rgba(255,255,255,.75);
  padding: 1rem 1.25rem;
}
.cred-icon{
  width: 46px; height: 46px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(11,31,59,.08);
  border: 1px solid rgba(11,31,59,.12);
  color: var(--bt-navy);
  font-size: 1.2rem;
}

.avatar{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(168,123,41,.14);
  border: 1px solid rgba(168,123,41,.25);
  color: var(--bt-gold-dark);
  font-weight: 800;
}

.accordion{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--bt-border);
}
.accordion-button:focus{
  box-shadow: 0 0 0 .25rem rgba(168,123,41,.22);
}
.accordion-button:not(.collapsed){
  color: var(--bt-navy);
  background: rgba(168,123,41,.10);
}

.contact-item{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding: .85rem 1rem;
  border: 1px solid var(--bt-border);
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  margin-bottom: .75rem;
}
.contact-item i{ color: var(--bt-blue); font-size: 1.1rem; margin-top: .2rem; }

.footer{
  background: var(--bt-navy);
  color: #fff;
}
.footer .brand-mark{
  width: 14px; height: 14px;
  border-radius: 4px;
  background: var(--bt-gold);
  box-shadow: 0 0 0 4px rgba(168,123,41,.15);
  display: inline-block;
}
.footer-title{
  font-weight: 700;
  margin-bottom: .75rem;
}
.footer-link{
  color: rgba(255,255,255,.75);
  text-decoration: none;
}
.footer-link:hover{ color: #fff; text-decoration: underline; }

.mobile-cta{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: rgba(11,31,59,.92);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: .75rem 0;
  z-index: 1030;
}
.mobile-cta .btn-outline-light{
  border-color: rgba(255,255,255,.25);
  color: #fff;
}
.mobile-cta .btn-outline-light:hover{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.25);
}

/* Make anchor offset nicer with sticky navbar */
:target { scroll-margin-top: 96px; }
