
:root{
  --bg:#f7f5f1;
  --paper:#ffffff;
  --paper-soft:#f3eee6;
  --ink:#171a1d;
  --muted:#4c5660;
  --line:#cfc6ba;
  --line-strong:#b8aea0;
  --accent:#161d24;
  --accent-soft:#e7dfd2;
  --shadow:0 10px 22px rgba(23,26,29,.08);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:14px/1.64 Helvetica,Arial,sans-serif;
  font-weight:400;
}
a{color:inherit}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 2rem));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line-strong);
}
.nav{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem 0;flex-wrap:wrap;
}



.menu{display:flex;gap:.8rem 1rem;flex-wrap:wrap;align-items:center}
.menu a{
  text-decoration:none;
  font-size:.86rem;
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
  padding:.2rem 0;
  border-bottom:2px solid transparent;
}
.menu a.active,.menu a:hover{border-color:var(--accent)}
.hero{
  padding:3.2rem 0 2rem;
  background:linear-gradient(to bottom,#fbfaf8 0%,#f7f5f1 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1.2rem;
  align-items:start;
}
.kicker{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:var(--muted);
  margin:0 0 .7rem;
  font-weight:600;
}
h1{
  margin:.05rem 0 .75rem;
  font-size:2.15rem;
  line-height:1.13;
  font-weight:500;
  letter-spacing:.01em;
}
h2{
  margin:0 0 .65rem;
  font-size:1.26rem;
  line-height:1.25;
  font-weight:500;
}
h3{
  margin:0 0 .35rem;
  font-size:.96rem;
  line-height:1.3;
  font-weight:600;
}
p{margin:.12rem 0 .8rem;max-width:74ch}
.lead{font-size:.98rem;color:#242b31}
.box,.card,.panel,.quote,.contact-card,.method-card,.timeline-card{
  background:var(--paper);
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.accent{
  background:var(--paper-soft);
}
.hero .box:first-child{border-left:4px solid var(--accent)}
.button-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;padding:.58rem .84rem;
  background:var(--accent);color:#fff;text-decoration:none;
  border:1px solid var(--accent);
  font-size:.86rem;font-weight:600;letter-spacing:.02em;
}
.button.secondary{
  background:#fff;color:var(--ink);border-color:#65707a;
}
.metric-grid,.card-grid,.team-grid,.method-grid,.faq-grid,.contact-grid,.footer-grid{
  display:grid;gap:1rem;
}
.metric-grid{grid-template-columns:repeat(4,1fr);margin-top:1.05rem}
.metric{background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:1rem}
.metric strong{display:block;font-size:1rem;font-weight:600;margin-bottom:.15rem}
.section{
  padding:1.4rem 0;
  border-top:1px solid #e4ddd2;
}
.section.alt{background:#fcfbf8}
.card-grid{grid-template-columns:repeat(3,1fr)}
.card{display:flex;flex-direction:column;gap:.45rem;height:100%}
.card p:last-child,.box p:last-child,.panel p:last-child,.contact-card p:last-child,.method-card p:last-child{margin-bottom:0}
.icon{
  width:58px;height:58px;border:1px solid var(--line-strong);background:var(--paper-soft);
  display:flex;align-items:center;justify-content:center;margin-bottom:.2rem;
}
.icon svg{width:34px;height:34px;stroke:var(--accent);stroke-width:1.5;fill:none}
.list,.checklist{margin:.15rem 0 0 1.1rem;padding:0}
.list li,.checklist li{margin:0 0 .45rem}
.checklist{list-style:none;margin-left:0}
.checklist li{padding-top:.45rem;border-top:1px solid var(--line)}
.checklist li:first-child{padding-top:0;border-top:none}
.split{
  display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;align-items:start;
}
.method-grid{grid-template-columns:repeat(2,1fr)}
.method-card{height:100%}
.quote{border-left:4px solid var(--accent)}
.term-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.term-item{background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:1rem}
.term-item p:last-child{margin-bottom:0}
.contact-grid{grid-template-columns:repeat(2,1fr)}
.contact-card .small{font-size:.8rem;color:var(--muted)}
.footer{
  margin-top:1.6rem;
  background:var(--accent);
  color:#eef3f8;
  padding:1.3rem 0 1.5rem;
  border-top:2px solid #0f1419;
}
.footer-grid{grid-template-columns:1.3fr .8fr .9fr}
.footer h3{color:#fff;font-size:1rem}
.footer p,.footer li{color:#dbe6ef;font-size:.88rem}
.footer a{color:#fff;text-decoration:none}
.small{font-size:.82rem;color:var(--muted)}
.note{font-size:.82rem;color:var(--muted)}
.anchor-nav{
  display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.8rem
}
.anchor-nav a{
  text-decoration:none;
  font-size:.82rem;
  border:1px solid #78838d;
  background:#fff;
  padding:.38rem .6rem;
}
.callout{
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.image-panel{
  background:var(--paper);
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.visual-stack{display:grid;gap:.8rem}
.visual-card{
  border:1px solid var(--line);
  background:#fff;
  padding:.8rem;
}
.visual-card svg{width:100%;height:auto}
.table-like{display:grid;gap:.55rem}
.table-row{display:grid;grid-template-columns:1.6rem minmax(0,1fr);column-gap:.45rem;padding:.5rem 0;border-top:1px solid var(--line)}
.table-row:first-child{border-top:none;padding-top:0}
.table-row strong{display:block}
@media (max-width:980px){
  .hero-grid,.split,.method-grid,.term-grid,.contact-grid,.footer-grid,.card-grid,.metric-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:13.5px}
  h1{font-size:1.86rem}
  h2{font-size:1.16rem}
  .brand-title{font-size:1.26rem}
  .brand-sub{font-size:.8rem}
  .menu a{font-size:.8rem}
}


/* v2 refinements */
.hero .box:first-child{border-left:5px solid var(--accent)}
.section-intro{max-width:72ch}
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.focus-card{background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:1rem}
.focus-card h3{margin-bottom:.28rem}
.notice-strip{background:var(--paper-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.7rem 0}
.notice-strip p{margin:0;max-width:none;font-size:.88rem;color:#33404a}
@media (max-width:980px){.focus-grid{grid-template-columns:1fr}}


/* Team card line-up refinement */
.contact-card p + p{
  margin-top:.28rem;
}
.contact-card h2 + p{
  margin-top:.18rem;
}


/* Exact spacing alignment for team cards */
.contact-card .team-role{
  margin: .14rem 0 .22rem !important;
}
.contact-card .team-focusline{
  margin: 0 0 .5rem !important;
}


/* Grundlagenblock */
.ref-block{
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.ref-list{
  list-style:none;
  margin:.2rem 0 0;
  padding:0;
  display:grid;
  gap:.6rem;
}
.ref-list li{
  padding-top:.5rem;
  border-top:1px solid var(--line);
}
.ref-list li:first-child{
  padding-top:0;
  border-top:none;
}
.ref-list .ref-type{
  display:block;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:.15rem;
}


/* Search strip under header */
.search-strip{
  padding:.68rem 0;
  background:#ece5da;
  border-top:1px solid #d9cec0;
  border-bottom:1px solid #cfc3b4;
}
.search-strip .search-inner{
  display:flex;
  gap:.8rem;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.search-strip p{
  margin:0;
  max-width:none;
  color:#3f4952;
  font-size:.86rem;
}
.search-form{
  display:flex;
  gap:.5rem;
  align-items:center;
  flex-wrap:wrap;
}
.search-form input[type="search"]{
  min-width:300px;
  padding:.62rem .8rem;
  border:1px solid #a9a093;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.search-form button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.58rem .84rem;
  border:1px solid #161d24;
  background:#161d24;
  color:#fff;
  font:inherit;
  font-size:.86rem;
  font-weight:600;
  cursor:pointer;
}
.search-results{display:grid;gap:.8rem;margin-top:1rem}
.result-card{
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.result-card h2{margin:0 0 .28rem;font-size:1.04rem}
.result-card p{margin:0 0 .38rem}
.result-card .small{margin:0}
@media (max-width:640px){
  .search-form input[type="search"]{min-width:100%}
}


/* Anfrageorientierte Blöcke */
.request-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:1rem;align-items:start}
.request-box,.audience-box{background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:1rem}
.request-steps{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.55rem}
.request-steps li{display:grid;grid-template-columns:1.5rem 1fr;gap:.5rem;align-items:start;padding-top:.48rem;border-top:1px solid var(--line)}
.request-steps li:first-child{padding-top:0;border-top:none}
.request-steps strong{display:block}
@media (max-width:980px){.request-grid{grid-template-columns:1fr}}


/* Header monogram and calmer wordmark */
.brand{
  display:flex;
  align-items:center;
  gap:.85rem;
  text-decoration:none;
  color:inherit;
}
.brand-mark{
  width:40px;
  height:40px;
  border:1px solid var(--line-strong);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--accent);
  font-size:.88rem;
  font-weight:600;
  letter-spacing:.08em;
  flex:0 0 auto;
}
.brand-text{
  display:grid;
  gap:.18rem;
}
.brand-title{
  font-size:1.24rem;
  font-weight:500;
  letter-spacing:.018em;
  line-height:1.05;
}
.brand-sub{
  font-size:.78rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.05;
}
@media (max-width:640px){
  .brand{gap:.65rem}
  .brand-mark{width:34px;height:34px;font-size:.78rem}
  .brand-title{font-size:1.06rem}
  .brand-sub{font-size:.72rem}
}

/* v25 integrated search in header */
.nav{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem;
  padding:.9rem 0;
}
.brand-mark{
  width:46px;
  height:46px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  background:var(--paper-soft);
  position:relative;
  overflow:hidden;
}
.brand-mark::before,
.brand-mark::after{
  content:"";
  position:absolute;
  top:9px;
  bottom:9px;
  width:10px;
  border:1.2px solid var(--accent);
  border-radius:10px 10px 12px 12px;
}
.brand-mark::before{left:9px}
.brand-mark::after{right:9px}
.brand-mark span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  background:var(--paper-soft);
  padding:0 .1rem;
}
.brand-title{
  font-size:1.46rem;
  font-weight:500;
  letter-spacing:.012em;
  line-height:1.02;
}
.brand-sub{
  font-size:.81rem;
  letter-spacing:.09em;
}
.header-search{
  justify-self:end;
}
.header-search .search-form{
  display:flex;
  gap:.45rem;
  align-items:center;
  flex-wrap:nowrap;
}
.header-search .search-form input[type="search"]{
  min-width:250px;
  padding:.58rem .75rem;
  border:1px solid #a9a093;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.header-search .search-form button{
  min-height:37px;
  padding:.56rem .82rem;
  border:1px solid #161d24;
  background:#161d24;
  color:#fff;
  font:inherit;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
}
.menu{
  display:flex;
  gap:.8rem 1rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}
.notice-strip,
.search-strip{
  display:none !important;
}
@media (max-width:1100px){
  .nav{
    grid-template-columns:auto 1fr;
  }
  .header-search{
    grid-column:1 / -1;
    justify-self:start;
  }
}
@media (max-width:640px){
  .brand-title{font-size:1.18rem}
  .brand-sub{font-size:.74rem}
  .brand-mark{width:40px;height:40px}
  .header-search .search-form input[type="search"]{min-width:100%}
  .header-search{width:100%}
  .header-search .search-form{width:100%;flex-wrap:wrap}
}

/* v26 split header rows */
.site-header{
  background:rgba(255,255,255,.98);
}
.nav{
  display:grid !important;
  grid-template-columns: 1fr auto !important;
  align-items:center !important;
  gap:1rem !important;
  padding:.92rem 0 .8rem !important;
}
.menu{
  display:flex !important;
  gap:.8rem 1rem !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
}
.header-search{
  justify-self:end !important;
}
.header-nav-row{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line-strong);
  background:var(--paper-soft);
}
.header-nav-row .container{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.header-nav-row .menu{
  padding:.62rem 0;
}
.header-nav-row .menu a{
  font-size:.82rem;
}
@media (max-width:980px){
  .nav{
    grid-template-columns:1fr !important;
  }
  .header-search{
    justify-self:start !important;
    width:100%;
  }
  .header-search .search-form{
    width:100%;
  }
  .header-search .search-form input[type="search"]{
    min-width:0;
    flex:1 1 auto;
  }
}
@media (max-width:640px){
  .header-nav-row .menu{
    gap:.6rem .9rem !important;
  }
}

/* v27 logo refinement */
.brand-mark{
  width:52px !important;
  height:52px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  position:relative !important;
  overflow:hidden !important;
}
.brand-mark::before,
.brand-mark::after{
  content:"" !important;
  position:absolute !important;
  top:9px !important;
  bottom:9px !important;
  width:12px !important;
  border:1.5px solid var(--accent) !important;
  border-radius:10px 10px 14px 14px !important;
}
.brand-mark::before{left:8px !important}
.brand-mark::after{right:8px !important}
.brand-mark span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
  background:transparent !important;
  padding:0 !important;
  z-index:3 !important;
  color:var(--accent) !important;
}
/* horizontal bar that visually ties H and L into the two forms */
.brand-mark .monoline{
  position:absolute;
  left:11px;
  right:11px;
  top:50%;
  height:1.5px;
  background:var(--accent);
  transform:translateY(-50%);
  z-index:1;
}
.brand-title{
  font-size:1.6rem !important;
  font-weight:500 !important;
  letter-spacing:.012em !important;
}
.brand-sub{
  font-size:.84rem !important;
  letter-spacing:.1em !important;
}
@media (max-width:640px){
  .brand-mark{width:44px !important;height:44px !important}
  .brand-mark::before,.brand-mark::after{top:8px !important;bottom:8px !important;width:10px !important}
  .brand-mark::before{left:7px !important}
  .brand-mark::after{right:7px !important}
  .brand-mark .monoline{left:10px;right:10px}
  .brand-title{font-size:1.22rem !important}
  .brand-sub{font-size:.74rem !important}
}

/* v28 top contact strip + stronger logo integration */
.top-strip{
  background:var(--paper-soft);
  border-bottom:1px solid var(--line-strong);
}
.top-strip .container{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:1rem;
  padding:.42rem 0;
  flex-wrap:wrap;
}
.top-strip a{
  text-decoration:none;
  font-size:.8rem;
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:.38rem;
}
.top-strip svg{
  width:14px;
  height:14px;
  stroke:var(--accent);
  stroke-width:1.8;
  fill:none;
  flex:0 0 auto;
}
.brand-mark{
  width:56px !important;
  height:56px !important;
}
.brand-mark::before,
.brand-mark::after{
  top:8px !important;
  bottom:8px !important;
  width:13px !important;
  border-width:1.6px !important;
}
.brand-mark::before{left:8px !important}
.brand-mark::after{right:8px !important}
.brand-mark .monoline{
  left:10px;
  right:10px;
  height:1.8px;
  z-index:1;
}
.brand-mark span:not(.monoline){
  font-size:.9rem !important;
  letter-spacing:.12em !important;
  z-index:3 !important;
}
.brand-title{
  font-size:1.72rem !important;
}
.header-nav-row{
  background:var(--paper-soft) !important;
}
@media (max-width:640px){
  .top-strip .container{
    justify-content:flex-start;
    gap:.65rem 1rem;
    padding:.38rem 0;
  }
  .top-strip a{
    font-size:.75rem;
  }
  .brand-mark{
    width:48px !important;
    height:48px !important;
  }
  .brand-title{
    font-size:1.28rem !important;
  }
}

/* v29 logo redesign: letters grow out of the two rounded forms */
.brand-mark{
  width:58px !important;
  height:58px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  position:relative !important;
  overflow:hidden !important;
}
.brand-mark::before,
.brand-mark::after{
  content:"" !important;
  position:absolute !important;
  top:8px !important;
  bottom:8px !important;
  width:14px !important;
  border:1.6px solid var(--accent) !important;
  border-radius:11px 11px 15px 15px !important;
}
.brand-mark::before{left:8px !important}
.brand-mark::after{right:8px !important}

/* remove old centered text look */
.brand-mark .monoline{
  display:none !important;
}
.brand-mark .hl-text{
  position:absolute;
  inset:0;
  z-index:3;
}
.brand-mark .hl-left,
.brand-mark .hl-right{
  position:absolute;
  top:10px;
  bottom:10px;
  width:18px;
}
.brand-mark .hl-left{left:8px}
.brand-mark .hl-right{right:8px}

/* H emerges from left rounded form */
.brand-mark .hl-left .v1,
.brand-mark .hl-left .v2,
.brand-mark .hl-right .v{
  position:absolute;
  top:1px;
  bottom:1px;
  width:1.8px;
  background:var(--accent);
}
.brand-mark .hl-left .v1{left:2px}
.brand-mark .hl-left .v2{right:2px}
.brand-mark .hl-left .h{
  position:absolute;
  left:2px;
  right:2px;
  top:50%;
  height:1.8px;
  margin-top:-0.9px;
  background:var(--accent);
}

/* L emerges from right rounded form */
.brand-mark .hl-right .v{left:2px}
.brand-mark .hl-right .h{
  position:absolute;
  left:2px;
  right:2px;
  bottom:1px;
  height:1.8px;
  background:var(--accent);
}

.brand-title{
  font-size:1.8rem !important;
  font-weight:500 !important;
  letter-spacing:.012em !important;
}

@media (max-width:640px){
  .brand-mark{
    width:50px !important;
    height:50px !important;
  }
  .brand-mark::before,
  .brand-mark::after{
    top:7px !important;
    bottom:7px !important;
    width:12px !important;
  }
  .brand-mark::before{left:7px !important}
  .brand-mark::after{right:7px !important}
  .brand-mark .hl-left,
  .brand-mark .hl-right{
    top:9px;
    bottom:9px;
    width:16px;
  }
  .brand-mark .hl-left{left:7px}
  .brand-mark .hl-right{right:7px}
  .brand-title{
    font-size:1.34rem !important;
  }
}

/* v30 fix: ensure HL strokes render visibly inside logo */
.brand-mark .hl-text,
.brand-mark .hl-left,
.brand-mark .hl-right{
  display:block !important;
}
.brand-mark .hl-left .v1,
.brand-mark .hl-left .v2,
.brand-mark .hl-left .h,
.brand-mark .hl-right .v,
.brand-mark .hl-right .h{
  display:block !important;
  position:absolute !important;
  background:var(--accent) !important;
  z-index:4 !important;
}

/* v31 final logo: inline SVG for reliable rendering */
.brand-mark{
  width:58px !important;
  height:58px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
.brand-mark svg{
  width:48px;
  height:48px;
  display:block;
}
.brand-title{
  font-size:1.8rem !important;
  font-weight:500 !important;
  letter-spacing:.012em !important;
}
@media (max-width:640px){
  .brand-mark{
    width:50px !important;
    height:50px !important;
  }
  .brand-mark svg{
    width:40px;
    height:40px;
  }
  .brand-title{
    font-size:1.34rem !important;
  }
}

/* v32 logo cleanup: no extra outer brackets, calmer HL alignment */
.brand-mark{
  width:58px !important;
  height:58px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
.brand-mark svg{
  width:46px !important;
  height:46px !important;
  display:block !important;
  color:var(--accent) !important;
}
@media (max-width:640px){
  .brand-mark{
    width:50px !important;
    height:50px !important;
  }
  .brand-mark svg{
    width:40px !important;
    height:40px !important;
  }
}

/* v33 logo rethink: no bracket lines, broader HL over two comparison panels */
.brand-mark{
  width:58px !important;
  height:58px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.brand-mark svg{
  width:50px !important;
  height:50px !important;
  display:block !important;
}
.brand-title{
  font-size:1.82rem !important;
}
@media (max-width:640px){
  .brand-mark{
    width:50px !important;
    height:50px !important;
  }
  .brand-mark svg{
    width:42px !important;
    height:42px !important;
  }
  .brand-title{
    font-size:1.36rem !important;
  }
}

/* v34 logo harmony refinement */
.brand-mark{
  width:60px !important;
  height:60px !important;
}
.brand-mark svg{
  width:54px !important;
  height:54px !important;
}
.brand-title{
  font-size:1.86rem !important;
}
@media (max-width:640px){
  .brand-mark{
    width:52px !important;
    height:52px !important;
  }
  .brand-mark svg{
    width:46px !important;
    height:46px !important;
  }
  .brand-title{
    font-size:1.38rem !important;
  }
}

/* v35 final logo tuning */
.brand-mark{
  width:60px !important;
  height:60px !important;
}
.brand-mark svg{
  width:56px !important;
  height:56px !important;
  display:block !important;
}
@media (max-width:640px){
  .brand-mark{
    width:52px !important;
    height:52px !important;
  }
  .brand-mark svg{
    width:48px !important;
    height:48px !important;
  }
}

/* v37 center subline under both names */
.brand-text{
  display:grid;
  gap:.18rem;
}
.brand-sub{
  text-align:center !important;
  justify-self:center;
  width:100%;
}


/* v42 Endcheck-Fix: reduziertes Zeichen ohne Altlasten */
.brand-mark{
  width:60px !important;
  height:60px !important;
  border:1px solid var(--line-strong) !important;
  border-radius:12px !important;
  background:var(--paper-soft) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  flex:0 0 auto !important;
}
.brand-mark svg{
  width:56px !important;
  height:56px !important;
  display:block !important;
}
.brand-title{
  font-size:1.86rem !important;
}
@media (max-width:640px){
  .brand-mark{
    width:52px !important;
    height:52px !important;
  }
  .brand-mark svg{
    width:48px !important;
    height:48px !important;
  }
  .brand-title{
    font-size:1.38rem !important;
  }
}

/* v47 schematic visuals */
.schematic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.schematic-card{
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:1rem;
}
.schematic-card svg{
  width:100%;
  height:auto;
  display:block;
  margin-top:.25rem;
}
.schematic-note{
  font-size:.82rem;
  color:var(--muted);
  margin-top:.45rem;
}
@media (max-width:980px){
  .schematic-grid{grid-template-columns:1fr;}
}


/* v58 mobile navigation and wrap safety */
.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid var(--line-strong);
  background:#fff;
  color:var(--accent);
  cursor:pointer;
  border-radius:10px;
  padding:0;
  position:relative;
}
.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after{
  content:"";
  display:block;
  width:18px;
  height:1.8px;
  background:currentColor;
  border-radius:2px;
  position:absolute;
}
.menu-toggle::before{transform:translateY(-6px);}
.menu-toggle::after{transform:translateY(6px);}

.header-nav-row .container{
  position:relative;
}

@media (max-width: 900px){
  .nav{
    grid-template-columns:1fr auto !important;
    gap:.8rem !important;
  }
  .header-search{
    grid-column:1 / -1;
    width:100%;
  }
  .header-search .search-form{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.5rem;
  }
  .header-search .search-form input[type="search"]{
    min-width:0 !important;
    width:100%;
  }

  .menu-toggle{
    display:inline-flex;
  }
  .header-nav-row .container{
    justify-content:flex-end;
    min-height:54px;
  }
  .header-nav-row .menu{
    display:none !important;
    position:absolute;
    right:0;
    top:100%;
    z-index:40;
    width:min(320px, calc(100vw - 2rem));
    background:#fff;
    border:1px solid var(--line-strong);
    box-shadow:var(--shadow);
    padding:.6rem .8rem;
    flex-direction:column;
    align-items:flex-start !important;
    gap:.15rem !important;
  }
  .header-nav-row .menu.is-open{
    display:flex !important;
  }
  .header-nav-row .menu a{
    width:100%;
    padding:.5rem 0;
    font-size:.9rem;
    border-bottom:1px solid var(--line);
  }
  .header-nav-row .menu a:last-child{
    border-bottom:none;
  }

  .hero-grid,
  .split,
  .metric-grid,
  .card-grid,
  .contact-grid,
  .method-grid,
  .term-grid,
  .footer-grid,
  .focus-grid,
  .request-grid,
  .schematic-grid{
    grid-template-columns:1fr !important;
  }
  .container{
    width:min(var(--max), calc(100% - 1.1rem)) !important;
  }
  .brand-title{
    font-size:1.28rem !important;
    line-height:1.05;
  }
  .brand-sub{
    font-size:.74rem !important;
  }
  h1{
    font-size:1.8rem !important;
    line-height:1.12 !important;
  }
  h2{
    font-size:1.12rem !important;
  }
  p, li, .lead{
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .box, .card, .panel, .quote, .contact-card, .method-card, .timeline-card, .request-box, .audience-box, .schematic-card, .ref-block{
    min-width:0;
    overflow:hidden;
  }
  .button-row{
    flex-direction:column;
    align-items:stretch;
  }
  .button{
    width:100%;
  }
  .top-strip .container{
    justify-content:flex-start !important;
  }
}

@media (max-width: 520px){
  .brand{
    gap:.6rem !important;
  }
  .brand-mark{
    width:46px !important;
    height:46px !important;
  }
  .brand-mark svg{
    width:42px !important;
    height:42px !important;
  }
  .nav{
    padding:.75rem 0 !important;
  }
  .header-nav-row .container{
    min-height:50px;
  }
  .header-search .search-form{
    grid-template-columns:1fr;
  }
  .header-search .search-form button{
    width:100%;
  }
}

/* v59 compact mobile search */
@media (max-width: 900px){
  .header-search .search-form{
    grid-template-columns:auto auto !important;
    justify-content:end;
    width:auto !important;
  }
  .header-search .search-form input[type="search"]{
    width:140px !important;
    min-width:140px !important;
    padding:.52rem .65rem !important;
    font-size:.88rem !important;
  }
  .header-search .search-form button{
    width:38px;
    min-width:38px;
    padding:0 !important;
    font-size:0 !important;
    position:relative;
  }
  .header-search .search-form button::before{
    content:"";
    width:13px;
    height:13px;
    border:1.8px solid #fff;
    border-radius:50%;
    position:absolute;
    left:10px;
    top:9px;
    box-sizing:border-box;
  }
  .header-search .search-form button::after{
    content:"";
    width:7px;
    height:1.8px;
    background:#fff;
    position:absolute;
    left:21px;
    top:22px;
    transform:rotate(45deg);
    border-radius:2px;
  }
}

@media (max-width: 520px){
  .nav{
    grid-template-columns:1fr auto !important;
    align-items:start !important;
  }
  .header-search{
    grid-column:auto !important;
    width:auto !important;
    justify-self:end !important;
    margin-top:.1rem;
  }
  .header-search .search-form{
    grid-template-columns:auto auto !important;
    width:auto !important;
  }
  .header-search .search-form input[type="search"]{
    width:108px !important;
    min-width:108px !important;
    padding:.46rem .58rem !important;
    font-size:.82rem !important;
  }
  .header-search .search-form button{
    width:34px;
    min-width:34px;
    min-height:34px !important;
  }
  .header-search .search-form button::before{
    width:11px;
    height:11px;
    left:9px;
    top:8px;
  }
  .header-search .search-form button::after{
    width:6px;
    left:19px;
    top:19px;
  }
}

/* v60 move search into beige nav strip on mobile */
.header-nav-row .container{
  gap:.75rem;
}
.header-nav-row .header-search{
  margin-left:auto;
}
@media (min-width: 901px){
  .header-nav-row .header-search{
    display:none;
  }
}
@media (max-width: 900px){
  .nav{
    grid-template-columns:1fr !important;
  }
  .header-nav-row .container{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    align-items:center !important;
    justify-content:end !important;
  }
  .header-nav-row .header-search{
    display:block;
    width:auto !important;
    grid-column:2;
    justify-self:end;
    margin-left:0;
  }
  .header-nav-row .menu-toggle{
    grid-column:3;
    justify-self:end;
  }
  .header-nav-row .menu{
    top:calc(100% + 4px);
  }
}
@media (max-width: 520px){
  .brand-title{
    white-space:nowrap;
    font-size:1.24rem !important;
  }
  .header-nav-row .container{
    grid-template-columns:auto auto !important;
    justify-content:end !important;
  }
  .header-nav-row .header-search{
    grid-column:1;
    justify-self:end;
  }
  .header-nav-row .menu-toggle{
    grid-column:2;
  }
}

/* v61 global mobile wrap safety across all subpages */
html, body{
  overflow-x:hidden;
}
h1, h2, h3,
.brand-title,
.brand-sub,
.kicker,
.lead,
.metric strong,
.ref-type,
.small,
.note,
.button,
.menu a,
.top-strip a,
.contact-card p,
.method-card p,
.card p,
.panel p,
.box p,
.quote p,
.term-item p,
.schematic-note,
.table-row div,
.table-row strong,
.ref-list li,
.checklist li{
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}

.contact-card,
.card,
.box,
.panel,
.quote,
.method-card,
.term-item,
.schematic-card,
.ref-block,
.request-box,
.audience-box,
.metric,
.visual-card{
  min-width:0;
}

.contact-card p,
.card p,
.box p,
.panel p,
.quote p,
.method-card p,
.term-item p,
.ref-list li,
.checklist li{
  max-width:100%;
}

.table-like,
.table-row{
  min-width:0;
}
.table-row{
  align-items:start;
}
.table-row div{
  min-width:0;
}

.ref-list li,
.checklist li{
  line-height:1.55;
}

@media (max-width: 900px){
  .hero,
  .section{
    overflow-x:hidden;
  }
  .metric-grid,
  .card-grid,
  .contact-grid,
  .method-grid,
  .term-grid,
  .footer-grid,
  .focus-grid,
  .request-grid,
  .schematic-grid{
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }
  .box, .card, .panel, .quote, .contact-card, .method-card, .term-item, .schematic-card, .ref-block, .request-box, .audience-box{
    padding:.9rem !important;
  }
  .table-row{
    grid-template-columns:1.35rem minmax(0,1fr) !important;
    column-gap:.45rem !important;
  }
}

@media (max-width: 640px){
  .container{
    width:min(var(--max), calc(100% - .9rem)) !important;
  }
  h1{
    font-size:1.62rem !important;
    line-height:1.14 !important;
  }
  h2{
    font-size:1.04rem !important;
    line-height:1.24 !important;
  }
  h3{
    font-size:.93rem !important;
    line-height:1.28 !important;
  }
  .lead{
    font-size:.94rem !important;
  }
  .button-row{
    gap:.5rem !important;
  }
  .contact-card p,
  .card p,
  .box p,
  .panel p,
  .quote p,
  .method-card p,
  .term-item p,
  .ref-list li,
  .checklist li{
    font-size:.92rem;
    line-height:1.55;
  }
  .ref-list{
    gap:.45rem !important;
  }
  .header-nav-row .menu{
    width:min(300px, calc(100vw - 1rem)) !important;
  }
}

@media (max-width: 420px){
  .brand-title{
    font-size:1.14rem !important;
  }
  .brand-sub{
    font-size:.7rem !important;
  }
  h1{
    font-size:1.5rem !important;
  }
  .box, .card, .panel, .quote, .contact-card, .method-card, .term-item, .schematic-card, .ref-block, .request-box, .audience-box{
    padding:.82rem !important;
  }
  .table-row{
    grid-template-columns:1.2rem minmax(0,1fr) !important;
  }
}

/* v62 restore desktop search visibility */
@media (min-width: 901px){
  .nav{
    grid-template-columns:1fr auto !important;
    align-items:center !important;
  }
  .header-search{
    display:block !important;
    width:auto !important;
    justify-self:end !important;
    grid-column:auto !important;
    margin-top:0 !important;
  }
  .header-search .search-form{
    display:flex !important;
    width:auto !important;
    grid-template-columns:none !important;
    gap:.45rem !important;
    align-items:center !important;
  }
  .header-search .search-form input[type="search"]{
    width:240px !important;
    min-width:240px !important;
    padding:.58rem .75rem !important;
    font-size:.9rem !important;
  }
  .header-search .search-form button{
    width:auto !important;
    min-width:0 !important;
    min-height:37px !important;
    padding:.56rem .82rem !important;
    font-size:.85rem !important;
    position:static !important;
  }
  .header-search .search-form button::before,
  .header-search .search-form button::after{
    content:none !important;
  }

  .header-nav-row .header-search{
    display:none !important;
  }
  .header-nav-row .menu-toggle{
    display:none !important;
  }
  .header-nav-row .container{
    display:flex !important;
    justify-content:flex-start !important;
    min-height:unset !important;
  }
  .header-nav-row .menu{
    display:flex !important;
    position:static !important;
    width:auto !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:.62rem 0 !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:.8rem 1rem !important;
  }
  .header-nav-row .menu a{
    width:auto !important;
    padding:.2rem 0 !important;
    border-bottom:2px solid transparent !important;
    font-size:.82rem !important;
  }
}

@media (max-width: 900px){
  .nav > .header-search{
    display:none !important;
  }
}

/* v63 actual desktop/mobile search separation */
@media (min-width: 901px){
  .nav{
    grid-template-columns:1fr auto !important;
    align-items:center !important;
  }
  .header-search-top{
    display:block !important;
    width:auto !important;
    justify-self:end !important;
  }
  .header-search-top .search-form{
    display:flex !important;
    width:auto !important;
    gap:.45rem !important;
    align-items:center !important;
  }
  .header-search-top .search-form input[type="search"]{
    width:240px !important;
    min-width:240px !important;
    padding:.58rem .75rem !important;
    font-size:.9rem !important;
  }
  .header-search-top .search-form button{
    width:auto !important;
    min-width:0 !important;
    min-height:37px !important;
    padding:.56rem .82rem !important;
    font-size:.85rem !important;
    position:static !important;
  }
  .header-search-top .search-form button::before,
  .header-search-top .search-form button::after{
    content:none !important;
  }
  .header-search-mobile{
    display:none !important;
  }
  .menu-toggle{
    display:none !important;
  }
  .header-nav-row .container{
    display:flex !important;
    justify-content:flex-start !important;
    min-height:unset !important;
  }
  .header-nav-row .menu{
    display:flex !important;
    position:static !important;
    width:auto !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:.62rem 0 !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:.8rem 1rem !important;
  }
  .header-nav-row .menu a{
    width:auto !important;
    padding:.2rem 0 !important;
    border-bottom:2px solid transparent !important;
    font-size:.82rem !important;
  }
}
@media (max-width: 900px){
  .header-search-top{
    display:none !important;
  }
  .header-search-mobile{
    display:block !important;
  }
}

/* v64 mobile search as top-strip icon */
@media (min-width: 901px){
  .header-search-mobile-top{
    display:none !important;
  }
}

@media (max-width: 900px){
  .header-search-mobile-top{
    display:block !important;
    width:auto !important;
  }
  .header-search-mobile-top .search-form{
    display:flex !important;
    width:auto !important;
    gap:0 !important;
    align-items:center !important;
  }
  .header-search-mobile-top .search-form input[type="search"]{
    display:none !important;
  }
  .header-search-mobile-top .search-form button{
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    font-size:0 !important;
    position:relative !important;
    cursor:pointer;
  }
  .header-search-mobile-top .search-form button::before{
    content:"";
    width:11px;
    height:11px;
    border:1.8px solid var(--accent);
    border-radius:50%;
    position:absolute;
    left:6px;
    top:5px;
    box-sizing:border-box;
  }
  .header-search-mobile-top .search-form button::after{
    content:"";
    width:6px;
    height:1.8px;
    background:var(--accent);
    position:absolute;
    left:16px;
    top:17px;
    transform:rotate(45deg);
    border-radius:2px;
  }

  .top-strip .container{
    justify-content:flex-end !important;
    gap:.85rem !important;
  }
  .top-strip a{
    font-size:.76rem;
  }

  .header-nav-row .header-search-mobile{
    display:none !important;
  }
  .header-nav-row .container{
    grid-template-columns:auto !important;
    justify-content:end !important;
  }
  .header-nav-row .menu-toggle{
    grid-column:auto !important;
    justify-self:end !important;
  }
}

@media (max-width: 520px){
  .top-strip .container{
    gap:.65rem !important;
    padding:.34rem 0 !important;
  }
  .header-search-mobile-top .search-form button{
    width:26px !important;
    min-width:26px !important;
    height:26px !important;
    min-height:26px !important;
  }
  .header-search-mobile-top .search-form button::before{
    width:10px;
    height:10px;
    left:5px;
    top:4px;
  }
  .header-search-mobile-top .search-form button::after{
    width:6px;
    left:14px;
    top:15px;
  }
}

/* v65 ensure mobile top search icon is visible */
@media (max-width: 900px){
  .header-search-mobile-top{
    display:inline-block !important;
    width:auto !important;
    flex:0 0 auto !important;
  }
  .top-strip .container{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:.85rem !important;
    flex-wrap:wrap !important;
  }
  .header-search-mobile-top .search-form{
    display:flex !important;
    align-items:center !important;
    width:auto !important;
  }
  .header-search-mobile-top .search-form button{
    display:inline-block !important;
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* v66 restore sticky behavior reliably */
.top-strip{
  position:sticky;
  top:0;
  z-index:70;
}
.site-header{
  position:sticky !important;
  top:31px !important;
  z-index:65 !important;
}
body{
  overflow-x:hidden;
}
@media (max-width: 900px){
  .site-header{
    top:33px !important;
  }
}
@media (max-width: 520px){
  .site-header{
    top:29px !important;
  }
}

/* v66 mobile top search icon expands into usable field */
@media (max-width: 900px){
  .header-search-mobile-top{
    display:inline-block !important;
    width:auto !important;
    flex:0 0 auto !important;
  }
  .header-search-mobile-top .search-form{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:.35rem !important;
    width:auto !important;
  }
  .header-search-mobile-top .search-form input[type="search"]{
    display:block !important;
    width:0 !important;
    min-width:0 !important;
    max-width:0 !important;
    opacity:0 !important;
    pointer-events:none !important;
    padding:.42rem 0 !important;
    border:1px solid transparent !important;
    background:#fff !important;
    transition:max-width .18s ease, opacity .18s ease, padding .18s ease, border-color .18s ease;
  }
  .header-search-mobile-top .search-form.is-open input[type="search"]{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    opacity:1 !important;
    pointer-events:auto !important;
    padding:.42rem .58rem !important;
    border-color:#a9a093 !important;
  }
  .header-search-mobile-top .search-form button{
    display:inline-block !important;
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    opacity:1 !important;
    visibility:visible !important;
    border:none !important;
    background:transparent !important;
    font-size:0 !important;
    position:relative !important;
    cursor:pointer;
    padding:0 !important;
  }
  .header-search-mobile-top .search-form button::before{
    content:"";
    width:11px;
    height:11px;
    border:1.8px solid var(--accent);
    border-radius:50%;
    position:absolute;
    left:6px;
    top:5px;
    box-sizing:border-box;
  }
  .header-search-mobile-top .search-form button::after{
    content:"";
    width:6px;
    height:1.8px;
    background:var(--accent);
    position:absolute;
    left:16px;
    top:17px;
    transform:rotate(45deg);
    border-radius:2px;
  }
}

/* v67 robust fixed header stack */
:root{
  --top-strip-h: 34px;
  --site-header-h: 116px;
}
.top-strip{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:1000 !important;
}
.site-header{
  position:fixed !important;
  top:var(--top-strip-h) !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:995 !important;
}
body{
  padding-top: calc(var(--top-strip-h) + var(--site-header-h));
  overflow-x:hidden;
}
main{
  position:relative;
  z-index:1;
}
@media (max-width: 900px){
  :root{
    --top-strip-h: 34px;
    --site-header-h: 108px;
  }
}
@media (max-width: 520px){
  :root{
    --top-strip-h: 30px;
    --site-header-h: 100px;
  }
}

/* v68 mobile search popup */
body.search-popup-open{
  overflow:hidden;
}
.search-popup{
  display:none;
}
.search-popup.is-open{
  display:block;
}
.search-popup{
  position:fixed;
  inset:0;
  z-index:1400;
}
.search-popup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(23,26,29,.38);
}
.search-popup-panel{
  position:absolute;
  left:50%;
  top:72px;
  transform:translateX(-50%);
  width:min(92vw, 420px);
  background:#fff;
  border:1px solid var(--line-strong);
  box-shadow:var(--shadow);
  padding:.8rem;
}
.search-popup-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.55rem;
}
.search-popup-form input[type="search"]{
  min-width:0;
  width:100%;
  padding:.62rem .75rem;
  border:1px solid #a9a093;
  font:inherit;
  background:#fff;
  color:var(--ink);
}
.search-popup-form button{
  min-height:39px;
  padding:.58rem .85rem;
  border:1px solid #161d24;
  background:#161d24;
  color:#fff;
  font:inherit;
  font-size:.86rem;
  font-weight:600;
  cursor:pointer;
}
@media (min-width: 901px){
  .search-popup{
    display:none !important;
  }
  .header-search-mobile-top{
    display:none !important;
  }
}
@media (max-width: 900px){
  .header-search-mobile-top{
    display:inline-block !important;
    width:auto !important;
    flex:0 0 auto !important;
  }
  .header-search-mobile-top .search-form{
    display:flex !important;
    width:auto !important;
  }
  .header-search-mobile-top .search-form button{
    display:inline-block !important;
    width:28px !important;
    min-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    border:none !important;
    background:transparent !important;
    font-size:0 !important;
    position:relative !important;
    padding:0 !important;
    cursor:pointer;
  }
  .header-search-mobile-top .search-form button::before{
    content:"";
    width:11px;
    height:11px;
    border:1.8px solid var(--accent);
    border-radius:50%;
    position:absolute;
    left:6px;
    top:5px;
    box-sizing:border-box;
  }
  .header-search-mobile-top .search-form button::after{
    content:"";
    width:6px;
    height:1.8px;
    background:var(--accent);
    position:absolute;
    left:16px;
    top:17px;
    transform:rotate(45deg);
    border-radius:2px;
  }
  .top-strip .container{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:.85rem !important;
    flex-wrap:wrap !important;
  }
}
@media (max-width: 520px){
  .search-popup-panel{
    top:62px;
    width:min(94vw, 380px);
    padding:.7rem;
  }
  .search-popup-form{
    grid-template-columns:1fr;
  }
  .search-popup-form button{
    width:100%;
  }
}
