:root{
  --paper:#f8f7f4;--warm:#eee8de;--warm2:#eae6df;--ink:#222;--muted:#555;--soft:#777;--line:#ded8cf;--line2:#e8e1d8;--green:#6f7d75;--greenDark:#4b5c55;--gold:#b69a63;--helvimoInk:#1f2d26;--helvimoPaper:#f8f5ef;--helvimoWarm:#f3eee6;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{max-width:1152px;margin:0 auto;padding:0 24px}.container-narrow{max-width:980px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section-sm{padding:72px 0}.bg-white{background:white}.bg-paper{background:var(--paper)}.bg-warm{background:var(--warm)}.border-y{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}.border-t{border-top:1px solid var(--line)}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#7a6f5f;margin:0 0 20px}.eyebrow.green{color:#8d867b}.h1,.h2,.h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0}.h1{font-size:clamp(44px,6.5vw,76px)}.h2{font-size:clamp(34px,4.5vw,54px)}.h3{font-size:clamp(25px,3vw,34px)}.lead{font-size:clamp(18px,2vw,21px);color:var(--muted);line-height:1.7}.text{color:var(--muted);line-height:1.7}.small{font-size:14px;color:var(--soft)}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 26px;font-size:14px;transition:.18s ease}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--greenDark);transform:translateY(-1px)}.button.secondary{border:1px solid #cfc6b8;color:#555;background:transparent}.button.secondary:hover{background:rgba(255,255,255,.65);transform:translateY(-1px)}.card{background:#fff;border:1px solid var(--line2);border-radius:24px;box-shadow:0 1px 2px rgba(30,25,18,.04)}.soft-card{background:var(--paper);border:1px solid var(--line2);border-radius:24px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,247,244,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{max-width:1152px;margin:0 auto;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;gap:30px}.logo img{height:24px;width:auto;opacity:.95}.nav{display:flex;align-items:center;gap:28px;font-size:14px;color:#555}.nav a:hover{color:#000}.nav .contact{border:1px solid #cfc6b8;border-radius:999px;padding:8px 16px;color:#666}.nav-toggle{display:none}.hamb{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;align-items:center;justify-content:center}.hamb span,.hamb:before,.hamb:after{content:"";display:block;width:16px;height:1.5px;background:#555;margin:3px 0}.mobile-nav{display:none}.footer{border-top:1px solid var(--line);padding:34px 0;background:var(--paper);font-size:14px;color:#777}.footer-inner{max-width:1152px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.hero-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:64px;align-items:center;padding:80px 0 96px}.hero-img-card{background:var(--warm);border:1px solid #e6ded2;border-radius:28px;padding:22px}.hero-img-card img{height:380px;width:100%;object-fit:cover;object-position:center 55%;border-radius:20px}.hero-img-card .caption{padding:24px 8px 4px}.caption-title{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.18;margin:0 0 16px}.caption-line{height:1px;background:#ddd6ca;margin:0 0 16px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:48px 0 64px}.step{text-align:center;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.diagram-panel{display:flex;justify-content:center;background:var(--paper);padding:32px;border:1px solid var(--line);border-radius:24px;overflow:hidden}.diagram-panel.white{background:#fff;box-shadow:0 1px 2px rgba(30,25,18,.04)}.list{padding-left:0;list-style:none;margin:0}.list li{margin:0 0 16px}.highlight{font-weight:600;color:#222}.start-hero{min-height:100vh;display:flex;align-items:center}.start-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:44px}.start-card{min-height:260px;border-radius:28px;border:1px solid var(--line2);background:#fff;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.start-card.warm{background:var(--warm)}.start-kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#7a6f5f;margin-bottom:18px}.reference-card{overflow:hidden}.reference-card img{height:260px;width:100%;object-fit:cover;filter:saturate(.9) contrast(1.03) brightness(1.03)}.reference-body{padding:32px}.ref-head{display:flex;justify-content:space-between;gap:26px;margin-bottom:28px}.ref-meta{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#9b9488;margin:0 0 12px}.ref-type{font-size:14px;color:var(--green);text-align:right;max-width:180px}.ref-row{display:grid;grid-template-columns:140px 1fr;gap:18px;border-top:1px solid #eee8de;padding:18px 0}.ref-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#a59d91}.helvimo{background:var(--helvimoPaper);color:var(--helvimoInk)}.helvimo .site-header{background:rgba(246,243,237,.9);border-color:rgba(29,25,21,.06)}.helvimo-brand{letter-spacing:.16em;font-weight:600}.helvimo-sub{display:block;margin-top:2px;font-size:11px;letter-spacing:.05em;color:rgba(31,45,38,.6);font-weight:400}.helvimo .nav a:hover{color:var(--gold)}.helvimo .nav .contact{color:var(--gold);border-color:rgba(217,200,160,.7)}.helvimo-hero{background:#f6f3ed;padding:128px 0 72px;position:relative;overflow:hidden}.helvimo-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(182,154,99,.14),transparent 32%)}.helvimo-hero .container{position:relative}.helvimo-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.helvimo h1{font-size:clamp(46px,8vw,92px);letter-spacing:-.055em;line-height:.95;font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0 0 32px}.helvimo .lead{color:rgba(31,45,38,.75);font-weight:300}.helvimo-image-card{background:#efe8dc;border:1px solid rgba(217,200,160,.3);padding:14px}.helvimo-image-card img{width:100%;aspect-ratio:5/4;object-fit:cover}.helvimo .gold{color:var(--gold)}.helvimo-card{background:rgba(255,255,255,.55);border:1px solid rgba(29,25,21,.1);padding:28px;min-height:270px}.mini-note{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px;text-align:center}.image-tile{background:#fff;border:1px solid var(--line2);border-radius:24px;overflow:hidden}.image-tile .imgbox{height:176px;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid #eee8de;padding:20px}.image-tile .imgbox img{max-height:100%;object-fit:contain}.image-tile .copy{padding:24px}.quote-mark{font-size:44px;color:var(--green);line-height:1;margin-bottom:24px}@media(max-width:900px){.nav{display:none}.hamb{display:flex;flex-direction:column}.nav-toggle:checked~.mobile-nav{display:flex}.mobile-nav{position:absolute;left:0;right:0;top:100%;background:rgba(248,247,244,.98);border-bottom:1px solid var(--line);padding:12px 24px 24px;flex-direction:column;gap:14px;font-size:15px;color:#555}.helvimo .mobile-nav{background:rgba(246,243,237,.98)}.hero-split,.grid-2,.helvimo-grid,.start-grid{grid-template-columns:1fr}.grid-3,.grid-4,.steps{grid-template-columns:1fr 1fr}.hero-split{padding:56px 0 78px}.section{padding:72px 0}.section-sm{padding:58px 0}.ref-head{display:block}.ref-type{text-align:left;margin-top:8px}.ref-row{grid-template-columns:1fr;gap:6px}.start-hero{min-height:auto;padding:90px 0}.helvimo-hero{padding-top:104px}.hero-img-card img{height:340px}.nav-wrap{padding:16px 24px}}@media(max-width:560px){.container,.container-narrow{padding:0 20px}.grid-3,.grid-4,.steps{grid-template-columns:1fr}.h1{font-size:42px}.h2{font-size:32px}.h3{font-size:25px}.hero-img-card{padding:16px;border-radius:24px}.hero-img-card img{height:280px}.button{width:100%;margin-bottom:10px}.diagram-panel{padding:16px;border-radius:18px;overflow-x:auto;justify-content:flex-start}.diagram-panel svg{min-width:640px}.reference-body{padding:24px}.start-card{min-height:220px;padding:28px}.logo img{height:22px}.helvimo h1{font-size:46px}.helvimo-image-card img{aspect-ratio:4/3}.section{padding:64px 0}}


/* --- v4 refinements: mobile rhythm, robustness, legal/contact, SEO pages --- */
.nowrap{white-space:nowrap}.safe-wrap{overflow-wrap:anywhere;word-break:normal;hyphens:auto}.legal main,.denkweise main{padding-top:0}.contact-lines{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;color:#666;font-size:14px}.footer-contact{display:flex;flex-direction:column;gap:4px}.footer-meta{display:flex;gap:18px;flex-wrap:wrap}.footer a:hover{color:#222}.page-panel{background:#fff;border:1px solid var(--line2);border-radius:28px;padding:42px}.legal-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.8}.method-row{display:grid;grid-template-columns:130px 1fr;gap:30px;border-top:1px solid rgba(29,25,21,.1);padding:26px 0}.cta-spaced{margin-top:40px}.reference-cta .button{margin-top:34px}.partner-card{min-width:0;overflow-wrap:break-word}.partner-card .focus{display:block;line-height:1.55}.diagram-panel svg{width:100%;height:auto;max-width:900px}.helvimo .h2,.helvimo h1,.h1,.h2,.h3{overflow-wrap:normal;word-break:normal}.helvimo .h2{max-width:100%}.helvimo .mobile-nav a:last-child:after{content:' · kontakt@helvimo.ch';font-size:13px;color:rgba(31,45,38,.55)}
@media(max-width:900px){.contact-lines{margin-top:18px}.method-row{grid-template-columns:1fr;gap:6px}.page-panel{padding:30px}.mobile-nav:after{content:'BAUWERT Schweiz · +41 (0)61 508 08 22 · info@bauwertschweiz.ch';font-size:13px;color:#777;border-top:1px solid var(--line);padding-top:14px;margin-top:6px;line-height:1.5}.helvimo .mobile-nav:after{content:'HELVIMO · +41 (0)61 508 08 24 · kontakt@helvimo.ch';color:rgba(31,45,38,.62);border-color:rgba(29,25,21,.1)}.nav-wrap{position:relative}.mobile-extra-space{margin-top:28px}}
@media(max-width:560px){.diagram-panel{padding:10px;border-radius:18px;overflow:hidden}.diagram-panel svg{max-width:100%;min-width:0}.decision-tree svg text{font-size:12px}.decision-tree svg text[font-size="20"]{font-size:18px}.decision-tree svg text[font-size="16"]{font-size:15px}.decision-tree svg text[font-size="14"]{font-size:12px}.decision-tree svg text[font-size="13"]{font-size:11.5px}.h1{font-size:clamp(38px,12vw,48px)}.h2{font-size:clamp(30px,9vw,38px)}.helvimo h1{font-size:clamp(40px,12vw,52px);line-height:1}.helvimo .h2{font-size:clamp(30px,8.8vw,38px);letter-spacing:-.04em;hyphens:auto}.helvimo .lead{font-size:18px}.helvimo-card{min-height:auto}.grid-4{gap:18px}.post-situations-mobile-gap{margin-top:32px}.ref-type{max-width:none}.footer-inner{display:block}.footer-links{margin-top:18px}.footer-contact{margin-top:16px}.button{white-space:normal;text-align:center}.card,.soft-card{border-radius:22px}.reference-cta .button{margin-top:42px}.image-tile .imgbox{height:150px}.start-grid{margin-top:36px}.page-panel{padding:24px;border-radius:24px}.container,.container-narrow{padding-left:18px;padding-right:18px}}


/* --- v5 navigation, responsive typography and final corrections --- */
html,body{overflow-x:hidden}.h1,.h2,.h3{max-width:100%}.nav{gap:24px}.start-card .h3{overflow-wrap:normal}.partner-card{padding:36px!important}.partner-card .h3{font-size:clamp(23px,2.4vw,31px);letter-spacing:-.03em}.partner-card .eyebrow{letter-spacing:.18em}.ref-type{white-space:nowrap}.reference-cta .h2{max-width:900px;margin-left:auto;margin-right:auto}.reference-cta .button{margin-top:38px}.about-origin-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr);gap:96px;align-items:start}.about-origin-left{max-width:560px}.about-origin-copy{padding-top:10px}.portrait-card{margin-top:42px;max-width:310px;border-radius:22px;overflow:hidden;border:1px solid var(--line2);background:#fff}.portrait-card img{width:100%;height:auto;filter:saturate(.92)}.helvimo-bridge{text-align:center}.helvimo-bridge .lead{max-width:760px;margin:24px auto 32px}.helvimo .mobile-nav:after{content:'HELVIMO · +41 (0)61 508 08 24 · kontakt@helvimo.ch'}
@media(max-width:900px){.about-origin-grid{grid-template-columns:1fr;gap:42px}.portrait-card{max-width:260px}.ref-type{white-space:normal}.reference-cta .button{margin-top:34px}}
@media(max-width:560px){.nav-wrap{padding:18px 28px}.container,.container-narrow{padding-left:20px;padding-right:20px}.section-sm{padding:60px 0}.h1{font-size:clamp(36px,10.4vw,44px);line-height:1.04;letter-spacing:-.028em;overflow-wrap:anywhere}.h2{font-size:clamp(29px,8.4vw,36px);line-height:1.08;letter-spacing:-.026em;overflow-wrap:anywhere}.h3{font-size:clamp(23px,7vw,29px);line-height:1.12;letter-spacing:-.024em;overflow-wrap:anywhere}.lead{font-size:18px;line-height:1.65}.text{line-height:1.65}.eyebrow{letter-spacing:.20em}.start-hero{padding:74px 0}.start-grid{gap:20px}.start-card{padding:28px;min-height:0}.button{padding:14px 22px}.reference-card img{height:210px}.reference-body{padding:24px 22px}.ref-head{margin-bottom:18px}.ref-row{padding:16px 0}.reference-cta{padding-top:74px!important;padding-bottom:80px!important}.reference-cta .h2{font-size:clamp(30px,8.8vw,38px);overflow-wrap:anywhere}.reference-cta .button{margin-top:38px}.diagram-panel{padding:12px}.decision-tree svg{display:block;width:100%;max-width:100%;height:auto}.decision-tree svg text[font-size="20"]{font-size:16px}.decision-tree svg text[font-size="16"]{font-size:13.5px}.decision-tree svg text[font-size="14"]{font-size:10.5px}.decision-tree svg text[font-size="13"]{font-size:10px}.post-situations-mobile-gap .grid-2{gap:28px}.list li{margin-bottom:22px}.helvimo h1{font-size:clamp(36px,10.8vw,46px);line-height:1.05;letter-spacing:-.035em;overflow-wrap:normal}.helvimo .h2{font-size:clamp(29px,8.4vw,36px);line-height:1.12;letter-spacing:-.028em;overflow-wrap:anywhere}.helvimo .lead{font-size:17px;line-height:1.62}.helvimo-hero{padding-top:82px}.helvimo-grid{gap:34px}.helvimo-card{padding:24px}.helvimo-bridge{text-align:left}.helvimo-bridge .button{width:auto}.page-panel{padding:24px 22px}.legal .h1{font-size:clamp(35px,10vw,44px)}.about-origin-grid{gap:30px}.portrait-card{max-width:220px;margin-top:28px}.about-origin-copy p{margin-bottom:24px}.footer-links{gap:14px 18px}}


/* --- v6 refinements: active navigation + Denkweise spacing + HELVIMO card rhythm --- */
.nav a.is-active, .mobile-nav a.is-active{color:#1f1f1f;}
.nav a.is-active{font-weight:500;}
.nav .contact.is-active{color:#333;border-color:#bdb5a7;background:rgba(255,255,255,.45);}
.helvimo .nav a.is-active, .helvimo .mobile-nav a.is-active{color:#8f7440;}
.about-origin-left .h2{max-width:520px;}
.about-origin-copy{padding-top:22px;max-width:720px;}
.about-origin-copy p{margin-top:0;margin-bottom:28px;}
.about-origin-copy p:last-child{margin-bottom:0;}
.helvimo-image-card .h3{margin-bottom:24px;}
.helvimo-image-card .text{margin-top:0;}
.helvimo-card .h3{margin-bottom:22px;}
@media(max-width:900px){
  .about-origin-left .h2{max-width:100%;}
  .about-origin-copy{padding-top:0;}
}
@media(max-width:560px){
  .about-origin-left .h2 br{display:none;}
  .about-origin-copy{padding-top:4px;}
  .helvimo-image-card .h3{margin-bottom:22px;}
  .helvimo-card .h3{margin-bottom:20px;}
}


/* --- v6.2 fixes: Denkweise overflow + Methodik card balance --- */
.about-origin-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(42px,5vw,78px);
  align-items:start;
}
.about-origin-left,
.about-origin-copy{
  min-width:0;
}
.about-origin .h2{
  font-size:clamp(36px,4.1vw,54px);
  line-height:1.06;
  letter-spacing:-.035em;
  max-width:100%;
  overflow-wrap:break-word;
  hyphens:auto;
}
.about-origin-copy{
  max-width:680px;
}
#situationen > .grid-2,
#situationen .container.grid-2{
  align-items:stretch !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,48px);
}
#situationen .card{
  min-width:0;
  overflow:hidden;
}
#situationen .card h2{
  font-size:clamp(30px,2.65vw,42px) !important;
  line-height:1.08 !important;
  letter-spacing:-.032em !important;
  overflow-wrap:normal;
  hyphens:auto;
}
#situationen .card .list{
  margin-top:28px;
}
@media(max-width:1180px){
  .about-origin-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .about-origin-copy{
    padding-top:0;
    max-width:760px;
  }
  .portrait-card{
    max-width:280px;
  }
}
@media(max-width:1040px){
  #situationen > .grid-2,
  #situationen .container.grid-2{
    grid-template-columns:1fr;
  }
  #situationen .card{
    height:auto !important;
  }
}
@media(max-width:560px){
  .about-origin .h2{
    font-size:clamp(30px,9vw,38px);
    line-height:1.08;
  }
  #situationen .card h2{
    font-size:clamp(27px,8.2vw,34px) !important;
  }
}


/* --- v6.3 hard fixes: prevent overlap on Denkweise and Methodik intermediate widths --- */

/* Denkweise: the "Vom Entwurf..." section should never collide with the right text column.
   At normal and smaller desktop widths it is intentionally stacked. */
.about-origin-grid{
  grid-template-columns:minmax(0,1fr);
  gap:clamp(34px,4vw,56px);
}
.about-origin-left{
  max-width:820px;
}
.about-origin-left .h2{
  max-width:760px;
  font-size:clamp(36px,4.2vw,58px);
  line-height:1.06;
  letter-spacing:-.035em;
  overflow-wrap:normal;
}
.about-origin-copy{
  max-width:860px;
  padding-top:0;
}
@media(min-width:1680px){
  .about-origin-grid{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    gap:clamp(60px,5vw,96px);
  }
  .about-origin-left .h2{
    max-width:600px;
  }
  .about-origin-copy{
    padding-top:22px;
  }
}

/* Methodik: situation/honorar cards stay balanced on wide screens and stack earlier
   to avoid cropped cards or oversized headlines on laptop/intermediate widths. */
#situationen .container.grid-2{
  align-items:stretch;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(28px,3.6vw,48px);
  max-width:980px;
}
#situationen .card{
  min-width:0;
  overflow:hidden;
}
#situationen .card h2{
  font-size:clamp(30px,3.2vw,46px) !important;
  line-height:1.08 !important;
  letter-spacing:-.032em !important;
  overflow-wrap:normal;
}
@media(min-width:1680px){
  #situationen .container.grid-2{
    max-width:1152px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #situationen .card h2{
    font-size:clamp(30px,2.45vw,42px) !important;
  }
}
@media(max-width:560px){
  .about-origin-left .h2{
    font-size:clamp(30px,9vw,38px);
    line-height:1.08;
  }
  #situationen .card{
    padding:26px !important;
  }
  #situationen .card h2{
    font-size:clamp(27px,8.2vw,34px) !important;
  }
}


/* --- v6.4 analytics + mobile Denkweise rhythm --- */
.mobile-origin-spacer{display:none;}
@media(max-width:560px){
  .mobile-origin-spacer{display:block;height:22px;}
}


/* --- v6.5 image optimization + Methodik desktop composition --- */
@media (min-width:1050px){
  #situationen .container.grid-2{
    max-width:1320px !important;
    grid-template-columns:minmax(0,1.22fr) minmax(360px,.88fr) !important;
    align-items:stretch !important;
    gap:clamp(36px,4vw,64px) !important;
  }
  #situationen .card{
    height:100%;
  }
  #situationen .card h2{
    font-size:clamp(34px,3.1vw,58px) !important;
    line-height:1.05 !important;
  }
}
@media (max-width:1049px){
  #situationen .container.grid-2{
    grid-template-columns:1fr !important;
    max-width:980px !important;
  }
}


/* --- v6.6 final structure: Denkweise desktop composition + HELVIMO legal/denkweise pages --- */
@media (min-width:1050px){
  .denkweise .about-origin-grid{
    grid-template-columns:minmax(330px,.76fr) minmax(0,1.24fr) !important;
    gap:clamp(64px,7vw,112px) !important;
    align-items:start !important;
  }
  .denkweise .about-origin-left{
    max-width:440px !important;
  }
  .denkweise .about-origin-left .h2,
  .denkweise .about-origin .h2{
    max-width:440px !important;
    font-size:clamp(40px,3.2vw,56px) !important;
    line-height:1.06 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  .denkweise .portrait-card{
    max-width:320px !important;
    margin-top:44px !important;
  }
  .denkweise .about-origin-copy{
    max-width:650px !important;
    padding-top:136px !important;
  }
}
@media (min-width:1280px){
  .denkweise .about-origin-left{max-width:480px !important;}
  .denkweise .about-origin-left .h2,
  .denkweise .about-origin .h2{max-width:480px !important;}
  .denkweise .portrait-card{max-width:340px !important;}
}
@media (max-width:1049px){
  .denkweise .about-origin-grid{
    grid-template-columns:1fr !important;
    gap:clamp(34px,4vw,56px) !important;
  }
  .denkweise .about-origin-copy{
    padding-top:0 !important;
    max-width:860px !important;
  }
}
.helvimo-legal .page-panel{background:#fff;}
.helvimo-legal .h1,.helvimo-denkweise .h1,.helvimo-denkweise .h2{color:var(--helvimoInk);}
.helvimo-denkweise .about-origin-copy{color:var(--muted);}

/* --- v6.7 final typography + card-balance fixes --- */
html, body, .h1, .h2, .h3, .lead, .text, .card, .safe-wrap{
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  hyphens:none !important;
  word-break:normal !important;
}
.h1, .h2, .h3, .card h1, .card h2, .card h3{
  overflow-wrap:normal !important;
}
@media (min-width:1050px){
  #situationen .container.grid-2{
    align-items:stretch !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    max-width:1260px !important;
    gap:clamp(38px,4vw,58px) !important;
  }
  #situationen .card{
    height:auto !important;
    min-height:560px !important;
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
  }
  #situationen .card h2{
    font-size:clamp(34px,2.55vw,46px) !important;
    line-height:1.06 !important;
    letter-spacing:-.034em !important;
    overflow-wrap:normal !important;
  }
  #situationen .card .list{
    margin-top:30px !important;
  }
}
@media (max-width:1049px){
  #situationen .container.grid-2{
    grid-template-columns:1fr !important;
    max-width:980px !important;
  }
  #situationen .card{
    min-height:0 !important;
    height:auto !important;
  }
}
@media (max-width:560px){
  .h1, .h2, .h3,
  .denkweise .h1,
  .denkweise .h2,
  .denkweise .h3,
  .helvimo .h1,
  .helvimo .h2,
  .helvimo .h3{
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  .denkweise main > .section:first-child .h1{
    font-size:clamp(31px,9vw,40px) !important;
    line-height:1.06 !important;
    letter-spacing:-.032em !important;
  }
  .denkweise main > .section:first-child .lead{
    font-size:18px !important;
    line-height:1.62 !important;
  }
  #situationen .card h2{
    font-size:clamp(27px,7.8vw,33px) !important;
    line-height:1.08 !important;
  }
}


/* --- v6.8 mobile Denkweise title + manual spacer fix --- */
.mobile-origin-title{display:none;}
.mobile-origin-spacer{display:none;}
@media (max-width:1049px){
  .denkweise .about-origin-left{max-width:100% !important;}
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{
    max-width:100% !important;
    overflow:visible !important;
  }
  .mobile-origin-spacer{
    display:block;
    height:24px;
  }
}
@media (max-width:560px){
  .desktop-origin-title{display:none !important;}
  .mobile-origin-title{display:block !important;}
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{
    font-size:clamp(38px,11vw,46px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    max-width:100% !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  .denkweise .portrait-card{
    margin-top:34px !important;
  }
  .mobile-origin-spacer{height:32px;}
}


/* --- v6.9 direct mobile Denkweise title repair --- */
.origin-title-mobile{display:none!important;}
@media (max-width:560px){
  .denkweise .origin-title-desktop{display:none!important;}
  .denkweise .origin-title-mobile{display:block!important;}
  .denkweise .origin-title{font-size:38px!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
  .denkweise .portrait-card{margin-top:34px!important;}
  .denkweise .mobile-origin-spacer{display:block!important;height:42px!important;}
}


/* --- v6.11 Denkweise title hard fix: no missing spaces, no mobile overflow --- */
.origin-title-line{display:block;}
.origin-title .origin-title-desktop{display:block!important;}
.origin-title .origin-title-mobile{display:none!important;}
.denkweise .origin-title{white-space:normal!important;overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
@media (max-width:560px){
  .denkweise .origin-title .origin-title-desktop{display:none!important;}
  .denkweise .origin-title .origin-title-mobile{display:block!important;}
  .denkweise .origin-title{
    font-size:clamp(37px,10.2vw,44px)!important;
    line-height:1.08!important;
    letter-spacing:-.034em!important;
    max-width:100%!important;
    width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .denkweise .origin-title-line{display:block!important;white-space:nowrap!important;}
  .denkweise .portrait-card{margin-top:34px!important;}
  .denkweise .mobile-origin-spacer{display:block!important;height:44px!important;}
}
@media (max-width:390px){
  .denkweise .origin-title{font-size:clamp(34px,9.8vw,39px)!important;}
}

/* --- v6.13 reference-card subtitle overflow fix --- */
.reference-card .ref-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,220px) !important;
  gap:22px !important;
  align-items:start !important;
}
.reference-card .ref-head > div,
.reference-card .ref-type{
  min-width:0 !important;
}
.reference-card .ref-type{
  max-width:none !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-align:right !important;
  line-height:1.45 !important;
}
.reference-card .h3{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
@media(max-width:900px){
  .reference-card .ref-head{
    display:block !important;
  }
  .reference-card .ref-type{
    text-align:left !important;
    margin-top:10px !important;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .reference-card .ref-head{
    grid-template-columns:minmax(0,1fr) minmax(0,180px) !important;
  }
  .reference-card .ref-type{
    font-size:13px !important;
  }
}


/* --- v6.15 HELVIMO positioning/product update --- */
.helvimo-nav .nav-sep{display:inline-block;width:1px;height:18px;background:rgba(29,25,21,.18);margin:0 2px;}
.helvimo .nav .nav-special{font-weight:650;color:rgba(31,45,38,.82);}
.helvimo .nav .nav-special:hover{color:var(--gold);}
.helvimo .nav .contact:hover{background:rgba(217,200,160,.16);color:#8f7440;transform:translateY(-1px);}
.helvimo-offer-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:stretch;}
.helvimo-offer-card,.helvimo-offer-note{background:rgba(255,255,255,.72);border:1px solid rgba(29,25,21,.1);border-radius:28px;padding:42px;}
.helvimo-offer-card{box-shadow:0 2px 8px rgba(30,25,18,.035);}
.offer-price{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,7vw,82px);line-height:1;letter-spacing:-.055em;color:var(--helvimoInk);margin:12px 0 26px;}
.helvimo-offer-note .h2{margin-bottom:24px;}
@media(max-width:900px){.helvimo-offer-grid{grid-template-columns:1fr;gap:26px}.helvimo-nav .nav-sep{display:none}.helvimo .mobile-nav .nav-special{font-weight:650;color:#8f7440;}}
@media(max-width:560px){.helvimo-offer-card,.helvimo-offer-note{padding:28px 24px;border-radius:24px}.offer-price{font-size:52px}.helvimo h1 br{display:none}.helvimo h1{max-width:9ch}}


/* V6.16 HELVIMO: robustere Situationskarten */
.helvimo #situationen .grid-4 {
  align-items: stretch;
}
.helvimo #situationen .helvimo-card {
  min-width: 0;
  overflow: hidden;
}
.helvimo #situationen .helvimo-card .h3 {
  font-size: clamp(32px, 2.15vw, 42px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
@media (max-width: 1200px) {
  .helvimo #situationen .helvimo-card .h3 {
    font-size: clamp(28px, 2.6vw, 36px);
  }
}
@media (max-width: 760px) {
  .helvimo #situationen .helvimo-card .h3 {
    font-size: clamp(27px, 8vw, 34px);
  }
}


/* V6.17 HELVIMO: Situationskarten final stabilisiert */
.helvimo #situationen .grid-4 {
  align-items: stretch;
}
.helvimo #situationen .helvimo-card {
  min-width: 0;
  overflow: hidden;
}
.helvimo #situationen .helvimo-card .h3 {
  font-size: clamp(30px, 2vw, 36px) !important;
  line-height: 1.10 !important;
  letter-spacing: -0.032em !important;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
@media (max-width: 1200px) {
  .helvimo #situationen .helvimo-card .h3 {
    font-size: clamp(28px, 2.4vw, 33px) !important;
  }
}
@media (max-width: 900px) {
  .helvimo #situationen .helvimo-card .h3 {
    font-size: clamp(30px, 5vw, 38px) !important;
  }
}
@media (max-width: 560px) {
  .helvimo #situationen .helvimo-card .h3 {
    font-size: clamp(28px, 8vw, 34px) !important;
  }
}


/* --- v6.18 Denkweise: desktop title no-overlap fix for BAUWERT + HELVIMO --- */
@media (min-width: 1050px){
  .denkweise .about-origin-grid{
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
    gap: clamp(72px, 8vw, 128px) !important;
  }
  .denkweise .about-origin-left{
    max-width: 420px !important;
    min-width: 0 !important;
  }
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{
    max-width: 420px !important;
    font-size: clamp(36px, 3vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.034em !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .denkweise .origin-title .origin-title-desktop{
    display:block !important;
  }
  .denkweise .origin-title .origin-title-desktop .origin-title-line{
    display:block !important;
    white-space: nowrap !important;
  }
  .denkweise .origin-title .origin-title-mobile{
    display:none !important;
  }
  .denkweise .about-origin-copy{
    padding-top: 124px !important;
    max-width: 680px !important;
    position: relative !important;
    z-index: 1 !important;
  }
}
@media (min-width: 1280px){
  .denkweise .about-origin-left{max-width: 440px !important;}
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{max-width: 440px !important;}
}

/* --- v6.18 HELVIMO situations card title safety --- */
.helvimo #situationen .helvimo-card .h3{
  font-size: clamp(28px, 1.9vw, 34px) !important;
  line-height: 1.12 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* --- v6.19 mobile heading overflow + Denkweise spacing final pass --- */
@media (min-width:1050px){
  .denkweise .about-origin-copy{
    padding-top: 174px !important;
  }
  .denkweise .portrait-card{
    margin-top: 54px !important;
  }
}
@media (min-width:1050px) and (max-width:1240px){
  .denkweise .about-origin-copy{
    padding-top: 188px !important;
  }
}
@media (max-width:560px){
  body{overflow-x:hidden !important;}
  .container,
  .container-narrow{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  main section{
    overflow-x:hidden !important;
  }
  .h1,
  .h2,
  .h3,
  h1,
  h2,
  h3,
  .helvimo h1,
  .helvimo .h2{
    max-width:100% !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:none !important;
    -webkit-hyphens:none !important;
  }
  .h1,
  h1.h1{
    font-size:clamp(34px,9.2vw,40px) !important;
    line-height:1.08 !important;
    letter-spacing:-.03em !important;
  }
  .h2,
  h2.h2{
    font-size:clamp(30px,8.4vw,36px) !important;
    line-height:1.10 !important;
    letter-spacing:-.028em !important;
  }
  .h3,
  h3.h3{
    font-size:clamp(24px,7vw,30px) !important;
    line-height:1.12 !important;
    letter-spacing:-.024em !important;
  }
  .helvimo h1{
    font-size:clamp(34px,9.4vw,41px) !important;
    line-height:1.08 !important;
    letter-spacing:-.032em !important;
    max-width:100% !important;
  }
  .helvimo .h2{
    font-size:clamp(29px,8.2vw,35px) !important;
  }
  .partner .h1,
  .referenzen .h1,
  .leistungen .h1,
  .methodik .h1,
  .objektstrategie .h1,
  .multiplikatoren .h1,
  .denkweise .h1,
  .reference-cta .h2{
    font-size:clamp(32px,8.8vw,38px) !important;
    line-height:1.10 !important;
    letter-spacing:-.026em !important;
  }
  .reference-cta .button,
  .button.primary{
    max-width:100% !important;
  }
  .denkweise .about-origin-copy{
    padding-top:0 !important;
  }
  .denkweise .portrait-card{
    margin-top:34px !important;
    margin-bottom:44px !important;
  }
  .denkweise .origin-title{
    font-size:clamp(32px,8.8vw,38px) !important;
    line-height:1.10 !important;
    max-width:100% !important;
  }
  .denkweise .origin-title-line{
    white-space:normal !important;
  }
}


/* --- v6.20: mobile typography rollback + Denkweise desktop alignment --- */
/* Keine harten Worttrennungen auf Mobile: lieber Schrift kleiner skalieren. */
@media (max-width:560px){
  .h1,
  h1.h1,
  .partner .h1,
  .referenzen .h1,
  .leistungen .h1,
  .methodik .h1,
  .objektstrategie .h1,
  .multiplikatoren .h1,
  .denkweise .h1,
  .reference-cta .h2,
  .helvimo h1,
  .helvimo .h2,
  .h2,
  h2.h2,
  .h3,
  h3.h3{
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
    -webkit-hyphens:none !important;
    white-space:normal !important;
  }

  .h1,
  h1.h1,
  .partner .h1,
  .referenzen .h1,
  .leistungen .h1,
  .methodik .h1,
  .objektstrategie .h1,
  .multiplikatoren .h1,
  .denkweise .h1,
  .reference-cta .h2{
    font-size:clamp(28px,7.25vw,34px) !important;
    line-height:1.13 !important;
    letter-spacing:-.023em !important;
  }

  .helvimo h1,
  .helvimo .h2{
    font-size:clamp(28px,7.25vw,34px) !important;
    line-height:1.13 !important;
    letter-spacing:-.026em !important;
    max-width:100% !important;
  }

  .h2,
  h2.h2{
    font-size:clamp(27px,7vw,33px) !important;
    line-height:1.13 !important;
  }

  .h3,
  h3.h3{
    font-size:clamp(24px,6.4vw,30px) !important;
    line-height:1.14 !important;
  }

  /* Lange Hero-Titel dürfen nicht ins Bild laufen; sie werden kleiner, aber nicht getrennt. */
  .referenzen .h1,
  .leistungen .h1,
  .partner .h1,
  .methodik .h1{
    max-width:100% !important;
  }

  .helvimo #situationen .h2{
    font-size:clamp(28px,7.2vw,34px) !important;
  }
}

/* Denkweise Desktop: rechter Textblock nach unten ziehen, so dass oben Luft zum Titel entsteht. */
@media (min-width:1050px){
  .denkweise .about-origin-grid{
    align-items:stretch !important;
  }
  .denkweise .about-origin-left{
    display:flex !important;
    flex-direction:column !important;
  }
  .denkweise .portrait-card{
    margin-top:clamp(56px,5vw,76px) !important;
  }
  .denkweise .about-origin-copy{
    align-self:end !important;
    padding-top:0 !important;
    margin-top:auto !important;
  }
}

@media (min-width:1050px) and (max-width:1240px){
  .denkweise .about-origin-copy{
    padding-top:0 !important;
  }
}


/* --- v6.21 final mobile typography + Denkweise desktop composition --- */
/* Desktop Denkweise: langer Titel darf laufen; rechter Text unten am Bild ausrichten. */
@media (min-width:1050px){
  .denkweise .about-origin-grid{
    grid-template-columns:minmax(540px, .98fr) minmax(440px, 1.02fr) !important;
    gap:clamp(72px, 7vw, 112px) !important;
    align-items:stretch !important;
  }
  .denkweise .about-origin-left{
    max-width:680px !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{
    max-width:680px !important;
    font-size:clamp(42px, 3.65vw, 56px) !important;
    line-height:1.05 !important;
    letter-spacing:-.034em !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .denkweise .origin-title .origin-title-desktop{display:block !important;}
  .denkweise .origin-title .origin-title-mobile{display:none !important;}
  .denkweise .origin-title .origin-title-line{
    display:block !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  .denkweise .portrait-card{
    margin-top:clamp(58px,5vw,78px) !important;
  }
  .denkweise .about-origin-copy{
    align-self:end !important;
    margin-top:auto !important;
    padding-top:0 !important;
    max-width:700px !important;
  }
}
@media (min-width:1050px) and (max-width:1180px){
  .denkweise .about-origin-grid{
    grid-template-columns:minmax(500px,.95fr) minmax(390px,1.05fr) !important;
    gap:64px !important;
  }
  .denkweise .about-origin-left .h2.origin-title,
  .denkweise .about-origin .h2.origin-title{
    font-size:clamp(38px,3.6vw,46px) !important;
    max-width:560px !important;
  }
}

/* Mobile: keine künstlichen Worttrennungen; Headlines lieber etwas kleiner skalieren. */
@media (max-width:560px){
  html,body{overflow-x:hidden !important;}
  .container,
  .container-narrow{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    padding-left:22px !important;
    padding-right:22px !important;
    overflow-x:hidden !important;
  }
  main, main section{overflow-x:hidden !important;}
  .h1, h1.h1, .h2, h2.h2, .h3, h3.h3,
  .helvimo h1, .helvimo .h2{
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
    -webkit-hyphens:none !important;
    max-width:100% !important;
  }
  /* Seitentitel / Hero-Titel */
  .h1, h1.h1,
  main > section:first-child .h1,
  .reference-cta .h2,
  .partner .h1,
  .referenzen .h1,
  .leistungen .h1,
  .methodik .h1,
  .objektstrategie .h1,
  .multiplikatoren .h1{
    font-size:clamp(25px,6.55vw,30px) !important;
    line-height:1.16 !important;
    letter-spacing:-.018em !important;
  }
  .h2, h2.h2{
    font-size:clamp(25px,6.7vw,31px) !important;
    line-height:1.15 !important;
    letter-spacing:-.02em !important;
  }
  .h3, h3.h3{
    font-size:clamp(23px,6.2vw,29px) !important;
    line-height:1.16 !important;
    letter-spacing:-.018em !important;
  }
  .helvimo h1,
  .helvimo .h2{
    font-size:clamp(25px,6.55vw,30px) !important;
    line-height:1.16 !important;
    letter-spacing:-.022em !important;
  }
  .denkweise .origin-title{
    font-size:clamp(25px,6.55vw,30px) !important;
    line-height:1.12 !important;
    letter-spacing:-.026em !important;
    max-width:100% !important;
  }
  .denkweise .origin-title-line{
    white-space:normal !important;
  }
  .denkweise .portrait-card{
    margin-top:40px !important;
    margin-bottom:42px !important;
  }
  .denkweise .about-origin-copy{
    padding-top:0 !important;
    margin-top:0 !important;
  }
  /* Buttons: bei full-width CTAs bleibt seitlich Luft. */
  .button,
  a.button,
  .button.primary,
  .button.secondary{
    box-sizing:border-box !important;
    max-width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:22px !important;
    padding-right:22px !important;
    white-space:normal !important;
  }
  .reference-cta .button,
  section[style*="text-align:center"] .button,
  .bg-paper .button,
  .bg-warm .button{
    display:flex !important;
    width:calc(100% - 32px) !important;
    justify-content:center !important;
  }
}
