*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:#16202d;line-height:1.6}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{height:82px;position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e7ebf0}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{text-decoration:none;color:#071827;display:flex;flex-direction:column;line-height:1}.logo-main{font-size:34px;font-weight:800;letter-spacing:-3px}.logo-main span{color:#0c69d5}.logo small{font-size:10px;font-weight:800;letter-spacing:2.3px;margin-top:5px}.links{display:flex;align-items:center;gap:28px}.links a{text-decoration:none;color:#273446;font-weight:700;font-size:14px}.menu{display:none;background:none;border:0;font-size:28px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:4px;padding:15px 23px;font-weight:800;border:0;cursor:pointer}.primary{background:#0c69d5;color:#fff;box-shadow:0 8px 22px rgba(12,105,213,.22)}.primary.small{padding:11px 16px}.secondary{color:#fff;border:1px solid rgba(255,255,255,.5)}.hero{min-height:690px;position:relative;display:flex;align-items:center;color:white;background:linear-gradient(90deg,#04111d 0%,rgba(4,17,29,.92) 43%,rgba(4,17,29,.24) 100%),url('assets/external/photo-1621905252507-b35492cc74b4-2600.jpg') center/cover}.hero-layout{display:grid;grid-template-columns:1.45fr .6fr;gap:80px;align-items:end}.hero-copy{padding:105px 0 95px}.kicker{text-transform:uppercase;letter-spacing:2.6px;font-weight:800;font-size:12px;color:#74baff;margin-bottom:18px}.kicker.dark{color:#0c69d5}h1,h2,h3{margin:0;line-height:1.1}h1{font-size:clamp(48px,6vw,78px);letter-spacing:-3px}h1 span{color:#66b8ff}.hero-copy>p{max-width:700px;font-size:19px;color:#d7e1eb;margin:28px 0 32px}.actions{display:flex;gap:14px}.trust{display:flex;gap:25px;flex-wrap:wrap;margin-top:31px;color:#cad6e2;font-size:13px}.hero-panel{background:rgba(4,25,44,.88);border:1px solid rgba(255,255,255,.15);padding:29px;margin-bottom:72px}.hero-panel h2{font-size:27px}.hero-panel p{color:#c9d5df}.hero-panel a{color:#7fc2ff;text-decoration:none;font-weight:800}.availability{font-size:12px;text-transform:uppercase}.availability i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2bd47d;margin-right:8px}.benefit-bar{background:#071827}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);color:#fff}.benefit-grid>div{padding:28px;border-right:1px solid rgba(255,255,255,.11);display:flex;gap:16px}.benefit-grid b{color:#4aa5ff;font-size:23px}.section{padding:105px 0}.section-title{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:46px}.section-title h2,.about h2,.contact-copy h2,.cta h2{font-size:clamp(35px,4vw,54px)}.section-title p{color:#667085}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #e5eaf0;background:#fff;padding:29px}.card-icon{font-size:30px;color:#0c69d5}.card p{font-size:14px;color:#667085}.card ul{list-style:none;padding:0}.card li{padding:7px 0;border-bottom:1px solid #f0f2f5;font-size:13px}.card li:before{content:'→';color:#0c69d5;margin-right:8px}.legal-note{margin-top:24px;padding:17px;border-left:3px solid #0c69d5;background:#f7f9fc;font-size:12px}.dark-section{background:#071827;color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.photo{height:430px;background:linear-gradient(0deg,rgba(5,22,38,.7),rgba(5,22,38,.08)),url('assets/external/photo-1497366754035-f200968a6e72-1100.jpg') center/cover;display:flex;align-items:center;justify-content:center}.photo-badge{width:230px;height:230px;background:rgba(5,23,40,.78);border:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center}.photo-badge span{font-size:68px;font-weight:800}.about p{color:#c7d3df}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:15px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{height:305px;display:flex;align-items:flex-end;padding:24px;color:#fff;font-weight:800;background-size:cover;background-position:center}.p1{background-image:linear-gradient(0deg,rgba(2,18,32,.9),rgba(2,18,32,.05)),url('assets/external/photo-1558494949-ef010cbdcc31-900.jpg')}.p2{background-image:linear-gradient(0deg,rgba(2,18,32,.9),rgba(2,18,32,.05)),url('assets/external/photo-1497366811353-6870744d04b2-900.jpg')}.p3{background-image:linear-gradient(0deg,rgba(2,18,32,.9),rgba(2,18,32,.05)),url('assets/external/photo-1497366754035-f200968a6e72-900.jpg')}.cta{background:linear-gradient(120deg,#075dbd,#0b83e8);color:#fff;padding:65px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between}.primary.light{background:#fff;color:#071827}.contact{background:#f5f7fa}.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px}.contact-data{display:flex;flex-direction:column;gap:13px}.form{background:#fff;padding:32px;box-shadow:0 22px 60px rgba(4,25,47,.12)}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;margin-bottom:16px}input,select,textarea{font:inherit;border:1px solid #d8dee7;padding:13px}.form-msg{margin-top:10px;color:#087442;font-size:13px}footer{background:#041321;color:#cad3dc;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid a{color:#cad3dc;text-decoration:none}.footer-logo{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:20px;font-size:12px}.reveal{opacity:0;transform:translateY(22px);transition:.6s}.reveal.visible{opacity:1;transform:none}@media(max-width:960px){.menu{display:block}.links{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;padding:22px;flex-direction:column}.links.open{display:flex}.hero-layout,.section-title,.split,.contact-layout{grid-template-columns:1fr}.hero-panel{display:none}.cards{grid-template-columns:1fr 1fr}.benefit-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start;gap:25px}}@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}h1{font-size:46px}.section{padding:75px 0}.cards,.benefit-grid,.row,.ticks{grid-template-columns:1fr}.actions{flex-direction:column;align-items:flex-start}.trust{flex-direction:column;gap:7px}}


@media(max-width:620px){}

.service-visual{margin-bottom:26px;border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.service-visual img{display:block;width:100%;height:auto}
.cards{grid-template-columns:repeat(2,1fr)!important}
.card p{font-size:15px;line-height:1.75}
.card{min-height:100%}
@media(max-width:700px){.cards{grid-template-columns:1fr!important}}

/* M&S brand refinement */
:root{
  --brand-blue:#086acb;
  --brand-blue-bright:#1689ef;
  --brand-navy:#061827;
}
.brand-logo{
  display:block;
  width:225px;
  height:72px;
  object-fit:contain;
  object-position:left center;
}

.topbar{
  border-bottom:2px solid rgba(8,106,203,.10);
}
footer{
  background:linear-gradient(135deg,#041321 0%,#062440 100%);
}
.primary{
  background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-bright));
}
.kicker.dark,.logo-main span,.card-icon{
  color:var(--brand-blue);
}
@media(max-width:620px){
  .brand-logo{width:180px;height:58px}
  
}

/* V10: original M&S logo colors restored; no white footer box */
.footer-brand-logo{
  display:block;
  width:245px;
  height:auto;
  object-fit:contain;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  filter:none !important;
}


/* ===== V11 Animation Upgrade ===== */
.reveal{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .75s ease, transform .75s ease;
  will-change:opacity, transform;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* hero text entrance */
.hero-copy > *{
  opacity:0;
  transform:translateY(18px);
}
.page-loaded .hero-copy .kicker{
  animation:heroIn .7s ease .15s forwards;
}
.page-loaded .hero-copy h1{
  animation:heroIn .8s ease .28s forwards;
}
.page-loaded .hero-copy p{
  animation:heroIn .8s ease .42s forwards;
}
.page-loaded .hero-copy .actions{
  animation:heroIn .8s ease .56s forwards;
}
.page-loaded .hero-copy .trust{
  animation:heroIn .8s ease .70s forwards;
}
.page-loaded .hero-panel{
  animation:heroPanelIn .9s ease .45s both;
}

/* photo and image movement */
.service-visual{
  overflow:hidden;
}
.service-visual img{
  display:block;
  transition:transform 6s ease;
  animation:slowZoom 14s ease-in-out infinite alternate;
}
.project{
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
}
.project:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:0 18px 38px rgba(2, 24, 48, .18);
}
.card{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 40px rgba(6, 29, 51, .14);
}
.photo{
  animation:floatPhoto 8s ease-in-out infinite;
}

/* buttons */
.primary, .secondary{
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.primary:hover, .secondary:hover{
  transform:translateY(-3px);
}

/* subtle bar animation */
.benefit-grid > div{
  transition:background .25s ease, transform .25s ease;
}
.benefit-grid > div:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.04);
}

@keyframes heroIn{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes heroPanelIn{
  from{opacity:0;transform:translateY(24px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes slowZoom{
  from{transform:scale(1)}
  to{transform:scale(1.06)}
}
@keyframes floatPhoto{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

/* mobile: keep movement lighter */
@media(max-width:700px){
  .service-visual img{
    animation:none;
  }
  .photo{
    animation:none;
  }
}


/* ===== V12 Footer Redesign ===== */
.site-footer{
  background:#f7f9fc !important;
  color:#102033 !important;
  padding:0 !important;
  border-top:1px solid #e6ebf1;
}
.footer-main{
  padding:58px 0 48px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.7fr 1.15fr 1fr .75fr;
  gap:54px;
  align-items:start;
}
.footer-brand-block{
  max-width:390px;
}
.footer-logo{
  display:inline-block;
  margin-bottom:18px;
}
.footer-brand-logo{
  display:block;
  width:300px !important;
  height:auto !important;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  filter:none !important;
}
.footer-tagline{
  margin:0;
  max-width:360px;
  font-size:17px;
  line-height:1.65;
  color:#526174;
}
.footer-column{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-label{
  position:relative;
  display:inline-block;
  width:max-content;
  margin-bottom:10px;
  padding-bottom:9px;
  font-weight:800;
  color:#081a2d;
  letter-spacing:.02em;
}
.footer-label:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:3px;
  border-radius:3px;
  background:linear-gradient(90deg,#086acb,#1689ef);
}
.footer-column a{
  color:#344458 !important;
  text-decoration:none;
  font-weight:600;
  transition:color .2s ease, transform .2s ease;
}
.footer-column a:hover{
  color:#086acb !important;
  transform:translateX(3px);
}
.footer-column p{
  margin:0;
  color:#526174;
  line-height:1.7;
}
.footer-bottom{
  background:#061827;
  color:#cbd5e1;
}
.footer-bottom-inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-size:13px;
}
.footer-bottom-inner div{
  display:flex;
  gap:24px;
}
.footer-bottom a{
  color:#dbe6f1 !important;
  text-decoration:none;
}
.footer-bottom a:hover{
  color:#58adff !important;
}

@media(max-width:960px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
}
@media(max-width:620px){
  .footer-main{padding:42px 0 34px}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-brand-logo{width:250px !important}
  .footer-bottom-inner{
    padding:18px 0;
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ===== V13 Separate service photos ===== */
#leistungen .cards{
  grid-template-columns:repeat(4,1fr)!important;
  gap:22px;
  align-items:stretch;
}
#leistungen .card{
  padding:0!important;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
  display:flex;
  flex-direction:column;
}
.card-photo{
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#071827;
}
.card-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .65s ease, filter .35s ease;
}
#leistungen .card:hover .card-photo img{
  transform:scale(1.06);
}
#leistungen .card-icon{
  margin:22px 24px 8px;
}
#leistungen .card h3{
  margin:0 24px 10px;
}
#leistungen .card p{
  margin:0 24px 26px;
  color:#667085;
  font-size:14px;
  line-height:1.75;
}
@media(max-width:1050px){
  #leistungen .cards{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  #leistungen .cards{grid-template-columns:1fr!important}
}

/* ===== V14 Matching project images ===== */
.project-grid{
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px;
}
.project{
  min-height:300px;
  position:relative;
  background-size:cover!important;
  background-position:center!important;
  border-radius:8px;
  overflow:hidden;
}
.project:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,17,30,.05) 30%,rgba(3,17,30,.86) 100%);
}
.project span{
  position:relative;
  z-index:1;
}
.project-elektro{
  background-image:url('assets/service-elektro.jpg')!important;
}
.project-pv{
  background-image:url('assets/service-photovoltaik.jpg')!important;
}
.project-security{
  background-image:url('assets/service-sicherheit.jpg')!important;
}
.project-cable{
  background-image:url('assets/service-kabelmontage.jpg')!important;
}
@media(max-width:1050px){
  .project-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:620px){
  .project-grid{grid-template-columns:1fr!important}
}


/* ===== V15: New tailored photography ===== */
.project-elektro{background-image:url('assets/external/photo-1544724569-5f546fd6f2b5-1800.jpg')!important;}
.project-pv{background-image:url('assets/external/photo-1497440001374-f26997328c1b-1800.jpg')!important;}
.project-security{background-image:url('assets/external/photo-1516321318423-f06f85e504b3-1800.jpg')!important;}
.project-cable{background-image:url('assets/external/photo-1518770660439-4636190af475-1800.jpg')!important;}

/* Header logo slightly smaller */
.topbar .brand-logo{
  width:185px !important;
  height:60px !important;
}
@media(max-width:620px){
  .topbar .brand-logo{
    width:155px !important;
    height:52px !important;
  }
}

/* Unified photo treatment */
.card-photo img{
  object-position:center;
  filter:saturate(.92) contrast(1.04);
}
.project{
  background-position:center !important;
  filter:saturate(.94);
}
.photo{background-image:linear-gradient(0deg,rgba(5,22,38,.54),rgba(5,22,38,.06)),url('assets/external/photo-1581092160607-ee22621dd758-1800.jpg') !important;
  background-position:center !important;
  background-size:cover !important;
}


/* ===== V16 Premium quality + animations ===== */
html, body{
  text-rendering: optimizeLegibility;
}
body{
  background:#ffffff;
}
.hero{
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 30%, rgba(22,137,239,.16), transparent 38%);
  pointer-events:none;
}
.hero-copy h1{
  text-shadow:0 8px 26px rgba(0,0,0,.18);
}
.hero-copy p{
  max-width:760px;
}

.card-photo{
  position:relative;
}
.card-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(4,17,29,.06) 100%);
  pointer-events:none;
}
.card-photo img,
.project{
  image-rendering:auto;
}
.card-photo img{
  filter:saturate(1.02) contrast(1.04) brightness(.98);
}
.project{
  min-height:320px;
  box-shadow:0 18px 38px rgba(5, 25, 44, .14);
}
.project span{
  font-size:16px;
  letter-spacing:.01em;
}

.section-title h2,
.about h2,
.contact-copy h2{
  position:relative;
}

.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1);
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

.float-in{
  transform:translateY(36px) scale(.985);
}
.float-in.visible{
  transform:translateY(0) scale(1);
}

.zoom-in{
  transform:translateY(24px) scale(.97);
}
.zoom-in.visible{
  transform:translateY(0) scale(1);
}

/* Hero text animation */
.page-loaded .hero-copy .kicker{animation:fadeUp .7s ease .10s forwards}
.page-loaded .hero-copy h1{animation:fadeUp .8s ease .24s forwards}
.page-loaded .hero-copy p{animation:fadeUp .8s ease .40s forwards}
.page-loaded .hero-copy .actions{animation:fadeUp .8s ease .56s forwards}
.page-loaded .hero-copy .trust{animation:fadeUp .8s ease .72s forwards}
.page-loaded .hero-panel{animation:softPop .9s ease .5s both}

.hero-copy .kicker,
.hero-copy h1,
.hero-copy p,
.hero-copy .actions,
.hero-copy .trust{
  opacity:0;
  transform:translateY(18px);
}
.hero-panel{
  opacity:0;
}

.card:hover .card-photo img{
  transform:scale(1.08);
}
.project:hover{
  transform:translateY(-8px) scale(1.015);
}
.photo{
  animation:softFloat 8s ease-in-out infinite;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes softPop{
  from{opacity:0;transform:translateY(22px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes softFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media(max-width:700px){
  .photo{animation:none}
  .project{min-height:280px}
}


/* ===== V17 User-provided premium photos ===== */
.project-elektro{background-image:url('assets/service-elektro-user.jpeg')!important;}
.project-pv{background-image:url('assets/service-pv-user.jpeg')!important;}
.project-security{background-image:url('assets/service-security-user.jpeg')!important;}
.project-cable{background-image:url('assets/service-cable-user.jpeg')!important;}

/* Slightly stronger premium image presentation */
.card-photo img{
  object-fit:cover;
  object-position:center;
  filter:saturate(1.03) contrast(1.035);
}
.card:hover .card-photo img{
  transform:scale(1.075);
}
.project{
  background-size:cover!important;
  background-position:center!important;
}

/* ===== V18 Multi-page website ===== */
.links a.active{color:#086acb}
.links a.active:after{
  content:"";display:block;height:2px;background:#086acb;margin-top:5px;border-radius:2px
}
.service-link-card{color:inherit;text-decoration:none}
.service-link-card .card-more{
  display:block;margin:0 24px 26px;color:#086acb;font-weight:800;font-size:13px
}
.home-services{grid-template-columns:repeat(4,1fr)!important}
.home-hero{
  background:
    linear-gradient(90deg,#04111d 0%,rgba(4,17,29,.93) 46%,rgba(4,17,29,.22) 100%),
    url('assets/service-elektro-user.jpeg') center/cover !important;
}
.text-link{display:inline-block;margin-top:26px;color:#62b3ff;text-decoration:none;font-weight:800}

.subhero{position:relative;min-height:500px;display:flex;align-items:center;color:#fff;overflow:hidden}
.subhero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03);animation:subheroZoom 12s ease-in-out infinite alternate}
.subhero-content{position:relative;z-index:2;padding:100px 0;max-width:850px}
.subhero h1{font-size:clamp(46px,6vw,76px);letter-spacing:-2.8px;margin-bottom:20px}
.subhero p{font-size:19px;max-width:720px;color:#dbe6f1;margin-bottom:30px}
@keyframes subheroZoom{from{transform:scale(1.03)}to{transform:scale(1.09)}}

.service-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.service-overview{display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid #e5eaf0;text-decoration:none;color:#16202d;overflow:hidden;box-shadow:0 14px 35px rgba(5,25,44,.06);transition:.35s}
.service-overview:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(5,25,44,.12)}
.service-overview img{width:100%;height:100%;min-height:240px;object-fit:cover}
.service-overview>div{padding:28px}
.service-overview span{color:#086acb;font-weight:800;font-size:13px}
.service-overview h2{font-size:26px;margin:7px 0 12px}
.service-overview p{color:#667085}
.service-overview b{color:#086acb}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.detail-copy h2{font-size:clamp(36px,4vw,55px);margin-bottom:22px}
.detail-copy p{color:#667085;font-size:17px}
.detail-image{border-radius:10px;overflow:hidden;box-shadow:0 24px 60px rgba(5,25,44,.16)}
.detail-image img{display:block;width:100%;height:520px;object-fit:cover;transition:transform .7s ease}
.detail-image:hover img{transform:scale(1.04)}
.service-list{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.service-list li{padding:13px 14px;background:#f6f8fb;border-left:3px solid #086acb;font-weight:700;font-size:14px}

.light-section{background:#f5f7fa}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.process-step{background:#fff;padding:32px;border:1px solid #e5eaf0}
.process-step b{color:#086acb;font-size:28px}
.process-step h3{margin:14px 0 8px;font-size:21px}
.process-step p{color:#667085}

.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.values-grid>div{padding:22px;background:#f6f8fb;border-left:3px solid #086acb}
.values-grid b{color:#086acb}
.values-grid h3{margin:8px 0}
.values-grid p{margin:0;font-size:14px}

.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gallery-card{background:#fff;border:1px solid #e5eaf0;overflow:hidden;box-shadow:0 15px 40px rgba(5,25,44,.07)}
.gallery-card img{width:100%;height:330px;object-fit:cover;display:block;transition:transform .7s ease}
.gallery-card:hover img{transform:scale(1.05)}
.gallery-card>div{padding:25px}
.gallery-card span{color:#086acb;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
.gallery-card h3{font-size:24px;margin:7px 0 8px}
.gallery-card p{color:#667085}

.contact-hero{background:linear-gradient(120deg,#061827,#0b5aa5);color:#fff;padding:100px 0}
.contact-hero h1{font-size:clamp(46px,6vw,75px);max-width:900px}
.contact-hero p{font-size:20px;color:#d8e5f1}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.contact-cards>a,.contact-cards>div{display:flex;flex-direction:column;gap:4px;padding:18px;background:#fff;border:1px solid #e4e9f0;color:#16202d;text-decoration:none}
.contact-cards b{color:#086acb;font-size:12px;text-transform:uppercase;letter-spacing:1.3px}
.contact-cards span{font-weight:700}

.legal-page{min-height:60vh}
.legal-content{max-width:820px}
.legal-content h1{font-size:55px;color:#071827;margin:10px 0 30px}
.legal-content p{font-size:17px;color:#526174}

@media(max-width:1050px){
  .home-services{grid-template-columns:repeat(2,1fr)!important}
  .service-overview-grid,.detail-grid,.project-gallery{grid-template-columns:1fr}
  .service-overview{grid-template-columns:200px 1fr}
}
@media(max-width:700px){
  .home-services{grid-template-columns:1fr!important}
  .service-overview{grid-template-columns:1fr}
  .service-overview img{height:230px}
  .detail-image img{height:360px}
  .service-list,.process-grid,.values-grid,.contact-cards{grid-template-columns:1fr}
  .subhero{min-height:430px}
  .subhero-content{padding:75px 0}
}

/* ===== V21 Contact stacked + unique page photos ===== */
.contact-cards{
  grid-template-columns:1fr !important;
  max-width:560px;
  gap:14px;
}
.contact-cards > a,
.contact-cards > div{
  min-height:92px;
  justify-content:center;
  padding:20px 22px;
  border-radius:7px;
  box-shadow:0 10px 28px rgba(5,25,44,.055);
}
.contact-photo-hero{
  position:relative;
  background-size:cover !important;
  background-position:center !important;
}
.contact-photo-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,17,29,.12),rgba(4,17,29,.04));
  pointer-events:none;
}
.contact-photo-hero .wrap{
  position:relative;
  z-index:2;
}

/* ===== V22 visible changes ===== */
.contact-cards{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  max-width:620px !important;
  gap:12px !important;
}
.contact-cards > a,
.contact-cards > div{
  width:100% !important;
  min-height:86px;
  padding:18px 22px;
  border-radius:8px;
  background:#fff;
  border:1px solid #e1e7ef;
  box-shadow:0 10px 26px rgba(5,25,44,.055);
}
.contact-photo-hero{
  position:relative;
  background-size:cover !important;
  background-position:center !important;
}
.contact-photo-hero .wrap{
  position:relative;
  z-index:2;
}
.subhero-bg{
  background-size:cover !important;
  background-position:center !important;
}

/* Make page identity feel more distinct */
body:not(.home) .subhero{
  min-height:520px;
}

/* ===== V23 - unmistakably different photos on every subpage ===== */
.subhero-bg{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.contact-photo-hero{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
.contact-cards{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:12px !important;
  max-width:620px !important;
}
.contact-cards > a,
.contact-cards > div{
  width:100% !important;
}

/* ===== V24: service-specific premium imagery ===== */
.service-overview img,
.detail-image img{
  object-fit:cover;
  object-position:center;
  filter:saturate(.98) contrast(1.04);
}
.service-overview img{
  transition:transform .65s cubic-bezier(.22,1,.36,1), filter .35s ease;
}
.service-overview:hover img{
  transform:scale(1.045);
  filter:saturate(1.03) contrast(1.05);
}
.detail-image{
  background:#071827;
}

/* ===== V25: neues Bild im Abschnitt "Warum M&S?" ===== */
.home-hero + .benefit-bar ~ .section.dark-section .photo,
.dark-section .photo{
  background-image:
    linear-gradient(0deg, rgba(5,22,38,.28), rgba(5,22,38,.02)),
    url('assets/warum-ms-neu.png') !important;
  background-size:cover !important;
  background-position:center 35% !important;
  background-repeat:no-repeat !important;
}

/* ===== V26: neues Nutzerfoto im Abschnitt "Warum M&S?" ===== */
.dark-section .photo{
  background-image:
    linear-gradient(0deg, rgba(5,22,38,.18), rgba(5,22,38,.01)),
    url('assets/warum-ms-portrait-v26.png') !important;
  background-size:cover !important;
  background-position:center 28% !important;
  background-repeat:no-repeat !important;
}

/* ===== V27: exact uploaded photo in "Warum M&S?" ===== */
.warum-photo-v27{
  background:none !important;
  animation:none !important;
  overflow:hidden !important;
  position:relative !important;
  min-height:520px !important;
}
.warum-photo-v27::before,
.warum-photo-v27::after{
  display:none !important;
  content:none !important;
}
.warum-photo-img{
  width:100% !important;
  height:100% !important;
  min-height:520px !important;
  object-fit:cover !important;
  object-position:center 18% !important;
  display:block !important;
  filter:none !important;
  transform:none !important;
}
@media(max-width:700px){
  .warum-photo-v27{min-height:420px !important;}
  .warum-photo-img{min-height:420px !important;object-position:center 16% !important;}
}

/* ===== V28: exact new user photo in "Warum M&S?" ===== */
.warum-photo-img{
  width:100% !important;
  height:100% !important;
  min-height:520px !important;
  object-fit:cover !important;
  object-position:center 18% !important;
  display:block !important;
}

/* ===== V29: neue Bilder für Sicherheitstechnik & Kabelmontage ===== */
.service-overview img,
.detail-image img{
  object-fit:cover;
  object-position:center;
}

/* ===== V30: neues Hero-Bild auf Leistungen-Seite ===== */
.leistungen-page .subhero-bg{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}

/* ===== V31 Footer logo + contact icons ===== */

/* Footer logo same visual size as the top logo */
.footer-brand-logo{
  width:185px !important;
  height:60px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

/* Contact rows with icons */
.footer-contact-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#344458 !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.45 !important;
}

.footer-contact-icon{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(8,106,203,.10) !important;
  color:#086acb !important;
  font-size:17px !important;
  font-weight:800 !important;
  border:1px solid rgba(8,106,203,.16) !important;
}

.footer-contact-item:hover .footer-contact-icon{
  background:#086acb !important;
  color:#fff !important;
  transform:translateY(-1px);
}

@media(max-width:620px){
  .footer-brand-logo{
    width:155px !important;
    height:52px !important;
  }
}

/* ===== V32: echte SVG-Kontaktsymbole im Footer ===== */
.site-footer .footer-brand-logo{
  width:185px !important;
  height:60px !important;
  max-width:185px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  padding:0 !important;
}

.site-footer .footer-contact-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#344458 !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  transform:none !important;
}

.site-footer .footer-contact-icon{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#eaf4ff !important;
  border:1px solid #cfe5fb !important;
  color:#086acb !important;
}

.site-footer .footer-contact-icon svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.site-footer .footer-contact-icon svg path:first-child{
  fill:none !important;
}

.site-footer a.footer-contact-item:hover .footer-contact-icon{
  background:#086acb !important;
  color:#fff !important;
}

.site-footer .footer-address{
  font-weight:600 !important;
}

@media(max-width:620px){
  .site-footer .footer-brand-logo{
    width:155px !important;
    height:52px !important;
    max-width:155px !important;
  }
}

/* ===== V33 Partnerunternehmen ===== */
.partner-section{
  background:#f5f8fc;
}
.partner-card{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:48px;
  align-items:center;
  padding:46px;
  background:#fff;
  border:1px solid #e3e9f0;
  border-radius:12px;
  box-shadow:0 20px 55px rgba(5,25,44,.09);
}
.partner-mark{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:linear-gradient(135deg,#071827,#0d3153);
  color:#fff;
  font-size:54px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.partner-copy h2{
  font-size:clamp(34px,4vw,50px);
  margin-bottom:18px;
}
.partner-copy p{
  max-width:760px;
  color:#5d6a7b;
  font-size:17px;
}
.partner-actions{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  margin-top:26px;
}
.partner-note{
  color:#718096;
  font-size:13px;
  font-weight:700;
}
.dark-link{
  color:#086acb !important;
  margin-top:0 !important;
}
@media(max-width:800px){
  .partner-card{
    grid-template-columns:1fr;
    padding:28px;
  }
  .partner-mark{
    min-height:120px;
  }
}

/* ===== V34 ASO echtes Logo ===== */
.partner-logo-box{
  background:#fff !important;
  border:1px solid #dfe7f0 !important;
  box-shadow:0 12px 34px rgba(5,25,44,.08) !important;
  padding:18px !important;
}
.partner-logo-img{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  border-radius:8px !important;
  background:#fff !important;
}
.partner-about-logo-wrap{
  margin-bottom:18px;
}
.partner-about-logo{
  width:190px;
  max-width:100%;
  height:auto;
  display:block;
  background:#fff;
  padding:8px 10px;
  border:1px solid #dfe7f0;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(5,25,44,.06);
}

/* ===== V35 Kontakt-Hero mit M&S Markenfoto ===== */
.premium-contact-hero{
  background:
    radial-gradient(circle at 18% 35%, rgba(15,111,211,.18), transparent 36%),
    linear-gradient(135deg,#041321 0%,#06233c 100%) !important;
  padding:0 !important;
  min-height:580px;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  position:relative;
}

.premium-contact-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:44px 44px;
  opacity:.25;
  pointer-events:none;
}

.premium-contact-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:stretch;
  min-height:580px;
}

.premium-contact-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:85px 70px 85px 0;
  color:#fff;
}

.premium-contact-copy h1{
  font-size:clamp(52px,6vw,84px);
  line-height:1.02;
  letter-spacing:-3px;
  max-width:860px;
  margin:0 0 26px;
}

.premium-contact-copy p{
  margin:0;
  font-size:20px;
  color:#d5e1ec;
}

.premium-contact-photo{
  position:relative;
  overflow:hidden;
  min-height:580px;
}

.premium-contact-photo:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(90deg,#06233c 0%,rgba(6,35,60,.48) 16%,rgba(6,35,60,0) 42%);
  pointer-events:none;
}

.premium-contact-photo img{
  width:100%;
  height:100%;
  min-height:580px;
  display:block;
  object-fit:cover;
  object-position:center 20%;
  filter:contrast(1.03) saturate(.98);
  transform:scale(1.015);
  animation:contactPhotoZoom 12s ease-in-out infinite alternate;
}

@keyframes contactPhotoZoom{
  from{transform:scale(1.015)}
  to{transform:scale(1.055)}
}

@media(max-width:900px){
  .premium-contact-grid{
    grid-template-columns:1fr;
  }
  .premium-contact-copy{
    padding:70px 0 42px;
  }
  .premium-contact-photo{
    min-height:480px;
    border-radius:10px 10px 0 0;
  }
  .premium-contact-photo img{
    min-height:480px;
    object-position:center 18%;
  }
  .premium-contact-photo:before{
    background:linear-gradient(180deg,#06233c 0%,rgba(6,35,60,.18) 18%,rgba(6,35,60,0) 44%);
  }
}

@media(max-width:620px){
  .premium-contact-hero{min-height:auto}
  .premium-contact-grid{min-height:auto}
  .premium-contact-copy{padding:58px 0 32px}
  .premium-contact-copy h1{
    font-size:46px;
    letter-spacing:-1.8px;
  }
  .premium-contact-photo,
  .premium-contact-photo img{
    min-height:400px;
  }
}

/* ===== V36 ASO-Logo ohne Box + Kontaktfoto Elektrotechnik ===== */
.partner-section{
  background:#ffffff !important;
}

.partner-card{
  background:#ffffff !important;
}

.partner-logo-box{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:auto !important;
}

.partner-logo-img{
  display:block !important;
  width:100% !important;
  max-width:300px !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:0 !important;
  mix-blend-mode:multiply;
}

.partner-about-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  mix-blend-mode:multiply;
}

/* Kontaktfoto: Elektrotechnik-Motiv sauber darstellen */
.premium-contact-photo img{
  object-fit:cover !important;
  object-position:center !important;
  filter:contrast(1.04) saturate(1.02) !important;
}

/* ===== V37: transparentes ASO-Logo + neues Kontaktfoto ===== */
.partner-logo-box{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.partner-logo-img{
  width:100% !important;
  max-width:320px !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  background:transparent !important;
  mix-blend-mode:normal !important;
  border:0 !important;
  box-shadow:none !important;
}
.partner-about-logo{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  mix-blend-mode:normal !important;
}
.premium-contact-photo img{
  object-fit:cover !important;
  object-position:center !important;
  filter:contrast(1.03) saturate(.96) !important;
}

/* ===== V38: neues Kontaktfoto – Elektriker bei Elektroprüfung ===== */
.premium-contact-photo img{
  object-fit:cover !important;
  object-position:center center !important;
  filter:contrast(1.04) saturate(.98) brightness(.98) !important;
}

/* ===== V39: ASO logo truly transparent ===== */
.partner-logo-box,
.partner-about-logo-wrap{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.partner-logo-img{
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  mix-blend-mode: normal !important;
}

.partner-about-logo{
  display: block !important;
  width: 190px !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  mix-blend-mode: normal !important;
}

/* ===== V40: neues ASO-Logo vom Nutzer ===== */
.partner-logo-box,
.partner-about-logo-wrap{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.partner-logo-img{
  display: block !important;
  width: 100% !important;
  max-width: 360px !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  mix-blend-mode: normal !important;
}

.partner-about-logo{
  display:block !important;
  width:210px !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  mix-blend-mode:normal !important;
}

/* ===== V41: Kontakttext original + echtes Elektrikerfoto ===== */
.premium-contact-copy h1{
  font-size:clamp(48px,5.2vw,76px) !important;
  line-height:1.04 !important;
  letter-spacing:-2.4px !important;
}
.premium-contact-copy p{
  font-size:20px !important;
}
.premium-contact-photo img{
  object-fit:cover !important;
  object-position:center center !important;
  filter:contrast(1.02) saturate(.96) !important;
}

/* ===== V42: Kontaktbild ohne Personen + neuer CTA-Satz ===== */
.premium-contact-copy p{
  max-width:720px !important;
  font-size:20px !important;
  line-height:1.65 !important;
}
.premium-contact-photo img{
  object-fit:cover !important;
  object-position:center center !important;
  filter:contrast(1.04) saturate(.94) brightness(.95) !important;
}

/* ===== V43 Kontakt: ausgewählte Bildvariante + finaler CTA-Satz ===== */
.premium-contact-copy p{
  max-width: 720px !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
}
.premium-contact-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:contrast(1.02) saturate(.94) brightness(.97) !important;
}

/* ===== V44: Kontaktseite ohne Foto ===== */
.premium-contact-hero,
.contact-premium-hero,
.contact-hero-premium{
  grid-template-columns: 1fr !important;
}

.premium-contact-copy{
  width: 100% !important;
  max-width: 1100px !important;
  padding-right: 0 !important;
}

.premium-contact-copy h1{
  max-width: 1000px !important;
  font-size: clamp(48px, 6.2vw, 92px) !important;
  line-height: 1.02 !important;
  letter-spacing: -2.8px !important;
}

.premium-contact-copy p{
  max-width: 760px !important;
}

.premium-contact-photo{
  display: none !important;
}

/* ===== V45: Kontakt-Hero kompakter und eleganter ===== */
.premium-contact-grid{
  grid-template-columns: 1fr !important;
}

.premium-contact-copy{
  width:100% !important;
  max-width:1180px !important;
  padding:76px 0 82px !important;
}

.premium-contact-copy h1{
  max-width:1120px !important;
  font-size:clamp(44px,5vw,72px) !important;
  line-height:1.06 !important;
  letter-spacing:-2.2px !important;
  margin-bottom:24px !important;
}

.premium-contact-copy p{
  max-width:820px !important;
  font-size:18px !important;
  line-height:1.65 !important;
}

@media(max-width:620px){
  .premium-contact-copy{
    padding:54px 0 58px !important;
  }
  .premium-contact-copy h1{
    font-size:clamp(38px,11vw,48px) !important;
    line-height:1.08 !important;
    letter-spacing:-1.4px !important;
  }
  .premium-contact-copy p{
    font-size:17px !important;
  }
}

/* ===== V46: Kontaktfrage + neue Unterzeile ===== */
.premium-contact-copy h1{
  max-width: 1180px !important;
  font-size: clamp(40px, 4.6vw, 68px) !important;
  line-height: 1.08 !important;
  letter-spacing: -2px !important;
}
.premium-contact-copy p{
  max-width: 900px !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
}

/* ===== V54: Kontaktformular Live-Vorbereitung ===== */
.form-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.form-msg.success{color:#157347!important;font-weight:700!important;margin-top:14px!important;}
.form-msg.error{color:#b42318!important;font-weight:700!important;margin-top:14px!important;}

/* ===== V55: E-Mail immer in einer Zeile ===== */
.contact-cards a[href^="mailto:"] span{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  font-size:clamp(12.5px,1.25vw,16px) !important;
  letter-spacing:-0.15px !important;
}

.site-footer a[href^="mailto:"] > span:last-child{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  font-size:clamp(12px,1.05vw,14px) !important;
  letter-spacing:-0.1px !important;
}

@media(max-width:420px){
  .contact-cards a[href^="mailto:"]{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .contact-cards a[href^="mailto:"] span{
    font-size:12.5px !important;
  }
}

/* ===== V62: rechtlicher Hinweis im Impressum ===== */
.legal-reference{
  margin-top:28px !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:#667085 !important;
  font-style:normal !important;
}

/* ===== V63: Datenschutz & Transparenzhinweis ===== */
.legal-content{
  max-width: 980px !important;
}
.legal-content h2{
  margin-top: 34px !important;
  margin-bottom: 10px !important;
  font-size: clamp(22px, 2.3vw, 30px) !important;
  line-height: 1.2 !important;
  color: #0b1c2d !important;
}
.legal-content p{
  max-width: 920px !important;
}
.legal-content a{
  overflow-wrap: anywhere;
}
.legal-intro{
  font-size: 18px !important;
}
.form-privacy-note{
  margin: 2px 0 16px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #667085 !important;
}
.form-privacy-note a{
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}
