/* ============================================================
   Karsu — Refined Homepage (sections only — global header
   and footer are provided by the React shell)
   ============================================================ */

/* Scale whole refined home down ~10% so 100% browser zoom matches the
   density we tuned at 90%. Uses zoom (instant, layout-aware) with a
   transform-scale fallback for Firefox. */
.kh { background:#fff; color:#0a0a0a; zoom:0.9; overflow-x:clip; }
@supports not (zoom: 1) {
  .kh { transform:scale(0.9); transform-origin:top center; width:111.111%; margin-left:-5.555%; }
}
.kh-container { max-width:1280px; margin:0 auto; padding:0 clamp(24px, 4vw, 56px); }

/* ─── 1. HERO — video background ───────────────────────────── */
.kh-hero { position:relative; min-height:620px; height:100svh; overflow:hidden; background:#0a0a0a; display:flex; align-items:flex-end; padding:140px 0 64px; }
.kh-hero-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
.kh-hero-bg video, .kh-hero-bg img { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%) scale(1.05); min-width:100%; min-height:100%; width:auto; height:auto; object-fit:cover; }
.kh-hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.18) 38%, rgba(0,0,0,.78) 100%); }
.kh-hero-inner { position:relative; z-index:2; width:100%; }
.kh-hero-grid { display:grid; grid-template-columns: 1.3fr 1fr; gap:clamp(24px,4vw,72px); align-items:end; }

.kh-chips { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.kh-chip { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; background:rgba(255,255,255,.92); border-radius:99px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; color:#0a0a0a; }
.kh-chip .dot { width:7px; height:7px; border-radius:50%; background:#10b981; box-shadow:0 0 0 0 rgba(16,185,129,.6); animation:khPulse 2s infinite; }
@keyframes khPulse { 0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.6);} 50%{box-shadow:0 0 0 9px rgba(16,185,129,0);} }

.kh-h1 {
  font-family:'Archivo',sans-serif; font-weight:900;
  font-size:clamp(28px, 4vw, 64px); line-height:1.02; letter-spacing:-0.035em;
  color:#fff; margin:0 0 14px; max-width:24ch;
  hyphens:auto; -webkit-hyphens:auto;
}
.kh-h1 .it { font-family:'Lora',serif; font-style:italic; font-weight:400; color:#78b4e8; letter-spacing:-0.02em; }
.kh-hero-sub { font-size:14px; line-height:1.55; color:#cbd5e1; max-width:480px; margin:0 0 22px; }
.kh-hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }

.kh-hero-cards { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.kh-hero-card { padding:16px 18px; border:1px solid rgba(255,255,255,.18); background:rgba(0,0,0,.42); backdrop-filter:blur(10px); }
.kh-hero-card-k { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.kh-hero-card-v { font-family:'Archivo',sans-serif; font-weight:800; font-size:14px; color:#fff; margin-top:8px; line-height:1.3; white-space: pre-line; }

/* Buttons (homepage variants) */
.kh-btn { display:inline-flex; align-items:center; gap:10px; padding:13px 22px; border-radius:0; font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; text-decoration:none; transition:all .25s; cursor:pointer; border:1px solid transparent; }
.kh-btn--brand { background:#2764A3; color:#fff; }
.kh-btn--brand:hover { background:#1b4d80; }
.kh-btn--ondark { background:#fff; color:#0a0a0a; }
.kh-btn--ondark:hover { background:#78b4e8; color:#fff; }
.kh-btn--ghost { background:transparent; color:#0a0a0a; border-color:#0a0a0a; }
.kh-btn--ghost:hover { background:#0a0a0a; color:#fff; }
.kh-btn--ghost-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.kh-btn--ghost-light:hover { background:#fff; color:#0a0a0a; }

.kh-textlink { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.25); padding-bottom:3px; }
.kh-textlink:hover { color:#fff; border-color:#fff; }
.kh-textlink--ink { color:#0a0a0a; border-color:rgba(10,10,10,.3); }
.kh-textlink--ink:hover { color:#2764A3; border-color:#2764A3; }

/* ─── 2. AI SEARCH ────────────────────────────────────────── */
.kh-ai { background:#0a0a0a; color:#fff; padding:88px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.kh-ai-grid { display:grid; grid-template-columns: 1fr 1.6fr; gap:clamp(24px,4vw,64px); align-items:center; }
.kh-ai h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(26px,3vw,42px); line-height:1.05; letter-spacing:-0.025em; margin:10px 0 0; color:#fff; }
.kh-ai h2 .ac { color:#78b4e8; font-family:'Lora',serif; font-style:italic; font-weight:400; }
.kh-ai-search {
  display:flex; align-items:center; gap:12px;
  padding:18px 22px;
  background:#101820; border:1px solid rgba(255,255,255,.12);
  transition:border-color .25s;
}
.kh-ai-search:focus-within { border-color:#78b4e8; }
.kh-ai-search svg { flex-shrink:0; color:#78b4e8; }
.kh-ai-search input { flex:1; background:transparent; border:0; outline:none; color:#fff; font-family:'Archivo',sans-serif; font-size:16px; padding:6px 0; }
.kh-ai-search input::placeholder { color:rgba(255,255,255,.4); }
.kh-ai-search button { background:#2764A3; color:#fff; border:0; padding:11px 18px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; cursor:pointer; transition:background .2s; }
.kh-ai-search button:hover { background:#78b4e8; }
.kh-ai-suggest { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.kh-ai-sug { padding:7px 12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.7); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; cursor:pointer; transition:all .2s; }
.kh-ai-sug:hover { background:rgba(120,180,232,.15); border-color:#78b4e8; color:#fff; }

/* ─── 3. PARTNERS marquee ─────────────────────────────────── */
.kh-partners { background:#ffffff; padding:18px 0; border-bottom:1px solid #ececec; overflow:hidden; }
.kh-partners-head { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; padding-bottom:14px; }
.kh-marquee { -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.kh-mq-track { display:flex; align-items:center; gap:48px; animation:khMarq 60s linear infinite; width:max-content; padding:8px 0; }
.kh-partners:hover .kh-mq-track { animation-play-state:paused; }
.kh-mq-track a { display:inline-flex; align-items:center; flex:none; line-height:0; }
.kh-mq-track img { height:80px; width:160px; object-fit:contain; background:transparent; mix-blend-mode:multiply; filter:grayscale(1); opacity:1; transition:filter .3s ease; }
.kh-mq-track a:hover img { filter:grayscale(0); }
.kh-mq-track .sep { color:#dcdcdc; font-size:14px; }
@keyframes khMarq { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* Project-clients variant of the marquee (sits under the Stats slab).
   Speed = 49s (average of partners=60s and projects-page client strip=38s). */
.kh-clients-band { background:#fafaf8; border-top:1px solid #ececec; padding:24px 0 28px; }
.kh-clients-band .kh-mq-track { animation-duration:49s; }
.kh-clients-track img { height:60px; width:auto; max-width:170px; mix-blend-mode:multiply; }

/* ─── 4. STATS slab ───────────────────────────────────────── */
.kh-stats { background:#fff; padding:90px 0; border-bottom:1px solid #e4e1dc; }
.kh-stats-head { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:end; margin-bottom:50px; }
.kh-stats-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,52px); line-height:1; letter-spacing:-0.025em; margin:10px 0 0; color:#0a0a0a; }
.kh-stats-head h2 .ac { color:#2764A3; font-family:'Lora',serif; font-style:italic; font-weight:400; }
.kh-stats-grid { display:grid; grid-template-columns:repeat(3, 1fr); }
.kh-stat { padding:28px 32px; border-right:1px solid #e4e1dc; }
.kh-stat:first-child { padding-left:0; }
.kh-stat:last-child { border-right:0; padding-right:0; }
.kh-stat-mark { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em; color:#9a9a9a; margin-bottom:14px; }
.kh-stat-v { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(56px,6vw,88px); line-height:1; letter-spacing:-0.04em; color:#0a0a0a; }
.kh-stat-l { font-family:'Archivo',sans-serif; font-weight:700; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#0a0a0a; margin-top:14px; }
.kh-stat-d { font-size:13.5px; line-height:1.55; color:#6b6b6b; margin-top:8px; max-width:300px; }

/* ─── 5. CORE SERVICES ────────────────────────────────────── */
.kh-svc { background:#0b111a; color:#fff; padding:110px 0; }
.kh-svc-head { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; margin-bottom:48px; }
.kh-svc-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,56px); line-height:1.02; letter-spacing:-0.025em; margin:10px 0 0; color:#fff; }
.kh-svc-head h2 .it { font-family:'Lora',serif; font-style:italic; font-weight:400; color:#78b4e8; }
.kh-svc-head p { color:#9ca3af; font-size:15px; line-height:1.6; max-width:400px; }
.kh-svc-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
.kh-svc-card { background:#122532; border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; transition:all .35s; cursor:pointer; text-decoration:none; color:inherit; }
.kh-svc-card:hover { border-color:#78b4e8; background:#1a324a; transform:translateY(-4px); }
.kh-svc-img { aspect-ratio:16/10; overflow:hidden; position:relative; }
.kh-svc-img img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.kh-svc-card:hover .kh-svc-img img { transform:scale(1.05); }
.kh-svc-num { position:absolute; top:14px; left:14px; padding:5px 10px; background:rgba(10,10,10,.7); backdrop-filter:blur(8px); font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.14em; color:#fff; }
.kh-svc-body { padding:28px 26px 32px; }
.kh-svc-eye { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#78b4e8; }
.kh-svc-h { font-family:'Archivo',sans-serif; font-weight:800; font-size:24px; letter-spacing:-0.018em; margin:10px 0 12px; color:#fff; }
.kh-svc-p { font-size:14px; line-height:1.6; color:#9ca3af; margin:0 0 22px; }
.kh-svc-arr { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; color:#fff; display:inline-flex; align-items:center; gap:8px; }

/* ─── 5b. INDUSTRIES / SECTORS ────────────────────────────── */
.kh-sectors { background:#fff; padding:110px 0; border-bottom:1px solid #e4e1dc; }
.kh-sectors-head { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; margin-bottom:44px; }
.kh-sectors-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,56px); line-height:1.02; letter-spacing:-0.025em; margin:10px 0 0; color:#0a0a0a; }
.kh-sectors-head h2 .ac { color:#2764A3; font-family:'Lora',serif; font-style:italic; font-weight:400; }
.kh-sectors-head p { color:#6b6b6b; font-size:15px; line-height:1.6; max-width:420px; }
.kh-sectors-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; }
.kh-sector-card { position:relative; display:flex; flex-direction:column; gap:10px; min-height:168px; padding:18px 18px 16px; background:#fff; border:1px solid #e4e1dc; text-decoration:none; color:inherit; transition:all .3s; overflow:hidden; }
.kh-sector-card:hover { border-color:#2764A3; transform:translateY(-3px); }
.kh-sector-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:#2764A3; transform:scaleX(0); transform-origin:left; transition:transform .3s; z-index:1; }
.kh-sector-card:hover::before { transform:scaleX(1); }
.kh-sector-ghost { position:absolute; right:-10px; bottom:-14px; width:96px; height:96px; stroke-width:1.1; color:rgba(39,100,163,.10); transition:color .3s, transform .35s, opacity .3s; pointer-events:none; }
.kh-sector-card:hover .kh-sector-ghost { color:rgba(39,100,163,.26); transform:translateY(-4px) rotate(-4deg); }
.kh-sector-num { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.16em; color:#9a9a9a; position:relative; }
.kh-sector-name { font-family:'Archivo',sans-serif; font-weight:700; font-size:15px; letter-spacing:-0.01em; color:#0a0a0a; line-height:1.25; position:relative; max-width:75%; }
.kh-sector-arr { margin-top:auto; color:#2764A3; display:inline-flex; position:relative; }
/* Photo variant — used automatically when a card image is set in the Workbench */
/* Hover photo reveal: image fades in behind the card content with a dark
   gradient for legibility; number/name/arrow flip to white over it. */
.kh-sector-hover { position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .35s ease; pointer-events:none; }
.kh-sector-hover img { width:100%; height:100%; object-fit:cover; transform:scale(1.1); transition:transform .7s ease; }
.kh-sector-hover::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,20,31,.22) 0%, rgba(9,20,31,.5) 55%, rgba(9,20,31,.82) 100%); }
.kh-sector-card .kh-sector-num,
.kh-sector-card .kh-sector-name,
.kh-sector-card .kh-sector-arr { z-index:1; transition:color .3s; }
.kh-sector-card.has-photo:hover .kh-sector-hover { opacity:1; }
.kh-sector-card.has-photo:hover .kh-sector-hover img { transform:scale(1.02); }
.kh-sector-card.has-photo:hover .kh-sector-ghost { opacity:0; }
.kh-sector-card.has-photo:hover .kh-sector-num { color:rgba(255,255,255,.75); }
.kh-sector-card.has-photo:hover .kh-sector-name { color:#fff; }
.kh-sector-card.has-photo:hover .kh-sector-arr { color:#fff; }
.kh-sectors-foot { margin-top:28px; display:flex; justify-content:flex-end; }

/* ─── 5c. COOLING TECHNOLOGIES ────────────────────────────── */
.kh-tech { background:#0b111a; color:#fff; padding:110px 0; border-top:1px solid rgba(255,255,255,.06); }
.kh-tech-head { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; margin-bottom:44px; }
.kh-tech-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,56px); line-height:1.02; letter-spacing:-0.025em; margin:10px 0 0; color:#fff; }
.kh-tech-head h2 .it { font-family:'Lora',serif; font-style:italic; font-weight:400; color:#78b4e8; }
.kh-tech-head p { color:#9ca3af; font-size:15px; line-height:1.6; max-width:420px; }
.kh-tech-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:12px; }
.kh-tech-card { position:relative; display:flex; flex-direction:column; min-height:260px; padding:24px 22px 22px; background:#122532; border:1px solid rgba(255,255,255,.1); text-decoration:none; color:inherit; transition:all .35s; overflow:hidden; }
.kh-tech-card:hover { border-color:#78b4e8; background:#1a324a; transform:translateY(-4px); }
.kh-tech-card::before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:#2764A3; transform:scaleX(0); transform-origin:left; transition:transform .35s; }
.kh-tech-card:hover::before { transform:scaleX(1); }
.kh-tech-num { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; color:#78b4e8; }
.kh-tech-formula { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(26px,2.4vw,40px); letter-spacing:-0.03em; color:rgba(255,255,255,.14); margin-top:8px; line-height:1; }
.kh-tech-name { font-family:'Archivo',sans-serif; font-weight:800; font-size:19px; letter-spacing:-0.01em; color:#fff; margin:18px 0 8px; }
.kh-tech-desc { font-size:12.5px; line-height:1.5; color:#9ca3af; margin:0; }
.kh-tech-arr { margin-top:auto; padding-top:18px; display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:#fff; }
.kh-tech-card:hover .kh-tech-arr { color:#78b4e8; }
.kh-tech-foot { margin-top:32px; display:flex; justify-content:flex-end; }
@media (max-width:1080px) { .kh-tech-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px)  { .kh-tech-grid { grid-template-columns:1fr; } .kh-tech-head { grid-template-columns:1fr; gap:18px; } }

/* ─── 6. EQUIPMENT + BRANDS ───────────────────────────────── */
.kh-equip { background:#fff; padding:120px 0; border-bottom:1px solid #e4e1dc; }
.kh-equip-head { max-width:880px; margin-bottom:42px; }
.kh-equip-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(32px,4vw,60px); line-height:1.02; letter-spacing:-0.028em; margin:12px 0 14px; color:#0a0a0a; }
.kh-equip-head h2 .it { font-family:'Lora',serif; font-style:italic; font-weight:400; color:#2764A3; }
.kh-equip-head p { font-size:15.5px; line-height:1.65; color:#3a3a3a; max-width:620px; }

/* Tabs */
.kh-eq-tabs { display:flex; gap:0; border-top:1px solid #0a0a0a; border-bottom:1px solid #e4e1dc; margin-bottom:48px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; }
.kh-eq-tabs::-webkit-scrollbar { display:none; }
.kh-eq-tab { flex:1; min-width:140px; padding:18px 20px; background:transparent; border:0; border-right:1px solid #e4e1dc; cursor:pointer; text-align:left; transition:all .25s; position:relative; color:#0a0a0a; }
.kh-eq-tab:last-child { border-right:0; }
.kh-eq-tab:hover { background:#f5f5f3; }
.kh-eq-tab.on { background:#0a0a0a; color:#fff; }
.kh-eq-tab.on::before { content:''; position:absolute; top:-1px; left:0; right:0; height:3px; background:#2764A3; }
.kh-eq-tab-num { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.18em; color:#9a9a9a; display:block; }
.kh-eq-tab.on .kh-eq-tab-num { color:#78b4e8; }
.kh-eq-tab-name { font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; letter-spacing:-0.012em; margin-top:4px; display:block; color:inherit; }

/* Product cards */
.kh-eq-content { display:grid; grid-template-columns:1.4fr 1fr; gap:48px; }
.kh-eq-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.kh-eq-card { position:relative; background:#fff; border:1px solid #e4e1dc; display:flex; flex-direction:column; transition:all .35s; }
.kh-eq-card:first-child { grid-column:span 2; }
.kh-eq-card-media { aspect-ratio:5/4; overflow:hidden; }
.kh-eq-card:first-child .kh-eq-card-media { aspect-ratio:16/9; }
.kh-eq-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.kh-eq-card:hover { border-color:#0a0a0a; }
.kh-eq-card:hover .kh-eq-card-media img { transform:scale(1.04); }
/* Caption — flat plate below the photo, matched to the spec/brand tiles */
.kh-eq-card-cap {
  padding:13px 16px 14px;
  border-top:1px solid #e4e1dc;
}
.kh-eq-card-cap .k { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:#9a9a9a; }
.kh-eq-card-cap .n { font-family:'Archivo',sans-serif; font-weight:800; font-size:14px; letter-spacing:-0.005em; margin-top:5px; color:#0a0a0a; }

.kh-eq-side { display:flex; flex-direction:column; }
.kh-eq-side-h { font-family:'Archivo',sans-serif; font-weight:800; font-size:28px; letter-spacing:-0.022em; margin:10px 0 14px; color:#0a0a0a; }
.kh-eq-side-p { font-size:14.5px; line-height:1.65; color:#3a3a3a; margin:0 0 24px; }
.kh-eq-spec { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; padding:18px 0; border-top:1px solid #e4e1dc; border-bottom:1px solid #e4e1dc; margin-bottom:28px; }
.kh-eq-spec-k { font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:#9a9a9a; margin-bottom:5px; }
.kh-eq-spec-v { font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; color:#0a0a0a; }

.kh-eq-brands-label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#6b6b6b; margin-bottom:16px; }
.kh-eq-brands { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:#e4e1dc; border:1px solid #e4e1dc; }
.kh-eq-brand {
  background:#fff; padding:18px 14px; min-height:78px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  transition:all .2s;
}
.kh-eq-brand:hover { background:#f5f5f3; }
.kh-eq-brand-name { font-family:'Archivo',sans-serif; font-weight:800; font-size:14px; letter-spacing:-0.005em; color:#0a0a0a; line-height:1; text-align:center; }
.kh-eq-brand-meta { font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.14em; color:#9a9a9a; text-transform:uppercase; text-align:center; }
.kh-eq-brand--accent .kh-eq-brand-name { color:#2764A3; }

/* Footer pill */
.kh-eq-foot { margin-top:36px; padding:22px 26px; background:#f5f5f3; border-left:3px solid #2764A3; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.kh-eq-foot-text { font-size:14px; color:#3a3a3a; max-width:520px; }
.kh-eq-foot-text strong { color:#0a0a0a; font-family:'Archivo',sans-serif; font-weight:800; }

/* ─── 7. LATEST UPDATES ───────────────────────────────────── */
.kh-news { background:#f5f5f3; padding:110px 0; }
.kh-news-head { display:flex; justify-content:space-between; align-items:end; margin-bottom:40px; flex-wrap:wrap; gap:16px; }
.kh-news-head h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(30px,3.6vw,52px); line-height:1; letter-spacing:-0.025em; margin:10px 0 0; color:#0a0a0a; }
.kh-news-head h2 .it { font-family:'Lora',serif; font-style:italic; font-weight:400; color:#2764A3; }
.kh-news-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.kh-news-card { background:#fff; border:1px solid #e4e1dc; display:flex; flex-direction:column; cursor:pointer; transition:all .3s; text-decoration:none; color:inherit; }
.kh-news-card:hover { border-color:#0a0a0a; transform:translateY(-3px); }
.kh-news-img { aspect-ratio:16/10; overflow:hidden; position:relative; }
.kh-news-img img { width:100%; height:100%; object-fit:cover; transition:transform .8s; }
.kh-news-card:hover .kh-news-img img { transform:scale(1.04); }
.kh-news-tag { position:absolute; top:14px; left:14px; padding:5px 11px; background:rgba(255,255,255,.95); font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:#0a0a0a; }
.kh-news-tag--li { background:#0A66C2; color:#fff; display:inline-flex; align-items:center; gap:6px; }
.kh-news-body { padding:24px 22px 28px; flex:1; display:flex; flex-direction:column; }
.kh-news-meta { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.16em; color:#9a9a9a; }
.kh-news-h { font-family:'Archivo',sans-serif; font-weight:800; font-size:18px; letter-spacing:-0.012em; line-height:1.2; margin:10px 0 10px; color:#0a0a0a; }
.kh-news-p { font-size:13.5px; line-height:1.55; color:#6b6b6b; margin:0 0 18px; }
.kh-news-link { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:#0a0a0a; display:inline-flex; align-items:center; gap:7px; margin-top:auto; }

/* ─── 8. CTA band ─────────────────────────────────────────── */
.kh-cta { background:#0a0a0a; color:#fff; padding:120px 0; }
.kh-cta-inner { display:grid; grid-template-columns:1.4fr auto; gap:40px; align-items:end; }
.kh-cta h2 { font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(32px,4vw,60px); line-height:1.02; letter-spacing:-0.028em; margin:10px 0 0; max-width:680px; color:#fff; }
.kh-cta h2 .ac { color:#78b4e8; font-family:'Lora',serif; font-style:italic; font-weight:400; }

/* Eyebrow shared */
.kh-eyebrow { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; color:#9a9a9a; }
.kh-eyebrow--light { color:rgba(255,255,255,.55); }
.kh-eyebrow--accent { color:#2764A3; }

/* Lora font for italic accents */
.kh, .kh * { }
.kh .it { font-family:'Lora',serif; font-style:italic; }

/* ─── Mobile ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .kh-hero-grid { grid-template-columns:1fr; gap:32px; }
  .kh-ai-grid { grid-template-columns:1fr; }
  .kh-stats-head { grid-template-columns:1fr; gap:18px; }
  .kh-stats-grid { grid-template-columns:1fr; }
  .kh-stat { border-right:0; border-bottom:1px solid #e4e1dc; padding:24px 0; }
  .kh-stat:last-child { border-bottom:0; }
  .kh-svc-head { grid-template-columns:1fr; }
  .kh-svc-grid { grid-template-columns:repeat(2, 1fr); }
  .kh-sectors-head { grid-template-columns:1fr; gap:18px; }
  .kh-sectors-grid { grid-template-columns:repeat(3, 1fr); }
  .kh-eq-content { grid-template-columns:1fr; gap:32px; }
  .kh-news-grid { grid-template-columns:1fr; }
  .kh-cta-inner { grid-template-columns:1fr; align-items:start; }
}

@media (max-width: 640px) {
  .kh-svc-grid { grid-template-columns:1fr; }
  .kh-sectors-grid { grid-template-columns:repeat(2, 1fr); }
  /* Give the hero real height again and keep the text block bottom-aligned
     (base .kh-hero is align-items:flex-end) so the person in the background
     video shows above the headline instead of being covered by it. */
  .kh-hero { min-height:86svh; height:auto; padding:100px 0 44px; }
  .kh-h1 { font-size:clamp(34px, 9.5vw, 56px); line-height:1.02; letter-spacing:-0.03em; max-width:none; margin-bottom:14px; }
  .kh-hero-sub { font-size:14px; margin-bottom:22px; }
  .kh-chips { gap:8px; margin-bottom:18px; }
  .kh-chip { font-size:10px; padding:6px 10px; }
  .kh-hero-cards { grid-template-columns:repeat(2, 1fr); gap:8px; }
  .kh-hero-card { padding:12px 14px; }
  .kh-hero-card-v { font-size:13px; }
  .kh-eq-cards { grid-template-columns:1fr; }
  .kh-eq-card:first-child { grid-column:span 1; }
  .kh-eq-card:first-child .kh-eq-card-media { aspect-ratio:5/4; }
  .kh-eq-brands { grid-template-columns:repeat(2,1fr); }
  .kh-ai-search { flex-wrap:wrap; }
  .kh-ai-search input { min-width:0; width:100%; }
  .kh-stat-v { font-size:clamp(44px, 13vw, 60px); }
  .kh-ai-search button { min-height:44px; }
}

@media (max-width: 420px) {
  .kh-hero { padding:96px 0 48px; }
  .kh-h1 { font-size:30px; }
  /* Keep the four hero metric cards 2-up instead of a tall 4-stack */
  .kh-hero-cards { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE DENSITY PASS — aggressive homepage trim (phones).
   Goal: cut the page from ~15 screens to ~7 without deleting any
   content. Sections that duplicate a sub-page collapse to a
   heading + CTA "teaser"; the full content still lives one tap
   away on the page each CTA already links to. Pure CSS so it is
   easy to dial back per section after review.
   ═══════════════════════════════════════════════════════════════ */

/* Halve the oversized desktop section padding on phones/small tablets */
@media (max-width: 768px) {
  .kh-ai       { padding:52px 0; }
  .kh-stats    { padding:52px 0; }
  .kh-svc      { padding:56px 0; }
  .kh-sectors  { padding:56px 0; }
  .kh-equip    { padding:56px 0; }
  .kh-tech     { padding:56px 0; }
  .kh-news     { padding:56px 0; }
  .kh-cta      { padding:56px 0; }
}

@media (max-width: 640px) {
  /* Two logo marquees 900px apart is repetitive — drop the second
     (clients) band on phones; the partners strip stays. Also stops a
     second infinite animation from running on mobile. */
  .kh-clients-band { display:none; }

  /* Stats: tighten the three stacked counters */
  .kh-stat { padding:16px 0; }

  /* Services "How we work": the ~450px image is most of each card's
     height and barely readable on a phone — strip it, leave a tidy
     numbered list. */
  .kh-svc-grid { gap:10px; }
  .kh-svc-img  { display:none; }
  .kh-svc-body { padding:18px 18px 20px; }
  .kh-svc-h    { font-size:20px; margin:6px 0 8px; }
  .kh-svc-p    { margin-bottom:14px; }

  /* Industries: show the first 6 of 15; the "All applications" CTA
     that already follows the grid carries the rest. */
  .kh-sectors-grid > .kh-sector-card:nth-child(n+7) { display:none; }

  /* Equipment: collapse tabs + product photo + spec + brand grid into
     a teaser (heading + intro + "View full equipment catalogue"). */
  .kh-eq-tabs, .kh-eq-content { display:none; }
  .kh-eq-foot { margin-top:8px; }

  /* Refrigerant systems: collapse the 5 cards into a teaser
     (heading + intro + "Explore refrigeration technologies"). */
  .kh-tech-grid { display:none; }
  .kh-tech-foot { margin-top:8px; justify-content:flex-start; }

  /* Latest updates: 2 cards instead of 3 on a phone */
  .kh-news-grid > .kh-news-card:nth-child(n+3) { display:none; }
}

/* Short viewports (laptops, split screens) — shrink hero so headline can't crash into the header */
@media (max-height: 820px) {
  .kh-hero { min-height:560px; padding:120px 0 48px; }
  .kh-h1 { font-size:clamp(26px, 3.4vw, 52px); margin-bottom:12px; }
  .kh-hero-sub { font-size:13px; margin-bottom:18px; -webkit-line-clamp:3; }
  .kh-chips { margin-bottom:14px; }
  .kh-hero-card { padding:12px 14px; }
}
@media (max-height: 700px) {
  .kh-hero { min-height:520px; padding:104px 0 36px; }
  .kh-h1 { font-size:clamp(24px, 3vw, 44px); }
  .kh-hero-sub { font-size:12.5px; margin-bottom:14px; }
}
