/* Approved visual refinements; original motion remains loaded. */
.kbh header.top,.kbh header.top.solid{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid #e2e8ee;border-radius:12px;box-shadow:0 8px 28px #06152b0d;}
.kbh .top .wrap{max-width:1320px;gap:18px;}
.kbh nav.main a{font-size:13px;padding-inline:11px;}
.kbh nav.main .sub-menu{width:410px;padding:8px 0;border-radius:0 0 10px 10px;border:1px solid #dce5ee;border-top:3px solid var(--sand);background:#fff;backdrop-filter:none;box-shadow:0 20px 40px #06152b20;}
.kbh nav.main .sub-menu li+li{border-top:1px solid #edf1f5;}
.kbh nav.main .sub-menu a{padding:17px 22px;line-height:1.5;font-size:14px;border-radius:0;}
.kbh nav.main .sub-menu a:hover{background:#f3f7fb;}
.kbh .pcard .ph{aspect-ratio:16/10;border-radius:6px;}
.kbh .pcard .cat{line-height:1.5;letter-spacing:.08em;}
.kbh .grid4{gap:38px 24px;}
.kbh .pcard h3{font-size:18px;line-height:1.4;}
.kbh .certs{align-items:stretch;gap:28px;}
.kbh .cert{display:flex;flex-direction:column;border-radius:8px;box-shadow:0 6px 24px #06152b06;}
.kbh .cert img{height:340px;aspect-ratio:auto;object-fit:contain;object-position:center;padding:24px;background:#f8fafc;}
.kbh .cert>div{border-top:1px solid #e2e8ee;padding:22px 24px;flex:1;}
.kbh .cert b{line-height:1.5;}
.kbh .cert:hover{border-color:var(--sand);}
.kbh-pages{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:44px;}
.kbh-pages button{font:600 14px var(--f-body);width:42px;height:42px;border:1px solid #dce5ee;border-radius:4px;background:#fff;color:var(--navy);cursor:pointer;}
.kbh-pages button[aria-current=page]{background:var(--navy);color:white;border-color:var(--navy);}
.kbh-pages button:hover{border-color:var(--sand);}
.kbh-pages[hidden],.kbh-page-hidden{display:none!important;}
.kbh-sub-toggle{display:none;}
.pswp{--pswp-bg:#06152b;}
.pswp__img{background:#fff;}
.pswp__button:focus-visible{outline:2px solid #c9a464;outline-offset:-4px;}
@media(max-width:1100px){
 .kbh .mnav .menu-item-has-children{position:relative;}
 .kbh .mnav .menu-item-has-children>a{padding-inline-end:64px;}
 .kbh-sub-toggle{position:absolute;inset-inline-end:18px;top:7px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff30;border-radius:4px;color:white;background:transparent;cursor:pointer;}
 .kbh-sub-toggle::before{content:'+';font-size:24px;line-height:1;}
 .kbh-sub-toggle[aria-expanded=true]::before{content:'−';}
 .kbh .mnav .sub-menu{overflow:hidden;max-height:0;visibility:hidden;transition:max-height .28s ease,visibility .28s;}
 .kbh .mnav .kbh-expanded>.sub-menu{visibility:visible;max-height:700px;}
 .kbh .mnav .sub-menu a{font-size:14px;line-height:1.5;padding-block:14px;padding-inline-start:40px;background:#10283f;}
}
@media(max-width:600px){.kbh .cert img{height:360px;}.kbh .grid4{gap:30px 20px;}.kbh-pages{gap:6px;}.kbh-pages button{width:36px;height:38px;}}

/* Non-destructive tone correction for explicitly selected render covers. */
.kbh img.kbh-render-tone{filter:brightness(1.035) contrast(1.025) saturate(.98);}

/* Premium typography and a clearly elevated white navigation surface. */
.kbh header.top,.kbh header.top.solid{
 background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
 border:1px solid #cad5e1;border-bottom:2px solid #c9a464;
 box-shadow:0 2px 4px #06152b0a,0 14px 34px #06152b26,0 1px 0 #ffffff inset;
}
.kbh h1,.kbh h2,.kbh h3{text-wrap:balance;}
.kbh p{line-height:1.8;text-wrap:pretty;}
.kbh .intro,.kbh .two,.kbh .detail{align-items:start;}
.kbh .intro p,.kbh .two p,.kbh .detail p,.kbh .lead-text{max-width:68ch;}
.kbh .intro p,.kbh .two p,.kbh .detail p,.kbh .lead-text,.kbh .phero p{text-align:start;hyphens:none;overflow-wrap:break-word;}

/* Quieter supporting surfaces and less template-like micro headings. */
.kbh .eyebrow{letter-spacing:.08em;}
.kbh .cards3 .card{box-shadow:0 8px 24px #06152b08;}
.kbh .contact-grid>.ccard{height:auto;align-self:start;}
.kbh .contact-grid>.ccard.glass{background:rgba(255,255,255,.42);box-shadow:0 10px 30px #06152b08;}
.kbh .contact-grid iframe.map{height:260px;min-height:260px;}
.kbh-form__consent a{color:inherit;text-decoration-color:var(--sand);text-underline-offset:3px;}

/* Homepage project showcase: original project files are displayed without image filters. */
.kbh .hero-project-slider{min-height:min(820px,calc(100svh - var(--kbh-header-space)));background:#06152b;isolation:isolate;}
.kbh .hero-project-slider::after{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,21,43,.9) 0%,rgba(6,21,43,.58) 38%,rgba(6,21,43,.12) 72%),linear-gradient(0deg,rgba(6,21,43,.7),transparent 52%);}
[dir=rtl] .kbh .hero-project-slider::after{background:linear-gradient(270deg,rgba(6,21,43,.9) 0%,rgba(6,21,43,.58) 38%,rgba(6,21,43,.12) 72%),linear-gradient(0deg,rgba(6,21,43,.7),transparent 52%);}
.kbh .hero-slides,.kbh .hero-slide{position:absolute;inset:0;}
.kbh .hero-slides{z-index:0;overflow:hidden;}
.kbh .hero-slide{opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 1.2s;}
.kbh .hero-slide.on{opacity:1;visibility:visible;}
.kbh .hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:scale(1.015);transition:transform 8s cubic-bezier(.2,.65,.25,1);}
.kbh .hero-slide.on img{transform:scale(1.06);}
.kbh .hero-projects{position:absolute;z-index:3;inset:0;pointer-events:none;}
.kbh .hero-project{display:none;position:absolute;inset-inline-end:max(32px,calc((100vw - 1280px)/2));bottom:44px;max-width:32ch;color:#fff;font:600 13px/1.45 var(--f-body);letter-spacing:.02em;text-decoration:none;text-align:end;pointer-events:auto;text-shadow:0 2px 14px #06152b;}
.kbh .hero-project.on{display:block;}
.kbh .hero-project::before{content:'';display:block;width:34px;height:2px;margin:0 0 10px auto;background:var(--sand);}
[dir=rtl] .kbh .hero-project::before{margin-inline:0 auto;}
.kbh .hero-project:hover{color:var(--sand);}
.kbh .hero-project-slider>.wrap{z-index:2;padding-block:150px 92px;}
.kbh .hero-slider-nav{position:absolute;z-index:3;display:flex;gap:9px;align-items:center;inset-inline-start:max(32px,calc((100vw - 1280px)/2));bottom:38px;}
.kbh .hero-slider-nav button{position:relative;width:28px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;}
.kbh .hero-slider-nav button i{display:block;width:100%;height:2px;background:#ffffff5c;overflow:hidden;}
.kbh .hero-slider-nav button i::after{content:'';display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left;}
[dir=rtl] .kbh .hero-slider-nav button i::after{transform-origin:right;}
.kbh .hero-slider-nav button.on{width:58px;}
.kbh .hero-slider-nav button.on i::after{animation:kbh-hero-progress var(--hero-interval,6s) linear forwards;}
.kbh .hero-slider-nav button:focus-visible{outline:2px solid var(--sand);outline-offset:3px;}
@keyframes kbh-hero-progress{to{transform:scaleX(1)}}
@media(max-width:600px){
 .kbh .hero-project-slider{min-height:max(650px,calc(100svh - var(--kbh-header-space)));}
 .kbh .hero-project-slider::after{background:linear-gradient(0deg,rgba(6,21,43,.94) 0%,rgba(6,21,43,.68) 52%,rgba(6,21,43,.1) 86%);}
 [dir=rtl] .kbh .hero-project-slider::after{background:linear-gradient(0deg,rgba(6,21,43,.94) 0%,rgba(6,21,43,.68) 52%,rgba(6,21,43,.1) 86%);}
 .kbh .hero-project-slider>.wrap{padding-block:190px 112px;}
 .kbh .hero-project{inset-inline:22px;bottom:68px;max-width:24ch;font-size:12px;text-align:end;}
 .kbh .hero-project::before{display:none;}
 .kbh .hero-slider-nav{inset-inline-start:22px;bottom:28px;gap:7px;}
 .kbh .hero-slider-nav button{width:20px;}
 .kbh .hero-slider-nav button.on{width:42px;}
}
@media(prefers-reduced-motion:reduce){
 .kbh .hero-slide,.kbh .hero-slide img{transition:none;transform:none;}
 .kbh .hero-slider-nav button.on i::after{animation:none;transform:scaleX(1);}
}
/* Readability on phones: card badges at least 12px. */
@media (max-width: 600px) { .kbh .tile .tag { font-size: 12px; } }
/* Grid cards may shrink below their content width (a wide logo pushed the Partners page sideways at 1024px). */
.kbh .partners3>*,.kbh .certs>*,.kbh .cards3>*,.kbh .gallery>*,.kbh .ptiles>*,.kbh .prod>*,.kbh .core>*,.kbh .grid4>*,.kbh .leaders>*{min-width:0;}
.kbh .plogo img{max-width:100%;height:auto;}
