/** Local SEO services London: premium editorial presentation. */
.tk-local-seo { overflow: clip; background: var(--tk-color-background); }
.tk-local-seo a:focus-visible,
.tk-local-seo summary:focus-visible { outline: .2rem solid var(--tk-color-brand-secondary); outline-offset: .3rem; }
.tk-local-kicker { margin: 0 0 var(--tk-space-8); color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }

/* Hero */
.tk-local-hero { padding-block: clamp(4.5rem, 9vw, 8.5rem); border-block-end: 1px solid var(--tk-color-border); background: #f7f2e8; }
.tk-local-hero__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .55fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.tk-local-hero h1 { max-width: 15ch; font-size: clamp(2.65rem, 5.8vw, 5.25rem); line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.tk-local-hero__lede { max-width: 55rem; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-local-actions { display: flex; flex-wrap: wrap; gap: var(--tk-space-16) var(--tk-space-24); align-items: center; margin-block-start: var(--tk-space-32); }
.tk-local-hero__focus { margin: 0; border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-local-hero__focus div { padding-block: 1.25rem; border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-local-hero__focus dt { color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.tk-local-hero__focus dd { margin: var(--tk-space-8) 0 0; color: var(--tk-color-text-secondary); }

/* Problem recognition */
.tk-local-start { background: #fffdf8; }
.tk-local-recognition-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-block-start: 1px solid var(--tk-color-border-strong); list-style: none; }
.tk-local-recognition-list li { display: grid; min-width: 0; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--tk-space-16); padding: var(--tk-space-32) clamp(var(--tk-space-16), 4vw, 2.5rem); border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-local-recognition-list li:nth-child(odd) { padding-inline-start: 0; border-inline-end: 1px solid var(--tk-color-border-strong); }
.tk-local-recognition-list span { color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 850; }
.tk-local-recognition-list h3,
.tk-local-recognition-list p { margin: 0; }
.tk-local-recognition-list p { margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }

/* Miliki proof */
.tk-local-proof { background: var(--tk-color-background); scroll-margin-top: 6rem; }
.tk-local-proof__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .7fr); gap: clamp(var(--tk-space-32), 8vw, var(--tk-space-96)); align-items: end; margin-block-end: clamp(var(--tk-space-48), 7vw, 5rem); }
.tk-local-proof__intro h2 { max-width: 18ch; margin-block-end: 0; }
.tk-local-proof__intro > p { margin: 0; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-local-proof__figure { margin: 0; }
.tk-local-proof__figure a { display: block; overflow: hidden; border: 1px solid var(--tk-color-border-strong); border-radius: .625rem; background: #111827; }
.tk-local-proof__figure img { display: block; width: 100%; height: auto; }
.tk-local-proof__figure figcaption { margin-block-start: var(--tk-space-12); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-local-proof__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-start: var(--tk-space-48); border-block: 1px solid var(--tk-color-border-strong); }
.tk-local-proof__details > div { min-width: 0; padding: var(--tk-space-32); padding-inline-start: 0; }
.tk-local-proof__details > div + div { padding-inline-start: var(--tk-space-32); border-inline-start: 1px solid var(--tk-color-border-strong); }
.tk-local-proof__details p:last-child { margin: 0; color: var(--tk-color-text-secondary); }
.tk-local-proof__links { display: flex; flex-wrap: wrap; gap: var(--tk-space-16) var(--tk-space-32); margin-block-start: var(--tk-space-32); }

/* Scope */
.tk-local-scope { background: #fffdf8; }
.tk-local-scope-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-local-scope-list article { display: grid; min-width: 0; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--tk-space-16); padding: var(--tk-space-32) clamp(var(--tk-space-16), 4vw, 2.5rem); border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-local-scope-list article:nth-child(odd) { padding-inline-start: 0; border-inline-end: 1px solid var(--tk-color-border-strong); }
.tk-local-scope-list article > span { color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 850; }
.tk-local-scope-list h3,
.tk-local-scope-list p { margin: 0; }
.tk-local-scope-list p { margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }

/* Profile and website */
.tk-local-profile { background: var(--tk-color-surface-strong); color: var(--tk-color-text-inverse); }
.tk-local-profile h2,
.tk-local-profile h3 { color: var(--tk-color-text-inverse); }
.tk-local-profile .tk-eyebrow,
.tk-local-profile .tk-local-kicker { color: var(--tk-color-accent-soft); }
.tk-local-profile .tk-section-intro > p:last-child { color: rgba(255, 250, 240, .76); }
.tk-local-profile__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); }
.tk-local-check-list { margin: var(--tk-space-32) 0 0; padding: 0; border-block-start: 1px solid rgba(255, 250, 240, .24); list-style: none; }
.tk-local-check-list li { padding-block: var(--tk-space-16); border-block-end: 1px solid rgba(255, 250, 240, .18); color: rgba(255, 250, 240, .78); }
.tk-local-profile__note { max-width: 67rem; margin: var(--tk-space-48) 0 0; padding-block-start: var(--tk-space-24); border-block-start: 1px solid rgba(255, 250, 240, .24); color: rgba(255, 250, 240, .76); }

/* Eligibility */
.tk-local-information { background: var(--tk-color-background); }
.tk-local-model-table-wrap { overflow-x: auto; }
.tk-local-model-table { width: 100%; border-collapse: collapse; }
.tk-local-model-table th,
.tk-local-model-table td { padding: var(--tk-space-24); border-block-end: 1px solid var(--tk-color-border-strong); text-align: left; vertical-align: top; }
.tk-local-model-table thead th { border-block-start: 1px solid var(--tk-color-border-strong); color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); letter-spacing: .08em; text-transform: uppercase; }
.tk-local-model-table tbody th { width: 27%; color: var(--tk-color-text-primary); font-size: var(--tk-font-size-h4); }
.tk-local-model-table td { color: var(--tk-color-text-secondary); }
.tk-local-organic-route { max-width: 65rem; margin-block-start: var(--tk-space-64); padding-block-start: var(--tk-space-32); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-local-organic-route p { color: var(--tk-color-text-secondary); }

/* Process and measurement */
.tk-local-process { background: #fffdf8; }
.tk-local-process-list { margin: 0; padding: 0; border-block-start: 1px solid var(--tk-color-border-strong); list-style: none; }
.tk-local-process-list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: var(--tk-space-24); padding-block: var(--tk-space-32); border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-local-process-list > li > span { color: var(--tk-color-brand-secondary); font-weight: 850; }
.tk-local-process-list h3,
.tk-local-process-list p { margin: 0; }
.tk-local-process-list p { max-width: 60rem; margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }
.tk-local-measurement-summary { display: grid; grid-template-columns: minmax(14rem, .5fr) minmax(0, 1.5fr); gap: var(--tk-space-32); margin-block-start: var(--tk-space-64); padding-block: var(--tk-space-32); border-block: 1px solid var(--tk-color-border-strong); }
.tk-local-measurement-summary h3,
.tk-local-measurement-summary p { margin: 0; }
.tk-local-measurement-summary p { color: var(--tk-color-text-secondary); }

/* Reviews and authority */
.tk-local-reviews { background: var(--tk-color-background); }
.tk-local-split,
.tk-local-why__layout { display: grid; grid-template-columns: minmax(18rem, .7fr) minmax(0, 1.3fr); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); align-items: start; }
.tk-local-reviews__note { margin: 0; padding-block: var(--tk-space-32); border-block: 1px solid var(--tk-color-border-strong); color: var(--tk-color-text-primary); font-size: var(--tk-font-size-body-large); font-weight: 750; }
.tk-local-why { background: #fffdf8; }
.tk-local-why__copy { color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-local-why__copy p + p { margin-block-start: var(--tk-space-24); }

/* FAQ */
.tk-local-faqs { background: var(--tk-color-background); }
.tk-local-faqs__layout { display: grid; grid-template-columns: minmax(16rem, .55fr) minmax(0, 1.45fr); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); align-items: start; }
.tk-local-faqs__layout > div:first-child > p:last-child { color: var(--tk-color-text-secondary); }
.tk-local-faq-list { border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-local-faq-list details { border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-local-faq-list summary { position: relative; padding: var(--tk-space-24) 3.5rem var(--tk-space-24) 0; font-weight: 800; cursor: pointer; list-style: none; }
.tk-local-faq-list summary::-webkit-details-marker { display: none; }
.tk-local-faq-list summary::after { position: absolute; top: 50%; right: var(--tk-space-8); content: "+"; color: var(--tk-color-brand-secondary); font-size: 1.5rem; transform: translateY(-50%); }
.tk-local-faq-list details[open] summary::after { content: "−"; }
.tk-local-faq__answer { max-width: 54rem; padding: 0 var(--tk-space-48) var(--tk-space-24) 0; color: var(--tk-color-text-secondary); }
.tk-local-faq__answer p:last-child { margin-block-end: 0; }

/* Related services and close */
.tk-local-related { background: #fffdf8; }
.tk-local-related__heading { max-width: 52rem; }
.tk-local-related__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-start: clamp(var(--tk-space-48), 8vw, 5rem); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-local-related__list > a { display: flex; min-width: 0; gap: var(--tk-space-24); align-items: start; justify-content: space-between; padding: var(--tk-space-32); border-block-end: 1px solid var(--tk-color-border-strong); color: var(--tk-color-text-primary); text-decoration: none; }
.tk-local-related__list > a:nth-child(odd) { padding-inline-start: 0; border-inline-end: 1px solid var(--tk-color-border-strong); }
.tk-local-related__list > a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.tk-local-related__list strong,
.tk-local-related__list small { display: block; }
.tk-local-related__list strong { font-size: var(--tk-font-size-h4); }
.tk-local-related__list small { margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }
.tk-local-final { background: var(--tk-color-background); }
.tk-local-final .tk-final-cta__panel { padding: clamp(2.5rem, 7vw, 5rem); background: var(--tk-color-brand-primary); box-shadow: none; }
.tk-local-final h2 { max-width: 19ch; }
.tk-local-final .tk-final-cta__panel > p:not(.tk-eyebrow) { max-width: 54rem; color: rgba(255, 250, 240, .78); }
.tk-local-final .tk-local-actions a:not(.tk-button) { color: var(--tk-color-text-inverse); font-weight: 800; }
.tk-local-final .tk-local-actions a:not(.tk-button):hover { color: var(--tk-color-accent-soft); }

@media (max-width: 64rem) {
  .tk-local-hero__layout,
  .tk-local-proof__intro,
  .tk-local-profile__layout,
  .tk-local-split,
  .tk-local-why__layout,
  .tk-local-faqs__layout { grid-template-columns: 1fr; }
  .tk-local-hero__focus { max-width: 36rem; }
  .tk-local-proof__intro > p { max-width: 48rem; }
  .tk-local-faqs__layout > div:first-child { max-width: 40rem; }
}

@media (max-width: 48rem) {
  .tk-local-hero { padding-block: 4rem; }
  .tk-local-hero h1 { font-size: clamp(2.5rem, 11.5vw, 3.7rem); }
  .tk-local-actions { align-items: stretch; flex-direction: column; }
  .tk-local-actions .tk-button { width: 100%; }
  .tk-local-recognition-list,
  .tk-local-scope-list,
  .tk-local-proof__details,
  .tk-local-measurement-summary,
  .tk-local-related__list { grid-template-columns: 1fr; }
  .tk-local-recognition-list li:nth-child(odd),
  .tk-local-scope-list article:nth-child(odd),
  .tk-local-related__list > a:nth-child(odd) { padding-inline-start: 0; border-inline-end: 0; }
  .tk-local-recognition-list li,
  .tk-local-scope-list article,
  .tk-local-related__list > a { padding-inline: 0; }
  .tk-local-proof__details > div + div { padding-inline-start: 0; border-block-start: 1px solid var(--tk-color-border-strong); border-inline-start: 0; }
  .tk-local-model-table { min-width: 38rem; }
  .tk-local-process-list li { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--tk-space-16); }
  .tk-local-faq__answer { padding-inline-end: var(--tk-space-16); }
  .tk-local-final .tk-final-cta__panel { margin-inline: calc(var(--tk-container-padding) * -.25); }
}

@media (prefers-reduced-motion: reduce) {
  .tk-local-seo * { scroll-behavior: auto; }
}
