/* Preview-only polish pass: athletic, modern typography and consistent UI rhythm without changing content or imagery. */
:root {
  --tim-ink: #172019;
  --tim-muted: #4f5b52;
  --tim-soft: #f7f5f0;
  --tim-line: rgba(23, 32, 25, 0.12);
  --tim-red: #b83a2e;
  --tim-red-dark: #9f3026;
  --tim-green: #9ad3b3;
  --tim-radius: 8px;
  --tim-shadow: 0 10px 28px rgba(23, 32, 25, 0.08);
  --tim-heading: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --tim-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
  text-rendering: optimizeLegibility;
}

body,
.seo-page {
  font-family: var(--tim-body);
  color: var(--tim-ink);
  font-size: 16px;
  line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
.seo-page h1,
.seo-page h2,
.seo-page h3,
.hero h1,
.cta h2,
.intro-card h2 {
  font-family: var(--tim-heading);
  letter-spacing: 0;
  font-weight: 760;
}

main h1,
.seo-page h1,
.hero h1 {
  line-height: 1.04;
  font-weight: 780;
}

main h2,
.seo-page h2,
.cta h2,
.intro-card h2 {
  line-height: 1.12;
  font-weight: 760;
}

main h3,
.seo-page h3,
.faq-item h3 {
  line-height: 1.25;
  font-weight: 740;
}

main p,
.seo-page p,
.faq-item p,
.intro-card p {
  color: var(--tim-muted);
  line-height: 1.72;
  font-weight: 450;
}

main section > div > p:first-child,
.seo-eyebrow,
.hero .eyebrow,
.intro-card > p:first-child,
.cta > div > p:first-child,
p[class*="uppercase"],
h4[class*="uppercase"],
.eyebrow,
footer h2 {
  font-size: 0.78rem !important;
  line-height: 1.3;
  font-weight: 780 !important;
  letter-spacing: 0;
  text-transform: none !important;
}

header nav a,
.seo-nav a,
.btn,
.seo-btn,
button,
header a[href="/contact"],
header a[href="/contact/"] {
  font-family: var(--tim-body);
  font-weight: 700 !important;
  letter-spacing: 0;
}

header nav[aria-label="Main navigation"],
.seo-nav {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

.seo-top-inner {
  max-width: 80rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

header .top-inner,
header .seo-top-inner {
  max-width: 80rem !important;
  min-height: 5rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

header > div > a[href="/"] {
  flex-shrink: 0 !important;
}

header .brand,
header .seo-brand,
header > div > a[href="/"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  color: var(--tim-ink) !important;
  text-decoration: none !important;
}

header .brand img,
header .seo-brand img,
header > div > a[href="/"] img {
  width: 3.5rem !important;
  height: 2.75rem !important;
  object-fit: contain !important;
}

header .brand > span,
header .seo-brand > span,
header > div > a[href="/"] > span {
  color: var(--tim-ink) !important;
  font-family: var(--tim-body) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

header .brand > span span,
header .seo-brand > span span,
header > div > a[href="/"] > span span {
  display: block !important;
  color: var(--tim-muted) !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

header .menu-toggle,
header button.menu-toggle,
header .tb-menu-toggle,
header button.tb-menu-toggle {
  width: 2.5rem !important;
  height: 2.5rem !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
}

header .mobile-panel[data-open="true"],
header .mobile-panel.is-open {
  display: block !important;
}

header .mobile-panel {
  border-top: 1px solid rgba(23, 32, 25, 0.1);
  background: var(--tim-soft);
  padding: 0 1.25rem 1.25rem;
}

header .mobile-panel nav {
  display: grid;
}

header .mobile-panel a {
  display: block;
  border-bottom: 1px solid rgba(23, 32, 25, 0.1);
  padding: 0.85rem 0;
  color: var(--tim-ink);
  text-decoration: none;
  font-weight: 700 !important;
}

header .mobile-panel a[aria-current="page"] {
  color: var(--tim-red);
}

header .mobile-panel:not([data-open="true"]):not(.is-open) {
  display: none !important;
}

header nav[aria-label="Main navigation"] a,
.seo-nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap !important;
  font-size: 0.94rem !important;
  line-height: 1.15 !important;
  min-height: 2.55rem;
  padding: 0.65rem 0.78rem !important;
}

header .public-nav-cta,
header .contact-actions .public-nav-cta,
header a[href="/contact"],
header a[href="/contact/"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap !important;
  font-size: 0.94rem !important;
  line-height: 1.15 !important;
  min-height: 2.85rem;
  padding: 0.78rem 1rem !important;
}

.btn,
.seo-btn,
header a[href="/contact"],
header a[href="/contact/"],
button[class*="btn"] {
  border-radius: var(--tim-radius) !important;
  box-shadow: 0 1px 0 rgba(23, 32, 25, 0.08) !important;
}

.btn-primary,
.seo-btn,
button[class*="btn-primary"],
a[class*="btn-primary"] {
  background-color: var(--tim-red) !important;
}

.btn-primary:hover,
.seo-btn:hover,
button[class*="btn-primary"]:hover,
a[class*="btn-primary"]:hover {
  background-color: var(--tim-red-dark) !important;
}

article,
.seo-card,
.faq-item,
.intro-card,
figure,
section[class*="rounded"],
div[class*="rounded-lg"][class*="border"] {
  border-radius: var(--tim-radius) !important;
}

article,
.seo-card,
.faq-item,
.intro-card {
  border-color: var(--tim-line) !important;
  box-shadow: 0 8px 20px rgba(23, 32, 25, 0.05) !important;
}

.tim-familiar-section,
.tim-work-process-section {
  font-family: var(--tim-body);
}

.tim-familiar-heading h2,
.tim-work-process-heading h2 {
  font-family: var(--tim-heading);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: 0;
}

.tim-familiar-card,
.tim-work-process-card {
  border-radius: var(--tim-radius) !important;
  box-shadow: 0 8px 20px rgba(23, 32, 25, 0.05) !important;
}

.tim-familiar-card p,
.tim-work-process-card p,
.tim-work-process-note {
  font-weight: 450 !important;
  line-height: 1.68 !important;
}

.tim-work-process-card h3 {
  font-family: var(--tim-heading);
  font-weight: 760 !important;
}

main h1,
.seo-page h1,
.hero h1 {
  max-width: 12.5em;
}

main h2,
.seo-page h2,
.cta h2,
.intro-card h2 {
  max-width: 13.5em;
}

.btn-primary,
.seo-btn,
button[class*="btn-primary"],
a[class*="btn-primary"] {
  border: 1px solid rgba(23, 32, 25, 0.08) !important;
}

header nav a[aria-current="page"] {
  box-shadow: inset 0 -2px 0 rgba(154, 211, 179, 0.4);
}

.tim-contact-first-section {
  padding-top: clamp(4rem, 7vw, 6rem) !important;
}

section.bg-\[\#172019\] p,
section[class*="bg-[#172019]"] p {
  color: rgba(255, 255, 255, 0.78);
}

section.bg-\[\#172019\] p[class*="uppercase"],
section[class*="bg-[#172019]"] p[class*="uppercase"] {
  color: var(--tim-green) !important;
}

@media (max-width: 1260px) {
  header nav[aria-label="Main navigation"] a,
  .seo-nav a {
    font-size: 0.88rem !important;
    padding-left: 0.52rem !important;
    padding-right: 0.52rem !important;
  }

  header .public-nav-cta,
  header .contact-actions .public-nav-cta,
  header a[href="/contact"],
  header a[href="/contact/"] {
    font-size: 0.88rem !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
}

@media (max-width: 1120px) {
  header > div:first-child > a > span,
  header .seo-brand span,
  header .brand span {
    display: none !important;
  }
}

@media (max-width: 980px), (orientation: landscape) and (max-height: 560px) {
  header nav[aria-label="Main navigation"],
  header .contact-actions,
  header > div:first-child > div.hidden.items-center.gap-3.md\:flex {
    display: none !important;
  }

  header button.md\:hidden,
  header button[aria-label*="menu" i],
  header button[aria-label*="navigation" i] {
    display: inline-flex !important;
  }

  header > div:nth-child(2).md\:hidden {
    display: block !important;
  }
}

@media (max-width: 767px) {
  body,
  .seo-page {
    font-size: 15.5px;
  }

  header .top-inner,
  header .seo-top-inner {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  main h1,
  .seo-page h1,
  .hero h1 {
    line-height: 1.06;
  }

  main p,
  .seo-page p,
  .faq-item p,
  .intro-card p {
    line-height: 1.68;
  }
}
