/* Haustechnik Sharif V36 — composition refinement */
:root{
  --h35-bg:#f4f7f9;
  --h35-white:#ffffff;
  --h35-ice:#eaf2f8;
  --h35-soft:#dceaf5;
  --h35-petrol:#0d5c86;
  --h35-deep:#07324f;
  --h35-ink:#0f1720;
  --h35-text:#4b5a67;
  --h35-muted:#7a8995;
  --h35-accent:#f97316;
  --h35-line:rgba(15,23,32,.11);
  --h35-shadow:0 24px 70px rgba(5,35,58,.10);
  --h35-radius-xl:34px;
  --h35-radius-lg:24px;
  --h35-radius-md:16px;
  --h35-gutter:clamp(20px,5.8vw,96px);
  --h35-shell:min(100% - (var(--h35-gutter) * 2),1280px);
  --h35-wide:min(100% - (var(--h35-gutter) * 2),1420px);
  --h35-section:clamp(84px,8vw,132px);
}
@media (min-width:1700px){:root{--h35-gutter:clamp(96px,7vw,128px);--h35-shell:min(100% - (var(--h35-gutter) * 2),1360px);--h35-wide:min(100% - (var(--h35-gutter) * 2),1500px)}}
body.home-v35{background:var(--h35-bg); color:var(--h35-ink)}
.home-v35 .page{background:var(--h35-bg); overflow:hidden}
.h35-shell{width:var(--h35-shell); margin-inline:auto}
.h35-eyebrow{font-size:.74rem; line-height:1; letter-spacing:.16em; text-transform:uppercase; font-weight:850; color:var(--h35-petrol); margin-bottom:14px}
.h35-section-head h2,.h35-trust-statement h2,.h35-work-copy h2{font-size:clamp(2rem,3.05vw,3.05rem); line-height:1.04; letter-spacing:-.052em; margin:0; color:var(--h35-ink); max-width:740px}
.h35-section-head p,.h35-work-copy p{font-size:clamp(1rem,1.04vw,1.16rem); line-height:1.72; color:var(--h35-text); margin:18px 0 0; max-width:620px}
.h35-btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; height:50px; padding:0 22px; border-radius:16px; font-weight:850; letter-spacing:-.01em; transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease}
.h35-btn:hover{transform:translateY(-2px)}
.h35-btn-primary{background:var(--h35-accent); color:#fff; box-shadow:0 18px 40px rgba(249,115,22,.18)}
.h35-btn-primary:hover{background:#ea580c}
.h35-btn-link{height:auto; padding:0; color:var(--h35-ink); border-radius:0; border-bottom:1px solid rgba(15,23,32,.22)}
.h35-btn-link:hover{color:var(--h35-petrol); transform:none}

/* HERO */
.h35-hero{position:relative; min-height:clamp(760px,92vh,940px); padding:120px 0 70px; display:flex; align-items:center; background:var(--h35-bg); isolation:isolate}
.h35-hero::before{content:""; position:absolute; inset:88px var(--h35-gutter) 42px var(--h35-gutter); border-radius:36px; background:linear-gradient(90deg,rgba(7,50,79,.74),rgba(7,50,79,.45) 46%,rgba(7,50,79,.08) 78%),url('../img/hero-service.webp') center right/cover; box-shadow:var(--h35-shadow); z-index:-2; will-change:transform}
.h35-hero::after{content:""; position:absolute; inset:88px var(--h35-gutter) 42px var(--h35-gutter); border-radius:36px; background:radial-gradient(circle at 18% 24%,rgba(255,255,255,.18),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.18)); z-index:-1; pointer-events:none}
.h35-hero-shell{width:var(--h35-wide); display:grid; min-height:620px; align-content:end; gap:clamp(36px,5vw,74px); padding:clamp(42px,5vw,74px)}
.h35-hero-copy{max-width:640px; color:#fff; align-self:center; margin-top:auto; margin-bottom:auto}
.h35-hero-copy .h35-eyebrow{color:rgba(235,247,255,.86)}
.h35-hero h1{font-size:clamp(2.75rem,5.25vw,4.7rem); line-height:.98; letter-spacing:-.066em; margin:0; max-width:10.6ch; color:#fff}
.h35-hero-copy p{font-size:clamp(1.02rem,1.08vw,1.2rem); line-height:1.66; margin:22px 0 0; max-width:560px; color:rgba(242,249,255,.90)}
.h35-hero-actions{display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:30px}
.h35-hero .h35-btn-link{color:#fff; border-color:rgba(255,255,255,.36)}
.h35-service-rail{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; align-self:end; max-width:860px; margin-left:auto; width:min(100%,860px)}
.h35-service-rail a{min-height:82px; padding:18px 18px; border-radius:20px; background:rgba(255,255,255,.92); color:var(--h35-ink); display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.22); transition:transform .25s ease, background .25s ease, border-color .25s ease}
.h35-service-rail a:hover{transform:translateY(-3px); background:#fff; border-color:rgba(255,255,255,.7)}
.h35-service-rail i,.h35-service-rail svg{width:21px; height:21px; color:var(--h35-petrol); flex:0 0 auto}
.h35-service-rail span{font-weight:850; letter-spacing:-.02em; font-size:.98rem}
.h35-service-rail .is-urgent{background:var(--h35-accent); color:#fff}.h35-service-rail .is-urgent svg{color:#fff}

/* TRUST */
.h35-trust{padding:calc(var(--h35-section)*.75) 0 var(--h35-section)}
.h35-trust-panel{background:linear-gradient(135deg,var(--h35-petrol),var(--h35-deep)); color:#fff; border-radius:32px; padding:clamp(30px,4.2vw,56px); display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.7fr); gap:clamp(30px,5vw,86px); align-items:center; box-shadow:0 22px 60px rgba(7,50,79,.16)}
.h35-founder{display:flex; align-items:center; gap:16px; padding-right:clamp(20px,3vw,44px); border-right:1px solid rgba(255,255,255,.18)}
.h35-founder-mark{width:76px; height:76px; border-radius:18px; background:rgba(255,255,255,.1); display:grid; place-items:center; overflow:hidden; flex:0 0 auto}.h35-founder-mark img{max-width:96px; max-height:42px; object-fit:contain}.h35-founder strong{display:block; font-weight:900}.h35-founder span{display:block; margin-top:4px; color:rgba(230,244,255,.72); font-size:.9rem; line-height:1.35}
.h35-trust-statement h2{color:#fff; max-width:860px; font-size:clamp(1.85rem,2.75vw,3.1rem)}
.h35-proof-line{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px}.h35-proof-line span{display:inline-flex; min-height:38px; align-items:center; padding:0 14px; border-radius:999px; background:rgba(255,255,255,.12); color:rgba(240,248,255,.88); font-weight:750; font-size:.92rem}

/* SERVICES */
.h35-services{padding:var(--h35-section) 0; background:#fff}
.h35-head-left{margin-bottom:clamp(34px,4vw,58px)}
.h35-service-grid{display:grid; grid-template-columns:1.12fr .88fr .88fr; grid-template-rows:240px 240px; gap:20px}
.h35-card{position:relative; overflow:hidden; background:var(--h35-bg); border:1px solid var(--h35-line); border-radius:28px; padding:clamp(24px,2.4vw,34px); display:flex; flex-direction:column; justify-content:space-between; min-height:0; color:var(--h35-ink); transition:transform .25s ease, border-color .25s ease, background .25s ease}
.h35-card:hover{transform:translateY(-4px); border-color:rgba(13,92,134,.25); background:#fafdff}.h35-card svg{width:28px; height:28px; color:var(--h35-petrol); margin-bottom:22px}.h35-card strong{display:block; font-size:clamp(1.32rem,1.65vw,1.75rem); line-height:1.08; letter-spacing:-.045em}.h35-card span{display:block; margin-top:12px; color:var(--h35-text); line-height:1.58; max-width:36ch}.h35-card em{font-style:normal; color:var(--h35-petrol); font-weight:900; margin-top:22px}.h35-card-large{grid-row:span 2; background:linear-gradient(180deg,#eaf4fb,#fff)}.h35-card-large::after{content:""; position:absolute; inset:auto -10% -26% 18%; height:280px; background:url('../img/beratung.webp') center/cover; border-radius:28px 0 0 0; opacity:.24}.h35-card-large > *{position:relative; z-index:1}.h35-card-wide{grid-column:span 2; background:linear-gradient(90deg,#f6fbff,#fff)}.h35-card-urgent{background:var(--h35-deep); color:#fff}.h35-card-urgent span{color:rgba(235,247,255,.82)}.h35-card-urgent em{color:#fff}

/* TOOL */
.h35-tool{padding:var(--h35-section) 0; background:linear-gradient(180deg,#f5f8fb,#fff)}
.h35-tool-grid{display:grid; grid-template-columns:.86fr 1.14fr; gap:clamp(42px,6vw,90px); align-items:center}.h35-head-right{justify-self:end; text-align:right}.h35-head-right p{margin-left:auto}.h35-calc{background:#fff; border:1px solid var(--h35-line); border-radius:30px; padding:clamp(24px,3vw,40px); box-shadow:var(--h35-shadow)}.h35-calc-head strong{font-size:clamp(1.3rem,1.7vw,1.75rem); letter-spacing:-.04em}.h35-calc-head span{display:block; margin-top:6px; color:var(--h35-text)}.h35-calc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:26px 0 22px}.h35-calc label,.h35-form label{display:flex; flex-direction:column; gap:8px; color:var(--h35-ink); font-weight:850; font-size:.85rem}.h35-calc select,.h35-form input,.h35-form select,.h35-form textarea{min-height:52px; border:1px solid rgba(15,23,32,.12); border-radius:16px; padding:0 14px; background:#fff; color:var(--h35-ink); outline:none}.h35-form textarea{min-height:124px; padding-top:14px; resize:vertical}.h35-calc select:focus,.h35-form input:focus,.h35-form select:focus,.h35-form textarea:focus{border-color:rgba(13,92,134,.5); box-shadow:0 0 0 4px rgba(13,92,134,.08)}.h35-result{margin-top:18px; background:var(--h35-ice); border-radius:20px; padding:18px 20px}.h35-result p{margin:8px 0 0; color:var(--h35-text); line-height:1.55}

/* WORK */
.h35-work{padding:var(--h35-section) 0; background:#fff}.h35-work-stage{position:relative; min-height:620px; border-radius:34px; overflow:hidden; background:#d8e5ee; display:grid; align-items:end; box-shadow:var(--h35-shadow)}.h35-work-image{position:absolute; inset:0}.h35-work-image img{width:100%; height:100%; object-fit:cover; filter:saturate(.95)}.h35-work-stage::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,50,79,.04),rgba(7,50,79,.2) 42%,rgba(7,50,79,.82))}.h35-work-copy{position:relative; z-index:1; margin-left:auto; width:min(520px,100%); padding:clamp(30px,4vw,56px); color:#fff}.h35-work-copy .h35-eyebrow{color:rgba(225,242,255,.84)}.h35-work-copy h2,.h35-work-copy p{color:#fff}.h35-work-copy p{color:rgba(238,248,255,.88)}.h35-soft-points{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}.h35-soft-points span{background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.14); border-radius:999px; padding:10px 13px; font-weight:750; font-size:.9rem}

/* REGION */
.h35-region{padding:var(--h35-section) 0; background:var(--h35-bg)}.h35-region-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(38px,6vw,92px); align-items:center}.h35-region-visual{position:relative; min-height:390px; border-radius:32px; background:radial-gradient(circle at 50% 50%,rgba(13,92,134,.2),transparent 34%),linear-gradient(135deg,#eef6fc,#fff); border:1px solid var(--h35-line); overflow:hidden}.h35-region-visual::before{content:""; position:absolute; inset:48px; border:1px solid rgba(13,92,134,.18); border-radius:50%}.h35-region-visual::after{content:"Gelsenkirchen"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); padding:14px 18px; border-radius:999px; background:var(--h35-petrol); color:#fff; font-weight:900}.h35-region-visual span{position:absolute; width:12px; height:12px; border-radius:50%; background:var(--h35-accent)}.h35-region-visual span:nth-child(1){left:30%; top:34%}.h35-region-visual span:nth-child(2){right:27%; top:38%}.h35-region-visual span:nth-child(3){left:36%; bottom:28%}.h35-region-visual span:nth-child(4){right:34%; bottom:24%}.h35-city-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:28px}.h35-city-tags a{padding:10px 14px; background:#fff; border:1px solid var(--h35-line); border-radius:999px; color:var(--h35-ink); font-weight:760; transition:transform .22s ease}.h35-city-tags a:hover{transform:translateY(-2px); color:var(--h35-petrol)}

/* CONTACT */
.h35-contact{padding:var(--h35-section) 0; background:#fff}.h35-contact-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(42px,6vw,90px); align-items:start}.h35-contact-lines a{color:var(--h35-petrol); font-weight:850}.h35-form{background:linear-gradient(180deg,#fff,#fafdff); border:1px solid var(--h35-line); border-radius:30px; padding:clamp(24px,3vw,40px); box-shadow:var(--h35-shadow)}.h35-form-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-bottom:20px}.h35-form .full{grid-column:1/-1}.h35-form .form-note{margin-top:16px; color:var(--h35-muted); font-size:.92rem}

/* animation */
.home-v35 .reveal{opacity:0; transform:translateY(18px); transition:opacity .72s cubic-bezier(.22,.61,.36,1), transform .72s cubic-bezier(.22,.61,.36,1)}.home-v35 .reveal.in-view{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.h35-hero::before,.home-v35 .reveal{transition:none!important; transform:none!important}.home-v35 .reveal{opacity:1!important}}

/* RESPONSIVE */
@media (max-width:1180px){
  .h35-hero{padding-top:114px}.h35-hero::before,.h35-hero::after{inset:86px var(--h35-gutter) 36px var(--h35-gutter)}.h35-service-rail{grid-template-columns:repeat(3,minmax(0,1fr)); margin-left:0}.h35-trust-panel,.h35-tool-grid,.h35-region-grid,.h35-contact-grid{grid-template-columns:1fr}.h35-founder{border-right:0; border-bottom:1px solid rgba(255,255,255,.18); padding:0 0 24px}.h35-head-right{text-align:left; justify-self:start}.h35-head-right p{margin-left:0}.h35-service-grid{grid-template-columns:1fr 1fr; grid-template-rows:auto}.h35-card-large,.h35-card-wide,.h35-card-urgent{grid-column:auto; grid-row:auto; min-height:280px}.h35-card-wide,.h35-card-urgent{grid-column:span 1}
}
@media (max-width:760px){
  :root{--h35-gutter:20px;--h35-section:76px}.h35-hero{min-height:auto; padding:104px 0 38px}.h35-hero::before,.h35-hero::after{inset:78px 14px 18px 14px; border-radius:28px}.h35-hero-shell{min-height:auto; padding:42px 22px 24px; gap:42px}.h35-hero h1{font-size:clamp(2.25rem,11vw,3.25rem)}.h35-hero-copy p{font-size:1rem}.h35-service-rail{grid-template-columns:1fr; gap:8px}.h35-service-rail a{min-height:58px; border-radius:16px; padding:13px 14px}.h35-trust-panel{border-radius:26px}.h35-proof-line span{width:100%; justify-content:center}.h35-service-grid{grid-template-columns:1fr}.h35-card{min-height:230px; border-radius:24px}.h35-calc-grid,.h35-form-grid{grid-template-columns:1fr}.h35-work-stage{min-height:560px; border-radius:26px}.h35-work-stage::after{background:linear-gradient(180deg,rgba(7,50,79,.08),rgba(7,50,79,.86))}.h35-work-copy{margin:0; width:100%; padding:28px 22px}.h35-region-visual{min-height:280px}.h35-section-head h2,.h35-trust-statement h2,.h35-work-copy h2{font-size:clamp(1.85rem,9vw,2.55rem)}
}


/* V36 composition refinement: cleaner canvas, stronger spacing, less grey mass */
:root{
  --h35-bg:#f7f9fb;
  --h35-white:#fff;
  --h35-ice:#edf5fb;
  --h35-petrol:#0b5a83;
  --h35-deep:#062e49;
  --h35-ink:#101820;
  --h35-text:#445766;
  --h35-muted:#718291;
  --h35-accent:#f97316;
  --h35-line:rgba(16,24,32,.095);
  --h35-shadow:0 26px 74px rgba(6,46,73,.09);
  --h35-gutter:clamp(22px,6.2vw,112px);
  --h35-section:clamp(92px,8.6vw,148px);
}
@media (min-width:1700px){
  :root{
    --h35-gutter:clamp(112px,7.3vw,148px);
    --h35-shell:min(100% - (var(--h35-gutter) * 2),1320px);
    --h35-wide:min(100% - (var(--h35-gutter) * 2),1500px);
  }
}
body.home-v36,
.home-v36 .page{background:#fff}
.home-v36 .h35-eyebrow{font-size:.72rem; letter-spacing:.18em}
.home-v36 .h35-section-head h2,
.home-v36 .h35-trust-statement h2,
.home-v36 .h35-work-copy h2{
  font-size:clamp(2rem,2.75vw,3rem);
  letter-spacing:-.05em;
}
.home-v36 .h35-section-head p,
.home-v36 .h35-work-copy p{
  font-size:clamp(1rem,1vw,1.12rem);
}

/* hero: calmer but more cinematic */
.home-v36 .h35-hero{
  min-height:clamp(760px,90vh,920px);
  padding:116px 0 54px;
  background:linear-gradient(180deg,#f6f8fa 0%,#fff 100%);
}
.home-v36 .h35-hero::before{
  inset:92px var(--h35-gutter) 38px var(--h35-gutter);
  border-radius:38px;
  background:
    linear-gradient(90deg,rgba(6,46,73,.80) 0%,rgba(6,46,73,.58) 42%,rgba(6,46,73,.12) 74%),
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.20),transparent 28%),
    url('../img/hero-service.webp') center right/cover;
  box-shadow:0 30px 86px rgba(6,46,73,.15);
}
.home-v36 .h35-hero::after{
  inset:92px var(--h35-gutter) 38px var(--h35-gutter);
  border-radius:38px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.22)),
    radial-gradient(circle at 70% 18%,rgba(255,255,255,.14),transparent 28%);
}
.home-v36 .h35-hero-shell{
  min-height:610px;
  padding:clamp(48px,5.4vw,82px);
  gap:clamp(34px,5vw,68px);
  align-content:space-between;
}
.home-v36 .h35-hero-copy{max-width:610px}
.home-v36 .h35-hero h1{
  max-width:11.2ch;
  font-size:clamp(2.75rem,4.75vw,4.55rem);
}
.home-v36 .h35-hero-copy p{
  max-width:525px;
  margin-top:20px;
  font-size:clamp(1rem,1.02vw,1.14rem);
  line-height:1.68;
}
.home-v36 .h35-hero-actions{margin-top:28px; gap:22px}
.home-v36 .h35-service-rail{
  max-width:780px;
  width:min(100%,780px);
  gap:8px;
}
.home-v36 .h35-service-rail a{
  min-height:70px;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
}
.home-v36 .h35-service-rail span{font-size:.94rem}
.home-v36 .h35-service-rail a:hover{transform:translateY(-2px); background:#fff}
.home-v36 .h35-service-rail .is-urgent{background:#f97316}

/* trust: more editorial statement, less chip clutter */
.home-v36 .h35-trust{
  padding:clamp(42px,5.2vw,84px) 0 clamp(92px,8vw,132px);
  background:#fff;
}
.home-v36 .h35-trust-panel{
  border-radius:34px;
  padding:clamp(34px,4.6vw,62px);
  gap:clamp(34px,5vw,92px);
}
.home-v36 .h35-founder-mark{width:68px;height:68px}
.home-v36 .h35-trust-statement h2{max-width:760px; font-size:clamp(1.95rem,2.55vw,3rem)}
.h36-trust-copy{
  color:rgba(238,248,255,.82);
  line-height:1.7;
  margin:18px 0 0;
  max-width:640px;
  font-size:clamp(1rem,1vw,1.12rem);
}
.home-v36 .h35-proof-line{gap:8px; margin-top:26px}
.home-v36 .h35-proof-line span{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  font-size:.88rem;
}

/* services: stronger bento and better hierarchy */
.home-v36 .h35-services{
  padding:var(--h35-section) 0;
  background:linear-gradient(180deg,#f7f9fb 0%,#fff 100%);
}
.home-v36 .h35-head-left{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:clamp(30px,5vw,78px);
  align-items:end;
  margin-bottom:clamp(36px,4.6vw,64px);
}
.home-v36 .h35-head-left h2{max-width:520px}
.home-v36 .h35-head-left p{margin:0 0 4px; max-width:420px}
.home-v36 .h35-service-grid{
  grid-template-columns:1.2fr .9fr .9fr;
  grid-template-rows:minmax(255px,1fr) minmax(255px,1fr);
  gap:22px;
}
.home-v36 .h35-card{
  border-radius:30px;
  padding:clamp(26px,2.6vw,38px);
  background:#fff;
  box-shadow:none;
}
.home-v36 .h35-card:hover{transform:translateY(-3px); box-shadow:0 20px 54px rgba(6,46,73,.07)}
.home-v36 .h35-card strong{font-size:clamp(1.25rem,1.52vw,1.62rem)}
.home-v36 .h35-card span{font-size:.98rem; line-height:1.62}
.home-v36 .h35-card-large{
  background:
    linear-gradient(180deg,rgba(234,244,251,.94),rgba(255,255,255,.94)),
    radial-gradient(circle at 76% 82%,rgba(11,90,131,.16),transparent 30%);
}
.home-v36 .h35-card-large::after{
  inset:auto -4% -22% 18%;
  height:300px;
  opacity:.30;
}
.home-v36 .h35-card-wide{
  background:
    linear-gradient(90deg,rgba(255,255,255,.96),rgba(245,250,253,.92)),
    radial-gradient(circle at 82% 50%,rgba(11,90,131,.12),transparent 28%);
}
.home-v36 .h35-card-urgent{
  background:linear-gradient(135deg,#07324f,#0b5a83);
}

/* tool: more premium product-like module */
.home-v36 .h35-tool{
  background:#fff;
  padding:clamp(92px,8vw,136px) 0;
}
.home-v36 .h35-tool-grid{
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(44px,6vw,96px);
}
.home-v36 .h35-head-right h2{max-width:520px}
.home-v36 .h35-calc{
  border-radius:32px;
  box-shadow:0 28px 72px rgba(6,46,73,.09);
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
}
.home-v36 .h35-calc-grid{gap:18px}

/* work stage: image breathes more, copy panel less sticky */
.home-v36 .h35-work{
  background:linear-gradient(180deg,#fff,#f7f9fb);
}
.home-v36 .h35-work-stage{
  min-height:660px;
  border-radius:36px;
}
.home-v36 .h35-work-stage::after{
  background:linear-gradient(90deg,rgba(6,46,73,.03),rgba(6,46,73,.16) 42%,rgba(6,46,73,.86));
}
.home-v36 .h35-work-copy{
  width:min(500px,100%);
  padding:clamp(34px,4.4vw,62px);
}

/* region: less playful fake map, more calm local system */
.home-v36 .h35-region{
  background:#f7f9fb;
}
.home-v36 .h35-region-visual{
  min-height:410px;
  background:
    radial-gradient(circle at 50% 50%,rgba(11,90,131,.20),transparent 32%),
    linear-gradient(135deg,#ffffff,#eaf2f8);
}
.home-v36 .h35-region-visual strong{
  position:absolute;
  left:32px;
  bottom:28px;
  font-size:clamp(1.6rem,2.4vw,2.55rem);
  letter-spacing:-.055em;
  color:rgba(16,24,32,.70);
}
.home-v36 .h35-city-tags a{border-radius:14px}

/* contact: keep final calm and direct */
.home-v36 .h35-contact{
  padding:var(--h35-section) 0;
  background:#fff;
}
.home-v36 .h35-form{
  border-radius:32px;
  box-shadow:0 22px 60px rgba(6,46,73,.075);
}

@media (max-width:1180px){
  .home-v36 .h35-head-left{grid-template-columns:1fr}
  .home-v36 .h35-head-left p{margin-top:14px}
  .home-v36 .h35-service-rail{grid-template-columns:repeat(5,minmax(0,1fr))}
  .home-v36 .h35-service-rail a{min-height:64px; padding:13px 12px; gap:9px}
  .home-v36 .h35-service-rail span{font-size:.86rem}
}
@media (max-width:900px){
  .home-v36 .h35-service-rail{grid-template-columns:repeat(2,minmax(0,1fr)); max-width:560px}
  .home-v36 .h35-service-rail .is-urgent{grid-column:1/-1}
}
@media (max-width:760px){
  :root{--h35-section:78px}
  .home-v36 .h35-hero{
    padding:98px 0 26px;
    min-height:auto;
  }
  .home-v36 .h35-hero::before,
  .home-v36 .h35-hero::after{
    inset:76px 12px 14px 12px;
    border-radius:28px;
  }
  .home-v36 .h35-hero-shell{
    padding:38px 20px 22px;
    gap:34px;
  }
  .home-v36 .h35-hero h1{
    max-width:11.6ch;
    font-size:clamp(2.2rem,10.6vw,3.2rem);
  }
  .home-v36 .h35-service-rail{grid-template-columns:1fr; gap:7px}
  .home-v36 .h35-service-rail a{min-height:54px}
  .home-v36 .h35-trust-panel{padding:28px 22px}
  .home-v36 .h35-service-grid{gap:14px}
  .home-v36 .h35-card{padding:24px 22px}
  .home-v36 .h35-work-stage{min-height:540px}
  .home-v36 .h35-work-copy{padding:28px 22px}
  .home-v36 .h35-region-visual strong{left:22px; bottom:20px}
}


/* V37 hard spacing audit: nav-to-hero, section rhythm, card gaps, XXL/mobility */
:root{
  --h37-nav-safe:104px;
  --h37-hero-top-gap:26px;
  --h37-hero-bottom-gap:50px;
  --h37-hero-pad-x:clamp(44px,5.2vw,78px);
  --h37-hero-pad-y:clamp(44px,5.1vw,76px);
  --h37-block-gap:clamp(28px,3.5vw,54px);
  --h37-section-gap:clamp(88px,8vw,136px);
  --h37-card-gap:clamp(16px,1.55vw,24px);
  --h37-card-pad:clamp(24px,2.35vw,36px);
}
@media (min-width:1700px){
  :root{
    --h37-nav-safe:112px;
    --h37-hero-top-gap:34px;
    --h37-hero-bottom-gap:64px;
    --h37-section-gap:clamp(104px,7vw,148px);
  }
}

/* Header-to-hero relationship: fixed visual breathing zone */
.home-v37 .site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
}
.home-v37 .h35-hero{
  min-height:calc(100vh - 18px);
  padding-top:calc(var(--h37-nav-safe) + var(--h37-hero-top-gap));
  padding-bottom:var(--h37-hero-bottom-gap);
  align-items:stretch;
}
.home-v37 .h35-hero::before,
.home-v37 .h35-hero::after{
  inset:
    calc(var(--h37-nav-safe) + var(--h37-hero-top-gap))
    var(--h35-gutter)
    var(--h37-hero-bottom-gap)
    var(--h35-gutter);
  border-radius:36px;
}
.home-v37 .h35-hero-shell{
  min-height:calc(100vh - var(--h37-nav-safe) - var(--h37-hero-top-gap) - var(--h37-hero-bottom-gap));
  padding:var(--h37-hero-pad-y) var(--h37-hero-pad-x);
  display:grid;
  grid-template-rows:1fr auto;
  align-content:stretch;
  gap:var(--h37-block-gap);
}
.home-v37 .h35-hero-copy{
  align-self:center;
  margin:0;
}
.home-v37 .h35-hero h1{
  font-size:clamp(2.7rem,4.45vw,4.35rem);
  max-width:11.5ch;
}
.home-v37 .h35-hero-copy p{
  margin-top:18px;
  max-width:510px;
}
.home-v37 .h35-hero-actions{
  margin-top:26px;
}
.home-v37 .h35-service-rail{
  align-self:end;
  margin-left:auto;
  margin-bottom:0;
  max-width:760px;
}
.home-v37 .h35-service-rail a{
  min-height:64px;
  padding:14px 15px;
}

/* Section rhythm: no accidental crowding after hero */
.home-v37 .h35-trust,
.home-v37 .h35-services,
.home-v37 .h35-tool,
.home-v37 .h35-work,
.home-v37 .h35-region,
.home-v37 .h35-contact{
  padding-top:var(--h37-section-gap);
  padding-bottom:var(--h37-section-gap);
}
.home-v37 .h35-trust{
  padding-top:clamp(72px,6vw,110px);
}

/* Internal section spacing */
.home-v37 .h35-head-left,
.home-v37 .h35-section-head{
  margin-bottom:clamp(34px,4.2vw,60px);
}
.home-v37 .h35-head-right{
  margin-bottom:0;
}
.home-v37 .h35-service-grid{
  gap:var(--h37-card-gap);
  grid-template-rows:minmax(270px,1fr) minmax(270px,1fr);
}
.home-v37 .h35-card{
  padding:var(--h37-card-pad);
  border-radius:30px;
}
.home-v37 .h35-card svg{
  margin-bottom:18px;
}
.home-v37 .h35-card span{
  margin-top:10px;
}
.home-v37 .h35-card em{
  margin-top:18px;
}

/* Trust panel breath */
.home-v37 .h35-trust-panel{
  padding:clamp(36px,4.8vw,68px);
  gap:clamp(34px,5.5vw,96px);
}
.home-v37 .h35-proof-line{
  margin-top:24px;
}

/* Tool spacing consistency */
.home-v37 .h35-tool-grid,
.home-v37 .h35-region-grid,
.home-v37 .h35-contact-grid{
  gap:clamp(42px,6vw,96px);
}
.home-v37 .h35-calc,
.home-v37 .h35-form{
  padding:clamp(26px,3vw,42px);
}
.home-v37 .h35-calc-grid,
.home-v37 .h35-form-grid{
  gap:18px;
}

/* Work stage: keep stage away from section edges */
.home-v37 .h35-work-stage{
  min-height:clamp(560px,54vw,680px);
}

/* Region card not too close to text */
.home-v37 .h35-region-visual{
  min-height:clamp(340px,35vw,430px);
}

/* Footer transition */
.home-v37 .site-footer{
  margin-top:0;
}

/* Tablet: keep hero rail within visual canvas, not crushed */
@media (max-width:1180px){
  :root{
    --h37-nav-safe:96px;
    --h37-hero-top-gap:18px;
    --h37-hero-bottom-gap:36px;
    --h37-hero-pad-x:clamp(28px,5vw,52px);
    --h37-hero-pad-y:clamp(34px,5vw,58px);
  }
  .home-v37 .h35-hero{
    min-height:auto;
  }
  .home-v37 .h35-hero-shell{
    min-height:720px;
  }
  .home-v37 .h35-service-rail{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:680px;
    margin-left:0;
  }
}

/* Mobile: header safe area + hero card must breathe */
@media (max-width:760px){
  :root{
    --h37-nav-safe:78px;
    --h37-hero-top-gap:14px;
    --h37-hero-bottom-gap:18px;
    --h37-hero-pad-x:20px;
    --h37-hero-pad-y:34px;
    --h37-section-gap:76px;
    --h37-card-gap:14px;
  }
  .home-v37 .h35-hero{
    padding-top:calc(var(--h37-nav-safe) + var(--h37-hero-top-gap));
    padding-bottom:var(--h37-hero-bottom-gap);
  }
  .home-v37 .h35-hero::before,
  .home-v37 .h35-hero::after{
    inset:
      calc(var(--h37-nav-safe) + var(--h37-hero-top-gap))
      12px
      var(--h37-hero-bottom-gap)
      12px;
    border-radius:26px;
  }
  .home-v37 .h35-hero-shell{
    min-height:auto;
    padding:var(--h37-hero-pad-y) var(--h37-hero-pad-x) 22px;
    gap:30px;
  }
  .home-v37 .h35-hero h1{
    font-size:clamp(2.14rem,10.2vw,3rem);
    max-width:12ch;
  }
  .home-v37 .h35-hero-copy p{
    font-size:.98rem;
    line-height:1.62;
    max-width:100%;
  }
  .home-v37 .h35-hero-actions{
    gap:16px;
    margin-top:22px;
  }
  .home-v37 .h35-service-rail{
    grid-template-columns:1fr;
    gap:7px;
  }
  .home-v37 .h35-service-rail a{
    min-height:52px;
    padding:12px 14px;
    border-radius:15px;
  }
  .home-v37 .h35-trust,
  .home-v37 .h35-services,
  .home-v37 .h35-tool,
  .home-v37 .h35-work,
  .home-v37 .h35-region,
  .home-v37 .h35-contact{
    padding-top:var(--h37-section-gap);
    padding-bottom:var(--h37-section-gap);
  }
  .home-v37 .h35-service-grid{
    gap:var(--h37-card-gap);
  }
  .home-v37 .h35-card{
    min-height:220px;
  }
  .home-v37 .h35-trust-panel,
  .home-v37 .h35-calc,
  .home-v37 .h35-form{
    padding:24px 20px;
  }
}


/* V38 home: simple parallax and floating nav alignment */
:root{
  --h37-nav-safe:104px;
}
.home-v38 .h35-hero::before{
  transform:translate3d(0,var(--h38-parallax-y,0px),0);
  transition:transform .12s linear;
}
.home-v38 .h35-hero::after{
  transform:none;
}
.home-v38 .h35-hero{
  padding-top:calc(var(--h37-nav-safe) + 18px);
}
.home-v38 .h35-hero::before,
.home-v38 .h35-hero::after{
  inset:
    calc(var(--h37-nav-safe) + 18px)
    var(--h35-gutter)
    var(--h37-hero-bottom-gap)
    var(--h35-gutter);
}
.home-v38 .h35-hero-shell{
  min-height:calc(100vh - var(--h37-nav-safe) - 18px - var(--h37-hero-bottom-gap));
}
@media (max-width:1120px){
  :root{--h37-nav-safe:92px}
  .home-v38 .h35-hero{padding-top:calc(var(--h37-nav-safe) + 16px)}
  .home-v38 .h35-hero::before,
  .home-v38 .h35-hero::after{
    inset:calc(var(--h37-nav-safe) + 16px) var(--h35-gutter) var(--h37-hero-bottom-gap) var(--h35-gutter);
  }
}
@media (max-width:760px){
  :root{--h37-nav-safe:82px}
  .home-v38 .h35-hero{padding-top:calc(var(--h37-nav-safe) + 12px)}
  .home-v38 .h35-hero::before,
  .home-v38 .h35-hero::after{
    inset:calc(var(--h37-nav-safe) + 12px) 12px var(--h37-hero-bottom-gap) 12px;
  }
}
@media (prefers-reduced-motion:reduce){
  .home-v38 .h35-hero::before{transform:none !important;transition:none !important}
}


/* V39: native header spacing, Vanilla service slider, Leaflet region map */
:root{
  --h37-nav-safe:76px;
}
.home-v39 .h35-hero{
  padding-top:calc(var(--h37-nav-safe) + 22px);
}
.home-v39 .h35-hero::before,
.home-v39 .h35-hero::after{
  inset:
    calc(var(--h37-nav-safe) + 22px)
    var(--h35-gutter)
    var(--h37-hero-bottom-gap)
    var(--h35-gutter);
}
.home-v39 .h35-hero-shell{
  min-height:calc(100vh - var(--h37-nav-safe) - 22px - var(--h37-hero-bottom-gap));
}

/* replace old bento grid with a composed slider */
.home-v39 .h35-service-grid{display:none !important}
.h39-service-slider{
  position:relative;
  border-radius:34px;
  background:
    linear-gradient(135deg,#f6f9fb,#fff);
  border:1px solid rgba(16,24,32,.085);
  overflow:hidden;
  padding:clamp(16px,2vw,24px);
  box-shadow:0 24px 70px rgba(6,46,73,.07);
}
.h39-slider-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:clamp(14px,1.6vw,20px);
}
.h39-slider-status{
  display:flex;
  align-items:baseline;
  gap:4px;
  color:#0b5a83;
  font-weight:900;
  letter-spacing:-.05em;
  font-size:clamp(1.8rem,2.6vw,2.9rem);
}
.h39-slider-status small{
  color:#82909c;
  font-size:.95rem;
  letter-spacing:0;
  font-weight:800;
}
.h39-slider-controls{
  display:flex;
  gap:8px;
}
.h39-slider-controls button{
  width:44px;
  height:44px;
  border-radius:15px;
  border:1px solid rgba(16,24,32,.11);
  background:#fff;
  color:#102030;
  font-weight:900;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.h39-slider-controls button:hover{
  transform:translateY(-2px);
  border-color:rgba(11,90,131,.28);
  background:#edf5fb;
}
.h39-slider-viewport{
  overflow:hidden;
  border-radius:26px;
}
.h39-slider-track{
  display:flex;
  gap:18px;
  transform:translate3d(0,0,0);
  transition:transform .52s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.h39-slide{
  flex:0 0 min(72%, 720px);
  min-height:clamp(320px,32vw,430px);
}
.h39-slide-link{
  position:relative;
  height:100%;
  min-height:inherit;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:26px;
  padding:clamp(26px,3vw,44px);
  color:#101820;
  background:
    radial-gradient(circle at 82% 16%,rgba(11,90,131,.13),transparent 34%),
    #fff;
  border:1px solid rgba(16,24,32,.09);
  overflow:hidden;
}
.h39-slide-link::after{
  content:"";
  position:absolute;
  right:-10%;
  bottom:-28%;
  width:48%;
  height:56%;
  border-radius:50%;
  background:rgba(11,90,131,.07);
}
.h39-slide-kicker{
  width:max-content;
  padding:8px 11px;
  border-radius:999px;
  background:#edf5fb;
  color:#0b5a83;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.h39-slide svg{
  width:34px;
  height:34px;
  color:#0b5a83;
  margin-top:auto;
  margin-bottom:22px;
}
.h39-slide strong{
  display:block;
  max-width:10ch;
  font-size:clamp(2.05rem,3.3vw,4rem);
  line-height:.96;
  letter-spacing:-.07em;
  position:relative;
  z-index:1;
}
.h39-slide p{
  max-width:44ch;
  margin:18px 0 0;
  color:#445766;
  line-height:1.66;
  position:relative;
  z-index:1;
}
.h39-slide em{
  margin-top:28px;
  color:#0b5a83;
  font-style:normal;
  font-weight:900;
  position:relative;
  z-index:1;
}
.h39-slide-urgent .h39-slide-link{
  background:linear-gradient(135deg,#07324f,#0b5a83);
  color:#fff;
}
.h39-slide-urgent .h39-slide-kicker{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.h39-slide-urgent p,
.h39-slide-urgent em,
.h39-slide-urgent svg{
  color:rgba(255,255,255,.88);
}

/* Leaflet region map */
.h39-region-map-wrap{
  min-height:clamp(340px,35vw,430px);
  border-radius:32px;
  overflow:hidden;
  border:1px solid rgba(16,24,32,.095);
  box-shadow:0 22px 58px rgba(6,46,73,.07);
  background:#edf5fb;
}
.h39-region-map{
  width:100%;
  height:100%;
  min-height:inherit;
}
.h39-region-map .leaflet-tile-pane{
  filter:saturate(.72) contrast(.96) brightness(1.04);
}
.h39-region-map .leaflet-control-attribution{
  font-size:10px;
  background:rgba(255,255,255,.75);
}
.h39-region-map .leaflet-popup-content-wrapper{
  border-radius:14px;
}
.h39-region-marker{
  width:14px;
  height:14px;
  border-radius:50%;
  background:#f97316;
  border:3px solid #fff;
  box-shadow:0 8px 24px rgba(249,115,22,.35);
}
@media (max-width:1180px){
  :root{--h37-nav-safe:70px}
  .home-v39 .h35-hero{padding-top:calc(var(--h37-nav-safe) + 20px)}
  .home-v39 .h35-hero::before,
  .home-v39 .h35-hero::after{
    inset:calc(var(--h37-nav-safe) + 20px) var(--h35-gutter) var(--h37-hero-bottom-gap) var(--h35-gutter);
  }
  .h39-slide{flex-basis:min(84%,620px)}
}
@media (max-width:760px){
  :root{--h37-nav-safe:66px}
  .home-v39 .h35-hero{padding-top:calc(var(--h37-nav-safe) + 16px)}
  .home-v39 .h35-hero::before,
  .home-v39 .h35-hero::after{
    inset:calc(var(--h37-nav-safe) + 16px) 12px var(--h37-hero-bottom-gap) 12px;
  }
  .h39-service-slider{border-radius:26px;padding:12px}
  .h39-slider-viewport{border-radius:20px}
  .h39-slider-track{gap:12px}
  .h39-slide{flex-basis:100%;min-height:300px}
  .h39-slide-link{border-radius:20px;padding:24px 20px}
  .h39-slide strong{font-size:clamp(2rem,11vw,3rem)}
  .h39-region-map-wrap{border-radius:24px;min-height:320px}
}


/* V40 component correction: no weird parallax, robust service stage, softer blue surfaces */
.home-v40 .h35-hero::before{
  transform:none !important;
  transition:none !important;
}
.home-v40 .h35-hero{
  background:
    radial-gradient(circle at 14% 20%, rgba(11,90,131,.08), transparent 32%),
    linear-gradient(180deg,#f7faff 0%,#fff 100%) !important;
}
.home-v40 .h35-services{
  background:
    radial-gradient(circle at 82% 10%, rgba(11,90,131,.10), transparent 30%),
    linear-gradient(180deg,#f7fbff 0%,#ffffff 100%) !important;
}
.home-v40 .h35-tool{
  background:
    linear-gradient(180deg,#ffffff 0%,#f4f9fd 52%,#ffffff 100%) !important;
}
.home-v40 .h35-region{
  background:
    radial-gradient(circle at 12% 18%, rgba(11,90,131,.08), transparent 30%),
    linear-gradient(180deg,#f6faff 0%,#fff 100%) !important;
}

/* Disable old V39 slider completely */
.home-v40 .h39-service-slider{display:none !important}

/* Service stage */
.h40-service-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px, .34fr) minmax(0, 1fr);
  gap:clamp(16px,2vw,24px);
  border-radius:34px;
  padding:clamp(16px,2vw,24px);
  background:
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,248,253,.94));
  border:1px solid rgba(16,24,32,.085);
  box-shadow:0 24px 70px rgba(6,46,73,.07);
}
.h40-service-stage::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 84% 14%, rgba(11,90,131,.12), transparent 34%);
  pointer-events:none;
}
.h40-service-nav,
.h40-service-display{
  position:relative;
  z-index:1;
}
.h40-service-nav{
  display:grid;
  gap:8px;
  align-content:start;
}
.h40-service-nav button{
  min-height:64px;
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:12px;
  text-align:left;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(16,24,32,.075);
  background:rgba(255,255,255,.72);
  color:#102030;
  font-weight:900;
  letter-spacing:-.02em;
  transition:background .22s ease, border-color .22s ease, transform .22s ease, color .22s ease;
}
.h40-service-nav button:hover{
  transform:translateY(-1px);
  background:#fff;
  border-color:rgba(11,90,131,.20);
}
.h40-service-nav button.is-active{
  background:#0b5a83;
  border-color:#0b5a83;
  color:#fff;
}
.h40-service-nav svg{
  width:21px;
  height:21px;
  color:currentColor;
}
.h40-service-display{
  min-height:clamp(390px,36vw,520px);
  display:grid;
}
.h40-service-panel{
  grid-area:1/1;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .32s ease, transform .32s ease, visibility .32s ease;
  min-height:inherit;
  border-radius:28px;
  padding:clamp(30px,4vw,56px);
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(246,251,254,.94)),
    radial-gradient(circle at 86% 82%, rgba(11,90,131,.14), transparent 34%);
  border:1px solid rgba(16,24,32,.075);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}
.h40-service-panel::after{
  content:"";
  position:absolute;
}
.h40-service-panel.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
}
.h40-service-panel-dark{
  background:linear-gradient(135deg,#07324f,#0b5a83);
  color:#fff;
}
.h40-service-panel-dark p,
.h40-service-panel-dark .h40-panel-proof span{
  color:rgba(255,255,255,.84);
}
.h40-service-panel-dark .h40-kicker{
  color:#fff;
  background:rgba(255,255,255,.14);
}
.h40-service-panel-dark a{color:#fff}
.h40-kicker{
  display:inline-flex;
  width:max-content;
  padding:8px 11px;
  border-radius:999px;
  background:#eaf4fb;
  color:#0b5a83;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:clamp(26px,4vw,52px);
}
.h40-panel-copy h3{
  max-width:11ch;
  margin:0;
  font-size:clamp(2.35rem,4.3vw,5.1rem);
  line-height:.92;
  letter-spacing:-.075em;
  color:inherit;
}
.h40-panel-copy p{
  max-width:52ch;
  margin:clamp(18px,2vw,24px) 0 0;
  color:#445766;
  font-size:clamp(1rem,1.05vw,1.16rem);
  line-height:1.68;
}
.h40-panel-copy a{
  display:inline-flex;
  width:max-content;
  margin-top:clamp(24px,3vw,34px);
  color:#0b5a83;
  font-weight:900;
}
.h40-panel-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(34px,5vw,70px);
}
.h40-panel-proof span{
  padding:10px 13px;
  border-radius:999px;
  background:rgba(11,90,131,.08);
  color:#335467;
  font-size:.9rem;
  font-weight:800;
}

/* More tasteful blue layering on inner modules */
.home-v40 .h35-calc,
.home-v40 .h35-form,
.home-v40 .h35-trust-panel,
.home-v40 .h39-region-map-wrap{
  box-shadow:0 22px 66px rgba(6,46,73,.075);
}
.home-v40 .h35-calc{
  background:
    radial-gradient(circle at 88% 0%, rgba(11,90,131,.08), transparent 30%),
    linear-gradient(180deg,#fff,#f8fcff) !important;
}
.home-v40 .h39-region-map-wrap{
  background:#eef7fd;
}

/* Mobile */
@media (max-width:980px){
  .h40-service-stage{
    grid-template-columns:1fr;
  }
  .h40-service-nav{
    display:flex;
    overflow:auto;
    gap:8px;
    padding-bottom:4px;
    scroll-snap-type:x mandatory;
  }
  .h40-service-nav button{
    flex:0 0 auto;
    min-width:168px;
    scroll-snap-align:start;
  }
  .h40-service-display{
    min-height:420px;
  }
}
@media (max-width:760px){
  .h40-service-stage{
    border-radius:26px;
    padding:12px;
  }
  .h40-service-nav button{
    min-height:56px;
    min-width:150px;
    border-radius:16px;
  }
  .h40-service-panel{
    border-radius:22px;
    padding:26px 20px;
    min-height:380px;
  }
  .h40-panel-copy h3{
    font-size:clamp(2.15rem,12vw,3.45rem);
  }
  .h40-panel-proof{
    margin-top:30px;
  }
}


/* V41 Art Direction refinement: calmer hierarchy, lighter services, better surface rhythm */
:root{
  --h41-blue-wash:rgba(11,90,131,.065);
  --h41-blue-wash-strong:rgba(11,90,131,.10);
  --h41-line:rgba(16,24,32,.075);
}

/* Header: cleaner, less app-like */
.home-v41 .site-header .nav{
  height:74px !important;
}
.home-v41 .nav-links{
  background:rgba(243,248,252,.62) !important;
}
.home-v41 .nav-link{
  font-weight:780 !important;
}
.home-v41 .phone-pill{
  background:#0b2f4a !important;
}

/* Hero: more premium calm, less text pressure */
.home-v41 .h35-hero{
  background:
    radial-gradient(circle at 18% 18%, var(--h41-blue-wash), transparent 34%),
    linear-gradient(180deg,#f8fbfd 0%,#fff 100%) !important;
}
.home-v41 .h35-hero::before{
  background:
    linear-gradient(90deg,rgba(6,39,61,.78) 0%,rgba(6,39,61,.54) 42%,rgba(6,39,61,.10) 76%),
    radial-gradient(circle at 20% 22%,rgba(255,255,255,.16),transparent 30%),
    url('../img/hero-service.webp') center right/cover !important;
  box-shadow:0 28px 78px rgba(6,46,73,.13) !important;
}
.home-v41 .h35-hero h1{
  max-width:10.8ch !important;
  font-size:clamp(2.65rem,4.25vw,4.15rem) !important;
  letter-spacing:-.068em !important;
}
.home-v41 .h35-hero-copy p{
  max-width:500px !important;
  color:rgba(242,249,255,.88) !important;
}
.home-v41 .h35-service-rail{
  max-width:720px !important;
}
.home-v41 .h35-service-rail a{
  min-height:60px !important;
  background:rgba(255,255,255,.84) !important;
  border-color:rgba(255,255,255,.18) !important;
}
.home-v41 .h35-service-rail a:hover{
  background:#fff !important;
}

/* Trust: tighter and more confident */
.home-v41 .h35-trust-panel{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(135deg,#0b5a83,#062e49) !important;
  box-shadow:0 24px 70px rgba(6,46,73,.12) !important;
}
.home-v41 .h35-proof-line span{
  background:rgba(255,255,255,.10) !important;
}

/* Services: make stage lighter, more award-like */
.home-v41 .h35-services{
  background:
    radial-gradient(circle at 86% 8%,rgba(11,90,131,.075),transparent 32%),
    linear-gradient(180deg,#f9fcff 0%,#fff 78%) !important;
}
.home-v41 .h35-head-left{
  align-items:start !important;
}
.home-v41 .h35-head-left h2{
  max-width:560px !important;
}
.home-v41 .h40-service-stage{
  grid-template-columns:minmax(210px,.30fr) minmax(0,1fr) !important;
  gap:clamp(14px,1.7vw,22px) !important;
  border-radius:32px !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(247,251,254,.94)) !important;
  box-shadow:0 22px 64px rgba(6,46,73,.06) !important;
}
.home-v41 .h40-service-nav{
  background:rgba(255,255,255,.54);
  border:1px solid rgba(16,24,32,.055);
  border-radius:24px;
  padding:8px;
}
.home-v41 .h40-service-nav button{
  min-height:58px !important;
  border-radius:16px !important;
  background:transparent !important;
  border-color:transparent !important;
}
.home-v41 .h40-service-nav button:hover{
  background:#fff !important;
}
.home-v41 .h40-service-nav button.is-active{
  background:#0b5a83 !important;
  box-shadow:0 14px 34px rgba(11,90,131,.17);
}
.home-v41 .h40-service-display{
  min-height:clamp(360px,33vw,485px) !important;
}
.home-v41 .h40-service-panel{
  border-radius:26px !important;
  padding:clamp(30px,3.7vw,52px) !important;
  background:
    radial-gradient(circle at 85% 22%,rgba(11,90,131,.12),transparent 34%),
    linear-gradient(135deg,#fff,#f7fbfe) !important;
}
.home-v41 .h40-service-panel-dark{
  background:
    radial-gradient(circle at 88% 14%,rgba(255,255,255,.12),transparent 30%),
    linear-gradient(135deg,#062e49,#0b5a83) !important;
}
.home-v41 .h40-kicker{
  margin-bottom:clamp(22px,3.4vw,44px) !important;
}
.home-v41 .h40-panel-copy h3{
  font-size:clamp(2.1rem,3.75vw,4.55rem) !important;
  max-width:12ch !important;
}
.home-v41 .h40-panel-copy p{
  max-width:48ch !important;
}
.home-v41 .h40-panel-proof{
  margin-top:clamp(28px,4vw,54px) !important;
}
.home-v41 .h40-panel-proof span{
  background:rgba(11,90,131,.07) !important;
}

/* Tool and work surfaces: softer blue rhythm */
.home-v41 .h35-tool{
  background:
    radial-gradient(circle at 16% 18%,rgba(11,90,131,.06),transparent 32%),
    linear-gradient(180deg,#fff 0%,#f6fbff 55%,#fff 100%) !important;
}
.home-v41 .h35-calc{
  border-color:var(--h41-line) !important;
  box-shadow:0 22px 62px rgba(6,46,73,.065) !important;
}
.home-v41 .h35-work{
  background:
    linear-gradient(180deg,#fff 0%,#f7fbff 100%) !important;
}
.home-v41 .h35-work-stage{
  box-shadow:0 24px 66px rgba(6,46,73,.08) !important;
}

/* Region: map blends into page rather than looking pasted in */
.home-v41 .h35-region{
  background:
    radial-gradient(circle at 82% 8%,rgba(11,90,131,.06),transparent 30%),
    linear-gradient(180deg,#f7fbff 0%,#fff 100%) !important;
}
.home-v41 .h39-region-map-wrap{
  border-radius:30px !important;
  border-color:rgba(16,24,32,.075) !important;
  box-shadow:0 22px 62px rgba(6,46,73,.06) !important;
}
.home-v41 .h39-region-map .leaflet-tile-pane{
  filter:saturate(.62) contrast(.94) brightness(1.07) !important;
}

/* Contact: final CTA a bit less heavy */
.home-v41 .h35-form{
  border-color:var(--h41-line) !important;
  box-shadow:0 20px 58px rgba(6,46,73,.06) !important;
}

@media (max-width:980px){
  .home-v41 .h40-service-stage{
    grid-template-columns:1fr !important;
  }
  .home-v41 .h40-service-nav{
    display:flex !important;
    overflow:auto;
    padding:8px;
  }
  .home-v41 .h40-service-nav button{
    flex:0 0 auto;
    min-width:150px !important;
  }
}
@media (max-width:760px){
  .home-v41 .h35-hero h1{
    font-size:clamp(2.08rem,9.8vw,2.88rem) !important;
  }
  .home-v41 .h40-service-stage{
    border-radius:24px !important;
  }
  .home-v41 .h40-service-display{
    min-height:360px !important;
  }
  .home-v41 .h40-service-panel{
    padding:24px 19px !important;
  }
  .home-v41 .h40-panel-copy h3{
    font-size:clamp(2rem,10.8vw,3.05rem) !important;
  }
}


/* V42: image-led service stage and subpage text polish */
.home-v42 .h40-service-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(240px,.62fr);
  gap:clamp(24px,4vw,58px);
  align-items:end;
}
.home-v42 .h40-service-panel-dark{
  grid-template-columns:minmax(0,.9fr) minmax(240px,.62fr);
}
.h42-panel-visual{
  position:relative;
  min-height:clamp(230px,28vw,390px);
  border-radius:24px;
  overflow:hidden;
  align-self:stretch;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.h42-panel-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,46,73,.04),rgba(6,46,73,.26)),
    radial-gradient(circle at 20% 18%,rgba(255,255,255,.16),transparent 28%);
  pointer-events:none;
}
.h42-panel-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(.98);
  transform:scale(1.02);
}
.home-v42 .h40-panel-copy{
  position:relative;
  z-index:2;
}
.home-v42 .h40-panel-copy h3{
  font-size:clamp(2rem,3.25vw,4.05rem) !important;
  max-width:11.6ch !important;
}
.home-v42 .h40-panel-proof{
  grid-column:1/-1;
  margin-top:clamp(18px,2.5vw,34px) !important;
}
.home-v42 .h40-service-panel-dark .h42-panel-visual::after{
  background:linear-gradient(180deg,rgba(6,46,73,.12),rgba(6,46,73,.48));
}
.home-v42 .h40-service-panel-dark .h42-panel-visual{
  opacity:.92;
}

/* Homepage text rhythm */
.home-v42 .h35-head-left p{
  max-width:470px !important;
}
.home-v42 .h35-section-head h2{
  text-wrap:balance;
}

/* Subpage polish: calmer titles, better lead widths, less playful copy feel */
body:not(.home-v42) .sub-hero .h1,
.sub-hero .h1{
  letter-spacing:-.058em !important;
  line-height:.98 !important;
  max-width:12.5ch !important;
}
.sub-hero .lead{
  max-width:640px !important;
  line-height:1.68 !important;
}
.service-story .h2,
.service-scope .h2,
.calc-section .h2,
.faq .h2,
.contact .h2{
  text-wrap:balance;
}
.service-story .lead,
.service-scope p,
.calc-copy .lead,
.faq-item p{
  line-height:1.68 !important;
}
.proof-strip{
  background:linear-gradient(135deg,#fff,#f7fbff) !important;
  border-color:rgba(16,24,32,.075) !important;
}
.proof-item{
  background:transparent !important;
}
.scope-card,
.calc-card,
.faq-item{
  background:linear-gradient(180deg,#fff,#f9fcff) !important;
  border-color:rgba(16,24,32,.075) !important;
}
@media (max-width:980px){
  .home-v42 .h40-service-panel{
    grid-template-columns:1fr;
  }
  .h42-panel-visual{
    min-height:260px;
    order:-1;
  }
}
@media (max-width:760px){
  .home-v42 .h40-service-panel{
    gap:20px;
  }
  .h42-panel-visual{
    min-height:210px;
    border-radius:18px;
  }
  .home-v42 .h40-panel-proof{
    margin-top:20px !important;
  }
}


/* V43 home DNA unification */
.home-v43{
  --h43-orange:#f97316;
  --h43-orange-soft:rgba(249,115,22,.10);
  --h43-blue:#0b5a83;
  --h43-deep:#062e49;
  --h43-ink:#101820;
  --h43-text:#465866;
  --h43-line:rgba(16,24,32,.075);
}
.home-v43 .h35-hero::before{
  background:
    linear-gradient(90deg,rgba(6,39,61,.78) 0%,rgba(6,39,61,.56) 44%,rgba(6,39,61,.10) 76%),
    radial-gradient(circle at 18% 24%,rgba(255,255,255,.16),transparent 30%),
    url('../img/hero-service.webp') center right/cover !important;
}
.home-v43 .h35-hero .h35-eyebrow{
  color:rgba(235,247,255,.88) !important;
}
.home-v43 .h35-hero .h35-eyebrow::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:9px;
  border-radius:999px;
  background:var(--h43-orange);
  vertical-align:middle;
}
.home-v43 .h35-hero-actions .h35-btn-primary{
  background:var(--h43-orange) !important;
  box-shadow:0 16px 40px rgba(249,115,22,.22) !important;
}
.home-v43 .h35-hero-actions .h35-btn-primary:hover{
  background:#ea580c !important;
}
.home-v43 .h35-hero-actions .h35-btn-primary::after{
  background:#fff !important;
}
.home-v43 .h35-service-rail{
  grid-template-columns:1fr 1fr 1.25fr 1fr 1.05fr !important;
  gap:9px !important;
}
.home-v43 .h35-service-rail a{
  min-width:0;
  background:rgba(255,255,255,.90) !important;
  color:var(--h43-ink) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  overflow:hidden;
}
.home-v43 .h35-service-rail span{
  font-size:.92rem !important;
  line-height:1.05 !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.home-v43 .h35-service-rail svg{
  color:var(--h43-blue) !important;
}
.home-v43 .h35-service-rail .is-urgent{
  background:linear-gradient(135deg,#fff7ed,#ffffff) !important;
  color:var(--h43-ink) !important;
  border-color:rgba(249,115,22,.26) !important;
}
.home-v43 .h35-service-rail .is-urgent svg{
  color:var(--h43-orange) !important;
}
.home-v43 .h35-service-rail .is-urgent:hover{
  background:#fff !important;
  border-color:rgba(249,115,22,.44) !important;
}

/* Button DNA */
.home-v43 .h35-btn{
  border-radius:15px !important;
}
.home-v43 .h35-btn-primary{
  background:var(--h43-blue) !important;
}
.home-v43 .h35-btn-primary::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--h43-orange);
}

/* Services: consistent visual language with controlled orange */
.home-v43 .h40-service-stage{
  border-color:var(--h43-line) !important;
}
.home-v43 .h40-service-nav button.is-active{
  background:var(--h43-blue) !important;
  box-shadow:0 14px 34px rgba(11,90,131,.15) !important;
}
.home-v43 .h40-service-nav button.is-active::after{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--h43-orange);
  justify-self:end;
}
.home-v43 .h40-kicker{
  background:rgba(11,90,131,.08) !important;
  color:var(--h43-blue) !important;
}
.home-v43 .h40-kicker::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:999px;
  background:var(--h43-orange);
  vertical-align:middle;
}
.home-v43 .h40-service-panel-dark .h40-kicker{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.home-v43 .h40-panel-copy a{
  color:var(--h43-blue) !important;
}
.home-v43 .h40-service-panel-dark .h40-panel-copy a{
  color:#fff !important;
}
.home-v43 .h40-panel-proof span{
  border:1px solid rgba(11,90,131,.08);
}
.home-v43 .h40-service-panel-dark .h40-panel-proof span{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.10) !important;
}

/* Image panels: more consistent, less mixed */
.home-v43 .h42-panel-visual{
  border-radius:22px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 18px 44px rgba(6,46,73,.08);
}
.home-v43 .h42-panel-visual::after{
  background:
    linear-gradient(180deg,rgba(6,46,73,.02),rgba(6,46,73,.22)),
    radial-gradient(circle at 80% 14%,rgba(249,115,22,.10),transparent 24%) !important;
}

/* Trust / tool / map unify */
.home-v43 .h35-trust-panel{
  position:relative;
}
.home-v43 .h35-trust-panel::after{
  content:"";
  position:absolute;
  right:clamp(24px,4vw,56px);
  bottom:clamp(22px,3vw,42px);
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--h43-orange);
  opacity:.95;
}
.home-v43 .h35-calc-head strong::before,
.home-v43 .h35-section-head .h35-eyebrow::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:999px;
  background:var(--h43-orange);
  vertical-align:middle;
}
.home-v43 .h39-region-marker{
  background:var(--h43-orange) !important;
}

/* Subtle page rhythm */
.home-v43 .h35-services,
.home-v43 .h35-tool,
.home-v43 .h35-region{
  position:relative;
}
.home-v43 .h35-services::before,
.home-v43 .h35-tool::before,
.home-v43 .h35-region::before{
  content:"";
  position:absolute;
  left:var(--h35-gutter);
  right:var(--h35-gutter);
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(11,90,131,.10),transparent);
}

@media (max-width:1180px){
  .home-v43 .h35-service-rail{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:760px){
  .home-v43 .h35-service-rail{
    grid-template-columns:1fr !important;
  }
  .home-v43 .h35-service-rail span{
    overflow-wrap:normal;
  }
  .home-v43 .h35-hero-actions .h35-btn-primary::after,
  .home-v43 .h35-btn-primary::after{
    display:none;
  }
}


/* V44 home clean business DNA */
.home-v44{
  --v44-ink:#0f1720;
  --v44-text:#435361;
  --v44-blue:#0b5a83;
  --v44-deep:#062e49;
  --v44-ice:#f6fbff;
  --v44-line:rgba(15,23,32,.072);
  --v44-orange:#f97316;
}

/* Header/hero: clearer, less mixed */
.home-v44 .h35-hero h1{
  max-width:11.1ch !important;
  font-size:clamp(2.62rem,4.1vw,4.08rem) !important;
}
.home-v44 .h35-hero-copy p{
  max-width:520px !important;
}
.home-v44 .h35-service-rail{
  grid-template-columns:1fr 1fr 1.18fr 1fr 1.06fr !important;
  max-width:750px !important;
}
.home-v44 .h35-service-rail a{
  min-height:62px !important;
  padding:13px 14px !important;
  border-radius:16px !important;
}
.home-v44 .h35-service-rail span{
  font-size:.88rem !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:auto;
}
.home-v44 .h35-service-rail a[href="waermepumpe.html"] span{
  font-size:.82rem !important;
}
.home-v44 .h35-service-rail .is-urgent{
  background:#fff !important;
  border-color:rgba(249,115,22,.34) !important;
}
.home-v44 .h35-service-rail .is-urgent span{
  color:var(--v44-ink) !important;
}
.home-v44 .h35-service-rail .is-urgent svg{
  color:var(--v44-orange) !important;
}

/* Services: cleaner editorial-card, not too many styles */
.home-v44 .h40-service-stage{
  background:linear-gradient(135deg,#fff,#f7fbff) !important;
  border-color:var(--v44-line) !important;
  box-shadow:0 22px 62px rgba(6,46,73,.055) !important;
}
.home-v44 .h40-service-nav{
  background:rgba(255,255,255,.68) !important;
  border-color:var(--v44-line) !important;
}
.home-v44 .h40-service-nav button{
  color:var(--v44-ink) !important;
}
.home-v44 .h40-service-nav button.is-active{
  color:#fff !important;
  background:var(--v44-deep) !important;
  box-shadow:none !important;
}
.home-v44 .h40-service-panel{
  background:
    linear-gradient(135deg,#fff,#f8fcff) !important;
  border-color:var(--v44-line) !important;
}
.home-v44 .h40-service-panel-dark{
  background:
    linear-gradient(135deg,#062e49,#0b5a83) !important;
}
.home-v44 .h40-kicker{
  background:rgba(11,90,131,.075) !important;
  color:var(--v44-blue) !important;
}
.home-v44 .h40-panel-copy h3{
  color:inherit !important;
}
.home-v44 .h40-panel-copy p{
  color:var(--v44-text) !important;
}
.home-v44 .h40-service-panel-dark .h40-panel-copy p{
  color:rgba(255,255,255,.84) !important;
}
.home-v44 .h42-panel-visual{
  border-radius:20px !important;
  box-shadow:none !important;
}
.home-v44 .h42-panel-visual img{
  filter:saturate(.86) contrast(.98) !important;
}
.home-v44 .h40-panel-proof span{
  background:#fff !important;
  border:1px solid var(--v44-line) !important;
  color:var(--v44-text) !important;
}
.home-v44 .h40-service-panel-dark .h40-panel-proof span{
  background:rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.84) !important;
  border-color:rgba(255,255,255,.10) !important;
}

/* Accent: orange as precision mark, not design chaos */
.home-v44 .h40-kicker::before,
.home-v44 .h35-eyebrow::before{
  background:var(--v44-orange) !important;
}
.home-v44 .h35-btn-primary{
  background:var(--v44-blue) !important;
}
.home-v44 .h35-hero-actions .h35-btn-primary{
  background:var(--v44-orange) !important;
}

/* Tool, map and contact: calmer surfaces */
.home-v44 .h35-calc,
.home-v44 .h35-form,
.home-v44 .h39-region-map-wrap{
  border-color:var(--v44-line) !important;
  box-shadow:0 18px 52px rgba(6,46,73,.052) !important;
}
.home-v44 .h39-region-map-wrap{
  border-radius:26px !important;
}
.home-v44 .h35-tool,
.home-v44 .h35-region{
  background:linear-gradient(180deg,#fff,#f7fbff 55%,#fff) !important;
}

@media (max-width:1180px){
  .home-v44 .h35-service-rail{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  .home-v44 .h35-service-rail a[href="waermepumpe.html"] span{
    font-size:.88rem !important;
  }
}
@media (max-width:760px){
  .home-v44 .h35-service-rail{
    grid-template-columns:1fr !important;
  }
  .home-v44 .h35-service-rail a{
    min-height:54px !important;
  }
}


/* V45 true business/sanitary proof layer */
.home-v45 .h45-sanitary-focus,
.home-v45 .h45-reputation,
.home-v45 .h45-effort{
  padding:var(--h37-section-gap) 0;
}
.home-v45 .h45-sanitary-focus{
  background:
    radial-gradient(circle at 85% 12%,rgba(11,90,131,.07),transparent 30%),
    linear-gradient(180deg,#fff,#f7fbff);
}
.h45-sanitary-grid{
  display:grid;
  grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);
  gap:clamp(36px,6vw,96px);
  align-items:center;
}
.h45-sanitary-image{
  min-height:clamp(360px,38vw,560px);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 22px 64px rgba(6,46,73,.065);
}
.h45-sanitary-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98);
}
.h45-proof-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:26px 0 30px;
}
.h45-proof-list span{
  padding:10px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
  color:#465866;
  font-weight:800;
}
.h45-proof-list span:first-child{
  border-color:rgba(249,115,22,.24);
}
.home-v45 .h45-reputation{
  background:#fff;
}
.h45-reputation-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(34px,6vw,96px);
  padding:clamp(34px,5vw,68px);
  border-radius:30px;
  background:linear-gradient(135deg,#062e49,#0b5a83);
  color:#fff;
}
.h45-reputation-panel h2{
  margin:0;
  max-width:680px;
  font-size:clamp(2rem,3vw,3.15rem);
  line-height:1.03;
  letter-spacing:-.055em;
  color:#fff;
}
.h45-reputation-panel .h35-eyebrow{
  color:rgba(235,247,255,.88) !important;
}
.h45-reputation-items{
  display:grid;
  gap:14px;
}
.h45-reputation-items div{
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.h45-reputation-items div:last-child{border-bottom:0}
.h45-reputation-items strong{
  display:block;
  color:#fff;
  font-weight:900;
}
.h45-reputation-items p{
  margin:7px 0 0;
  color:rgba(238,248,255,.78);
  line-height:1.62;
}
.home-v45 .h45-effort{
  background:linear-gradient(180deg,#fff,#f7fbff);
}
.h45-effort-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:clamp(34px,6vw,92px);
  align-items:start;
}
.h45-effort-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.h45-effort-list div{
  min-height:150px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,32,.075);
}
.h45-effort-list strong{
  display:block;
  font-size:1.05rem;
  color:#0f1720;
}
.h45-effort-list span{
  display:block;
  margin-top:9px;
  color:#465866;
  line-height:1.58;
}
.home-v45 .h35-contact .h35-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:980px){
  .h45-sanitary-grid,
  .h45-reputation-panel,
  .h45-effort-grid{
    grid-template-columns:1fr;
  }
  .h45-effort-list{
    grid-template-columns:1fr;
  }
}
@media(max-width:720px){
  .h45-sanitary-image{
    min-height:300px;
    border-radius:22px;
  }
  .h45-reputation-panel{
    border-radius:24px;
    padding:28px 22px;
  }
  .home-v45 .h35-contact .h35-form-grid{
    grid-template-columns:1fr;
  }
}


/* V46 Final Business QA + Conversion Polish */
.home-v46 .h45-sanitary-focus,
.home-v46 .h45-reputation,
.home-v46 .h45-effort{
  padding-top:clamp(82px,7vw,122px);
  padding-bottom:clamp(82px,7vw,122px);
}
.home-v46 .h45-reputation{
  padding-top:clamp(60px,5vw,92px);
}
.home-v46 .h45-reputation-panel{
  box-shadow:0 22px 62px rgba(6,46,73,.11);
}
.home-v46 .h35-contact{
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%) !important;
}
.home-v46 .h35-form{
  position:relative;
  overflow:hidden;
}
.home-v46 .h35-form::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--v44-blue,#0b5a83),var(--v44-orange,#f97316));
}
.home-v46 .h35-form label{
  font-weight:850;
}
.home-v46 .h35-form .h35-btn-primary,
.home-v46 .h35-contact .h35-btn-primary{
  width:auto;
}
.home-v46 .h45-effort-list div:first-child,
.home-v46 .h45-case-card:first-child{
  border-color:rgba(249,115,22,.18) !important;
}
.home-v46 .h35-service-rail a[href="sanitaer.html"]{
  border-color:rgba(249,115,22,.18) !important;
}
.home-v46 .h35-service-rail a[href="sanitaer.html"] svg{
  color:var(--v44-orange,#f97316) !important;
}
@media(max-width:720px){
  .home-v46 .h45-sanitary-focus,
  .home-v46 .h45-reputation,
  .home-v46 .h45-effort{
    padding-top:72px;
    padding-bottom:72px;
  }
  .home-v46 .h35-contact .h35-btn-primary{
    width:100%;
  }
}

/* V53: Badplaner mobile experience — keeps desktop untouched */
.h35-tool-mobile-points{display:none}
@media (max-width:760px){
  .home-v35 .h35-tool{padding:64px 0 72px;background:linear-gradient(180deg,#f7fbff 0%,#ffffff 44%,#f6f9fc 100%)}
  .home-v35 .h35-tool-grid{display:block;width:min(100% - 32px,520px)}
  .home-v35 .h35-tool .h35-section-head{padding:0 2px 22px;text-align:left}
  .home-v35 .h35-tool .h35-eyebrow{margin-bottom:12px}
  .home-v35 .h35-tool .h35-section-head h2{font-size:clamp(2.05rem,10vw,2.72rem);line-height:1.02;letter-spacing:-.06em;max-width:8.8ch}
  .home-v35 .h35-tool .h35-section-head p{font-size:.98rem;line-height:1.62;margin-top:14px;max-width:32rem}
  .home-v35 .h35-tool-mobile-points{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:18px;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .home-v35 .h35-tool-mobile-points::-webkit-scrollbar{display:none}
  .home-v35 .h35-tool-mobile-points span{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid rgba(13,92,134,.12);color:#0b5a83;font-size:.78rem;font-weight:850;box-shadow:0 10px 26px rgba(6,46,73,.05)}
  .home-v35 .h35-calc{position:relative;overflow:hidden;border-radius:28px;padding:18px;background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%);box-shadow:0 18px 56px rgba(6,46,73,.12);border-color:rgba(13,92,134,.12)}
  .home-v35 .h35-calc::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#0b5a83,#79b7d8,#f97316);opacity:.9}
  .home-v35 .h35-calc-head{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;margin-bottom:16px}
  .home-v35 .h35-calc-head::before{content:"01";width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#eaf4fb;color:#0b5a83;font-weight:950;letter-spacing:-.04em}
  .home-v35 .h35-calc-head strong{font-size:1.24rem;line-height:1.05;letter-spacing:-.045em}
  .home-v35 .h35-calc-head span{font-size:.9rem;line-height:1.45;margin-top:5px;color:#5c6c79}
  .home-v35 .h35-calc-grid{counter-reset:badstep;display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 16px}
  .home-v35 .h35-calc label{counter-increment:badstep;position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid rgba(15,23,32,.09);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(6,46,73,.045);font-size:.78rem;letter-spacing:.01em;color:#263645}
  .home-v35 .h35-calc label::before{content:counter(badstep, decimal-leading-zero);width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#f0f6fb;color:#0b5a83;font-weight:950;font-size:.76rem;align-self:start;margin-top:1px}
  .home-v35 .h35-calc select{grid-column:2;min-height:46px;width:100%;margin-top:-3px;border-radius:14px;padding:0 40px 0 12px;font-size:.95rem;font-weight:760;background-color:#fbfdff;appearance:auto}
  .home-v35 .h35-calc .h35-btn{width:100%;min-height:52px;border-radius:17px;margin-top:2px;font-size:.98rem;box-shadow:0 16px 34px rgba(249,115,22,.2)}
  .home-v35 .h35-result{margin-top:12px;border-radius:18px;padding:16px;background:linear-gradient(135deg,#edf7ff,#ffffff);border:1px solid rgba(13,92,134,.11)}
  .home-v35 .h35-result strong{font-size:1rem;letter-spacing:-.02em}
  .home-v35 .h35-result p{font-size:.92rem;line-height:1.52;margin-top:7px}
}
@media (max-width:380px){
  .home-v35 .h35-tool-grid{width:min(100% - 26px,520px)}
  .home-v35 .h35-calc{padding:15px;border-radius:24px}
  .home-v35 .h35-calc label{grid-template-columns:30px 1fr;padding:10px;gap:9px}
  .home-v35 .h35-calc label::before{width:30px;height:30px;border-radius:10px;font-size:.7rem}
  .home-v35 .h35-calc select{font-size:.9rem;padding-left:10px}
}
