/* KERNBRUCH: approved real-work photographs. Existing footer stays untouched. */
main .service-card .service-visual.kbp-card-photo{height:auto;aspect-ratio:4/5;display:block;background:#16181b!important;isolation:isolate;margin-top:18px}
main .service-card .service-visual.kbp-card-photo::before,main .service-card .service-visual.kbp-card-photo::after{display:none!important}
.kbp-card-photo img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.kbp-section{border-top:1px solid #44484c55;scroll-margin-top:24px}
.kbp-section .kbp-section-head{align-items:end}
.kbp-section .kbp-section-head h2{font-size:clamp(40px,4.7vw,64px)}
.kbp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.kbp-tile{margin:0;min-width:0;background:rgba(23,26,29,.92);border:1px solid #494c50;overflow:hidden;transition:border-color .18s ease}
.kbp-tile:hover{border-color:#8b5b60}
.kbp-image-link{display:block;position:relative;aspect-ratio:3/4;background:#111315;overflow:hidden;line-height:0}
.kbp-image-link img{display:block;width:100%;height:100%;object-fit:contain;filter:none;transition:opacity .15s ease}
.kbp-image-link:hover img{opacity:.94}
.kbp-zoom{display:grid;place-items:center;position:absolute;right:12px;bottom:12px;width:36px;height:36px;background:#15171be8;border:1px solid #a3a6aa70;color:#f2f3f4;font:23px/1 Arial,sans-serif;border-radius:2px;pointer-events:none}
.kbp-tile figcaption{padding:20px 20px 23px;border-top:1px solid #42464a}
.kbp-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#b3b8bc;font-weight:650}
.kbp-meta span:last-child{white-space:nowrap;color:#9b9fa4}
.kbp-tile h3{font-size:29px;line-height:1.12;margin:10px 0 0;color:#eaeced;overflow-wrap:anywhere}
.kbp-after{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.kbp-after>span,.kbp-help{font-size:13px;color:#b4b9be;line-height:1.65}
.kbp-help{margin-top:26px}
.kbp-service-hero{margin:0;min-width:0;border:1px solid #575b60;background:#15171a;max-width:450px;width:100%;justify-self:end}
.kbp-service-hero>a{display:block;position:relative;height:clamp(320px,36vw,475px);background:#111315}
.kbp-service-hero img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.kbp-service-hero figcaption{padding:16px 18px;color:#ecedee;font-size:14px;font-weight:650;border-top:1px solid #44484b;line-height:1.5}
.kbp-service-hero small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:#aeb4b9;margin-top:4px}
.inner-hero-grid:has(.kbp-service-hero){grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:48px}
.inner-hero-grid:has(.kbp-service-hero) h1{font-size:clamp(56px,6.5vw,96px);overflow-wrap:anywhere}
.kbp-gallery-intro{padding-block:67px 50px!important}
.kbp-gallery-intro h1{font-size:clamp(62px,7vw,100px)!important;line-height:.98!important;margin-block:24px!important}
.kbp-gallery-intro .accent{color:#c3c8cc!important}
.kbp-gallery-intro .kbp-history-note{font-size:13px!important;line-height:1.8;max-width:760px!important;color:#b0b6bb!important;padding-left:18px;border-left:2px solid #8e3c45;margin-top:24px}
.kbp-full-gallery{padding-top:38px!important}
.kbp-gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}
.kbp-gallery-heading h2{font-size:clamp(28px,3.4vw,46px);line-height:1.1;margin:0}
.kbp-counter{font-size:12px;font-weight:700;color:#bfc4c8;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.kbp-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.kbp-filters button{padding:10px 15px;background:#1c1f23;color:#d6dadd;border:1px solid #4f5358;border-radius:2px;cursor:pointer;min-height:44px;font:600 12px/1.4 'DM Sans',Arial,sans-serif}
.kbp-filters button:hover{background:#2a2e33;border-color:#81878c}
.kbp-filters button[aria-pressed=true]{background:#373c42;color:#fff;border-color:#b4bac0;box-shadow:inset 0 -2px #8a343e}
.kbp-tile[hidden],.kbp-filters[hidden]{display:none!important}
.kbp-image-link:focus-visible,.kbp-service-hero>a:focus-visible,.kbp-filters button:focus-visible,.kbp-dialog button:focus-visible{outline:2px solid #d5939a;outline-offset:4px}
.kbp-dialog{box-sizing:border-box;width:min(1180px,calc(100vw - 36px));height:min(940px,calc(100dvh - 36px));max-width:none;max-height:none;border:1px solid #626971;padding:0;color:#e8ebed;background:#14171a;overflow:hidden}
.kbp-dialog::backdrop{background:rgba(5,7,10,.93)}
.kbp-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.kbp-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-bottom:1px solid #34393e;min-height:65px}
.kbp-dialog-header p{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#c5ccd0}
.kbp-dialog button{font-family:Arial,sans-serif;cursor:pointer;background:#292e34;border:1px solid #626971;color:#f3f5f6;min-width:44px;min-height:44px;line-height:1;padding:10px 13px;border-radius:2px}
.kbp-dialog button:hover{background:#414850}
.kbp-dialog-close{font-size:28px}
.kbp-dialog-photo{min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;background:#090b0d}
.kbp-dialog-photo img{display:block;width:100%;height:100%;object-fit:contain;max-height:100%;filter:none}
.kbp-dialog-foot{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:18px;align-items:center;padding:16px 18px;border-top:1px solid #34393e}
.kbp-dialog-foot button{font-size:23px;padding:8px}
.kbp-dialog-caption{min-width:0;text-align:center}
.kbp-dialog-caption strong{display:block;font-size:16px;line-height:1.45}
.kbp-dialog-caption p{margin:5px 0 0;font-size:12px;line-height:1.45;color:#bbc2c7}
body.kbp-modal-open{overflow:hidden!important}
@media(min-width:761px) and (max-width:1050px){.main-nav{gap:16px;font-size:11px}.main-nav .nav-contact{padding:12px}}
@media(max-width:1050px){.kbp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-hero-grid:has(.kbp-service-hero){gap:30px}.inner-hero-grid:has(.kbp-service-hero) h1{font-size:clamp(52px,7vw,76px)}}
@media(max-width:760px){.inner-hero-grid:has(.kbp-service-hero){grid-template-columns:1fr}.kbp-service-hero{justify-self:start;max-width:100%;display:block}.kbp-service-hero>a{height:440px;max-height:68vh}.kbp-grid{gap:20px 16px}.kbp-tile h3{font-size:27px}.kbp-after{flex-direction:column;align-items:flex-start}.kbp-gallery-intro{padding-block:48px 35px!important}.kbp-gallery-heading{align-items:end}.kbp-gallery-heading h2{max-width:70%}}
@media(max-width:540px){.kbp-grid{grid-template-columns:1fr;gap:24px}.kbp-image-link{aspect-ratio:3/4}.kbp-tile figcaption{padding:18px 18px 21px}.kbp-section .section-head{margin-bottom:28px}.kbp-section .section-head>p{font-size:14px}.kbp-filters{gap:8px}.kbp-filters button{padding:10px 12px;font-size:11px}.kbp-gallery-intro h1{font-size:clamp(60px,17vw,84px)!important}.kbp-dialog{width:calc(100vw - 14px);height:calc(100dvh - 14px)}.kbp-dialog-header{padding:9px 12px;min-height:60px}.kbp-dialog-photo{padding:7px}.kbp-dialog-foot{gap:10px;padding:12px 10px}.kbp-dialog-caption strong{font-size:14px}.kbp-dialog-caption p{font-size:11px}.kbp-dialog-header p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.kbp-tile,.kbp-image-link img{transition:none}}
