/* Homepage (Letterkracht). Brand values come from brand-tokens.css; every class is lk- prefixed so site.css cannot reach in. */
/* style */
:where(.lk-home) button, :where(.lk-home) a { -webkit-tap-highlight-color:transparent }
:where(.lk-home) a { color:inherit; text-decoration:none }
:where(.lk-home) button { font:inherit; color:inherit; cursor:pointer }
:where(.lk-home) button:disabled { cursor:default }
:where(.lk-home) img, :where(.lk-home) svg { display:block; max-width:100% }
:where(.lk-home) button, :where(.lk-home) a { touch-action:manipulation }
:where(.lk-home) button:focus-visible, :where(.lk-home) a:focus-visible, [tabindex]:focus-visible { outline:3px solid var(--plum); outline-offset:6px }
.lk-proof a:focus-visible, .lk-contact a:focus-visible { outline-color:var(--plum-soft) }
:where(.lk-home) h1, :where(.lk-home) h2, :where(.lk-home) h3, :where(.lk-home) p, :where(.lk-home) figure { margin:0 }
:where(.lk-home) h1, :where(.lk-home) h2 { font-family:var(--font-display); font-weight:700; letter-spacing:-.025em; line-height:.94 }
:where(.lk-home) h2 { font-size:clamp(56px,5.5vw,82px) }
:where(.lk-home) p { max-width:65ch }
.lk-wrap { width:calc(100% - 112px); max-width:1352px; margin-inline:auto }
.lk-section { padding-block:104px }
.lk-eyebrow, .lk-micro { font-family:var(--font-mono); font-weight:400; font-size:11px; line-height:1.6 }
.lk-eyebrow { text-transform:uppercase; letter-spacing:.08em }
.lk-section-label { margin-bottom:27px }
.lk-purple { color:var(--plum) }
.lk-purple-dash { width:30px; height:6px; background:var(--plum); display:inline-block; margin-right:14px; vertical-align:middle }
.lk-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:56px; padding:15px 22px; border:1px solid transparent; border-radius:2px; font-size:14px; line-height:1.4; font-weight:600; transition:background .2s,transform .2s,color .2s }
.lk-button span { font-size:23px; line-height:1; font-weight:400; transition:transform .2s }
.lk-button:hover span { transform:translate(3px,-3px) }
.lk-button-purple { background:var(--plum); color:var(--cream) }
.lk-button-purple:hover { background:var(--plum-deep) }
.lk-button-ink { background:var(--ink); color:var(--cream) }
.lk-button-ink:hover { background:var(--plum) }
.lk-button-cream { background:var(--cream); color:var(--ink) }
.lk-button-cream:hover { background:var(--plum-soft) }
.lk-button-small { font-size:13px; padding:11px 17px; min-height:44px; gap:22px }
.lk-text-link { display:inline-flex; align-items:center; gap:22px; font-size:14px; font-weight:600; line-height:1.6; padding-block:5px; border-bottom:1px solid currentColor }
.lk-text-link span:last-child { font-size:22px; line-height:1 }
.lk-text-link:hover { color:var(--plum) }
.lk-hero { display:grid; grid-template-columns:1.23fr 1fr; gap:52px; padding-top:72px; padding-bottom:64px; align-items:center }
.lk-hero-copy { padding-block:14px }
.lk-hero .lk-eyebrow { margin-bottom:32px }
.lk-hero h1 { font-size:clamp(72px,7.5vw,114px); white-space:nowrap; line-height:.91 }
.lk-marked { position:relative; display:inline-block }
.lk-marked svg { position:absolute; bottom:-22px; left:-2%; width:104%; height:25px; overflow:visible; fill:none; stroke:var(--plum); stroke-width:8; stroke-linecap:round }
.lk-hero-intro { font-size:17px; line-height:1.65; max-width:470px; margin-top:40px }
.lk-hero-actions { display:flex; align-items:center; gap:29px; margin-top:29px }
.lk-hero-micro { margin-top:15px; color:var(--muted); font-size:10px }
.lk-hero-visual { align-self:stretch; position:relative; display:flex; flex-direction:column; min-height:520px }
.lk-hero-photo { width:100%; height:auto; min-height:0; flex:1; aspect-ratio:1/1.06; overflow:hidden; background:#d6c9b6 }
.lk-hero-visual figcaption { position:relative; min-height:106px; background:var(--plum-soft); padding:19px 26px; overflow:hidden; display:flex; flex-direction:column; justify-content:center }
.lk-hero-visual figcaption .lk-eyebrow { margin-bottom:4px; font-size:10px }
.lk-hero-visual figcaption strong { font-family:var(--font-display); font-size:30px; line-height:1.05; font-weight:700; letter-spacing:-.02em; position:relative; z-index:1 }
.lk-pass-line { fill:none; stroke:var(--plum); stroke-width:10; stroke-linecap:round; stroke-linejoin:round }
.lk-hero-visual .lk-pass-line { position:absolute; right:-12px; bottom:23px; width:120px; height:52px; opacity:.75 }
.lk-clients { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:80px; min-height:118px }
.lk-clients>p { font-size:12px; color:var(--muted); width:180px; flex-shrink:0 }
.lk-client-names { display:flex; align-items:center; justify-content:space-between; gap:35px; flex:1 }
.lk-section-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:70px; margin-bottom:51px }
.lk-section-intro>p { width:340px; font-size:15px; line-height:1.7; padding-bottom:4px }
.lk-task-tabs { display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); margin-bottom:0 }
.lk-task-tab { text-align:left; border:0; border-bottom:4px solid transparent; background:none; padding:18px 22px 22px 0; min-width:0; transition:color .2s,border-color .2s }
.lk-task-tab+.lk-task-tab { padding-left:26px }
.lk-task-tab>.lk-micro { display:block; margin-bottom:9px; font-size:10px; color:var(--muted) }
.lk-task-tab>span:last-child { display:flex; gap:12px; align-items:center; justify-content:space-between; font-weight:600; font-size:18px }
.lk-tab-arrow { opacity:0; font-size:25px; line-height:1 }
.lk-task-tab[aria-selected=true] { border-bottom-color:var(--plum); color:var(--plum) }
.lk-task-tab[aria-selected=true] .lk-tab-arrow { opacity:1 }
.lk-task-tab:hover { color:var(--plum) }
.lk-task-tab:focus-visible { outline-offset:-6px }
.lk-task-panel { background:var(--plum-wash); padding:46px 42px 0; overflow:hidden }
.lk-task-main { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; min-height:325px }
.lk-task-copy .lk-eyebrow { font-size:10px; color:var(--plum); margin-bottom:18px }
.lk-task-copy h3 { font-family:var(--font-display); font-size:clamp(36px,3.9vw,57px); line-height:.98; letter-spacing:-.02em }
.lk-task-copy p:not(.lk-eyebrow) { font-size:14px; line-height:1.8; max-width:440px; margin-top:21px }
.lk-task-copy .lk-text-link { font-size:13px; margin-top:21px }
.lk-task-art { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:27px; padding:10px 10px 0; min-height:280px }
.lk-loose-art { overflow:hidden; mix-blend-mode:darken; filter:brightness(1.06); width:100%; height:235px; object-fit:contain }
.lk-hand-note { font-family:var(--font-mono); font-size:10px; letter-spacing:.02em; display:block; max-width:100%; text-align:center; color:var(--plum) }
.lk-workflow { border-top:1px solid var(--line-strong); margin-top:38px; padding-top:22px; padding-bottom:30px }
.lk-workflow-label { font-size:9px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px; color:var(--plum) }
.lk-workflow ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:25px }
.lk-workflow li { display:flex; gap:13px; align-items:flex-start; position:relative }
.lk-step-number { font-family:var(--font-mono); font-size:10px; border:1px solid var(--plum); border-radius:100%; height:27px; width:27px; display:grid; place-items:center; color:var(--plum); flex-shrink:0 }
.lk-workflow strong { display:block; font-size:13px; font-weight:600 }
.lk-workflow li div>span { display:block; font-size:11px; color:var(--muted); margin-top:2px }
.lk-more-services { padding-top:26px; display:flex; gap:30px; align-items:center; justify-content:space-between; font-size:12px }
.lk-more-services>p { color:var(--muted); font-size:11px }
.lk-more-services>a { display:flex; align-items:center; gap:14px; font-weight:600 }
.lk-more-services>a:hover { color:var(--plum) }
.lk-more-services>a>span { font-size:20px }
.lk-proof { background:var(--ink); color:var(--cream) }
.lk-proof .lk-section-intro>p { color:#beb5ad }
.lk-proof .lk-section-label { color:var(--plum-soft) }
.lk-cases { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #514941; border-bottom:1px solid #514941 }
.lk-case { padding:36px 48px 39px 0; display:flex; flex-direction:column; align-items:flex-start; min-width:0; transition:background .2s }
.lk-case+.lk-case { border-left:1px solid #514941; padding-left:48px; padding-right:0 }
.lk-case-top { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; margin-bottom:17px }
.lk-case-top .lk-micro { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#cfc7bf }
.lk-round-arrow { border:1px solid #696158; width:40px; height:40px; display:grid; place-items:center; border-radius:100%; font-size:24px; transition:background .2s,color .2s,transform .2s; flex-shrink:0 }
.lk-case-number { font-family:var(--font-display); font-size:clamp(105px,11vw,160px); font-weight:700; line-height:1; letter-spacing:-.055em; color:var(--plum-soft); margin-bottom:20px }
.lk-case-number span { font-size:.65em; letter-spacing:-.02em }
.lk-case h3 { font-family:var(--font-display); font-size:36px; line-height:1.1; letter-spacing:-.01em; margin-bottom:17px }
.lk-case p { font-size:14px; line-height:1.75; max-width:405px; color:#cfc7bf; margin-bottom:30px }
.lk-case-link { border-bottom:1px solid #8d8177; padding-block:4px; font-size:13px; font-weight:600; display:flex; gap:24px; align-items:center; margin-top:auto }
.lk-case-link span { font-size:22px; line-height:1 }
.lk-case:hover .lk-round-arrow { background:var(--plum-soft); border-color:var(--plum-soft); color:var(--ink); transform:rotate(5deg) }
.lk-case:hover .lk-case-link { color:var(--plum-soft); border-color:var(--plum-soft) }
.lk-all-cases { margin-top:32px; color:var(--plum-soft); font-size:13px }
.lk-all-cases:hover { color:var(--cream) }
.lk-approach { display:grid; grid-template-columns:1fr 1fr; gap:100px }
.lk-approach h2 { font-size:clamp(52px,4.9vw,73px) }
.lk-approach-visual figure { margin-top:40px }
.lk-approach-photo { width:100%; height:350px; overflow:hidden; aspect-ratio:472/317; background:#d4d1ce }
.lk-approach-visual figcaption { margin-top:11px; font-size:10px; color:var(--muted) }
.lk-approach-content { padding-top:54px }
.lk-approach-lead { font-size:23px; line-height:1.4; letter-spacing:-.025em; font-weight:600; margin-bottom:32px }
.lk-approach-steps { list-style:none; padding:0; margin:0 0 28px }
.lk-approach-steps li { border-top:1px solid var(--line); display:flex; gap:24px; padding:25px 0 }
.lk-approach-steps li>.lk-micro { color:var(--plum); padding-top:3px }
.lk-approach-steps h3 { font-size:17px; line-height:1.45; margin-bottom:10px; font-weight:600 }
.lk-approach-steps p { font-size:13px; line-height:1.8; color:var(--muted) }
.lk-approach-content>.lk-text-link { font-size:13px }
.lk-knowledge { padding-top:88px; background:var(--cream-deep); border-top:1px solid var(--line) }
.lk-knowledge-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px }
.lk-knowledge h2 { font-size:clamp(57px,5.8vw,86px) }
.lk-knowledge-intro>p:not(.lk-eyebrow) { font-size:14px; max-width:290px; margin-top:27px }
.lk-knowledge-intro>.lk-text-link { margin-top:22px; font-size:13px }
.lk-articles { border-top:1px solid var(--line-strong) }
.lk-article { display:block; border-bottom:1px solid var(--line-strong); padding:23px 0 24px }
.lk-article>.lk-micro { color:var(--plum); font-size:10px; text-transform:uppercase; letter-spacing:.07em }
.lk-article h3 { font-size:24px; font-weight:600; line-height:1.35; letter-spacing:-.025em; max-width:450px; margin-top:12px }
.lk-article-bottom { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--muted); margin-top:17px; gap:25px }
.lk-article-bottom>span { font-size:25px; color:var(--ink); transition:transform .2s }
.lk-article:hover h3 { color:var(--plum) }
.lk-article:hover .lk-article-bottom>span { transform:translate(4px,-4px) }
.lk-contact { background:var(--plum); color:var(--cream); padding-block:90px 94px }
.lk-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center }
.lk-contact h2 { font-size:clamp(74px,8vw,118px); line-height:.9 }
.lk-contact .lk-eyebrow { color:var(--plum-soft) }
.lk-contact-mark { color:var(--plum-soft) }
.lk-contact-copy { padding-top:15px }
.lk-contact-line { width:145px; height:61px; stroke:var(--plum-soft); margin-bottom:35px }
.lk-contact-copy>p { font-size:23px; line-height:1.5; max-width:400px; letter-spacing:-.02em; margin-bottom:28px }
.lk-contact-copy>.lk-micro { display:block; font-size:10px; margin-top:13px; color:var(--plum-soft) }
.lk-contact-email { margin-top:30px; display:inline-flex; gap:12px; font-size:12px; border-bottom:1px solid #ad99d2; padding-block:3px }
.lk-contact-email:hover { color:var(--plum-soft) }
@media(min-width:1600px) {
  .lk-hero { gap:75px }
  .lk-hero h1 { font-size:120px }
  .lk-hero-photo { aspect-ratio:1.15/1 }
  .lk-hero-visual { min-height:560px }
  .lk-hero-intro { font-size:18px }
}
@media(max-width:1150px) {
  .lk-wrap { width:calc(100% - 72px) }
  .lk-hero { gap:34px; padding-top:55px; grid-template-columns:1.1fr 1fr }
  .lk-hero h1 { font-size:8.2vw }
  .lk-hero-intro { font-size:15px }
  .lk-hero-actions { gap:20px; flex-wrap:wrap }
  .lk-hero-visual { min-height:490px }
  .lk-hero-visual figcaption strong { font-size:25px }
  .lk-hero-visual .lk-pass-line { width:80px; right:-16px }
  .lk-hero-micro { max-width:330px }
  .lk-clients { gap:35px }
  .lk-clients>p { width:160px }
  .lk-client-names { gap:22px }
  .lk-task-tab>span:last-child { font-size:15px }
  .lk-task-tab+.lk-task-tab { padding-left:18px }
  .lk-task-main { gap:35px }
  .lk-task-panel { padding-inline:32px }
  .lk-more-services { gap:20px; flex-wrap:wrap; justify-content:flex-start }
  .lk-more-services>p { width:100%; margin-bottom:-12px }
  .lk-case+.lk-case { padding-left:36px }
  .lk-case { padding-right:36px }
  .lk-approach { gap:55px }
  .lk-approach-photo { height:330px }
  .lk-knowledge-grid { gap:60px }
  .lk-contact-grid { gap:65px }
}
@media(max-width:900px) {
  .lk-hero { grid-template-columns:1.1fr 1fr; gap:25px }
  .lk-hero h1 { font-size:8.05vw }
  .lk-hero .lk-eyebrow { font-size:9px; margin-bottom:26px }
  .lk-hero-visual { min-height:475px }
  .lk-hero-visual figcaption { padding:18px }
  .lk-hero-visual figcaption strong { font-size:23px; max-width:170px }
  .lk-hero-actions { gap:15px }
  .lk-hero-actions .lk-button { font-size:12px; gap:14px; padding-inline:16px; min-height:50px }
  .lk-hero-actions .lk-text-link { font-size:12px; gap:12px }
  .lk-hero-micro { font-size:9px }
  .lk-hero-intro { font-size:14px }
  .lk-clients { gap:20px }
  .lk-clients>p { width:130px; font-size:10px }
  .lk-client-names { gap:18px }
  .lk-section { padding-block:80px }
  .lk-section-intro { gap:40px }
  .lk-section-intro>p { font-size:13px; width:290px }
  .lk-task-tab>span:last-child { font-size:13px; line-height:1.4 }
  .lk-task-tab>.lk-micro { font-size:8px }
  .lk-task-tab+.lk-task-tab { padding-left:13px }
  .lk-task-tab { padding-right:12px }
  .lk-task-panel { padding-inline:25px; padding-top:35px }
  .lk-task-main { gap:20px }
  .lk-task-copy h3 { font-size:38px }
  .lk-task-copy p:not(.lk-eyebrow) { font-size:13px }
  .lk-workflow ol { gap:17px }
  .lk-workflow strong { font-size:11px }
  .lk-workflow li div>span { font-size:10px }
  .lk-workflow li { gap:8px }
  .lk-more-services { gap:25px; font-size:11px }
  .lk-case-top .lk-micro { font-size:8px }
  .lk-case h3 { font-size:29px }
  .lk-case p { font-size:13px }
  .lk-case+.lk-case { padding-left:28px }
  .lk-case { padding-right:28px }
  .lk-approach { gap:35px }
  .lk-approach h2 { font-size:49px }
  .lk-approach-photo { height:350px }
  .lk-approach-content { padding-top:42px }
  .lk-approach-lead { font-size:20px }
  .lk-approach-steps li { gap:15px; padding:20px 0 }
  .lk-approach-steps h3 { font-size:15px }
  .lk-approach-steps p { font-size:12px }
  .lk-approach-content>.lk-text-link { font-size:11px; gap:12px }
  .lk-knowledge-grid { gap:40px }
  .lk-knowledge h2 { font-size:64px }
  .lk-article h3 { font-size:21px }
  .lk-contact-copy>p { font-size:19px }
  .lk-contact-copy .lk-button { font-size:12px; padding-inline:18px; gap:20px }
  .lk-contact-email { font-size:11px }
}
@media(max-width:680px) {
  .lk-wrap { width:calc(100% - 40px) }
  .lk-hero { grid-template-columns:1fr; gap:38px; padding-top:40px; padding-bottom:33px }
  .lk-hero-copy { padding:0 }
  .lk-hero .lk-eyebrow { margin-bottom:27px; font-size:9px }
  .lk-hero h1 { font-size:clamp(45px,15.7vw,90px); line-height:.93 }
  .lk-marked svg { bottom:-18px; height:21px; stroke-width:8 }
  .lk-hero-intro { margin-top:32px; font-size:15px; max-width:480px; line-height:1.7 }
  .lk-hero-actions { gap:24px; margin-top:25px; flex-wrap:wrap }
  .lk-hero-actions .lk-button { font-size:12px; gap:21px; padding-inline:16px; min-height:52px }
  .lk-hero-actions .lk-text-link { font-size:12px }
  .lk-hero-micro { margin-top:14px; font-size:8px; max-width:100% }
  .lk-hero-visual { min-height:0 }
  .lk-hero-photo { height:auto; aspect-ratio:1.32; flex:auto }
  .lk-hero-visual figcaption { padding:17px 20px; min-height:85px }
  .lk-hero-visual figcaption .lk-eyebrow { font-size:8px; margin-bottom:4px }
  .lk-hero-visual figcaption strong { font-size:25px; max-width:none }
  .lk-hero-visual .lk-pass-line { width:103px; height:45px; bottom:22px; right:-19px; opacity:.5 }
  .lk-clients { display:block; padding-block:23px 25px; min-height:0 }
  .lk-clients>p { width:auto; margin-bottom:22px; font-size:10px }
  .lk-client-names { display:grid; grid-template-columns:repeat(4,1fr); gap:14px }
  .lk-section { padding-block:64px }
  .lk-section-label { margin-bottom:22px; font-size:9px }
  :where(.lk-home) h2 { font-size:57px }
  .lk-section-intro { display:block; margin-bottom:31px }
  .lk-section-intro>p { width:auto; margin-top:25px; font-size:14px; max-width:420px; line-height:1.75 }
  .lk-section-intro>p br+br { display:none }
  .lk-task-tabs { grid-template-columns:repeat(3,1fr) }
  .lk-task-tab { padding:12px 8px 14px 0 }
  .lk-task-tab+.lk-task-tab { padding-left:10px }
  .lk-task-tab>.lk-micro { font-size:0; height:15px; margin-bottom:6px }
  .lk-task-tab>.lk-micro:before { font-size:9px; content:'01' }
  .lk-task-tab[data-task=reports]>.lk-micro:before { content:'02' }
  .lk-task-tab[data-task=documents]>.lk-micro:before { content:'03' }
  .lk-task-tab>span:last-child { font-size:12px; line-height:1.45; display:block; min-height:35px }
  .lk-tab-arrow { display:none }
  .lk-task-panel { padding:28px 22px 0 }
  .lk-task-main { display:flex; flex-direction:column; align-items:stretch; gap:20px; min-height:0 }
  .lk-task-copy h3 { font-size:40px }
  .lk-task-copy .lk-eyebrow { font-size:9px; margin-bottom:16px }
  .lk-task-copy p:not(.lk-eyebrow) { font-size:13px; margin-top:18px; min-height:92px }
  .lk-task-copy .lk-text-link { font-size:12px; margin-top:12px }
  .lk-task-art { min-height:0; padding:8px 0 0; gap:12px }
  .lk-loose-art { height:170px }
  .lk-hand-note { font-size:9px }
  .lk-workflow { margin-top:27px; padding-bottom:26px; padding-top:20px }
  .lk-workflow ol { display:block }
  .lk-workflow li { gap:14px; padding-block:0 24px }
  .lk-workflow li:last-child { padding-bottom:0 }
  .lk-workflow li:not(:last-child):after { content:''; position:absolute; left:13px; top:29px; width:1px; height:calc(100% - 34px); background:#bba8cf }
  .lk-workflow strong { font-size:12px }
  .lk-workflow li div>span { font-size:10px; margin-top:3px }
  .lk-more-services { display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:27px }
  .lk-more-services>p { margin:0 0 14px; font-size:11px }
  .lk-more-services>a { padding:13px 0; border-bottom:1px solid var(--line); justify-content:space-between; font-size:12px }
  .lk-proof .lk-section-intro>p { font-size:14px }
  .lk-proof .lk-section-intro>p br { display:none }
  .lk-proof .lk-section-intro>p br:after { content:' ' }
  .lk-cases { grid-template-columns:1fr }
  .lk-case, .lk-case+.lk-case { padding:27px 0 32px; border-left:0 }
  .lk-case+.lk-case { border-top:1px solid #514941 }
  .lk-case-top .lk-micro { font-size:8px }
  .lk-case-number { font-size:122px; margin:7px 0 12px }
  .lk-case h3 { font-size:34px; margin-bottom:14px }
  .lk-case p { font-size:13px; margin-bottom:21px }
  .lk-all-cases { font-size:12px }
  .lk-approach { grid-template-columns:1fr; gap:32px }
  .lk-approach h2 { font-size:54px }
  .lk-approach-visual figure { margin-top:29px }
  .lk-approach-photo { height:auto; aspect-ratio:1.3 }
  .lk-approach-content { padding-top:0 }
  .lk-approach-lead { font-size:22px; margin-bottom:26px }
  .lk-approach-steps li { padding:22px 0; gap:22px }
  .lk-approach-steps h3 { font-size:16px }
  .lk-approach-steps p { font-size:13px }
  .lk-approach-content>.lk-text-link { font-size:12px }
  .lk-knowledge-grid { display:block }
  .lk-knowledge h2 { font-size:59px }
  .lk-knowledge h2 br:first-child { display:initial }
  .lk-knowledge-intro>p:not(.lk-eyebrow) { max-width:340px; font-size:14px; margin-top:22px }
  .lk-knowledge-intro>.lk-text-link { margin-top:20px }
  .lk-articles { margin-top:32px }
  .lk-article { padding-block:23px }
  .lk-article h3 { font-size:23px; max-width:440px }
  .lk-article-bottom { font-size:10px }
  .lk-contact-grid { display:block }
  .lk-contact h2 { font-size:84px }
  .lk-contact-copy { padding-top:30px }
  .lk-contact-line { display:none }
  .lk-contact-copy>p { font-size:19px; max-width:400px; margin-bottom:25px }
  .lk-contact-copy .lk-button { font-size:12px; gap:30px; min-height:54px }
  .lk-contact-copy>.lk-micro { font-size:9px }
  .lk-contact-email { margin-top:26px; font-size:11px }
}
@media(prefers-reduced-motion:reduce) {
  *:before, *:after { transition:none!important; animation:none!important }
}

/* refinements */
.lk-home { --ease-out: cubic-bezier(.22,.68,.18,1); }
.lk-hero h1 { font-size:clamp(56px,5.7vw,87px); line-height:.98 }
.lk-hero-line { display:block }
.lk-hero-visual { overflow:hidden; min-height:450px }
.lk-hero-photo { aspect-ratio:1.15 }
.lk-hero-intro { margin-top:38px }
.lk-hero-copy { min-width:0 }
.lk-hero-actions { flex-wrap:wrap }
.lk-clients { min-height:100px }
.lk-client-names { justify-content:space-evenly; width:100% }
.lk-section-intro h2, .lk-approach h2, .lk-knowledge h2 { font-size:clamp(49px,4.8vw,72px); line-height:.98 }
.lk-task-copy h3 { font-size:clamp(34px,3.6vw,52px) }
.lk-task-tabs { position:relative }
.lk-task-tab { border-bottom-width:3px }
.has-motion .lk-task-tab { border-bottom-color:transparent }
.lk-tab-indicator { position:absolute; bottom:-1px; left:0; width:33.3333%; height:3px; background:var(--plum); pointer-events:none; transform:translateX(calc(var(--active-tab,0) * 100%)); transition:transform .42s var(--ease-out) }
.lk-task-art { gap:0 }
.lk-task-main { min-height:285px }
.lk-task-panel { padding-top:38px }
.lk-workflow { margin-top:30px; padding-block:26px }
.lk-workflow li { align-items:center }
.lk-workflow strong { font-size:13px }
.lk-more-services { justify-content:flex-start; gap:45px; padding-top:25px }
.lk-case { padding-top:35px }
.lk-case-number { transition:color .3s }
.lk-case:hover .lk-case-number { color:var(--cream) }
.lk-case-link { position:relative }
.lk-case-link span { transition:transform .3s var(--ease-out) }
.lk-case:hover .lk-case-link span { transform:translate(4px,-4px) }
.lk-approach-content { padding-top:0; align-self:center }
.lk-approach-visual figure { overflow:hidden }
.lk-approach-steps li>div { flex:1; min-width:0 }
.lk-approach-steps h3 { margin-bottom:0 }
.lk-approach-trigger { border:0; padding:0; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; background:none; font-size:17px; line-height:1.5; font-weight:600; min-height:30px }
.lk-approach-trigger:hover, .lk-approach-trigger[aria-expanded=true] { color:var(--plum) }
.lk-expand-mark { width:16px; height:16px; position:relative; flex-shrink:0 }
.lk-expand-mark:before, .lk-expand-mark:after { content:''; position:absolute; background:currentColor; width:14px; height:1.5px; left:1px; top:7px; transition:transform .3s var(--ease-out) }
.lk-expand-mark:after { transform:rotate(90deg) }
.lk-approach-trigger[aria-expanded=true] .lk-expand-mark:after { transform:rotate(0) }
.lk-step-content { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .4s var(--ease-out),opacity .3s }
.lk-step-content.is-open { grid-template-rows:1fr; opacity:1 }
.lk-step-content>div { overflow:hidden }
.lk-approach-steps .lk-step-content p { padding-top:13px }
.lk-article { position:relative; padding:31px 44px 31px 0 }
.lk-article h3 { margin-top:0; transition:transform .3s var(--ease-out),color .2s }
.lk-article-arrow { position:absolute; right:2px; top:50%; transform:translateY(-50%); font-size:26px; transition:transform .3s var(--ease-out) }
.lk-article:hover .lk-article-arrow { transform:translate(4px,calc(-50% - 4px)); color:var(--plum) }
.lk-article:hover h3 { transform:translateX(5px) }
.lk-contact h2 { font-size:clamp(70px,7vw,105px) }
.lk-contact-copy { padding-top:0 }
.lk-contact-email { display:flex; width:fit-content; margin-top:28px; font-size:13px }
.lk-button { transition:background .25s,box-shadow .25s,transform .25s }
.lk-button:hover { box-shadow:0 5px 14px #16121012 }
.lk-button:active { transform:translateY(1px); box-shadow:none }
.lk-text-link { position:relative }
.lk-text-link:after { position:absolute; bottom:-1px; left:0; right:0; height:2px; background:currentColor; content:''; transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease-out) }
.lk-text-link:hover:after { transform:scaleX(1) }
.lk-text-link span:last-child { transition:transform .3s var(--ease-out) }
.lk-text-link:hover span:last-child { transform:translate(3px,-3px) }
.has-motion [data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .65s var(--ease-out),transform .65s var(--ease-out); transition-delay:var(--reveal-delay,0ms) }
.has-motion [data-reveal].is-visible, .has-motion [data-reveal]:focus-within { opacity:1; transform:none }
.has-motion .lk-hero-line { animation:hero-enter .75s var(--ease-out) both }
.has-motion .lk-hero-line:nth-child(2) { animation-delay:.1s }
.has-motion .lk-hero-intro { animation:hero-enter .7s .16s var(--ease-out) both }
.has-motion .lk-hero-actions { animation:hero-enter .7s .22s var(--ease-out) both }
.has-motion .lk-hero-visual { animation:photo-enter 1s var(--ease-out) both }
.has-motion .lk-marked svg path { stroke-dasharray:320; stroke-dashoffset:320; animation:underline-enter .7s .4s var(--ease-out) forwards }
.has-motion .lk-contact-grid.is-visible .lk-contact-line path { stroke-dasharray:260; animation:underline-enter .9s .2s var(--ease-out) both }
.lk-hero-photo, .lk-approach-photo { transition:transform .85s var(--ease-out) }
@media(hover:hover) and (pointer:fine) {
  .lk-hero-visual:hover .lk-hero-photo, .lk-approach-visual figure:hover .lk-approach-photo { transform:scale(1.025) }
}
@keyframes hero-enter { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes photo-enter { from { opacity:0; clip-path:inset(3% 0 0 0); } to { opacity:1; clip-path:inset(0); } }
@keyframes underline-enter { from { stroke-dashoffset:320; } to { stroke-dashoffset:0; } }
.lk-connections { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; padding-top:15px }
.lk-connections h2 { font-size:clamp(40px,4vw,60px); line-height:1 }
.lk-connections-copy>p { font-size:15px; line-height:1.8; margin-top:27px; max-width:390px }
.lk-connections-copy>.lk-text-link { margin-top:23px }
.lk-connections-visual { min-width:0; padding:15px 0 }
.lk-connector-drawing { width:100% }
.lk-connection-art { display:block; width:100%; --art-paper:var(--cream) }
.lk-connection-art svg { display:block }
.lk-flow-input, .lk-flow-output { width:100%; height:auto; stroke-width:3.4 }
.lk-flow-input .lk-accent, .lk-flow-output .lk-accent { stroke-width:3.8 }
.lk-transform-layer { position:relative; margin-inline:24px; padding:24px 30px; min-height:120px; display:flex; align-items:center; justify-content:center; gap:25px }
.lk-transform-outline { position:absolute; inset:0; width:100%; height:100%; stroke-width:2.8 }
.lk-transform-outline path { fill:#E8DAFA55 }
.lk-transform-symbol { width:72px; height:65px; flex-shrink:0; stroke-width:4 }
.lk-transform-symbol .lk-accent { stroke-width:5 }
.lk-transform-layer h3 { position:relative; font-family:var(--font-display); font-size:32px; line-height:1.02; font-weight:700; letter-spacing:-.015em }
.lk-flow-destinations { display:grid; grid-template-columns:1fr 1fr }
.lk-flow-destination { display:flex; flex-direction:column; align-items:center; gap:12px }
.lk-flow-destination svg { width:160px; height:110px; stroke-width:4 }
.lk-flow-report .lk-accent { stroke-width:11; stroke-linecap:butt }
.lk-flow-ai .lk-accent { stroke-width:4 }
.lk-flow-destination h4 { font-size:17px; font-weight:600; line-height:1.3; text-align:center }
.lk-task-art { --art-paper:var(--plum-wash) }
.lk-line-art .lk-art-surface { fill:var(--art-paper,var(--cream)) }
.lk-connector-drawing { position:relative }
.lk-connector-playback { position:absolute; top:-22px; right:0; width:30px; height:28px; border:0; background:none; color:var(--plum); font-size:13px; display:grid; place-items:center; opacity:.75 }
.lk-connector-playback:hover, .lk-connector-playback:focus-visible { opacity:1; background:var(--plum-soft) }
.lk-connector-playback[hidden], .lk-hs-set[hidden] { display:none }
.lk-hs-sources.is-looping { scroll-snap-type:none }
.lk-hs-sources.is-looping .lk-hs-chip { scroll-snap-align:none }
.lk-connector-rail { display:flex; align-items:center; min-width:0; position:relative }
.lk-hs-sources { flex:1; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; padding:14px 0 }
.lk-hs-sources::-webkit-scrollbar { display:none }
.lk-hs-track, .lk-hs-set { display:flex; gap:18px; width:max-content }
.lk-hs-set { padding:0 8px }
.lk-hs-chip { width:60px; height:60px; flex:0 0 60px; display:flex; align-items:center; justify-content:center; scroll-snap-align:start; position:relative }
.lk-hs-chip:after { content:''; position:absolute; inset:0; border:1.7px solid var(--ink); border-radius:43% 48% 40% 46%; transform:rotate(-7deg) }
.lk-hs-chip:nth-child(3n+2):after { border-radius:44% 39% 49% 42%; transform:rotate(8deg) }
.lk-hs-chip:nth-child(3n):after { border-color:var(--plum); border-radius:49% 44% 40% 47% }
.lk-hs-chip img { width:35px; height:35px; object-fit:contain }
.lk-connector-prev, .lk-connector-next { flex:0 0 34px; height:44px; padding:0; background:none; border:0; font-size:23px; color:var(--plum); transition:color .2s,transform .2s }
.lk-connector-prev:hover { transform:translateX(-3px) }
.lk-connector-next:hover { transform:translateX(3px) }
.lk-connector-prev:disabled, .lk-connector-next:disabled { color:#b9b1a9; transform:none }
.lk-line-art { fill:none; stroke:var(--ink); stroke-width:5.2; stroke-linecap:round; stroke-linejoin:round; filter:none; mix-blend-mode:normal }
.lk-line-art .lk-draw-line { stroke-dasharray:1; stroke-dashoffset:0 }
.lk-line-art .lk-accent { stroke:var(--plum); stroke-width:6.5 }
.lk-line-art .lk-bars { stroke-width:14; stroke-linecap:butt }
.lk-task-panel { position:relative }
.lk-task-playback { position:absolute; right:12px; top:10px; border:0; background:transparent; color:var(--plum); width:32px; height:32px; display:grid; place-items:center; font-size:14px; opacity:.7 }
.lk-task-playback:hover, .lk-task-playback:focus-visible { opacity:1; background:#5b3fa80e }
.lk-task-playback[hidden] { display:none }
.with-progress .lk-task-tab { border-bottom-color:transparent }
.lk-tab-indicator { background:#5b3fa81f; overflow:hidden }
.lk-tab-progress { display:block; width:100%; height:100%; background:var(--plum); transform:scaleX(0); transform-origin:left }
.lk-case-number .lk-metric-visual, .lk-case-number .lk-count-value { font-size:1em; letter-spacing:inherit }
.lk-case-number .lk-metric-unit { font-size:.65em }
.lk-count-value { font-variant-numeric:tabular-nums }
.lk-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
.lk-article p { font-size:15px; line-height:1.75; max-width:490px; margin-top:14px; color:var(--muted) }
.lk-article-arrow { top:35px; transform:none }
.lk-article:hover .lk-article-arrow { transform:translate(4px,-4px) }
@media(max-width:1150px) {
  .lk-connections { gap:45px; grid-template-columns:.9fr 1.1fr }
  .lk-connections-visual { padding:0 }
  .lk-hero h1 { font-size:6.15vw }
  .lk-hero-visual { min-height:420px }
}
@media(max-width:900px) {
  .lk-connections { grid-template-columns:1fr; gap:35px }
  .lk-connections-copy { max-width:520px }
  .lk-connections h2 { font-size:54px }
  .lk-connections-copy>p { max-width:100% }
  .lk-connections-visual { max-width:630px; width:100%; margin-inline:auto; padding:0 }
  .lk-hero h1 { font-size:6vw }
  .lk-hero-visual { min-height:420px }
  .lk-section-intro h2, .lk-approach h2, .lk-knowledge h2 { font-size:52px }
  .lk-approach-trigger { font-size:15px }
  .lk-contact h2 { font-size:72px }
}
@media(max-width:680px) {
  .lk-hero h1 { font-size:clamp(34px,10.5vw,68px) }
  .lk-hero-line { white-space:nowrap }
  .lk-hero-visual { min-height:0 }
  .lk-hero-photo { aspect-ratio:1.32 }
  .lk-hero-intro { margin-top:32px }
  .lk-clients { min-height:0; padding-block:26px }
  .lk-section-intro h2, .lk-approach h2 { font-size:49px }
  .lk-knowledge h2 { font-size:46px }
  .lk-task-tab { padding-block:16px }
  .lk-task-tab>span:last-child { min-height:35px }
  .lk-task-main { min-height:0 }
  .lk-task-copy h3 { font-size:35px }
  .lk-task-panel { padding-top:29px }
  .lk-task-art { padding-top:8px }
  .lk-workflow li { padding-bottom:20px; min-height:30px }
  .lk-workflow li:last-child { padding-bottom:0 }
  .lk-workflow li:not(:last-child):after { top:30px; height:calc(100% - 35px) }
  .lk-workflow strong { font-size:12px }
  .lk-more-services { gap:0 }
  .lk-case, .lk-case+.lk-case { padding-top:31px }
  .lk-case h3 { font-size:31px }
  .lk-approach-trigger { font-size:16px }
  .lk-approach-steps li { padding:19px 0 }
  .lk-article { padding:26px 35px 26px 0 }
  .lk-article h3 { font-size:21px }
  .lk-article p { font-size:14px; line-height:1.7; margin-top:12px }
  .lk-article-arrow { top:30px }
  .lk-contact h2 { font-size:69px }
  .lk-contact-email { font-size:12px }
  .lk-connections { padding-top:5px; gap:30px }
  .lk-connections h2 { font-size:clamp(35px,9.7vw,55px) }
  .lk-connections-copy>p { font-size:14px; margin-top:22px }
  .lk-connections-visual { padding:0 }
  .lk-hs-chip { width:47px; height:47px; flex-basis:47px }
  .lk-hs-chip img { width:26px; height:26px }
  .lk-hs-track, .lk-hs-set { gap:10px }
  .lk-hs-sources { padding-block:11px }
  .lk-connector-prev, .lk-connector-next { flex-basis:25px }
  .has-motion [data-reveal] { transform:translateY(14px) }
  .has-motion [data-reveal].is-visible { transform:none }
}
@media(prefers-reduced-motion:reduce) {
  .lk-flow-dot { display:none }
  .lk-hero-photo, .lk-approach-photo { transform:none!important }
  .lk-step-content { transition:none }
  [data-reveal] { opacity:1!important; transform:none!important }
  .lk-marked svg path { stroke-dashoffset:0!important }
}
@media(max-width:680px) {
  .lk-transform-layer { margin-inline:8px; padding:22px 18px; min-height:104px; gap:14px }
  .lk-transform-symbol { width:46px; height:49px }
  .lk-transform-layer h3 { font-size:clamp(21px,6vw,30px) }
  .lk-flow-destination { gap:9px }
  .lk-flow-destination svg { width:120px; height:85px }
  .lk-flow-destination h4 { font-size:14px }
  .lk-flow-input, .lk-flow-output { stroke-width:4.2 }
  .lk-flow-input .lk-accent, .lk-flow-output .lk-accent { stroke-width:4.5 }
  .lk-connector-playback { top:-25px }
}
.lk-connection-art .lk-flow-input, .lk-connection-art .lk-flow-output { stroke-width:3.4 }
.lk-connection-art .lk-flow-input .lk-accent, .lk-connection-art .lk-flow-output .lk-accent { stroke-width:3.8 }
.lk-connection-art .lk-transform-outline { stroke-width:2.8 }
.lk-connection-art .lk-transform-symbol { stroke-width:4 }
.lk-connection-art .lk-transform-symbol .lk-accent { stroke-width:5 }
.lk-connection-art .lk-flow-report .lk-accent { stroke-width:11; stroke-linecap:butt }
.lk-connection-art .lk-flow-ai .lk-accent { stroke-width:4 }
@media(max-width:680px) {
  .lk-connection-art .lk-flow-input, .lk-connection-art .lk-flow-output { stroke-width:4.2 }
  .lk-connection-art .lk-flow-input .lk-accent, .lk-connection-art .lk-flow-output .lk-accent { stroke-width:4.5 }
}

/* platform-flow */
.lk-data-platform { isolation:isolate; padding:42px 25px 26px; border:1px solid #ddd5e5; border-radius:18px; background-color:#faf8fc; background-image:radial-gradient(#d9d1e4 .75px,transparent .75px); background-size:16px 16px; box-shadow:0 16px 40px -22px #33234635,0 2px 6px #33234605 }
.lk-data-platform .lk-connector-playback { top:9px; right:12px; width:28px; height:26px; color:#87769e; border-radius:6px; font-size:12px }
.lk-data-platform .lk-connector-rail { margin-inline:-8px }
.lk-data-platform .lk-hs-sources { padding:5px 0 9px }
.lk-data-platform .lk-hs-track, .lk-data-platform .lk-hs-set { gap:12px }
.lk-data-platform .lk-hs-set { padding-inline:6px }
.lk-data-platform .lk-hs-chip { width:56px; height:56px; flex-basis:56px; border:1px solid #e3dce9; border-radius:12px; background:#fff; box-shadow:0 2px 3px #30213d06; transition:border-color .2s,box-shadow .2s }
.lk-data-platform .lk-hs-chip:after { display:none }
.lk-data-platform .lk-hs-chip:hover { border-color:#b49cd3; box-shadow:0 4px 10px #30213d0b }
.lk-data-platform .lk-hs-chip img { width:32px; height:32px }
.lk-data-platform .lk-connector-prev, .lk-data-platform .lk-connector-next { flex-basis:25px; height:38px; font-size:18px; color:#897a9a }
.lk-data-platform .lk-connector-prev:hover, .lk-data-platform .lk-connector-next:hover { color:var(--plum) }
.lk-platform-flow { width:100% }
.lk-platform-wires { display:block; width:100%; height:auto; overflow:visible }
.lk-platform-route { fill:none; stroke:#c9bfd6; stroke-width:1.4; stroke-linecap:round; vector-effect:non-scaling-stroke }
.lk-platform-port { fill:#fff; stroke:#aa94c8; stroke-width:1.4 }
.lk-platform-process { position:relative; margin-inline:5%; border:1px solid #cfc1e1; border-radius:12px; background:#fff; box-shadow:0 5px 18px #4e346810,0 0 0 4px #eee6f555; overflow:hidden }
.lk-platform-process-header { display:flex; align-items:center; gap:16px; padding:23px 26px }
.lk-platform-process-icon { width:44px; height:44px; flex:0 0 44px; background:#f0e9f8; border-radius:11px; fill:none; stroke:var(--plum); stroke-width:1.5 }
.lk-platform-process-icon circle { fill:#f0e9f8 }
.lk-platform-process h3 { font:600 19px/1.35 var(--font-body); letter-spacing:-.025em }
.lk-platform-process-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ece6f1; background:#fbf9fd; padding:14px 16px; gap:8px }
.lk-platform-process-steps span { display:flex; gap:7px; align-items:center; justify-content:center; color:#756485; font-size:11px; font-weight:500 }
.lk-platform-process-steps svg { width:17px; height:17px; flex-shrink:0; fill:none; stroke:#9276b4; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }
.lk-platform-destinations { display:grid; grid-template-columns:1fr 1fr; gap:24px }
.lk-platform-destination { min-width:0; background:white; border:1px solid #ddd5e6; border-radius:11px; padding:16px 17px 13px; box-shadow:0 3px 8px #30213d05 }
.lk-platform-destination h4 { display:flex; align-items:center; gap:8px; font:600 13px/1.4 var(--font-body); letter-spacing:-.015em; white-space:nowrap }
.lk-platform-destination h4 svg { width:17px; height:17px; flex-shrink:0; fill:none; stroke:var(--plum); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.lk-platform-report, .lk-platform-response { width:100%; height:auto; display:block; margin-top:20px }
.lk-chart-grid { fill:none; stroke:#eee9f3; stroke-width:1 }
.lk-chart-bar { fill:#7350b8 }
.lk-chart-bar.lk-light { fill:#c5b1e3 }
.lk-ai-question { fill:#f5f2f8; stroke:#ede7f2 }
.lk-ai-answer { fill:#f0e9f8 }
.lk-ai-placeholder { fill:none; stroke:#c6b6da; stroke-width:3; stroke-linecap:round }
.lk-ai-spark { fill:#7651b4 }
@media(max-width:1150px) and (min-width:901px) {
  .lk-data-platform { padding:36px 17px 22px }
  .lk-platform-process-header { padding:20px 17px; gap:12px }
  .lk-platform-process h3 { font-size:17px }
  .lk-platform-process-steps { padding:13px 8px; gap:5px }
  .lk-platform-process-steps span { gap:4px; font-size:10px }
  .lk-platform-destinations { gap:16px }
  .lk-platform-destination { padding:14px 12px 12px }
  .lk-platform-destination h4 { font-size:11px; gap:6px }
}
@media(max-width:680px) {
  .lk-data-platform { padding:35px 15px 21px; border-radius:14px }
  .lk-data-platform .lk-connector-rail { margin-inline:-5px }
  .lk-data-platform .lk-hs-chip { width:45px; height:45px; flex-basis:45px; border-radius:10px }
  .lk-data-platform .lk-hs-chip img { width:27px; height:27px }
  .lk-data-platform .lk-hs-track, .lk-data-platform .lk-hs-set { gap:10px }
  .lk-data-platform .lk-connector-prev, .lk-data-platform .lk-connector-next { flex-basis:19px; font-size:16px }
  .lk-platform-process { margin-inline:2% }
  .lk-platform-process-header { padding:18px 14px; gap:11px }
  .lk-platform-process-icon { width:37px; height:37px; flex-basis:37px }
  .lk-platform-process h3 { font-size:16px }
  .lk-platform-process-steps { padding:12px 6px; gap:3px }
  .lk-platform-process-steps span { font-size:10px; gap:5px }
  .lk-platform-process-steps svg { width:14px; height:14px }
  .lk-platform-destinations { gap:14px }
  .lk-platform-destination { padding:12px 10px 10px }
  .lk-platform-destination h4 { font-size:11px; gap:6px; white-space:normal }
  .lk-platform-destination h4 svg { width:15px; height:15px }
  .lk-platform-report, .lk-platform-response { margin-top:14px }
}
@media(max-width:380px) {
  .lk-data-platform { padding-inline:10px }
  .lk-platform-process-header { padding:16px 11px; gap:9px }
  .lk-platform-process h3 { font-size:14px }
  .lk-platform-process-icon { width:32px; height:32px; flex-basis:32px }
  .lk-platform-process-steps span { flex-direction:column; gap:4px; font-size:9px }
  .lk-platform-destinations { gap:10px }
  .lk-platform-destination { padding-inline:8px }
  .lk-platform-destination h4 { font-size:10px; gap:4px }
}
@media(prefers-reduced-motion:reduce) {
  .lk-flow-packet, .lk-process-pulse { display:none }
}

/* Port adjustments: photos are cropped files and headings are uppercased here, not in the copy. */
.lk-home { --ease-out: cubic-bezier(.22,.68,.18,1); }
.lk-home section[id] { scroll-margin-top: 110px; }
.lk-home h1, .lk-home h2, .lk-task-copy h3, .lk-case h3 { text-transform: uppercase; }
.lk-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[data-theme="dark"] .lk-loose-art { mix-blend-mode: normal; filter: none; }
:where(.lk-home) h3 { font-family: var(--font-body); font-size: inherit; font-weight: 600; letter-spacing: normal; line-height: 1.35; }
.lk-approach-trigger { font-weight: 600; }
.lk-article h3 { font-family: var(--font-body); }
[data-theme="dark"] .lk-data-platform { color: var(--ink); }
.lk-client-logo { display: block; width: auto; height: 38px; max-width: 100%; }
.lk-client-logo-tall { height: 66px; }
[data-theme="dark"] .lk-client-logo { filter: grayscale(100%) invert(1) contrast(.8); }
@media (max-width: 680px) {
  .lk-client-names { grid-template-columns: repeat(2, 1fr); gap: 24px 20px; justify-items: center; align-items: center; }
  .lk-client-logo { height: 30px; }
  .lk-client-logo-tall { height: 56px; }
}
.lk-destination-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.lk-data-platform .lk-destination-logos .lk-hs-chip { width: 100%; max-width: 56px; height: auto; aspect-ratio: 1; flex: none; }
.lk-data-platform .lk-destination-logos .lk-hs-chip img { width: 60%; height: 60%; }
