:root {
  --tb-yellow: #f5e211;
  --tb-yellow-dark: #c8b800;
  --tb-ink: #171717;
  --tb-copy: #5f6268;
  --tb-blue: #f1f1ef;
  --tb-cream: #fffbea;
  --tb-border: #e4e4df;
  --tb-shadow: 0 18px 50px rgba(42, 49, 66, 0.1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--tb-copy);
  background: #fff;
  font-family: Nunito, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
}
.tb-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 650ms ease var(--tb-reveal-delay, 0ms), transform 650ms cubic-bezier(.2,.7,.2,1) var(--tb-reveal-delay, 0ms);
}
.tb-reveal[data-reveal="left"] { transform: translateX(-38px); }
.tb-reveal[data-reveal="right"] { transform: translateX(38px); }
.tb-reveal[data-reveal="scale"] { transform: scale(.94); }
.tb-reveal[data-reveal="soft-rotate"] { transform: translateY(22px) rotate(-1.2deg); }
.tb-reveal.is-visible { opacity: 1; transform: translateY(0); }
.tb-template-hero { padding: 92px 0 105px; }
.tb-template-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 70px;
  align-items: center;
}
.tb-hero-actions { margin-top: 32px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.tb-text-link { color: var(--tb-ink); font-family: Poppins, sans-serif; font-weight: 600; }
.tb-text-link span { color: var(--tb-yellow-dark); transition: transform 180ms ease; display: inline-block; }
.tb-text-link:hover span { transform: translateX(5px); }
.tb-section--ink { overflow: hidden; background: #171717; color: #c9c9c9; }
.tb-section--ink h2, .tb-section--ink h3 { color: #fff; }
.tb-section--ink .tb-eyebrow { color: var(--tb-yellow); }
.tb-service-orbit { position: relative; min-height: 430px; animation: tb-float 5s ease-in-out infinite; }
.tb-service-orbit::before, .tb-service-orbit::after { content: ""; position: absolute; inset: 36px; border: 1px dashed rgba(23,23,23,.25); border-radius: 50%; }
.tb-service-orbit::after { inset: 92px; border-style: solid; border-color: rgba(245,226,17,.7); }
.tb-service-orbit__core { position: absolute; width: 150px; height: 150px; inset: 50% auto auto 50%; display: grid; place-items: center; border-radius: 50%; background: var(--tb-yellow); color: #111; font-family: Poppins, sans-serif; font-size: 27px; font-weight: 700; line-height: 1.05; text-align: center; transform: translate(-50%,-50%); box-shadow: 0 22px 55px rgba(23,23,23,.18); }
.tb-service-orbit__item { position: absolute; min-width: 92px; padding: 16px 18px; border-radius: 5px; background: #fff; color: #111; box-shadow: var(--tb-shadow); font-family: Poppins, sans-serif; font-weight: 600; text-align: center; }
.tb-service-orbit__item--one { top: 25px; left: 42%; }.tb-service-orbit__item--two { top: 43%; right: 2px; }.tb-service-orbit__item--three { bottom: 18px; left: 38%; }.tb-service-orbit__item--four { top: 42%; left: 0; }
@keyframes tb-float { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-10px) } }
.tb-service-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 30px; }
.tb-service-card { position: relative; overflow: hidden; min-height: 440px; padding: 215px 34px 34px; border: 1px solid var(--tb-border); border-radius: 8px; background: #fff; box-shadow: 0 14px 42px rgba(31,36,48,.08); transition: transform 250ms ease, box-shadow 250ms ease; scroll-margin-top: 110px; }
.tb-service-card:hover { transform: translateY(-7px); box-shadow: 0 24px 55px rgba(31,36,48,.14); }
.tb-service-card::before { content: ""; position: absolute; z-index: 1; height: 185px; inset: 0 0 auto; background: rgba(245,226,17,.38); mix-blend-mode: multiply; pointer-events: none; }
.tb-service-card > img { position: absolute; width: 100%; height: 185px; inset: 0 0 auto; object-fit: cover; object-position: center; filter: grayscale(1) contrast(.9); transition: filter 250ms ease, transform 450ms ease; }
.tb-service-card:hover > img { filter: grayscale(1) contrast(1.05); transform: scale(1.035); }
.tb-service-card__number { position: absolute; top: 160px; right: 25px; width: 52px; height: 52px; display: grid; place-items: center; border: 4px solid #fff; border-radius: 50%; background: var(--tb-yellow); color: #111; font-family: Poppins,sans-serif; font-weight: 700; }
.tb-service-card h3 { padding-right: 45px; font-size: 23px; }
.tb-service-card p { margin: 12px 0 15px; }
.tb-service-card ul, .tb-price-card ul { margin: 0; padding: 0; list-style: none; }
.tb-service-card li, .tb-price-card li { position: relative; padding: 5px 0 5px 23px; }
.tb-service-card li::before, .tb-price-card li::before { content: "✓"; position: absolute; left: 0; color: #8b8000; font-weight: 700; }
.tb-process-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.tb-process-step { position: relative; padding: 36px 28px; border-right: 1px solid #3b3b3b; }
.tb-process-step:last-child { border-right: 0; }
.tb-process-step span { display: block; margin-bottom: 25px; color: var(--tb-yellow); font-family: Poppins,sans-serif; font-size: 38px; font-weight: 700; }
.tb-process-step h3 { margin-bottom: 10px; }
.tb-process-line--light { border: 1px solid var(--tb-border); border-radius: 7px; background: #fff; box-shadow: var(--tb-shadow); }
.tb-process-line--light .tb-process-step { border-color: var(--tb-border); }
.tb-process-line--light .tb-process-step span { color: #b6a900; }
.tb-feature-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.tb-feature-split h2 { margin-bottom: 20px; font-size: clamp(34px,4vw,48px); line-height: 1.2; }
.tb-feature-split .tb-button { margin-top: 20px; }
.tb-stat-stack { display: grid; gap: 13px; }
.tb-stat-stack > div { padding: 24px 28px; border-left: 5px solid var(--tb-yellow); background: #fff; box-shadow: var(--tb-shadow); }
.tb-stat-stack strong, .tb-stat-stack span { display: block; }.tb-stat-stack strong { color: #111; font-family: Poppins,sans-serif; font-size: 25px; }.tb-stat-stack span { color: #777; }
.tb-about-visual { position: relative; min-height: 430px; display: grid; place-items: center; }
.tb-about-visual__halo { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: var(--tb-yellow); }
.tb-about-visual img { position: relative; z-index: 2; width: 390px; filter: drop-shadow(0 22px 28px rgba(0,0,0,.12)); }
.tb-about-visual span { position: absolute; z-index: 3; padding: 9px 14px; border-radius: 3px; background: #fff; color: #111; box-shadow: var(--tb-shadow); font-family: Poppins,sans-serif; font-size: 13px; font-weight: 600; }
.tb-about-visual span:nth-of-type(1) { top: 40px; left: 15px; }.tb-about-visual span:nth-of-type(2) { right: 0; top: 45%; }.tb-about-visual span:nth-of-type(3) { bottom: 25px; left: 55px; }
.tb-belief-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.tb-belief-grid article { padding: 25px; border: 1px solid var(--tb-border); border-top: 4px solid var(--tb-yellow); background: #fff; box-shadow: 0 10px 30px rgba(30,30,30,.06); }
.tb-belief-grid span { color: #a09500; font-family: Poppins,sans-serif; font-weight: 700; }.tb-belief-grid h3 { margin: 8px 0; font-size: 20px; }.tb-belief-grid p { margin: 0; font-size: 14px; }
.tb-pricing-visual { position: relative; min-height: 410px; display: grid; place-items: center; }
.tb-pricing-visual img { width: 460px; animation: tb-float 5s ease-in-out infinite; }
.tb-pricing-showcase { position:relative; min-height:440px; }
.tb-pricing-showcase figure { position:absolute; overflow:hidden; margin:0; border:7px solid #fff; border-bottom-color:var(--tb-yellow); border-radius:6px; background:#fff; box-shadow:0 20px 48px rgba(23,23,23,.18); }
.tb-pricing-showcase img { width:100%; height:100%; display:block; object-fit:cover; object-position:top center; filter:grayscale(1) contrast(1.02); }
.tb-pricing-showcase__main { width:78%; height:270px; right:0; top:70px; transform:rotate(1.5deg); }
.tb-pricing-showcase__mobile { z-index:2; width:31%; height:260px; left:0; top:125px; transform:rotate(-4deg); }
.tb-pricing-showcase__web { z-index:3; width:52%; height:145px; right:18px; bottom:0; transform:rotate(-1deg); }
.tb-pricing-portfolio { position:relative; min-height:410px; display:grid; place-items:center; }
.tb-pricing-portfolio figure { overflow:hidden; width:92%; margin:0; border:9px solid #fff; border-bottom:14px solid var(--tb-yellow); border-radius:7px; background:#fff; box-shadow:0 24px 60px rgba(23,23,23,.2); transform:rotate(1deg); }
.tb-pricing-portfolio img { width:100%; height:300px; display:block; object-fit:cover; object-position:top center; filter:grayscale(1) contrast(1.03); }
.tb-floating-note { position: absolute; padding: 12px 18px; border-radius: 4px; background: #fff; color: #111; box-shadow: var(--tb-shadow); font-family: Poppins,sans-serif; font-weight: 600; }.tb-floating-note--one { top: 45px; left: 15px; }.tb-floating-note--two { right: 15px; bottom: 50px; }
.tb-pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; align-items: stretch; }
.tb-price-card { position: relative; padding: 38px 32px; border: 1px solid var(--tb-border); border-radius: 8px; background: #fff; box-shadow: var(--tb-shadow); transition: transform 250ms ease; }
.tb-price-card:hover { transform: translateY(-7px); }.tb-price-card--featured { border: 3px solid var(--tb-yellow); transform: translateY(-12px); }.tb-price-card--featured:hover { transform: translateY(-18px); }
.tb-price-card__label { display: inline-block; padding: 6px 11px; background: var(--tb-yellow); color: #111; font-family: Poppins,sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.tb-price-card h3 { margin: 19px 0 12px; font-size: 27px; }.tb-price-card__lead { min-height: 105px; }.tb-price-card__scope { min-height:76px; margin:0 0 16px; padding:12px 14px; border-left:4px solid var(--tb-yellow); background:#f5f5f2; color:#444; font-size:14px; font-weight:700; }.tb-price-card ul { min-height: 175px; padding-top: 16px; border-top: 1px solid #eee; }.tb-button--outline { border: 2px solid #111; background: #fff; color: #111; }
.tb-accordion details { margin-bottom: 13px; border: 1px solid var(--tb-border); background: #fff; }.tb-accordion summary { padding: 19px 22px; color: #111; font-family: Poppins,sans-serif; font-weight: 600; cursor: pointer; }.tb-accordion details[open] summary { background: var(--tb-yellow); }.tb-accordion p { margin: 0; padding: 19px 22px; }
.tb-contact-hero { background: linear-gradient(105deg,#fffbea 0 50%,#fff 50%); }
.tb-contact-cards { display: grid; gap: 13px; }.tb-contact-cards > * { padding: 23px 26px; border-left: 5px solid var(--tb-yellow); border-radius: 4px; background: #fff; box-shadow: var(--tb-shadow); }.tb-contact-cards span,.tb-contact-cards strong { display:block; }.tb-contact-cards span { color:#888;font-size:13px;text-transform:uppercase;letter-spacing:.08em }.tb-contact-cards strong { color:#111;font-family:Poppins,sans-serif;overflow-wrap:anywhere }
.tb-contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }.tb-contact-layout h2 { margin-bottom: 20px; font-size: clamp(34px,4vw,48px);line-height:1.2 }.tb-contact-points { margin-top: 35px; display:grid; gap:18px }.tb-contact-points > div { display:grid;grid-template-columns:45px 1fr;gap:14px }.tb-contact-points span { width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--tb-yellow);color:#111;font-family:Poppins,sans-serif;font-weight:700 }.tb-contact-points p { margin:0 }
.tb-contact-form { padding: 38px; border-top: 6px solid var(--tb-yellow); border-radius: 6px; background: #fff; box-shadow: var(--tb-shadow); }.tb-form-row { display:grid;grid-template-columns:1fr 1fr;gap:18px }.tb-contact-form label { display:block;margin-bottom:18px;color:#333;font-family:Poppins,sans-serif;font-size:14px;font-weight:600 }.tb-contact-form input,.tb-contact-form select,.tb-contact-form textarea { width:100%;margin-top:7px;padding:14px 15px;border:1px solid #d9dadd;border-radius:3px;background:#fafafa;color:#222;font:16px Nunito,sans-serif }.tb-contact-form input:focus,.tb-contact-form select:focus,.tb-contact-form textarea:focus { outline:3px solid rgba(245,226,17,.35);border-color:#b6a900 }.tb-contact-form button { border:0;cursor:pointer }.tb-form-note { margin:18px 0 0;font-size:13px }.tb-form-note a { color:#7f7600;text-decoration:underline }
@media (prefers-reduced-motion: reduce) { .tb-reveal { opacity:1; transform:none; transition:none }.tb-service-orbit,.tb-pricing-visual img { animation:none } }
.tb-service-detail-hero { background: linear-gradient(112deg,#f1f1ef 0 52%,#fff 52%); }
.tb-service-detail-art { position: relative; min-height: 420px; display: grid; place-items: center; }
.tb-service-detail-art::before { content:""; position:absolute; width:330px; height:330px; border-radius:50%; background:var(--tb-yellow); box-shadow:0 25px 70px rgba(23,23,23,.14); }
.tb-service-detail-art::after { content:""; position:absolute; width:390px; height:390px; border:1px dashed #777; border-radius:50%; animation:tb-spin 24s linear infinite; }
.tb-service-detail-art__label { position:relative; z-index:2; max-width:280px; color:#111; font-family:Poppins,sans-serif; font-size:34px; font-weight:700; line-height:1.15; text-align:center; }
.tb-service-detail-art__portfolio { position:relative; z-index:2; overflow:hidden; width:92%; margin:0; border:8px solid #fff; border-bottom:13px solid var(--tb-yellow); border-radius:7px; background:#fff; box-shadow:0 24px 60px rgba(23,23,23,.2); transform:rotate(-1.5deg); }
.tb-service-detail-art__portfolio img { width:100%; height:270px; display:block; object-fit:cover; object-position:top center; filter:grayscale(1) contrast(1.02); }
.tb-service-detail-art__label { position:absolute; z-index:4; right:18px; bottom:44px; max-width:290px; padding:13px 17px; border-radius:3px; background:#171717; color:#fff; font-size:19px; text-align:left; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.tb-service-detail-art__chip { position:absolute; z-index:3; padding:10px 14px; border:1px solid #ddd; border-radius:4px; background:#fff; color:#222; box-shadow:var(--tb-shadow); font-family:Poppins,sans-serif; font-size:12px; font-weight:600; }
.tb-service-detail-art__chip--one { top:42px; left:30px }.tb-service-detail-art__chip--two { right:5px; top:46% }.tb-service-detail-art__chip--three { bottom:30px; left:65px }
@keyframes tb-spin { to { transform:rotate(360deg) } }
.tb-detail-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; margin-top:45px; }
.tb-detail-benefit { padding:30px; border-top:5px solid var(--tb-yellow); background:#fff; box-shadow:var(--tb-shadow); }
.tb-detail-benefit span { display:block; margin-bottom:12px; color:#a09500; font-family:Poppins,sans-serif; font-weight:700; }
.tb-detail-benefit h3 { margin-bottom:9px; font-size:20px; }
.tb-service-detail-copy { max-width:830px; margin:0 auto; text-align:center; }
.tb-service-detail-copy h2 { font-size:clamp(34px,4vw,48px); line-height:1.2; }
.tb-service-detail-copy p { margin:20px 0 0; font-size:18px; }
#header .default-cart { display:none !important; }
#tb-homepage-header { min-height: 72px; }
.tb-header-fallback {
  width: min(1140px, calc(100% - 30px));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 34px;
  font-family: Poppins, sans-serif;
  font-weight: 500;
}
.tb-header-fallback img { width: 180px; display: block; margin-right: auto; }
.tb-header-fallback a:hover { color: var(--tb-yellow-dark); }

/* The actual homepage header is injected above each rebuilt page. */
#header #rt-mainMenu nav > ul > li > a:hover,
#header #rt-mainMenu nav > ul > li.current-menu-item > a,
#header #rt-mainMenu nav > ul > li.current-menu-ancestor > a,
#header #rt-mainMenu nav > ul > li .rt-dropdown-menu > li > a:hover {
  color: var(--tb-yellow-dark) !important;
}
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: var(--tb-ink);
  font-family: Poppins, Arial, sans-serif;
  font-weight: 600;
}
.tb-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.tb-header {
  position: absolute;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.tb-header__inner {
  width: min(1140px, calc(100% - 30px));
  min-height: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}
.tb-logo {
  width: 32%;
  height: 72px;
  display: flex;
  align-items: flex-start;
  padding-top: 13px;
}
.tb-logo img { width: 180px; height: 90px; display: block; object-fit: contain; object-position: top left; }
.tb-nav { height: 72px; display: inline-flex; align-items: flex-start; gap: 0; }
.tb-nav > a,
.tb-menu-dropdown > summary {
  position: relative;
  margin: 0;
  padding: 24px 20px 26px;
  color: #111;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  cursor: pointer;
  list-style: none;
}
.tb-menu-dropdown > summary::-webkit-details-marker { display: none; }
.tb-menu-dropdown > summary::before {
  content: "";
  position: absolute;
  right: 7px;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -5px;
  border-right: 1.5px solid #222;
  border-bottom: 1.5px solid #222;
  transform: rotate(45deg);
}
.tb-nav > a::after,
.tb-menu-dropdown > summary::after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 16px;
  left: 20px;
  height: 2px;
  background: var(--tb-yellow);
  transform: scaleX(0);
  transition: transform 180ms ease;
}
.tb-nav > a:hover::after,
.tb-nav > a[aria-current="page"]::after,
.tb-menu-dropdown:hover > summary::after,
.tb-menu-dropdown.is-active > summary::after { transform: scaleX(1); }
.tb-nav > a:hover,
.tb-nav > a[aria-current="page"],
.tb-menu-dropdown:hover > summary,
.tb-menu-dropdown.is-active > summary {
  color: var(--tb-yellow-dark);
}
.tb-menu-dropdown { position: relative; }
.tb-menu-dropdown__panel {
  position: absolute;
  z-index: 100;
  min-width: 220px;
  top: 72px;
  left: 0;
  padding: 12px 0;
  border-top: 3px solid var(--tb-yellow);
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(23, 23, 23, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}
.tb-menu-dropdown__panel--wide { min-width: 325px; }
.tb-menu-dropdown:hover .tb-menu-dropdown__panel,
.tb-menu-dropdown:focus-within .tb-menu-dropdown__panel,
.tb-menu-dropdown[open] .tb-menu-dropdown__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.tb-menu-dropdown__panel a {
  display: block;
  padding: 10px 24px;
  color: #333;
  font-family: Poppins, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.tb-menu-dropdown__panel a:hover,
.tb-menu-dropdown__panel a[aria-current="page"] {
  background: var(--tb-yellow);
  color: #111 !important;
}

.tb-hero {
  position: relative;
  overflow: hidden;
  padding: 105px 0 110px;
  background: linear-gradient(105deg, var(--tb-blue) 0 38%, #fff 38% 100%);
}
.tb-hero::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: 7%;
  top: 36px;
  opacity: 0.58;
  background-image: radial-gradient(var(--tb-yellow) 2px, transparent 2px);
  background-size: 18px 18px;
}
.tb-hero::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  right: -90px;
  bottom: -150px;
  border-radius: 50%;
  background: var(--tb-cream);
}
.tb-hero__content { position: relative; z-index: 1; max-width: 760px; }
.tb-eyebrow {
  margin: 0 0 13px;
  color: #555;
  font-family: Poppins, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
}
.tb-hero h1 {
  max-width: 720px;
  font-size: clamp(44px, 6vw, 68px);
  line-height: 1.08;
  text-transform: capitalize;
}
.tb-hero p {
  max-width: 650px;
  margin: 24px 0 0;
  font-size: 18px;
}
.tb-rule { width: 58px; height: 4px; margin-top: 27px; background: var(--tb-yellow); }

.tb-section { position: relative; padding: 105px 0; }
.tb-section--soft { background: #f5f5f2; }
.tb-section--cream { background: var(--tb-cream); }
.tb-section-heading { max-width: 720px; margin: 0 auto 54px; text-align: center; }
.tb-section-heading h2 {
  margin-top: 8px;
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.22;
  text-transform: capitalize;
}
.tb-section-heading p { margin: 20px auto 0; max-width: 670px; }
.tb-center-rule { width: 54px; height: 3px; margin: 25px auto 0; background: var(--tb-yellow); }

.tb-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.tb-team-card {
  overflow: hidden;
  border: 1px solid var(--tb-border);
  border-radius: 6px;
  background: #fff;
  box-shadow: var(--tb-shadow);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.tb-team-card:hover { transform: translateY(-6px); box-shadow: 0 24px 60px rgba(42, 49, 66, 0.15); }
.tb-team-card__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 258 / 336;
  background: var(--tb-blue);
}
.tb-team-card__photo::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 100px;
  right: -38px;
  bottom: -40px;
  border-radius: 50%;
  background: rgba(245, 226, 17, 0.7);
}
.tb-team-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tb-team-card__body { padding: 25px 24px 27px; }
.tb-team-card h3 { font-size: 21px; line-height: 1.3; }
.tb-team-card p { margin: 5px 0 0; color: #777; }

.tb-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.tb-value {
  padding: 34px;
  border: 1px solid var(--tb-border);
  border-radius: 6px;
  background: #fff;
}
.tb-value__number {
  width: 46px;
  height: 46px;
  margin-bottom: 22px;
  border-radius: 50%;
  background: var(--tb-yellow);
  color: var(--tb-ink);
  font-family: Poppins, Arial, sans-serif;
  font-weight: 600;
  line-height: 46px;
  text-align: center;
}
.tb-value h3 { font-size: 20px; }
.tb-value p { margin: 10px 0 0; }

.tb-history-intro {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  gap: 80px;
  align-items: center;
}
.tb-history-art {
  position: relative;
  min-height: 450px;
  border-radius: 8px;
  background: var(--tb-blue);
}
.tb-history-art::before {
  content: "";
  position: absolute;
  width: 72%;
  height: 72%;
  left: 14%;
  top: 14%;
  border-radius: 50%;
  background: var(--tb-yellow);
}
.tb-history-art img {
  position: absolute;
  z-index: 1;
  width: 94%;
  left: 3%;
  bottom: 0;
}
.tb-history-art--photo {
  min-height: 0;
  aspect-ratio: 927 / 750;
  overflow: hidden;
  border: 14px solid #fff7ca;
  background: #fff7ca;
  box-shadow: 0 22px 58px rgba(45, 40, 20, 0.14);
}
.tb-history-art--photo::before { display: none; }
.tb-history-art--photo img {
  position: static;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.tb-history-copy h2 { font-size: clamp(35px, 4vw, 46px); line-height: 1.22; }
.tb-history-copy p { margin: 20px 0 0; }

.tb-journey-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  gap: 76px;
  align-items: center;
}
.tb-journey-photo {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 14px solid #fff7ca;
  border-radius: 8px;
  background: #fff7ca;
  box-shadow: 0 22px 58px rgba(45, 40, 20, 0.14);
}
.tb-journey-photo::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  right: -48px;
  bottom: -48px;
  border-radius: 50%;
  background: rgba(245, 226, 17, 0.75);
}
.tb-journey-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.tb-timeline { position: relative; max-width: 900px; margin: 0 auto; }
.tb-timeline::before {
  content: "";
  position: absolute;
  width: 2px;
  top: 12px;
  bottom: 12px;
  left: 21px;
  background: #dfe4ef;
}
.tb-milestone {
  position: relative;
  padding: 0 0 45px 78px;
}
.tb-milestone:last-child { padding-bottom: 0; }
.tb-milestone::before {
  content: "";
  position: absolute;
  z-index: 1;
  width: 20px;
  height: 20px;
  left: 12px;
  top: 7px;
  border: 6px solid #fff;
  border-radius: 50%;
  background: var(--tb-yellow);
  box-shadow: 0 0 0 1px #dfe4ef;
}
.tb-milestone h3 { font-size: 22px; }
.tb-milestone p { margin: 9px 0 0; }

.tb-quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.tb-quote {
  position: relative;
  padding: 38px 34px 34px;
  border: 1px solid var(--tb-border);
  border-radius: 7px;
  background: #fff;
  box-shadow: var(--tb-shadow);
}
.tb-quote::before {
  content: "“";
  position: absolute;
  top: 20px;
  right: 28px;
  color: var(--tb-yellow);
  font-family: Georgia, serif;
  font-size: 72px;
  line-height: 1;
}
.tb-quote blockquote { margin: 0; position: relative; z-index: 1; color: #555; }
.tb-quote__client {
  margin-top: 28px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.tb-quote__client img {
  width: 62px;
  height: 62px;
  border: 4px solid var(--tb-cream);
  border-radius: 50%;
  object-fit: cover;
}
.tb-quote__client strong { display: block; color: var(--tb-ink); font-family: Poppins, Arial, sans-serif; }
.tb-quote__client span { display: block; color: #888; font-size: 14px; }

.tb-portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px; }
.tb-featured-project {
  overflow: hidden;
  margin-bottom: 54px;
  border: 1px solid var(--tb-border);
  border-bottom: 6px solid var(--tb-yellow);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--tb-shadow);
}
.tb-featured-project__copy {
  padding: 38px 40px 34px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 60px;
  align-items: end;
}
.tb-featured-project__copy h2 {
  margin-top: 7px;
  font-size: clamp(30px, 3.4vw, 42px);
  line-height: 1.2;
}
.tb-featured-project__copy p { margin: 0; }
.tb-featured-project__gallery {
  padding: 26px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  background: #fffbea;
}
.tb-featured-project__gallery figure {
  overflow: hidden;
  height: 520px;
  margin: 0;
  border-radius: 5px;
  background: #111;
  box-shadow: 0 14px 32px rgba(29, 29, 29, 0.12);
}
.tb-featured-project__gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
}
.tb-featured-project__gallery--website {
  display: block;
  padding: 26px;
}
.tb-featured-project__gallery--website figure {
  height: auto;
  background: #fff;
}
.tb-featured-project__gallery--website img {
  height: auto;
  object-fit: contain;
}
.tb-featured-project__highlights {
  padding: 25px 40px 28px;
  display: flex;
  gap: 18px 38px;
  flex-wrap: wrap;
}
.tb-featured-project__highlights span {
  position: relative;
  padding-left: 25px;
  color: #333;
  font-family: Poppins, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
}
.tb-featured-project__highlights span::before {
  content: "✓";
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  top: 3px;
  border-radius: 50%;
  background: var(--tb-yellow);
  color: #111;
  font-size: 10px;
  line-height: 17px;
  text-align: center;
}
.tb-project {
  overflow: hidden;
  border: 1px solid var(--tb-border);
  border-radius: 7px;
  background: #fff;
  box-shadow: var(--tb-shadow);
}
.tb-project__image {
  position: relative;
  overflow: hidden;
  height: 330px;
  background: var(--tb-blue);
}
.tb-project__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 350ms ease;
}
.tb-project__image--triptych {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  background: #111;
}
.tb-project__image--triptych img {
  height: 100%;
  min-width: 0;
  object-fit: cover;
  object-position: top center;
}
.tb-project:hover .tb-project__image img { transform: scale(1.035); }
.tb-project__body { padding: 29px 30px 31px; }
.tb-project__tag {
  color: #777;
  font-family: Poppins, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.tb-project h2 { margin-top: 7px; font-size: 25px; }
.tb-project p { margin: 10px 0 0; }

.tb-cta { padding: 78px 0; background: var(--tb-ink); color: #d9d9d9; }
.tb-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.tb-cta h2 { color: #fff; font-size: clamp(30px, 4vw, 43px); line-height: 1.2; }
.tb-cta p { max-width: 650px; margin: 12px 0 0; }
.tb-button {
  flex: 0 0 auto;
  display: inline-flex;
  min-height: 54px;
  padding: 14px 26px;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: var(--tb-yellow);
  color: var(--tb-ink);
  font-family: Poppins, Arial, sans-serif;
  font-weight: 600;
  transition: transform 180ms ease, background 180ms ease;
}
.tb-button:hover { background: var(--tb-yellow-dark); transform: translateY(-2px); }

.tb-footer { padding: 64px 0 26px; background: #101010; color: #aaa; }
.tb-footer__grid { display: grid; grid-template-columns: 1.2fr 0.8fr 1fr; gap: 55px; }
.tb-footer img { width: 180px; }
.tb-footer h3 { margin-bottom: 17px; color: #fff; font-size: 18px; }
.tb-footer p { margin: 18px 0 0; }
.tb-footer ul { margin: 0; padding: 0; list-style: none; }
.tb-footer li { margin: 8px 0; }
.tb-footer a:hover { color: var(--tb-yellow); }
.tb-footer__bottom {
  margin-top: 46px;
  padding-top: 23px;
  border-top: 1px solid #282828;
  font-size: 14px;
}

@media (max-width: 960px) {
  .tb-nav { gap: 20px; }
  .tb-team-grid, .tb-values, .tb-quote-grid { grid-template-columns: repeat(2, 1fr); }
  .tb-history-intro { grid-template-columns: 1fr; gap: 55px; }
  .tb-history-art { min-height: 390px; max-width: 600px; width: 100%; margin: 0 auto; }
  .tb-journey-layout { grid-template-columns: 1fr; gap: 55px; }
  .tb-journey-photo { width: min(100%, 460px); margin: 0 auto; }
}

@media (max-width: 760px) {
  .tb-header { position: relative; background: #fff; }
  .tb-header__inner { width: min(100% - 30px, 1140px); height: auto; min-height: 72px; padding: 0; align-items: flex-start; flex-direction: column; }
  .tb-logo { width: 100%; }
  .tb-nav { width: 100%; height: auto; gap: 0; flex-wrap: wrap; }
  .tb-nav > a,
  .tb-menu-dropdown > summary { padding: 14px 18px; }
  .tb-menu-dropdown__panel {
    top: 48px;
    left: 0;
  }
  .tb-hero { padding: 75px 0 82px; background: linear-gradient(120deg, var(--tb-blue), #fff); }
  .tb-section { padding: 78px 0; }
  .tb-team-grid, .tb-values, .tb-quote-grid, .tb-portfolio-grid { grid-template-columns: 1fr; }
  .tb-featured-project__copy { grid-template-columns: 1fr; gap: 18px; padding: 30px 25px; }
  .tb-featured-project__gallery {
    padding: 18px;
    grid-template-columns: 1fr;
  }
  .tb-featured-project__gallery figure { height: auto; }
  .tb-featured-project__gallery img { height: auto; object-fit: contain; }
  .tb-featured-project__highlights { padding: 24px 25px 27px; flex-direction: column; }
  .tb-project__image { height: 300px; }
  .tb-cta__inner { align-items: flex-start; flex-direction: column; }
  .tb-footer__grid { grid-template-columns: 1fr; gap: 35px; }
}

@media (max-width: 480px) {
  .tb-container { width: min(100% - 36px, 1180px); }
  .tb-logo img { width: 180px; height: 90px; }
  .tb-nav > a,
  .tb-menu-dropdown > summary { font-size: 13px; }
  .tb-hero h1 { font-size: 40px; }
  .tb-team-card__body, .tb-project__body { padding-right: 22px; padding-left: 22px; }
  .tb-history-art { min-height: 300px; }
  .tb-quote { padding: 34px 25px 29px; }
}

/* ThinkBrite Team page — yellow/black/white brand treatment */
.team-page {
  --tb-blue: #fff9c7;
}
.team-page .tb-header {
  border: 0;
  box-shadow: none;
}
.team-page .tb-logo img { width: 180px; height: 90px; }
.team-page .tb-team-hero {
  min-height: 650px;
  padding: 82px 0 88px;
  background: #fff;
}
.team-page .tb-team-hero::before {
  width: 560px;
  height: 560px;
  right: -130px;
  top: 18px;
  border-radius: 50%;
  opacity: 1;
  background: var(--tb-yellow);
}
.team-page .tb-team-hero::after {
  width: 210px;
  height: 210px;
  right: auto;
  left: -105px;
  bottom: -92px;
  background: #fff7a7;
}
.tb-team-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 64px;
  align-items: center;
}
.team-page .tb-team-hero .tb-hero__content { max-width: 650px; }
.team-page .tb-team-hero h1 {
  max-width: 650px;
  font-size: clamp(48px, 5.7vw, 72px);
}
.team-page .tb-team-hero .tb-eyebrow {
  display: inline-flex;
  padding: 7px 13px;
  border-radius: 3px;
  background: var(--tb-yellow);
  color: var(--tb-ink);
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.team-page .tb-team-hero .tb-rule { background: #171717; }
.tb-team-hero__button { margin-top: 30px; }
.tb-team-hero__portraits {
  position: relative;
  min-height: 470px;
}
.tb-team-hero__portrait {
  position: absolute;
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 22px 55px rgba(25, 25, 25, 0.18);
}
.tb-team-hero__portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.tb-team-hero__portrait--one {
  z-index: 2;
  width: 210px;
  height: 210px;
  left: 28px;
  top: 42px;
}
.tb-team-hero__portrait--two {
  z-index: 3;
  width: 225px;
  height: 225px;
  right: 18px;
  top: 105px;
}
.tb-team-hero__portrait--three {
  z-index: 4;
  width: 175px;
  height: 175px;
  left: 92px;
  bottom: 20px;
}
.tb-team-hero__spark {
  position: absolute;
  z-index: 5;
  color: #171717;
  font-family: Poppins, Arial, sans-serif;
  font-weight: 700;
}
.tb-team-hero__spark--one {
  right: 40px;
  top: 18px;
  font-size: 48px;
  transform: rotate(18deg);
}
.tb-team-hero__spark--two {
  right: 5px;
  bottom: 28px;
  font-size: 38px;
}
.team-page .tb-section:not(.tb-section--soft) {
  background:
    radial-gradient(circle at 88% 12%, rgba(245, 226, 17, 0.18) 0 90px, transparent 91px),
    #fff;
}
.team-page .tb-section--soft {
  background: #fffbea;
}
.team-page .tb-team-card {
  border: 0;
  border-bottom: 5px solid var(--tb-yellow);
  box-shadow: 0 18px 46px rgba(28, 28, 28, 0.1);
}
.team-page .tb-team-card__photo {
  min-height: 238px;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
}
.team-page .tb-team-card__photo::after {
  width: 135px;
  height: 135px;
  right: -45px;
  bottom: -48px;
  background: var(--tb-yellow);
}
.team-page .tb-team-card__photo img {
  position: relative;
  z-index: 1;
  width: 190px;
  height: 190px;
  flex: 0 0 190px;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(25, 25, 25, 0.12);
  object-fit: contain;
}
.team-page .tb-team-card__body {
  min-height: 330px;
  border-top: 1px solid #eee;
}
.team-page .tb-team-card__body span {
  display: block;
  margin-bottom: 5px;
  color: #8a7f00;
  font-family: Poppins, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.team-page .tb-team-card__role {
  margin: 5px 0 0;
  color: #777;
  font-weight: 700;
}
.team-page .tb-team-card__bio {
  margin: 17px 0 0;
  padding-top: 16px;
  border-top: 1px solid #ededed;
  color: #666;
  font-size: 14px;
  line-height: 1.65;
}
.team-page .tb-value {
  border: 0;
  border-top: 4px solid var(--tb-yellow);
  box-shadow: 0 14px 38px rgba(30, 30, 30, 0.08);
}

@media (max-width: 960px) {
  .tb-template-hero__grid,
  .tb-feature-split,
  .tb-contact-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }
  .tb-service-orbit,
  .tb-about-visual,
  .tb-pricing-visual,
  .tb-pricing-showcase,
  .tb-pricing-portfolio {
    width: min(100%, 560px);
    margin: 0 auto;
  }
  .tb-pricing-grid { grid-template-columns: 1fr; }
  .tb-detail-benefits { grid-template-columns: 1fr; }
  .tb-price-card--featured,
  .tb-price-card--featured:hover { transform: none; }
  .tb-price-card__lead,
  .tb-price-card__scope,
  .tb-price-card ul { min-height: 0; }
  .tb-process-line { grid-template-columns: repeat(2, 1fr); }
  .tb-process-step:nth-child(2) { border-right: 0; }
  .tb-process-step:nth-child(-n+2) { border-bottom: 1px solid #3b3b3b; }
  .tb-process-line--light .tb-process-step:nth-child(-n+2) { border-bottom-color: var(--tb-border); }
  .tb-team-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .tb-team-hero__portraits {
    width: min(100%, 520px);
    margin: 0 auto;
  }
  .team-page .tb-team-hero::before {
    right: -230px;
    top: auto;
    bottom: 30px;
  }
}

@media (max-width: 600px) {
  .tb-template-hero { padding: 65px 0 75px; }
  .tb-template-hero__grid { gap: 25px; }
  .tb-service-orbit { min-height: 340px; transform: scale(.9); }
  .tb-service-orbit__core { width: 125px; height: 125px; font-size: 23px; }
  .tb-service-orbit__item { min-width: 76px; padding: 12px 11px; font-size: 13px; }
  .tb-service-grid,
  .tb-belief-grid,
  .tb-form-row { grid-template-columns: 1fr; }
  .tb-service-card { min-height: 0; padding: 185px 24px 28px; }
  .tb-service-card > img { height: 160px; }
  .tb-service-card__number { top: 137px; right: 20px; }
  .tb-process-line { grid-template-columns: 1fr; }
  .tb-process-step,
  .tb-process-step:nth-child(2) { border-right: 0; border-bottom: 1px solid #3b3b3b; }
  .tb-process-step:last-child { border-bottom: 0; }
  .tb-process-line--light .tb-process-step { border-bottom-color: var(--tb-border); }
  .tb-about-visual,
  .tb-pricing-visual,
  .tb-pricing-showcase,
  .tb-pricing-portfolio { min-height: 350px; }
  .tb-pricing-portfolio img { height:230px; }
  .tb-pricing-showcase__main { width:82%; height:215px; top:55px; }
  .tb-pricing-showcase__mobile { width:34%; height:220px; top:95px; }
  .tb-pricing-showcase__web { width:55%; height:105px; bottom:0; }
  .tb-about-visual__halo { width: 285px; height: 285px; }
  .tb-about-visual img { width: 310px; }
  .tb-about-visual span { font-size: 11px; }
  .tb-floating-note { font-size: 12px; }
  .tb-contact-form { padding: 28px 22px; }
  .tb-service-detail-art { min-height: 340px; }
  .tb-service-detail-art::before { width:260px; height:260px; }
  .tb-service-detail-art::after { width:305px; height:305px; }
  .tb-service-detail-art__label { max-width:215px; font-size:27px; }
  .team-page .tb-team-hero {
    padding-top: 62px;
  }
  .team-page .tb-team-hero h1 {
    font-size: 43px;
  }
  .tb-team-hero__portraits {
    min-height: 365px;
  }
  .tb-team-hero__portrait { border-width: 7px; }
  .tb-team-hero__portrait--one {
    width: 165px;
    height: 165px;
  }
  .tb-team-hero__portrait--two {
    width: 175px;
    height: 175px;
    top: 80px;
  }
  .tb-team-hero__portrait--three {
    width: 135px;
    height: 135px;
    left: 38px;
  }
}
