/* Scoped additions: existing Artia layout and other locales keep their CSS. */
.keelai-card { --accent:#208579; --tint:#e8f3ec; }
.keelai-card .tile-main { flex-direction:row; align-items:flex-start; gap:14px; height:100%; padding:20px; }
.keelai-card .tile-icon { flex:0 0 56px; width:56px; height:56px; border-radius:14px; }
.keelai-card .tile-text { min-width:0; text-align:start; }
.keelai-card .tile-desc { margin-bottom:14px; display:block; -webkit-line-clamp:unset; line-clamp:unset; overflow:visible; }
.keelai-card .keelai-more { color:#245b50; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.keelai-page { --accent:#208579; --tint:#e8f3ec; }
.keelai-page main { max-width:1120px; }
.keelai-page a:focus-visible, .keelai-card a:focus-visible { outline:3px solid #208579; outline-offset:4px; }
.keelai-page .k-intro { padding:24px 0 34px; max-width:800px; }
.keelai-page .k-eyebrow { color:#245b50; font-size:13px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.keelai-page .k-title { display:flex; align-items:center; gap:18px; }
.keelai-page .k-title img { width:80px; height:80px; border-radius:20px; flex:none; }
.keelai-page h1 { font-size:clamp(34px,5vw,54px); line-height:1.08; margin:14px 0; }
.keelai-page .k-lead { font-size:clamp(19px,2vw,22px); line-height:1.55; max-width:60ch; }
.keelai-page .k-context { color:var(--ink-2); max-width:66ch; }
.keelai-page .k-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:20px; }
.keelai-page .k-apps { margin:10px 0 42px; }
.keelai-page h2 { font-size:clamp(27px,3vw,34px); line-height:1.2; margin:0 0 12px; }
.keelai-page .k-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.keelai-page .k-product { min-width:0; display:flex; flex-direction:column; padding:22px; background:var(--surface); border:1px solid var(--border); border-radius:22px; box-shadow:var(--shadow); }
.keelai-page .k-product-head { display:flex; align-items:center; gap:12px; min-height:60px; }
.keelai-page .k-product-head img { width:48px; height:48px; border-radius:12px; flex:none; }
.keelai-page h3 { font-size:22px; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.keelai-page .k-description { min-height:116px; margin:16px 0 8px; }
.keelai-page .k-detail { color:var(--ink-2); font-size:14px; margin:0 0 18px; min-height:66px; }
.keelai-page figure { margin:4px 0 20px; text-align:center; }
.keelai-page .k-screen { display:block; width:auto; height:330px; max-width:100%; object-fit:contain; margin:0 auto; border-radius:12px; box-shadow:0 4px 20px #2c262014; }
.keelai-page figcaption { font-size:12px; line-height:1.45; color:var(--ink-2); margin:10px 0 0; }
.keelai-page .k-product-links { margin-top:auto; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; }
.keelai-page .k-product-links a { color:#245b50; font-size:14px; font-weight:700; text-underline-offset:3px; padding:5px 0; }
.keelai-page .k-source { font-size:14px; color:var(--ink-2); margin-top:22px; }
.keelai-page .k-source a { color:inherit; text-underline-offset:3px; }
.keelai-page .k-back { background:var(--surface-2); border:1px solid var(--border); border-radius:20px; padding:26px; margin-bottom:40px; }
.keelai-page .k-back p { max-width:60ch; }
@media(max-width:850px) {
  .keelai-page .k-grid { grid-template-columns:1fr; }
  .keelai-page .k-product { padding:22px; }
  .keelai-page .k-description, .keelai-page .k-detail { min-height:0; }
  .keelai-page .k-screen { height:360px; }
}
@media(prefers-reduced-motion:reduce) { .keelai-page { scroll-behavior:auto; } }
