:root{
  --ttcs-bg:#070a12;
  --ttcs-panel:#0b1020;
  --ttcs-text:#e9f2ff;
  --ttcs-muted:#4c7cdd;
  --ttcs-blue:#1f78ff;
  --ttcs-blue2:#00b8ff;
  --ttcs-border:rgba(31,120,255,.25);
}

body{
  background:
    radial-gradient(1000px 600px at 20% -10%, rgba(31,120,255,.20), transparent 60%),
    radial-gradient(900px 540px at 90% 0%, rgba(0,184,255,.12), transparent 55%),
    var(--ttcs-bg);
  color: var(--ttcs-text);
}

.ttcs-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(7,10,18,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.ttcs-navbar .nav-link{
  color: var(--ttcs-muted);
  font-weight: 500;
}
.ttcs-navbar .nav-link:hover,
.ttcs-navbar .nav-link:focus{
  color: var(--ttcs-text);
}

.ttcs-logo{
  height: 71px;
  width: auto;
  filter: drop-shadow(0 6px 18px rgba(31,120,255,.35));
}

.btn-ttcs-cta{
  background: linear-gradient(90deg, var(--ttcs-blue), var(--ttcs-blue2));
  border: 1px solid rgba(255,255,255,.08);
  color: #06101f;
  font-weight: 800;
  letter-spacing: .2px;
  border-radius: 999px;
  padding: .6rem 1.1rem;
  box-shadow: 0 10px 30px rgba(31,120,255,.25);
}
.btn-ttcs-cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 44px rgba(31,120,255,.30);
  color: #06101f;
}

.ttcs-main{
  padding: 28px 0 40px;
}

.ttcs-section{
  margin: 24px 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: rgba(11,16,32,.65);
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
}

.ttcs-hero{
  padding: 30px 0;
}

.ttcs-hero-card{
  border-radius: 22px;
  border: 1px solid rgba(31,120,255,.20);
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(31,120,255,.18), transparent 60%),
    radial-gradient(700px 260px at 90% 0%, rgba(0,184,255,.12), transparent 55%),
    rgba(11,16,32,.6);
  overflow: hidden;
}

.ttcs-badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(31,120,255,.25);
  background: rgba(31,120,255,.08);
  color: var(--ttcs-text);
  border-radius: 999px;
  font-weight: 700;
}

.ttcs-link{
  color: var(--ttcs-blue2);
  text-decoration: none;
}
.ttcs-link:hover{ text-decoration: underline; }

.ttcs-footer{
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: 18px;
  padding-bottom: 26px;
  background: rgba(0,0,0,.12);
}
.ttcs-footer-logo{
  height: 34px;
  width: auto;
  filter: drop-shadow(0 6px 18px rgba(31,120,255,.35));
}
.ttcs-footer-links a{
  color: var(--ttcs-muted);
  text-decoration: none;
}
.ttcs-footer-links a:hover{ color: var(--ttcs-text); text-decoration: underline; }
.ttcs-copyright{ color: rgba(233,242,255,.75); }

.card.ttcs-card{
  border: 1px solid rgba(31,120,255,.18);
  background: rgba(7,10,18,.25);
}

/* Global readability updates */
.text-light-50{
  color: #ffffff !important;
}

.text-secondary{
  color: #ffffff !important;
}

.fw-semibold{
  color: var(--ttcs-blue) !important;
  font-weight: 700;
}

.ttcs-section .fw-bold{
  color: #ffffff;
  font-weight: 700;
}

/* Homepage top service mini-cards: blue headings */
.ttcs-hero .ttcs-card .fw-bold{
  color: var(--ttcs-blue) !important;
}

/* Homepage pricing badge */
.ttcs-rate-badge{
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(31,120,255,.35);
  background: rgba(31,120,255,.10);
  box-shadow: 0 8px 20px rgba(31,120,255,.15);
}
.ttcs-rate-badge-title{
  color: #ffffff;
  font-weight: 800;
  line-height: 1.2;
}
.ttcs-rate-badge-sub{
  color: var(--ttcs-blue2);
  font-weight: 600;
  font-size: .92rem;
  line-height: 1.2;
}
