/* Version 85 — final visual system, spacing, typography and colour balance. */
:root{
  --tk-ink:#071426;
  --tk-copy:#43566a;
  --tk-green:#00cf7a;
  --tk-green-dark:#007c50;
  --tk-paper:#f5f7f4;
  --tk-soft:#edf6f1;
  --tk-line:#d8e2de;
  --tk-shell:min(1200px,calc(100% - 48px));
  --tk-section:clamp(68px,7vw,104px);
  --tk-radius:22px;
}
html{scroll-padding-top:96px}
body{font-family:"DM Sans",Arial,sans-serif!important;color:var(--tk-ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.tk-brand strong{font-family:"Manrope","DM Sans",Arial,sans-serif!important;text-wrap:balance}
p,li,blockquote,figcaption{font-family:"DM Sans",Arial,sans-serif}
main h1{font-size:clamp(2.65rem,5.4vw,5.5rem)!important;line-height:.98!important;letter-spacing:-.055em!important}
main h2{font-size:clamp(2.15rem,4.25vw,4rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
h3{line-height:1.15;letter-spacing:-.025em}
p{max-width:72ch}
img{height:auto}
a,button{transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--tk-green)!important;outline-offset:4px}

/* Homepage: align the capability introduction and remove the excessive empty field. */
.home-premium-v83 .services{padding-block:var(--tk-section)!important;background:#fff!important}
.home-premium-v83 .services>header{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(300px,.65fr)!important;align-items:end!important;gap:clamp(32px,6vw,88px)!important;max-width:1200px!important}
.home-premium-v83 .services>header>div{max-width:680px!important}
.home-premium-v83 .services>header>p{align-self:end;max-width:480px!important;margin:0 0 6px!important;font-size:1.03rem!important;line-height:1.72!important}
.home-premium-v83 .services h2{max-width:650px!important;font-size:clamp(2.55rem,4.35vw,4.2rem)!important}
.home-premium-v83 .service-tabs{margin-top:38px!important}
.home-premium-v83 .service-showcase>article{border-radius:24px!important}
.home-premium-v83 .service-showcase h3{font-size:clamp(2.3rem,4vw,3.85rem)!important}
.home-premium-v83 .near-process{background:#0b1a2b}
.home-premium-v83 .growth-ebook{background:#eef6f2!important;color:var(--tk-ink)!important}
.home-premium-v83 .growth-ebook .ebook-copy>p{color:var(--tk-copy)!important}
.home-premium-v83 .growth-ebook .ebook-form small{color:#61766d!important}
.home-premium-v83 .growth-ebook .ebook-art{background:linear-gradient(145deg,#dfece6,#f8fbf9)!important}
.home-premium-v83 .challenges,.home-premium-v83 .near-qualification,.home-premium-v83 .insights,.home-premium-v83 .faq{padding-block:var(--tk-section)!important}

/* Service templates: one rhythm, fewer dark blocks and better reading widths. */
.lp{--lp-shell:min(1180px,calc(100% - 48px))}
.lp .lp-shell{width:var(--lp-shell)!important}
.lp .lp-section{padding-block:var(--tk-section)!important}
.lp .lp-hero-image{filter:saturate(1.08) brightness(1.08)}
.lp .lp-hero::after{background:linear-gradient(90deg,#091525 0%,#091525 27%,rgba(9,21,37,.9) 42%,rgba(9,21,37,.42) 61%,rgba(9,21,37,.05) 100%)!important}
.lp h1{max-width:820px}
.lp h2{max-width:780px}
.lp .lp-section-head{max-width:790px!important;margin-bottom:clamp(30px,4vw,48px)!important}
.lp .lp-card,.lp .lp-deliverable-grid article,.lp .lp-child-grid article,.lp .lp-steps article{border-radius:var(--tk-radius)!important}
.lp .lp-service-tabs{background:var(--tk-soft)!important;color:var(--tk-ink)!important}
.lp .lp-service-tabs .lp-kicker{color:var(--tk-green-dark)!important}
.lp .lp-service-tabs .lp-section-head p{color:var(--tk-copy)!important}
.lp .lp-tabs button{background:#fff!important;color:#203447!important;border-color:#bfd2ca!important}
.lp .lp-tabs button[aria-selected="true"]{background:var(--tk-ink)!important;color:#fff!important;border-color:var(--tk-ink)!important}
.lp .lp-service-panel{background:#fff!important;color:var(--tk-ink)!important;border-color:#ceddd7!important;box-shadow:0 18px 50px rgba(7,20,38,.06)}
.lp .lp-service-panel p{color:var(--tk-copy)!important}
.lp .lp-service-scope{background:#f4f8f6!important;border-color:#d1e0da!important}
.lp .lp-service-scope>span,.lp .lp-service-scope li{color:#31584c!important}
.lp .lp-service-scope li{border-color:#d4e2dd!important}
.lp .lp-service-scope p{color:#536b62!important}
.lp .lp-reviews{background:#fff!important;color:var(--tk-ink)!important}
.lp .lp-reviews-head p{color:var(--tk-copy)!important}
.lp .lp-reviews-head .lp-kicker,.lp .lp-reviews-head>a{color:var(--tk-green-dark)!important}
.lp .lp-review-card{background:#f3f8f5!important;color:var(--tk-ink)!important;border-color:#cfe0d8!important;box-shadow:0 14px 38px rgba(7,20,38,.06)!important}
.lp .lp-review-top small,.lp .lp-reviews-foot,.lp .lp-review-label{color:#5f746c!important}
.lp .lp-review-type{background:#d8f5e8!important;color:#006b45!important}
.lp .lp-ai-search,.lp .lp-final{background:#0b1a2b!important}

/* Industry pages: restrained headline scale and consistent vertical rhythm. */
.im67-shell,.industry-v66-wrap,.final-depth .wrap{width:var(--tk-shell)!important}
.im67-hero{min-height:720px!important}
.im67-hero-media{opacity:.74!important}
.im67-hero-media:after{background:linear-gradient(90deg,rgba(6,19,38,.98) 0%,rgba(6,19,38,.9) 42%,rgba(6,19,38,.14) 72%,rgba(6,19,38,.04) 100%),linear-gradient(0deg,rgba(6,19,38,.48),transparent 50%)!important}
.im67-hero h1{font-size:clamp(3rem,6vw,5.7rem)!important;max-width:850px!important}
.im67-intro,.im67-industries,.im67-services,.im67-measure,.im67-process,.im67-faq{padding-block:var(--tk-section)!important}
.ads-hero h1{font-size:clamp(2.8rem,5.7vw,5.35rem)!important;max-width:800px}
.waste,.ads-services,.audience,.decision-path,.measurement,.methodology,.industry-proof-v66,.industry-tools-v66,.final-depth,.faq{padding-top:var(--tk-section)!important;padding-bottom:var(--tk-section)!important}
.ads-services>header,.audience>header,.measurement>header,.methodology>div:first-child{max-width:820px}
.ads-services h2,.audience h2,.decision-path h2,.measurement h2,.methodology h2,.final-depth h2,.faq h2{font-size:clamp(2.1rem,4vw,3.85rem)!important}
.industry-tools-v66{background:var(--tk-soft)!important;color:var(--tk-ink)!important}
.industry-tools-v66 p{color:var(--tk-copy)!important}
.industry-tool-grid-v66 article{background:#fff!important;border-color:#d5e3de!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(7,20,38,.045)}

/* Editorial, case-study, glossary and tools pages. */
.article-hero h1{font-size:clamp(2.65rem,4.8vw,4.65rem)!important}
.article-content{font-size:1.04rem;line-height:1.78}
.article-content h2{font-size:clamp(1.9rem,3vw,2.65rem)!important;scroll-margin-top:110px}
.cs-image-strip{background:#eef6f2!important;color:var(--tk-ink)!important}
.cs-image-strip p{color:var(--tk-copy)!important}
.glossary-hero h1,.category-hero h1,.term-hero h1{font-size:clamp(2.7rem,5.3vw,5rem)!important}
.glossary-categories,.all-terms,.category-intro,.term-body{padding-top:var(--tk-section)!important;padding-bottom:var(--tk-section)!important}

@media(max-width:900px){
  :root{--tk-shell:min(100% - 36px,720px);--tk-section:clamp(58px,10vw,80px)}
  main h1{font-size:clamp(2.45rem,9vw,4.3rem)!important}
  main h2{font-size:clamp(2rem,7vw,3.2rem)!important}
  .home-premium-v83 .services>header{grid-template-columns:1fr!important;align-items:start!important}
  .home-premium-v83 .services>header>p{max-width:650px!important}
  .article-hero h1{font-size:clamp(2.5rem,8vw,4rem)!important}
  .lp .lp-hero::after{background:linear-gradient(0deg,#091525 0%,#091525 25%,rgba(9,21,37,.84) 49%,rgba(9,21,37,.1) 84%)!important}
}
@media(max-width:640px){
  :root{--tk-shell:calc(100% - 32px);--tk-section:58px}
  body{font-size:15px}
  main h1{font-size:clamp(2.35rem,11.5vw,3.35rem)!important;line-height:1.02!important}
  main h2{font-size:clamp(1.9rem,9vw,2.65rem)!important;line-height:1.06!important}
  .home-premium-v83 .services>header{gap:22px!important}
  .home-premium-v83 .services>header>p{font-size:.98rem!important}
  .lp{--lp-shell:calc(100% - 32px)}
  .lp .lp-card-grid,.lp .lp-deliverable-grid,.lp .lp-child-grid{grid-template-columns:1fr!important}
  .ads-hero h1,.im67-hero h1{font-size:clamp(2.45rem,11vw,3.5rem)!important}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
