
/* Kittix consulting-first homepage. Styles are scoped to the homepage. */
:root { --kh-ink:#0b2030; --kh-navy:#061720; --kh-navy2:#0d2630; --kh-teal:#0caab1; --kh-bright:#39d7d7; --kh-paper:#f5f7f6; --kh-muted:#5a6d75; }
html { scroll-behavior:smooth; }
body.home-redesign { background:var(--kh-paper); color:var(--kh-ink); }
.home-redesign a:focus-visible, .home-redesign button:focus-visible { outline:3px solid #25cbd0; outline-offset:4px; }
.home-redesign .kh-container { width:min(1200px,calc(100% - 72px)); margin-inline:auto; }
.home-redesign .kh-header { position:sticky; top:0; z-index:50; background:#061720f5; border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(16px); }
.home-redesign .kh-nav { min-height:88px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.home-redesign .kh-brand { display:flex; flex-shrink:0; align-items:center; text-decoration:none; }
.home-redesign .kh-logo { width:145px; max-height:54px; object-fit:contain; }
.home-redesign .kh-links { display:flex; align-items:center; gap:32px; margin-left:auto; }
.home-redesign .kh-links a { color:#dbe7e8; font-weight:600; font-size:14px; text-decoration:none; transition:color .2s; }
.home-redesign .kh-links a:hover { color:#64f4f3; }
.home-redesign .kh-nav-cta { text-decoration:none; background:#36d3d6; color:#071e23; font-weight:800; padding:13px 21px; border-radius:8px; font-size:14px; white-space:nowrap; transition:background .2s,transform .2s; }
.home-redesign .kh-nav-cta:hover { background:#80f2ee; transform:translateY(-1px); }
.home-redesign .kh-menu-button { display:none; background:transparent; border:1px solid rgba(255,255,255,.38); border-radius:8px; width:44px; height:44px; padding:10px; cursor:pointer; }
.home-redesign .kh-menu-button span { display:block; height:2px; background:#fff; margin:5px 0; }
.home-redesign .kh-mobile-nav { background:#091f28; padding:14px 36px 24px; border-top:1px solid rgba(255,255,255,.13); }
.home-redesign .kh-mobile-nav[hidden] { display:none; }
.home-redesign .kh-mobile-nav a { display:block; color:#eff9f8; text-decoration:none; padding:13px 0; font-weight:600; border-bottom:1px solid rgba(255,255,255,.1); }
.home-redesign .kh-hero { background:radial-gradient(900px 600px at 95% 30%,#15404a 0%,transparent 63%),linear-gradient(130deg,#071923,#091c25 75%,#0d282f); color:#fff; overflow:hidden; position:relative; }
.home-redesign .kh-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.17; background-image:linear-gradient(#79c6c416 1px,transparent 1px),linear-gradient(90deg,#79c6c416 1px,transparent 1px); background-size:65px 65px; mask-image:linear-gradient(90deg,transparent 5%,#000); }
.home-redesign .kh-hero-grid { min-height:650px; display:grid; grid-template-columns:1.08fr .92fr; gap:46px; align-items:center; padding-block:100px 112px; position:relative; }
.home-redesign .kh-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; text-transform:uppercase; font-weight:800; letter-spacing:.17em; color:var(--kh-teal); }
.home-redesign .kh-hero .kh-eyebrow { color:#74e3e3; }
.home-redesign .kh-eyebrow::before { content:""; width:24px; height:2px; border-radius:1px; background:currentColor; flex-shrink:0; }
.home-redesign .kh-hero h1 { font-size:clamp(46px,5.2vw,78px); letter-spacing:-.058em; font-weight:760; line-height:1.07; max-width:780px; margin:27px 0 24px; }
.home-redesign .kh-hero h1 em { color:#5ce0dd; font-style:normal; }
.home-redesign .kh-lead { color:#b7c9ce; font-size:clamp(16px,1.45vw,19px); line-height:1.76; max-width:585px; margin:0; }
.home-redesign .kh-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:34px; }
.home-redesign .kh-button { display:inline-flex; align-items:center; justify-content:center; gap:11px; text-decoration:none; padding:16px 22px; border-radius:8px; font-size:14px; font-weight:800; line-height:1.25; border:1px solid transparent; transition:transform .2s,background .2s; }
.home-redesign .kh-button:hover { transform:translateY(-2px); }
.home-redesign .kh-button-primary { color:#06242a; background:#43d9db; }
.home-redesign .kh-button-primary:hover { background:#83efec; }
.home-redesign .kh-button-outline { background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.34); color:#fff; }
.home-redesign .kh-button-outline:hover { background:rgba(255,255,255,.1); }
.home-redesign .kh-hero-footnote { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:12px; color:#a9bec3; margin-top:45px; font-weight:600; letter-spacing:.03em; }
.home-redesign .kh-hero-footnote i { width:4px; height:4px; border-radius:50%; background:#4ed5d4; }
.home-redesign .kh-visual { min-width:0; position:relative; }
.home-redesign .kh-visual-main { overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:20px; min-height:455px; box-shadow:0 32px 95px #010e15b3; background:#11252d; position:relative; }
.home-redesign .kh-visual-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.56; filter:saturate(.65); }
.home-redesign .kh-visual-scrim { position:absolute; inset:0; background:linear-gradient(180deg,#06172122 0%,#071a22bb 42%,#061721 100%),linear-gradient(90deg,#071a2277,transparent); }
.home-redesign .kh-visual-content { position:relative; z-index:1; display:flex; min-height:455px; flex-direction:column; justify-content:space-between; padding:29px; }
.home-redesign .kh-visual-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.home-redesign .kh-visual-top span { font-size:11px; font-weight:800; color:#d8f5f3; text-transform:uppercase; letter-spacing:.14em; }
.home-redesign .kh-visual-top b { font-size:10px; border:1px solid #64d9d473; background:#062e30bc; color:#75e5dc; padding:9px 11px; border-radius:999px; letter-spacing:.1em; text-transform:uppercase; }
.home-redesign .kh-diagram-title { font-size:35px; font-weight:770; line-height:1.1; letter-spacing:-.045em; color:#fff; max-width:320px; margin:0 0 20px; }
.home-redesign .kh-diagram-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; align-items:stretch; }
.home-redesign .kh-diagram-step { padding:14px 12px; background:#082833de; border:1px solid #a7f3ed3c; border-radius:10px; display:flex; flex-direction:column; gap:11px; min-width:0; }
.home-redesign .kh-diagram-step span { color:#6fe3de; font-size:11px; letter-spacing:.12em; font-weight:800; }
.home-redesign .kh-diagram-step strong { color:white; font-size:13px; }
.home-redesign .kh-floating { position:absolute; right:-21px; bottom:-28px; background:#fff; color:#0a252d; padding:18px 20px; max-width:256px; border-radius:12px; box-shadow:0 23px 50px #0006; display:flex; gap:12px; align-items:center; }
.home-redesign .kh-floating-icon { width:42px; height:42px; border-radius:10px; background:#dcf7f4; color:#138c91; display:grid; place-items:center; flex-shrink:0; font-size:23px; }
.home-redesign .kh-floating strong { display:block; font-size:14px; line-height:1.3; }
.home-redesign .kh-floating small { color:#65787d; display:block; margin-top:5px; line-height:1.4; font-size:11px; }
.home-redesign .kh-section { padding:108px 0; }
.home-redesign .kh-section-header { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.home-redesign .kh-section-header h2,.home-redesign .kh-about h2,.home-redesign .kh-cta h2 { font-size:clamp(35px,4vw,54px); letter-spacing:-.052em; line-height:1.1; margin:17px 0 0; max-width:720px; font-weight:750; }
.home-redesign .kh-section-intro { max-width:340px; line-height:1.7; color:#52676f; font-size:15px; margin:0 0 3px; }
.home-redesign .kh-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.home-redesign .kh-service-card { padding:27px 23px 29px; background:white; border:1px solid #dfe7e8; border-radius:14px; min-height:292px; transition:transform .2s,box-shadow .2s; }
.home-redesign .kh-service-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px #10374014; }
.home-redesign .kh-service-icon { width:47px; height:47px; background:#e5f6f3; color:#068e94; border-radius:11px; display:grid; place-items:center; font-size:24px; margin-bottom:27px; }
.home-redesign .kh-service-card h3 { font-size:20px; line-height:1.27; margin:0 0 13px; letter-spacing:-.025em; }
.home-redesign .kh-service-card p { font-size:14px; color:#5d7178; margin:0; line-height:1.7; }
.home-redesign .kh-service-tail { display:flex; justify-content:space-between; flex-wrap:wrap; gap:15px; align-items:center; margin-top:29px; border-top:1px solid #dce6e5; padding-top:24px; }
.home-redesign .kh-service-tail span { color:#5f7075; font-size:14px; }
.home-redesign .kh-textlink { display:inline-flex; align-items:center; gap:9px; color:#0a7d84; text-decoration:none; font-weight:800; font-size:14px; }
.home-redesign .kh-textlink:hover { text-decoration:underline; }
.home-redesign .kh-solutions { background:#081d26; color:#f3f9f8; }
.home-redesign .kh-solutions .kh-section-intro { color:#a1bbc0; }
.home-redesign .kh-solutions .kh-section-header h2 { color:white; }
.home-redesign .kh-solution-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.home-redesign .kh-solution-card { background:#102b34; border:1px solid #ffffff21; border-radius:17px; padding:35px; display:flex; flex-direction:column; overflow:hidden; min-height:425px; position:relative; }
.home-redesign .kh-solution-card.featured { background:linear-gradient(150deg,#14343c,#0e262e); }
.home-redesign .kh-solution-tag { font-size:10px; letter-spacing:.15em; color:#5ce0dd; font-weight:900; text-transform:uppercase; display:inline-block; }
.home-redesign .kh-solution-tag.developing { color:#e9cfa4; }
.home-redesign .kh-solution-card h3 { font-size:clamp(27px,3vw,35px); letter-spacing:-.04em; line-height:1.1; margin:18px 0 14px; max-width:430px; color:white; }
.home-redesign .kh-solution-card p { color:#bbced1; font-size:15px; line-height:1.7; max-width:440px; margin:0; }
.home-redesign .kh-solution-art { min-height:117px; display:flex; align-items:end; gap:10px; padding-top:18px; flex:1; margin-bottom:26px; }
.home-redesign .kh-solution-art span { font-size:11px; font-weight:750; color:#c9e9e6; background:#0c3b43; border:1px solid #62d5ce50; padding:14px 12px; border-radius:9px; flex:1; text-align:center; }
.home-redesign .kh-solution-art i { align-self:center; margin-top:16px; font-size:16px; font-style:normal; color:#75dad3; }
.home-redesign .kh-solution-link { display:inline-flex; align-items:center; gap:9px; width:fit-content; color:#78e9e4; font-size:14px; font-weight:800; text-decoration:none; margin-top:auto; }
.home-redesign .kh-solution-link:hover { text-decoration:underline; }
.home-redesign .kh-approach { background:#fff; }
.home-redesign .kh-approach-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.home-redesign .kh-about h2 { margin-top:20px; }
.home-redesign .kh-about p { color:#607179; line-height:1.8; font-size:16px; max-width:440px; margin:21px 0 28px; }
.home-redesign .kh-steps { border-top:1px solid #d7e1e0; }
.home-redesign .kh-approach-step { display:grid; grid-template-columns:52px 1fr; padding:23px 0; gap:20px; border-bottom:1px solid #d7e1e0; }
.home-redesign .kh-approach-step > span { color:#0e999f; font-size:15px; font-weight:850; padding-top:3px; }
.home-redesign .kh-approach-step h3 { margin:0 0 7px; font-size:18px; }
.home-redesign .kh-approach-step p { margin:0; color:#62767b; font-size:14px; line-height:1.7; }
.home-redesign .kh-cta { padding:73px 0 80px; background:#e1f3f1; }
.home-redesign .kh-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:42px; }
.home-redesign .kh-cta h2 { max-width:680px; margin:16px 0 12px; }
.home-redesign .kh-cta p { margin:0; max-width:560px; color:#4f6c6f; font-size:16px; line-height:1.7; }
.home-redesign .kh-cta .kh-button-primary { background:#0a818b; color:#fff; white-space:nowrap; }
.home-redesign .kh-cta .kh-button-primary:hover { background:#056c73; }
.home-redesign .kh-footer { background:#05151e; color:#e7f0ef; padding:54px 0 32px; }
.home-redesign .kh-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:40px; border-bottom:1px solid #ffffff27; }
.home-redesign .kh-footer-brand { display:flex; align-items:center; gap:12px; font-size:22px; font-weight:800; }
.home-redesign .kh-footer-brand img { width:40px; height:40px; object-fit:contain; }
.home-redesign .kh-footer-description { color:#a2b8bc; line-height:1.7; max-width:300px; font-size:13px; margin-top:16px; }
.home-redesign .kh-footer h3 { margin:0 0 17px; font-size:12px; color:#eaf4f2; text-transform:uppercase; letter-spacing:.1em; }
.home-redesign .kh-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.home-redesign .kh-footer a { color:#b4cacc; font-size:13px; text-decoration:none; }
.home-redesign .kh-footer a:hover { color:#6ee6e2; }
.home-redesign .kh-footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:25px; color:#829b9f; font-size:12px; }
.home-redesign .kh-footer-bottom a { color:#b2c5c7; font-size:12px; }
@media(max-width:1100px) {
 .home-redesign .kh-links{gap:18px}
 .home-redesign .kh-hero-grid{gap:25px}
 .home-redesign .kh-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-redesign .kh-service-card{min-height:235px}
 .home-redesign .kh-approach-grid{gap:45px}
}
@media(max-width:850px) {
 .home-redesign .kh-container{width:min(100% - 40px,1200px)}
 .home-redesign .kh-links,.home-redesign .kh-nav-cta{display:none}
 .home-redesign .kh-menu-button{display:block;margin-left:auto}
 .home-redesign .kh-nav{min-height:74px}
 .home-redesign .kh-logo{width:130px}
 .home-redesign .kh-hero-grid{grid-template-columns:1fr;gap:55px;padding:80px 0 90px}
 .home-redesign .kh-hero h1{max-width:700px}
 .home-redesign .kh-visual{max-width:620px;width:100%}
 .home-redesign .kh-section{padding:78px 0}
 .home-redesign .kh-section-header{align-items:start; flex-direction:column;gap:20px}
 .home-redesign .kh-section-intro{max-width:560px}
 .home-redesign .kh-approach-grid{grid-template-columns:1fr;gap:30px}
 .home-redesign .kh-cta-inner{align-items:start;flex-direction:column}
}
@media(max-width:600px) {
 .home-redesign .kh-container{width:calc(100% - 36px)}
 .home-redesign .kh-header .kh-nav{min-height:68px}
 .home-redesign .kh-hero-grid{padding:65px 0 76px;gap:52px}
 .home-redesign .kh-hero h1{font-size:clamp(39px,11vw,58px);margin-top:20px}
 .home-redesign .kh-actions{flex-direction:column;align-items:stretch}
 .home-redesign .kh-hero-footnote{gap:9px;margin-top:33px}
 .home-redesign .kh-visual-main,.home-redesign .kh-visual-content{min-height:370px}
 .home-redesign .kh-visual-content{padding:17px}
 .home-redesign .kh-diagram-title{font-size:27px}
 .home-redesign .kh-visual-top span{font-size:9px}
 .home-redesign .kh-visual-top b{font-size:8px;padding:7px}
 .home-redesign .kh-diagram-step{padding:11px 5px;gap:5px}
 .home-redesign .kh-diagram-step strong{font-size:11px}
 .home-redesign .kh-floating{right:-5px;bottom:-24px;padding:13px}
 .home-redesign .kh-section{padding:66px 0}
 .home-redesign .kh-service-grid,.home-redesign .kh-solution-grid{grid-template-columns:1fr}
 .home-redesign .kh-service-card{min-height:0}
 .home-redesign .kh-solution-card{padding:26px;min-height:380px}
 .home-redesign .kh-solution-art span{font-size:10px;padding:12px 6px}
 .home-redesign .kh-cta{padding:60px 0}
 .home-redesign .kh-footer-grid{grid-template-columns:1fr 1fr;gap:30px}
 .home-redesign .kh-footer-grid > div:first-child{grid-column:1 / -1}
 .home-redesign .kh-footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} .home-redesign *, .home-redesign *::before,.home-redesign *::after{animation-duration:.01ms!important;transition-duration:.01ms!important} }
