/**
 * TechneKaizen premium consultancy presentation layer.
 *
 * Loaded after route CSS on public pages. Website Pilot intentionally uses its
 * isolated campaign stylesheet and does not load this file.
 */

/* Editorial foundations */
body {
  background: var(--tk-color-background);
  color: var(--tk-color-text-primary);
  font-family: var(--tk-font-family-base);
}

/* Public consultancy pages use contrast and rules rather than elevation. */
main * { box-shadow: none !important; }

main h1,
main h2,
main h3 {
  letter-spacing: -0.035em;
  text-wrap: balance;
}

main h1 { line-height: var(--tk-line-height-tight); }
main h2 { max-width: 21ch; line-height: 1.06; }
main h3 { line-height: 1.13; }

.tk-section {
  padding-block: clamp(4.5rem, 8.5vw, 8rem);
}

.tk-section-intro {
  max-width: 50rem;
  margin-block-end: clamp(2.75rem, 5vw, 4.5rem);
}

.tk-section-intro h2 { margin-block-end: var(--tk-space-24); }

.tk-eyebrow,
main :where([class*="card-label"], .tk-card__label) {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--tk-color-brand-secondary);
  font-size: var(--tk-font-size-label);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* One button language: solid, outline and descriptive text link. */
.tk-button,
main button:not([class*="accordion"]):not([class*="faq"]) {
  min-height: 2.875rem;
  border-radius: var(--tk-radius-medium);
  box-shadow: none;
  transition: background-color var(--tk-motion-duration-base) var(--tk-motion-ease-standard),
    border-color var(--tk-motion-duration-base) var(--tk-motion-ease-standard),
    color var(--tk-motion-duration-base) var(--tk-motion-ease-standard);
}

.tk-button:hover { transform: none; }
.tk-text-link { text-underline-offset: 0.22em; }

/* Navigation: quiet active/hover states and controlled dropdown depth. */
.tk-site-header {
  background: color-mix(in srgb, var(--tk-color-surface) 94%, transparent);
  backdrop-filter: blur(12px);
}

.tk-site-header__inner { min-height: 5.25rem; }
.tk-site-header__toggle { border-radius: var(--tk-radius-medium); }

.tk-nav-list a,
.tk-nav-list__button {
  position: relative;
  border-radius: var(--tk-radius-small);
}
.tk-nav-list__item--cta .tk-button { min-height: 2.75rem; }

.tk-nav-list a:hover,
.tk-nav-list__button:hover,
.tk-nav-list__button[aria-expanded="true"] {
  background: transparent;
  color: var(--tk-color-brand-secondary);
}

.tk-nav-list a[aria-current="page"]::after {
  position: absolute;
  right: var(--tk-space-12);
  bottom: 0.2rem;
  left: var(--tk-space-12);
  height: 1px;
  background: currentColor;
  content: "";
}

.tk-nav-panel {
  border-radius: var(--tk-radius-large);
  box-shadow: var(--tk-shadow-soft);
}

/* Shared surfaces: borders and spacing before elevation. */
main :where([class*="-card"], [class*="__panel"], .tk-card, .tk-feature, .tk-trust-panel) {
  border-radius: var(--tk-radius-medium);
  box-shadow: none;
}

main :where(.tk-card, .tk-feature, .tk-service-route-card, .tk-diagnosis-card, .tk-wd-function-card, .tk-wd-foundation-card, .tk-wd-route-card, .tk-wr-framework-card, .tk-wr-change-card) {
  border-width: 1px 0 0;
  border-color: var(--tk-color-border-strong);
  background: transparent;
}

main :where(.tk-wd-scope-card, .tk-ec-scope-card, .tk-ec-complexity-card, .tk-seo-scope-card, .tk-local-scope-card, .tk-google-ads-scope-card) {
  border-width: 1px 0 0;
  border-color: var(--tk-color-border-strong);
  background: transparent;
}

main :where(
  .premium-industries-card,
  .seo-premium-card,
  .testimonial-card,
  .timeline-card,
  .tool-card,
  .tk-diagnosis-card,
  .tk-ec-complexity-card,
  .tk-ec-scope-card,
  .tk-google-ads-scope-card,
  .tk-local-scope-card,
  .tk-seo-scope-card,
  .tk-service-route-card,
  .tk-wd-foundation-card,
  .tk-wd-function-card,
  .tk-wd-route-card,
  .tk-wd-scope-card,
  .tk-wr-change-card,
  .tk-wr-framework-card
) {
  border-width: 1px 0 0 !important;
  border-color: var(--tk-color-border-strong) !important;
  background: transparent !important;
}

.tk-connected-system__number {
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: var(--tk-color-brand-secondary);
  font-size: var(--tk-font-size-small);
  letter-spacing: 0.1em;
}

main :where([class*="card-label"], [class*="__status"]):not(.tk-contact-form__status) {
  display: block;
  width: auto;
  min-height: 0;
  padding: 0;
}

/* Keep colour semantic rather than categorical. */
main :where([class*="--blue"], [class*="--orange"], [class*="--green"], [class*="--purple"]) {
  --card-accent: var(--tk-color-brand-secondary);
}

/* Homepage: proof-led hero and editorial section rhythm. */
.tk-home {
  background: var(--tk-color-background);
}

.tk-home-hero {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  border-block-end: 1px solid var(--tk-color-border);
}

.tk-home-hero__inner {
  grid-template-columns: minmax(0, 0.95fr) minmax(24rem, 0.8fr);
  gap: clamp(3rem, 7vw, 7.5rem);
  align-items: center;
}

.tk-home-hero__title {
  max-width: 15ch;
  letter-spacing: -0.055em;
}

.tk-home-hero__proof-note {
  display: block;
  padding-block-start: var(--tk-space-24);
  border-block-start: 1px solid var(--tk-color-border-strong);
}

.tk-home-hero__proof-note::before { display: none; }

.tk-home-proof {
  display: grid;
  min-height: 0;
  gap: var(--tk-space-24);
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--tk-color-text-primary);
  box-shadow: none;
}

.tk-home-proof__primary {
  overflow: hidden;
  border: 1px solid var(--tk-color-border);
  border-radius: var(--tk-radius-large);
  background: #fff;
  aspect-ratio: 3 / 2;
}

.tk-home-proof__primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.tk-home-proof__heading {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--tk-space-8) var(--tk-space-24);
  align-items: baseline;
  padding-block-end: var(--tk-space-24);
  border-block-end: 1px solid var(--tk-color-border-strong);
}

.tk-home-proof__heading strong {
  color: var(--tk-color-text-primary);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.tk-home-proof__heading > span:last-child {
  color: var(--tk-color-text-secondary);
  font-size: var(--tk-font-size-small);
  text-align: right;
}

.tk-home-proof__eyebrow {
  grid-column: 1 / -1;
  color: var(--tk-color-brand-secondary);
}

.tk-home-proof__secondary {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: var(--tk-space-16);
  align-items: center;
}

.tk-home-proof__secondary img {
  width: 7rem;
  height: 4.75rem;
  border: 1px solid var(--tk-color-border);
  border-radius: var(--tk-radius-small);
  object-fit: cover;
  object-position: top;
}

.tk-home-proof__secondary p,
.tk-home-proof__secondary span { display: block; margin: 0; }
.tk-home-proof__secondary span { margin-block-start: 0.2rem; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }

.tk-problem,
.tk-selected-work,
.tk-process { background: #fffdf8; }

.tk-route-list,
.tk-service-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-block: 1px solid var(--tk-color-border-strong);
  list-style: none;
}

.tk-route-item,
.tk-service-pillar {
  min-width: 0;
  padding: clamp(2rem, 4vw, 3.25rem);
  padding-inline-start: 0;
}

.tk-route-item + .tk-route-item,
.tk-service-pillar + .tk-service-pillar {
  padding-inline-start: clamp(2rem, 4vw, 3.25rem);
  border-inline-start: 1px solid var(--tk-color-border-strong);
}

.tk-route-item__label,
.tk-service-pillar__number {
  display: block;
  margin-block-end: var(--tk-space-32);
  color: var(--tk-color-brand-secondary);
  font-size: var(--tk-font-size-label);
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tk-route-item > p:not(.tk-route-item__label),
.tk-service-pillar > p { color: var(--tk-color-text-secondary); }
.tk-route-item .tk-link-list,
.tk-service-pillar .tk-link-list { border-block-start: 1px solid var(--tk-color-border); }
.tk-route-item .tk-link-list li + li,
.tk-service-pillar .tk-link-list li + li { border-block-start: 1px solid var(--tk-color-border); }
.tk-route-item .tk-link-list a,
.tk-service-pillar .tk-link-list a { width: 100%; justify-content: space-between; }
.tk-route-item .tk-link-list a::after,
.tk-service-pillar .tk-link-list a::after { content: "→"; font-weight: 500; }

.tk-work-list { display: grid; gap: clamp(5rem, 10vw, 9rem); }
.tk-work-project {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.65fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}
.tk-work-project--reverse { grid-template-columns: minmax(18rem, 0.65fr) minmax(0, 1.65fr); }
.tk-work-project--reverse .tk-work-project__media { grid-column: 2; }
.tk-work-project--reverse .tk-work-project__body { grid-row: 1; grid-column: 1; }
.tk-work-project__media {
  overflow: hidden;
  border: 1px solid var(--tk-color-border);
  border-radius: var(--tk-radius-large);
  background: #fff;
  aspect-ratio: 3 / 2;
}
.tk-work-project__media img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.tk-work-project__body { padding-block: var(--tk-space-24); border-block: 1px solid var(--tk-color-border-strong); }
.tk-work-project__type { color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-small); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.tk-work-project__service { color: var(--tk-color-text-primary); font-size: var(--tk-font-size-small); font-weight: 800; }
.tk-work-project__body > p:not(.tk-work-project__type, .tk-work-project__service) { color: var(--tk-color-text-secondary); }

.tk-why__layout { grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); }
.tk-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-benefit { padding: var(--tk-space-32); border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-benefit:nth-child(odd) { padding-inline-start: 0; }
.tk-benefit:nth-child(even) { border-inline-start: 1px solid var(--tk-color-border-strong); }
.tk-benefit p { color: var(--tk-color-text-secondary); }

.tk-process-list { gap: 0; border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-process-step { grid-template-columns: 4rem minmax(10rem, 0.45fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); align-items: baseline; padding-block: var(--tk-space-24); border-block-start: 0; border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-process-step__number { display: block; width: auto; height: auto; border-radius: 0; background: transparent; color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-small); letter-spacing: 0.1em; }
.tk-process-step > div { display: contents; }
.tk-process-step h3,
.tk-process-step p { margin: 0; }

.tk-insights-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-insight-entry { display: flex; min-width: 0; flex-direction: column; padding: var(--tk-space-32); padding-inline-start: 0; border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-insight-entry + .tk-insight-entry { padding-inline-start: var(--tk-space-32); border-inline-start: 1px solid var(--tk-color-border-strong); }
.tk-insight-entry > p { color: var(--tk-color-text-secondary); }
.tk-insight-entry .tk-text-link { min-height: 2.75rem; margin-block-start: auto; }
.tk-insight-entry__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-final-cta__panel {
  border-radius: var(--tk-radius-xl);
  background: var(--tk-color-brand-primary);
  box-shadow: none;
}

/* Archive and article listings read as editorial content, not product tiles. */
.tk-insights-grid { gap: 0; border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-insights-card {
  border: 0;
  border-block-end: 1px solid var(--tk-color-border-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tk-insights-card__media { border-radius: var(--tk-radius-small); }

/* Legacy PPC compatibility page: preserve its intent/copy, calm its UI skin. */
.tk-ppc-compat .seo-agency-hero-section {
  min-height: 0;
  padding: clamp(4.5rem, 8vw, 7.5rem) var(--tk-container-padding);
  background: var(--tk-color-background);
  color: var(--tk-color-text-primary);
  font-family: var(--tk-font-family-base);
}
.tk-ppc-compat .seo-agency-geometric-bg,
.tk-ppc-compat .seo-premium-floating { display: none; }
.tk-ppc-compat .seo-agency-hero-container {
  width: min(100%, var(--tk-container-standard));
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.65fr);
  gap: clamp(3rem, 7vw, 7rem);
}
.tk-ppc-compat .seo-agency-main-heading {
  max-width: 13ch;
  margin-block-end: var(--tk-space-32);
  color: var(--tk-color-text-primary);
  font-family: var(--tk-font-family-display);
  font-size: clamp(2.75rem, 5.5vw, 4.75rem);
  letter-spacing: -0.055em;
  line-height: 1;
  text-transform: none;
}
.tk-ppc-compat .seo-agency-tagline {
  color: var(--tk-color-brand-secondary);
  font-size: var(--tk-font-size-label);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.tk-ppc-compat .seo-agency-description {
  max-width: 45rem;
  margin-block-end: var(--tk-space-32);
  color: var(--tk-color-text-secondary);
  font-size: var(--tk-font-size-body-large);
}
.tk-ppc-compat .promo-card {
  max-width: 30rem;
  padding: clamp(2rem, 4vw, 3rem);
  border: 0;
  border-radius: var(--tk-radius-large);
  background: var(--tk-color-brand-primary) !important;
  color: var(--tk-color-text-inverse);
  cursor: default;
  transform: none !important;
}
.tk-ppc-compat .promo-card::before { display: none; }
.tk-ppc-compat .reviewer-info { padding: var(--tk-space-16) 0; border-block: 1px solid rgba(255,250,240,.22); border-radius: 0; background: transparent; backdrop-filter: none; }
.tk-ppc-compat .seo-premium-section,
.tk-ppc-compat .premium-industries-section,
.tk-ppc-compat .technekaizen-testimonial-section { font-family: var(--tk-font-family-base); }

/* Footer: more air, fewer competing typographic signals. */
.tk-site-footer__inner { gap: clamp(3rem, 9vw, 8rem); padding-block: clamp(4.5rem, 8vw, 7rem); }
.tk-site-footer__brand { font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -0.04em; }
.tk-site-footer__motion { max-width: 28rem; margin-block: var(--tk-space-24); }
.tk-site-footer__note { max-width: 32rem; }
.tk-site-footer__contact { max-width: 32rem; font-size: 0.95rem; }
.tk-site-footer__nav { gap: clamp(1.5rem, 4vw, 3.5rem); }
.tk-footer-nav { gap: var(--tk-space-12); }

@media (max-width: 64rem) {
  .tk-home-hero__inner,
  .tk-why__layout,
  .tk-work-project,
  .tk-work-project--reverse { grid-template-columns: 1fr; }
  .tk-home-hero__content { max-width: 52rem; }
  .tk-home-proof { max-width: 46rem; }
  .tk-work-project--reverse .tk-work-project__media,
  .tk-work-project--reverse .tk-work-project__body { grid-row: auto; grid-column: auto; }
  .tk-ppc-compat .seo-agency-hero-container { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
  .tk-section { padding-block: clamp(3.75rem, 16vw, 5.25rem); }
  .tk-site-header__inner { min-height: 4.5rem; }
  .tk-site-header__brand .tk-site-header__brand-mark { height: 1.75rem; }
  .tk-home-hero { padding-block: 3.75rem; }
  .tk-home-hero__inner { gap: 3.5rem; }
  .tk-home-hero__title { font-size: clamp(2.55rem, 12vw, 3.6rem); }
  .tk-home-proof__heading { grid-template-columns: 1fr; }
  .tk-home-proof__heading > span:last-child { text-align: left; }
  .tk-route-list,
  .tk-service-pillars,
  .tk-feature-list,
  .tk-insights-list { grid-template-columns: 1fr; }
  .tk-route-item,
  .tk-route-item + .tk-route-item,
  .tk-service-pillar,
  .tk-service-pillar + .tk-service-pillar { padding: var(--tk-space-32) 0; border-inline-start: 0; }
  .tk-route-item + .tk-route-item,
  .tk-service-pillar + .tk-service-pillar { border-block-start: 1px solid var(--tk-color-border-strong); }
  .tk-benefit,
  .tk-benefit:nth-child(odd),
  .tk-benefit:nth-child(even),
  .tk-insight-entry,
  .tk-insight-entry + .tk-insight-entry { padding: var(--tk-space-32) 0; border-inline-start: 0; }
  .tk-process-step { grid-template-columns: 2.5rem minmax(0, 1fr); align-items: start; }
  .tk-process-step > div { display: block; }
  .tk-process-step h3 { margin-block-end: var(--tk-space-8); }
  .tk-site-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 23rem) {
  .tk-home-hero__actions,
  .tk-home-hero__actions .tk-button { width: 100%; }
  .tk-home-proof__secondary { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .tk-home-proof__secondary img { width: 5.5rem; height: 4rem; }
  .tk-site-footer__nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tk-button,
  .tk-text-link::after { transition: none; }
}
