/** SEO services London: editorial evidence-led presentation. */
.tk-seo { overflow: clip; background: var(--tk-color-background); }
.tk-seo a:focus-visible,
.tk-seo summary:focus-visible { outline: .2rem solid var(--tk-color-brand-secondary); outline-offset: .3rem; }
.tk-seo-editorial-intro { max-width: 56rem; }
.tk-seo-editorial-intro--wide { max-width: 70rem; }
.tk-seo-editorial-intro > p:last-child,
.tk-seo-services__heading > p,
.tk-seo-foundations__intro > p:last-child,
.tk-seo-why__copy,
.tk-seo-related small { color: var(--tk-color-text-secondary); }
.tk-seo-kicker { margin: 0; color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Hero */
.tk-seo-hero { padding-block: clamp(4.5rem, 9vw, 8.5rem); background: #f7f2e8; }
.tk-seo-hero__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .55fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.tk-seo-hero h1 { max-width: 15ch; font-size: clamp(2.65rem, 5.8vw, 5.25rem); line-height: .98; }
.tk-seo-hero__lede { max-width: 54rem; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-body-large); }
.tk-seo-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-seo-hero__route { max-width: 46rem; margin-block-start: var(--tk-space-24); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-hero__proof { padding-block: var(--tk-space-32); border-block: 1px solid var(--tk-color-border-strong); }
.tk-seo-hero__proof strong { display: block; margin-block: var(--tk-space-16) var(--tk-space-8); color: var(--tk-color-brand-primary); font-family: var(--tk-font-family-display); font-size: clamp(3.5rem, 8vw, 6.5rem); font-weight: 650; line-height: .9; }
.tk-seo-hero__proof p:not(.tk-seo-kicker) { margin-block-end: var(--tk-space-16); color: var(--tk-color-text-secondary); }
.tk-seo-hero__proof a { font-weight: 800; }
.tk-seo-hero__proof small { display: block; margin-block-start: var(--tk-space-24); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }

/* Outcomes */
.tk-seo-outcomes { background: #fffdf8; }
.tk-seo-outcome-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(var(--tk-space-24), 4vw, var(--tk-space-48)); margin: clamp(var(--tk-space-48), 7vw, var(--tk-space-80)) 0 0; padding: 0; list-style: none; }
.tk-seo-outcome-list li { min-width: 0; padding-block-start: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-outcome-list span { color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 800; letter-spacing: .08em; }
.tk-seo-outcome-list h3 { margin-block: var(--tk-space-16) var(--tk-space-8); }
.tk-seo-outcome-list p { margin: 0; color: var(--tk-color-text-secondary); }

/* Owned-property evidence */
.tk-seo-evidence { background: var(--tk-color-background); }
.tk-seo-disclosure { margin-block-start: var(--tk-space-32); padding-block-start: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border-strong); color: var(--tk-color-text-primary) !important; font-weight: 700; }
.tk-seo-proof-feature,
.tk-seo-cross-engine,
.tk-seo-emerging,
.tk-seo-revival { margin-block-start: clamp(4.5rem, 10vw, 9rem); }
.tk-seo-proof-feature__header { display: flex; gap: var(--tk-space-24); align-items: end; justify-content: space-between; padding-block-start: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-proof-feature__header h3 { margin-block: var(--tk-space-8) 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.tk-seo-proof-feature__header > p { margin: 0; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); text-align: right; }
.tk-seo-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(var(--tk-space-32), 6vw, var(--tk-space-64)) 0; }
.tk-seo-metrics > div { min-width: 0; padding: var(--tk-space-24); border-block: 1px solid var(--tk-color-border); }
.tk-seo-metrics > div + div { border-inline-start: 1px solid var(--tk-color-border); }
.tk-seo-metrics dt { color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-metrics dd { margin: var(--tk-space-8) 0 0; color: var(--tk-color-brand-primary); font-family: var(--tk-font-family-display); font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 650; line-height: 1; }
.tk-seo-proof-figure { margin: 0; }
.tk-seo-proof-figure a { display: block; overflow: hidden; border: 1px solid var(--tk-color-border-strong); background: #edf2f8; }
.tk-seo-proof-figure img { display: block; width: 100%; height: auto; }
.tk-seo-proof-figure figcaption { max-width: 70rem; margin-block-start: var(--tk-space-12); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-cross-engine { display: grid; grid-template-columns: minmax(18rem, .6fr) minmax(0, 1.4fr); gap: clamp(var(--tk-space-32), 7vw, var(--tk-space-80)); align-items: center; padding-block: clamp(var(--tk-space-48), 8vw, var(--tk-space-80)); border-block: 1px solid var(--tk-color-border-strong); }
.tk-seo-cross-engine h3 { margin-block: var(--tk-space-12) var(--tk-space-24); }
.tk-seo-cross-engine > div > p:last-child,
.tk-seo-revival__copy > p { color: var(--tk-color-text-secondary); }
.tk-seo-metrics--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block: var(--tk-space-32); }
.tk-seo-metrics--compact > div { padding: var(--tk-space-16) var(--tk-space-12); }
.tk-seo-metrics--compact dd { font-size: clamp(1.75rem, 3.5vw, 2.75rem); }
.tk-seo-proof-figure--compact a { background: #f4f6f8; }
.tk-seo-emerging { display: grid; grid-template-columns: minmax(18rem, .55fr) minmax(0, 1.45fr); gap: clamp(var(--tk-space-40), 8vw, var(--tk-space-96)); }
.tk-seo-emerging__intro h3 { font-size: clamp(2rem, 4vw, 3.25rem); }
.tk-seo-emerging__intro p:last-child,
.tk-seo-property-list p { color: var(--tk-color-text-secondary); }
.tk-seo-property-list article { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(20rem, 1.2fr); gap: var(--tk-space-32); padding-block: var(--tk-space-32); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-property-list article:last-child { border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-property-list h4 { margin: 0; font-size: var(--tk-font-size-h4); }
.tk-seo-property-list p { margin-block: var(--tk-space-8) 0; }
.tk-seo-property-list dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--tk-space-16); margin: 0; }
.tk-seo-property-list dt { color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-property-list dd { margin: var(--tk-space-4) 0 0; font-size: var(--tk-font-size-h4); font-weight: 800; }
.tk-seo-evidence-note { grid-column: 2; margin: 0; padding-block-start: var(--tk-space-24); color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-revival { display: grid; grid-template-columns: minmax(20rem, .6fr) minmax(0, 1.4fr); gap: clamp(var(--tk-space-32), 7vw, var(--tk-space-80)); align-items: center; }
.tk-seo-revival__copy h3 { font-size: clamp(2rem, 4vw, 3.5rem); }
.tk-seo-revival .tk-seo-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-block-end: 0; }
.tk-seo-evidence-meaning { background: var(--tk-color-surface-strong); color: var(--tk-color-text-inverse); }
.tk-seo-evidence-meaning__layout { display: grid; grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); }
.tk-seo-evidence-meaning h2 { color: var(--tk-color-text-inverse); }
.tk-seo-evidence-meaning .tk-eyebrow { color: var(--tk-color-accent-soft); }
.tk-seo-evidence-meaning__layout > div:last-child > p { color: rgba(255, 250, 240, .78); font-size: var(--tk-font-size-body-large); }
.tk-seo-evidence-meaning .tk-seo-rank-note { margin-block-start: var(--tk-space-32); padding-block-start: var(--tk-space-24); border-block-start: 1px solid rgba(255, 250, 240, .22); color: rgba(255, 250, 240, .66); font-size: var(--tk-font-size-small); }

/* Commercial scope */
.tk-seo-services { background: #fffdf8; }
.tk-seo-services__heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .55fr); gap: clamp(var(--tk-space-32), 8vw, var(--tk-space-96)); align-items: end; }
.tk-seo-services__heading h2 { max-width: 18ch; }
.tk-seo-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-start: clamp(var(--tk-space-48), 8vw, var(--tk-space-80)); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-service-list article { display: grid; min-width: 0; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--tk-space-8) var(--tk-space-16); padding: var(--tk-space-32) clamp(var(--tk-space-16), 4vw, var(--tk-space-40)); border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-service-list article:nth-child(odd) { padding-inline-start: 0; border-inline-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-service-list span { grid-row: 1 / 3; color: var(--tk-color-brand-secondary); font-size: var(--tk-font-size-label); font-weight: 800; }
.tk-seo-service-list h3,
.tk-seo-service-list p { margin: 0; }
.tk-seo-service-list p { color: var(--tk-color-text-secondary); }
.tk-seo-local-route { max-width: 62rem; margin-block-start: var(--tk-space-48); padding-block-start: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-local-route p { margin: 0; }

/* Foundations */
.tk-seo-foundations { background: var(--tk-color-background); }
.tk-seo-foundations__layout { display: grid; grid-template-columns: minmax(18rem, .65fr) minmax(0, 1.35fr); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); }
.tk-seo-foundation-list { margin: 0; padding: 0; list-style: none; }
.tk-seo-foundation-list li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--tk-space-24); padding-block: var(--tk-space-24); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-foundation-list li:last-child { border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-foundation-list > li > span { color: var(--tk-color-brand-secondary); font-weight: 800; }
.tk-seo-foundation-list h3,
.tk-seo-foundation-list p { margin: 0; }
.tk-seo-foundation-list p { margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }
.tk-seo-authority-copy { grid-column: 2; max-width: 52rem; padding-block-start: var(--tk-space-32); }
.tk-seo-authority-copy p { color: var(--tk-color-text-secondary); }

/* Process and accountability */
.tk-seo-process { background: #fffdf8; }
.tk-seo-process-list { margin: clamp(var(--tk-space-48), 8vw, var(--tk-space-80)) 0 0; padding: 0; border-block-start: 1px solid var(--tk-color-border-strong); list-style: none; }
.tk-seo-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-seo-process-list > li > span { color: var(--tk-color-brand-secondary); font-weight: 800; }
.tk-seo-process-list h3,
.tk-seo-process-list p { margin: 0; }
.tk-seo-process-list p { max-width: 60rem; margin-block-start: var(--tk-space-8); color: var(--tk-color-text-secondary); }
.tk-seo-process__note { max-width: 60rem; margin: var(--tk-space-32) 0 0; color: var(--tk-color-text-secondary); font-size: var(--tk-font-size-small); }
.tk-seo-why { background: var(--tk-color-background); }
.tk-seo-why__layout { display: grid; grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); gap: clamp(var(--tk-space-48), 9vw, var(--tk-space-128)); }
.tk-seo-why__copy { padding-block-start: var(--tk-space-8); font-size: var(--tk-font-size-body-large); }
.tk-seo-why__copy p + p { margin-block-start: var(--tk-space-24); }

/* FAQ */
.tk-seo-faqs { background: #fffdf8; }
.tk-seo-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-seo-faqs__layout > div:first-child > p:last-child { color: var(--tk-color-text-secondary); }
.tk-seo-faq-list { border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-faq-list details { border-block-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-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-seo-faq-list summary::-webkit-details-marker { display: none; }
.tk-seo-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-seo-faq-list details[open] summary::after { content: "−"; }
.tk-seo-faq__answer { max-width: 54rem; padding: 0 var(--tk-space-48) var(--tk-space-24) 0; color: var(--tk-color-text-secondary); }
.tk-seo-faq__answer p:last-child { margin-block-end: 0; }

/* Continuation and close */
.tk-seo-related { background: var(--tk-color-background); }
.tk-seo-related__heading { max-width: 50rem; }
.tk-seo-related__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-start: clamp(var(--tk-space-48), 8vw, var(--tk-space-80)); border-block-start: 1px solid var(--tk-color-border-strong); }
.tk-seo-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-seo-related__list > a:nth-child(odd) { padding-inline-start: 0; border-inline-end: 1px solid var(--tk-color-border-strong); }
.tk-seo-related__list > a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.tk-seo-related__list strong,
.tk-seo-related__list small { display: block; }
.tk-seo-related__list strong { font-size: var(--tk-font-size-h4); }
.tk-seo-related__list small { margin-block-start: var(--tk-space-8); }
.tk-seo-final { background: #fffdf8; }
.tk-seo-final .tk-final-cta__panel { padding: clamp(var(--tk-space-40), 7vw, var(--tk-space-80)); color: var(--tk-color-text-inverse); }
.tk-seo-final h2 { max-width: 20ch; color: var(--tk-color-text-inverse); }
.tk-seo-final .tk-final-cta__panel > p:not(.tk-eyebrow) { max-width: 52rem; color: rgba(255, 250, 240, .78); }
.tk-seo-final .tk-seo-actions a:not(.tk-button) { color: var(--tk-color-text-inverse); font-weight: 800; }
.tk-seo-final .tk-seo-actions a:not(.tk-button):hover { color: var(--tk-color-accent-soft); }

@media (max-width: 64rem) {
  .tk-seo-hero__layout,
  .tk-seo-cross-engine,
  .tk-seo-emerging,
  .tk-seo-revival,
  .tk-seo-evidence-meaning__layout,
  .tk-seo-services__heading,
  .tk-seo-foundations__layout,
  .tk-seo-why__layout,
  .tk-seo-faqs__layout { grid-template-columns: 1fr; }
  .tk-seo-hero__proof { max-width: 36rem; }
  .tk-seo-evidence-note,
  .tk-seo-authority-copy { grid-column: 1; }
  .tk-seo-property-list article { grid-template-columns: 1fr; }
  .tk-seo-revival__copy { max-width: 48rem; }
  .tk-seo-faqs__layout > div:first-child { max-width: 40rem; }
}

@media (max-width: 48rem) {
  .tk-seo-hero { padding-block: 4rem; }
  .tk-seo-hero h1 { font-size: clamp(2.55rem, 12vw, 3.75rem); }
  .tk-seo-actions { align-items: stretch; flex-direction: column; }
  .tk-seo-actions .tk-button { width: 100%; }
  .tk-seo-outcome-list,
  .tk-seo-service-list,
  .tk-seo-related__list { grid-template-columns: 1fr; }
  .tk-seo-proof-feature__header { align-items: start; flex-direction: column; }
  .tk-seo-proof-feature__header > p { text-align: left; }
  .tk-seo-metrics,
  .tk-seo-revival .tk-seo-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tk-seo-metrics > div,
  .tk-seo-metrics > div + div { padding-inline: var(--tk-space-12); border-inline-start: 0; }
  .tk-seo-metrics > div:nth-child(even) { border-inline-start: 1px solid var(--tk-color-border); }
  .tk-seo-metrics--compact { grid-template-columns: 1fr; }
  .tk-seo-metrics--compact > div:nth-child(even) { border-inline-start: 0; }
  .tk-seo-property-list dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tk-seo-service-list article:nth-child(odd),
  .tk-seo-related__list > a:nth-child(odd) { padding-inline-start: 0; border-inline-end: 0; }
  .tk-seo-service-list article,
  .tk-seo-related__list > a { padding-inline: 0; }
  .tk-seo-foundation-list li { grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--tk-space-16); }
  .tk-seo-process-list li { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--tk-space-16); }
  .tk-seo-faq__answer { padding-inline-end: var(--tk-space-16); }
  .tk-seo-final .tk-final-cta__panel { margin-inline: calc(var(--tk-container-padding) * -.25); }
}

@media (max-width: 23rem) {
  .tk-seo-metrics,
  .tk-seo-revival .tk-seo-metrics,
  .tk-seo-property-list dl { grid-template-columns: 1fr; }
  .tk-seo-metrics > div:nth-child(even) { border-inline-start: 0; }
}
