﻿/* NOVA Epoxyfloor bulk redesign 2026
   Shared final layer for all HTML pages in Epoxyfloor_01. */
:root{
  --nova-page-bg:#f4f1ea;
  --nova-ink:#101216;
  --nova-muted:rgba(16,18,22,.68);
  --nova-soft:rgba(16,18,22,.09);
  --nova-soft-strong:rgba(16,18,22,.15);
  --nova-panel:rgba(255,252,245,.52);
  --nova-copper:#b8734a;
  --nova-radius:8px;
  --nova-max:1180px;
  --nova-gutter:clamp(22px,4.4vw,56px);
  --nova-section:clamp(76px,9vw,128px);
  --nova-section-tight:clamp(58px,7vw,96px);
}

/* Logo placement: CTA orange logo assets, aligned to the content axis. */
.site-header .brand{
  justify-content:flex-start!important;
  margin-left:26px!important;
}

.site-header .brand img,
.footer img.footer-logo{
  object-fit:contain!important;
  object-position:left center!important;
}

@media(max-width:680px){
  .site-header .brand{
    margin-left:12px!important;
    justify-content:flex-start!important;
  }
}

@media(min-width:681px) and (max-width:1180px){
  .site-header .brand{
    margin-left:18px!important;
  }
}

/* Homepage hero video background. */
.hero-bg video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:saturate(.98) contrast(1.02) brightness(.98)!important;
  opacity:1!important;
  transform:none!important;
  background:transparent!important;
}

@media(max-width:680px){
  .hero-bg video{object-position:center!important;}
}
html,body{max-width:100%;overflow-x:hidden!important;}
body{background:var(--nova-page-bg)!important;color:var(--nova-ink)!important;}
.wrap{width:min(var(--nova-max),calc(100% - var(--nova-gutter)*2))!important;margin-inline:auto!important;}
img{max-width:100%;}
p,.lead{color:var(--nova-muted)!important;}
h1,h2{letter-spacing:0!important;text-wrap:balance!important;overflow-wrap:normal!important;hyphens:none!important;}
h1{font-size:clamp(3rem,5.5vw,5.9rem)!important;line-height:.96!important;}
h2{font-size:clamp(2.35rem,4.15vw,4.25rem)!important;line-height:1.02!important;}
h3{font-size:clamp(1.08rem,1.18vw,1.28rem)!important;line-height:1.2!important;}
.section{padding-block:var(--nova-section)!important;}
.section-tight{padding-block:var(--nova-section-tight)!important;}
.section-head,.gallery-head,.audience-head,.intro-grid,.statement-grid,.process-grid,.ablauf-grid,.trust-grid,.faq-shell,.inquiry-grid,.contact-grid,.project-grid,.materials,.compare{gap:clamp(38px,5.6vw,84px)!important;}
.section-head,.gallery-head,.audience-head{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;align-items:start!important;margin-bottom:clamp(38px,5.4vw,68px)!important;}
.section-head .lead,.audience-head .lead,.gallery-head .lead{max-width:60ch!important;margin-top:0!important;}
.intro-grid,.statement-grid{grid-template-columns:minmax(260px,.74fr) minmax(0,1fr)!important;align-items:start!important;}
.intro-copy .lead,.statement-copy .lead{margin-top:clamp(18px,2vw,26px)!important;max-width:48ch!important;}
.intro-panel,.statement-panel{border-left:1px solid var(--nova-soft-strong)!important;padding-left:clamp(34px,4.2vw,62px)!important;padding-top:clamp(4px,.8vw,10px)!important;display:grid!important;gap:clamp(18px,2.2vw,28px)!important;}
.intro-panel p,.statement-panel p{max-width:64ch!important;}
.intro-panel p+p,.statement-panel p+p{margin-top:0!important;padding-top:clamp(18px,2.1vw,26px)!important;border-top:1px solid var(--nova-soft)!important;}
.principles,.faktoren-grid,.card-grid,.benefit-grid,.reason-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(18px,2vw,26px)!important;margin-top:clamp(34px,4.7vw,64px)!important;}
.principle,.faktor,.benefit-card,.reason-card,.info-card,.contact-card{background:linear-gradient(180deg,rgba(255,252,245,.76),rgba(244,241,234,.38))!important;border:1px solid var(--nova-soft-strong)!important;border-radius:var(--nova-radius)!important;padding:clamp(24px,2.6vw,34px)!important;min-height:clamp(205px,16vw,265px)!important;box-shadow:0 18px 46px rgba(16,18,22,.045)!important;}
.principle h3,.faktor h3,.benefit-card h3,.reason-card h3{max-width:20ch!important;margin-bottom:clamp(18px,1.9vw,24px)!important;}
.principle p,.faktor p,.benefit-card p,.reason-card p{max-width:34ch!important;}
.principle-tag,.eyebrow,.label,.spec-item span{letter-spacing:.11em!important;text-transform:uppercase!important;}
.audience-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(20px,2.4vw,32px)!important;margin-top:clamp(36px,4.8vw,70px)!important;}
.audience-card{min-height:clamp(390px,33vw,500px)!important;border-radius:var(--nova-radius)!important;box-shadow:0 20px 54px rgba(16,18,22,.08)!important;overflow:hidden!important;}
.audience-card img{filter:saturate(.94) contrast(1.04) brightness(.72)!important;transform:none!important;}
.audience-card::after{background:linear-gradient(180deg,rgba(15,17,21,.05) 0%,rgba(15,17,21,.34) 42%,rgba(15,17,21,.92) 100%)!important;}
.audience-card .copy{padding:clamp(24px,3vw,38px)!important;}
.audience-card .copy h3{max-width:34ch!important;color:#fffaf0!important;}
.audience-card .copy p{max-width:62ch!important;color:rgba(255,250,240,.82)!important;}
.trust-grid,.process-grid,.ablauf-grid{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr)!important;align-items:center!important;}
.trust-image,.process-image,.project-image{border-radius:var(--nova-radius)!important;overflow:hidden!important;aspect-ratio:4/3!important;min-height:0!important;box-shadow:0 18px 54px rgba(16,18,22,.07)!important;}
.trust-image img,.process-image img,.project-image img{object-fit:cover!important;filter:saturate(.96) contrast(1.03)!important;}
.trust-copy,.process-copy,.ablauf-copy{align-self:start!important;}
.trust-copy h2,.process-copy h2,.ablauf-copy h2,.faq-shell>div:first-child h2,.statement-copy h2{max-width:12.5ch!important;margin-bottom:clamp(18px,2.2vw,28px)!important;}
.trust-list,.process-list,.steps,.ablauf-list{display:grid!important;gap:0!important;margin-top:clamp(18px,2.3vw,30px)!important;border-top:1px solid var(--nova-soft-strong)!important;}
.trust-item,.process-step,.step,.ablauf-item{display:grid!important;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr)!important;gap:clamp(20px,3vw,44px)!important;align-items:start!important;padding:clamp(22px,3vw,34px) 0!important;border-bottom:1px solid var(--nova-soft-strong)!important;}
.trust-num,.step-num,.process-num{color:var(--nova-copper)!important;min-width:auto!important;}
.trust-item h3,.process-step h3,.step h3,.ablauf-item h3{font-size:.95rem!important;line-height:1.25!important;margin:0!important;max-width:20ch!important;}
.trust-item p,.process-step p,.step p,.ablauf-item p{max-width:38ch!important;margin:0!important;}
.faq-shell{grid-template-columns:minmax(260px,.38fr) minmax(0,1fr)!important;align-items:start!important;}
.faq-shell>div:first-child h2{font-size:clamp(2.45rem,3.7vw,4.05rem)!important;line-height:1.04!important;}
.faq-column .lead,.faq-shell .lead{max-width:68ch!important;margin-bottom:clamp(20px,2.7vw,34px)!important;padding-bottom:clamp(18px,2.4vw,28px)!important;border-bottom:1px solid var(--nova-soft-strong)!important;}
.faq-list{border-top:1px solid var(--nova-soft-strong)!important;}
.faq-btn{min-height:64px!important;padding:clamp(18px,2.1vw,24px) 0!important;align-items:flex-start!important;gap:clamp(16px,2vw,24px)!important;text-align:left!important;}
.faq-btn span:first-child{min-width:0!important;max-width:calc(100% - 48px)!important;overflow-wrap:break-word!important;hyphens:auto!important;}
.faq-icon{width:30px!important;height:30px!important;border-color:var(--nova-soft-strong)!important;background:rgba(255,252,245,.36)!important;}
.service-map,.visual-grid,.gallery-grid,.video-grid{gap:clamp(16px,2vw,24px)!important;}
.service-group,.visual-card,.gal-card,.project-card,.material-image,.video-placeholder,.video-card{border-radius:var(--nova-radius)!important;box-shadow:0 18px 52px rgba(16,18,22,.06)!important;}
.btn,button.btn,a.btn{border-radius:7px!important;min-height:52px!important;padding-inline:clamp(20px,2.3vw,28px)!important;font-weight:800!important;letter-spacing:0!important;}
.contact-hero{padding-top:clamp(130px,13vw,184px)!important;padding-bottom:clamp(70px,8vw,116px)!important;}
.contact-shell{gap:clamp(38px,5.5vw,86px)!important;}
.contact-form{border-radius:var(--nova-radius)!important;box-shadow:0 22px 64px rgba(0,0,0,.18)!important;}
@media(max-width:1180px){.principles,.faktoren-grid,.card-grid,.benefit-grid,.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:980px){
  :root{--nova-gutter:clamp(20px,5vw,42px);--nova-section:clamp(64px,10vw,96px);--nova-section-tight:clamp(52px,8vw,78px);}
  h1{font-size:clamp(2.75rem,8vw,4.6rem)!important;}h2{font-size:clamp(2.15rem,6.2vw,3.35rem)!important;}
  .section-head,.gallery-head,.audience-head,.intro-grid,.statement-grid,.process-grid,.ablauf-grid,.trust-grid,.faq-shell,.inquiry-grid,.contact-grid,.project-grid,.materials,.compare,.contact-shell{grid-template-columns:1fr!important;gap:clamp(28px,5.5vw,50px)!important;}
  .intro-panel,.statement-panel{border-left:0!important;padding-left:0!important;border-top:1px solid var(--nova-soft-strong)!important;padding-top:clamp(24px,4vw,34px)!important;}
  .principles,.faktoren-grid,.card-grid,.benefit-grid,.reason-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .audience-cards{grid-template-columns:1fr!important;}.audience-card{min-height:auto!important;aspect-ratio:16/10!important;}
  .trust-copy h2,.process-copy h2,.ablauf-copy h2,.faq-shell>div:first-child h2,.statement-copy h2{max-width:14ch!important;}
  .trust-item,.process-step,.step,.ablauf-item{grid-template-columns:minmax(100px,.34fr) minmax(0,1fr)!important;}
}
@media(max-width:680px){
  :root{--nova-gutter:18px;--nova-section:clamp(50px,12vw,72px);--nova-section-tight:clamp(44px,10vw,62px);}
  h1{font-size:clamp(2.05rem,10vw,3.05rem)!important;line-height:1.08!important;max-width:100%!important;}h2{font-size:clamp(1.78rem,8vw,2.42rem)!important;line-height:1.1!important;max-width:100%!important;}h3{font-size:clamp(1rem,4.8vw,1.16rem)!important;}p,.lead{font-size:.96rem!important;line-height:1.66!important;}
  .section-head,.gallery-head,.audience-head,.intro-grid,.statement-grid,.process-grid,.ablauf-grid,.trust-grid,.faq-shell,.inquiry-grid,.contact-grid,.project-grid,.materials,.compare{gap:clamp(24px,7vw,38px)!important;}
  .principles,.faktoren-grid,.card-grid,.benefit-grid,.reason-grid,.service-map,.audience-cards{grid-template-columns:1fr!important;gap:14px!important;margin-top:clamp(24px,8vw,38px)!important;}
  .principle,.faktor,.benefit-card,.reason-card,.info-card,.contact-card{min-height:auto!important;padding:22px!important;}
  .audience-card{aspect-ratio:4/3!important;min-height:280px!important;}.audience-card .copy{padding:22px!important;}
  .trust-image,.process-image,.project-image{aspect-ratio:4/3!important;}
  .trust-item,.process-step,.step,.ablauf-item{grid-template-columns:1fr!important;gap:10px!important;padding:22px 0!important;}
  .trust-item h3,.process-step h3,.step h3,.ablauf-item h3{max-width:100%!important;}
  .faq-btn{min-height:58px!important;}.faq-icon{width:28px!important;height:28px!important;}
  .hero-actions,.project-actions,.cta-actions,.form-actions,.contact-form-footer{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .hero-actions .btn,.project-actions .btn,.cta-actions .btn,.form-actions .btn,.contact-form .btn{width:100%!important;}
  .contact-form-row,.form-grid{grid-template-columns:1fr!important;}
}

/* Screenshot follow-up: three missed layout corrections, applied globally. */
.audience-head{
  grid-template-columns:minmax(300px,.78fr) minmax(420px,1.22fr)!important;
  align-items:end!important;
  margin-bottom:clamp(22px,3.2vw,42px)!important;
}
.audience-head h2{
  max-width:12ch!important;
}
.audience-head .lead{
  max-width:64ch!important;
  padding-bottom:clamp(6px,.8vw,12px)!important;
}
.audience-cards{
  margin-top:0!important;
  gap:clamp(18px,2vw,26px)!important;
}
.audience-card{
  min-height:clamp(405px,31vw,485px)!important;
}
.audience-card .copy{
  padding:clamp(26px,2.7vw,36px)!important;
}

.trust-grid{
  grid-template-columns:minmax(390px,.98fr) minmax(480px,1.02fr)!important;
  align-items:stretch!important;
}
.trust-grid .trust-image{
  align-self:stretch!important;
  aspect-ratio:auto!important;
  min-height:clamp(520px,46vw,690px)!important;
}
.trust-grid .trust-copy{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.trust-grid .trust-copy h2{
  max-width:11.8ch!important;
  margin:0 0 clamp(22px,2.7vw,36px)!important;
}
.trust-grid .trust-list{
  margin-top:0!important;
  flex:1 1 auto!important;
}
.trust-grid .trust-item{
  grid-template-columns:minmax(150px,.42fr) minmax(0,1fr)!important;
  gap:clamp(24px,3vw,48px)!important;
  padding:clamp(28px,3.3vw,42px) 0!important;
}
.trust-grid .trust-item h3{
  max-width:18ch!important;
}
.trust-grid .trust-item p{
  max-width:42ch!important;
}

.faq-shell{
  grid-template-columns:minmax(300px,.38fr) minmax(520px,1fr)!important;
  gap:clamp(48px,6vw,92px)!important;
  align-items:start!important;
}
.faq-shell>div:first-child h2{
  max-width:10.8ch!important;
  margin-top:0!important;
}
.faq-column .lead,
.faq-shell .faq-column>.lead{
  max-width:100%!important;
  margin:0 0 clamp(18px,2.4vw,30px)!important;
  padding:clamp(18px,2.2vw,26px) clamp(18px,2.4vw,30px)!important;
  border:1px solid var(--nova-soft-strong)!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(255,252,245,.42)!important;
}
.faq-list{
  border-top:1px solid var(--nova-soft-strong)!important;
}
.faq-btn{
  min-height:clamp(62px,5vw,76px)!important;
  padding:clamp(20px,2.2vw,26px) 0!important;
}

@media(max-width:980px){
  .audience-head,.trust-grid,.faq-shell{
    grid-template-columns:1fr!important;
    gap:clamp(28px,5vw,48px)!important;
  }
  .audience-head{align-items:start!important;margin-bottom:clamp(24px,4vw,36px)!important;}
  .audience-head h2,.faq-shell>div:first-child h2,.trust-grid .trust-copy h2{max-width:14ch!important;}
  .trust-grid .trust-image{min-height:auto!important;aspect-ratio:4/3!important;}
  .trust-grid .trust-copy{display:block!important;}
  .trust-grid .trust-item{grid-template-columns:minmax(120px,.34fr) minmax(0,1fr)!important;padding:clamp(22px,3vw,32px) 0!important;}
}
@media(max-width:680px){
  .audience-head,.trust-grid,.faq-shell{gap:clamp(22px,7vw,34px)!important;}
  .audience-head h2,.faq-shell>div:first-child h2,.trust-grid .trust-copy h2{max-width:100%!important;}
  .audience-card{min-height:280px!important;aspect-ratio:4/3!important;}
  .trust-grid .trust-item{grid-template-columns:1fr!important;gap:10px!important;}
  .faq-column .lead,.faq-shell .faq-column>.lead{padding:18px!important;}
}

/* User correction: real two-visual trust block and cleaner FAQ composition. */
.trust-image-duo{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:clamp(14px,1.7vw,22px)!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  aspect-ratio:auto!important;
  min-height:clamp(560px,48vw,760px)!important;
}
.trust-image-duo img{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 18px 54px rgba(16,18,22,.075)!important;
  filter:saturate(.98) contrast(1.03)!important;
}
.trust-image-duo img:first-child{object-position:center top!important;}
.trust-image-duo .trust-image-secondary{object-position:center center!important;}
.trust-image.trust-image-duo{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:clamp(14px,1.7vw,22px)!important;
  min-height:clamp(560px,48vw,760px)!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.trust-image.trust-image-duo img{
  position:relative!important;
  inset:auto!important;
  opacity:1!important;
  visibility:visible!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 18px 54px rgba(16,18,22,.075)!important;
}
.trust-grid{
  grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr)!important;
  gap:clamp(54px,6.4vw,104px)!important;
  align-items:start!important;
}
.trust-grid .trust-copy h2{
  max-width:12.8ch!important;
  padding-bottom:clamp(12px,1.4vw,18px)!important;
  border-bottom:1px solid var(--nova-soft-strong)!important;
}
.trust-grid .trust-list{border-top:0!important;}

.faq-shell{
  grid-template-columns:minmax(310px,.44fr) minmax(520px,1fr)!important;
  gap:clamp(44px,5.2vw,86px)!important;
  align-items:start!important;
}
.faq-shell>div:first-child{
  display:flex!important;
  justify-content:flex-start!important;
}
.faq-shell>div:first-child h2{
  max-width:11.4ch!important;
  width:min(100%,11.4ch)!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.05!important;
}
.faq-column{
  padding-top:0!important;
}
.faq-column .lead,
.faq-shell .faq-column>.lead{
  display:block!important;
  max-width:64ch!important;
  margin:0!important;
  padding:0 0 clamp(18px,2vw,26px)!important;
  border:0!important;
  border-bottom:1px solid var(--nova-soft-strong)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.faq-list{
  margin-top:0!important;
  border-top:0!important;
}
.faq-item:first-child .faq-btn{
  padding-top:clamp(20px,2.2vw,28px)!important;
}
.faq-btn{
  min-height:clamp(58px,4.8vw,72px)!important;
  padding:clamp(18px,2vw,24px) 0!important;
}
@media(max-width:980px){
  .trust-grid,.faq-shell{
    grid-template-columns:1fr!important;
    gap:clamp(30px,5vw,50px)!important;
  }
  .trust-image-duo{
    min-height:auto!important;
    grid-template-rows:none!important;
    grid-template-columns:1fr 1fr!important;
  }
  .trust-image.trust-image-duo{
    min-height:auto!important;
    grid-template-rows:none!important;
    grid-template-columns:1fr 1fr!important;
  }
  .trust-image-duo img,.trust-image.trust-image-duo img{aspect-ratio:4/3!important;}
  .faq-shell>div:first-child h2{width:auto!important;max-width:13ch!important;}
}
@media(max-width:680px){
  .trust-image-duo{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .trust-image.trust-image-duo{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .trust-image-duo img,.trust-image.trust-image-duo img{aspect-ratio:4/3!important;}
  .faq-shell>div:first-child h2{max-width:100%!important;}
  .faq-column .lead,.faq-shell .faq-column>.lead{max-width:100%!important;padding-bottom:18px!important;}
}
/* Universal video proof section: visual number two after hero. */
.nova-video-proof{
  padding:clamp(64px,7vw,118px) 0!important;
  background:var(--nova-bg)!important;
  border-top:1px solid rgba(22,24,28,.10)!important;
  border-bottom:1px solid rgba(22,24,28,.10)!important;
}
.nova-video-proof-grid{
  display:grid!important;
  grid-template-columns:minmax(360px,.96fr) minmax(420px,.92fr)!important;
  gap:clamp(38px,5.6vw,84px)!important;
  align-items:center!important;
}
.nova-video-card{
  position:relative!important;
  min-height:clamp(250px,27vw,390px)!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:#15171a!important;
  box-shadow:0 28px 70px rgba(16,18,22,.13)!important;
}
.nova-video-proof-media{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.96) contrast(1.04) brightness(.78)!important;
}
.nova-video-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(12,13,15,0) 42%,rgba(12,13,15,.52) 100%)!important;
}
.nova-video-play{
  position:absolute!important;
  right:clamp(18px,2.2vw,28px)!important;
  top:50%!important;
  z-index:2!important;
  width:clamp(52px,5.2vw,66px)!important;
  height:clamp(52px,5.2vw,66px)!important;
  transform:translateY(-50%)!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,252,245,.94)!important;
  color:#101216!important;
  box-shadow:0 16px 36px rgba(0,0,0,.24)!important;
  cursor:pointer!important;
  display:grid!important;
  place-items:center!important;
  transition:transform .2s ease,opacity .2s ease,background .2s ease!important;
}
.nova-video-play::before{
  content:""!important;
  width:0!important;
  height:0!important;
  border-top:10px solid transparent!important;
  border-bottom:10px solid transparent!important;
  border-left:15px solid currentColor!important;
  margin-left:4px!important;
}
.nova-video-card.is-playing .nova-video-play{
  opacity:0!important;
  transform:translateY(-50%) scale(.92)!important;
  pointer-events:none!important;
}
.nova-video-card:hover .nova-video-play{transform:translateY(-50%) scale(1.04)!important;}
.nova-video-copy{
  max-width:620px!important;
}
.nova-video-kicker{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 clamp(12px,1.5vw,18px)!important;
  color:var(--nova-accent)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}
.nova-video-kicker::before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:1px!important;
  background:currentColor!important;
}
.nova-video-copy h2{
  margin:0 0 clamp(16px,2vw,24px)!important;
  max-width:12.4ch!important;
  font-family:var(--nova-serif)!important;
  font-weight:400!important;
  font-size:clamp(40px,5vw,76px)!important;
  line-height:.98!important;
  letter-spacing:0!important;
}
.nova-video-copy p{
  max-width:62ch!important;
  margin:0 0 12px!important;
  color:var(--nova-muted)!important;
  font-size:clamp(15px,1vw,17px)!important;
  line-height:1.72!important;
}
.nova-video-cta{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:clamp(10px,1.4vw,18px)!important;
  color:var(--nova-ink)!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:1px solid currentColor!important;
  padding-bottom:4px!important;
}
.nova-video-cta::after{content:"\2192"!important;}
@media(max-width:980px){
  .nova-video-proof{padding:clamp(52px,8vw,82px) 0!important;}
  .nova-video-proof-grid{grid-template-columns:1fr!important;gap:clamp(28px,5vw,48px)!important;}
  .nova-video-copy{max-width:760px!important;}
  .nova-video-copy h2{max-width:13ch!important;font-size:clamp(38px,8vw,64px)!important;}
}
@media(max-width:680px){
  .nova-video-proof{padding:46px 0!important;}
  .nova-video-card{min-height:0!important;aspect-ratio:4/3!important;border-radius:10px!important;}
  .nova-video-play{right:16px!important;width:50px!important;height:50px!important;}
  .nova-video-copy h2{max-width:100%!important;font-size:clamp(34px,12vw,48px)!important;line-height:1.02!important;}
  .nova-video-copy p{font-size:15px!important;line-height:1.65!important;}
}
/* Corrected placement: video lives inside the dark system section. */
.section.dark .nova-dark-visual-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(18px,2vw,28px)!important;
  align-self:center!important;
}
.section.dark .nova-dark-visual-stack .process-visual{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.28)!important;
  background:#191b1f!important;
}
.section.dark .nova-dark-visual-stack .process-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.95) contrast(1.03)!important;
}
.section.dark .nova-dark-video-copy{
  max-width:48ch!important;
  padding:0 2px!important;
  color:rgba(255,252,245,.74)!important;
}
.section.dark .nova-dark-video-kicker{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 8px!important;
  color:#d28a52!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
}
.section.dark .nova-dark-video-kicker::before{
  content:""!important;
  width:32px!important;
  height:1px!important;
  background:currentColor!important;
}
.section.dark .nova-dark-video-copy p:not(.nova-dark-video-kicker){
  margin:0!important;
  font-size:clamp(14px,.95vw,16px)!important;
  line-height:1.65!important;
  color:rgba(255,252,245,.72)!important;
}
.section.dark .nova-video-card-dark{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  border-radius:var(--nova-radius)!important;
  background:#0b0d10!important;
  box-shadow:0 24px 72px rgba(0,0,0,.30)!important;
}
.section.dark .nova-video-card-dark .nova-video-proof-media{
  filter:saturate(.96) contrast(1.05) brightness(.82)!important;
}
.section.dark .nova-video-card-dark .nova-video-play{
  right:clamp(16px,2vw,24px)!important;
  background:rgba(255,252,245,.96)!important;
}
.section.dark .nova-dark-media-row{
  display:grid!important;
  grid-template-columns:minmax(340px,.95fr) minmax(420px,1fr)!important;
  gap:clamp(34px,5vw,78px)!important;
  align-items:center!important;
  margin:clamp(36px,5vw,70px) 0 clamp(34px,4vw,58px)!important;
}
.section.dark .nova-dark-media-row .nova-dark-still{
  margin:0!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:#191b1f!important;
  box-shadow:0 24px 72px rgba(0,0,0,.28)!important;
}
.section.dark .nova-dark-media-row .nova-dark-still img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
@media(max-width:980px){
  .section.dark .nova-dark-media-row{grid-template-columns:1fr!important;gap:clamp(24px,5vw,42px)!important;}
  .section.dark .nova-dark-visual-stack{gap:18px!important;}
}
@media(max-width:680px){
  .section.dark .nova-dark-visual-stack .process-visual,
  .section.dark .nova-dark-media-row .nova-dark-still{aspect-ratio:4/3!important;border-radius:10px!important;}
  .section.dark .nova-video-card-dark{aspect-ratio:4/3!important;border-radius:10px!important;}
  .section.dark .nova-dark-video-copy p:not(.nova-dark-video-kicker){font-size:14px!important;line-height:1.6!important;}
}
/* Dark system section composition: headline, tabs, copy, image, video. */
.section.dark .process-grid{
  grid-template-columns:minmax(360px,.82fr) minmax(460px,1fr)!important;
  gap:clamp(44px,6vw,92px)!important;
  align-items:start!important;
}
.section.dark .process-grid>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.section.dark .process-grid h2{
  max-width:11.5ch!important;
  margin:0 0 clamp(26px,3vw,44px)!important;
}
.section.dark .process-tabs{
  order:1!important;
  margin:0 0 clamp(18px,2vw,28px)!important;
  gap:10px!important;
}
.section.dark .process-copy{
  order:2!important;
  margin:0!important;
  max-width:48ch!important;
}
.section.dark .process-copy article h3{
  margin:0 0 clamp(10px,1.2vw,14px)!important;
  max-width:24ch!important;
  font-size:clamp(23px,2vw,32px)!important;
  line-height:1.05!important;
}
.section.dark .process-copy article p{
  max-width:48ch!important;
  margin:0!important;
  font-size:clamp(14px,.96vw,16px)!important;
  line-height:1.66!important;
}
.section.dark .nova-dark-summary{
  order:3!important;
  max-width:48ch!important;
  margin:clamp(18px,2vw,28px) 0 0!important;
  padding-top:clamp(16px,1.8vw,24px)!important;
  border-top:1px solid rgba(255,252,245,.16)!important;
  font-size:clamp(14px,.95vw,16px)!important;
  line-height:1.62!important;
  opacity:.76!important;
}
.section.dark .nova-dark-visual-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(26px,3vw,42px)!important;
  align-self:start!important;
  width:100%!important;
}
.section.dark .nova-dark-visual-stack .process-visual{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 28px 84px rgba(0,0,0,.30)!important;
  background:#191b1f!important;
}
.section.dark .nova-dark-visual-stack .process-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.96) contrast(1.04)!important;
}
.section.dark .nova-video-card-dark{
  width:100%!important;
  min-height:0!important;
  aspect-ratio:5/4!important;
  border-radius:var(--nova-radius)!important;
  background:#0b0d10!important;
  box-shadow:0 28px 84px rgba(0,0,0,.30)!important;
}
.section.dark .nova-video-card-dark .nova-video-proof-media{
  filter:saturate(.96) contrast(1.05) brightness(.84)!important;
}
.section.dark .nova-video-card-dark .nova-video-play{
  right:clamp(18px,2vw,28px)!important;
  background:rgba(255,252,245,.96)!important;
}
.section.dark .nova-dark-media-row{
  display:grid!important;
  grid-template-columns:minmax(340px,.92fr) minmax(460px,1fr)!important;
  gap:clamp(38px,5vw,82px)!important;
  align-items:start!important;
  margin:clamp(38px,5vw,70px) 0 clamp(34px,4vw,58px)!important;
}
.section.dark .nova-dark-media-row .nova-dark-still{
  margin:0!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:#191b1f!important;
  box-shadow:0 28px 84px rgba(0,0,0,.30)!important;
}
.section.dark .nova-dark-media-row .nova-dark-still img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.section.dark .nova-dark-visual-stack-inline{
  gap:clamp(26px,3vw,42px)!important;
}
@media(max-width:980px){
  .section.dark .process-grid,
  .section.dark .nova-dark-media-row{
    grid-template-columns:1fr!important;
    gap:clamp(30px,5vw,50px)!important;
  }
  .section.dark .process-grid h2{max-width:13ch!important;margin-bottom:24px!important;}
  .section.dark .process-copy,.section.dark .nova-dark-summary{max-width:64ch!important;}
}
@media(max-width:680px){
  .section.dark .process-grid h2{max-width:100%!important;margin-bottom:20px!important;}
  .section.dark .process-tabs{gap:8px!important;margin-bottom:18px!important;}
  .section.dark .process-copy article h3{font-size:22px!important;}
  .section.dark .nova-dark-visual-stack{gap:20px!important;}
  .section.dark .nova-dark-visual-stack .process-visual,
  .section.dark .nova-dark-media-row .nova-dark-still,
  .section.dark .nova-video-card-dark{aspect-ratio:4/3!important;border-radius:10px!important;}
}
/* Ablauf & Preise: three supporting visuals beside the six steps. */
#ablauf .ablauf-grid{
  grid-template-columns:minmax(320px,.44fr) minmax(520px,.56fr)!important;
  gap:clamp(50px,7vw,112px)!important;
  align-items:start!important;
}
#ablauf .ablauf-visuals{
  display:grid!important;
  gap:clamp(42px,7vw,112px)!important;
  padding-top:clamp(8px,1vw,16px)!important;
}
#ablauf .ablauf-visual{
  margin:0!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(15,17,21,.08)!important;
  box-shadow:0 24px 72px rgba(16,18,22,.10)!important;
}
#ablauf .ablauf-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.96) contrast(1.03)!important;
}
#ablauf .ablauf-visual:nth-child(1){
  width:min(86%,430px)!important;
  justify-self:center!important;
  aspect-ratio:4/3!important;
}
#ablauf .ablauf-visual:nth-child(2){
  width:min(72%,360px)!important;
  justify-self:center!important;
  aspect-ratio:4/3!important;
}
#ablauf .ablauf-visual:nth-child(3){
  width:min(92%,470px)!important;
  justify-self:center!important;
  aspect-ratio:4/3!important;
}
#ablauf .steps{margin-top:clamp(20px,2.4vw,32px)!important;}
@media(max-width:980px){
  #ablauf .ablauf-grid{grid-template-columns:1fr!important;gap:clamp(30px,5vw,52px)!important;}
  #ablauf .ablauf-visuals{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;padding-top:0!important;}
  #ablauf .ablauf-visual:nth-child(n){width:100%!important;aspect-ratio:4/3!important;}
}
@media(max-width:680px){
  #ablauf .ablauf-visuals{grid-template-columns:1fr!important;gap:14px!important;}
  #ablauf .ablauf-visual:nth-child(n){border-radius:10px!important;}
}
/* 2026-05 video-section correction: tighter two-column story block and centered play button. */
.section.dark .process-grid{
  width:min(100% - (var(--nova-gutter) * 2), 1120px)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(320px,.86fr) minmax(500px,1.14fr)!important;
  gap:clamp(54px,6.2vw,96px)!important;
  align-items:start!important;
}
.section.dark .process-grid>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-width:0!important;
}
.section.dark .process-grid h2{
  max-width:10.6ch!important;
  margin:0 0 clamp(24px,2.8vw,38px)!important;
  line-height:.98!important;
}
.section.dark .process-tabs{
  order:1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 clamp(18px,2vw,26px)!important;
}
.section.dark .process-tabs button{
  min-height:38px!important;
  padding:10px 15px!important;
  white-space:nowrap!important;
}
.section.dark .process-copy{
  order:2!important;
  margin:0!important;
  max-width:40ch!important;
}
.section.dark .process-copy article h3{
  max-width:22ch!important;
  margin:0 0 clamp(10px,1.2vw,14px)!important;
  font-size:clamp(22px,1.75vw,28px)!important;
  line-height:1.02!important;
}
.section.dark .process-copy article p{
  max-width:43ch!important;
  margin:0!important;
  font-size:clamp(14px,.92vw,15.5px)!important;
  line-height:1.62!important;
}
.section.dark .nova-dark-summary{
  order:3!important;
  max-width:40ch!important;
  margin:clamp(18px,2vw,26px) 0 0!important;
  padding-top:clamp(16px,1.8vw,22px)!important;
  border-top:1px solid rgba(255,252,245,.16)!important;
}
.section.dark .nova-dark-visual-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:clamp(28px,3.2vw,44px)!important;
  width:100%!important;
  align-self:start!important;
}
.section.dark .nova-dark-visual-stack .process-visual,
.section.dark .nova-video-card-dark{
  width:100%!important;
  max-width:560px!important;
  margin:0!important;
  justify-self:start!important;
  align-self:start!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 26px 78px rgba(0,0,0,.32)!important;
  background:#101217!important;
}
.section.dark .nova-dark-visual-stack .process-visual{
  aspect-ratio:4/3!important;
}
.section.dark .nova-dark-visual-stack .process-visual:not(:first-child) img{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}
.section.dark .nova-video-card-dark{
  position:relative!important;
  aspect-ratio:4/3!important;
}
.section.dark .nova-video-card-dark .nova-video-proof-media,
.section.dark .nova-video-card-dark video,
.section.dark .nova-dark-visual-stack .process-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.section.dark .nova-video-card-dark .nova-video-proof-media{
  filter:saturate(.98) contrast(1.05) brightness(.86)!important;
}
.section.dark .nova-video-card-dark .nova-video-play{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:clamp(54px,5vw,68px)!important;
  height:clamp(54px,5vw,68px)!important;
  border-radius:999px!important;
  background:rgba(255,252,245,.96)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.32)!important;
}
.section.dark .nova-video-card-dark.is-playing .nova-video-play,
.section.dark .nova-video-card-dark.playing .nova-video-play{
  opacity:0!important;
  pointer-events:none!important;
}
.section.dark .nova-dark-media-row{
  width:min(100% - (var(--nova-gutter) * 2), 1120px)!important;
  margin:clamp(34px,4.8vw,66px) auto clamp(34px,4vw,56px)!important;
  display:grid!important;
  grid-template-columns:minmax(320px,.86fr) minmax(500px,1.14fr)!important;
  gap:clamp(54px,6.2vw,96px)!important;
  align-items:start!important;
}
.section.dark .nova-dark-media-row .nova-dark-still{
  max-width:560px!important;
  aspect-ratio:4/3!important;
  margin:0!important;
}
@media(max-width:980px){
  .section.dark .process-grid,
  .section.dark .nova-dark-media-row{
    width:min(100% - (var(--nova-gutter) * 2), 720px)!important;
    grid-template-columns:1fr!important;
    gap:clamp(30px,6vw,50px)!important;
  }
  .section.dark .process-grid h2{
    max-width:13ch!important;
    margin-bottom:22px!important;
  }
  .section.dark .process-copy,
  .section.dark .nova-dark-summary{
    max-width:56ch!important;
  }
  .section.dark .nova-dark-visual-stack .process-visual,
  .section.dark .nova-video-card-dark,
  .section.dark .nova-dark-media-row .nova-dark-still{
    max-width:100%!important;
  }
}
@media(max-width:680px){
  .section.dark .process-grid,
  .section.dark .nova-dark-media-row{
    width:calc(100% - 36px)!important;
    gap:24px!important;
  }
  .section.dark .process-grid h2{
    max-width:100%!important;
    margin-bottom:18px!important;
  }
  .section.dark .process-tabs{
    gap:8px!important;
    margin-bottom:16px!important;
  }
  .section.dark .process-tabs button{
    min-height:36px!important;
    padding:9px 12px!important;
  }
  .section.dark .process-copy article h3{
    font-size:22px!important;
  }
  .section.dark .nova-dark-visual-stack{
    gap:20px!important;
  }
  .section.dark .nova-dark-visual-stack .process-visual,
  .section.dark .nova-video-card-dark,
  .section.dark .nova-dark-media-row .nova-dark-still{
    aspect-ratio:4/3!important;
    border-radius:10px!important;
  }
  .section.dark .nova-video-card-dark .nova-video-play{
    width:54px!important;
    height:54px!important;
  }
}

/* Homepage correction: stronger card headlines, cleaner label rhythm, and planning block alignment. */
.home .use-card .kicker,
.home .project-card .kicker,
.home .audience-card .kicker,
body.home .use-card .kicker,
body.home .project-card .kicker,
body.home .audience-card .kicker{
  display:block!important;
  margin:0 0 clamp(14px,1.5vw,22px)!important;
  letter-spacing:.14em!important;
  font-size:clamp(.76rem,.78vw,.86rem)!important;
  line-height:1!important;
  color:var(--nova-copper)!important;
}
.home .use-card h3,
.home .project-card h3,
.home .audience-card h3,
body.home .use-card h3,
body.home .project-card h3,
body.home .audience-card h3{
  font-size:clamp(2rem,2.45vw,3.05rem)!important;
  line-height:1.02!important;
  max-width:13ch!important;
  margin:0 0 clamp(20px,2vw,28px)!important;
}
.home .use-card p,
.home .project-card p,
.home .audience-card p,
body.home .use-card p,
body.home .project-card p,
body.home .audience-card p{
  max-width:32ch!important;
}
.home .use-card,
.home .project-card,
.home .audience-card,
body.home .use-card,
body.home .project-card,
body.home .audience-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
}
.home .split-list,
body.home .split-list{
  align-items:start!important;
}
.home .split-list h2,
body.home .split-list h2{
  max-width:10.8ch!important;
  margin-bottom:clamp(24px,3vw,42px)!important;
}
.home .split-list .lead,
body.home .split-list .lead{
  max-width:58ch!important;
  align-self:start!important;
  margin-top:clamp(10px,1.5vw,18px)!important;
}
@media(max-width:980px){
  .home .use-card h3,
  .home .project-card h3,
  .home .audience-card h3,
  body.home .use-card h3,
  body.home .project-card h3,
  body.home .audience-card h3{
    font-size:clamp(1.75rem,5vw,2.45rem)!important;
    max-width:16ch!important;
  }
}
@media(max-width:680px){
  .home .use-card h3,
  .home .project-card h3,
  .home .audience-card h3,
  body.home .use-card h3,
  body.home .project-card h3,
  body.home .audience-card h3{
    font-size:1.65rem!important;
    max-width:100%!important;
  }
}

/* Homepage service cards: direct correction for marked headings and labels. */
.service-map .service-group .service-cat{
  display:block!important;
  margin:0 0 clamp(16px,1.6vw,24px)!important;
  letter-spacing:.15em!important;
  font-size:clamp(.76rem,.78vw,.88rem)!important;
  line-height:1!important;
  color:var(--nova-copper)!important;
}
.service-map .service-group h3{
  font-size:clamp(2.05rem,2.55vw,3.2rem)!important;
  line-height:1.02!important;
  max-width:13.5ch!important;
  margin:0 0 clamp(20px,2vw,30px)!important;
}
.service-map .service-group .service-copy{
  padding-top:clamp(34px,4.2vw,58px)!important;
}
.service-map .service-group .service-desc{
  max-width:34ch!important;
}
.service-map .service-list a{
  text-decoration:none!important;
}
@media(max-width:980px){
  .service-map .service-group h3{
    font-size:clamp(1.8rem,5.3vw,2.55rem)!important;
    max-width:16ch!important;
  }
}
@media(max-width:680px){
  .service-map .service-group h3{
    font-size:1.7rem!important;
    max-width:100%!important;
  }
  .service-map .service-group .service-copy{
    padding-top:28px!important;
  }
}

/* 2026-05 final correction: mobile scale, original serif rhythm, service cards and form readability. */
:root{--nova-card-title:clamp(1.72rem,1.95vw,2.34rem);}
.service-map{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(16px,2vw,24px)!important;}
.service-map .service-group{min-height:clamp(500px,44vw,620px)!important;aspect-ratio:auto!important;}
.service-map .service-group>img{filter:saturate(.92) contrast(1.02) brightness(.62)!important;object-position:center!important;}
.service-map .service-group::after{background:linear-gradient(180deg,rgba(15,17,21,.16),rgba(15,17,21,.48) 42%,rgba(15,17,21,.92) 100%)!important;}
.service-map .service-group .service-copy{padding:clamp(24px,2.6vw,34px)!important;padding-top:clamp(26px,3.2vw,44px)!important;}
.service-map .service-group .service-cat,.service-map .service-group .eyebrow{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:clamp(.68rem,.7vw,.78rem)!important;letter-spacing:.14em!important;line-height:1.1!important;margin-bottom:clamp(12px,1.35vw,18px)!important;}
.service-map .service-group h3{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:var(--nova-card-title)!important;line-height:1.08!important;font-weight:800!important;max-width:15.5ch!important;margin-bottom:clamp(16px,1.9vw,24px)!important;}
.service-map .service-group .service-desc,.service-map .service-group p{font-size:clamp(.92rem,.9vw,1rem)!important;line-height:1.55!important;max-width:36ch!important;}
.service-map .service-list{margin-top:clamp(16px,2vw,24px)!important;}
.service-map .service-list a{min-height:44px!important;padding:10px 0!important;font-size:.9rem!important;}
.specs-band{padding:clamp(36px,4.8vw,62px) 0!important;border-block:1px solid rgba(16,18,22,.12)!important;}
.specs-grid{align-items:start!important;gap:clamp(18px,4vw,54px)!important;}
.spec-item strong{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(2.25rem,3.3vw,3.35rem)!important;line-height:.96!important;font-weight:500!important;letter-spacing:0!important;color:var(--nova-ink)!important;}
.spec-item span{display:block!important;margin-top:10px!important;font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;font-size:clamp(.78rem,.9vw,.96rem)!important;line-height:1.32!important;letter-spacing:.14em!important;color:rgba(16,18,22,.66)!important;}
.section.dark .process-grid h2,.section.dark .system-dark h2,.system-dark h2{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(2.5rem,4.1vw,4.6rem)!important;line-height:1.04!important;font-weight:500!important;max-width:12.5ch!important;}
.section.dark .process-tabs,.system-dark .process-tabs{margin-top:0!important;}
.section.dark .process-tabs button,.system-dark .process-tabs button{font-size:.82rem!important;min-height:38px!important;}
.section.dark .process-copy article h3,.system-dark .process-copy article h3{font-size:clamp(1.35rem,1.75vw,1.8rem)!important;line-height:1.08!important;max-width:26ch!important;}
.process-visual img[alt*="NOVA"],.nova-dark-visual-stack img[alt*="NOVA"]{object-fit:contain!important;padding:clamp(42px,7vw,90px)!important;background:#121417!important;}
.contact-hero h1,.contact-shell h1,.contact-shell h2,.inquiry-grid h2{max-width:12.8ch!important;font-size:clamp(2.5rem,4.15vw,4.65rem)!important;line-height:1.02!important;}
.contact-form,.contact-card{min-width:0!important;}
@media(max-width:1100px){.service-map{grid-template-columns:repeat(3,minmax(0,1fr))!important;}.service-map .service-group h3{font-size:clamp(1.55rem,2.35vw,2.1rem)!important;}}
@media(max-width:980px){.service-map{grid-template-columns:1fr!important;max-width:720px!important;margin-inline:auto!important;}.service-map .service-group{min-height:0!important;aspect-ratio:16/10!important;}.service-map .service-group h3{font-size:clamp(1.65rem,4.4vw,2.3rem)!important;max-width:18ch!important;}.specs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:30px!important;}.contact-hero h1,.contact-shell h1,.contact-shell h2,.inquiry-grid h2{max-width:14ch!important;}}
@media(max-width:680px){body{overflow-x:hidden!important;}.wrap{width:calc(100% - 36px)!important;}h1{font-size:clamp(2rem,9vw,2.85rem)!important;line-height:1.1!important;}h2{font-size:clamp(1.75rem,7.6vw,2.35rem)!important;line-height:1.12!important;}.service-map{width:100%!important;max-width:none!important;}.service-map .service-group{aspect-ratio:auto!important;min-height:540px!important;}.service-map .service-group .service-copy{padding:24px!important;}.service-map .service-group .service-cat,.service-map .service-group .eyebrow{font-size:.68rem!important;margin-bottom:12px!important;}.service-map .service-group h3{font-size:1.72rem!important;line-height:1.08!important;max-width:15ch!important;}.service-map .service-group p{font-size:.93rem!important;line-height:1.55!important;}.specs-grid{grid-template-columns:1fr!important;gap:24px!important;text-align:center!important;}.spec-item strong{font-size:2.3rem!important;}.spec-item span{font-size:.78rem!important;max-width:26ch!important;margin-inline:auto!important;}.section.dark .process-grid h2,.section.dark .system-dark h2,.system-dark h2{font-size:clamp(2.05rem,9.5vw,2.9rem)!important;max-width:100%!important;}.section.dark .process-tabs,.system-dark .process-tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:4px!important;scrollbar-width:none!important;}.section.dark .process-tabs button,.system-dark .process-tabs button{flex:0 0 auto!important;font-size:.78rem!important;}.section.dark .process-copy article h3,.system-dark .process-copy article h3{font-size:1.35rem!important;max-width:100%!important;}.contact-hero h1,.contact-shell h1,.contact-shell h2,.inquiry-grid h2{font-size:clamp(1.9rem,8.1vw,2.52rem)!important;max-width:100%!important;line-height:1.1!important;}}

/* NOVA design system foundation.
   Canonical shared layer for global tokens, reusable components and responsive behavior. */
:root{
  --nova-page-bg:#f4f1ea;
  --nova-ink:#101216;
  --nova-muted:rgba(16,18,22,.68);
  --nova-soft:rgba(16,18,22,.09);
  --nova-soft-strong:rgba(16,18,22,.15);
  --nova-panel:rgba(255,252,245,.72);
  --nova-cream:#fffaf0;
  --nova-dark:#111315;
  --nova-dark-soft:#191c20;
  --nova-copper:#b8734a;
  --nova-copper-dark:#925739;
  --nova-radius:8px;
  --nova-radius-sm:7px;
  --nova-max:1180px;
  --nova-max-wide:1280px;
  --nova-max-text:760px;
  --nova-gutter:clamp(22px,4.4vw,56px);
  --nova-section:clamp(76px,9vw,128px);
  --nova-section-tight:clamp(56px,7vw,92px);
  --nova-section-compact:clamp(42px,5vw,68px);
  --nova-serif:"Cormorant Garamond",Georgia,serif;
  --nova-sans:Inter,"Helvetica Neue",Arial,sans-serif;
  --nova-shadow-card:0 18px 46px rgba(16,18,22,.045);
  --nova-shadow-media:0 18px 54px rgba(16,18,22,.07);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  width:100%;
  max-width:100%;
  scroll-behavior:smooth;
  overflow-x:hidden;
}

body{
  width:100%;
  max-width:100%;
  margin:0;
  overflow-x:hidden;
  background:var(--nova-page-bg)!important;
  color:var(--nova-ink)!important;
  font-family:var(--nova-sans)!important;
  font-size:16px!important;
  line-height:1.65!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

main,
section,
article,
aside,
header,
footer,
.wrap,
.hero,
.section{
  min-width:0;
}

.wrap{
  width:min(var(--nova-max),calc(100% - (var(--nova-gutter) * 2)))!important;
  max-width:none!important;
  margin-inline:auto!important;
}

.wrap-wide{
  width:min(var(--nova-max-wide),calc(100% - (var(--nova-gutter) * 2)))!important;
  margin-inline:auto!important;
}

.section{
  padding-block:var(--nova-section)!important;
}

.section-tight{
  padding-block:var(--nova-section-tight)!important;
}

.section-compact{
  padding-block:var(--nova-section-compact)!important;
}

.section.dark,
.system-dark,
section.dark{
  background:var(--nova-dark)!important;
  color:var(--nova-cream)!important;
}

.section.dark p,
.section.dark .lead,
.system-dark p,
.system-dark .lead,
section.dark p,
section.dark .lead{
  color:rgba(255,250,240,.74)!important;
}

h1,
h2,
h3,
h4,
p,
li,
a,
button,
label,
input,
select,
textarea,
.lead,
.btn{
  max-width:100%;
}

h1,
h2{
  margin-top:0!important;
  font-family:var(--nova-serif)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-wrap:balance;
  overflow-wrap:normal;
  hyphens:none;
}

h1{
  font-size:clamp(4.2rem,5.5vw,6.2rem)!important;
  line-height:.96!important;
}

h2{
  font-size:clamp(2.75rem,4.1vw,4.7rem)!important;
  line-height:1.02!important;
}

h3{
  margin-top:0!important;
  font-family:var(--nova-sans)!important;
  font-size:clamp(1.08rem,1.25vw,1.35rem)!important;
  line-height:1.22!important;
  letter-spacing:0!important;
  overflow-wrap:break-word;
}

p,
li,
.lead,
.card,
.btn{
  overflow-wrap:break-word;
}

p{
  max-width:68ch;
  color:var(--nova-muted)!important;
  font-size:clamp(.96rem,.98vw,1.02rem)!important;
  line-height:1.68!important;
}

.lead{
  max-width:64ch!important;
  color:var(--nova-muted)!important;
  font-size:clamp(1.04rem,1.25vw,1.22rem)!important;
  line-height:1.68!important;
}

.eyebrow,
.label,
.kicker,
.service-cat,
.principle-tag,
.spec-item span{
  font-family:var(--nova-sans)!important;
  letter-spacing:.12em!important;
  line-height:1.1!important;
  text-transform:uppercase!important;
}

.section-head,
.gallery-head,
.audience-head{
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
  gap:clamp(34px,5.6vw,84px)!important;
  align-items:start!important;
  margin-bottom:clamp(34px,5vw,68px)!important;
}

.intro-grid,
.statement-grid,
.process-grid,
.ablauf-grid,
.trust-grid,
.faq-shell,
.inquiry-grid,
.contact-grid,
.project-grid,
.materials,
.compare,
.contact-shell,
.nova-video-proof-grid{
  display:grid!important;
  gap:clamp(34px,5.6vw,84px)!important;
  min-width:0!important;
}

.intro-grid,
.statement-grid,
.process-grid,
.ablauf-grid,
.trust-grid,
.contact-grid,
.project-grid,
.materials,
.compare{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
}

.card-grid,
.principles,
.faktoren-grid,
.benefit-grid,
.reason-grid,
.service-map,
.visual-grid,
.gallery-grid,
.video-grid,
.audience-cards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,26px)!important;
  min-width:0!important;
}

.audience-cards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.principle,
.faktor,
.benefit-card,
.reason-card,
.info-card,
.contact-card{
  min-width:0!important;
  border:1px solid var(--nova-soft-strong)!important;
  border-radius:var(--nova-radius)!important;
  background:linear-gradient(180deg,rgba(255,252,245,.76),rgba(244,241,234,.38))!important;
  padding:clamp(24px,2.6vw,34px)!important;
  box-shadow:var(--nova-shadow-card)!important;
}

.service-group,
.visual-card,
.gal-card,
.project-card,
.audience-card,
.material-image,
.video-placeholder,
.video-card,
.trust-image,
.process-image,
.process-visual,
.project-image,
.project-media,
.ablauf-image,
.statement-visual,
.contact-visual{
  min-width:0!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:var(--nova-shadow-media)!important;
}

.trust-image,
.process-image,
.process-visual,
.project-image,
.project-media,
.ablauf-image,
.statement-visual,
.contact-visual,
.material-image,
.visual-card,
.gal-card{
  aspect-ratio:4/3!important;
}

.project-card,
.video-placeholder,
.video-card{
  aspect-ratio:16/9;
}

img,
video{
  max-width:100%;
  height:auto;
}

.brand img,
.footer-logo,
img[alt*="NOVA"]{
  object-fit:contain!important;
}

.visual-card img,
.gal-card img,
.compare-card img,
.audience-card img,
.project-card img,
.material-image img,
.process-visual img,
.trust-image img,
.process-image img,
.ablauf-image img,
.statement-visual img,
.project-media img,
.project-image img,
.contact-visual img,
.hero-bg img,
.service-group>img,
video{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.hero{
  min-height:clamp(620px,82vh,860px);
  isolation:isolate;
}

.hero-content,
.hero-grid{
  min-width:0;
}

.hero h1{
  max-width:14ch!important;
}

.hero .lead{
  max-width:58ch!important;
}

.site-header{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  width:100%!important;
  border-bottom:1px solid rgba(16,18,22,.08)!important;
  background:rgba(244,241,234,.86)!important;
  backdrop-filter:blur(18px)!important;
}

.header-inner{
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(18px,2.5vw,34px)!important;
}

.brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  min-width:0!important;
}

.brand img{
  width:clamp(124px,12vw,174px)!important;
  max-height:58px!important;
  display:block!important;
}

.nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(12px,1.55vw,22px)!important;
  min-width:0!important;
  font-family:var(--nova-sans)!important;
  font-size:.92rem!important;
  line-height:1.2!important;
}

.nav a,
.nav-mobile a,
.footer-links a{
  text-decoration:none!important;
}



.nav a{
  color:rgba(16,18,22,.78)!important;
  white-space:normal!important;
}

.nav a:not(.btn):hover{
  color:var(--nova-ink)!important;
}

.nav-toggle{
  flex:0 0 auto!important;
  width:44px!important;
  height:44px!important;
  border:1px solid rgba(16,18,22,.14)!important;
  border-radius:999px!important;
  background:rgba(255,252,245,.62)!important;
  color:var(--nova-ink)!important;
}

.nav-mobile{
  position:fixed!important;
  inset:74px var(--nova-gutter) auto!important;
  z-index:79!important;
  display:grid!important;
  gap:2px!important;
  max-height:calc(100vh - 92px)!important;
  overflow:auto!important;
  border:1px solid rgba(16,18,22,.14)!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(255,250,240,.97)!important;
  box-shadow:0 24px 70px rgba(16,18,22,.16)!important;
  padding:12px!important;
}

.nav-mobile a{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  padding:10px 12px!important;
  border-radius:6px!important;
  color:var(--nova-ink)!important;
  line-height:1.25!important;
}

.nav-mobile a:not(.btn):hover{
  background:rgba(16,18,22,.06)!important;
}

.btn,
button.btn,
a.btn{
  min-width:0!important;
  min-height:52px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:0 clamp(20px,2.3vw,28px)!important;
  border-radius:var(--nova-radius-sm)!important;
  border:1px solid transparent!important;
  font-family:var(--nova-sans)!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  cursor:pointer;
}

.btn-primary,
a.btn-primary,
button.btn-primary{
  border-color:var(--nova-copper)!important;
  background:var(--nova-copper)!important;
  color:var(--nova-cream)!important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover{
  border-color:var(--nova-copper-dark)!important;
  background:var(--nova-copper-dark)!important;
  color:var(--nova-cream)!important;
}

.btn-secondary,
a.btn-secondary,
button.btn-secondary{
  border-color:var(--nova-soft-strong)!important;
  background:transparent!important;
  color:var(--nova-ink)!important;
}

.section.dark .btn-secondary,
.system-dark .btn-secondary{
  border-color:rgba(255,250,240,.28)!important;
  color:var(--nova-cream)!important;
}

.hero-actions,
.project-actions,
.cta-actions,
.form-actions,
.contact-form-footer{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
}

.contact-form input,
.contact-form select,
.contact-form textarea,
input,
select,
textarea{
  max-width:100%!important;
  box-sizing:border-box!important;
  font:inherit;
}

.faq-btn{
  width:100%!important;
}

.faq-btn span:first-child{
  min-width:0!important;
  overflow-wrap:break-word!important;
}

.footer{
  background:var(--nova-dark)!important;
  color:rgba(255,250,240,.68)!important;
}

.footer-inner{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(280px,1.35fr) auto!important;
  gap:clamp(24px,4vw,56px)!important;
  align-items:start!important;
}

.footer-links{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(120px,1fr))!important;
  gap:12px 28px!important;
}

.footer-copy{
  max-width:34ch!important;
  color:rgba(255,250,240,.68)!important;
}

@media(max-width:1180px){
  .card-grid,
  .principles,
  .faktoren-grid,
  .benefit-grid,
  .reason-grid,
  .service-map,
  .visual-grid,
  .gallery-grid,
  .video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:980px){
  :root{
    --nova-gutter:clamp(20px,5vw,42px);
    --nova-section:clamp(64px,10vw,96px);
    --nova-section-tight:clamp(52px,8vw,78px);
  }

  h1{
    font-size:clamp(3rem,8vw,4.8rem)!important;
    line-height:1.02!important;
  }

  h2{
    font-size:clamp(2.25rem,6.3vw,3.55rem)!important;
    line-height:1.06!important;
  }

  h3{
    font-size:clamp(1.03rem,2.2vw,1.25rem)!important;
    line-height:1.24!important;
  }

  .section-head,
  .gallery-head,
  .audience-head,
  .intro-grid,
  .statement-grid,
  .process-grid,
  .ablauf-grid,
  .trust-grid,
  .faq-shell,
  .inquiry-grid,
  .contact-grid,
  .project-grid,
  .materials,
  .compare,
  .contact-shell,
  .nova-video-proof-grid{
    grid-template-columns:1fr!important;
    gap:clamp(28px,5.5vw,50px)!important;
  }

  .nav{
    display:none!important;
  }

  .nav-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .footer-inner{
    grid-template-columns:1fr 1fr!important;
  }

  .footer-cta,
  .footer-legal{
    grid-column:1/-1!important;
  }
}

@media(min-width:981px){
  .nav-toggle,
  .nav-mobile{
    display:none!important;
  }
}

@media(max-width:680px){
  :root{
    --nova-gutter:18px;
    --nova-section:clamp(50px,12vw,72px);
    --nova-section-tight:clamp(44px,10vw,62px);
  }

  .wrap,
  .wrap-wide{
    width:calc(100% - 36px)!important;
  }

  h1{
    font-size:clamp(2.15rem,10vw,3.15rem)!important;
    line-height:1.08!important;
    max-width:100%!important;
  }

  h2{
    font-size:clamp(1.82rem,8vw,2.45rem)!important;
    line-height:1.1!important;
    max-width:100%!important;
  }

  h3{
    font-size:clamp(1rem,4.8vw,1.16rem)!important;
    line-height:1.25!important;
    max-width:100%!important;
  }

  p,
  .lead{
    font-size:.96rem!important;
    line-height:1.66!important;
  }

  .card-grid,
  .principles,
  .faktoren-grid,
  .benefit-grid,
  .reason-grid,
  .service-map,
  .visual-grid,
  .gallery-grid,
  .video-grid,
  .audience-cards,
  .footer-links{
    grid-template-columns:1fr!important;
  }

  .principle,
  .faktor,
  .benefit-card,
  .reason-card,
  .info-card,
  .contact-card{
    padding:22px!important;
    min-height:0!important;
  }

  .trust-image,
  .process-image,
  .process-visual,
  .project-image,
  .project-media,
  .ablauf-image,
  .statement-visual,
  .contact-visual,
  .material-image,
  .visual-card,
  .gal-card,
  .audience-card,
  .video-card,
  .video-placeholder{
    aspect-ratio:4/3!important;
  }

  .trust-item,
  .process-step,
  .step,
  .ablauf-item{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:22px 0!important;
  }

  .hero-actions,
  .project-actions,
  .cta-actions,
  .form-actions,
  .contact-form-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .hero-actions .btn,
  .project-actions .btn,
  .cta-actions .btn,
  .form-actions .btn,
  .contact-form .btn{
    width:100%!important;
  }

  .contact-form-row,
  .form-grid,
  .footer-inner{
    grid-template-columns:1fr!important;
  }

  .nav-mobile{
    inset:66px 18px auto!important;
    max-height:calc(100vh - 84px)!important;
  }

  .header-inner{
    min-height:66px!important;
  }

  .brand img{
    width:132px!important;
    max-height:48px!important;
  }
}

/* Explicit reusable primitives requested for future page cleanup. */
.container{
  width:min(var(--nova-max),calc(100% - (var(--nova-gutter) * 2)))!important;
  margin-inline:auto!important;
  min-width:0!important;
}

.container-wide{
  width:min(var(--nova-max-wide),calc(100% - (var(--nova-gutter) * 2)))!important;
  margin-inline:auto!important;
  min-width:0!important;
}

.grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(24px,4vw,56px)!important;
  min-width:0!important;
}

.grid-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,26px)!important;
  min-width:0!important;
}

.grid-auto{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important;
  gap:clamp(18px,2vw,26px)!important;
  min-width:0!important;
}

.card{
  min-width:0!important;
  border:1px solid var(--nova-soft-strong)!important;
  border-radius:var(--nova-radius)!important;
  background:linear-gradient(180deg,rgba(255,252,245,.76),rgba(244,241,234,.38))!important;
  padding:clamp(24px,2.6vw,34px)!important;
  box-shadow:var(--nova-shadow-card)!important;
}

.card h3{
  max-width:24ch!important;
}

.card p{
  max-width:38ch!important;
}

.cta{
  position:relative!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:var(--nova-dark)!important;
  color:var(--nova-cream)!important;
  padding:clamp(34px,6vw,76px)!important;
}

.cta h2,
.cta h3{
  color:var(--nova-cream)!important;
}

.cta p,
.cta .lead{
  color:rgba(255,250,240,.76)!important;
}

.image-frame{
  display:block!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  aspect-ratio:4/3!important;
  background:rgba(16,18,22,.08)!important;
  box-shadow:var(--nova-shadow-media)!important;
}

.image-frame.wide{
  aspect-ratio:16/9!important;
}

.image-frame.square{
  aspect-ratio:1/1!important;
}

.image-frame img,
.image-frame video{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

@media(max-width:980px){
  .grid,
  .grid-3{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:680px){
  .container,
  .container-wide{
    width:calc(100% - 36px)!important;
  }

  .grid,
  .grid-3,
  .grid-auto{
    gap:14px!important;
  }

  .card{
    padding:22px!important;
  }

  .cta{
    padding:clamp(28px,8vw,46px)!important;
  }

  .image-frame,
  .image-frame.wide{
    aspect-ratio:4/3!important;
  }
}

/* NOVA system polish layer 2026-05
   Global visual foundation for all pages. Keep this layer reusable and page-agnostic. */
:root{
  --nova-cream:#fffaf0;
  --nova-dark:#111315;
  --nova-dark-soft:#191c20;
  --nova-copper-dark:#925739;
  --nova-max-wide:1360px;
  --nova-radius-sm:6px;
  --nova-shadow-card:0 18px 46px rgba(16,18,22,.055);
  --nova-shadow-media:0 22px 64px rgba(16,18,22,.095);
  --nova-border:1px solid var(--nova-soft-strong);
  --nova-hairline:1px solid var(--nova-soft);
  --nova-text-measure:68ch;
  --nova-tight-measure:48ch;
  --nova-header-height:76px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  width:100%;
  max-width:100%;
  overflow-x:clip!important;
  scroll-behavior:smooth;
}

body{
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  overflow-x:clip!important;
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:16px;
  line-height:1.65;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:
    linear-gradient(180deg,rgba(255,250,240,.58),rgba(244,241,234,0) 420px),
    var(--nova-page-bg)!important;
}

main{
  min-width:0;
}

.wrap,
.wrap-wide,
.container,
.container-wide{
  width:min(var(--nova-max),calc(100% - (var(--nova-gutter) * 2)))!important;
  margin-inline:auto!important;
  min-width:0!important;
}

.wrap-wide,
.container-wide{
  width:min(var(--nova-max-wide),calc(100% - (var(--nova-gutter) * 2)))!important;
}

section,
header,
footer,
div,
article,
figure{
  min-width:0;
}

h1,
h2,
h3,
h4,
p,
li,
a,
button,
label,
span{
  max-width:100%;
}

h1,
h2{
  font-family:var(--nova-serif,"Cormorant Garamond",Georgia,serif)!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-wrap:balance;
}

h1{
  font-size:clamp(3.25rem,5.15vw,5.85rem)!important;
  line-height:.98!important;
  max-width:14ch!important;
}

h2{
  font-size:clamp(2.25rem,3.85vw,4.15rem)!important;
  line-height:1.04!important;
  max-width:13.5ch!important;
}

h3{
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:clamp(1.08rem,1.16vw,1.32rem)!important;
  line-height:1.22!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

p,
li,
.lead{
  overflow-wrap:break-word;
}

p{
  max-width:var(--nova-text-measure);
}

.lead{
  max-width:62ch!important;
  font-size:clamp(1rem,1.05vw,1.14rem)!important;
  line-height:1.72!important;
}

.eyebrow,
.label,
.principle-tag,
.service-cat,
.spec-item span{
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:.76rem!important;
  line-height:1.25!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
}

.section,
.section-tight,
.section-compact{
  position:relative;
  overflow:clip;
}

.section{
  padding-block:var(--nova-section)!important;
}

.section-tight{
  padding-block:var(--nova-section-tight)!important;
}

.section-compact{
  padding-block:clamp(44px,5vw,72px)!important;
}

.section.dark,
.system-dark,
.cta{
  background:var(--nova-dark)!important;
  color:var(--nova-cream)!important;
}

.section.dark p,
.section.dark li,
.section.dark .lead,
.system-dark p,
.system-dark li,
.system-dark .lead,
.cta p,
.cta .lead{
  color:rgba(255,250,240,.74)!important;
}

.section.dark h1,
.section.dark h2,
.section.dark h3,
.system-dark h1,
.system-dark h2,
.system-dark h3,
.cta h2,
.cta h3{
  color:var(--nova-cream)!important;
}

.section-head,
.gallery-head,
.audience-head{
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:clamp(28px,5vw,72px)!important;
  align-items:end!important;
  margin-bottom:clamp(34px,4.8vw,64px)!important;
}

.section-head .lead,
.gallery-head .lead,
.audience-head .lead{
  max-width:62ch!important;
  margin:0!important;
}

.grid,
.intro-grid,
.statement-grid,
.process-grid,
.ablauf-grid,
.trust-grid,
.faq-shell,
.inquiry-grid,
.contact-grid,
.project-grid,
.materials,
.compare{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(34px,5.2vw,84px)!important;
  align-items:start!important;
}

.grid-3,
.card-grid,
.principles,
.faktoren-grid,
.benefit-grid,
.reason-grid,
.service-map,
.visual-grid,
.gallery-grid,
.video-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
}

.audience-cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(18px,2vw,28px)!important;
}

.card,
.principle,
.faktor,
.benefit-card,
.reason-card,
.info-card,
.contact-card{
  min-width:0!important;
  border:var(--nova-border)!important;
  border-radius:var(--nova-radius)!important;
  background:linear-gradient(180deg,rgba(255,252,245,.78),rgba(244,241,234,.42))!important;
  box-shadow:var(--nova-shadow-card)!important;
  padding:clamp(24px,2.5vw,34px)!important;
}

.card h3,
.principle h3,
.faktor h3,
.benefit-card h3,
.reason-card h3,
.info-card h3,
.contact-card h3{
  max-width:24ch!important;
  margin-top:0!important;
}

.card p,
.principle p,
.faktor p,
.benefit-card p,
.reason-card p,
.info-card p,
.contact-card p{
  max-width:40ch!important;
}

.btn,
button.btn,
a.btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:52px!important;
  max-width:100%!important;
  border-radius:var(--nova-radius-sm)!important;
  padding:14px clamp(20px,2.2vw,30px)!important;
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:.92rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}

.btn:hover,
button.btn:hover,
a.btn:hover{
  transform:translateY(-1px);
}

.btn-primary,
a.btn-primary,
button.btn-primary{
  border:1px solid var(--nova-copper)!important;
  background:var(--nova-copper)!important;
  color:#fff!important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover{
  border-color:var(--nova-copper-dark)!important;
  background:var(--nova-copper-dark)!important;
}

.btn-secondary,
a.btn-secondary,
button.btn-secondary,
.btn-light,
a.btn-light{
  border:1px solid rgba(16,18,22,.2)!important;
  background:rgba(255,252,245,.58)!important;
  color:var(--nova-ink)!important;
}

.section.dark .btn-secondary,
.section.dark a.btn-secondary,
.section.dark .btn-light,
.system-dark .btn-secondary{
  border-color:rgba(255,250,240,.34)!important;
  background:rgba(255,250,240,.08)!important;
  color:var(--nova-cream)!important;
}

.hero-actions,
.project-actions,
.cta-actions,
.form-actions,
.contact-form-footer{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
}

img,
video{
  max-width:100%;
  height:auto;
}

figure{
  margin:0;
}

.hero-bg,
.trust-image,
.process-image,
.process-visual,
.project-image,
.project-media,
.ablauf-image,
.statement-visual,
.contact-visual,
.material-image,
.visual-card,
.gal-card,
.audience-card,
.video-card,
.video-placeholder,
.image-frame{
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(16,18,22,.08)!important;
  box-shadow:var(--nova-shadow-media)!important;
}

.trust-image,
.process-image,
.process-visual,
.project-image,
.project-media,
.ablauf-image,
.statement-visual,
.contact-visual,
.material-image,
.visual-card,
.gal-card,
.audience-card,
.video-card,
.video-placeholder,
.image-frame{
  aspect-ratio:4/3!important;
}

.hero-bg,
.hero-bg img{
  border-radius:0!important;
  box-shadow:none!important;
}

.hero-bg img,
.trust-image img,
.process-image img,
.process-visual img,
.project-image img,
.project-media img,
.ablauf-image img,
.statement-visual img,
.contact-visual img,
.material-image img,
.visual-card img,
.gal-card img,
.audience-card img,
.video-card img,
.video-placeholder img,
.image-frame img,
.image-frame video{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.brand img,
.footer-logo img,
img[alt="NOVA Epoxyfloor"]{
  object-fit:contain!important;
  height:auto!important;
}

.site-header{
  min-height:var(--nova-header-height)!important;
  border-bottom:1px solid rgba(16,18,22,.08)!important;
  background:rgba(244,241,234,.86)!important;
  backdrop-filter:blur(18px);
}

.header-inner{
  min-height:var(--nova-header-height)!important;
  gap:clamp(18px,2vw,34px)!important;
}

.brand{
  flex:0 0 auto!important;
}

.brand img{
  width:clamp(132px,12vw,172px)!important;
  max-height:52px!important;
}

.nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(12px,1.35vw,22px)!important;
  min-width:0!important;
}

.nav a,
.nav-mobile a,
.footer-links a{
  text-decoration:none!important;
  overflow-wrap:break-word!important;
}

.nav a:not(.btn){
  color:rgba(16,18,22,.78)!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

.nav a:not(.btn):hover{
  color:var(--nova-ink)!important;
}

.nav-toggle{
  border:1px solid rgba(16,18,22,.18)!important;
  border-radius:999px!important;
  background:rgba(255,252,245,.7)!important;
}

.nav-mobile{
  border:1px solid rgba(16,18,22,.14)!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(255,252,245,.96)!important;
  box-shadow:0 24px 70px rgba(16,18,22,.18)!important;
  backdrop-filter:blur(16px);
}

.nav-mobile a{
  border-bottom:var(--nova-hairline)!important;
  color:var(--nova-ink)!important;
  font-weight:850!important;
}

.nav-mobile a:last-child{
  border-bottom:0!important;
}

.footer{
  background:var(--nova-dark)!important;
  color:var(--nova-cream)!important;
}

.footer p,
.footer-copy{
  color:rgba(255,250,240,.7)!important;
}

.footer-inner{
  display:grid!important;
  grid-template-columns:minmax(220px,.9fr) minmax(260px,1.25fr) minmax(190px,.7fr)!important;
  gap:clamp(28px,4vw,64px)!important;
  align-items:start!important;
}

.footer-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 22px!important;
}

.footer-links a{
  color:rgba(255,250,240,.74)!important;
}

.footer-links a:hover{
  color:var(--nova-cream)!important;
}

.footer{
  padding:clamp(50px,6vw,82px) 0!important;
  border-top:1px solid rgba(244,241,234,.12)!important;
}

.footer-inner{
  grid-template-columns:minmax(250px,.82fr) minmax(580px,1.2fr) minmax(220px,.72fr)!important;
  gap:clamp(26px,3.4vw,54px)!important;
  justify-content:center!important;
  align-items:start!important;
}

.footer-brand,
.footer-contact,
.footer-nav,
.footer-legal{
  display:grid!important;
  gap:12px!important;
  align-content:start!important;
}

.footer-middle{
  display:grid!important;
  grid-template-columns:minmax(360px,1fr) max-content!important;
  gap:clamp(34px,4vw,62px)!important;
  justify-self:center!important;
  width:100%!important;
}

.footer-heading{
  margin:0!important;
  color:var(--nova-cream)!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.footer-contact address{
  display:grid!important;
  gap:5px!important;
  color:rgba(255,250,240,.72)!important;
  font-style:normal!important;
  line-height:1.55!important;
}

.footer-contact strong{
  color:var(--nova-cream)!important;
}

.footer-contact{
  justify-self:end!important;
  min-width:min(100%,220px)!important;
}

.footer-contact a,
.footer-legal a,
.footer-cookie-link{
  color:rgba(255,250,240,.78)!important;
  text-decoration:none!important;
}

.footer-contact a:hover,
.footer-legal a:hover,
.footer-cookie-link:hover{
  color:var(--nova-cream)!important;
}

.footer-nav .footer-links{
  grid-template-columns:max-content max-content!important;
  gap:10px clamp(34px,4vw,52px)!important;
}

.footer-links a,
.footer-legal a,
.footer-cookie-link,
.footer-contact a,
.footer-contact span,
.footer-contact strong{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.footer-legal{
  border-top:0!important;
  padding-top:0!important;
  grid-column:auto!important;
  color:rgba(255,250,240,.7)!important;
}

.footer-legal-links{
  display:grid!important;
  gap:10px!important;
}

.footer-cookie-link{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  font:inherit!important;
  font-weight:800!important;
  text-align:left!important;
  cursor:pointer!important;
}

.footer-bottom{
  grid-column:1/-1!important;
  border-top:1px solid rgba(244,241,234,.1)!important;
  padding-top:18px!important;
  color:rgba(255,250,240,.48)!important;
  font-size:.86rem!important;
}

.legal-hero{
  padding-top:clamp(142px,14vw,190px)!important;
  padding-bottom:clamp(54px,7vw,86px)!important;
}

.legal-hero .eyebrow{
  display:block!important;
  margin-bottom:16px!important;
}

.legal-hero h1{
  max-width:13ch!important;
}

.legal-hero .lead{
  margin-top:22px!important;
  max-width:58ch!important;
}

.legal-content{
  padding-top:0!important;
}

.legal-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1fr)!important;
  gap:clamp(34px,5vw,80px)!important;
  align-items:start!important;
}

.legal-aside{
  position:sticky!important;
  top:calc(var(--nova-header-height) + 28px)!important;
  border-left:1px solid var(--nova-soft-strong)!important;
  padding-left:22px!important;
}

.legal-aside a{
  display:block!important;
  color:rgba(16,18,22,.72)!important;
  font-weight:800!important;
  text-decoration:none!important;
  padding:7px 0!important;
}

.legal-aside a:hover{
  color:var(--nova-ink)!important;
}

.legal-panel{
  display:grid!important;
  gap:clamp(28px,3.8vw,44px)!important;
}

.legal-section{
  border-top:1px solid var(--nova-soft-strong)!important;
  padding-top:clamp(22px,3vw,32px)!important;
}

.legal-section:first-child{
  border-top:0!important;
  padding-top:0!important;
}

.legal-section h2{
  max-width:18ch!important;
  margin-bottom:16px!important;
}

.legal-section h3{
  margin-top:22px!important;
  margin-bottom:8px!important;
}

.legal-section ul{
  margin:14px 0 0!important;
  padding-left:20px!important;
  color:var(--nova-muted)!important;
}

.legal-section li+li{
  margin-top:8px!important;
}

.legal-address{
  display:grid!important;
  gap:4px!important;
  color:rgba(16,18,22,.76)!important;
  font-style:normal!important;
}

.cookie-consent{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  display:grid!important;
  align-items:end!important;
  padding:clamp(16px,3vw,34px)!important;
  background:rgba(16,18,22,.22)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease!important;
}

.cookie-consent.is-visible{
  opacity:1!important;
  pointer-events:auto!important;
}

.cookie-consent-card{
  width:min(940px,100%)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(18px,3vw,34px)!important;
  align-items:end!important;
  border:1px solid rgba(244,241,234,.18)!important;
  border-radius:8px!important;
  background:rgba(17,19,21,.96)!important;
  color:var(--nova-cream)!important;
  padding:clamp(22px,3vw,34px)!important;
  box-shadow:0 24px 80px rgba(16,18,22,.28)!important;
}

.cookie-consent-copy h2{
  color:var(--nova-cream)!important;
  font-size:clamp(1.72rem,3vw,2.55rem)!important;
  max-width:100%!important;
  margin:6px 0 10px!important;
}

.cookie-consent-copy p{
  color:rgba(255,250,240,.76)!important;
  max-width:62ch!important;
}

.cookie-consent-copy a{
  display:inline-block!important;
  margin-top:12px!important;
  color:var(--nova-cream)!important;
  font-weight:800!important;
  text-decoration:none!important;
}

.cookie-options{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.cookie-options[hidden]{
  display:none!important;
}

.cookie-options label{
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  min-height:46px!important;
  border:1px solid rgba(244,241,234,.16)!important;
  border-radius:7px!important;
  padding:10px 12px!important;
  color:rgba(255,250,240,.84)!important;
  font-weight:800!important;
}

.cookie-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

.cookie-actions .btn{
  min-height:46px!important;
  white-space:nowrap!important;
}

@media(max-width:980px){
  .footer-inner{
    grid-template-columns:1fr 1fr!important;
  }

  .footer-middle{
    grid-column:1/-1!important;
    grid-template-columns:minmax(320px,1fr) max-content!important;
    justify-self:stretch!important;
    width:100%!important;
    order:3!important;
  }

  .footer-contact{
    order:2!important;
    justify-self:start!important;
  }

  .footer-brand{
    order:1!important;
  }

  .footer-bottom{
    grid-column:1/-1!important;
    order:4!important;
  }

  .legal-grid{
    grid-template-columns:1fr!important;
  }

  .legal-aside{
    position:static!important;
    border-left:0!important;
    border-top:1px solid var(--nova-soft-strong)!important;
    padding-left:0!important;
    padding-top:18px!important;
  }

  .cookie-consent-card{
    grid-template-columns:1fr!important;
  }

  .cookie-actions{
    justify-content:start!important;
  }
}

@media(max-width:680px){
  .footer-inner,
  .footer-middle,
  .footer-nav .footer-links,
  .cookie-options{
    grid-template-columns:1fr!important;
  }

  .footer-links a,
  .footer-legal a,
  .footer-cookie-link,
  .footer-contact a,
  .footer-contact span,
  .footer-contact strong{
    white-space:normal!important;
  }

  .footer-middle{
    gap:28px!important;
  }

  .legal-hero{
    padding-top:118px!important;
  }

  .cookie-consent{
    padding:12px!important;
  }

  .cookie-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .cookie-actions .btn{
    width:100%!important;
  }
}

input,
textarea,
select{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

@media(max-width:1180px){
  .grid-3,
  .card-grid,
  .principles,
  .faktoren-grid,
  .benefit-grid,
  .reason-grid,
  .visual-grid,
  .gallery-grid,
  .video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .service-map{
    grid-template-columns:1fr!important;
    max-width:760px!important;
    margin-inline:auto!important;
  }
}

@media(max-width:980px){
  :root{
    --nova-header-height:68px;
    --nova-gutter:clamp(20px,5vw,42px);
    --nova-section:clamp(64px,10vw,96px);
    --nova-section-tight:clamp(52px,8vw,78px);
  }

  h1{
    font-size:clamp(2.75rem,8vw,4.55rem)!important;
    max-width:13ch!important;
  }

  h2{
    font-size:clamp(2.1rem,6.2vw,3.35rem)!important;
    max-width:15ch!important;
  }

  .section-head,
  .gallery-head,
  .audience-head,
  .grid,
  .intro-grid,
  .statement-grid,
  .process-grid,
  .ablauf-grid,
  .trust-grid,
  .faq-shell,
  .inquiry-grid,
  .contact-grid,
  .project-grid,
  .materials,
  .compare,
  .contact-shell{
    grid-template-columns:1fr!important;
    gap:clamp(26px,5vw,48px)!important;
  }

  .audience-cards,
  .footer-inner{
    grid-template-columns:1fr!important;
  }

  .nav{
    display:none!important;
  }

  .nav-toggle{
    display:flex!important;
  }
}

@media(min-width:981px){
  .nav-toggle,
  .nav-mobile{
    display:none!important;
  }
}

@media(max-width:680px){
  :root{
    --nova-gutter:18px;
    --nova-section:clamp(50px,12vw,72px);
    --nova-section-tight:clamp(44px,10vw,62px);
  }

  .wrap,
  .wrap-wide,
  .container,
  .container-wide{
    width:calc(100% - 36px)!important;
  }

  h1{
    font-size:clamp(2.08rem,9.2vw,3rem)!important;
    line-height:1.08!important;
    max-width:100%!important;
  }

  h2{
    font-size:clamp(1.78rem,7.6vw,2.38rem)!important;
    line-height:1.1!important;
    max-width:100%!important;
  }

  h3{
    font-size:clamp(1rem,4.6vw,1.14rem)!important;
    max-width:100%!important;
  }

  p,
  li,
  .lead{
    font-size:.96rem!important;
    line-height:1.66!important;
  }

  .grid-3,
  .card-grid,
  .principles,
  .faktoren-grid,
  .benefit-grid,
  .reason-grid,
  .service-map,
  .visual-grid,
  .gallery-grid,
  .video-grid,
  .footer-links{
    grid-template-columns:1fr!important;
  }

  .card,
  .principle,
  .faktor,
  .benefit-card,
  .reason-card,
  .info-card,
  .contact-card{
    padding:22px!important;
    min-height:0!important;
  }

  .hero-actions,
  .project-actions,
  .cta-actions,
  .form-actions,
  .contact-form-footer{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .hero-actions .btn,
  .project-actions .btn,
  .cta-actions .btn,
  .form-actions .btn,
  .contact-form .btn{
    width:100%!important;
  }

  .nav-mobile{
    inset:calc(var(--nova-header-height) + 10px) 18px auto!important;
    max-height:calc(100vh - var(--nova-header-height) - 24px)!important;
    overflow:auto!important;
  }

  .brand img{
    width:132px!important;
    max-height:46px!important;
  }
}

/* Critical typography/header correction layer.
   Fixes logo legibility, broken word wrapping, over-narrow headings and oversized service cards. */
:root{
  --nova-header-height:88px;
}

.site-header{
  min-height:var(--nova-header-height)!important;
}

.header-inner{
  min-height:var(--nova-header-height)!important;
  gap:clamp(14px,1.7vw,28px)!important;
}

.brand img,
.footer-logo img,
img[alt="NOVA Epoxyfloor"]{
  object-fit:contain!important;
}

.brand img{
  width:clamp(178px,15vw,228px)!important;
  max-height:68px!important;
}

.nav{
  gap:clamp(10px,1.05vw,18px)!important;
}

.nav a:not(.btn){
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  font-size:.88rem!important;
  letter-spacing:0!important;
}

h1,
h2,
h3,
.hero h1,
.section-head h2,
.gallery-head h2,
.audience-head h2,
.trust-copy h2,
.process-copy h2,
.ablauf-copy h2,
.statement-copy h2,
.faq-shell>div:first-child h2,
.section.dark .process-grid h2,
.section.dark .system-dark h2,
.system-dark h2,
.contact-hero h1,
.contact-shell h1,
.contact-shell h2,
.inquiry-grid h2{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:pretty!important;
}

h1,
.hero h1{
  max-width:min(980px,calc(100vw - 96px))!important;
  font-size:clamp(3.05rem,4.45vw,5.15rem)!important;
  line-height:1.02!important;
}

h2,
.section-head h2,
.gallery-head h2,
.audience-head h2,
.trust-copy h2,
.process-copy h2,
.ablauf-copy h2,
.statement-copy h2,
.faq-shell>div:first-child h2,
.section.dark .process-grid h2,
.section.dark .system-dark h2,
.system-dark h2,
.contact-shell h2,
.inquiry-grid h2{
  max-width:min(760px,20ch)!important;
  font-size:clamp(2.25rem,3.35vw,4.05rem)!important;
  line-height:1.08!important;
}

.hero-content,
.hero-grid{
  max-width:min(1120px,calc(100% - 72px))!important;
}

.hero .lead{
  max-width:64ch!important;
}

.section-head,
.gallery-head,
.audience-head{
  grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important;
  gap:clamp(28px,3.6vw,56px)!important;
  align-items:center!important;
}

.section-head .lead,
.gallery-head .lead,
.audience-head .lead{
  max-width:66ch!important;
}

.service-map{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:clamp(12px,1.25vw,18px)!important;
  max-width:none!important;
}

.service-map .service-group{
  min-height:clamp(320px,28vw,430px)!important;
  aspect-ratio:auto!important;
}

.service-map .service-group .service-copy{
  padding:clamp(18px,1.6vw,24px)!important;
}

.service-map .service-group h3{
  font-size:clamp(1.2rem,1.35vw,1.62rem)!important;
  line-height:1.12!important;
  max-width:13ch!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

.service-map .service-group .service-desc,
.service-map .service-group p{
  font-size:.9rem!important;
  line-height:1.5!important;
}

@media(max-width:1180px) and (min-width:981px){
  .service-map{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-width:none!important;
  }

  .service-map .service-group{
    min-height:clamp(330px,34vw,420px)!important;
  }
}

@media(max-width:980px){
  :root{
    --nova-header-height:76px;
  }

  .brand img{
    width:clamp(160px,24vw,200px)!important;
    max-height:60px!important;
  }

  h1,
  .hero h1{
    max-width:100%!important;
    font-size:clamp(2.45rem,6.3vw,4.05rem)!important;
  }

  h2,
  .section-head h2,
  .gallery-head h2,
  .audience-head h2,
  .trust-copy h2,
  .process-copy h2,
  .ablauf-copy h2,
  .statement-copy h2,
  .faq-shell>div:first-child h2,
  .section.dark .process-grid h2,
  .section.dark .system-dark h2,
  .system-dark h2{
    max-width:100%!important;
  }

  .service-map{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:none!important;
  }

  .service-map .service-group{
    min-height:clamp(300px,44vw,390px)!important;
    aspect-ratio:auto!important;
  }
}

@media(max-width:680px){
  :root{
    --nova-header-height:72px;
  }

  .brand img{
    width:156px!important;
    max-height:56px!important;
  }

  h1,
  .hero h1{
    max-width:100%!important;
    font-size:clamp(1.95rem,8.1vw,2.72rem)!important;
    line-height:1.1!important;
  }

  h2,
  .section-head h2,
  .gallery-head h2,
  .audience-head h2,
  .trust-copy h2,
  .process-copy h2,
  .ablauf-copy h2,
  .statement-copy h2,
  .faq-shell>div:first-child h2,
  .section.dark .process-grid h2,
  .section.dark .system-dark h2,
  .system-dark h2{
    font-size:clamp(1.72rem,6.7vw,2.2rem)!important;
    max-width:100%!important;
  }

  .hero-content,
  .hero-grid{
    max-width:calc(100% - 36px)!important;
  }

  .service-map{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .service-map .service-group{
    min-height:300px!important;
  }

  .service-map .service-group h3{
    font-size:1.45rem!important;
    max-width:18ch!important;
  }
}

/* Homepage rollback for the service intro section.
   The section has 3 cards, so it must not inherit the experimental 5-column compact map. */
#leistungsbereiche .section-head{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:clamp(28px,3.2vw,48px)!important;
  align-items:center!important;
}

#leistungsbereiche .section-head h2{
  max-width:720px!important;
  width:100%!important;
  font-size:clamp(2.85rem,3.85vw,4.55rem)!important;
  line-height:1.06!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

#leistungsbereiche .section-head .lead{
  max-width:62ch!important;
  margin:0!important;
}

#leistungsbereiche .service-map{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(16px,1.6vw,24px)!important;
  max-width:100%!important;
  margin-inline:0!important;
}

#leistungsbereiche .service-group{
  min-height:clamp(440px,36vw,540px)!important;
  aspect-ratio:auto!important;
  border-radius:8px!important;
}

#leistungsbereiche .service-group .service-copy{
  padding:clamp(22px,2.2vw,32px)!important;
}

#leistungsbereiche .service-group h3{
  max-width:20ch!important;
  font-size:clamp(1.45rem,1.65vw,2rem)!important;
  line-height:1.1!important;
}

#leistungsbereiche .service-group .service-desc,
#leistungsbereiche .service-group p{
  max-width:34ch!important;
  font-size:clamp(.9rem,.86vw,.98rem)!important;
  line-height:1.52!important;
}

@media(max-width:980px){
  #leistungsbereiche .section-head{
    grid-template-columns:1fr!important;
    gap:clamp(18px,4vw,30px)!important;
    align-items:start!important;
  }

  #leistungsbereiche .section-head h2{
    max-width:100%!important;
    font-size:clamp(2.25rem,5.9vw,3.4rem)!important;
  }

  #leistungsbereiche .service-map{
    grid-template-columns:1fr!important;
    max-width:720px!important;
    margin-inline:auto!important;
  }

  #leistungsbereiche .service-group{
    min-height:420px!important;
  }
}

@media(max-width:680px){
  #leistungsbereiche .section-head h2{
    font-size:clamp(1.85rem,7.2vw,2.48rem)!important;
    line-height:1.12!important;
  }

  #leistungsbereiche .service-group{
    min-height:0!important;
    aspect-ratio:4/3!important;
  }
}

/* Logo legibility hard override. */
:root{
  --nova-header-height:104px;
}

.site-header,
.header-inner{
  min-height:var(--nova-header-height)!important;
}

.brand{
  display:flex!important;
  align-items:center!important;
  min-width:clamp(240px,20vw,320px)!important;
}

.brand img{
  width:clamp(240px,20vw,320px)!important;
  max-width:none!important;
  max-height:86px!important;
  height:auto!important;
  object-fit:contain!important;
}

@media(max-width:1180px){
  .brand{
    min-width:clamp(210px,24vw,270px)!important;
  }

  .brand img{
    width:clamp(210px,24vw,270px)!important;
    max-height:78px!important;
  }
}

@media(max-width:680px){
  :root{
    --nova-header-height:82px;
  }

  .brand{
    min-width:178px!important;
  }

  .brand img{
    width:178px!important;
    max-height:64px!important;
  }
}

/* Homepage use-case cards rollback.
   The #raeume section is approved as five compact visual cards, not oversized stacked feature images. */
#raeume .visual-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:clamp(12px,1.25vw,18px)!important;
  align-items:stretch!important;
  max-width:100%!important;
  margin-inline:0!important;
}

#raeume .visual-card,
#raeume .visual-card.large,
#raeume .visual-card.tall,
#raeume .visual-card.wide{
  grid-column:auto!important;
  min-height:clamp(340px,29vw,430px)!important;
  aspect-ratio:auto!important;
  border-radius:8px!important;
}

#raeume .visual-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.96) contrast(1.03) brightness(.78)!important;
}

#raeume .visual-card::after{
  background:linear-gradient(180deg,rgba(15,17,21,.05) 0%,rgba(15,17,21,.28) 42%,rgba(15,17,21,.86) 100%)!important;
}

#raeume .visual-card .caption{
  padding:clamp(18px,1.55vw,24px)!important;
}

#raeume .visual-card .label{
  font-size:.68rem!important;
  letter-spacing:.12em!important;
  margin-bottom:8px!important;
}

#raeume .visual-card h3{
  font-size:clamp(1.05rem,1.2vw,1.45rem)!important;
  line-height:1.12!important;
  max-width:15ch!important;
  margin:0!important;
}

#raeume .visual-card p{
  display:none!important;
}

@media(max-width:1180px){
  #raeume .visual-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  #raeume .visual-card,
  #raeume .visual-card.large,
  #raeume .visual-card.tall,
  #raeume .visual-card.wide{
    min-height:340px!important;
  }
}

@media(max-width:980px){
  #raeume .visual-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:680px){
  #raeume .visual-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #raeume .visual-card,
  #raeume .visual-card.large,
  #raeume .visual-card.tall,
  #raeume .visual-card.wide{
    min-height:0!important;
    aspect-ratio:4/3!important;
  }
}

/* Homepage #raeume approved mosaic: two large cards, three smaller cards. */
#raeume .visual-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:clamp(14px,1.5vw,22px)!important;
  align-items:stretch!important;
}

#raeume .visual-card{
  grid-column:span 4!important;
  min-height:clamp(280px,24vw,360px)!important;
  aspect-ratio:auto!important;
}

#raeume .visual-card.large{
  grid-column:span 7!important;
  min-height:clamp(420px,34vw,520px)!important;
}

#raeume .visual-card.tall{
  grid-column:8 / -1!important;
  min-height:clamp(420px,34vw,520px)!important;
}

#raeume .visual-card.wide{
  grid-column:span 4!important;
}

#raeume .visual-card .caption{
  padding:clamp(20px,1.8vw,28px)!important;
}

#raeume .visual-card p{
  display:none!important;
}

@media(max-width:980px){
  #raeume .visual-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }

  #raeume .visual-card,
  #raeume .visual-card.large,
  #raeume .visual-card.tall,
  #raeume .visual-card.wide{
    grid-column:span 6!important;
    min-height:clamp(320px,44vw,420px)!important;
  }
}

@media(max-width:680px){
  #raeume .visual-grid{
    grid-template-columns:1fr!important;
  }

  #raeume .visual-card,
  #raeume .visual-card.large,
  #raeume .visual-card.tall,
  #raeume .visual-card.wide{
    grid-column:1/-1!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
  }
}

/* Intentional phrase-based hero headline breaks. */
.hero h1 br{
  display:block!important;
}

.hero h1,
.contact-hero h1{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}

.hero h1{
  max-width:min(1120px,calc(100vw - 96px))!important;
}

@media(max-width:680px){
  .hero h1{
    max-width:100%!important;
  }
}

/* Global heading sentence breaks: user-approved rule. */
h1 br,
h2 br,
h3 br{
  display:block!important;
}

h1,
h2,
h3,
.section-head h2,
.card h3{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* User override: headings must read as whole phrases, never as one-word columns. */
.faq-shell{
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)!important;
  gap:clamp(32px,4.8vw,72px)!important;
  align-items:start!important;
}

.faq-shell>div:first-child{
  display:block!important;
  min-width:0!important;
}

.faq-shell>div:first-child h2{
  max-width:min(780px,22ch)!important;
  width:100%!important;
  font-size:clamp(2.18rem,3.1vw,3.6rem)!important;
  line-height:1.08!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

.faq-shell>div:first-child .lead{
  max-width:54ch!important;
  margin-top:clamp(16px,2vw,24px)!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  border-bottom:0!important;
}

.faq-column{
  padding-top:0!important;
}

.faq-column>.lead{
  max-width:54ch!important;
}

.spec-item strong{
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  font-size:clamp(2rem,2.5vw,3.05rem)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

.spec-item span{
  font-family:var(--nova-sans,Inter,"Helvetica Neue",Arial,sans-serif)!important;
  letter-spacing:.1em!important;
  line-height:1.24!important;
}

@media(max-width:980px){
  .faq-shell{
    grid-template-columns:1fr!important;
    gap:clamp(24px,5vw,42px)!important;
  }

  .faq-shell>div:first-child h2{
    max-width:100%!important;
  }
}

@media(max-width:680px){
  .faq-shell>div:first-child h2{
    font-size:clamp(1.82rem,6.9vw,2.42rem)!important;
    line-height:1.12!important;
  }

  .spec-item strong{
    font-size:2.15rem!important;
  }
}

/* Ablauf & Preise page polish: aligned first section and calmer dark video block. */
.nav-mobile:not(.is-open){
  display:none!important;
}

#ablauf .ablauf-grid{
  grid-template-columns:minmax(360px,.48fr) minmax(0,.52fr)!important;
  gap:clamp(44px,5.8vw,88px)!important;
  align-items:start!important;
}

#ablauf .ablauf-visuals{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(14px,1.6vw,22px)!important;
  padding-top:clamp(4px,.5vw,8px)!important;
  align-content:start!important;
}

#ablauf .ablauf-visual{
  width:100%!important;
  justify-self:stretch!important;
  aspect-ratio:4/3!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 16px 44px rgba(16,18,22,.075)!important;
}

#ablauf .ablauf-visual:nth-child(1){
  grid-column:1/-1!important;
  width:100%!important;
  aspect-ratio:16/9!important;
}

#ablauf .ablauf-visual:nth-child(2),
#ablauf .ablauf-visual:nth-child(3){
  width:100%!important;
}

#ablauf .ablauf-grid h2{
  max-width:17ch!important;
  margin-bottom:clamp(22px,2.6vw,34px)!important;
}

#ablauf .steps{
  margin-top:0!important;
}

#ablauf .step{
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:clamp(16px,1.8vw,24px)!important;
  padding-block:clamp(22px,2.3vw,30px)!important;
}

#preise .statement-grid{
  align-items:start!important;
}

#preise .nova-dark-media-row{
  width:100%!important;
  margin:clamp(34px,4.2vw,56px) 0 clamp(30px,3.6vw,48px)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,26px)!important;
  align-items:stretch!important;
}

#preise .nova-dark-media-row .nova-dark-still,
#preise .nova-dark-media-row .nova-video-card-dark,
#preise .nova-dark-visual-stack-inline{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

#preise .nova-dark-media-row .nova-dark-still,
#preise .nova-dark-media-row .nova-video-card-dark{
  aspect-ratio:16/10!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(255,252,245,.055)!important;
  box-shadow:none!important;
  border:1px solid rgba(255,252,245,.11)!important;
}

#preise .nova-dark-media-row .nova-dark-still img,
#preise .nova-dark-media-row .nova-video-proof-media,
#preise .nova-dark-media-row video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.96) contrast(1.03) brightness(.9)!important;
}

#preise .nova-dark-media-row .nova-dark-still img{
  position:absolute!important;
  inset:0!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
}

#preise .nova-dark-visual-stack-inline{
  display:block!important;
}

#preise .faktoren-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:0!important;
  border-top:1px solid rgba(255,252,245,.16)!important;
  border-bottom:1px solid rgba(255,252,245,.16)!important;
}

#preise .faktor{
  min-height:0!important;
  padding:clamp(22px,2.2vw,30px)!important;
  background:transparent!important;
  border:0!important;
  border-right:1px solid rgba(255,252,245,.14)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

#preise .faktor:last-child{
  border-right:0!important;
}

#preise .faktor-label{
  color:var(--nova-copper,#b88a55)!important;
}

#preise .faktor h3{
  max-width:18ch!important;
  color:var(--nova-cream,#f4f1ea)!important;
  margin-bottom:clamp(14px,1.4vw,18px)!important;
}

#preise .faktor p{
  max-width:32ch!important;
  color:rgba(244,241,234,.72)!important;
}

@media(max-width:980px){
  #ablauf .ablauf-grid,
  #preise .nova-dark-media-row{
    grid-template-columns:1fr!important;
  }

  #ablauf .ablauf-visuals{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  #ablauf .ablauf-visual:nth-child(1){
    grid-column:auto!important;
    aspect-ratio:4/3!important;
  }

  #preise .faktoren-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #preise .faktor:nth-child(2n){
    border-right:0!important;
  }

  #preise .faktor:nth-child(n+3){
    border-top:1px solid rgba(255,252,245,.14)!important;
  }
}

@media(max-width:680px){
  .hero-content,
  .hero-grid{
    width:calc(100vw - 84px)!important;
    max-width:calc(100vw - 84px)!important;
    margin-inline:auto!important;
    min-width:0!important;
  }

  .hero .lead{
    width:100%!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  .hero-meta{
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .hero-meta-item,
  .hero-meta-item span,
  .hero-actions,
  .hero-actions .btn{
    min-width:0!important;
    max-width:100%!important;
  }

  .hero-meta-item span{
    overflow-wrap:break-word!important;
  }

  #ablauf .ablauf-visuals,
  #preise .faktoren-grid{
    grid-template-columns:1fr!important;
  }

  #ablauf .ablauf-grid{
    gap:clamp(26px,7vw,38px)!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  #ablauf .step{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:14px!important;
    padding-block:20px!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #ablauf .step>div,
  #ablauf .step p,
  #ablauf .step h3{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  #preise .nova-dark-media-row{
    gap:14px!important;
  }

  #preise .nova-dark-media-row .nova-dark-still,
  #preise .nova-dark-media-row .nova-video-card-dark{
    aspect-ratio:4/3!important;
  }

  #preise .faktor{
    border-right:0!important;
    border-top:1px solid rgba(255,252,245,.14)!important;
  }

  #preise .faktor:first-child{
    border-top:0!important;
  }
}

/* Architekten & Bautraeger page polish: deliverables and project type cards. */
body:has(a[href="/architekten-bautraeger/"]) .deliverables,
body:has(.deliverable) .deliverables{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:clamp(38px,5vw,64px)!important;
  border-top:1px solid var(--nova-soft-strong)!important;
  border-bottom:1px solid var(--nova-soft-strong)!important;
}

body:has(.deliverable) .deliverable{
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:start!important;
  gap:clamp(16px,1.6vw,22px)!important;
  padding:clamp(24px,2.4vw,34px)!important;
  min-height:clamp(240px,18vw,310px)!important;
  border-right:1px solid var(--nova-soft-strong)!important;
}

body:has(.deliverable) .deliverable:last-child{
  border-right:0!important;
}

body:has(.deliverable) .deliverable-icon{
  font-family:var(--nova-serif,"Cormorant Garamond",Georgia,serif)!important;
  font-size:clamp(1.35rem,1.8vw,2rem)!important;
  line-height:1!important;
  color:var(--nova-copper,#b88a55)!important;
}

body:has(.deliverable) .deliverable-text strong{
  display:block!important;
  margin-bottom:clamp(10px,1vw,14px)!important;
  font-size:clamp(1.02rem,1vw,1.18rem)!important;
  line-height:1.18!important;
  color:var(--nova-ink,#101216)!important;
}

body:has(.deliverable) .deliverable-text p{
  max-width:31ch!important;
  color:rgba(16,18,22,.68)!important;
}

body:has(.deliverable) .audience-cards{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(16px,1.8vw,24px)!important;
}

body:has(.deliverable) .audience-card{
  min-height:clamp(390px,31vw,500px)!important;
}

body:has(.deliverable) .audience-card .audience-copy,
body:has(.deliverable) .audience-card .copy{
  position:relative!important;
  z-index:2!important;
  padding:clamp(24px,2.5vw,34px)!important;
}

body:has(.deliverable) .audience-card .audience-copy span{
  display:block!important;
  margin-bottom:10px!important;
  font-size:.72rem!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:var(--nova-copper,#b88a55)!important;
}

body:has(.deliverable) .audience-card .audience-copy h3{
  color:var(--nova-cream,#f4f1ea)!important;
  max-width:18ch!important;
}

body:has(.deliverable) .audience-card .audience-copy p{
  max-width:36ch!important;
  margin-top:12px!important;
  color:rgba(244,241,234,.78)!important;
}

body:has(.deliverable) .cta{
  background:var(--nova-dark,#111315)!important;
  border:1px solid rgba(244,241,234,.12)!important;
}

body:has(.deliverable) .cta::before{
  background:linear-gradient(90deg,rgba(15,17,21,.82),rgba(15,17,21,.64))!important;
}

body:has(.deliverable) .cta .eyebrow,
body:has(.deliverable) .cta h2,
body:has(.deliverable) .cta p{
  position:relative!important;
  z-index:2!important;
}

body:has(.deliverable) .cta h2{
  color:var(--nova-cream,#f4f1ea)!important;
}

body:has(.deliverable) .cta p{
  max-width:48ch!important;
  color:rgba(244,241,234,.78)!important;
}

@media(max-width:980px){
  body:has(.deliverable) .deliverables,
  body:has(.deliverable) .audience-cards{
    grid-template-columns:1fr!important;
  }

  body:has(.deliverable) .deliverable{
    min-height:0!important;
    border-right:0!important;
    border-bottom:1px solid var(--nova-soft-strong)!important;
  }

  body:has(.deliverable) .deliverable:last-child{
    border-bottom:0!important;
  }

  body:has(.deliverable) .audience-card{
    min-height:360px!important;
  }
}

@media(max-width:680px){
  body:has(.deliverable) .deliverables{
    margin-top:clamp(28px,8vw,42px)!important;
  }

  body:has(.deliverable) .deliverable{
    padding:22px 0!important;
  }

  body:has(.deliverable) .audience-card{
    min-height:0!important;
    aspect-ratio:4/3!important;
  }
}

/* Header URL structure and dropdown navigation. */
.nav-item{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
}
.nav{
  gap:0!important;
  column-gap:0!important;
  flex-wrap:nowrap!important;
}
.header-inner{
  gap:clamp(14px,2vw,24px)!important;
}
.nav-item>a,
.nav-item>.nav-trigger{
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
}
.nav>*{
  flex:0 0 auto!important;
}
.nav .nav-trigger{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  color:rgba(16,18,22,.78)!important;
  font:inherit!important;
  font-size:.9rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  cursor:default!important;
}
.nav>.nav-item,
.nav>a:not(.btn){
  margin-left:22px!important;
  padding-inline:0!important;
}
.nav>.nav-item>.nav-trigger{
  padding-inline:0!important;
}
.nav>.nav-item:first-child{
  margin-left:0!important;
}
.nav>.nav-item:first-of-type{
  margin-right:22px!important;
}
.nav>.btn{
  margin-left:22px!important;
}
.nav .nav-trigger:hover,
.nav .nav-trigger:focus-visible{
  color:var(--nova-ink,#101216)!important;
  outline:none!important;
}
.has-dropdown>a::before,
.has-dropdown>.nav-trigger::before{
  content:"";
  width:8px;
  height:8px;
  margin-right:10px;
  border-right:2px solid var(--nova-copper,#b8734a);
  border-bottom:2px solid var(--nova-copper,#b8734a);
  transform:rotate(45deg) translate(-1px,-2px);
  opacity:1;
  flex:0 0 auto;
}
.nav-dropdown{
  position:absolute!important;
  top:100%!important;
  left:50%!important;
  transform:translate(-50%,8px)!important;
  min-width:228px!important;
  padding:8px!important;
  border:1px solid rgba(16,18,22,.12)!important;
  border-radius:8px!important;
  background:rgba(255,252,245,.98)!important;
  box-shadow:0 22px 58px rgba(16,18,22,.14)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,0)!important;
}
.nav-dropdown a{
  display:block!important;
  padding:12px 14px!important;
  border-radius:6px!important;
  color:rgba(16,18,22,.82)!important;
  font-size:.88rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.nav-dropdown a:hover,
.nav-dropdown a:focus{
  background:rgba(184,115,74,.1)!important;
  color:var(--nova-ink,#101216)!important;
}
.nav-mobile .nav-mobile-section{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  padding:10px 12px!important;
  border-radius:6px!important;
  line-height:1.25!important;
  font-weight:900!important;
  color:var(--nova-copper,#b8734a)!important;
  cursor:default!important;
}
.nav-mobile .nav-mobile-sub{
  padding-left:22px!important;
  font-size:1rem!important;
  color:rgba(16,18,22,.72)!important;
}
@media(max-width:1180px) and (min-width:981px){
  .nav{gap:0!important;column-gap:0!important;}
  .nav>.nav-item,.nav>a:not(.btn){margin-left:16px!important;}
  .nav>.nav-item:first-child{margin-left:0!important;}
  .nav>.nav-item:first-of-type{margin-right:16px!important;}
  .nav>.btn{margin-left:16px!important;}
  .nav a:not(.btn),.nav .nav-trigger,.nav-dropdown a{font-size:.82rem!important;}
  .brand img{width:clamp(152px,13vw,188px)!important;}
}
@media(max-width:980px){
  .nav-item{display:none!important;}
}

/* Header dropdown parity: Aussenbereich and Innenbereich share one aligned system. */
.nav>.nav-item:first-of-type{
  margin-right:0!important;
}
.nav .nav-trigger{
  cursor:pointer!important;
}
.nav .nav-item.has-dropdown{
  isolation:isolate!important;
}
.nav .nav-item.has-dropdown::after{
  content:""!important;
  position:absolute!important;
  left:-10px!important;
  right:-10px!important;
  top:100%!important;
  height:12px!important;
}
.nav .nav-dropdown{
  top:calc(100% + 2px)!important;
  transform:translate(-50%,4px)!important;
  visibility:hidden!important;
  transition:opacity .08s ease,transform .08s ease,visibility 0s linear .08s!important;
  will-change:opacity,transform!important;
}
.nav-item.is-open .nav-dropdown,
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate(-50%,0)!important;
  visibility:visible!important;
  transition-delay:0s!important;
}
@media(max-width:1180px) and (min-width:981px){
  .nav>.nav-item:first-of-type{
    margin-right:0!important;
  }
}

/* Final scoped correction: Bad/Kueche hero crop and unified bottom CTA. */
.bad-kueche-page .hero-bg img{
  object-position:center 38%!important;
  filter:saturate(.96) contrast(1.03) brightness(.9)!important;
}

.bad-kueche-page .hero-bg::after{
  background:
    linear-gradient(90deg,rgba(15,17,21,.72) 0%,rgba(15,17,21,.48) 38%,rgba(15,17,21,.18) 70%,rgba(15,17,21,.06) 100%),
    linear-gradient(0deg,rgba(15,17,21,.32),rgba(15,17,21,.08) 48%,rgba(15,17,21,.18))!important;
}

.section-tight > .wrap.cta,
.section-anfrage > .wrap.cta,
#anfrage.cta{
  position:relative!important;
  display:grid!important;
  align-items:center!important;
  min-height:clamp(340px,38vw,460px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--nova-radius)!important;
  isolation:isolate!important;
  background:var(--nova-dark)!important;
  color:var(--nova-cream)!important;
}

.section-tight > .wrap.cta > img,
.section-anfrage > .wrap.cta > img,
#anfrage.cta > img{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:brightness(.56) saturate(.9)!important;
  opacity:1!important;
}

.section-tight > .wrap.cta::before,
.section-anfrage > .wrap.cta::before,
#anfrage.cta::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(15,17,21,.94) 0%,rgba(15,17,21,.72) 48%,rgba(15,17,21,.34) 100%),
    linear-gradient(0deg,rgba(15,17,21,.24),rgba(15,17,21,.06))!important;
}

.section-tight > .wrap.cta .cta-inner,
.section-anfrage > .wrap.cta .cta-inner,
#anfrage.cta .cta-inner{
  position:relative!important;
  z-index:2!important;
  max-width:720px!important;
  padding:clamp(36px,6vw,76px)!important;
}

.section-tight > .wrap.cta h2,
.section-anfrage > .wrap.cta h2,
#anfrage.cta h2{
  max-width:13ch!important;
  color:var(--nova-cream)!important;
  text-shadow:0 2px 20px rgba(0,0,0,.24)!important;
}

.section-tight > .wrap.cta p,
.section-tight > .wrap.cta .lead,
.section-anfrage > .wrap.cta p,
.section-anfrage > .wrap.cta .lead,
#anfrage.cta p,
#anfrage.cta .lead{
  max-width:58ch!important;
  color:rgba(255,250,240,.82)!important;
}

.section-tight > .wrap.cta .cta-actions,
.section-anfrage > .wrap.cta .cta-actions,
#anfrage.cta .cta-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:clamp(24px,3vw,32px)!important;
}

.section-tight > .wrap.cta .btn,
.section-anfrage > .wrap.cta .btn,
#anfrage.cta .btn{
  width:auto!important;
}

@media(max-width:680px){
  .bad-kueche-page .hero-bg img{object-position:center 42%!important;}
  .section-tight > .wrap.cta,
  .section-anfrage > .wrap.cta,
  #anfrage.cta{
    min-height:0!important;
  }
  .section-tight > .wrap.cta::before,
  .section-anfrage > .wrap.cta::before,
  #anfrage.cta::before{
    background:linear-gradient(180deg,rgba(15,17,21,.74),rgba(15,17,21,.9))!important;
  }
  .section-tight > .wrap.cta .cta-inner,
  .section-anfrage > .wrap.cta .cta-inner,
  #anfrage.cta .cta-inner{
    padding:clamp(30px,8vw,46px)!important;
  }
  .section-tight > .wrap.cta h2,
  .section-anfrage > .wrap.cta h2,
  #anfrage.cta h2{
    max-width:100%!important;
  }
  .section-tight > .wrap.cta .cta-actions,
  .section-anfrage > .wrap.cta .cta-actions,
  #anfrage.cta .cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .section-tight > .wrap.cta .btn,
  .section-anfrage > .wrap.cta .btn,
  #anfrage.cta .btn{
    width:100%!important;
  }
}

/* Contact form design pass. */
.contact-layout{
  display:grid!important;
  grid-template-columns:minmax(280px,.86fr) minmax(360px,1fr)!important;
  gap:clamp(22px,3.2vw,42px)!important;
  align-items:stretch!important;
  grid-column:1 / -1!important;
}

.contact-strip{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1px!important;
  overflow:hidden!important;
  border:1px solid rgba(184,115,74,.34)!important;
  border-radius:var(--nova-radius)!important;
  background:rgba(184,115,74,.5)!important;
}

.contact-strip div{
  padding:clamp(18px,2vw,26px)!important;
  background:rgba(184,115,74,.2)!important;
}

.contact-strip strong{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--nova-cream)!important;
  font-size:.82rem!important;
  line-height:1.2!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.contact-strip span{
  display:block!important;
  color:rgba(255,250,240,.66)!important;
  font-size:.96rem!important;
  line-height:1.5!important;
}

.contact-strip a{
  color:rgba(255,250,240,.86)!important;
  text-decoration:none!important;
}

.contact-strip a:hover{
  color:var(--nova-cream)!important;
}

.contact-layout .contact-visual{
  min-height:100%!important;
  margin:0!important;
  border:1px solid rgba(255,250,240,.12)!important;
  border-radius:var(--nova-radius)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.28)!important;
}

.contact-layout .contact-visual img{
  filter:saturate(.9) contrast(1.05) brightness(.84)!important;
}

.contact-form{
  position:relative!important;
  isolation:isolate!important;
  gap:clamp(16px,1.7vw,22px)!important;
  padding:clamp(24px,3.1vw,42px)!important;
  overflow:hidden!important;
  border:1px solid rgba(255,250,240,.78)!important;
  border-radius:var(--nova-radius)!important;
  background:
    linear-gradient(145deg,rgba(255,252,245,.98),rgba(244,241,234,.92) 55%,rgba(232,220,205,.86))!important;
  box-shadow:0 30px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.72)!important;
}

.contact-form::before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto!important;
  height:7px!important;
  z-index:-1!important;
  background:linear-gradient(90deg,var(--nova-copper,#b8734a),#d6a176 46%,rgba(255,250,240,.3))!important;
}

.contact-form::after{
  content:""!important;
  position:absolute!important;
  right:-90px!important;
  top:-120px!important;
  width:240px!important;
  height:240px!important;
  z-index:-1!important;
  border-radius:999px!important;
  background:rgba(184,115,74,.11)!important;
}

.contact-form-head{
  display:grid!important;
  gap:10px!important;
  padding-bottom:clamp(16px,2vw,24px)!important;
  border-bottom:1px solid rgba(16,18,22,.1)!important;
}

.contact-form-head span{
  color:var(--nova-copper,#b8734a)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.contact-form-head h2{
  max-width:15ch!important;
  margin:0!important;
  color:var(--nova-ink,#101216)!important;
  font-size:clamp(1.72rem,2.4vw,2.72rem)!important;
  line-height:1.04!important;
}

.contact-form-head p{
  max-width:58ch!important;
  margin:0!important;
  color:rgba(16,18,22,.62)!important;
  font-size:.98rem!important;
  line-height:1.58!important;
}

.form-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.contact-form-status{
  margin:0!important;
  padding:14px 16px!important;
  border-radius:8px!important;
  font-size:.92rem!important;
  font-weight:760!important;
  line-height:1.45!important;
}

.contact-form-status.is-success{
  border:1px solid rgba(65,128,89,.22)!important;
  background:rgba(65,128,89,.12)!important;
  color:#244b34!important;
}

.contact-form-status.is-error{
  border:1px solid rgba(156,65,54,.22)!important;
  background:rgba(156,65,54,.12)!important;
  color:#6f2e26!important;
}

.contact-form-row{
  gap:clamp(12px,1.4vw,18px)!important;
}

.contact-form label{
  gap:9px!important;
  color:rgba(16,18,22,.86)!important;
  font-size:.86rem!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  min-height:54px!important;
  border:1px solid rgba(16,18,22,.13)!important;
  border-radius:8px!important;
  background:rgba(255,252,245,.86)!important;
  color:var(--nova-ink,#101216)!important;
  padding:15px 16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}

.contact-form textarea{
  min-height:158px!important;
  line-height:1.58!important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(16,18,22,.42)!important;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(184,115,74,.76)!important;
  background:#fffaf2!important;
  box-shadow:0 0 0 4px rgba(184,115,74,.16),inset 0 1px 0 rgba(255,255,255,.84)!important;
}

.contact-form-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:clamp(14px,1.8vw,22px)!important;
  align-items:center!important;
  padding-top:clamp(4px,1vw,10px)!important;
}

.contact-form-footer p{
  max-width:46ch!important;
  color:rgba(16,18,22,.56)!important;
  font-size:.9rem!important;
  line-height:1.5!important;
}

.contact-form .btn{
  min-height:54px!important;
  padding-inline:24px!important;
  border-radius:8px!important;
  box-shadow:0 16px 34px rgba(184,115,74,.24)!important;
}

@media(max-width:980px){
  .contact-layout,
  .contact-strip{
    grid-template-columns:1fr!important;
  }

  .contact-layout .contact-visual{
    min-height:auto!important;
    aspect-ratio:16/9!important;
  }
}

@media(max-width:680px){
  .contact-strip div{
    padding:17px 18px!important;
  }

  .contact-form{
    padding:24px 18px!important;
  }

  .contact-form-head h2{
    max-width:100%!important;
    font-size:clamp(1.62rem,7.3vw,2.08rem)!important;
  }

  .contact-form-footer{
    grid-template-columns:1fr!important;
  }
}

/* Ablauf & Preise: large centered media blocks in the price section. */
#preise .nova-dark-media-row{
  width:100%!important;
  max-width:min(1120px,100%)!important;
  margin:clamp(38px,5vw,72px) auto clamp(34px,4.5vw,62px)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
}

#preise .nova-dark-media-row .nova-dark-still,
#preise .nova-dark-media-row .nova-video-card-dark,
#preise .nova-dark-visual-stack-inline{
  width:100%!important;
  max-width:min(1120px,100%)!important;
  margin-inline:auto!important;
}

#preise .nova-dark-media-row .nova-dark-still{
  position:relative!important;
  min-height:clamp(360px,46vw,620px)!important;
  aspect-ratio:16/9!important;
}

#preise .nova-dark-media-row .nova-dark-still img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:980px){
  #preise .nova-dark-media-row{
    max-width:100%!important;
  }

  #preise .nova-dark-media-row .nova-dark-still{
    min-height:clamp(300px,58vw,520px)!important;
    aspect-ratio:16/10!important;
  }
}

@media(max-width:680px){
  #preise .nova-dark-media-row{
    width:100%!important;
    max-width:100%!important;
    margin-block:clamp(30px,8vw,44px)!important;
  }

  #preise .nova-dark-media-row .nova-dark-still{
    width:100%!important;
    max-width:100%!important;
    min-height:clamp(300px,78vw,430px)!important;
    aspect-ratio:4/3!important;
  }
}

/* Ablauf & Preise: center the six-step section, not the hero. */
#ablauf .ablauf-grid{
  display:grid!important;
  grid-template-columns:minmax(0,760px)!important;
  justify-content:center!important;
  justify-items:stretch!important;
  max-width:min(1000px,calc(100% - var(--nova-gutter,56px) * 2))!important;
  margin-inline:auto!important;
}

#ablauf .ablauf-grid > div{
  width:100%!important;
  max-width:760px!important;
  justify-self:center!important;
}

@media(max-width:980px){
  #ablauf .ablauf-grid{
    max-width:min(760px,calc(100% - var(--nova-gutter,42px) * 2))!important;
  }
}

@media(max-width:680px){
  #ablauf .ablauf-grid{
    width:calc(100% - 36px)!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
  }
}

/* Unified bottom CTA rectangle across all pages. */
.section-tight > .wrap.cta,
.section-anfrage > .wrap.cta,
#anfrage.cta,
#anfrage > .wrap.cta,
body.architekten-page #anfrage > .wrap.cta{
  width:min(var(--nova-max,1180px),calc(100% - var(--nova-gutter,56px) * 2))!important;
  max-width:min(var(--nova-max,1180px),calc(100% - var(--nova-gutter,56px) * 2))!important;
  min-height:clamp(460px,40vw,600px)!important;
  height:clamp(460px,40vw,600px)!important;
  margin-inline:auto!important;
  display:grid!important;
  align-items:center!important;
  padding:0!important;
  border-radius:var(--nova-radius,8px)!important;
  overflow:hidden!important;
}

.section-tight > .wrap.cta .cta-inner,
.section-anfrage > .wrap.cta .cta-inner,
#anfrage.cta .cta-inner,
#anfrage > .wrap.cta .cta-inner,
body.architekten-page #anfrage .cta-inner{
  width:min(620px,100%)!important;
  max-width:620px!important;
  padding:clamp(42px,5.8vw,72px)!important;
  align-self:center!important;
}

.section-tight > .wrap.cta h2,
.section-tight > .wrap.cta h3,
.section-anfrage > .wrap.cta h2,
.section-anfrage > .wrap.cta h3,
#anfrage.cta h2,
#anfrage.cta h3,
#anfrage > .wrap.cta h2,
#anfrage > .wrap.cta h3,
body.architekten-page #anfrage h2{
  max-width:8.5ch!important;
  font-size:clamp(2.7rem,4.85vw,4.9rem)!important;
  line-height:.98!important;
}

.section-tight > .wrap.cta p,
.section-tight > .wrap.cta .lead,
.section-anfrage > .wrap.cta p,
.section-anfrage > .wrap.cta .lead,
#anfrage.cta p,
#anfrage.cta .lead,
#anfrage > .wrap.cta p,
#anfrage > .wrap.cta .lead,
body.architekten-page #anfrage .lead{
  max-width:48ch!important;
  font-size:clamp(1rem,1.2vw,1.15rem)!important;
  line-height:1.62!important;
}

.section-tight > .wrap.cta .cta-actions,
.section-anfrage > .wrap.cta .cta-actions,
#anfrage.cta .cta-actions,
#anfrage > .wrap.cta .cta-actions,
body.architekten-page #anfrage .cta-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:clamp(26px,3vw,36px)!important;
}

.section-tight > .wrap.cta .btn,
.section-anfrage > .wrap.cta .btn,
#anfrage.cta .btn,
#anfrage > .wrap.cta .btn,
body.architekten-page #anfrage .cta-actions .btn{
  width:auto!important;
  min-width:170px!important;
  justify-content:center!important;
}

@media(max-width:980px){
  .section-tight > .wrap.cta,
  .section-anfrage > .wrap.cta,
  #anfrage.cta,
  #anfrage > .wrap.cta,
  body.architekten-page #anfrage > .wrap.cta{
    width:calc(100% - var(--nova-gutter,42px) * 2)!important;
    max-width:760px!important;
    min-height:520px!important;
    height:520px!important;
  }
}

@media(max-width:680px){
  .section-tight > .wrap.cta,
  .section-anfrage > .wrap.cta,
  #anfrage.cta,
  #anfrage > .wrap.cta,
  body.architekten-page #anfrage > .wrap.cta{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    min-height:540px!important;
    height:540px!important;
  }

  .section-tight > .wrap.cta .cta-inner,
  .section-anfrage > .wrap.cta .cta-inner,
  #anfrage.cta .cta-inner,
  #anfrage > .wrap.cta .cta-inner,
  body.architekten-page #anfrage .cta-inner{
    padding:30px 22px!important;
  }

  .section-tight > .wrap.cta h2,
  .section-tight > .wrap.cta h3,
  .section-anfrage > .wrap.cta h2,
  .section-anfrage > .wrap.cta h3,
  #anfrage.cta h2,
  #anfrage.cta h3,
  #anfrage > .wrap.cta h2,
  #anfrage > .wrap.cta h3,
  body.architekten-page #anfrage h2{
    max-width:8ch!important;
    font-size:clamp(2.3rem,11.5vw,3.35rem)!important;
  }

  .section-tight > .wrap.cta .cta-actions,
  .section-anfrage > .wrap.cta .cta-actions,
  #anfrage.cta .cta-actions,
  #anfrage > .wrap.cta .cta-actions,
  body.architekten-page #anfrage .cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .section-tight > .wrap.cta .btn,
  .section-anfrage > .wrap.cta .btn,
  #anfrage.cta .btn,
  #anfrage > .wrap.cta .btn,
  body.architekten-page #anfrage .cta-actions .btn{
    width:100%!important;
  }
}

/* 2026-05 responsive hardening for the exported webready pages. */
@media(max-width:680px){
  .hero-content,
  .hero-grid{
    width:min(100%,calc(100vw - 36px))!important;
    max-width:min(100%,calc(100vw - 36px))!important;
  }

  #ablauf .ablauf-grid{
    width:100%!important;
    max-width:100%!important;
  }

  .section-tight > .wrap.cta,
  .section-anfrage > .wrap.cta,
  #anfrage.cta,
  #anfrage > .wrap.cta,
  body.architekten-page #anfrage > .wrap.cta{
    width:min(100%,calc(100vw - 36px))!important;
    max-width:min(100%,calc(100vw - 36px))!important;
    box-sizing:border-box!important;
  }

  .section-tight > .wrap.cta .cta-inner,
  .section-anfrage > .wrap.cta .cta-inner,
  #anfrage.cta .cta-inner,
  #anfrage > .wrap.cta .cta-inner,
  body.architekten-page #anfrage .cta-inner{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .cta-title-line,
  #anfrage.cta h2 .cta-title-line{
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

}

/* Final global trust-block alignment across all subpages. */
@media(min-width:981px){
  .trust-grid{
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)!important;
    gap:clamp(52px,6vw,92px)!important;
    align-items:start!important;
  }

  .trust-grid > figure,
  .trust-grid > .trust-image{
    width:100%!important;
    align-self:start!important;
    margin:0!important;
  }

  .trust-grid > figure.trust-image-duo,
  .trust-grid > .trust-image.trust-image-duo{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:clamp(14px,1.45vw,20px)!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  .trust-grid > figure.trust-image-duo img,
  .trust-grid > .trust-image.trust-image-duo img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    display:block!important;
    object-fit:cover!important;
    border-radius:var(--nova-radius,8px)!important;
    box-shadow:var(--nova-shadow-media,0 18px 54px rgba(16,18,22,.075))!important;
  }

  .trust-grid > figure:not(.trust-image-duo),
  .trust-grid > .trust-image:not(.trust-image-duo){
    aspect-ratio:4/3!important;
    min-height:0!important;
    height:auto!important;
  }

  .trust-grid > figure:not(.trust-image-duo) img,
  .trust-grid > .trust-image:not(.trust-image-duo) img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .trust-grid > div:not(.trust-image),
  .trust-grid > .trust-copy{
    align-self:start!important;
    display:block!important;
    min-width:0!important;
    padding-top:0!important;
  }

  .trust-grid h2{
    margin-top:0!important;
    margin-bottom:clamp(20px,2.4vw,34px)!important;
    padding-bottom:clamp(10px,1.2vw,16px)!important;
    border-bottom:1px solid var(--nova-soft-strong,rgba(16,18,22,.12))!important;
  }

  .trust-grid .trust-list,
  .trust-grid .trust-list-offset{
    margin-top:0!important;
    border-top:0!important;
    display:grid!important;
    gap:0!important;
  }

  .trust-grid .trust-item{
    grid-template-columns:minmax(130px,.34fr) minmax(0,1fr)!important;
    gap:clamp(22px,2.8vw,42px)!important;
    padding:clamp(24px,2.65vw,36px) 0!important;
    align-items:start!important;
  }

  .trust-grid .trust-item:first-child{
    padding-top:0!important;
  }

  .trust-grid .trust-item h3,
  .trust-grid .trust-item strong{
    margin:0!important;
    max-width:18ch!important;
  }

  .trust-grid .trust-item p{
    margin:0!important;
    max-width:46ch!important;
  }
}

@media(max-width:980px){
  .trust-grid{
    grid-template-columns:1fr!important;
    gap:clamp(28px,5vw,46px)!important;
    align-items:start!important;
  }

  .trust-grid > figure.trust-image-duo,
  .trust-grid > .trust-image.trust-image-duo{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    gap:clamp(12px,2vw,18px)!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  .trust-grid > figure.trust-image-duo img,
  .trust-grid > .trust-image.trust-image-duo img{
    aspect-ratio:4/3!important;
    height:auto!important;
    border-radius:var(--nova-radius,8px)!important;
    box-shadow:var(--nova-shadow-media,0 18px 54px rgba(16,18,22,.075))!important;
  }

  .trust-grid .trust-list,
  .trust-grid .trust-list-offset{
    margin-top:0!important;
  }
}

@media(max-width:680px){
  .trust-grid > figure.trust-image-duo,
  .trust-grid > .trust-image.trust-image-duo{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .trust-grid .trust-item{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:22px 0!important;
  }
}

/* Garage trust block: keep the two visuals balanced with the longer copy column. */
@media(min-width:981px){
  .garage-trust-grid{
    align-items:stretch!important;
    grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr)!important;
  }

  .garage-trust-grid > figure.trust-image-duo,
  .garage-trust-grid > .trust-image.trust-image-duo{
    align-self:stretch!important;
    height:100%!important;
    min-height:clamp(660px,58vw,820px)!important;
  }

  .garage-trust-grid > figure.trust-image-duo img,
  .garage-trust-grid > .trust-image.trust-image-duo img{
    height:100%!important;
    aspect-ratio:auto!important;
  }

  .garage-trust-grid > div:not(.trust-image){
    align-self:start!important;
  }

  .garage-trust-grid h2{
    max-width:15ch!important;
  }
}

/* Final dark-system alignment: text column starts level with the visual stack. */
@media(min-width:981px){
  section.dark .process-grid,
  .section.dark .process-grid{
    align-items:start!important;
  }

  section.dark .process-grid > :first-child,
  .section.dark .process-grid > :first-child{
    align-self:start!important;
    justify-self:stretch!important;
    margin-top:0!important;
    padding-top:0!important;
    transform:none!important;
  }

  section.dark .process-grid > .nova-dark-visual-stack,
  .section.dark .process-grid > .nova-dark-visual-stack{
    align-self:start!important;
    margin-top:0!important;
    padding-top:0!important;
    transform:none!important;
  }

  section.dark .process-grid > .nova-dark-visual-stack,
  .section.dark .process-grid > .nova-dark-visual-stack{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    gap:clamp(26px,3vw,42px)!important;
  }

  section.dark .process-grid > .nova-dark-visual-stack .process-visual,
  .section.dark .process-grid > .nova-dark-visual-stack .process-visual,
  section.dark .process-grid > .nova-dark-visual-stack .nova-video-card-dark,
  .section.dark .process-grid > .nova-dark-visual-stack .nova-video-card-dark{
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    margin-inline:0!important;
  }

  section.dark#systeme .process-grid > .nova-dark-visual-stack,
  .section.dark#systeme .process-grid > .nova-dark-visual-stack,
  #systeme.section.dark .process-grid > .nova-dark-visual-stack{
    align-self:start!important;
    width:100%!important;
    max-width:none!important;
    justify-self:stretch!important;
    gap:clamp(26px,3vw,42px)!important;
  }

  section.dark#systeme .process-grid > .nova-dark-visual-stack .process-visual,
  .section.dark#systeme .process-grid > .nova-dark-visual-stack .process-visual,
  #systeme.section.dark .process-grid > .nova-dark-visual-stack .process-visual{
    width:100%!important;
    max-width:none!important;
    align-self:stretch!important;
    justify-self:stretch!important;
  }
}

/* Final mobile logo alignment: keep the logo on the same visual axis as hero copy. */
@media(max-width:680px){
  .site-header .header-inner{
    justify-content:space-between!important;
  }

  .site-header .brand{
    width:164px!important;
    height:88px!important;
    min-width:164px!important;
    margin-left:-8px!important;
    justify-content:flex-start!important;
    align-self:stretch!important;
  }

  .site-header .brand img{
    width:158px!important;
    height:88px!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
    transform:none!important;
    filter:none!important;
  }
}

/* Final mobile menu typography: keep primary links calm like the section labels. */
@media(max-width:680px){
  .nav-mobile{
    gap:2px!important;
  }

  .nav-mobile .nav-mobile-section,
  .nav-mobile > a:not(.nav-mobile-sub){
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    padding:10px 12px!important;
    border-radius:6px!important;
    font-size:1rem!important;
    line-height:1.25!important;
    font-weight:900!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .nav-mobile .nav-mobile-section{
    color:var(--nova-copper,#b8734a)!important;
  }

  .nav-mobile > a:not(.nav-mobile-sub){
    color:var(--nova-ink,#101216)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    justify-content:flex-start!important;
    width:100%!important;
  }

  .nav-mobile > a.btn,
  .nav-mobile > a.btn-primary{
    color:var(--nova-ink,#101216)!important;
  }
}
