/* ThinkTrek — base styles + hover states + responsive breakpoints.
   The bulk of the visual design lives in inline styles on the templates
   (matching the design prototype). This file carries the bits that need
   pseudo-selectors or media queries. */

body{background:#FFFFFF;color:#0A0A0B;font-family:'Inter',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;min-height:100vh;overflow-x:hidden}
::selection{background:#0A0A0B;color:#FFFFFF}
a{text-decoration:none;color:inherit}
.msr{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;direction:ltr;vertical-align:middle;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
@keyframes ttDot{0%,100%{opacity:.45}50%{opacity:1}}

/* Hover states */
.nav-link{color:#52555C;transition:color 150ms}
.nav-link:hover{color:#0A0A0B}
.btn-light{transition:transform 150ms,box-shadow 150ms}
.btn-light:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(10,10,11,0.22)}
.btn-hero-primary{transition:transform 150ms,box-shadow 150ms}
.btn-hero-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,255,255,0.16)}
.btn-hero-ghost{transition:border-color 150ms,background 150ms}
.btn-hero-ghost:hover{border-color:#FFFFFF;background:rgba(255,255,255,0.08)}
.btn-start{transition:transform 150ms}
.btn-start:hover{transform:translateY(-1px)}
.client-cell{transition:background 200ms}
.client-cell:hover{background:#FDFDFD}
.service-cell{transition:background 200ms}
.service-cell:hover{background:#FAFAFB}
.btn-dark{transition:transform 150ms,box-shadow 150ms}
.btn-dark:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(10,10,11,0.24)}
.btn-cta-primary{transition:transform 150ms,box-shadow 150ms}
.btn-cta-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,255,255,0.18)}
.btn-cta-ghost{transition:border-color 150ms,background 150ms}
.btn-cta-ghost:hover{border-color:#FFFFFF;background:rgba(255,255,255,0.06)}
.foot-link{color:#C9CACD;transition:color 150ms}
.foot-link:hover{color:#FFFFFF}
.foot-legal{transition:color 150ms}
.foot-legal:hover{color:#C9CACD}

/* Interior-page hover helpers */
.disc-row{transition:background 200ms}
.disc-row:hover{background:#FAFAFB}
.clientname{transition:color 200ms;cursor:default}
.clientname:hover{color:#0A0A0B}
.breadcrumb-link{transition:color 150ms}
.breadcrumb-link:hover{color:#0A0A0B}
.field input,.field textarea,.field select{font-family:inherit;width:100%;background:#FFFFFF;border:1px solid #D8D9DC;border-radius:9px;padding:14px 16px;font-size:14.5px;color:#0A0A0B;transition:border-color 150ms,box-shadow 150ms}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#0A0A0B;box-shadow:0 0 0 3px rgba(10,10,11,0.08)}
.field input::placeholder,.field textarea::placeholder{color:#9A9DA4}

/* WP menu fallback inside nav */
.tt-primary-menu ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:36px}
.tt-primary-menu a{font-size:14px;font-weight:600;color:#52555C;transition:color 150ms}
.tt-primary-menu a:hover,.tt-primary-menu .current-menu-item > a{color:#0A0A0B}

/* Responsive */
@media (max-width: 1140px){
  #nav-phone{display:none !important}
}
@media (max-width: 960px){
  nav.site-nav{padding:14px 24px !important}
  .nav-links{display:none !important}
  .hero-grid{grid-template-columns:1fr !important;gap:48px !important;padding:72px 24px 72px !important}
  .section-pad{padding:72px 24px !important}
  .section-head{grid-template-columns:1fr !important;gap:24px !important;margin-bottom:40px !important}
  .clients-grid{grid-template-columns:repeat(2,1fr) !important}
  .stats-grid{grid-template-columns:repeat(2,1fr) !important}
  .services-grid{grid-template-columns:1fr !important}
  .case-card{grid-template-columns:1fr !important}
  .case-metrics{border-left:0 !important;border-top:1px solid #E8E8EA}
  .founder-grid{grid-template-columns:1fr !important;gap:48px !important}
  .testimonial-grid{grid-template-columns:1fr !important}
  .process-grid{grid-template-columns:1fr !important;gap:32px !important}
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:32px !important}
}
@media (max-width: 960px){
  /* interior pages */
  .svc-hero-grid{grid-template-columns:1fr !important;gap:40px !important}
  .svc-hero-stats{border-left:0 !important;padding-left:0 !important}
  .disc-row{grid-template-columns:48px 1fr !important;gap:16px !important}
  .disc-row .disc-desc{grid-column:1 / -1}
  .disc-row .disc-arrow{display:none !important}
  .engage-grid{grid-template-columns:1fr !important}
  .case-grid{grid-template-columns:1fr !important;gap:40px !important}
  .case-grid.reverse > .case-visual{order:2}
  .work-stats{grid-template-columns:repeat(2,1fr) !important}
  .values-grid{grid-template-columns:1fr !important}
  .timeline-grid{grid-template-columns:1fr !important;gap:28px !important}
  .timeline-grid > div{padding-right:0 !important}
  .facts-grid{grid-template-columns:repeat(2,1fr) !important}
  .contact-grid{grid-template-columns:1fr !important;gap:48px !important}
}
@media (max-width: 560px){
  .clients-grid{grid-template-columns:1fr !important}
  .client-pad{display:none !important}
  .stats-grid{grid-template-columns:1fr !important}
  .footer-grid{grid-template-columns:1fr !important}
  .footer-bottom{flex-direction:column !important;gap:14px;align-items:flex-start !important}
  .work-stats{grid-template-columns:1fr !important}
  .facts-grid{grid-template-columns:1fr !important}
  .form-row{grid-template-columns:1fr !important}
}

/* Generic WP page content (for non-front pages) */
.tt-page-wrap{max-width:880px;margin:0 auto;padding:96px 48px}
.tt-page-wrap h1{font-family:'Satoshi',sans-serif;font-weight:700;font-size:clamp(32px,3.4vw,48px);letter-spacing:-.025em;color:#0A0A0B;margin-bottom:24px}
.tt-page-wrap p{font-size:16px;line-height:1.7;color:#52555C;margin-bottom:16px}
.tt-page-wrap a{color:#0A0A0B;border-bottom:1px solid #0A0A0B}
