:root{
  --tt-bg: #0f172a;
  --tt-surface: #0b1220;
  --tt-card: #111827;
  --tt-text: #0b1220;
  --tt-muted: #64748b;
  --tt-white: #ffffff;
  --tt-primary: #22c55e;
  --tt-primary-2: #16a34a;
  --tt-border: #e5e7eb;
  --tt-container: 1120px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:#0b1220;
  background:#fff;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

.tt-container{
  width: min(var(--tt-container), calc(100% - 32px));
  margin: 0 auto;
}

/* Header */
.tt-header{
  position:sticky;
  top:0;
  z-index:50;
  background: linear-gradient(180deg, #0b1220 0%, #0f172a 100%);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tt-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 0;
  gap: 14px;
}
/* Logo (inspired by TechThrive IT SERVICES mark + wordmark) */
.tt-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--tt-white);
}
.tt-brand a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
  transition:opacity .2s ease;
}
.tt-brand a:hover{opacity:.92}
.tt-brand__mark{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tt-brand__svg{
  width:44px;
  height:28px;
  display:block;
}
.tt-brand__t{color:#fff}
.tt-brand__r{color:var(--tt-primary)}
.tt-brand__text{
  display:flex;
  flex-direction:column;
  gap:0;
  line-height:1.2;
}
.tt-brand__word{
  white-space:nowrap;
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-0.02em;
}
.tt-brand__tech{color:#fff}
.tt-brand__thrive{color:var(--tt-primary)}
.tt-brand__tagline{
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  color:rgba(255,255,255,.65);
  margin-top:2px;
}
.tt-brand .custom-logo-link{display:inline-flex;align-items:center;gap:10px}
.tt-brand img,
.tt-brand .custom-logo{max-height:38px;width:auto;height:auto}

.tt-nav{
  display:flex;
  align-items:center;
  gap: 18px;
}
.tt-nav ul{
  list-style:none;
  margin:0;
  padding:0;
}
.tt-nav ul:not(.sub-menu){
  display:flex;
  align-items:center;
  gap: 18px;
}
.tt-nav li{margin:0;padding:0}
.tt-nav a{
  color: rgba(255,255,255,.9);
  font-size: 14px;
  padding: 8px 6px;
}
.tt-nav a:hover{color:#fff}
.tt-nav .current-menu-item > a,
.tt-nav .current_page_item > a{color:#fff; font-weight:600}

/* Desktop dropdowns */
.tt-nav li{position:relative}
.tt-nav .menu-item-has-children > a::after{
  content:"▾";
  margin-left: 6px;
  font-size: 11px;
  opacity:.85;
}
.tt-nav ul ul{
  position:absolute;
  left:0;
  top: calc(100% + 8px);
  min-width: 240px;
  background: #0b1220;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 10px 0;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  display:none;
  z-index: 80;
}
.tt-nav ul ul li{padding:0}
.tt-nav ul ul a{
  display:block;
  padding: 10px 14px;
  font-size: 13px;
  color: rgba(255,255,255,.88);
}
.tt-nav ul ul a:hover{
  background: rgba(255,255,255,.06);
  color:#fff;
}
.tt-nav li:hover > ul{display:block}
.tt-nav li:focus-within > ul{display:block}

/* Third-level dropdown */
.tt-nav ul ul ul{
  left: 100%;
  top: 0;
  margin-left: 8px;
}
.tt-nav ul ul .menu-item-has-children > a::after{
  content:"▸";
  float:right;
  margin-left: 10px;
}
.tt-header__actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.tt-icon-btn{
  width:38px;height:38px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tt-icon-btn:hover{background: rgba(255,255,255,.10)}

.tt-mobile-toggle{display:none}
.tt-mobile-panel{display:none}

/* Buttons */
.tt-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:44px;
  padding:0 18px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight:700;
  font-size: 14px;
  cursor:pointer;
}
.tt-btn--primary{
  background: var(--tt-primary);
  color:#052e16;
}
.tt-btn--primary:hover{background: var(--tt-primary-2)}
.tt-btn--ghost{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color:#fff;
}
.tt-btn--ghost:hover{background: rgba(255,255,255,.1)}

/* Hero */
.tt-hero{
  background: radial-gradient(1000px 500px at 20% 0%, rgba(34,197,94,.25), transparent 60%),
              linear-gradient(180deg, #0b1220 0%, #0f172a 100%);
  color:#fff;
  padding: 56px 0 48px;
  position:relative;
}
.tt-hero__panel{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  overflow:hidden;
}
.tt-hero__inner{
  padding: 40px 32px;
  text-align:center;
}
.tt-hero h1{
  margin:0 auto 12px;
  max-width: 820px;
  line-height:1.05;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
}
.tt-hero p{
  margin:0 auto 20px;
  max-width: 860px;
  color: rgba(255,255,255,.8);
  font-size: 15px;
}
.tt-hero__cta{
  display:flex;
  justify-content:center;
  gap: 12px;
  flex-wrap:wrap;
}
.tt-hero__notch{
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 20px solid rgba(255,255,255,.06);
  margin: 0 auto;
}

/* Page hero (used across inner pages) */
.tt-page-hero{
  background: radial-gradient(900px 480px at 15% 0%, rgba(34,197,94,.22), transparent 60%),
              linear-gradient(180deg, #0b1220 0%, #0f172a 100%);
  color:#fff;
  padding: 46px 0 34px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.tt-page-hero__inner{
  text-align:center;
}
.tt-page-hero h1{
  margin: 0 auto 10px;
  max-width: 900px;
  line-height:1.08;
  font-size: clamp(26px, 3.4vw, 40px);
  font-weight: 900;
}
.tt-page-hero p{
  margin: 0 auto 16px;
  max-width: 860px;
  color: rgba(255,255,255,.80);
  font-size: 15px;
}
.tt-page-hero__cta{
  display:flex;
  justify-content:center;
  gap: 12px;
  flex-wrap:wrap;
}

/* Sections */
.tt-section{
  padding: 48px 0;
}
.tt-section--muted{
  background: #f8fafc;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
}
.tt-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items:start;
}
.tt-kicker{
  display:inline-block;
  font-weight:800;
  color: var(--tt-primary-2);
  letter-spacing:.02em;
  margin-bottom:10px;
}
.tt-h2{
  margin: 0 0 12px;
  font-size: 28px;
  line-height:1.15;
}
.tt-list{
  margin: 10px 0 0;
  padding-left: 18px;
  color: #334155;
}
.tt-list li{margin:6px 0}

/* Cards */
.tt-cards{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 18px;
}
.tt-card{
  background: #0f172a;
  color:#fff;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 16px 12px;
  text-align:center;
  min-height: 140px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.tt-card img{
  width: 34px;
  height: 34px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,.25));
}
.tt-card__title{
  font-weight:800;
  font-size: 13px;
  margin: 0;
}
.tt-card__desc{
  margin:0;
  font-size: 12px;
  color: rgba(255,255,255,.75);
}
.tt-card:hover{border-color: rgba(34,197,94,.55)}

/* Why + Process */
.tt-mini{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items:start;
}
.tt-bullets{
  margin: 0;
  padding-left: 0;
  list-style:none;
}
.tt-bullets li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin: 10px 0;
  color:#334155;
}
.tt-bullets li::before{
  content:"✓";
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: rgba(34,197,94,.15);
  color: #166534;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  flex: 0 0 22px;
  margin-top:2px;
}
.tt-steps{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.tt-step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  flex:1;
}
.tt-step__num{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 2px solid #cbd5e1;
  color:#0b1220;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  background:#fff;
}
.tt-step__label{
  font-size: 12px;
  color:#475569;
  font-weight:700;
}
.tt-step__line{
  height: 2px;
  background: #cbd5e1;
  flex: 1;
  margin-top: -18px;
}

/* Testimonial */
.tt-quote{
  padding: 28px 0;
  text-align:center;
  color:#0b1220;
  font-weight:700;
  font-size: 18px;
}
.tt-quote small{
  display:block;
  margin-top: 8px;
  color:#64748b;
  font-weight:600;
}

/* CTA band */
.tt-cta{
  background: linear-gradient(180deg, #0b1220 0%, #0f172a 100%);
  color:#fff;
  padding: 44px 0;
  text-align:center;
}
.tt-cta h2{margin:0 0 8px;font-size: 28px}
.tt-cta p{margin:0 0 16px;color: rgba(255,255,255,.8)}

/* Footer */
.tt-footer{
  background:#0b1220;
  color: rgba(255,255,255,.85);
  padding: 44px 0 22px;
}
.tt-footer__top{padding-bottom: 18px;}
.tt-footer__grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 22px;
  align-items:start;
}
.tt-footer__brand{
  color:#fff;
  font-weight: 1000;
  letter-spacing: .01em;
  font-size: 18px;
}
.tt-footer__tagline{
  margin: 10px 0 0;
  color: rgba(255,255,255,.74);
  line-height: 1.6;
  max-width: 360px;
}
.tt-footer__title{
  color:#fff;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.tt-footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap: 9px;
  font-size: 13px;
}
.tt-footer__list a{
  color: rgba(255,255,255,.82);
}
.tt-footer__list a:hover{color:#fff}
.tt-footer__cta{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
}
.tt-btn--footer-ghost{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color:#fff;
}
.tt-btn--footer-ghost:hover{background: rgba(255,255,255,.1)}
.tt-footer__mini{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.tt-footer__mini-item{
  color: rgba(255,255,255,.72);
  font-size: 12px;
  margin: 6px 0;
}
.tt-footer__divider{
  height:1px;
  background: rgba(255,255,255,.10);
}
.tt-footer__bottom{
  padding-top: 14px;
  font-size: 12px;
}
.tt-footer__meta{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
  color: rgba(255,255,255,.72);
}
.tt-footer__meta a{color: rgba(255,255,255,.78)}
.tt-footer__meta a:hover{color:#fff}
.tt-footer__dot{opacity:.55}
.tt-footer a{color: rgba(255,255,255,.85)}
.tt-footer a:hover{color:#fff}

/* Content */
.tt-content{
  padding: 34px 0 56px;
}
.tt-entry-title{
  margin:0 0 14px;
  font-size: 32px;
}
.tt-prose{
  color:#334155;
  line-height:1.75;
}
.tt-prose h2,.tt-prose h3{color:#0b1220}
.tt-prose a{color: var(--tt-primary-2); text-decoration: underline}

/* Generic panels (white cards) */
.tt-panel{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px 18px;
  background:#fff;
}
.tt-panel--tight{padding: 14px 14px}
.tt-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  background: rgba(34,197,94,.14);
  color: #166534;
  border: 1px solid rgba(34,197,94,.22);
}

/* Services */
.tt-services{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.tt-service-block{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px 18px;
  background:#fff;
}
.tt-service-block__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}
.tt-service-block__title{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.tt-service-block__title h2{margin:0}
.tt-service-block__title p{margin:0;color:#64748b;font-weight:700;font-size:12px}
.tt-btn--sm{
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
}

/* Pricing */
.tt-price-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 12px;
}
.tt-price-grid--single{grid-template-columns: 1fr}
.tt-price-card{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow:hidden;
  background:#fff;
}
.tt-price-card__head{
  padding: 16px 16px;
  background: #0b1220;
  color:#fff;
}
.tt-price-card__head h3{margin:0 0 6px;font-size: 18px}
.tt-price-card__sub{margin:0;color: rgba(255,255,255,.75)}
.tt-price-meta{
  list-style:none;
  margin:0;
  padding: 12px 16px;
  display:flex;
  gap: 14px;
  flex-wrap:wrap;
  border-bottom: 1px solid #e5e7eb;
  color:#334155;
}
.tt-price-meta li{
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 12px;
}
.tt-price-card__body{padding: 14px 16px 16px}
.tt-price-card__body h4{margin:0 0 10px}

.tt-table{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow:hidden;
  margin-top: 12px;
}
.tt-table__row{
  display:grid;
  grid-template-columns: 1.1fr .7fr 1.7fr;
  gap: 12px;
  padding: 12px 14px;
  border-top: 1px solid #e5e7eb;
}
.tt-table__row:first-child{border-top:none}
.tt-table__head{
  background:#f8fafc;
  font-weight: 800;
  color:#0b1220;
}

.tt-service-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}

/* Inline CTA (used on Services archive) */
.tt-cta--inline{
  border-radius: 16px;
}

/* Blog cards */
.tt-posts{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.tt-post-card{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px 16px;
  background:#fff;
}
.tt-post-card__title{
  display:inline-block;
  font-weight: 900;
  font-size: 18px;
  margin-bottom: 6px;
}
.tt-post-card__meta{
  margin:0 0 8px;
  color:#64748b;
  font-size: 12px;
  font-weight: 700;
}
.tt-post-card__excerpt{
  margin:0;
  color:#475569;
}

/* Proof (case studies / testimonials) */
.tt-proof-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.tt-proof-card{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px 16px;
  background:#fff;
}
.tt-proof-card__pill{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  background: rgba(15,23,42,.06);
  border: 1px solid rgba(15,23,42,.10);
  color:#0b1220;
}
.tt-proof-card__title{
  margin: 10px 0 6px;
  font-weight: 900;
  font-size: 18px;
}
.tt-proof-card__result{
  margin: 0 0 8px;
  color:#166534;
  font-weight: 900;
}
.tt-proof-card__excerpt{
  margin:0;
  color:#475569;
}
.tt-proof-card__cta{margin-top: 12px;}

/* Proof strip (stats) */
.tt-proof-strip{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.tt-proof-stat{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  background:#fff;
  text-align:center;
}
.tt-proof-stat__num{
  font-weight: 1000;
  font-size: 22px;
  color:#0b1220;
}
.tt-proof-stat__label{
  margin-top: 6px;
  color:#64748b;
  font-weight: 800;
  font-size: 12px;
}

/* Contact + FAQ */
.tt-contact-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
  margin-top: 14px;
}
.tt-contact-card{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px 16px;
  background:#fff;
}
.tt-shortcode-hint{
  margin: 10px 0 0;
  padding: 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  color:#475569;
  background:#f8fafc;
}
.tt-accordion{
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow:hidden;
  background:#fff;
}
.tt-accordion-item + .tt-accordion-item{
  border-top: 1px solid #e5e7eb;
}
.tt-accordion-trigger{
  width:100%;
  text-align:left;
  padding: 14px 16px;
  background: #fff;
  border: none;
  cursor:pointer;
  font-weight: 900;
  color:#0b1220;
  position:relative;
}
.tt-accordion-trigger::after{
  content:"+";
  position:absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 900;
  color:#0b1220;
}
.tt-accordion-trigger[aria-expanded="true"]::after{
  content:"–";
}
.tt-accordion-panel{
  padding: 0 16px 14px;
}

/* Responsive */
@media (max-width: 980px){
  .tt-cards{grid-template-columns: repeat(2, 1fr)}
  .tt-price-grid{grid-template-columns: 1fr}
  .tt-contact-grid{grid-template-columns: 1fr}
  .tt-services{grid-template-columns: 1fr}
  .tt-posts{grid-template-columns: 1fr}
  .tt-proof-grid{grid-template-columns: 1fr}
  .tt-proof-strip{grid-template-columns: repeat(2, 1fr)}
  .tt-footer__grid{grid-template-columns: 1fr 1fr; gap: 18px}
}
@media (max-width: 820px){
  .tt-grid-2{grid-template-columns: 1fr}
  .tt-mini{grid-template-columns: 1fr}
  .tt-step__line{display:none}
  .tt-nav{display:none}
  .tt-mobile-toggle{display:inline-flex}
  .tt-mobile-panel{
    display:none;
    padding: 10px 0 16px;
  }
.tt-mobile-panel ul{
  list-style:none;
  margin:0;
  padding:0;
}
.tt-mobile-panel li{margin:0;padding:0}
  .tt-mobile-panel.is-open{display:block}
  .tt-mobile-panel a{
    display:block;
    padding: 10px 0;
    color: rgba(255,255,255,.9);
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .tt-mobile-panel ul ul{
    padding-left: 14px;
    margin: 6px 0 6px;
  }
  .tt-mobile-panel ul ul a{
    padding: 8px 0;
    border-top: none;
    color: rgba(255,255,255,.82);
    font-size: 13px;
  }
}
@media (max-width: 520px){
  .tt-cards{grid-template-columns: 1fr}
  .tt-hero__inner{padding: 30px 16px}
  .tt-footer__grid{grid-template-columns: 1fr}
}

