
:root{
  --ikb-ink:#1f252a;
  --ikb-graphite:#343d44;
  --ikb-steel:#667680;
  --ikb-paper:#eef2f4;
  --ikb-white:#f9fbfc;
  --ikb-stone:#9faab1;
  --ikb-line:#c9d2d7;
  --ikb-line-dark:#aeb9c0;
  --ikb-muted:#657078;
  --ikb-accent:#778c99;
  --ikb-shadow:0 18px 55px rgba(31,37,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ikb-ink);
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  line-height:1.55;
  background:
    linear-gradient(rgba(58,78,91,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(58,78,91,.035) 1px, transparent 1px),
    var(--ikb-paper);
  background-size:32px 32px,32px 32px,auto;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.22;
  background:
    linear-gradient(118deg,transparent 0 68%,rgba(57,80,94,.12) 68.08% 68.22%,transparent 68.32%),
    linear-gradient(28deg,transparent 0 79%,rgba(57,80,94,.09) 79.08% 79.22%,transparent 79.32%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.ikb-container{width:min(1180px,calc(100% - 44px));margin:0 auto}
.ikb-header{
  position:sticky;top:0;z-index:80;background:rgba(238,242,244,.94);
  border-bottom:1px solid rgba(31,37,42,.08);backdrop-filter:blur(16px)
}
.ikb-nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.ikb-brand{display:flex;align-items:center;gap:13px;min-width:230px}
.ikb-logo-mark{width:44px;height:44px;flex:0 0 auto}
.ikb-brand-name{font-weight:800;font-size:22px;letter-spacing:.03em;line-height:1}
.ikb-brand-sub{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ikb-muted);margin-top:5px;font-weight:650}
.ikb-menu{display:flex;align-items:center;list-style:none;gap:24px;padding:0;margin:0;font-size:14px;font-weight:650}
.ikb-menu a{padding:8px 0;border-bottom:1px solid transparent}
.ikb-menu a:hover,.ikb-menu .current-menu-item>a{border-bottom-color:var(--ikb-steel)}
.ikb-top-cta{padding:11px 17px;border-radius:999px;background:var(--ikb-ink);color:#fff;font-size:13px;font-weight:750;white-space:nowrap}
.ikb-menu-btn{display:none;border:0;background:transparent;font-size:26px;padding:6px;cursor:pointer}
.ikb-mobile-menu{display:none;padding:0 0 16px}
.ikb-mobile-menu.open{display:block}
.ikb-mobile-menu a{display:block;padding:11px 0;border-top:1px solid var(--ikb-line);font-weight:650}
.ikb-eyebrow{font:700 11px/1.2 "Courier New",Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--ikb-muted);margin-bottom:17px}
h1{font-size:clamp(45px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px}
h2{font-size:clamp(32px,4.1vw,54px);line-height:1.03;letter-spacing:-.045em;margin:0}
h3{letter-spacing:-.02em}
.ikb-lead{font-size:20px;color:#465058;max-width:700px;margin:0 0 28px}
.ikb-hero{padding:74px 0 52px;overflow:hidden}
.ikb-hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:55px;align-items:center}
.ikb-actions{display:flex;gap:12px;flex-wrap:wrap}
.ikb-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;border:1px solid var(--ikb-ink);font-size:14px;font-weight:750}
.ikb-btn.primary{background:var(--ikb-ink);color:white}
.ikb-btn.ghost{background:rgba(249,251,252,.5)}
.ikb-micro{margin-top:19px;color:var(--ikb-muted);font-size:12px}
.ikb-tech-card{
  min-height:520px;position:relative;overflow:hidden;border-radius:26px;
  border:1px solid #c6d0d6;background:#e4e9ec;box-shadow:var(--ikb-shadow)
}
.ikb-tech-card::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(49,70,83,.08) 1px,transparent 1px),
  linear-gradient(90deg,rgba(49,70,83,.08) 1px,transparent 1px);
  background-size:32px 32px;
}
.ikb-tech-label{position:absolute;left:22px;top:20px;font:700 10px "Courier New",monospace;letter-spacing:.14em;color:#5f707b}
.ikb-house{position:absolute;inset:40px 28px 26px;width:calc(100% - 56px);height:calc(100% - 66px)}
.ikb-metric{position:absolute;right:20px;bottom:20px;min-width:210px;padding:14px 17px;border-radius:15px;background:rgba(249,251,252,.92);border:1px solid rgba(31,37,42,.10)}
.ikb-metric strong{display:block;font-size:29px;line-height:1}.ikb-metric span{font-size:11px;color:var(--ikb-muted)}
.ikb-trust{padding:8px 0 68px}
.ikb-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ikb-line);border-bottom:1px solid var(--ikb-line)}
.ikb-stat{padding:24px 19px;border-right:1px solid var(--ikb-line)}.ikb-stat:last-child{border-right:0}
.ikb-stat strong{display:block;font-size:26px;letter-spacing:-.02em}.ikb-stat span{font-size:12px;color:var(--ikb-muted)}
.ikb-section{padding:82px 0;position:relative}
.ikb-section.alt{
  background:
    linear-gradient(rgba(52,77,91,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(52,77,91,.028) 1px,transparent 1px),
    var(--ikb-white);
  background-size:28px 28px,28px 28px,auto;
  border-top:1px solid rgba(31,37,42,.05);border-bottom:1px solid rgba(31,37,42,.05)
}
.ikb-section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:end;margin-bottom:36px}
.ikb-section-intro{font-size:18px;color:#4f5960;max-width:710px;margin:0}
.ikb-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.ikb-card{display:flex;flex-direction:column;min-height:255px;padding:23px;border-radius:19px;border:1px solid var(--ikb-line);background:rgba(249,251,252,.88)}
.ikb-card .num{font:700 11px "Courier New",monospace;letter-spacing:.12em;color:var(--ikb-muted);margin-bottom:35px}
.ikb-card h3{font-size:21px;line-height:1.15;margin:0 0 11px}.ikb-card p{font-size:14px;color:#59636a;margin:0 0 18px}.ikb-card a{margin-top:auto;font-size:12px;font-weight:800}
.ikb-process{display:grid;grid-template-columns:repeat(5,1fr);margin-top:34px;border:1px solid var(--ikb-line);border-radius:18px;overflow:hidden;background:var(--ikb-white)}
.ikb-step{padding:22px 17px;border-right:1px solid var(--ikb-line);position:relative}.ikb-step:last-child{border-right:0}
.ikb-step span{font:700 10px "Courier New",monospace;color:var(--ikb-muted)}.ikb-step b{display:block;margin-top:7px;font-size:14px}
.ikb-projects{display:grid;grid-template-columns:1.18fr .82fr;gap:17px}
.ikb-project{position:relative;overflow:hidden;min-height:420px;border-radius:23px;border:1px solid #c5cfd5;background:#dce3e7}
.ikb-project.secondary{background:#e8edef}.ikb-project svg,.ikb-project img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ikb-project-overlay{position:absolute;left:18px;right:18px;bottom:18px;padding:17px;border-radius:16px;background:rgba(249,251,252,.94);border:1px solid rgba(31,37,42,.08)}
.ikb-kicker{font:700 10px "Courier New",monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--ikb-muted)}
.ikb-project h3{font-size:24px;margin:5px 0 8px}.ikb-project p{font-size:13px;color:#566169;margin:0}
.ikb-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:35px;padding:34px;border-radius:25px;background:var(--ikb-white);border:1px solid var(--ikb-line)}
.ikb-footer{padding:34px 0 42px;border-top:1px solid var(--ikb-line);font-size:12px;color:var(--ikb-muted)}
.ikb-footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ikb-content{padding:70px 0}.ikb-content article{max-width:900px}.ikb-content p,.ikb-content li{font-size:17px;color:#48545b}
.ikb-cockpit-wrap{padding:40px 0}
.ikb-cockpit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.ikb-kpi{background:white;border:1px solid var(--ikb-line);border-radius:18px;padding:20px}
.ikb-kpi .label{font:700 10px "Courier New",monospace;letter-spacing:.12em;color:var(--ikb-muted)}.ikb-kpi strong{display:block;font-size:32px;margin:10px 0 3px}
.ikb-panel{margin-top:16px;background:white;border:1px solid var(--ikb-line);border-radius:18px;overflow:hidden}
.ikb-panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--ikb-line)}
.ikb-table-wrap{overflow-x:auto}.ikb-table{width:100%;border-collapse:collapse;font-size:13px}.ikb-table th,.ikb-table td{text-align:left;padding:13px 16px;border-bottom:1px solid #e3e8eb;white-space:nowrap}.ikb-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ikb-muted);background:#f8fafb}
.ikb-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750;background:#e2ebef;color:#3c5c6c}
@media(max-width:920px){
  .ikb-menu,.ikb-top-cta{display:none}.ikb-menu-btn{display:block}
  .ikb-hero-grid,.ikb-section-head,.ikb-contact{grid-template-columns:1fr}
  .ikb-tech-card{min-height:390px}.ikb-trust-grid{grid-template-columns:1fr 1fr}
  .ikb-cards{grid-template-columns:1fr 1fr}.ikb-projects{grid-template-columns:1fr}
  .ikb-process{grid-template-columns:1fr}.ikb-step{border-right:0;border-bottom:1px solid var(--ikb-line)}
  .ikb-cockpit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ikb-container{width:calc(100% - 24px)}.ikb-nav{height:67px}.ikb-brand-sub{display:none}
  h1{font-size:43px}.ikb-lead{font-size:17px}.ikb-actions{display:grid}.ikb-btn{width:100%}
  .ikb-tech-card{min-height:315px;border-radius:19px}.ikb-house{inset:28px 12px 18px;width:calc(100% - 24px);height:calc(100% - 46px)}
  .ikb-cards,.ikb-cockpit-grid{grid-template-columns:1fr}.ikb-section{padding:61px 0}
}


/* IKB Theme 1.1 – Cockpit-Optimierung */
.ikb-cockpit-page{
  padding:52px 0 76px;
}
.ikb-cockpit-page .ikb-cockpit-wrap{
  padding:0;
}
.ikb-cockpit-page h1{
  margin-bottom:26px;
}
.ikb-cockpit-page .ikb-panel{
  width:100%;
}
.ikb-cockpit-page .ikb-table{
  min-width:980px;
}
@media (min-width:1250px){
  .ikb-cockpit-page .ikb-container{
    width:min(1420px,calc(100% - 56px));
  }
}
@media (max-width:560px){
  .ikb-cockpit-page{
    padding:34px 0 54px;
  }
  .ikb-cockpit-page .ikb-table{
    min-width:900px;
  }
}


/* IKB Theme 1.2 – öffentliche Unterseiten */
.ikb-page-hero{padding:76px 0 54px}
.ikb-page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}
.ikb-page-aside{border-left:3px solid var(--ikb-steel);padding:7px 0 7px 20px;margin:0;color:#4d5961;font-size:17px}
.ikb-service-list{display:grid;gap:14px}
.ikb-service-row{display:grid;grid-template-columns:270px 1fr;gap:34px;padding:28px;border:1px solid var(--ikb-line);border-radius:20px;background:rgba(249,251,252,.88)}
.ikb-service-row h2{font-size:25px;line-height:1.08;margin:6px 0 0}
.ikb-service-row p{margin:0 0 15px;color:#546068}
.ikb-service-no{font:700 10px "Courier New",monospace;letter-spacing:.13em;color:var(--ikb-muted)}
.ikb-tags{display:flex;gap:7px;flex-wrap:wrap}.ikb-tags span{padding:6px 9px;border:1px solid var(--ikb-line);border-radius:999px;background:#fff;font-size:11px}
.ikb-dark-callout{padding:34px;border-radius:24px;background:var(--ikb-ink);color:white}
.ikb-dark-callout .ikb-eyebrow{color:#afbbc1}.ikb-dark-callout h2{color:white;max-width:780px}.ikb-dark-callout p{max-width:850px;color:#d9e0e4;font-size:16px}
.ikb-btn.light{background:white;color:var(--ikb-ink);border-color:white;margin-top:10px}

.ikb-experience-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:center}
.ikb-photo-placeholder{min-height:520px;border:1px solid var(--ikb-line);border-radius:23px;position:relative;overflow:hidden;background:linear-gradient(135deg,#ccd6db,#e9eef0)}
.ikb-photo-lines{position:absolute;inset:0;background:linear-gradient(rgba(70,91,103,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(70,91,103,.07) 1px,transparent 1px);background-size:32px 32px}
.ikb-photo-lines::after{content:"";position:absolute;width:170px;height:170px;border:2px solid #7e8f98;border-radius:50%;left:50%;top:24%;transform:translateX(-50%);opacity:.4}
.ikb-photo-caption{position:absolute;left:22px;bottom:22px;font:700 10px/1.5 "Courier New",monospace;letter-spacing:.09em;color:#5a6971}
.ikb-big-quote{font-size:28px;line-height:1.28;letter-spacing:-.025em;color:#37434a}
.ikb-career article{display:grid;grid-template-columns:180px 1fr;gap:28px;padding:25px 0;border-top:1px solid var(--ikb-line)}
.ikb-career article:last-child{border-bottom:1px solid var(--ikb-line)}
.ikb-career article>span{font:700 11px "Courier New",monospace;letter-spacing:.1em;color:var(--ikb-muted)}
.ikb-career h3{font-size:23px;margin:0 0 7px}.ikb-career p{margin:0;color:#5a666d}
.ikb-three-values{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.ikb-three-values>div{background:var(--ikb-white);border:1px solid var(--ikb-line);border-radius:18px;padding:23px}
.ikb-three-values span{font:700 10px "Courier New",monospace;color:var(--ikb-muted);letter-spacing:.1em}
.ikb-three-values h3{font-size:21px;margin:12px 0 8px}.ikb-three-values p{margin:0;color:#5b666d}

.ikb-contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px}
.ikb-contact-card,.ikb-mail-form{background:var(--ikb-white);border:1px solid var(--ikb-line);border-radius:22px;padding:28px}
.ikb-contact-card h2{font-size:38px;margin:0 0 14px}.ikb-contact-card>p{color:#566269}
.ikb-contact-data{margin-top:26px;border-top:1px solid var(--ikb-line)}
.ikb-contact-data>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--ikb-line)}
.ikb-contact-data dt{font:700 9px "Courier New",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ikb-muted)}
.ikb-contact-data dd{margin:0;font-weight:650}
.ikb-mail-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.ikb-mail-form input,.ikb-mail-form select,.ikb-mail-form textarea{width:100%;padding:13px 14px;border:1px solid #c3cdd2;border-radius:10px;background:white;color:var(--ikb-ink)}
.ikb-mail-form textarea{grid-column:1/-1;min-height:130px;resize:vertical}
.ikb-mail-form button{grid-column:1/-1;border:0;border-radius:999px;background:var(--ikb-ink);color:white;padding:13px;font-weight:800;cursor:pointer}
.ikb-mail-form small{grid-column:1/-1;color:var(--ikb-muted);font-size:10px}

.ikb-thought-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ikb-thought-card,.ikb-empty-state{padding:28px;border:1px solid var(--ikb-line);border-radius:20px;background:var(--ikb-white)}
.ikb-thought-card h2{font-size:28px;margin:9px 0 12px}.ikb-thought-excerpt{color:#566269}
.ikb-text-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:800}
.ikb-article-page{padding:82px 0}.ikb-thought-single{max-width:850px;margin:0 auto}
.ikb-article-body{font-size:19px;line-height:1.7;color:#3f4a51;margin:30px 0}
.ikb-footer-links{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap}
.ikb-footer-links a{font-weight:700}

@media(max-width:920px){
  .ikb-page-hero-grid,.ikb-experience-grid,.ikb-contact-layout{grid-template-columns:1fr}
  .ikb-service-row{grid-template-columns:1fr}
  .ikb-three-values{grid-template-columns:1fr 1fr}
  .ikb-thought-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ikb-page-hero{padding:50px 0 34px}
  .ikb-page-aside{font-size:15px}
  .ikb-service-row{padding:20px}
  .ikb-photo-placeholder{min-height:390px}
  .ikb-big-quote{font-size:23px}
  .ikb-career article{grid-template-columns:1fr;gap:5px}
  .ikb-three-values{grid-template-columns:1fr}
  .ikb-mail-form{grid-template-columns:1fr;padding:20px}
  .ikb-mail-form textarea,.ikb-mail-form button,.ikb-mail-form small{grid-column:auto}
  .ikb-contact-card{padding:20px}.ikb-contact-card h2{font-size:31px}
}


/* IKB Theme 1.3 – Medien & Referenzen */
.ikb-tech-card.has-media::before{
  opacity:.35;
  z-index:1
}
.ikb-tech-card.has-media .ikb-tech-label,
.ikb-tech-card.has-media .ikb-metric{
  z-index:3
}
.ikb-hero-cad-media{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(.92) brightness(1.03);
  opacity:.88
}
.ikb-tech-card.has-media::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(135deg,rgba(232,238,241,.20),rgba(232,238,241,.04))
}
.ikb-photo-frame{
  min-height:520px;border:1px solid var(--ikb-line);border-radius:23px;
  overflow:hidden;background:#dfe5e8
}
.ikb-portrait-media{
  width:100%;height:100%;min-height:520px;object-fit:cover;display:block
}
.ikb-project-detail-grid{
  display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:stretch
}
.ikb-project-media-frame{
  min-height:510px;border:1px solid var(--ikb-line);border-radius:23px;overflow:hidden;
  background:#e1e7ea;position:relative
}
.ikb-project-main-image{
  width:100%;height:100%;min-height:510px;object-fit:cover;display:block
}
.ikb-project-media-placeholder{
  min-height:510px;position:relative;background:#e1e7ea;overflow:hidden
}
.ikb-project-media-placeholder .ikb-house{
  inset:36px;width:calc(100% - 72px);height:calc(100% - 72px)
}
.ikb-project-facts{
  padding:27px;border:1px solid var(--ikb-line);border-radius:23px;background:var(--ikb-white)
}
.ikb-project-facts dl{margin:15px 0 0;border-top:1px solid var(--ikb-line)}
.ikb-project-facts dl>div{
  display:grid;grid-template-columns:105px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--ikb-line)
}
.ikb-project-facts dt{
  font:700 9px "Courier New",monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--ikb-muted)
}
.ikb-project-facts dd{margin:0;font-weight:650}
.ikb-scope-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px
}
.ikb-scope-item{
  padding:16px;border-left:3px solid var(--ikb-steel);background:rgba(249,251,252,.78)
}
.ikb-scope-item span{
  display:block;font:700 9px "Courier New",monospace;color:var(--ikb-muted);margin-bottom:5px
}
.ikb-scope-item strong{font-size:13px}
.ikb-project-story{
  max-width:850px;margin-top:35px;font-size:17px;color:#47535a
}
@media(max-width:920px){
  .ikb-project-detail-grid{grid-template-columns:1fr}
  .ikb-scope-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ikb-photo-frame,.ikb-portrait-media{min-height:390px}
  .ikb-project-media-frame,.ikb-project-main-image,.ikb-project-media-placeholder{min-height:340px}
  .ikb-project-facts{padding:20px}
  .ikb-project-facts dl>div{grid-template-columns:1fr;gap:3px}
  .ikb-scope-grid{grid-template-columns:1fr}
}


/* IKB Theme 1.4 – Projektgalerien */
.ikb-project-gallery-section{
  margin-top:64px;padding-top:50px;border-top:1px solid var(--ikb-line)
}
.ikb-project-gallery{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px
}
.ikb-project-gallery-item{
  margin:0;border:1px solid var(--ikb-line);border-radius:19px;overflow:hidden;
  background:#e7ecef
}
.ikb-project-gallery-image{
  width:100%;height:390px;object-fit:contain;display:block;
  background:
    linear-gradient(rgba(67,88,101,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,88,101,.035) 1px,transparent 1px),
    #edf1f3;
  background-size:24px 24px,24px 24px,auto;
  padding:12px
}
.ikb-project-gallery-item figcaption{
  padding:11px 14px;border-top:1px solid var(--ikb-line);
  font-size:11px;color:var(--ikb-muted);background:var(--ikb-white)
}
.ikb-project-main-image{
  object-fit:contain!important;
  background:
    linear-gradient(rgba(67,88,101,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,88,101,.035) 1px,transparent 1px),
    #edf1f3;
  background-size:24px 24px,24px 24px,auto;
  padding:16px
}
@media(max-width:720px){
  .ikb-project-gallery{grid-template-columns:1fr}
  .ikb-project-gallery-image{height:auto;max-height:430px}
}


/* IKB Theme 1.5 – Präsentations-Feinschliff */
.ikb-tech-card.has-media{
  background:
    linear-gradient(rgba(65,85,98,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(65,85,98,.045) 1px,transparent 1px),
    #e8edef;
  background-size:28px 28px,28px 28px,auto;
}
.ikb-hero-cad-media{
  object-fit:contain!important;
  padding:58px 30px 42px;
  filter:none!important;
  opacity:1!important;
}
.ikb-tech-card.has-media::after{
  background:linear-gradient(180deg,rgba(238,243,245,.04),rgba(238,243,245,.10))!important;
}
.ikb-photo-frame{
  background:
    linear-gradient(rgba(65,85,98,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(65,85,98,.03) 1px,transparent 1px),
    #e6ebed;
  background-size:28px 28px,28px 28px,auto;
}
.ikb-portrait-media{
  object-position:center 22%;
}
.ikb-project-main-image,
.ikb-project-gallery-image{
  transition:transform .25s ease;
}
.ikb-project-gallery-item:hover .ikb-project-gallery-image{
  transform:scale(1.012);
}
.ikb-page-hero h1{
  max-width:980px;
}
.ikb-footer{
  background:rgba(232,237,240,.74);
}
@media(max-width:920px){
  .ikb-hero-cad-media{padding:42px 22px 30px}
}
@media(max-width:560px){
  .ikb-hero{padding-top:48px}
  .ikb-tech-card{min-height:300px}
  .ikb-hero-cad-media{padding:38px 14px 24px}
  .ikb-metric{right:12px;bottom:12px;min-width:170px;padding:11px 13px}
  .ikb-metric strong{font-size:24px}
  .ikb-page-hero h1{font-size:40px}
  .ikb-service-row h2{font-size:23px}
}


/* IKB Theme 1.6 – finaler visueller Feinschliff */
.ikb-tech-card.has-media{
  overflow:hidden;
}
.ikb-hero-cad-media{
  transform:scale(1.17);
  transform-origin:56% 46%;
  object-position:56% 46%!important;
  padding:52px 24px 38px!important;
}
.ikb-experience-hero{
  padding-top:62px;
  padding-bottom:48px;
}
.ikb-experience-hero h1{
  font-size:clamp(43px,4.6vw,66px);
  line-height:1.01;
  letter-spacing:-.05em;
  max-width:970px;
}
.ikb-profile-section{
  padding-top:70px;
  padding-bottom:70px;
}
.ikb-profile-grid{
  display:grid;
  grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr);
  gap:34px;
  align-items:stretch;
}
.ikb-profile-portrait,
.ikb-profile-card{
  min-width:0;
}
.ikb-profile-section .ikb-photo-frame{
  min-height:620px;
  height:100%;
}
.ikb-profile-section .ikb-portrait-media{
  min-height:620px;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
}
.ikb-profile-card{
  padding:36px 38px;
  border:1px solid var(--ikb-line);
  border-radius:23px;
  background:
    linear-gradient(rgba(61,82,95,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(61,82,95,.025) 1px,transparent 1px),
    rgba(249,251,252,.94);
  background-size:28px 28px,28px 28px,auto;
  display:flex;
  flex-direction:column;
}
.ikb-profile-card h2{
  font-size:clamp(38px,4vw,58px);
  margin:0 0 10px;
}
.ikb-profile-qualification{
  margin:0 0 25px;
  color:#59666e;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
}
.ikb-profile-lead{
  font-size:22px;
  line-height:1.4;
  letter-spacing:-.02em;
  color:#3e4a51;
  max-width:670px;
  margin:0 0 27px;
}
.ikb-profile-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin:0 0 28px;
  border:1px solid var(--ikb-line);
  border-radius:15px;
  overflow:hidden;
  background:var(--ikb-line);
}
.ikb-profile-facts>div{
  min-height:105px;
  padding:17px 18px;
  background:rgba(249,251,252,.98);
}
.ikb-profile-facts strong{
  display:block;
  font-size:23px;
  letter-spacing:-.03em;
  margin-bottom:4px;
}
.ikb-profile-facts span{
  display:block;
  font-size:11px;
  color:var(--ikb-muted);
  line-height:1.4;
}
.ikb-profile-quote{
  margin:auto 0 0;
  padding:19px 0 0 20px;
  border-left:3px solid var(--ikb-steel);
  font-size:18px;
  line-height:1.55;
  color:#46535b;
}
@media(max-width:920px){
  .ikb-profile-grid{
    grid-template-columns:1fr;
  }
  .ikb-profile-section .ikb-photo-frame,
  .ikb-profile-section .ikb-portrait-media{
    min-height:520px;
    max-height:700px;
  }
}
@media(max-width:560px){
  .ikb-hero-cad-media{
    transform:scale(1.10);
    transform-origin:center;
    padding:34px 8px 20px!important;
  }
  .ikb-experience-hero{
    padding-top:44px;
    padding-bottom:32px;
  }
  .ikb-experience-hero h1{
    font-size:40px;
  }
  .ikb-profile-section{
    padding-top:48px;
    padding-bottom:48px;
  }
  .ikb-profile-card{
    padding:23px 20px;
  }
  .ikb-profile-lead{
    font-size:19px;
  }
  .ikb-profile-facts{
    grid-template-columns:1fr;
  }
  .ikb-profile-facts>div{
    min-height:auto;
  }
  .ikb-profile-section .ikb-photo-frame,
  .ikb-profile-section .ikb-portrait-media{
    min-height:430px;
  }
}


/* IKB Theme 1.6.2 – finaler Smartphone-Feinschliff */
@media(max-width:760px){

  /* Mobile Navigation */
  .ikb-mobile-panel ul,
  .ikb-mobile-panel li,
  .ikb-mobile-menu ul,
  .ikb-mobile-menu li,
  .ikb-nav-mobile ul,
  .ikb-nav-mobile li{
    list-style:none!important;
    margin-left:0!important;
    padding-left:0!important;
  }

  .ikb-mobile-panel li::marker,
  .ikb-mobile-menu li::marker,
  .ikb-nav-mobile li::marker{
    content:""!important;
  }

  /* Unterseiten beginnen mit etwas mehr Luft unter dem mobilen Header */
  .ikb-page-hero{
    padding-top:58px!important;
  }

  .ikb-experience-hero{
    padding-top:58px!important;
  }

  /* Große Überschriften auf kleinen Geräten etwas ruhiger */
  .ikb-page-hero h1,
  .ikb-experience-hero h1{
    font-size:clamp(37px,10.8vw,48px)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  /* Startseite: weiterhin stark, aber minimal kompakter */
  .ikb-hero h1{
    font-size:clamp(45px,12vw,60px)!important;
    line-height:1.01!important;
  }

  .ikb-hero-copy{
    font-size:18px!important;
    line-height:1.55!important;
  }

  /* Projektübersicht: weniger vertikaler Platzverbrauch */
  .ikb-project-card{
    border-radius:18px!important;
  }

  .ikb-project-card-media,
  .ikb-project-card img{
    max-height:490px;
  }

  .ikb-project-card-content{
    padding:22px 20px!important;
  }

  .ikb-project-card-content h2,
  .ikb-project-card h2{
    font-size:29px!important;
    line-height:1.08!important;
  }

  /* Profilseite */
  .ikb-profile-section{
    padding-top:42px!important;
  }

  .ikb-profile-grid{
    gap:18px!important;
  }

  .ikb-profile-section .ikb-photo-frame{
    border-radius:18px!important;
  }

  .ikb-profile-section .ikb-portrait-media{
    object-position:center 22%!important;
  }
}

@media(max-width:420px){
  .ikb-page-hero{
    padding-top:50px!important;
  }

  .ikb-page-hero h1,
  .ikb-experience-hero h1{
    font-size:38px!important;
  }

  .ikb-hero h1{
    font-size:48px!important;
  }
}


/* IKB Theme 1.7 – Rubrikenbilder auf der rechten Seite */
.ikb-page-hero-with-visual{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,480px);
  gap:42px;
  align-items:center;
}
.ikb-page-hero-copywrap{min-width:0}
.ikb-page-hero-copywrap .ikb-page-aside{
  margin-top:28px;
  max-width:660px;
}
.ikb-page-hero-visual{min-width:0}
.ikb-page-hero-visual-frame{
  position:relative;
  min-height:340px;
  border:1px solid var(--ikb-line);
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(rgba(67,88,101,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,88,101,.04) 1px,transparent 1px),
    #edf1f3;
  background-size:24px 24px,24px 24px,auto;
}
.ikb-page-hero-visual-media,
.ikb-page-hero-visual-placeholder{
  display:block;
  width:100%;
  height:100%;
  min-height:340px;
}
.ikb-page-hero-visual-media{
  object-fit:cover;
}
.ikb-page-hero-visual-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#edf1f3,#e5ecef);
  color:var(--ikb-ink);
  font-size:48px;
  font-weight:800;
  letter-spacing:.04em;
}
.ikb-page-hero-visual-placeholder span{
  display:inline-block;
  padding:18px 28px;
  border:1px solid #d7dee2;
  border-radius:18px;
  background:rgba(249,251,252,.84);
}
.ikb-page-hero-visual-caption{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:54px;
  padding:10px 16px;
  border:1px solid #d7dee2;
  border-radius:18px;
  background:rgba(249,251,252,.92);
  color:var(--ikb-muted);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
@media(max-width:1024px){
  .ikb-page-hero-with-visual{
    grid-template-columns:1fr;
    gap:26px;
  }
  .ikb-page-hero-visual-media,
  .ikb-page-hero-visual-placeholder,
  .ikb-page-hero-visual-frame{
    min-height:280px;
  }
}
@media(max-width:760px){
  .ikb-page-hero-with-visual{gap:22px}
  .ikb-page-hero-copywrap .ikb-page-aside{margin-top:20px}
  .ikb-page-hero-visual-media,
  .ikb-page-hero-visual-placeholder,
  .ikb-page-hero-visual-frame{
    min-height:240px;
    border-radius:22px;
  }
  .ikb-page-hero-visual-caption{
    left:12px;
    right:12px;
    bottom:12px;
    min-height:auto;
    padding:9px 12px;
    font-size:10px;
    letter-spacing:.14em;
    justify-content:center;
    text-align:center;
  }
}

/* IKB Theme 1.7.1 – vorbefüllte Rubrikbilder */
.ikb-rubric-leistungen,
.ikb-rubric-projekte,
.ikb-rubric-ingenieursblick,
.ikb-rubric-kontakt{
  object-fit:contain!important;
  padding:18px;
  background:
    linear-gradient(rgba(67,88,101,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(67,88,101,.035) 1px,transparent 1px),
    #edf1f3;
  background-size:24px 24px,24px 24px,auto;
}
.ikb-rubric-erfahrung{
  object-fit:cover!important;
  object-position:center 24%!important;
}
@media(max-width:760px){
  .ikb-rubric-leistungen,
  .ikb-rubric-projekte,
  .ikb-rubric-ingenieursblick,
  .ikb-rubric-kontakt{padding:10px}
  .ikb-rubric-erfahrung{object-position:center 22%!important}
}


/* IKB Theme 1.7.2 – Hintergrundzeichnung */
body,
.site,
.site-main {
  background-color: #edf1f3;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.82), rgba(255,255,255,0.82)),
    url('../img/ikb-hintergrund-zeichnung.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
}

@media (max-width: 1024px) {
  body::before {
    background-image:
      linear-gradient(rgba(255,255,255,0.88), rgba(255,255,255,0.88)),
      url('../img/ikb-hintergrund-zeichnung.png');
  }
}

@media (max-width: 767px) {
  body::before {
    background-image:
      linear-gradient(rgba(255,255,255,0.91), rgba(255,255,255,0.91)),
      url('../img/ikb-hintergrund-zeichnung.png');
  }
}


/* IKB Theme 1.7.3 – sichtbare technische Hintergrundzeichnung */
html{
  background:#eef2f4;
}
body{
  background-color:#eef2f4!important;
  background-image:
    linear-gradient(rgba(238,242,244,.12),rgba(238,242,244,.12)),
    url('../img/ikb-hintergrund-zeichnung.png')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:cover!important;
  background-attachment:fixed!important;
}

/* alte zusätzliche Hintergrundebene deaktivieren – sie lag hinter dem Body */
body::before{
  display:none!important;
}

/* große Inhaltsbereiche leicht transparent, damit die Zeichnung als Wasserzeichen sichtbar bleibt */
.ikb-hero,
.ikb-page-hero,
.ikb-trust,
main,
.site,
.site-main{
  background-color:transparent!important;
}

.ikb-section.alt{
  background:
    linear-gradient(rgba(249,251,252,.78),rgba(249,251,252,.78))!important;
  border-top:1px solid rgba(31,37,42,.05);
  border-bottom:1px solid rgba(31,37,42,.05);
}

/* Karten bleiben bewusst ruhig und gut lesbar */
.ikb-card,
.ikb-service-row,
.ikb-contact-card,
.ikb-mail-form,
.ikb-profile-card,
.ikb-thought-card,
.ikb-project-facts,
.ikb-project-gallery-item{
  backdrop-filter:blur(1px);
}

@media(max-width:1024px){
  body{
    background-image:
      linear-gradient(rgba(238,242,244,.20),rgba(238,242,244,.20)),
      url('../img/ikb-hintergrund-zeichnung.png')!important;
    background-position:38% top!important;
  }
}

@media(max-width:767px){
  body{
    background-image:
      linear-gradient(rgba(238,242,244,.30),rgba(238,242,244,.30)),
      url('../img/ikb-hintergrund-zeichnung.png')!important;
    background-position:28% top!important;
    background-attachment:scroll!important;
  }
  .ikb-section.alt{
    background:linear-gradient(rgba(249,251,252,.84),rgba(249,251,252,.84))!important;
  }
}
