/* KOBA gallery, branch explorer and hero photo only. Palette from the brand guide. */
.kl-gallery,.kl-locations { color:#052c1f;padding:95px 0;background:#fdf5e7; }
.kl-gallery { background:#fff; }
.kl-gallery *,.kl-locations * { box-sizing:border-box; }
.kl-heading { display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px; }
.kl-eyebrow { font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;color:#006946; }
.kl-heading h2 { font-size:clamp(36px,4vw,60px);line-height:1.1;letter-spacing:-.04em;margin:0;color:#052c1f; }
.kl-heading > p { font-size:16px;line-height:1.7;margin:0; }
.kl-mosaic { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(140px,14vw,210px);gap:24px;list-style:none;padding:0;margin:0; }
.kl-mosaic li { min-width:0;grid-column:span 4;grid-row:span 2; }
.kl-mosaic li:nth-child(1) { grid-column:span 8;grid-row:span 3; }
.kl-mosaic li:nth-child(2) { grid-column:span 4;grid-row:span 4; }
.kl-mosaic li:nth-child(3),.kl-mosaic li:nth-child(4) { grid-column:span 4;grid-row:span 2; }
.kl-mosaic li:nth-child(5) { grid-column:span 4;grid-row:span 1; }
.kl-mosaic li:nth-child(6) { grid-column:span 8;grid-row:span 2; }
.kl-mosaic li:nth-child(7) { grid-column:span 4;grid-row:span 2; }
.kl-mosaic li:nth-child(n+8) { grid-column:span 4;grid-row:span 2; }
.kl-mosaic li:nth-child(11),.kl-mosaic li:nth-child(12) { grid-column:span 6; }
.kl-gallery .kl-gallery-photo { position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#fdf5e7;overflow:hidden;cursor:pointer; }
.kl-gallery-photo img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.kl-gallery-caption { position:absolute;bottom:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:15px;padding:13px 15px;background:#fdf5e7;color:#052c1f;font-size:13px;line-height:1.5;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s; }
.kl-gallery-photo:hover .kl-gallery-caption,.kl-gallery-photo:focus-visible .kl-gallery-caption { opacity:1;transform:none; }
.kl-explorer { display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);grid-template-areas:'branches photo';gap:clamp(32px,4vw,64px);align-items:start; }
.kl-feature { grid-area:photo;min-width:0; }
.kl-branches { grid-area:branches;list-style:none;padding:0;margin:0; }
.kl-branches li { border-top:1px solid #b9b5a8; }
.kl-branches li:last-child { border-bottom:1px solid #b9b5a8; }
.kl-branches button,.kl-planned { display:flex;gap:18px;align-items:start;width:100%;padding:27px 16px;border:0;background:transparent;text-align:left;color:#052c1f; }
.kl-branches button { cursor:pointer;font-family:inherit;transition:background .25s; }
.kl-branches button[aria-pressed=true] { background:#e4e9de;box-shadow:inset 3px 0 #006946; }
.kl-number { font-size:11px;line-height:2.8;color:#006946; }
.kl-branches strong { font-size:30px;font-weight:650;line-height:1.1;display:block; }
.kl-branches button > span:nth-child(2) > span,.kl-planned p { display:block;font-size:14px;line-height:1.6;margin:10px 0 0; }
.kl-branches i { margin-left:auto;padding-top:9px;color:#006946;font-size:12px; }
.kl-coming { display:inline-block;background:#e7bd7c;color:#052c1f;padding:4px 8px;font-size:11px;font-weight:700;margin-top:12px; }
.kl-feature-frame { position:relative;aspect-ratio:4/3;background:#052c1f; }
.kl-state { position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .45s ease; }
.kl-state.is-active { opacity:1;pointer-events:auto; }
.kl-photo { display:block;border:0;padding:0;background:transparent;cursor:pointer;text-align:left;color:inherit;font-family:inherit; }
.kl-main-photo { width:100%;height:100%;overflow:hidden; }
.kl-photo img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease; }
.kl-state figcaption { position:absolute;left:0;right:0;bottom:0;padding:70px 30px 26px;background:linear-gradient(transparent,rgba(5,44,31,.94));color:white;pointer-events:none; }
.kl-state h3 { color:white;font-size:36px;margin:5px 0 10px;line-height:1.1; }
.kl-state p { margin:0;font-size:16px;line-height:1.6; }
.kl-state .kl-representative { font-size:10px;letter-spacing:.08em;text-transform:uppercase; }
.kl-state a { display:inline-flex;align-items:center;gap:12px;color:#fff;padding:10px 0;margin-top:6px;font-size:14px;font-weight:700;pointer-events:auto;text-underline-offset:5px; }
.kl-support { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px; }
.kl-support[hidden],.kl-load-status[hidden] { display:none; }
.kl-support .kl-photo { min-width:0; }
.kl-support img { height:140px; }
.kl-support span { display:block;font-size:12px;line-height:1.5;margin-top:8px; }
.kl-gallery button:focus-visible,.kl-locations button:focus-visible { outline:3px solid #006946;outline-offset:4px; }
.kl-gallery-photo:focus-visible,.kl-main-photo:focus-visible { outline-offset:-5px!important; }
.kl-state a:focus-visible { outline:3px solid #e7bd7c;outline-offset:4px; }
.kb-hero .kl-hero-photo { display:block;border:0;padding:0;cursor:pointer; }
.kb-hero .kl-hero-photo:focus-visible { outline:3px solid #e7bd7c;outline-offset:5px; }
.kb-hero .kl-hero-photo img { transition:scale .5s ease; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .kb-hero .kl-hero-photo:hover img { scale:1.025; } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .kl-gallery-photo:hover img,.kl-main-photo:hover img { transform:scale(1.025); } }
@media(max-width:1000px) { .kl-explorer { grid-template-columns:minmax(240px,1fr) minmax(0,1.7fr);gap:30px; }.kl-branches strong { font-size:25px; }.kl-branches button,.kl-planned { padding:22px 12px; } }
@media(max-width:700px) { .kl-gallery,.kl-locations { padding:60px 0; }.kl-heading { flex-direction:column;align-items:start;gap:20px;margin-bottom:30px; }.kl-mosaic { grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:16px; }.kl-mosaic li:nth-child(n) { grid-column:auto;grid-row:auto;aspect-ratio:3/4; }.kl-mosaic li:nth-child(1),.kl-mosaic li:nth-child(6) { grid-column:span 2;aspect-ratio:4/3; }.kl-explorer { grid-template-columns:1fr;grid-template-areas:'branches' 'photo';gap:25px; }.kl-branches { display:flex;overflow-x:auto;gap:8px;padding-bottom:8px; }.kl-branches li { flex:0 0 165px;border:1px solid #b9b5a8; }.kl-branches button,.kl-planned { height:100%;padding:15px 12px;gap:8px; }.kl-number,.kl-branches i { display:none; }.kl-branches strong { font-size:23px; }.kl-branches button > span:nth-child(2) > span,.kl-planned p { font-size:12px; }.kl-feature-frame { aspect-ratio:4/5; }.kl-state figcaption { padding:60px 20px 20px; }.kl-state h3 { font-size:32px; }.kl-state p { font-size:14px; }.kl-support img { height:110px; }.kl-gallery-caption { font-size:11px;padding:8px;left:8px;right:8px;bottom:8px; } }
@media(prefers-reduced-motion:reduce) { .kl-gallery *,.kl-locations * { transition:none!important; }.kl-gallery img,.kl-locations img { transform:none!important; } }

/* The removed scroll cue no longer needs its lower hero clearance. */
.kb-hero { padding-bottom:50px; }
