* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
body { margin: 0; background: var(--tk-color-background); color: var(--tk-color-text-primary); font-family: var(--tk-font-family-base); font-size: var(--tk-font-size-body); line-height: var(--tk-line-height-body); text-rendering: optimizeLegibility; }
a { color: var(--tk-color-brand-secondary); text-underline-offset: 0.22em; }
a:hover { color: var(--tk-color-brand-primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--tk-color-accent); outline-offset: 3px; }
button { font: inherit; }
img, svg, video { max-width: 100%; height: auto; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1, h2, h3 { margin-block: 0 var(--tk-space-16); color: var(--tk-color-text-primary); font-family: var(--tk-font-family-display); line-height: var(--tk-line-height-heading); letter-spacing: -0.035em; }
h1 { font-size: var(--tk-font-size-h1); }
h2 { font-size: var(--tk-font-size-h2); }
h3 { font-size: var(--tk-font-size-h3); }
p { margin-block: 0 var(--tk-space-16); }
.tk-container { width: min(100% - (var(--tk-container-padding) * 2), var(--tk-container-standard)); margin-inline: auto; }
.tk-container--narrow { max-width: var(--tk-container-narrow); }
.tk-container--wide { max-width: var(--tk-container-wide); }
.tk-section { padding-block: clamp(var(--tk-space-64), 8vw, var(--tk-space-128)); }
.tk-section-intro { max-width: var(--tk-container-narrow); margin-block-end: var(--tk-space-48); }
.tk-section-intro > p:last-child { color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-eyebrow { margin: 0 0 var(--tk-space-12); color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.tk-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.85rem; padding: var(--tk-space-12) var(--tk-space-24); border: 1px solid var(--tk-color-brand-primary); border-radius: var(--tk-radius-pill); background: var(--tk-color-brand-primary); color: var(--tk-color-text-inverse); font-weight: 800; line-height: 1.2; text-decoration: none; transition: transform var(--tk-motion-duration-base) var(--tk-motion-ease-standard), background var(--tk-motion-duration-base) var(--tk-motion-ease-standard), color var(--tk-motion-duration-base) var(--tk-motion-ease-standard); }
.tk-button:hover { color: var(--tk-color-text-inverse); transform: translateY(-1px); }
.tk-button--secondary { background: transparent; color: var(--tk-color-brand-primary); }
.tk-button--secondary:hover { background: var(--tk-color-brand-primary); color: var(--tk-color-text-inverse); }
.tk-button--small { min-height: 2.4rem; padding: 0.65rem 1rem; }
.tk-text-link { display: inline-flex; align-items: center; gap: var(--tk-space-8); font-weight: 800; }
.tk-text-link::after { content: "→"; transition: transform var(--tk-motion-duration-base) var(--tk-motion-ease-standard); }
.tk-text-link:hover::after { transform: translateX(0.18rem); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.screen-reader-text:focus { z-index: 100000; top: var(--tk-space-16); left: var(--tk-space-16); width: auto; height: auto; clip: auto; padding: var(--tk-space-12) var(--tk-space-16); background: var(--tk-color-surface); color: var(--tk-color-text-primary); }

/* Shared header/navigation */
.tk-site-header { position: sticky; top: 0; z-index: 50; border-block-end: 1px solid var(--tk-color-border); background: color-mix(in srgb, var(--tk-color-surface) 88%, transparent); backdrop-filter: blur(18px); }
.tk-site-header__inner { display: flex; gap: var(--tk-space-24); align-items: center; justify-content: space-between; min-height: 4.75rem; padding-block: var(--tk-space-12); }
.tk-site-header__brand { display: inline-flex; align-items: center; gap: var(--tk-space-12); color: var(--tk-color-brand-primary); font-weight: 900; text-decoration: none; }
/* Keep the shared logo size authoritative over WooCommerce's body-scoped img reset on 410 pages. */
.tk-site-header__brand .tk-site-header__brand-mark { display: block; flex: none; width: auto; height: 2rem; max-width: 100%; object-fit: contain; }
.tk-site-header__toggle { display: none; align-items: center; min-height: 2.55rem; padding: var(--tk-space-8) var(--tk-space-16); border: 1px solid var(--tk-color-border-strong); border-radius: var(--tk-radius-pill); background: var(--tk-color-surface-raised); color: var(--tk-color-text-primary); font-weight: 800; }
.tk-nav-list { display: flex; gap: var(--tk-space-8); align-items: center; margin: 0; padding: 0; list-style: none; }
.tk-nav-list__item { position: relative; }
.tk-nav-list a, .tk-nav-list__button { display: inline-flex; align-items: center; min-height: 2.4rem; padding: var(--tk-space-8) var(--tk-space-12); border: 0; border-radius: var(--tk-radius-pill); background: transparent; color: var(--tk-color-text-primary); font-weight: 750; text-decoration: none; cursor: pointer; }
.tk-nav-list a:hover, .tk-nav-list__button:hover, .tk-nav-list__button[aria-expanded="true"] { background: color-mix(in srgb, var(--tk-color-accent-soft) 42%, transparent); }
.tk-nav-panel { position: absolute; inset-block-start: calc(100% + var(--tk-space-12)); inset-inline-start: 0; display: grid; min-width: min(42rem, calc(100vw - 2rem)); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tk-space-24); padding: var(--tk-space-24); border: 1px solid var(--tk-color-border); border-radius: var(--tk-radius-large); background: var(--tk-color-surface-raised); box-shadow: var(--tk-shadow-card); }
.tk-nav-panel[data-state="closed"] { display: none; }
.tk-nav-panel__heading { margin-block-end: var(--tk-space-8); color: var(--tk-color-text-primary); font-weight: 900; }
.tk-nav-panel__links { display: grid; gap: var(--tk-space-4); margin: 0; padding: 0; list-style: none; }
.tk-nav-panel__links a { justify-content: flex-start; width: 100%; border-radius: var(--tk-radius-medium); color: var(--tk-color-text-secondary); }

/* Homepage */
.tk-home { background:
  radial-gradient(circle at 82% 8%, rgba(217,139,58,0.18), transparent 32rem),
  linear-gradient(180deg, #fbf7ef 0%, var(--tk-color-background) 38%, #f4efe5 100%); }
.tk-home-hero { position: relative; overflow: hidden; padding-block: clamp(var(--tk-space-64), 9vw, var(--tk-space-128)); }
.tk-home-hero__inner { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(20rem, 0.82fr); gap: clamp(var(--tk-space-32), 6vw, var(--tk-space-96)); align-items: center; }
.tk-home-hero__title { max-width: 16ch; font-size: var(--tk-font-size-h1); }
.tk-home-hero__lede { max-width: 42rem; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-home-hero__proof-note { display: flex; max-width: 39rem; gap: var(--tk-space-8); align-items: flex-start; margin-block-start: var(--tk-space-24); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); font-weight: 750; }
.tk-home-hero__proof-note::before { content: ""; flex: 0 0 auto; width: 0.7rem; height: 0.7rem; margin-block-start: 0.38rem; border-radius: 50%; background: var(--tk-color-success); box-shadow: 0 0 0 0.3rem color-mix(in srgb, var(--tk-color-success) 14%, transparent); }
.tk-home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--tk-space-16); margin-block-start: var(--tk-space-32); }
.tk-home-hero__visual { min-height: clamp(22rem, 42vw, 36rem); }
.tk-home-proof { display: grid; align-content: space-between; gap: var(--tk-space-24); margin: 0; padding: clamp(var(--tk-space-24), 4vw, var(--tk-space-32)); overflow: hidden; border: 1px solid rgba(255,255,255,0.3); border-radius: var(--tk-radius-xl); background: linear-gradient(145deg, var(--tk-color-surface-strong), #214f6f); color: var(--tk-color-text-inverse); box-shadow: var(--tk-shadow-card); }
.tk-home-proof__heading { display: grid; gap: var(--tk-space-8); }
.tk-home-proof__heading strong { max-width: 18ch; color: var(--tk-color-text-inverse); font-size: clamp(1.4rem, 3vw, 2.15rem); line-height: var(--tk-line-height-heading); }
.tk-home-proof__eyebrow { color: var(--tk-color-accent-soft); font-size: var(--tk-font-size-label); font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.tk-home-proof__sites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tk-space-16); align-items: end; }
.tk-home-proof__site { display: grid; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.22); border-radius: var(--tk-radius-medium); background: rgba(255,255,255,0.1); }
.tk-home-proof__site img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: top; background: #fff; }
.tk-home-proof__site > span { padding: var(--tk-space-12); color: var(--tk-color-text-inverse); font-size: var(--tk-font-size-label); font-weight: 800; line-height: 1.35; }
.tk-home-proof__browser { display: flex; gap: 0.3rem; padding: 0.48rem 0.6rem; background: rgba(255,255,255,0.14); }
.tk-home-proof__browser span { width: 0.42rem; height: 0.42rem; border-radius: 50%; background: rgba(255,255,255,0.62); }
.tk-home-proof__note { margin: 0; color: rgba(255,250,240,0.7); font-size: var(--tk-font-size-label); }

.tk-card-grid { display: grid; gap: var(--tk-space-24); }
.tk-card-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tk-card, .tk-feature, .tk-trust-panel, .tk-editorial-empty { padding: clamp(var(--tk-space-24), 4vw, var(--tk-space-32)); border: 1px solid var(--tk-color-border); border-radius: var(--tk-radius-large); background: color-mix(in srgb, var(--tk-color-surface-raised) 90%, transparent); box-shadow: var(--tk-shadow-soft); }
.tk-card p, .tk-feature p, .tk-process-step p, .tk-work-card p, .tk-trust-panel li, .tk-editorial-empty p { color: var(--tk-color-text-secondary); }
.tk-card__label { margin-block-end: var(--tk-space-12); color: var(--tk-color-brand-secondary) !important; font-size: var(--tk-font-size-label); font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.tk-link-list, .tk-check-list { display: grid; gap: var(--tk-space-8); margin: var(--tk-space-24) 0 0; padding: 0; list-style: none; }
.tk-link-list a { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 800; }
.tk-check-list li { position: relative; padding-inline-start: 1.65rem; }
.tk-check-list li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--tk-color-success); font-weight: 900; }
.tk-services, .tk-why, .tk-trust { background: rgba(255,255,255,0.34); }
.tk-work-grid { display: grid; gap: var(--tk-space-24); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tk-work-card { display: grid; overflow: hidden; border: 1px solid var(--tk-color-border); border-radius: var(--tk-radius-large); background: var(--tk-color-surface-raised); box-shadow: var(--tk-shadow-card); }
.tk-work-card__media { min-height: 15rem; padding: var(--tk-space-24); background: linear-gradient(135deg, #172033, #214f6f 58%, #d98b3a); }
.tk-work-card__screen { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; border: 1px solid rgba(255,255,255,0.5); border-radius: var(--tk-radius-medium); background: #fff; box-shadow: 0 0.75rem 2rem rgba(8,15,27,0.22); object-fit: cover; object-position: top; }
.tk-work-card__body { padding: var(--tk-space-32); }
.tk-work-card__type { margin-block-end: var(--tk-space-8); color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-small); font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.tk-work-card__service { color: var(--tk-color-text-primary) !important; font-size: var(--tk-font-size-small); font-weight: 850; }
.tk-work-card .tk-text-link { min-height: 2.75rem; }
.tk-section-action { margin-block: var(--tk-space-32) 0; }
.tk-insight-card { display: flex; align-items: flex-start; flex-direction: column; }
.tk-insight-card .tk-text-link { min-height: 2.75rem; margin-block-start: auto; }
.tk-insight-card__service { display: inline-flex; min-height: 2.75rem; align-items: center; margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); font-weight: 750; }
.tk-why__layout, .tk-trust__layout { display: grid; grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr); gap: clamp(var(--tk-space-32), 6vw, var(--tk-space-96)); align-items: start; }
.tk-feature-list { display: grid; gap: var(--tk-space-16); }
.tk-process-list { display: grid; gap: var(--tk-space-16); margin: 0; padding: 0; list-style: none; counter-reset: process; }
.tk-process-step { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--tk-space-24); padding: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border); }
.tk-process-step__number { display: inline-grid; width: 3rem; height: 3rem; place-items: center; border-radius: var(--tk-radius-pill); background: var(--tk-color-brand-primary); color: var(--tk-color-text-inverse); font-weight: 900; }
.tk-final-cta__panel { padding: clamp(var(--tk-space-32), 6vw, var(--tk-space-96)); border-radius: var(--tk-radius-xl); background: linear-gradient(135deg, var(--tk-color-brand-primary), #214f6f); color: var(--tk-color-text-inverse); box-shadow: var(--tk-shadow-card); }
.tk-final-cta__panel h2, .tk-final-cta__panel p, .tk-final-cta__panel .tk-eyebrow { color: var(--tk-color-text-inverse); }
.tk-final-cta__panel p { max-width: var(--tk-container-narrow); color: color-mix(in srgb, var(--tk-color-text-inverse) 82%, transparent); font-size: var(--tk-font-size-body-large); }
.tk-final-cta__panel .tk-button { background: var(--tk-color-text-inverse); color: var(--tk-color-brand-primary); border-color: var(--tk-color-text-inverse); }
[data-reveal-section] [data-reveal-item], [data-home-hero] .tk-home-hero__content, [data-home-hero-visual] { will-change: transform, opacity; }

/* Footer */
.tk-site-footer { border-block-start: 1px solid var(--tk-color-border); background: var(--tk-color-surface-strong); color: var(--tk-color-text-inverse); }
.tk-site-footer__inner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(var(--tk-space-32), 7vw, var(--tk-space-96)); padding-block: var(--tk-space-64); }
.tk-site-footer__brand { margin-block-end: var(--tk-space-12); color: var(--tk-color-text-inverse); font-size: var(--tk-font-size-h3); font-weight: 900; }
.tk-site-footer__motion { min-height: 1.8em; color: var(--tk-color-accent-soft); font-weight: 800; }
.tk-site-footer__note { color: rgba(255,250,240,0.72); }
.tk-site-footer__contact { display: grid; gap: 0.15rem; margin-block-start: var(--tk-space-24); color: rgba(255,250,240,0.86); font-style: normal; line-height: 1.55; }
.tk-site-footer__contact-entity { margin-block-end: var(--tk-space-8); color: rgba(255,250,240,0.72); }
.tk-site-footer__contact-link { justify-self: start; margin-block-start: var(--tk-space-8); color: var(--tk-color-accent-soft); font-weight: 700; text-decoration: underline; text-underline-offset: 0.2em; overflow-wrap: anywhere; }
.tk-site-footer__contact-link:hover { text-decoration-thickness: 2px; }
.tk-site-footer__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--tk-space-24); }
.tk-site-footer__heading { margin-block-end: var(--tk-space-12); color: var(--tk-color-text-inverse); font-size: 1rem; letter-spacing: 0; }
.tk-footer-nav { display: grid; gap: var(--tk-space-8); margin: 0; padding: 0; list-style: none; }
.tk-footer-nav a { color: rgba(255,250,240,0.78); text-decoration: none; }
.tk-footer-nav a:hover { color: var(--tk-color-text-inverse); text-decoration: underline; }

@media (max-width: 64rem) {
  .tk-home-hero__inner, .tk-why__layout, .tk-trust__layout, .tk-site-footer__inner { grid-template-columns: 1fr; }
  .tk-card-grid--three, .tk-work-grid, .tk-site-footer__nav { grid-template-columns: 1fr; }
  .tk-home-hero__title { max-width: 18ch; }
}
@media (max-width: 48rem) {
  .tk-site-header__inner { align-items: stretch; flex-wrap: wrap; }
  .tk-site-header__toggle { display: inline-flex; margin-inline-start: auto; }
  .tk-site-header__nav { flex-basis: 100%; width: 100%; padding-block-end: var(--tk-space-16); }
  .tk-site-header__nav[data-state="closed"] { display: none; }
  .tk-nav-list { align-items: stretch; flex-direction: column; }
  .tk-nav-list a, .tk-nav-list__button { justify-content: space-between; width: 100%; border-radius: var(--tk-radius-medium); }
  .tk-nav-list__item--cta .tk-button { justify-content: center; }
  .tk-nav-panel { position: static; min-width: 0; grid-template-columns: 1fr; gap: var(--tk-space-16); margin-block-start: var(--tk-space-8); padding: var(--tk-space-16); box-shadow: none; }
  .tk-home-hero { padding-block-start: var(--tk-space-48); }
  .tk-home-hero__title { font-size: clamp(2.35rem, 12vw, 3rem); }
  .tk-home-hero__visual { min-height: 18rem; }
  .tk-home-proof { padding: 1.25rem; }
  .tk-home-proof__sites { gap: var(--tk-space-8); }
  .tk-home-proof__site > span { padding: var(--tk-space-8); }
  .tk-section { padding-block: var(--tk-space-64); }
  .tk-process-step { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal-section] [data-reveal-item], [data-home-hero] .tk-home-hero__content, [data-home-hero-visual] { opacity: 1 !important; transform: none !important; }
}
